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

Artifact 085d3b65cebdebec89dc8c91901c06f18e357eb320a0434bfa67a53e917f10de:


0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS 
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel 
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP 
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable 
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors 
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has 
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS = 
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file 
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the 
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra 
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U
06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a  SE_FULLWARN)!=0.
0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35  NO_WARN = -wd405
0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30  4 -wd4055 -wd410
0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33  0 -wd4127 -wd413
0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38  0 -wd4152 -wd418
0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52  9 -wd4206.NO_WAR
0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  N = $(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
0970: 61 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70  abled.# for comp
0980: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f  atibility with o
0990: 6c 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72  lder build envir
09a0: 6f 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73  onments.  This s
09b0: 65 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70  etting only.# ap
09c0: 70 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43  plies if TCLSH_C
09d0: 4d 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61  MD is not set ma
09e0: 6e 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45  nually..#.!IFNDE
09f0: 46 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  F USE_TCLSH_IN_P
0a00: 41 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e  ATH.USE_TCLSH_IN
0a10: 5f 50 41 54 48 20 3d 20 30 0a 21 45 4e 44 49 46  _PATH = 0.!ENDIF
0a20: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0a30: 2d 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20  -0 to use zlib, 
0a40: 70 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69  possibly compili
0a50: 6e 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63  ng it from sourc
0a60: 65 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45  e code..#.!IFNDE
0a70: 46 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a  F USE_ZLIB.USE_Z
0a80: 4c 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  LIB = 0.!ENDIF..
0a90: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0aa0: 20 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66   to build zlib f
0ab0: 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  rom source code.
0ac0: 20 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65    This is enable
0ad0: 64 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61  d by.# default a
0ae0: 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20  nd in that case 
0af0: 69 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  it will be assum
0b00: 65 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42  ed that the ZLIB
0b10: 44 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e  DIR macro.# poin
0b20: 74 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65  ts to the top-le
0b30: 76 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  vel source code 
0b40: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c  directory for zl
0b50: 69 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55  ib..#.!IFNDEF BU
0b60: 49 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a  ILD_ZLIB.BUILD_Z
0b70: 4c 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a  LIB = 1.!ENDIF..
0b80: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0b90: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0ba0: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0bb0: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0bc0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0bd0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0be0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0bf0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set 
0c00: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0c10: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0c20: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0c30: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0c40: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0c50: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL = 
0c60: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
0c70: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0c80: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0c90: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0ca0: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0cb0: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0cc0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..# 
0cd0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0ce0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0cf0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0d00: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0d10: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0d20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0d30: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0d40: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0d50: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0d60: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0d70: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0d80: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0d90: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0da0: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0db0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0dc0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during 
0dd0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0de0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0df0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0e00: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0e10: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0e20: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0e30: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries 
0e40: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0e50: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the 
0e60: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0e70: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0e80: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0e90: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0ea0: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0eb0: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ec0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0ed0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0ee0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0ef0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0f00: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0f10: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0f20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0f30: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0f40: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0f50: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0f60: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0f70: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0f80: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0f90: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does 
0fa0: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0fb0: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0fc0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0fd0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0fe0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text 
0ff0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
1000: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
1010: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
1020: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1030: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1040: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1050: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
1060: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
1070: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
1080: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
1090: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
10a0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
10b0: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
10c0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
10d0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
10e0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
10f0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
1100: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1110: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1120: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1130: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
1140: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
1150: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
1160: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
1170: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..# 
1180: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
1190: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
11a0: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to 
11b0: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or 
11c0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
11d0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
11e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
11f0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
1200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
1210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
1220: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
1230: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
1240: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
1250: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
1260: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1280: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
1290: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
12a0: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
12b0: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
12c0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
12d0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
12e0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
12f0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap 
1300: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
1310: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1320: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1330: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this 
1340: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1350: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1360: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1370: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.# 
1380: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1390: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
13a0: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
13b0: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
13c0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
13d0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
13e0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
13f0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
1400: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
1410: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1420: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1430: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1440: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1450: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1460: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for 
1470: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1480: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1490: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
14a0: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime 
14b0: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
14c0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
14d0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
14e0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
14f0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of 
1500: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 == 
1510: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG 
1520: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1530: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1540: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1550: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1560: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1570: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1580: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1590: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
15a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
15b0: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
15c0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native 
15d0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
15e0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
15f0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1600: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1610: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1620: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1630: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1640: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1650: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1660: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1670: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1680: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1690: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
16a0: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
16b0: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
16c0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
16d0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
16e0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
16f0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero, 
1700: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1710: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1720: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1730: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1740: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1750: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1760: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS = 
1770: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set 
1780: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1790: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support 
17a0: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session 
17b0: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
17c0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
17d0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
17e0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
17f0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1800: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1810: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1820: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they 
1830: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1840: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1850: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $(
1860: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49  SPLIT_AMALGAMATI
1870: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20  ON)!=0.SQLITE3C 
1880: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a  = sqlite3-all.c.
1890: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d  !ELSE.SQLITE3C =
18a0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49   sqlite3.c.!ENDI
18b0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  F.!ENDIF..# Set 
18c0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65  the include code
18d0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64   file to be used
18e0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20   by executables 
18f0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68  and libraries wh
1900: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53  en.# they need S
1910: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46  QLite..#.!IFNDEF
1920: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45   SQLITE3H.SQLITE
1930: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21  3H = sqlite3.h.!
1940: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1950: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1960: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
1970: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62  dynamic link lib
1980: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49  rary (DLL)..#.!I
1990: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c  FNDEF SQLITE3DLL
19a0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  .!IF $(FOR_WIN10
19b0: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL 
19c0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
19d0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
19e0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
19f0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1a00: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1a10: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1a20: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1a30: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1a40: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1a50: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN
1a60: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49  10)!=0.SQLITE3LI
1a70: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c  B = winsqlite3.l
1a80: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33  ib.!ELSE.SQLITE3
1a90: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69  LIB = sqlite3.li
1aa0: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  b.!ENDIF.!ENDIF.
1ab0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e  .# This is the n
1ac0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74  ame to use for t
1ad0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20  he SQLite shell 
1ae0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29  executable (EXE)
1af0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49  ..#.!IFNDEF SQLI
1b00: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52  TE3EXE.!IF $(FOR
1b10: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1b20: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1b30: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1b40: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1b50: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1b70: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1b80: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1b90: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1ba0: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1bb0: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1bc0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1bd0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF 
1be0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!=
1c00: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20  0.SQLITE3EXEPDB 
1c10: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45  =.!ELSE.SQLITE3E
1c20: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c  XEPDB = /pdb:sql
1c30: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49  ite3sh.pdb.!ENDI
1c40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
1c50: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65  rk>>.# These are
1c60: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68   the names of th
1c70: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c  e customized Tcl
1c80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73   header files us
1c90: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61  ed by various pa
1ca0: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61  rts.# of this ma
1cb0: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20  kefile when the 
1cc0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20  stdcall calling 
1cd0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e  convention is in
1ce0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74   use.  It is not
1cf0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20  .# used for any 
1d00: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23  other purpose..#
1d10: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54  .!IFNDEF SQLITET
1d20: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d  CLH.SQLITETCLH =
1d30: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45   sqlite_tcl.h.!E
1d40: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51  NDIF..!IFNDEF SQ
1d50: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51  LITETCLDECLSH.SQ
1d60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20  LITETCLDECLSH = 
1d70: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e  sqlite_tclDecls.
1d80: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  h.!ENDIF..# Thes
1d90: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69  e are the additi
1da0: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61  onal targets tha
1db0: 74 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68  t the targets th
1dc0: 61 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74  at integrate wit
1dd0: 68 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72  h the.# Tcl libr
1de0: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e  ary should depen
1df0: 64 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c  d on when compil
1e00: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e  ing, etc..#.!IFN
1e10: 44 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44  DEF SQLITE_TCL_D
1e20: 45 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  EP.!IF $(USE_STD
1e30: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
1e40: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49  R_WIN10)!=0.SQLI
1e50: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53  TE_TCL_DEP = $(S
1e60: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH) 
1e70: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E
1e80: 4c 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44  LSE.SQLITE_TCL_D
1e90: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  EP =.!ENDIF.!END
1ea0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
1eb0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
1ec0: 22 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74  "standard" SQLit
1ed0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
1ee0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
1ef0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
1f00: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74  the Windows plat
1f10: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20  form..#.!IFNDEF 
1f20: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1f30: 53 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f  S.!IF $(MINIMAL_
1f40: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
1f50: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1f60: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1f70: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1f80: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31  TE_ENABLE_FTS3=1
1f90: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1fa0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1fb0: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1fc0: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d  TE_ENABLE_RTREE=
1fd0: 31 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41  1.!ENDIF.OPT_FEA
1fe0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O
1ff0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
2000: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
2010: 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54  E_COLUMN_METADAT
2020: 41 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68  A=1.!ENDIF..# Sh
2030: 6f 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e  ould the session
2040: 20 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e   extension be en
2050: 61 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61  abled?  If so, a
2060: 64 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f  dd compilation o
2070: 70 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62  ptions.# to enab
2080: 6c 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53  le it..#.!IF $(S
2090: 45 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46  ESSION)!=0.OPT_F
20a0: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
20b0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
20c0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
20d0: 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50  BLE_SESSION=1.OP
20e0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
20f0: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  = $(OPT_FEATURE_
2100: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
2110: 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
2120: 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a  _HOOK=1.!ENDIF..
2130: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
2140: 22 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74  "extended" SQLit
2150: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
2160: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
2170: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
2180: 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70  the Windows 10 p
2190: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44  latform..#.!IFND
21a0: 45 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46  EF EXT_FEATURE_F
21b0: 4c 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57  LAGS.!IF $(FOR_W
21c0: 49 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41  IN10)!=0.EXT_FEA
21d0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
21e0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
21f0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
2200: 45 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41  E_FTS4=1.EXT_FEA
2210: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
2220: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
2230: 29 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45  ) -DSQLITE_SYSTE
2240: 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46  M_MALLOC=1.EXT_F
2250: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
2260: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
2270: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  GS) -DSQLITE_OMI
2280: 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45  T_LOCALTIME=1.!E
2290: 4c 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  LSE.EXT_FEATURE_
22a0: 46 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  FLAGS =.!ENDIF.!
22b0: 45 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23  ENDIF..#########
22c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2300: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2320: 23 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50  ###### END OF OP
2330: 54 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23  TIONS ##########
2340: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2350: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2370: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2390: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
23a0: 23 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63  ######..# When c
23b0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65  ompiling for the
23c0: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
23d0: 66 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f  form, the PLATFO
23e0: 52 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65  RM macro must be
23f0: 20 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70   set.# to an app
2400: 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28  ropriate value (
2410: 65 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61  e.g. x86, x64, a
2420: 72 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e  rm, arm64, etc).
2430: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
2440: 31 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50  10)!=0.!IFNDEF P
2450: 4c 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55  LATFORM.!ERROR U
2460: 73 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e  sing the FOR_WIN
2470: 31 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72  10 option requir
2480: 65 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50  es a value for P
2490: 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a  LATFORM..!ENDIF.
24a0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61  !ENDIF..# This a
24b0: 73 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43  ssumes that MSVC
24c0: 20 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61   is always insta
24d0: 6c 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50  lled in 32-bit P
24e0: 72 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72  rogram Files dir
24f0: 65 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74  ectory.# and set
2500: 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66  s the variable f
2510: 6f 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69  or use in locati
2520: 6e 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20  ng other 32-bit 
2530: 69 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69  installs accordi
2540: 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46  ngly..#.PROGRAMF
2550: 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49  ILES_X86 = $(VCI
2560: 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e  NSTALLDIR)\..\..
2570: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  .PROGRAMFILES_X8
2580: 36 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  6 = $(PROGRAMFIL
2590: 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20  ES_X86:\\=\)..# 
25a0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
25b0: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
25c0: 20 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73   macro CC.  This
25d0: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f   should point to
25e0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20   the compiler.# 
25f0: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74  binary for the t
2600: 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20  arget platform. 
2610: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65   If it is not de
2620: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65  fined, simply de
2630: 66 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65  fine it to.# the
2640: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20   legacy default 
2650: 76 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a  value 'cl.exe'..
2660: 23 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20  #.!IFNDEF CC.CC 
2670: 3d 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a  = cl.exe.!ENDIF.
2680: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
2690: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d   predefined comm
26a0: 61 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20  and macro CSC.  
26b0: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e  This should poin
26c0: 74 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23  t to a working.#
26d0: 20 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65   C Sharp compile
26e0: 72 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74  r binary.  If it
26f0: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c   is not defined,
2700: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69   simply define i
2710: 74 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63  t to the.# legac
2720: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20  y default value 
2730: 27 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46  'csc.exe'..#.!IF
2740: 4e 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63  NDEF CSC.CSC = c
2750: 73 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23  sc.exe.!ENDIF..#
2760: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63   Check for the c
2770: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e  ommand macro LD.
2780: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2790: 69 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65  int to the linke
27a0: 72 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74  r binary for.# t
27b0: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
27c0: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
27d0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
27e0: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74  y define it to t
27f0: 68 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61  he legacy.# defa
2800: 75 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e  ult value 'link.
2810: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20  exe'..#.!IFNDEF 
2820: 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65  LD.LD = link.exe
2830: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
2840: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69   for the predefi
2850: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  ned command macr
2860: 6f 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75  o RC.  This shou
2870: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20  ld point to the 
2880: 72 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69  resource.# compi
2890: 6c 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74  ler binary for t
28a0: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
28b0: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
28c0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
28d0: 79 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f  y define.# it to
28e0: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61   the legacy defa
28f0: 75 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78  ult value 'rc.ex
2900: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43  e'..#.!IFNDEF RC
2910: 0a 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e  .RC = rc.exe.!EN
2920: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  DIF..# Check for
2930: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d   the MSVC runtim
2940: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  e library path m
2950: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
2960: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
2970: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
2980: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f  he 'lib' directo
2990: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68  ry underneath th
29a0: 65 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74  e MSVC installat
29b0: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23  ion directory..#
29c0: 0a 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50  .!IFNDEF CRTLIBP
29d0: 41 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d  ATH.CRTLIBPATH =
29e0: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29   $(VCINSTALLDIR)
29f0: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54  \lib.!ENDIF..CRT
2a00: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL
2a10: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..# 
2a20: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f  Check for the co
2a30: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e  mmand macro NCC.
2a40: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2a50: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69  int to the compi
2a60: 6c 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72  ler binary.# for
2a70: 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68   the platform th
2a80: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72  e compilation pr
2a90: 6f 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20  ocess is taking 
2aa0: 70 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74  place on.  If it
2ab0: 20 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65   is not.# define
2ac0: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65  d, simply define
2ad0: 20 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20   it to have the 
2ae0: 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68  same value as th
2af0: 65 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65  e CC macro.  Whe
2b00: 6e 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c  n.# cross-compil
2b10: 69 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65  ing, it is sugge
2b20: 73 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d  sted that this m
2b30: 61 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64  acro be modified
2b40: 20 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64   via the command
2b50: 0a 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e  .# line (since n
2b60: 6d 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73  make itself does
2b70: 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62   not provide a b
2b80: 75 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74  uilt-in method t
2b90: 6f 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46  o guess it)..# F
2ba0: 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75  or example, to u
2bb0: 73 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69  se the x86 compi
2bc0: 6c 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63  ler when cross-c
2bd0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34  ompiling for x64
2be0: 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69  , a command.# li
2bf0: 6e 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68  ne similar to th
2c00: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c  e following coul
2c10: 64 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f  d be used (all o
2c20: 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23  n one line):.#.#
2c30: 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61       nmake /f Ma
2c40: 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74  kefile.msc sqlit
2c50: 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20  e3.dll.#        
2c60: 20 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53     XCOMPILE=1 US
2c70: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48  E_NATIVE_LIBPATH
2c80: 53 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74  S=1.#.# Alternat
2c90: 69 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20  ively, the full 
2ca0: 70 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61  path and file na
2cb0: 6d 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c  me to the compil
2cc0: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68  er binary for th
2cd0: 65 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65  e.# platform the
2ce0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f   compilation pro
2cf0: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70  cess is taking p
2d00: 6c 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63  lace may be spec
2d10: 69 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20  ified (all on.# 
2d20: 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20  one line):.#.#  
2d30: 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65     nmake /f Make
2d40: 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33  file.msc sqlite3
2d50: 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20  .dll.#          
2d60: 20 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41   "NCC=""%VCINSTA
2d70: 4c 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78  LLDIR%\bin\cl.ex
2d80: 65 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20  e""".#          
2d90: 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50   USE_NATIVE_LIBP
2da0: 41 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20  ATHS=1.#.!IFDEF 
2db0: 4e 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a  NCC.NCC = $(NCC:
2dc0: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28  \\=\).!ELSEIF $(
2dd0: 58 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43  XCOMPILE)!=0.NCC
2de0: 20 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44   = "$(VCINSTALLD
2df0: 49 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e  IR)\bin\$(CC)".N
2e00: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29  CC = $(NCC:\\=\)
2e10: 0a 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43  .!ELSE.NCC = $(C
2e20: 43 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  C).!ENDIF..# Che
2e30: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20  ck for the MSVC 
2e40: 6e 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c  native runtime l
2e50: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
2e60: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23  o.  Otherwise,.#
2e70: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c   this value will
2e80: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the 
2e90: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20  'lib' directory 
2ea0: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d  underneath the M
2eb0: 53 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69  SVC.# installati
2ec0: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a  on directory..#.
2ed0: 21 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50  !IFNDEF NCRTLIBP
2ee0: 41 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20  ATH.NCRTLIBPATH 
2ef0: 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52  = $(VCINSTALLDIR
2f00: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43  )\lib.!ENDIF..NC
2f10: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43  RTLIBPATH = $(NC
2f20: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  RTLIBPATH:\\=\).
2f30: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
2f40: 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69   Platform SDK li
2f50: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f  brary path macro
2f60: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68  .  Otherwise, th
2f70: 69 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20  is.# value will 
2f80: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27  default to the '
2f90: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75  lib' directory u
2fa0: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69  nderneath the Wi
2fb0: 6e 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74  ndows.# SDK inst
2fc0: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f  allation directo
2fd0: 72 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d  ry (the environm
2fe0: 65 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65  ent variable use
2ff0: 64 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62  d appears.# to b
3000: 65 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e  e available when
3010: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b   using Visual C+
3020: 2b 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20  + 2008 or later 
3030: 76 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e  via the.# comman
3040: 64 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44  d line)..#.!IFND
3050: 45 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e  EF NSDKLIBPATH.N
3060: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57  SDKLIBPATH = $(W
3070: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
3080: 62 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49  b.!ENDIF..NSDKLI
3090: 42 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49  BPATH = $(NSDKLI
30a0: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  BPATH:\\=\)..# C
30b0: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52  heck for the UCR
30c0: 54 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  T library path m
30d0: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
30e0: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
30f0: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
3100: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69  he version-speci
3110: 66 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70  fic, platform-sp
3120: 65 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72  ecific 'lib' dir
3130: 65 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65  ectory.# underne
3140: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20  ath the Windows 
3150: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  SDK installation
3160: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49   directory..#.!I
3170: 46 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54  FNDEF UCRTLIBPAT
3180: 48 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20  H.UCRTLIBPATH = 
3190: 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29  $(WINDOWSSDKDIR)
31a0: 5c 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44  \lib\$(WINDOWSSD
31b0: 4b 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72  KLIBVERSION)\ucr
31c0: 74 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45  t\$(PLATFORM).!E
31d0: 4e 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54  NDIF..UCRTLIBPAT
31e0: 48 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54  H = $(UCRTLIBPAT
31f0: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d  H:\\=\)..# C com
3200: 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e  piler and option
3210: 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69  s for use in bui
3220: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65  lding executable
3230: 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75  s that.# will ru
3240: 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72  n on the platfor
3250: 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20  m that is doing 
3260: 74 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46  the build..#.!IF
3270: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29   $(USE_FULLWARN)
3280: 21 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29  !=0.BCC = $(NCC)
3290: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43   -nologo -W4 $(C
32a0: 43 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53  COPTS) $(BCCOPTS
32b0: 29 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28  ).!ELSE.BCC = $(
32c0: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33  NCC) -nologo -W3
32d0: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS) $(BCC
32e0: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..# 
32f0: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
3300: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings 
3310: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
3320: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
3330: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files 
3340: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
3350: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST
3360: 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24  INGS)!=0.BCC = $
3370: 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (BCC) -FAcs.!END
3380: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74  IF..# Check if t
3390: 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72  he native librar
33a0: 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62  y paths should b
33b0: 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70  e used when comp
33c0: 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d  iling.# the comm
33d0: 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75  and line tools u
33e0: 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63  sed during the c
33f0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
3400: 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65  ss.  If.# so, se
3410: 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  t the necessary 
3420: 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46  macro now..#.!IF
3430: 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49   $(USE_NATIVE_LI
3440: 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49  BPATHS)!=0.NLTLI
3450: 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41  BPATHS = "/LIBPA
3460: 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48  TH:$(NCRTLIBPATH
3470: 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  )" "/LIBPATH:$(N
3480: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49  SDKLIBPATH)"..!I
3490: 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54  FDEF NUCRTLIBPAT
34a0: 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d  H.NUCRTLIBPATH =
34b0: 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a   $(NUCRTLIBPATH:
34c0: 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48  \\=\).NLTLIBPATH
34d0: 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  S = $(NLTLIBPATH
34e0: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  S) "/LIBPATH:$(N
34f0: 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45  UCRTLIBPATH)".!E
3500: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43  NDIF.!ENDIF..# C
3510: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
3520: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
3530: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
3540: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
3550: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72  l run on the tar
3560: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28  get platform.  (
3570: 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20  BCC and TCC are 
3580: 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61  usually the.# sa
3590: 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61  me unless your a
35a0: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
35b0: 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45  ng.).#.!IF $(USE
35c0: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43  _FULLWARN)!=0.TC
35d0: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67  C = $(CC) -nolog
35e0: 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f  o -W4 -DINCLUDE_
35f0: 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54  MSVC_H=1 $(CCOPT
3600: 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45  S) $(TCCOPTS).!E
3610: 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20  LSE.TCC = $(CC) 
3620: 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43  -nologo -W3 $(CC
3630: 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29  OPTS) $(TCCOPTS)
3640: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
3650: 20 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f   if warnings sho
3660: 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61  uld be treated a
3670: 73 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f  s errors when co
3680: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24  mpiling..#.!IF $
3690: 28 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29  (USE_FATAL_WARN)
36a0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
36b0: 20 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43   -WX.!ENDIF..TCC
36c0: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
36d0: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20  TE_OS_WIN=1 -I. 
36e0: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50  -I$(TOP) -I$(TOP
36f0: 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73  )\src -fp:precis
3700: 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44  e.RCC = $(RC) -D
3710: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20  SQLITE_OS_WIN=1 
3720: 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24  -I. -I$(TOP) -I$
3730: 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50  (TOP)\src $(RCOP
3740: 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a  TS) $(RCCOPTS)..
3750: 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61  # Check if we wa
3760: 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73  nt to use the "s
3770: 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20  tdcall" calling 
3780: 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20  convention when 
3790: 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69  compiling..# Thi
37a0: 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74  s is not support
37b0: 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c  ed by the compil
37c0: 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20  ers for non-x86 
37d0: 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73  platforms.  It s
37e0: 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20  hould.# also be 
37f0: 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20  noted here that 
3800: 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72  building any tar
3810: 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22  get with these "
3820: 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73  stdcall" options
3830: 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b  .# will most lik
3840: 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20  ely fail if the 
3850: 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61  Tcl library is a
3860: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54  lso required.  T
3870: 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20  his is due.# to 
3880: 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72  how the Tcl libr
3890: 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72  ary functions ar
38a0: 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65  e declared and e
38b0: 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69  xported (i.e. wi
38c0: 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69  thout.# an expli
38d0: 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76  cit calling conv
38e0: 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65  ention, which re
38f0: 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22  sults in "cdecl"
3900: 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53  )..#.!IF $(USE_S
3910: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $(
3920: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49  FOR_WIN10)!=0.!I
3930: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"=
3940: 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e  ="x86".CORE_CCON
3950: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
3960: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
3970: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
3980: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3990: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
39a0: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
39b0: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
39c0: 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56  call.SHELL_CCONV
39d0: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
39e0: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
39f0: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3a00: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3a10: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
3a20: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3a30: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
3a40: 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54  all.# <<mark>>.T
3a50: 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  EST_CCONV_OPTS =
3a60: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3a70: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3a80: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3a90: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3aa0: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3ab0: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3ac0: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49  PI=__stdcall -DI
3ad0: 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43  NCLUDE_SQLITE_TC
3ae0: 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54  L_H=1 -DSQLITE_T
3af0: 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20  CLAPI=__cdecl.# 
3b00: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a  <</mark>>.!ELSE.
3b10: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d  !IFNDEF PLATFORM
3b20: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3b30: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
3b40: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
3b50: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
3b60: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3b70: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
3b80: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3b90: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53  SAPI=__stdcall.S
3ba0: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS 
3bb0: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3bc0: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3bd0: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3be0: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3bf0: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3c00: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3c10: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20  API=__stdcall.# 
3c20: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3c30: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3c40: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3c50: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
3c60: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
3c70: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
3c80: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
3c90: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3ca0: 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45  tdcall -DINCLUDE
3cb0: 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20  _SQLITE_TCL_H=1 
3cc0: 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d  -DSQLITE_TCLAPI=
3cd0: 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72  __cdecl.# <</mar
3ce0: 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43  k>>.!ELSE.CORE_C
3cf0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c  CONV_OPTS =.SHEL
3d00: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23  L_CCONV_OPTS =.#
3d10: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43   <<mark>>.TEST_C
3d20: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c  CONV_OPTS =.# <<
3d30: 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21  /mark>>.!ENDIF.!
3d40: 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45  ENDIF.!ELSE.CORE
3d50: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48  _CCONV_OPTS =.SH
3d60: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3d70: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54  .# <<mark>>.TEST
3d80: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.# 
3d90: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46  <</mark>>.!ENDIF
3da0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
3db0: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
3dc0: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66  r options used f
3dd0: 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  or the core libr
3de0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  ary..#.!IFNDEF C
3df0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
3e00: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
3e10: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  HELL)!=0 || $(FO
3e20: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45  R_WIN10)!=0.CORE
3e30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
3e40: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT
3e50: 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d  S) -DSQLITE_API=
3e60: 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78  __declspec(dllex
3e70: 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45  port).!ELSE.CORE
3e80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
3e90: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT
3ea0: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  S).!ENDIF.!ENDIF
3eb0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
3ec0: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72  e additional tar
3ed0: 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f  gets that the co
3ee0: 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c  re library shoul
3ef0: 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68  d depend on.# wh
3f00: 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49  en linking..#.!I
3f10: 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f  FNDEF CORE_LINK_
3f20: 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  DEP.!IF $(DYNAMI
3f30: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45  C_SHELL)!=0.CORE
3f40: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53  _LINK_DEP =.!ELS
3f50: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  EIF $(FOR_WIN10)
3f60: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f  ==0 || "$(PLATFO
3f70: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
3f80: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69  _LINK_DEP = sqli
3f90: 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f  te3.def.!ELSE.CO
3fa0: 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45  RE_LINK_DEP =.!E
3fb0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
3fc0: 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f  hese are additio
3fd0: 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  nal linker optio
3fe0: 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20  ns used for the 
3ff0: 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a  core library..#.
4000: 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e  !IFNDEF CORE_LIN
4010: 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e  K_OPTS.!IF $(DYN
4020: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43  AMIC_SHELL)!=0.C
4030: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a  ORE_LINK_OPTS =.
4040: 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49  !ELSEIF $(FOR_WI
4050: 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c  N10)==0 || "$(PL
4060: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
4070: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
4080: 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65   /DEF:sqlite3.de
4090: 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e  f.!ELSE.CORE_LIN
40a0: 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a  K_OPTS =.!ENDIF.
40b0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These 
40c0: 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63  are additional c
40d0: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
40e0: 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65  used for the she
40f0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23  ll executable..#
4100: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
4110: 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20  OMPILE_OPTS.!IF 
4120: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
4130: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
4140: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)!=0.SHELL_COM
4150: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
4160: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20  ELL_CCONV_OPTS) 
4170: 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64  -DSQLITE_API=__d
4180: 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72  eclspec(dllimpor
4190: 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43  t).!ELSE.SHELL_C
41a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28  OMPILE_OPTS = $(
41b0: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53  SHELL_CCONV_OPTS
41c0: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
41d0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73  .# This is the s
41e0: 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20  ource code that 
41f0: 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74  the shell execut
4200: 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63  able should be c
4210: 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a  ompiled.# with..
4220: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
4230: 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44  CORE_SRC.!IF $(D
4240: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30  YNAMIC_SHELL)!=0
4250: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
4260: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  !=0.SHELL_CORE_S
4270: 52 43 20 3d 0a 21 45 4c 53 45 0a 53 48 45 4c 4c  RC =.!ELSE.SHELL
4280: 5f 43 4f 52 45 5f 53 52 43 20 3d 20 24 28 53 51  _CORE_SRC = $(SQ
4290: 4c 49 54 45 33 43 29 0a 21 45 4e 44 49 46 0a 21  LITE3C).!ENDIF.!
42a0: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
42b0: 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72   the core librar
42c0: 79 20 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c  y that the shell
42d0: 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75   executable shou
42e0: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a  ld depend on..#.
42f0: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f  !IFNDEF SHELL_CO
4300: 52 45 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e  RE_DEP.!IF $(DYN
4310: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c  AMIC_SHELL)!=0 |
4320: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
4330: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  0.SHELL_CORE_DEP
4340: 20 3d 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29   = $(SQLITE3DLL)
4350: 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52  .!ELSE.SHELL_COR
4360: 45 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21  E_DEP =.!ENDIF.!
4370: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
4380: 3e 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70  >.# If zlib supp
4390: 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  ort is enabled, 
43a0: 61 64 64 20 74 68 65 20 64 65 70 65 6e 64 65 6e  add the dependen
43b0: 63 69 65 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21  cies for it..#.!
43c0: 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d  IF $(USE_ZLIB)!=
43d0: 30 20 26 26 20 24 28 42 55 49 4c 44 5f 5a 4c 49  0 && $(BUILD_ZLI
43e0: 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45  B)!=0.SHELL_CORE
43f0: 5f 44 45 50 20 3d 20 7a 6c 69 62 20 24 28 53 48  _DEP = zlib $(SH
4400: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 0a 54 45  ELL_CORE_DEP).TE
4410: 53 54 46 49 58 54 55 52 45 5f 44 45 50 20 3d 20  STFIXTURE_DEP = 
4420: 7a 6c 69 62 20 24 28 54 45 53 54 46 49 58 54 55  zlib $(TESTFIXTU
4430: 52 45 5f 44 45 50 29 0a 21 45 4e 44 49 46 0a 23  RE_DEP).!ENDIF.#
4440: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68   <</mark>>..# Th
4450: 69 73 20 69 73 20 74 68 65 20 63 6f 72 65 20 6c  is is the core l
4460: 69 62 72 61 72 79 20 74 68 61 74 20 74 68 65 20  ibrary that the 
4470: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  shell executable
4480: 20 73 68 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74   should link wit
4490: 68 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45  h..#.!IFNDEF SHE
44a0: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20  LL_CORE_LIB.!IF 
44b0: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
44c0: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
44d0: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52  10)!=0.SHELL_COR
44e0: 45 5f 4c 49 42 20 3d 20 24 28 53 51 4c 49 54 45  E_LIB = $(SQLITE
44f0: 33 4c 49 42 29 0a 21 45 4c 53 45 0a 53 48 45 4c  3LIB).!ELSE.SHEL
4500: 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a 21 45 4e  L_CORE_LIB =.!EN
4510: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
4520: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e  ese are addition
4530: 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  al linker option
4540: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 73  s used for the s
4550: 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e  hell executable.
4560: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c  .#.!IFNDEF SHELL
4570: 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48 45 4c 4c  _LINK_OPTS.SHELL
4580: 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 24 28 53  _LINK_OPTS = $(S
4590: 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 29 0a 21  HELL_CORE_LIB).!
45a0: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69  ENDIF..# Check i
45b0: 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20  f assembly code 
45c0: 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20  listings should 
45d0: 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72  be generated for
45e0: 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f   the source.# co
45f0: 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63  de files to be c
4600: 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24  ompiled..#.!IF $
4610: 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d  (USE_LISTINGS)!=
4620: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
4630: 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 57  FAcs.!ENDIF..# W
4640: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68  hen compiling th
4650: 65 20 6c 69 62 72 61 72 79 20 66 6f 72 20 75 73  e library for us
4660: 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 20 65  e in the WinRT e
4670: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23 20 74 68  nvironment,.# th
4680: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 70  e following comp
4690: 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 6f 6e 73  ile-time options
46a0: 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 61 73   must be used as
46b0: 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69 73 61 62   well to.# disab
46c0: 6c 65 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20  le use of Win32 
46d0: 41 50 49 73 20 74 68 61 74 20 61 72 65 20 6e 6f  APIs that are no
46e0: 74 20 61 76 61 69 6c 61 62 6c 65 20 61 6e 64 20  t available and 
46f0: 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75 73 65 20  to enable.# use 
4700: 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20 74 68  of Win32 APIs th
4710: 61 74 20 61 72 65 20 73 70 65 63 69 66 69 63 20  at are specific 
4720: 74 6f 20 57 69 6e 64 6f 77 73 20 38 20 61 6e 64  to Windows 8 and
4730: 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a 21 49 46  /or WinRT..#.!IF
4740: 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30   $(FOR_WINRT)!=0
4750: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
4760: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d  SQLITE_OS_WINRT=
4770: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
4780: 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54  DSQLITE_OS_WINRT
4790: 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =1.TCC = $(TCC) 
47a0: 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d  -DWINAPI_FAMILY=
47b0: 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50  WINAPI_FAMILY_AP
47c0: 50 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  P.RCC = $(RCC) -
47d0: 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d 57  DWINAPI_FAMILY=W
47e0: 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50 50  INAPI_FAMILY_APP
47f0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d  .!ENDIF..# C com
4800: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
4810: 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30  r the Windows 10
4820: 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65 65 64 73   platform (needs
4830: 20 4d 53 56 43 20 32 30 31 35 29 2e 0a 23 0a 21   MSVC 2015)..#.!
4840: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  IF $(FOR_WIN10)!
4850: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
4860: 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41 52 4d  /d2guard4 -D_ARM
4870: 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54 49 4f  _WINAPI_PARTITIO
4880: 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56  N_DESKTOP_SDK_AV
4890: 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d 20 24 28  AILABLE.BCC = $(
48a0: 42 43 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d  BCC) /d2guard4 -
48b0: 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52  D_ARM_WINAPI_PAR
48c0: 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53  TITION_DESKTOP_S
48d0: 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 21 45 4e  DK_AVAILABLE.!EN
48e0: 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20 77 65 20  DIF..# Also, we 
48f0: 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d 69 63 61  need to dynamica
4900: 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20  lly link to the 
4910: 63 6f 72 72 65 63 74 20 4d 53 56 43 20 72 75 6e  correct MSVC run
4920: 74 69 6d 65 0a 23 20 77 68 65 6e 20 63 6f 6d 70  time.# when comp
4930: 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 52 54 20  iling for WinRT 
4940: 28 65 2e 67 2e 20 64 65 62 75 67 20 6f 72 20 72  (e.g. debug or r
4950: 65 6c 65 61 73 65 29 20 4f 52 20 69 66 20 74 68  elease) OR if th
4960: 65 0a 23 20 55 53 45 5f 43 52 54 5f 44 4c 4c 20  e.# USE_CRT_DLL 
4970: 6f 70 74 69 6f 6e 20 69 73 20 73 65 74 20 74 6f  option is set to
4980: 20 66 6f 72 63 65 20 64 79 6e 61 6d 69 63 61 6c   force dynamical
4990: 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68  ly linking to th
49a0: 65 0a 23 20 4d 53 56 43 20 72 75 6e 74 69 6d 65  e.# MSVC runtime
49b0: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 20   library..#.!IF 
49c0: 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 20  $(FOR_WINRT)!=0 
49d0: 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f 44 4c 4c  || $(USE_CRT_DLL
49e0: 29 21 3d 30 0a 21 49 46 20 24 28 44 45 42 55 47  )!=0.!IF $(DEBUG
49f0: 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>1.TCC = $(TCC)
4a00: 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24 28 42 43   -MDd.BCC = $(BC
4a10: 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45 0a 54 43  C) -MDd.!ELSE.TC
4a20: 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 0a 42  C = $(TCC) -MD.B
4a30: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 0a  CC = $(BCC) -MD.
4a40: 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 21 49 46  !ENDIF.!ELSE.!IF
4a50: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20   $(DEBUG)>1.TCC 
4a60: 3d 20 24 28 54 43 43 29 20 2d 4d 54 64 0a 42 43  = $(TCC) -MTd.BC
4a70: 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54 64 0a  C = $(BCC) -MTd.
4a80: 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54 43  !ELSE.TCC = $(TC
4a90: 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20 24 28 42  C) -MT.BCC = $(B
4aa0: 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49 46 0a 21  CC) -MT.!ENDIF.!
4ab0: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
4ac0: 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65  >.# The mksqlite
4ad0: 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b 73 71 6c  3c.tcl and mksql
4ae0: 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69 70 74  ite3h.tcl script
4af0: 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69 6e 0a 23  s will pull in.#
4b00: 20 61 6e 79 20 65 78 74 65 6e 73 69 6f 6e 20 68   any extension h
4b10: 65 61 64 65 72 20 66 69 6c 65 73 20 62 79 20 64  eader files by d
4b20: 65 66 61 75 6c 74 2e 20 20 46 6f 72 20 6e 6f 6e  efault.  For non
4b30: 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 20  -amalgamation.# 
4b40: 62 75 69 6c 64 73 2c 20 77 65 20 6e 65 65 64 20  builds, we need 
4b50: 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65  to make sure the
4b60: 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 20 66 69   compiler can fi
4b70: 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21 49 46 20  nd these..#.!IF 
4b80: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI
4b90: 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54  ON)==0.TCC = $(T
4ba0: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext
4bb0: 5c 66 74 73 33 0a 52 43 43 20 3d 20 24 28 52 43  \fts3.RCC = $(RC
4bc0: 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c  C) -I$(TOP)\ext\
4bd0: 66 74 73 33 0a 54 43 43 20 3d 20 24 28 54 43 43  fts3.TCC = $(TCC
4be0: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 72  ) -I$(TOP)\ext\r
4bf0: 74 72 65 65 0a 52 43 43 20 3d 20 24 28 52 43 43  tree.RCC = $(RCC
4c00: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 72  ) -I$(TOP)\ext\r
4c10: 74 72 65 65 0a 54 43 43 20 3d 20 24 28 54 43 43  tree.TCC = $(TCC
4c20: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 73  ) -I$(TOP)\ext\s
4c30: 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20 24 28 52  ession.RCC = $(R
4c40: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext
4c50: 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44 49 46 0a  \session.!ENDIF.
4c60: 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33  .# The mksqlite3
4c70: 63 2e 74 63 6c 20 73 63 72 69 70 74 20 61 63 63  c.tcl script acc
4c80: 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e  epts some option
4c90: 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64  s on the command
4ca0: 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65 6e 20 63  .# line.  When c
4cb0: 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20 64 65  ompiling with de
4cc0: 62 75 67 67 69 6e 67 20 65 6e 61 62 6c 65 64 2c  bugging enabled,
4cd0: 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 0a 23   some of these.#
4ce0: 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 6e 65 63   options are nec
4cf0: 65 73 73 61 72 79 20 69 6e 20 6f 72 64 65 72 20  essary in order 
4d00: 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75 67 67 69  to allow debuggi
4d10: 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f 0a 23 20  ng symbols to.# 
4d20: 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20 77  work correctly w
4d30: 69 74 68 20 56 69 73 75 61 6c 20 53 74 75 64 69  ith Visual Studi
4d40: 6f 20 77 68 65 6e 20 75 73 69 6e 67 20 74 68 65  o when using the
4d50: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
4d60: 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54  .!IFNDEF MKSQLIT
4d70: 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20 24 28 4d  E3C_TOOL.!IF $(M
4d80: 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41 54  INIMAL_AMALGAMAT
4d90: 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45  ION)!=0.MKSQLITE
4da0: 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29  3C_TOOL = $(TOP)
4db0: 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63  \tool\mksqlite3c
4dc0: 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45 4c 53 45  -noext.tcl.!ELSE
4dd0: 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c  .MKSQLITE3C_TOOL
4de0: 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d   = $(TOP)\tool\m
4df0: 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 21 45  ksqlite3c.tcl.!E
4e00: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46  NDIF.!ENDIF..!IF
4e10: 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f  NDEF MKSQLITE3C_
4e20: 41 52 47 53 0a 21 49 46 20 24 28 44 45 42 55 47  ARGS.!IF $(DEBUG
4e30: 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41  )>1.MKSQLITE3C_A
4e40: 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d 61 63 72  RGS = --linemacr
4e50: 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54  os.!ELSE.MKSQLIT
4e60: 45 33 43 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49  E3C_ARGS =.!ENDI
4e70: 46 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43  F.!IF $(USE_STDC
4e80: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR
4e90: 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53 51 4c  _WIN10)!=0.MKSQL
4ea0: 49 54 45 33 43 5f 41 52 47 53 20 3d 20 24 28 4d  ITE3C_ARGS = $(M
4eb0: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29 20  KSQLITE3C_ARGS) 
4ec0: 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21 45 4e  --useapicall.!EN
4ed0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
4ee0: 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  e mksqlite3h.tcl
4ef0: 20 73 63 72 69 70 74 20 61 63 63 65 70 74 73 20   script accepts 
4f00: 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20  some options on 
4f10: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  the command line
4f20: 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69  ..# When compili
4f30: 6e 67 20 77 69 74 68 20 73 74 64 63 61 6c 6c 20  ng with stdcall 
4f40: 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65 20 6f 66  support, some of
4f50: 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 61   these options a
4f60: 72 65 0a 23 20 6e 65 63 65 73 73 61 72 79 2e 0a  re.# necessary..
4f70: 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49  #.!IFNDEF MKSQLI
4f80: 54 45 33 48 5f 41 52 47 53 0a 21 49 46 20 24 28  TE3H_ARGS.!IF $(
4f90: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20  USE_STDCALL)!=0 
4fa0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
4fb0: 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52  =0.MKSQLITE3H_AR
4fc0: 47 53 20 3d 20 2d 2d 75 73 65 61 70 69 63 61 6c  GS = --useapical
4fd0: 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45  l.!ELSE.MKSQLITE
4fe0: 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49 46  3H_ARGS =.!ENDIF
4ff0: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
5000: 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65 20 2d 44  k>>..# Define -D
5010: 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d 70 69 6c  NDEBUG to compil
5020: 65 20 77 69 74 68 6f 75 74 20 64 65 62 75 67 67  e without debugg
5030: 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f 72 20 70  ing (i.e., for p
5040: 72 6f 64 75 63 74 69 6f 6e 20 75 73 61 67 65 29  roduction usage)
5050: 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74 68 65 20  .# Omitting the 
5060: 64 65 66 69 6e 65 20 77 69 6c 6c 20 63 61 75 73  define will caus
5070: 65 20 65 78 74 72 61 20 64 65 62 75 67 67 69 6e  e extra debuggin
5080: 67 20 63 6f 64 65 20 74 6f 20 62 65 20 69 6e 73  g code to be ins
5090: 65 72 74 65 64 20 61 6e 64 0a 23 20 69 6e 63 6c  erted and.# incl
50a0: 75 64 65 73 20 65 78 74 72 61 20 63 6f 6d 6d 65  udes extra comme
50b0: 6e 74 73 20 77 68 65 6e 20 22 45 58 50 4c 41 49  nts when "EXPLAI
50c0: 4e 20 73 74 6d 74 22 20 69 73 20 75 73 65 64 2e  N stmt" is used.
50d0: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3d  .#.!IF $(DEBUG)=
50e0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
50f0: 2d 44 4e 44 45 42 55 47 0a 42 43 43 20 3d 20 24  -DNDEBUG.BCC = $
5100: 28 42 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 52  (BCC) -DNDEBUG.R
5110: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 4e 44  CC = $(RCC) -DND
5120: 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 21 49 46  EBUG.!ENDIF..!IF
5130: 20 24 28 44 45 42 55 47 29 3e 30 20 7c 7c 20 24   $(DEBUG)>0 || $
5140: 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d 30 20 7c  (API_ARMOR)!=0 |
5150: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
5160: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
5170: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41  DSQLITE_ENABLE_A
5180: 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43 43 20 3d  PI_ARMOR=1.RCC =
5190: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
51a0: 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f  _ENABLE_API_ARMO
51b0: 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20  R=1.!ENDIF..!IF 
51c0: 24 28 44 45 42 55 47 29 3e 32 0a 54 43 43 20 3d  $(DEBUG)>2.TCC =
51d0: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
51e0: 5f 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20 24  _DEBUG=1.RCC = $
51f0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 44  (RCC) -DSQLITE_D
5200: 45 42 55 47 3d 31 0a 21 49 46 20 24 28 44 59 4e  EBUG=1.!IF $(DYN
5210: 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 0a 54  AMIC_SHELL)==0.T
5220: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
5230: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52  LITE_ENABLE_WHER
5240: 45 54 52 41 43 45 20 2d 44 53 51 4c 49 54 45 5f  ETRACE -DSQLITE_
5250: 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 54 52 41  ENABLE_SELECTTRA
5260: 43 45 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  CE.RCC = $(RCC) 
5270: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
5280: 57 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c  WHERETRACE -DSQL
5290: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43  ITE_ENABLE_SELEC
52a0: 54 54 52 41 43 45 0a 21 45 4e 44 49 46 0a 21 45  TTRACE.!ENDIF.!E
52b0: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55  NDIF..!IF $(DEBU
52c0: 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 52 41 43  G)>4 || $(OSTRAC
52d0: 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  E)!=0.TCC = $(TC
52e0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43  C) -DSQLITE_FORC
52f0: 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 53  E_OS_TRACE=1 -DS
5300: 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54  QLITE_DEBUG_OS_T
5310: 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  RACE=1.RCC = $(R
5320: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52  CC) -DSQLITE_FOR
5330: 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44  CE_OS_TRACE=1 -D
5340: 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f  SQLITE_DEBUG_OS_
5350: 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a  TRACE=1.!ENDIF..
5360: 21 49 46 20 24 28 44 45 42 55 47 29 3e 35 0a 54  !IF $(DEBUG)>5.T
5370: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
5380: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
5390: 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  ACE=1.RCC = $(RC
53a0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
53b0: 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 21 45 4e  LE_IOTRACE=1.!EN
53c0: 44 49 46 0a 0a 23 20 50 72 65 76 65 6e 74 20 77  DIF..# Prevent w
53d0: 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 69  arnings about "i
53e0: 6e 73 65 63 75 72 65 22 20 4d 53 56 43 20 72 75  nsecure" MSVC ru
53f0: 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 66 75  ntime library fu
5400: 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 6e 67 20  nctions.# being 
5410: 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28  used..#.TCC = $(
5420: 54 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55  TCC) -D_CRT_SECU
5430: 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  RE_NO_DEPRECATE 
5440: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f  -D_CRT_SECURE_NO
5450: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20  _WARNINGS.BCC = 
5460: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 53 45  $(BCC) -D_CRT_SE
5470: 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54  CURE_NO_DEPRECAT
5480: 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  E -D_CRT_SECURE_
5490: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20  NO_WARNINGS.RCC 
54a0: 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f  = $(RCC) -D_CRT_
54b0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43  SECURE_NO_DEPREC
54c0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52  ATE -D_CRT_SECUR
54d0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23  E_NO_WARNINGS..#
54e0: 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67   Prevent warning
54f0: 73 20 61 62 6f 75 74 20 22 64 65 70 72 65 63 61  s about "depreca
5500: 74 65 64 22 20 50 4f 53 49 58 20 66 75 6e 63 74  ted" POSIX funct
5510: 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 65 64 2e  ions being used.
5520: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 
5530: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
5540: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43  O_DEPRECATE -D_C
5550: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41  RT_NONSTDC_NO_WA
5560: 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28 42  RNINGS.BCC = $(B
5570: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  CC) -D_CRT_NONST
5580: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  DC_NO_DEPRECATE 
5590: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
55a0: 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d  O_WARNINGS.RCC =
55b0: 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f 4e   $(RCC) -D_CRT_N
55c0: 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43  ONSTDC_NO_DEPREC
55d0: 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  ATE -D_CRT_NONST
55e0: 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a  DC_NO_WARNINGS..
55f0: 23 20 55 73 65 20 74 68 65 20 53 51 4c 69 74 65  # Use the SQLite
5600: 20 64 65 62 75 67 67 69 6e 67 20 68 65 61 70 20   debugging heap 
5610: 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46  subsystem?.#.!IF
5620: 20 24 28 4d 45 4d 44 45 42 55 47 29 21 3d 30 0a   $(MEMDEBUG)!=0.
5630: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
5640: 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31  QLITE_MEMDEBUG=1
5650: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
5660: 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d  SQLITE_MEMDEBUG=
5670: 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 76 65 20  1..# Use native 
5680: 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73 79  Win32 heap subsy
5690: 73 74 65 6d 20 69 6e 73 74 65 61 64 20 6f 66 20  stem instead of 
56a0: 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a 23 0a 21  malloc/free?.#.!
56b0: 45 4c 53 45 49 46 20 24 28 57 49 4e 33 32 48 45  ELSEIF $(WIN32HE
56c0: 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  AP)!=0.TCC = $(T
56d0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e  CC) -DSQLITE_WIN
56e0: 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 43 43 20  32_MALLOC=1.RCC 
56f0: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
5700: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31  E_WIN32_MALLOC=1
5710: 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 74 68 65  ..# Validate the
5720: 20 68 65 61 70 20 6f 6e 20 65 76 65 72 79 20 63   heap on every c
5730: 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 6e 61 74  all into the nat
5740: 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73  ive Win32 heap s
5750: 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20  ubsystem?.#.!IF 
5760: 24 28 44 45 42 55 47 29 3e 33 0a 54 43 43 20 3d  $(DEBUG)>3.TCC =
5770: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
5780: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41  _WIN32_MALLOC_VA
5790: 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 3d 20 24  LIDATE=1.RCC = $
57a0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57  (RCC) -DSQLITE_W
57b0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
57c0: 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a 21 45  DATE=1.!ENDIF.!E
57d0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
57e0: 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73  .# The locations
57f0: 20 6f 66 20 74 68 65 20 54 63 6c 20 68 65 61 64   of the Tcl head
5800: 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66  er and library f
5810: 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65  iles.  Also, the
5820: 20 6c 69 62 72 61 72 79 20 74 68 61 74 0a 23 20   library that.# 
5830: 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 62 6c 65  non-stubs enable
5840: 64 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67  d programs using
5850: 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e 6b 20 61   Tcl must link a
5860: 67 61 69 6e 73 74 2e 20 20 54 68 65 73 65 20 76  gainst.  These v
5870: 61 72 69 61 62 6c 65 73 0a 23 20 28 54 43 4c 49  ariables.# (TCLI
5880: 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 44 49 52  NCDIR, TCLLIBDIR
5890: 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 20 6d 61  , and LIBTCL) ma
58a0: 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20  y be overridden 
58b0: 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d  via the environm
58c0: 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72  ent.# prior to r
58d0: 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20  unning nmake in 
58e0: 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74  order to match t
58f0: 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c  he actual instal
5900: 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64  led location and
5910: 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e 20 74 68  .# version on th
5920: 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49  is machine..#.!I
5930: 46 4e 44 45 46 20 54 43 4c 44 49 52 0a 54 43 4c  FNDEF TCLDIR.TCL
5940: 44 49 52 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d  DIR = $(TOP)\com
5950: 70 61 74 5c 74 63 6c 0a 21 45 4e 44 49 46 0a 0a  pat\tcl.!ENDIF..
5960: 21 49 46 4e 44 45 46 20 54 43 4c 49 4e 43 44 49  !IFNDEF TCLINCDI
5970: 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 24 28  R.TCLINCDIR = $(
5980: 54 43 4c 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a  TCLDIR)\include.
5990: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20  !ENDIF..!IFNDEF 
59a0: 54 43 4c 4c 49 42 44 49 52 0a 54 43 4c 4c 49 42  TCLLIBDIR.TCLLIB
59b0: 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52 29 5c  DIR = $(TCLDIR)\
59c0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
59d0: 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49 42 54 43  DEF LIBTCL.LIBTC
59e0: 4c 20 3d 20 74 63 6c 38 36 2e 6c 69 62 0a 21 45  L = tcl86.lib.!E
59f0: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49  NDIF..!IFNDEF LI
5a00: 42 54 43 4c 53 54 55 42 0a 4c 49 42 54 43 4c 53  BTCLSTUB.LIBTCLS
5a10: 54 55 42 20 3d 20 74 63 6c 73 74 75 62 38 36 2e  TUB = tclstub86.
5a20: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
5a30: 44 45 46 20 4c 49 42 54 43 4c 50 41 54 48 0a 4c  DEF LIBTCLPATH.L
5a40: 49 42 54 43 4c 50 41 54 48 20 3d 20 24 28 54 43  IBTCLPATH = $(TC
5a50: 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e 44 49 46  LDIR)\bin.!ENDIF
5a60: 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e  ..# The location
5a70: 73 20 6f 66 20 74 68 65 20 7a 6c 69 62 20 68 65  s of the zlib he
5a80: 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79  ader and library
5a90: 20 66 69 6c 65 73 2e 20 20 54 68 65 73 65 20 76   files.  These v
5aa0: 61 72 69 61 62 6c 65 73 0a 23 20 28 5a 4c 49 42  ariables.# (ZLIB
5ab0: 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c 49 42 44  INCDIR, ZLIBLIBD
5ac0: 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c 49 42 29  IR, and ZLIBLIB)
5ad0: 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64   may be overridd
5ae0: 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72  en via the envir
5af0: 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74  onment.# prior t
5b00: 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20  o running nmake 
5b10: 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63  in order to matc
5b20: 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73  h the actual ins
5b30: 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f 75 72 63  talled (or sourc
5b40: 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63 61 74 69  e.# code) locati
5b50: 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63 68 69  on on this machi
5b60: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 5a 4c  ne..#.!IFNDEF ZL
5b70: 49 42 44 49 52 0a 5a 4c 49 42 44 49 52 20 3d 20  IBDIR.ZLIBDIR = 
5b80: 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 7a 6c  $(TOP)\compat\zl
5b90: 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  ib.!ENDIF..!IFND
5ba0: 45 46 20 5a 4c 49 42 49 4e 43 44 49 52 0a 5a 4c  EF ZLIBINCDIR.ZL
5bb0: 49 42 49 4e 43 44 49 52 20 3d 20 24 28 5a 4c 49  IBINCDIR = $(ZLI
5bc0: 42 44 49 52 29 0a 21 45 4e 44 49 46 0a 0a 21 49  BDIR).!ENDIF..!I
5bd0: 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42 44 49 52  FNDEF ZLIBLIBDIR
5be0: 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d 20 24 28  .ZLIBLIBDIR = $(
5bf0: 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a  ZLIBDIR).!ENDIF.
5c00: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42  .!IFNDEF ZLIBLIB
5c10: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
5c20: 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42 4c 49 42  HELL)!=0.ZLIBLIB
5c30: 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21 45 4c 53   = zdll.lib.!ELS
5c40: 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a 6c 69 62  E.ZLIBLIB = zlib
5c50: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44  .lib.!ENDIF.!END
5c60: 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74 69  IF..# The locati
5c70: 6f 6e 73 20 6f 66 20 74 68 65 20 49 43 55 20 68  ons of the ICU h
5c80: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72  eader and librar
5c90: 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73 65 20  y files.  These 
5ca0: 76 61 72 69 61 62 6c 65 73 0a 23 20 28 49 43 55  variables.# (ICU
5cb0: 49 4e 43 44 49 52 2c 20 49 43 55 4c 49 42 44 49  INCDIR, ICULIBDI
5cc0: 52 2c 20 61 6e 64 20 4c 49 42 49 43 55 29 20 6d  R, and LIBICU) m
5cd0: 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e  ay be overridden
5ce0: 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e   via the environ
5cf0: 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20  ment.# prior to 
5d00: 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e  running nmake in
5d10: 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20   order to match 
5d20: 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61  the actual insta
5d30: 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e  lled location on
5d40: 0a 23 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e  .# this machine.
5d50: 0a 23 0a 21 49 46 4e 44 45 46 20 49 43 55 44 49  .#.!IFNDEF ICUDI
5d60: 52 0a 49 43 55 44 49 52 20 3d 20 24 28 54 4f 50  R.ICUDIR = $(TOP
5d70: 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a 21 45 4e  )\compat\icu.!EN
5d80: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 49 43 55  DIF..!IFNDEF ICU
5d90: 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 44 49 52  INCDIR.ICUINCDIR
5da0: 20 3d 20 24 28 49 43 55 44 49 52 29 5c 69 6e 63   = $(ICUDIR)\inc
5db0: 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46  lude.!ENDIF..!IF
5dc0: 4e 44 45 46 20 49 43 55 4c 49 42 44 49 52 0a 49  NDEF ICULIBDIR.I
5dd0: 43 55 4c 49 42 44 49 52 20 3d 20 24 28 49 43 55  CULIBDIR = $(ICU
5de0: 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a  DIR)\lib.!ENDIF.
5df0: 0a 21 49 46 4e 44 45 46 20 4c 49 42 49 43 55 0a  .!IFNDEF LIBICU.
5e00: 4c 49 42 49 43 55 20 3d 20 69 63 75 75 63 2e 6c  LIBICU = icuuc.l
5e10: 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a 21 45 4e  ib icuin.lib.!EN
5e20: 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74  DIF..# This is t
5e30: 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73  he command to us
5e40: 65 20 66 6f 72 20 74 63 6c 73 68 20 2d 20 6e 6f  e for tclsh - no
5e50: 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22 74 63 6c  rmally just "tcl
5e60: 73 68 22 2c 20 62 75 74 20 77 65 20 6d 61 79 0a  sh", but we may.
5e70: 23 20 6b 6e 6f 77 20 74 68 65 20 73 70 65 63 69  # know the speci
5e80: 66 69 63 20 76 65 72 73 69 6f 6e 20 77 65 20 77  fic version we w
5e90: 61 6e 74 20 74 6f 20 75 73 65 2e 20 20 54 68 69  ant to use.  Thi
5ea0: 73 20 76 61 72 69 61 62 6c 65 20 28 54 43 4c 53  s variable (TCLS
5eb0: 48 5f 43 4d 44 29 20 6d 61 79 20 62 65 0a 23 20  H_CMD) may be.# 
5ec0: 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 74  overridden via t
5ed0: 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70  he environment p
5ee0: 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20  rior to running 
5ef0: 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74  nmake in order t
5f00: 6f 20 73 65 6c 65 63 74 20 61 0a 23 20 73 70 65  o select a.# spe
5f10: 63 69 66 69 63 20 54 63 6c 20 73 68 65 6c 6c 20  cific Tcl shell 
5f20: 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46 4e 44 45  to use..#.!IFNDE
5f30: 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21 49 46 20  F TCLSH_CMD.!IF 
5f40: 24 28 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  $(USE_TCLSH_IN_P
5f50: 41 54 48 29 21 3d 30 20 7c 7c 20 21 45 58 49 53  ATH)!=0 || !EXIS
5f60: 54 28 22 24 28 54 43 4c 44 49 52 29 5c 62 69 6e  T("$(TCLDIR)\bin
5f70: 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a 54 43 4c  \tclsh.exe").TCL
5f80: 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73 68 0a 21  SH_CMD = tclsh.!
5f90: 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d 44 20 3d  ELSE.TCLSH_CMD =
5fa0: 20 24 28 54 43 4c 44 49 52 29 5c 62 69 6e 5c 74   $(TCLDIR)\bin\t
5fb0: 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44 49 46 0a  clsh.exe.!ENDIF.
5fc0: 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b  !ENDIF.# <</mark
5fd0: 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65 72 20 6f  >>..# Compiler o
5fe0: 70 74 69 6f 6e 73 20 6e 65 65 64 65 64 20 66 6f  ptions needed fo
5ff0: 72 20 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20  r programs that 
6000: 75 73 65 20 74 68 65 20 72 65 61 64 6c 69 6e 65  use the readline
6010: 28 29 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  () library..#.!I
6020: 46 4e 44 45 46 20 52 45 41 44 4c 49 4e 45 5f 46  FNDEF READLINE_F
6030: 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45 5f 46 4c  LAGS.READLINE_FL
6040: 41 47 53 20 3d 20 2d 44 48 41 56 45 5f 52 45 41  AGS = -DHAVE_REA
6050: 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49 46 0a 0a  DLINE=0.!ENDIF..
6060: 23 20 54 68 65 20 6c 69 62 72 61 72 79 20 74 68  # The library th
6070: 61 74 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e  at programs usin
6080: 67 20 72 65 61 64 6c 69 6e 65 28 29 20 6d 75 73  g readline() mus
6090: 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e 0a  t link against..
60a0: 23 0a 21 49 46 4e 44 45 46 20 4c 49 42 52 45 41  #.!IFNDEF LIBREA
60b0: 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44 4c 49 4e  DLINE.LIBREADLIN
60c0: 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68  E =.!ENDIF..# Sh
60d0: 6f 75 6c 64 20 74 68 65 20 64 61 74 61 62 61 73  ould the databas
60e0: 65 20 65 6e 67 69 6e 65 20 62 65 20 63 6f 6d 70  e engine be comp
60f0: 69 6c 65 64 20 74 68 72 65 61 64 73 61 66 65 0a  iled threadsafe.
6100: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  #.TCC = $(TCC) -
6110: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
6120: 46 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  FE=1.RCC = $(RCC
6130: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
6140: 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f 20 74 68  DSAFE=1..# Do th
6150: 72 65 61 64 73 20 6f 76 65 72 72 69 64 65 20 65  reads override e
6160: 61 63 68 20 6f 74 68 65 72 73 20 6c 6f 63 6b 73  ach others locks
6170: 20 62 79 20 64 65 66 61 75 6c 74 20 28 31 29 2c   by default (1),
6180: 20 6f 72 20 64 6f 20 77 65 20 74 65 73 74 20 28   or do we test (
6190: 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  -1).#.TCC = $(TC
61a0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  C) -DSQLITE_THRE
61b0: 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 4b  AD_OVERRIDE_LOCK
61c0: 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  =-1.RCC = $(RCC)
61d0: 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
61e0: 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d  _OVERRIDE_LOCK=-
61f0: 31 0a 0a 23 20 41 6e 79 20 74 61 72 67 65 74 20  1..# Any target 
6200: 6c 69 62 72 61 72 69 65 73 20 77 68 69 63 68 20  libraries which 
6210: 6c 69 62 73 71 6c 69 74 65 20 6d 75 73 74 20 62  libsqlite must b
6220: 65 20 6c 69 6e 6b 65 64 20 61 67 61 69 6e 73 74  e linked against
6230: 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c 49 42 53  .#.!IFNDEF TLIBS
6240: 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44 49 46 0a  .TLIBS =.!ENDIF.
6250: 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74 72 6f 6c  .# Flags control
6260: 6c 69 6e 67 20 75 73 65 20 6f 66 20 74 68 65 20  ling use of the 
6270: 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72 65 65 20  in memory btree 
6280: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 23  implementation.#
6290: 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53  .# SQLITE_TEMP_S
62a0: 54 4f 52 45 20 69 73 20 30 20 74 6f 20 66 6f 72  TORE is 0 to for
62b0: 63 65 20 74 65 6d 70 6f 72 61 72 79 20 74 61 62  ce temporary tab
62c0: 6c 65 73 20 74 6f 20 62 65 20 69 6e 20 61 20 66  les to be in a f
62d0: 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64 65 66 61  ile, 1 to.# defa
62e0: 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20 32 20 74  ult to file, 2 t
62f0: 6f 20 64 65 66 61 75 6c 74 20 74 6f 20 6d 65 6d  o default to mem
6300: 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f 20 66 6f  ory, and 3 to fo
6310: 72 63 65 20 74 65 6d 70 6f 72 61 72 79 0a 23 20  rce temporary.# 
6320: 74 61 62 6c 65 73 20 74 6f 20 61 6c 77 61 79 73  tables to always
6330: 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a 23   be in memory..#
6340: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
6350: 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52  SQLITE_TEMP_STOR
6360: 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  E=1.RCC = $(RCC)
6370: 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53   -DSQLITE_TEMP_S
6380: 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61 62 6c 65  TORE=1..# Enable
6390: 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64 61 62 6c  /disable loadabl
63a0: 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 61 6e  e extensions, an
63b0: 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e 61 6c  d other optional
63c0: 20 66 65 61 74 75 72 65 73 0a 23 20 62 61 73 65   features.# base
63d0: 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72 61 74 69  d on configurati
63e0: 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45 5f 4f 4d  on. (-DSQLITE_OM
63f0: 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45 5f 45 4e  IT*, -DSQLITE_EN
6400: 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65 20 73 61  ABLE*)..# The sa
6410: 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49 54 20 61  me set of OMIT a
6420: 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61 67 73 20  nd ENABLE flags 
6430: 73 68 6f 75 6c 64 20 62 65 20 70 61 73 73 65 64  should be passed
6440: 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d 4f 4e 20   to the.# LEMON 
6450: 70 61 72 73 65 72 20 67 65 6e 65 72 61 74 6f 72  parser generator
6460: 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65 79 77 6f   and the mkkeywo
6470: 72 64 68 61 73 68 20 74 6f 6f 6c 20 61 73 20 77  rdhash tool as w
6480: 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65 20 61 72  ell...# These ar
6490: 65 20 74 68 65 20 72 65 71 75 69 72 65 64 20 53  e the required S
64a0: 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f  QLite compilatio
64b0: 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 77  n options used w
64c0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
64d0: 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 73 20  r.# the Windows 
64e0: 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52 45 51 5f  platform..#.REQ_
64f0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS = 
6500: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
6510: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4d 41  AGS) -DSQLITE_MA
6520: 58 5f 54 52 49 47 47 45 52 5f 44 45 50 54 48 3d  X_TRIGGER_DEPTH=
6530: 31 30 30 0a 0a 23 20 49 66 20 77 65 20 61 72 65  100..# If we are
6540: 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68 65 20   linking to the 
6550: 52 50 43 52 54 34 20 6c 69 62 72 61 72 79 2c 20  RPCRT4 library, 
6560: 65 6e 61 62 6c 65 20 66 65 61 74 75 72 65 73 20  enable features 
6570: 74 68 61 74 20 6e 65 65 64 20 69 74 2e 0a 23 0a  that need it..#.
6580: 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 54 34  !IF $(USE_RPCRT4
6590: 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f 46 45 41  _LIB)!=0.REQ_FEA
65a0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52  TURE_FLAGS = $(R
65b0: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
65c0: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32  ) -DSQLITE_WIN32
65d0: 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21 45 4e 44  _USE_UUID=1.!END
65e0: 49 46 0a 0a 23 20 41 64 64 20 74 68 65 20 72 65  IF..# Add the re
65f0: 71 75 69 72 65 64 20 61 6e 64 20 6f 70 74 69 6f  quired and optio
6600: 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f 6d 70 69  nal SQLite compi
6610: 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 69  lation options i
6620: 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a  nto the command.
6630: 23 20 6c 69 6e 65 73 20 75 73 65 64 20 74 6f 20  # lines used to 
6640: 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53 56 43 20  invoke the MSVC 
6650: 63 6f 64 65 20 61 6e 64 20 72 65 73 6f 75 72 63  code and resourc
6660: 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a 23 0a 54  e compilers..#.T
6670: 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 52 45  CC = $(TCC) $(RE
6680: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
6690: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
66a0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT
66b0: 55 52 45 5f 46 4c 41 47 53 29 0a 52 43 43 20 3d  URE_FLAGS).RCC =
66c0: 20 24 28 52 43 43 29 20 24 28 52 45 51 5f 46 45   $(RCC) $(REQ_FE
66d0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O
66e0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
66f0: 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f  ) $(EXT_FEATURE_
6700: 46 4c 41 47 53 29 0a 0a 23 20 41 64 64 20 69 6e  FLAGS)..# Add in
6710: 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c 20 70 61   any optional pa
6720: 72 61 6d 65 74 65 72 73 20 73 70 65 63 69 66 69  rameters specifi
6730: 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e  ed on the comman
6740: 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a 23 20 6e  e line, e.g..# n
6750: 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65  make /f Makefile
6760: 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54 53 3d 2d  .msc all "OPTS=-
6770: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
6780: 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  OO=1 -DSQLITE_OM
6790: 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54 43 43 20  IT_FOO=1".#.TCC 
67a0: 3d 20 24 28 54 43 43 29 20 24 28 4f 50 54 53 29  = $(TCC) $(OPTS)
67b0: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 24 28  .RCC = $(RCC) $(
67c0: 4f 50 54 53 29 0a 0a 23 20 49 66 20 63 6f 6d 70  OPTS)..# If comp
67d0: 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 75 67 67  iling for debugg
67e0: 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65 20 64 65  ing, add some de
67f0: 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20 24 28 44  fines..#.!IF $(D
6800: 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28  EBUG)>1.TCC = $(
6810: 54 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 42 43  TCC) -D_DEBUG.BC
6820: 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 44 45  C = $(BCC) -D_DE
6830: 42 55 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29  BUG.RCC = $(RCC)
6840: 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e 44 49 46   -D_DEBUG.!ENDIF
6850: 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69 7a 61 74  ..# If optimizat
6860: 69 6f 6e 73 20 61 72 65 20 65 6e 61 62 6c 65 64  ions are enabled
6870: 20 6f 72 20 64 69 73 61 62 6c 65 64 20 28 65 69   or disabled (ei
6880: 74 68 65 72 20 69 6d 70 6c 69 63 69 74 6c 79 20  ther implicitly 
6890: 6f 72 0a 23 20 65 78 70 6c 69 63 69 74 6c 79 29  or.# explicitly)
68a0: 2c 20 61 64 64 20 74 68 65 20 6e 65 63 65 73 73  , add the necess
68b0: 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a 21 49 46  ary flags..#.!IF
68c0: 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24   $(DEBUG)>1 || $
68d0: 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d  (OPTIMIZATIONS)=
68e0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
68f0: 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29  -Od.BCC = $(BCC)
6900: 20 2d 4f 64 0a 21 49 46 20 24 28 55 53 45 5f 52   -Od.!IF $(USE_R
6910: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 29 21 3d  UNTIME_CHECKS)!=
6920: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
6930: 52 54 43 31 0a 42 43 43 20 3d 20 24 28 42 43 43  RTC1.BCC = $(BCC
6940: 29 20 2d 52 54 43 31 0a 21 45 4e 44 49 46 0a 21  ) -RTC1.!ENDIF.!
6950: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a  ELSEIF $(OPTIMIZ
6960: 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43 43 20 3d  ATIONS)>=3.TCC =
6970: 20 24 28 54 43 43 29 20 2d 4f 78 0a 42 43 43 20   $(TCC) -Ox.BCC 
6980: 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a 21 45 4c  = $(BCC) -Ox.!EL
6990: 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54  SEIF $(OPTIMIZAT
69a0: 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20 3d 20 24  IONS)==2.TCC = $
69b0: 28 54 43 43 29 20 2d 4f 32 0a 42 43 43 20 3d 20  (TCC) -O2.BCC = 
69c0: 24 28 42 43 43 29 20 2d 4f 32 0a 21 45 4c 53 45  $(BCC) -O2.!ELSE
69d0: 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f  IF $(OPTIMIZATIO
69e0: 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20 24 28 54  NS)==1.TCC = $(T
69f0: 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d 20 24 28  CC) -O1.BCC = $(
6a00: 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44 49 46 0a  BCC) -O1.!ENDIF.
6a10: 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73 20 61 72  .# If symbols ar
6a20: 65 20 65 6e 61 62 6c 65 64 20 28 6f 72 20 63 6f  e enabled (or co
6a30: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 75  mpiling for debu
6a40: 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c 65 20 50  gging), enable P
6a50: 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42  DBs..#.!IF $(DEB
6a60: 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d 42 4f  UG)>1 || $(SYMBO
6a70: 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  LS)!=0.TCC = $(T
6a80: 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d 20 24 28  CC) -Zi.BCC = $(
6a90: 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44 49 46 0a  BCC) -Zi.!ENDIF.
6aa0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 49 66  .# <<mark>>.# If
6ab0: 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 20 69 73   zlib support is
6ac0: 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68   enabled, add th
6ad0: 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f  e compiler optio
6ae0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  ns for it..#.!IF
6af0: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a   $(USE_ZLIB)!=0.
6b00: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
6b10: 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c 49 42 3d  QLITE_HAVE_ZLIB=
6b20: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
6b30: 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c 49  DSQLITE_HAVE_ZLI
6b40: 42 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29  B=1.TCC = $(TCC)
6b50: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29   -I$(ZLIBINCDIR)
6b60: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49  .RCC = $(RCC) -I
6b70: 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 0a 21 45  $(ZLIBINCDIR).!E
6b80: 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55 20 73  NDIF..# If ICU s
6b90: 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65  upport is enable
6ba0: 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d 70 69  d, add the compi
6bb0: 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20  ler options for 
6bc0: 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  it..#.!IF $(USE_
6bd0: 49 43 55 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  ICU)!=0.TCC = $(
6be0: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TCC) -DSQLITE_EN
6bf0: 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43 43 20 3d  ABLE_ICU=1.RCC =
6c00: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
6c10: 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 54 43  _ENABLE_ICU=1.TC
6c20: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
6c30: 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52 43 43 20  OP)\ext\icu.RCC 
6c40: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50  = $(RCC) -I$(TOP
6c50: 29 5c 65 78 74 5c 69 63 75 0a 54 43 43 20 3d 20  )\ext\icu.TCC = 
6c60: 24 28 54 43 43 29 20 2d 49 24 28 49 43 55 49 4e  $(TCC) -I$(ICUIN
6c70: 43 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43  CDIR).RCC = $(RC
6c80: 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52  C) -I$(ICUINCDIR
6c90: 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61  ).!ENDIF.# <</ma
6ca0: 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 6e 64 20  rk>>..# Command 
6cb0: 6c 69 6e 65 20 70 72 65 66 69 78 65 73 20 66 6f  line prefixes fo
6cc0: 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 65  r compiling code
6cd0: 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72 65 73 6f  , compiling reso
6ce0: 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b 69 6e 67  urces,.# linking
6cf0: 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f 4d 50 49  , etc..#.LTCOMPI
6d00: 4c 45 20 3d 20 24 28 54 43 43 29 20 2d 46 6f 24  LE = $(TCC) -Fo$
6d10: 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24  @.LTRCOMPILE = $
6d20: 28 52 43 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d  (RCC) -r.LTLIB =
6d30: 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20   lib.exe.LTLINK 
6d40: 3d 20 24 28 54 43 43 29 20 2d 46 65 24 40 0a 0a  = $(TCC) -Fe$@..
6d50: 23 20 49 66 20 72 65 71 75 65 73 74 65 64 2c 20  # If requested, 
6d60: 6c 69 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52  link to the RPCR
6d70: 54 34 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  T4 library..#.!I
6d80: 46 20 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c  F $(USE_RPCRT4_L
6d90: 49 42 29 21 3d 30 0a 4c 54 4c 49 42 53 20 3d 20  IB)!=0.LTLIBS = 
6da0: 24 28 4c 54 4c 49 42 53 29 20 72 70 63 72 74 34  $(LTLIBS) rpcrt4
6db0: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49  .lib.!ENDIF..# I
6dc0: 66 20 61 20 70 6c 61 74 66 6f 72 6d 20 77 61 73  f a platform was
6dd0: 20 73 65 74 2c 20 66 6f 72 63 65 20 74 68 65 20   set, force the 
6de0: 6c 69 6e 6b 65 72 20 74 6f 20 74 61 72 67 65 74  linker to target
6df0: 20 74 68 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68   that..# Note th
6e00: 61 74 20 74 68 65 20 76 63 76 61 72 73 2a 2e 62  at the vcvars*.b
6e10: 61 74 20 66 61 6d 69 6c 79 20 6f 66 20 62 61 74  at family of bat
6e20: 63 68 20 66 69 6c 65 73 20 74 79 70 69 63 61 6c  ch files typical
6e30: 6c 79 0a 23 20 73 65 74 20 74 68 69 73 20 66 6f  ly.# set this fo
6e40: 72 20 79 6f 75 2e 20 20 4f 74 68 65 72 77 69 73  r you.  Otherwis
6e50: 65 2c 20 74 68 65 20 6c 69 6e 6b 65 72 20 77 69  e, the linker wi
6e60: 6c 6c 20 61 74 74 65 6d 70 74 0a 23 20 74 6f 20  ll attempt.# to 
6e70: 64 65 64 75 63 65 20 74 68 65 20 62 69 6e 61 72  deduce the binar
6e80: 79 20 74 79 70 65 20 62 61 73 65 64 20 6f 6e 20  y type based on 
6e90: 74 68 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 73  the object files
6ea0: 2e 0a 21 49 46 44 45 46 20 50 4c 41 54 46 4f 52  ..!IFDEF PLATFOR
6eb0: 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f  M.LTLINKOPTS = /
6ec0: 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a  NOLOGO /MACHINE:
6ed0: 24 28 50 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49  $(PLATFORM).LTLI
6ee0: 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20  BOPTS = /NOLOGO 
6ef0: 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 46  /MACHINE:$(PLATF
6f00: 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e  ORM).!ELSE.LTLIN
6f10: 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a  KOPTS = /NOLOGO.
6f20: 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c  LTLIBOPTS = /NOL
6f30: 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68  OGO.!ENDIF..# Wh
6f40: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
6f50: 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52   use in the WinR
6f60: 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 74  T environment, t
6f70: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20 6c  he following.# l
6f80: 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20 6d 75 73  inker option mus
6f90: 74 20 62 65 20 75 73 65 64 20 74 6f 20 6d 61 72  t be used to mar
6fa0: 6b 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65  k the executable
6fb0: 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a 23 20 6f   as runnable.# o
6fc0: 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f 6e 74 65  nly in the conte
6fd0: 78 74 20 6f 66 20 61 6e 20 61 70 70 6c 69 63 61  xt of an applica
6fe0: 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65 72 2e 0a  tion container..
6ff0: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52  #.!IF $(FOR_WINR
7000: 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53  T)!=0.LTLINKOPTS
7010: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
7020: 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45 52 0a 21   /APPCONTAINER.!
7030: 49 46 20 22 24 28 56 49 53 55 41 4c 53 54 55 44  IF "$(VISUALSTUD
7040: 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32  IOVERSION)"=="12
7050: 2e 30 22 20 7c 7c 20 22 24 28 56 49 53 55 41 4c  .0" || "$(VISUAL
7060: 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d  STUDIOVERSION)"=
7070: 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44 45 46 20  ="14.0".!IFNDEF 
7080: 53 54 4f 52 45 4c 49 42 50 41 54 48 0a 21 49 46  STORELIBPATH.!IF
7090: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
70a0: 22 78 38 36 22 0a 53 54 4f 52 45 4c 49 42 50 41  "x86".STORELIBPA
70b0: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT
70c0: 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53 45 49 46  H)\store.!ELSEIF
70d0: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
70e0: 22 78 36 34 22 0a 53 54 4f 52 45 4c 49 42 50 41  "x64".STORELIBPA
70f0: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT
7100: 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36 34 0a 21  H)\store\amd64.!
7110: 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f  ELSEIF "$(PLATFO
7120: 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 54 4f 52  RM)"=="ARM".STOR
7130: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54  ELIBPATH = $(CRT
7140: 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61  LIBPATH)\store\a
7150: 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52 45 4c 49  rm.!ELSE.STORELI
7160: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB
7170: 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4e 44  PATH)\store.!END
7180: 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f 52 45 4c  IF.!ENDIF.STOREL
7190: 49 42 50 41 54 48 20 3d 20 24 28 53 54 4f 52 45  IBPATH = $(STORE
71a0: 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c 54  LIBPATH:\\=\).LT
71b0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
71c0: 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41  INKOPTS) "/LIBPA
71d0: 54 48 3a 24 28 53 54 4f 52 45 4c 49 42 50 41 54  TH:$(STORELIBPAT
71e0: 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  H)".!ENDIF.!ENDI
71f0: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c  F..# When compil
7200: 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20  ing for Windows 
7210: 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e 20 65 78  Phone 8.1, an ex
7220: 74 72 61 20 6c 69 62 72 61 72 79 20 70 61 74 68  tra library path
7230: 20 69 73 0a 23 20 72 65 71 75 69 72 65 64 2e 0a   is.# required..
7240: 23 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38 31  #.!IF $(USE_WP81
7250: 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 4e 44 45  _OPTS)!=0.!IFNDE
7260: 46 20 57 50 38 31 4c 49 42 50 41 54 48 0a 21 49  F WP81LIBPATH.!I
7270: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"=
7280: 3d 22 78 38 36 22 0a 57 50 38 31 4c 49 42 50 41  ="x86".WP81LIBPA
7290: 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49  TH = $(PROGRAMFI
72a0: 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73  LES_X86)\Windows
72b0: 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c   Phone Kits\8.1\
72c0: 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45 49 46 20  lib\x86.!ELSEIF 
72d0: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22  "$(PLATFORM)"=="
72e0: 41 52 4d 22 0a 57 50 38 31 4c 49 42 50 41 54 48  ARM".WP81LIBPATH
72f0: 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45   = $(PROGRAMFILE
7300: 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50  S_X86)\Windows P
7310: 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69  hone Kits\8.1\li
7320: 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 50 38 31  b\ARM.!ELSE.WP81
7330: 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47  LIBPATH = $(PROG
7340: 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69  RAMFILES_X86)\Wi
7350: 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73  ndows Phone Kits
7360: 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4e  \8.1\lib\x86.!EN
7370: 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  DIF.!ENDIF.!ENDI
7380: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c  F..# When compil
7390: 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20  ing for Windows 
73a0: 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f 6d 65 20  Phone 8.1, some 
73b0: 65 78 74 72 61 20 6c 69 6e 6b 65 72 20 6f 70 74  extra linker opt
73c0: 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c 73 6f 20  ions.# are also 
73d0: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20  required..#.!IF 
73e0: 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29  $(USE_WP81_OPTS)
73f0: 21 3d 30 0a 21 49 46 44 45 46 20 57 50 38 31 4c  !=0.!IFDEF WP81L
7400: 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54  IBPATH.LTLINKOPT
7410: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7420: 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 57 50  ) "/LIBPATH:$(WP
7430: 38 31 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44  81LIBPATH)".!END
7440: 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  IF.LTLINKOPTS = 
7450: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44  $(LTLINKOPTS) /D
7460: 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54 4c 49 4e  YNAMICBASE.LTLIN
7470: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
7480: 4f 50 54 53 29 20 57 69 6e 64 6f 77 73 50 68 6f  OPTS) WindowsPho
7490: 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75 6e 74 69  neCore.lib Runti
74a0: 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20 50 68 6f  meObject.lib Pho
74b0: 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73 74 2e 6c  neAppModelHost.l
74c0: 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  ib.LTLINKOPTS = 
74d0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e  $(LTLINKOPTS) /N
74e0: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e  ODEFAULTLIB:kern
74f0: 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44 45 46 41  el32.lib /NODEFA
7500: 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69 62  ULTLIB:ole32.lib
7510: 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20  .!ENDIF..# When 
7520: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 55 57  compiling for UW
7530: 50 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73  P or the Windows
7540: 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f   10 platform, so
7550: 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 0a  me extra linker.
7560: 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 61 6c  # options are al
7570: 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  so required..#.!
7580: 49 46 20 24 28 46 4f 52 5f 55 57 50 29 21 3d 30  IF $(FOR_UWP)!=0
7590: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
75a0: 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  !=0.LTLINKOPTS =
75b0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f   $(LTLINKOPTS) /
75c0: 44 59 4e 41 4d 49 43 42 41 53 45 20 2f 4e 4f 44  DYNAMICBASE /NOD
75d0: 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c  EFAULTLIB:kernel
75e0: 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54  32.lib.LTLINKOPT
75f0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7600: 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62 0a 21 49  ) mincore.lib.!I
7610: 46 44 45 46 20 50 53 44 4b 4c 49 42 50 41 54 48  FDEF PSDKLIBPATH
7620: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
7630: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49  LTLINKOPTS) "/LI
7640: 42 50 41 54 48 3a 24 28 50 53 44 4b 4c 49 42 50  BPATH:$(PSDKLIBP
7650: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e  ATH)".!ENDIF.!EN
7660: 44 49 46 0a 0a 21 49 46 20 24 28 46 4f 52 5f 57  DIF..!IF $(FOR_W
7670: 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f  IN10)!=0.LTLINKO
7680: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
7690: 54 53 29 20 2f 67 75 61 72 64 3a 63 66 20 22 2f  TS) /guard:cf "/
76a0: 4c 49 42 50 41 54 48 3a 24 28 55 43 52 54 4c 49  LIBPATH:$(UCRTLI
76b0: 42 50 41 54 48 29 22 0a 21 49 46 20 24 28 44 45  BPATH)".!IF $(DE
76c0: 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54  BUG)>1.LTLINKOPT
76d0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
76e0: 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a  ) /NODEFAULTLIB:
76f0: 6c 69 62 75 63 72 74 64 2e 6c 69 62 20 2f 44 45  libucrtd.lib /DE
7700: 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c  FAULTLIB:ucrtd.l
7710: 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f  ib.!ELSE.LTLINKO
7720: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
7730: 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49  TS) /NODEFAULTLI
7740: 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62 20 2f 44  B:libucrt.lib /D
7750: 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c  EFAULTLIB:ucrt.l
7760: 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  ib.!ENDIF.!ENDIF
7770: 0a 0a 23 20 49 66 20 65 69 74 68 65 72 20 64 65  ..# If either de
7780: 62 75 67 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f  bugging or symbo
7790: 6c 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2c 20  ls are enabled, 
77a0: 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21  enable PDBs..#.!
77b0: 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c  IF $(DEBUG)>1 ||
77c0: 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c   $(SYMBOLS)!=0.L
77d0: 44 46 4c 41 47 53 20 3d 20 2f 44 45 42 55 47 20  DFLAGS = /DEBUG 
77e0: 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a  $(LDOPTS).!ELSE.
77f0: 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50  LDFLAGS = $(LDOP
7800: 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c  TS).!ENDIF..# <<
7810: 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77  mark>>.# Start w
7820: 69 74 68 20 74 68 65 20 54 63 6c 20 72 65 6c 61  ith the Tcl rela
7830: 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  ted linker optio
7840: 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54  ns..#.!IF $(NO_T
7850: 43 4c 29 3d 3d 30 0a 54 43 4c 4c 49 42 50 41 54  CL)==0.TCLLIBPAT
7860: 48 53 20 3d 20 24 28 54 43 4c 4c 49 42 50 41 54  HS = $(TCLLIBPAT
7870: 48 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 54  HS) /LIBPATH:$(T
7880: 43 4c 4c 49 42 44 49 52 29 0a 54 43 4c 4c 49 42  CLLIBDIR).TCLLIB
7890: 53 20 3d 20 24 28 54 43 4c 4c 49 42 53 29 20 24  S = $(TCLLIBS) $
78a0: 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a  (LIBTCL).!ENDIF.
78b0: 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f  .# If zlib suppo
78c0: 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61  rt is enabled, a
78d0: 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70  dd the linker op
78e0: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a  tions for it..#.
78f0: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21  !IF $(USE_ZLIB)!
7900: 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d 20  =0.LTLIBPATHS = 
7910: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4c  $(LTLIBPATHS) /L
7920: 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42  IBPATH:$(ZLIBLIB
7930: 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28  DIR).LTLIBS = $(
7940: 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49 42 4c 49  LTLIBS) $(ZLIBLI
7950: 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20  B).!ENDIF..# If 
7960: 49 43 55 20 73 75 70 70 6f 72 74 20 69 73 20 65  ICU support is e
7970: 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20  nabled, add the 
7980: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 66  linker options f
7990: 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55  or it..#.!IF $(U
79a0: 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54 4c 49 42  SE_ICU)!=0.LTLIB
79b0: 50 41 54 48 53 20 3d 20 24 28 4c 54 4c 49 42 50  PATHS = $(LTLIBP
79c0: 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48 3a 24  ATHS) /LIBPATH:$
79d0: 28 49 43 55 4c 49 42 44 49 52 29 0a 4c 54 4c 49  (ICULIBDIR).LTLI
79e0: 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 24  BS = $(LTLIBS) $
79f0: 28 4c 49 42 49 43 55 29 0a 21 45 4e 44 49 46 0a  (LIBICU).!ENDIF.
7a00: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 59  # <</mark>>..# Y
7a10: 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 68 61  ou should not ha
7a20: 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61 6e 79  ve to change any
7a30: 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68 69 73  thing below this
7a40: 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 23 23 23   line.##########
7a50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a90: 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  #####..# <<mark>
7aa0: 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65 73  >.# Object files
7ab0: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
7ac0: 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d 61 6d 61  library (non-ama
7ad0: 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 4c 49  lgamation)..#.LI
7ae0: 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 2e 6c 6f  BOBJS0 = vdbe.lo
7af0: 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 65 72 2e   parse.lo alter.
7b00: 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74  lo analyze.lo at
7b10: 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20  tach.lo auth.lo 
7b20: 5c 0a 20 20 20 20 20 20 20 20 20 62 61 63 6b 75  \.         backu
7b30: 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c 6f 20 62  p.lo bitvec.lo b
7b40: 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 65 65 2e  tmutex.lo btree.
7b50: 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20  lo build.lo \.  
7b60: 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 2e         callback.
7b70: 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63  lo complete.lo c
7b80: 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  time.lo \.      
7b90: 20 20 20 64 61 74 65 2e 6c 6f 20 64 62 70 61 67     date.lo dbpag
7ba0: 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64  e.lo dbstat.lo d
7bb0: 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20  elete.lo \.     
7bc0: 20 20 20 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c      expr.lo faul
7bd0: 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20  t.lo fkey.lo \. 
7be0: 20 20 20 20 20 20 20 20 66 74 73 33 2e 6c 6f 20          fts3.lo 
7bf0: 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33  fts3_aux.lo fts3
7c00: 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61  _expr.lo fts3_ha
7c10: 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c  sh.lo fts3_icu.l
7c20: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73  o \.         fts
7c30: 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33  3_porter.lo fts3
7c40: 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66 74 73 33  _snippet.lo fts3
7c50: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74  _tokenizer.lo ft
7c60: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f  s3_tokenizer1.lo
7c70: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33   \.         fts3
7c80: 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c  _tokenize_vtab.l
7c90: 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c  o fts3_unicode.l
7ca0: 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  o fts3_unicode2.
7cb0: 6c 6f 20 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f  lo fts3_write.lo
7cc0: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 35   \.         fts5
7cd0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
7ce0: 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f  unc.lo global.lo
7cf0: 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20   hash.lo \.     
7d00: 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72      icu.lo inser
7d10: 74 2e 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c  t.lo legacy.lo l
7d20: 6f 61 64 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20  oadext.lo \.    
7d30: 20 20 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c       main.lo mal
7d40: 6c 6f 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d  loc.lo mem0.lo m
7d50: 65 6d 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d  em1.lo mem2.lo m
7d60: 65 6d 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c  em3.lo mem5.lo \
7d70: 0a 20 20 20 20 20 20 20 20 20 6d 65 6d 6a 6f 75  .         memjou
7d80: 72 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  rnal.lo \.      
7d90: 20 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65     mutex.lo mute
7da0: 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f  x_noop.lo mutex_
7db0: 75 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33  unix.lo mutex_w3
7dc0: 32 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  2.lo \.         
7dd0: 6e 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65  notify.lo opcode
7de0: 73 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e  s.lo os.lo os_un
7df0: 69 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20  ix.lo os_win.lo 
7e00: 5c 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 72  \.         pager
7e10: 2e 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20 70 63  .lo pcache.lo pc
7e20: 61 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e  ache1.lo pragma.
7e30: 6c 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20 70 72  lo prepare.lo pr
7e40: 69 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  intf.lo \.      
7e50: 20 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73     random.lo res
7e60: 6f 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c  olve.lo rowset.l
7e70: 6f 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20 20 20  o rtree.lo \.   
7e80: 20 20 20 20 20 20 73 71 6c 69 74 65 33 73 65 73        sqlite3ses
7e90: 73 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c  sion.lo select.l
7ea0: 6f 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20  o sqlite3rbu.lo 
7eb0: 73 74 61 74 75 73 2e 6c 6f 20 5c 0a 20 20 20 20  status.lo \.    
7ec0: 20 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68       table.lo th
7ed0: 72 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a  reads.lo tokeniz
7ee0: 65 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f  e.lo treeview.lo
7ef0: 20 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20   trigger.lo \.  
7f00: 20 20 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f         update.lo
7f10: 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e   util.lo vacuum.
7f20: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64  lo \.         vd
7f30: 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78  beapi.lo vdbeaux
7f40: 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20  .lo vdbeblob.lo 
7f50: 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73  vdbemem.lo vdbes
7f60: 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ort.lo \.       
7f70: 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77    vdbetrace.lo w
7f80: 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20  al.lo walker.lo 
7f90: 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f  where.lo whereco
7fa0: 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72 2e  de.lo whereexpr.
7fb0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 74  lo \.         ut
7fc0: 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 3c  f.lo vtab.lo.# <
7fd0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65  </mark>>..# Obje
7fe0: 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65  ct files for the
7ff0: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
8000: 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c 69  .LIBOBJS1 = sqli
8010: 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 6d  te3.lo..# Determ
8020: 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61 6c  ine the real val
8030: 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61 73  ue of LIBOBJ bas
8040: 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66 69  ed on the 'confi
8050: 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a 23  gure' script.#.#
8060: 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 28   <<mark>>.!IF $(
8070: 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  USE_AMALGAMATION
8080: 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24 28  )==0.LIBOBJ = $(
8090: 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45 0a  LIBOBJS0).!ELSE.
80a0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f  # <</mark>>.LIBO
80b0: 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31 29  BJ = $(LIBOBJS1)
80c0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44  .# <<mark>>.!END
80d0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
80e0: 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20 65  # Determine if e
80f0: 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72 63 65  mbedded resource
8100: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64   compilation and
8110: 20 75 73 61 67 65 20 61 72 65 20 65 6e 61 62 6c   usage are enabl
8120: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ed..#.!IF $(USE_
8130: 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42 4a  RC)!=0.LIBRESOBJ
8140: 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e 6c  S = sqlite3res.l
8150: 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f 42  o.!ELSE.LIBRESOB
8160: 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  JS =.!ENDIF..# <
8170: 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20 73  <mark>>.# Core s
8180: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73  ource code files
8190: 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30  , part 1..#.SRC0
81a0: 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  0 = \.  $(TOP)\s
81b0: 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20 24  rc\alter.c \.  $
81c0: 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a  (TOP)\src\analyz
81d0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
81e0: 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20 20  rc\attach.c \.  
81f0: 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e  $(TOP)\src\auth.
8200: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8210: 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28  \backup.c \.  $(
8220: 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e  TOP)\src\bitvec.
8230: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8240: 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24  \btmutex.c \.  $
8250: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
8260: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8270: 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54  \build.c \.  $(T
8280: 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b  OP)\src\callback
8290: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
82a0: 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a 20  c\complete.c \. 
82b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d   $(TOP)\src\ctim
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 64 61 74 65 2e 63 20 5c 0a 20 20 24 28  rc\date.c \.  $(
82e0: 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65 2e  TOP)\src\dbpage.
82f0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8300: 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20 24 28  \dbstat.c \.  $(
8310: 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e  TOP)\src\delete.
8320: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8330: 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f  \expr.c \.  $(TO
8340: 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 5c  P)\src\fault.c \
8350: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b  .  $(TOP)\src\fk
8360: 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ey.c \.  $(TOP)\
8370: 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 20 24  src\func.c \.  $
8380: 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c  (TOP)\src\global
8390: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
83a0: 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54  c\hash.c \.  $(T
83b0: 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63  OP)\src\insert.c
83c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
83d0: 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24 28 54  legacy.c \.  $(T
83e0: 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e  OP)\src\loadext.
83f0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8400: 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f  \main.c \.  $(TO
8410: 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20  P)\src\malloc.c 
8420: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
8430: 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  em0.c \.  $(TOP)
8440: 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20 20  \src\mem1.c \.  
8450: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e  $(TOP)\src\mem2.
8460: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8470: 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28 54 4f  \mem3.c \.  $(TO
8480: 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c 0a  P)\src\mem5.c \.
8490: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem
84a0: 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28  journal.c \.  $(
84b0: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63  TOP)\src\mutex.c
84c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
84d0: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20  mutex_noop.c \. 
84e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
84f0: 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54  x_unix.c \.  $(T
8500: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33  OP)\src\mutex_w3
8510: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  2.c \.  $(TOP)\s
8520: 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a 20 20  rc\notify.c \.  
8530: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20  $(TOP)\src\os.c 
8540: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o
8550: 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54  s_unix.c \.  $(T
8560: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63  OP)\src\os_win.c
8570: 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20  ..# Core source 
8580: 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74  code files, part
8590: 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20 5c 0a   2..#.SRC01 = \.
85a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag
85b0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
85c0: 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c 0a 20  src\pcache.c \. 
85d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
85e0: 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  he1.c \.  $(TOP)
85f0: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 5c 0a  \src\pragma.c \.
8600: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65    $(TOP)\src\pre
8610: 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pare.c \.  $(TOP
8620: 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 5c  )\src\printf.c \
8630: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61  .  $(TOP)\src\ra
8640: 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ndom.c \.  $(TOP
8650: 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20  )\src\resolve.c 
8660: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72  \.  $(TOP)\src\r
8670: 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f  owset.c \.  $(TO
8680: 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20  P)\src\select.c 
8690: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
86a0: 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 28 54 4f  tatus.c \.  $(TO
86b0: 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 5c  P)\src\table.c \
86c0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 68  .  $(TOP)\src\th
86d0: 72 65 61 64 73 2e 63 20 5c 0a 20 20 24 28 54 4f  reads.c \.  $(TO
86e0: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
86f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8700: 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20  c\tokenize.c \. 
8710: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65   $(TOP)\src\tree
8720: 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50  view.c \.  $(TOP
8730: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20  )\src\trigger.c 
8740: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75  \.  $(TOP)\src\u
8750: 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  tf.c \.  $(TOP)\
8760: 73 72 63 5c 75 70 64 61 74 65 2e 63 20 5c 0a 20  src\update.c \. 
8770: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c   $(TOP)\src\util
8780: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8790: 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24  c\vacuum.c \.  $
87a0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
87b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
87c0: 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28  vdbeapi.c \.  $(
87d0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
87e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
87f0: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20  c\vdbeblob.c \. 
8800: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8810: 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mem.c \.  $(TOP)
8820: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20  \src\vdbesort.c 
8830: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
8840: 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24  dbetrace.c \.  $
8850: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63  (TOP)\src\vtab.c
8860: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8870: 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  wal.c \.  $(TOP)
8880: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a  \src\walker.c \.
8890: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65    $(TOP)\src\whe
88a0: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\
88b0: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20  src\wherecode.c 
88c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
88d0: 68 65 72 65 65 78 70 72 2e 63 0a 0a 23 20 43 6f  hereexpr.c..# Co
88e0: 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 73  re miscellaneous
88f0: 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30 33 20   files..#.SRC03 
8900: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  = \.  $(TOP)\src
8910: 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f 72 65  \parse.y..# Core
8920: 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70   header files, p
8930: 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34 20 3d  art 1..#.SRC04 =
8940: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8950: 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f  btree.h \.  $(TO
8960: 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e  P)\src\btreeInt.
8970: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8980: 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  \hash.h \.  $(TO
8990: 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68 20  P)\src\hwtime.h 
89a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
89b0: 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  svc.h \.  $(TOP)
89c0: 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20  \src\mutex.h \. 
89d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68   $(TOP)\src\os.h
89e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
89f0: 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20  os_common.h \.  
8a00: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65  $(TOP)\src\os_se
8a10: 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  tup.h \.  $(TOP)
8a20: 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a 0a 23  \src\os_win.h..#
8a30: 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 69 6c   Core header fil
8a40: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52  es, part 2..#.SR
8a50: 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C05 = \.  $(TOP)
8a60: 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a 20  \src\pager.h \. 
8a70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
8a80: 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  he.h \.  $(TOP)\
8a90: 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a 20  src\pragma.h \. 
8aa0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69   $(TOP)\src\sqli
8ab0: 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 54 4f  te.h.in \.  $(TO
8ac0: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 65 78  P)\src\sqlite3ex
8ad0: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
8ae0: 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c  rc\sqliteInt.h \
8af0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  .  $(TOP)\src\sq
8b00: 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20  liteLimit.h \.  
8b10: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe.
8b20: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8b30: 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20 24  \vdbeInt.h \.  $
8b40: 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b  (TOP)\src\vxwork
8b50: 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.h \.  $(TOP)\s
8b60: 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24 28 54  rc\wal.h \.  $(T
8b70: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74  OP)\src\whereInt
8b80: 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20  .h..# Extension 
8b90: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
8ba0: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43  s, part 1..#.SRC
8bb0: 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  06 = \.  $(TOP)\
8bc0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 63 20  ext\fts1\fts1.c 
8bd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8be0: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 63 20  ts1\fts1_hash.c 
8bf0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8c00: 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65 72 2e  ts1\fts1_porter.
8c10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8c20: 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e  \fts1\fts1_token
8c30: 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 54 4f  izer1.c \.  $(TO
8c40: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
8c50: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8c60: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68  t\fts2\fts2_hash
8c70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8c80: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e  t\fts2\fts2_icu.
8c90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8ca0: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65  \fts2\fts2_porte
8cb0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
8cc0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
8cd0: 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54  enizer.c \.  $(T
8ce0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
8cf0: 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a  2_tokenizer1.c..
8d00: 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72  # Extension sour
8d10: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70  ce code files, p
8d20: 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37 20 3d  art 2..#.SRC07 =
8d30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8d40: 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a 20 20  fts3\fts3.c \.  
8d50: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8d60: 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20 20 24  fts3_aux.c \.  $
8d70: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8d80: 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20 20 24  ts3_expr.c \.  $
8d90: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8da0: 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24  ts3_hash.c \.  $
8db0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8dc0: 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28  ts3_icu.c \.  $(
8dd0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8de0: 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s3_porter.c \.  
8df0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8e00: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 5c  fts3_snippet.c \
8e10: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8e20: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
8e30: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
8e40: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
8e50: 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28  enizer1.c \.  $(
8e60: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8e70: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
8e80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8e90: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
8ea0: 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ode.c \.  $(TOP)
8eb0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75  \ext\fts3\fts3_u
8ec0: 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 24 28  nicode2.c \.  $(
8ed0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8ee0: 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20 20 24  s3_write.c \.  $
8ef0: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63  (TOP)\ext\icu\ic
8f00: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e
8f10: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
8f20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8f30: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
8f40: 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24 28 54  ession.c \.  $(T
8f50: 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69  OP)\ext\rbu\sqli
8f60: 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24 28 54  te3rbu.c \.  $(T
8f70: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f  OP)\ext\misc\jso
8f80: 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  n1.c \.  $(TOP)\
8f90: 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a  ext\misc\stmt.c.
8fa0: 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61  .# Extension hea
8fb0: 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20  der files, part 
8fc0: 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a 20  1..#.SRC08 = \. 
8fd0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1
8fe0: 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts1.h \.  $(TO
8ff0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
9000: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
9010: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
9020: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20  _tokenizer.h \. 
9030: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
9040: 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts2.h \.  $(TO
9050: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
9060: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
9070: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
9080: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23 20  _tokenizer.h..# 
9090: 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72  Extension header
90a0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a   files, part 2..
90b0: 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20 24 28  #.SRC09 = \.  $(
90c0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
90d0: 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s3.h \.  $(TOP)\
90e0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74  ext\fts3\fts3Int
90f0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
9100: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
9110: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
9120: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
9130: 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f  nizer.h \.  $(TO
9140: 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74  P)\ext\icu\sqlit
9150: 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eicu.h \.  $(TOP
9160: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65  )\ext\rtree\rtre
9170: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.h \.  $(TOP)\e
9180: 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62  xt\rbu\sqlite3rb
9190: 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.h \.  $(TOP)\e
91a0: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
91b0: 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 47  e3session.h..# G
91c0: 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65 20  enerated source 
91d0: 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43  code files.#.SRC
91e0: 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 73  10 = \.  opcodes
91f0: 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a 0a  .c \.  parse.c..
9200: 23 20 47 65 6e 65 72 61 74 65 64 20 68 65 61 64  # Generated head
9210: 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 31  er files.#.SRC11
9220: 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61   = \.  keywordha
9230: 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73  sh.h \.  opcodes
9240: 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 5c  .h \.  parse.h \
9250: 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 24  .  shell.c \.  $
9260: 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20 47 65  (SQLITE3H)..# Ge
9270: 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65 61 64  nerated Tcl head
9280: 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46 20 24  er files.#.!IF $
9290: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
92a0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
92b0: 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a 20 20  !=0.SRC12 = \.  
92c0: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 5c 0a  $(SQLITETCLH) \.
92d0: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43    $(SQLITETCLDEC
92e0: 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43 31 32  LSH).!ELSE.SRC12
92f0: 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 6c   =.!ENDIF..# All
9300: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
9310: 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52  es..#.SRC = $(SR
9320: 43 30 30 29 20 24 28 53 52 43 30 31 29 20 24 28  C00) $(SRC01) $(
9330: 53 52 43 30 33 29 20 24 28 53 52 43 30 34 29 20  SRC03) $(SRC04) 
9340: 24 28 53 52 43 30 35 29 20 24 28 53 52 43 30 36  $(SRC05) $(SRC06
9350: 29 20 24 28 53 52 43 30 37 29 20 24 28 53 52 43  ) $(SRC07) $(SRC
9360: 30 38 29 20 24 28 53 52 43 30 39 29 20 24 28 53  08) $(SRC09) $(S
9370: 52 43 31 30 29 20 24 28 53 52 43 31 31 29 0a 0a  RC10) $(SRC11)..
9380: 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f  # Source code to
9390: 20 74 68 65 20 74 65 73 74 20 66 69 6c 65 73 2e   the test files.
93a0: 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c 0a 20  .#.TESTSRC = \. 
93b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
93c0: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  1.c \.  $(TOP)\s
93d0: 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20 20 24  rc\test2.c \.  $
93e0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 33 2e  (TOP)\src\test3.
93f0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9400: 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24 28 54  \test4.c \.  $(T
9410: 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e 63 20  OP)\src\test5.c 
9420: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9430: 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est6.c \.  $(TOP
9440: 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20 5c 0a  )\src\test7.c \.
9450: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9460: 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t8.c \.  $(TOP)\
9470: 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a 20 20  src\test9.c \.  
9480: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9490: 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20 24 28  autoext.c \.  $(
94a0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 73  TOP)\src\test_as
94b0: 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ync.c \.  $(TOP)
94c0: 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b 75 70  \src\test_backup
94d0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
94e0: 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64 65 78  c\test_bestindex
94f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9500: 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20 5c 0a  c\test_blob.c \.
9510: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9520: 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  t_btree.c \.  $(
9530: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 63 6f  TOP)\src\test_co
9540: 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54 4f 50  nfig.c \.  $(TOP
9550: 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c 65 74  )\src\test_delet
9560: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
9570: 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73 2e  rc\test_demovfs.
9580: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9590: 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63 20 5c  \test_devsym.c \
95a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
95b0: 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f  st_fs.c \.  $(TO
95c0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75 6e 63  P)\src\test_func
95d0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
95e0: 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63 20 5c  c\test_hexio.c \
95f0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9600: 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 24 28  st_init.c \.  $(
9610: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e  TOP)\src\test_in
9620: 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54  tarray.c \.  $(T
9630: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a 6f 75  OP)\src\test_jou
9640: 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rnal.c \.  $(TOP
9650: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c 6c 6f  )\src\test_mallo
9660: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s
9670: 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20 5c 0a  rc\test_md5.c \.
9680: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9690: 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c 0a  t_multiplex.c \.
96a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
96b0: 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28  t_mutex.c \.  $(
96c0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 6e  TOP)\src\test_on
96d0: 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f  efile.c \.  $(TO
96e0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69 6e  P)\src\test_osin
96f0: 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  st.c \.  $(TOP)\
9700: 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 2e  src\test_pcache.
9710: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9720: 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c 0a  \test_quota.c \.
9730: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9740: 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  t_rtree.c \.  $(
9750: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 63  TOP)\src\test_sc
9760: 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50  hema.c \.  $(TOP
9770: 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 65  )\src\test_serve
9780: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
9790: 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f 63  rc\test_superloc
97a0: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  k.c \.  $(TOP)\s
97b0: 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c 2e  rc\test_syscall.
97c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
97d0: 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20 5c 0a  \test_tclsh.c \.
97e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
97f0: 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20 24  t_tclvar.c \.  $
9800: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74  (TOP)\src\test_t
9810: 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 54 4f  hread.c \.  $(TO
9820: 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e  P)\src\test_vfs.
9830: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9840: 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e  \test_windirent.
9850: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
9860: 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a 20 20  \test_wsd.c \.  
9870: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9880: 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a 20 20  fts3_term.c \.  
9890: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
98a0: 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a 20 20  fts3_test.c \.  
98b0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 74  $(TOP)\ext\rbu\t
98c0: 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20 24 28  est_rbu.c \.  $(
98d0: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
98e0: 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e 63 0a  \test_session.c.
98f0: 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20 6c 69  .# Statically li
9900: 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e 73 2e  nked extensions.
9910: 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c 0a 20  .#.TESTEXT = \. 
9920: 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65   $(TOP)\ext\expe
9930: 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74  rt\sqlite3expert
9940: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9950: 74 5c 65 78 70 65 72 74 5c 74 65 73 74 5f 65 78  t\expert\test_ex
9960: 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pert.c \.  $(TOP
9970: 29 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61 74 63  )\ext\misc\amatc
9980: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.c \.  $(TOP)\e
9990: 78 74 5c 6d 69 73 63 5c 63 61 72 72 61 79 2e 63  xt\misc\carray.c
99a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
99b0: 6d 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63 20 5c  misc\closure.c \
99c0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
99d0: 73 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24 28 54  sc\csv.c \.  $(T
99e0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 76 61  OP)\ext\misc\eva
99f0: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  l.c \.  $(TOP)\e
9a00: 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63  xt\misc\fileio.c
9a10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9a20: 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a  misc\fuzzer.c \.
9a30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9a40: 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20  5\fts5_tcl.c \. 
9a50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
9a60: 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20  \fts5_test_mi.c 
9a70: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9a80: 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f  ts5\fts5_test_to
9a90: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  k.c \.  $(TOP)\e
9aa0: 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35 34 2e  xt\misc\ieee754.
9ab0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9ac0: 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d 2e 63  \misc\mmapwarm.c
9ad0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9ae0: 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e 63 20  misc\nextchar.c 
9af0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9b00: 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63  isc\percentile.c
9b10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9b20: 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a  misc\regexp.c \.
9b30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9b40: 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c 0a 20  c\remember.c \. 
9b50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9b60: 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24 28  \series.c \.  $(
9b70: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70  TOP)\ext\misc\sp
9b80: 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28 54  ellfix.c \.  $(T
9b90: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74  OP)\ext\misc\tot
9ba0: 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ype.c \.  $(TOP)
9bb0: 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f 6e 76  \ext\misc\unionv
9bc0: 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tab.c \.  $(TOP)
9bd0: 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e  \ext\misc\wholen
9be0: 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20 75 73  umber.c..# If us
9bf0: 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e 61  e of zlib is ena
9c00: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 22 7a  bled, add the "z
9c10: 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 63 65  ipfile.c" source
9c20: 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55   file..#.!IF $(U
9c30: 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45 53 54  SE_ZLIB)!=0.TEST
9c40: 45 58 54 20 3d 20 24 28 54 45 53 54 45 58 54 29  EXT = $(TESTEXT)
9c50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9c60: 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49  \zipfile.c.!ENDI
9c70: 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65  F..# Source code
9c80: 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 20   to the library 
9c90: 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79 20  files needed by 
9ca0: 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65  the test fixture
9cb0: 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61  .# (non-amalgama
9cc0: 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43 32  tion).#.TESTSRC2
9cd0: 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29 20   = \.  $(SRC00) 
9ce0: 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a 20  \.  $(SRC01) \. 
9cf0: 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24 28   $(SRC06) \.  $(
9d00: 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52 43  SRC07) \.  $(SRC
9d10: 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  10) \.  $(TOP)\e
9d20: 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65 33  xt\async\sqlite3
9d30: 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64 65  async.c..# Heade
9d40: 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20  r files used by 
9d50: 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75 72  all library sour
9d60: 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20  ce files..#.HDR 
9d70: 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  = \.   $(TOP)\sr
9d80: 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20 24  c\btree.h \.   $
9d90: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49  (TOP)\src\btreeI
9da0: 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  nt.h \.   $(TOP)
9db0: 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20  \src\hash.h \.  
9dc0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69   $(TOP)\src\hwti
9dd0: 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f 72  me.h \.   keywor
9de0: 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54  dhash.h \.   $(T
9df0: 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c  OP)\src\msvc.h \
9e00: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  .   $(TOP)\src\m
9e10: 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63 6f  utex.h \.   opco
9e20: 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  des.h \.   $(TOP
9e30: 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 20  )\src\os.h \.   
9e40: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f  $(TOP)\src\os_co
9e50: 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f  mmon.h \.   $(TO
9e60: 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e  P)\src\os_setup.
9e70: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
9e80: 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20  c\os_win.h \.   
9e90: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager
9ea0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
9eb0: 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20  rc\pcache.h \.  
9ec0: 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28   parse.h \.   $(
9ed0: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e  TOP)\src\pragma.
9ee0: 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45 33  h \.   $(SQLITE3
9ef0: 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 33 65  H) \.   sqlite3e
9f00: 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  xt.h \.   $(TOP)
9f10: 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68  \src\sqliteInt.h
9f20: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9f30: 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c  \sqliteLimit.h \
9f40: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  .   $(TOP)\src\v
9f50: 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  dbe.h \.   $(TOP
9f60: 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20  )\src\vdbeInt.h 
9f70: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
9f80: 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24  vxworks.h \.   $
9f90: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49  (TOP)\src\whereI
9fa0: 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20 66  nt.h..# Header f
9fb0: 69 6c 65 73 20 75 73 65 64 20 62 79 20 65 78 74  iles used by ext
9fc0: 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52  ensions.#.EXTHDR
9fd0: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. 
9fe0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1
9ff0: 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts1.h \.  $(TO
a000: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
a010: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
a020: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
a030: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54  _tokenizer.h.EXT
a040: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) 
a050: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
a060: 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24  ts2\fts2.h \.  $
a070: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
a080: 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts2_hash.h \.  $
a090: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
a0a0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a  ts2_tokenizer.h.
a0b0: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD
a0c0: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  R) \.  $(TOP)\ex
a0d0: 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a  t\fts3\fts3.h \.
a0e0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
a0f0: 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20  3\fts3Int.h \.  
a100: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
a110: 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20  fts3_hash.h \.  
a120: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
a130: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts3_tokenizer.h
a140: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
a150: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
a160: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 68  xt\rtree\rtree.h
a170: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
a180: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
a190: 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75  xt\icu\sqliteicu
a1a0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX
a1b0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
a1c0: 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 74  \ext\rtree\sqlit
a1d0: 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52  e3rtree.h.EXTHDR
a1e0: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. 
a1f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess
a200: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
a210: 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 62  on.h..# executab
a220: 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74  les needed for t
a230: 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 4f  esting.#.TESTPRO
a240: 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 78  GS = \.  testfix
a250: 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 53  ture.exe \.  $(S
a260: 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20 73  QLITE3EXE) \.  s
a270: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
a280: 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f  exe \.  sqlite3_
a290: 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20 20  checker.exe \.  
a2a0: 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20 20  sqldiff.exe \.  
a2b0: 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20 20 73  dbhash.exe \.  s
a2c0: 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20 44  qltclsh.exe..# D
a2d0: 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69 6e  atabases contain
a2e0: 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74 20  ing fuzzer test 
a2f0: 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54 41  cases.#.FUZZDATA
a300: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65   = \.  $(TOP)\te
a310: 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 20  st\fuzzdata1.db 
a320: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\
a330: 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a 20  fuzzdata2.db \. 
a340: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a   $(TOP)\test\fuz
a350: 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 28  zdata3.db \.  $(
a360: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61  TOP)\test\fuzzda
a370: 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50  ta4.db \.  $(TOP
a380: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 35  )\test\fuzzdata5
a390: 2e 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  .db.# <</mark>>.
a3a0: 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f  .# Additional co
a3b0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66  mpiler options f
a3c0: 6f 72 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54  or the shell.  T
a3d0: 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66  hese are only ef
a3e0: 66 65 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74  fective.# when t
a3f0: 68 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20  he shell is not 
a400: 62 65 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c  being dynamicall
a410: 79 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20  y linked..#.!IF 
a420: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
a430: 3d 3d 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e  ==0 && $(FOR_WIN
a440: 31 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)==0.SHELL_COM
a450: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
a460: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a470: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
a480: 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45  E_JSON1 -DSQLITE
a490: 5f 45 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 53  _ENABLE_FTS4 -DS
a4a0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50  QLITE_ENABLE_EXP
a4b0: 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 20 2d 44  LAIN_COMMENTS -D
a4c0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54  SQLITE_ENABLE_ST
a4d0: 4d 54 56 54 41 42 0a 53 48 45 4c 4c 5f 43 4f 4d  MTVTAB.SHELL_COM
a4e0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
a4f0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a500: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
a510: 45 5f 44 42 50 41 47 45 5f 56 54 41 42 20 2d 44  E_DBPAGE_VTAB -D
a520: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42  SQLITE_ENABLE_DB
a530: 53 54 41 54 5f 56 54 41 42 0a 53 48 45 4c 4c 5f  STAT_VTAB.SHELL_
a540: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $
a550: 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  (SHELL_COMPILE_O
a560: 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  PTS) -DSQLITE_EN
a570: 41 42 4c 45 5f 4f 46 46 53 45 54 5f 53 51 4c 5f  ABLE_OFFSET_SQL_
a580: 46 55 4e 43 20 2d 44 53 51 4c 49 54 45 5f 49 4e  FUNC -DSQLITE_IN
a590: 54 52 4f 53 50 45 43 54 49 4f 4e 5f 50 52 41 47  TROSPECTION_PRAG
a5a0: 4d 41 53 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c  MAS.!ENDIF..# <<
a5b0: 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20 63  mark>>.# Extra c
a5c0: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
a5d0: 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65 73 74  for various test
a5e0: 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53 54   tools..#.MPTEST
a5f0: 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  ER_COMPILE_OPTS 
a600: 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  = -DSQLITE_ENABL
a610: 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45  E_JSON1 -DSQLITE
a620: 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55 5a  _ENABLE_FTS5.FUZ
a630: 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  ZERSHELL_COMPILE
a640: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
a650: 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55  _ENABLE_JSON1.FU
a660: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f  ZZCHECK_COMPILE_
a670: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
a680: 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53  ENABLE_JSON1 -DS
a690: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d  QLITE_ENABLE_MEM
a6a0: 53 59 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f 53  SYS5 -DSQLITE_OS
a6b0: 53 5f 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45 5f  S_FUZZ -DSQLITE_
a6c0: 4d 41 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30 30  MAX_MEMORY=50000
a6d0: 30 30 30 0a 46 55 5a 5a 43 48 45 43 4b 5f 53 52  000.FUZZCHECK_SR
a6e0: 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  C = $(TOP)\test\
a6f0: 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 54 4f  fuzzcheck.c $(TO
a700: 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e  P)\test\ossfuzz.
a710: 63 0a 4f 53 53 53 48 45 4c 4c 5f 53 52 43 20 3d  c.OSSSHELL_SRC =
a720: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73   $(TOP)\test\oss
a730: 73 68 65 6c 6c 2e 63 20 24 28 54 4f 50 29 5c 74  shell.c $(TOP)\t
a740: 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 44 42  est\ossfuzz.c.DB
a750: 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  FUZZ_COMPILE_OPT
a760: 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  S = -DSQLITE_THR
a770: 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
a780: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
a790: 45 4e 53 49 4f 4e 0a 4b 56 5f 43 4f 4d 50 49 4c  ENSION.KV_COMPIL
a7a0: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
a7b0: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
a7c0: 44 53 51 4c 49 54 45 5f 44 49 52 45 43 54 5f 4f  DSQLITE_DIRECT_O
a7d0: 56 45 52 46 4c 4f 57 5f 52 45 41 44 0a 44 42 53  VERFLOW_READ.DBS
a7e0: 45 4c 46 54 45 53 54 5f 43 4f 4d 50 49 4c 45 5f  ELFTEST_COMPILE_
a7f0: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
a800: 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
a810: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
a820: 45 58 54 45 4e 53 49 4f 4e 20 2d 44 53 51 4c 49  EXTENSION -DSQLI
a830: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 20  TE_ENABLE_RTREE 
a840: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
a850: 46 54 53 34 20 2d 44 53 51 4c 49 54 45 5f 45 4e  FTS4 -DSQLITE_EN
a860: 41 42 4c 45 5f 46 54 53 35 0a 53 54 5f 43 4f 4d  ABLE_FTS5.ST_COM
a870: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51  PILE_OPTS = -DSQ
a880: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
a890: 30 0a 0a 23 20 53 74 61 6e 64 61 72 64 20 6f 70  0..# Standard op
a8a0: 74 69 6f 6e 73 20 74 6f 20 74 65 73 74 66 69 78  tions to testfix
a8b0: 74 75 72 65 2e 0a 23 0a 54 45 53 54 4f 50 54 53  ture..#.TESTOPTS
a8c0: 20 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66 69 6c   = --verbose=fil
a8d0: 65 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73 74 2d  e --output=test-
a8e0: 6f 75 74 2e 74 78 74 0a 0a 23 20 45 78 74 72 61  out.txt..# Extra
a8f0: 20 74 61 72 67 65 74 73 20 66 6f 72 20 74 68 65   targets for the
a900: 20 22 61 6c 6c 22 20 74 61 72 67 65 74 20 74 68   "all" target th
a910: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 2e 0a  at require Tcl..
a920: 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d  #.!IF $(NO_TCL)=
a930: 3d 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45  =0.ALL_TCL_TARGE
a940: 54 53 20 3d 20 6c 69 62 74 63 6c 73 71 6c 69 74  TS = libtclsqlit
a950: 65 33 2e 6c 69 62 0a 21 45 4c 53 45 0a 41 4c 4c  e3.lib.!ELSE.ALL
a960: 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 0a 21  _TCL_TARGETS =.!
a970: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  ENDIF.# <</mark>
a980: 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  >..# This is the
a990: 20 64 65 66 61 75 6c 74 20 4d 61 6b 65 66 69 6c   default Makefil
a9a0: 65 20 74 61 72 67 65 74 2e 20 20 54 68 65 20 6f  e target.  The o
a9b0: 62 6a 65 63 74 73 20 6c 69 73 74 65 64 20 68 65  bjects listed he
a9c0: 72 65 0a 23 20 61 72 65 20 77 68 61 74 20 67 65  re.# are what ge
a9d0: 74 20 62 75 69 6c 64 20 77 68 65 6e 20 79 6f 75  t build when you
a9e0: 20 74 79 70 65 20 6a 75 73 74 20 22 6d 61 6b 65   type just "make
a9f0: 22 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65  " with no argume
aa00: 6e 74 73 2e 0a 23 0a 63 6f 72 65 3a 09 64 6c 6c  nts..#.core:.dll
aa10: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20   libsqlite3.lib 
aa20: 73 68 65 6c 6c 0a 0a 23 20 54 61 72 67 65 74 73  shell..# Targets
aa30: 20 74 68 61 74 20 72 65 71 75 69 72 65 20 74 68   that require th
aa40: 65 20 54 63 6c 20 6c 69 62 72 61 72 79 2e 0a 23  e Tcl library..#
aa50: 0a 74 63 6c 3a 09 24 28 41 4c 4c 5f 54 43 4c 5f  .tcl:.$(ALL_TCL_
aa60: 54 41 52 47 45 54 53 29 0a 0a 23 20 54 68 69 73  TARGETS)..# This
aa70: 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74   Makefile target
aa80: 20 62 75 69 6c 64 73 20 61 6c 6c 20 6f 66 20 74   builds all of t
aa90: 68 65 20 73 74 61 6e 64 61 72 64 20 62 69 6e 61  he standard bina
aaa0: 72 69 65 73 2e 0a 23 0a 61 6c 6c 3a 09 63 6f 72  ries..#.all:.cor
aab0: 65 20 74 63 6c 0a 0a 23 20 44 79 6e 61 6d 69 63  e tcl..# Dynamic
aac0: 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 73 65   link library se
aad0: 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09 24 28  ction..#.dll:.$(
aae0: 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23 20 53  SQLITE3DLL)..# S
aaf0: 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e  hell executable.
ab00: 0a 23 0a 73 68 65 6c 6c 3a 09 24 28 53 51 4c 49  .#.shell:.$(SQLI
ab10: 54 45 33 45 58 45 29 0a 0a 23 20 3c 3c 6d 61 72  TE3EXE)..# <<mar
ab20: 6b 3e 3e 0a 6c 69 62 73 71 6c 69 74 65 33 2e 6c  k>>.libsqlite3.l
ab30: 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a 09 24  ib:.$(LIBOBJ)..$
ab40: 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f  (LTLIB) $(LTLIBO
ab50: 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c  PTS) /OUT:$@ $(L
ab60: 49 42 4f 42 4a 29 20 24 28 54 4c 49 42 53 29 0a  IBOBJ) $(TLIBS).
ab70: 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c  .libtclsqlite3.l
ab80: 69 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e 6c 6f  ib:.tclsqlite.lo
ab90: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a   libsqlite3.lib.
aba0: 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49  .$(LTLIB) $(LTLI
abb0: 42 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  BOPTS) $(LTLIBPA
abc0: 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c  THS) /OUT:$@ tcl
abd0: 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c  sqlite.lo libsql
abe0: 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 54 43  ite3.lib $(LIBTC
abf0: 4c 53 54 55 42 29 20 24 28 54 4c 49 42 53 29 0a  LSTUB) $(TLIBS).
ac00: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53  # <</mark>>..$(S
ac10: 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28 4c 49  QLITE3DLL):.$(LI
ac20: 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42  BOBJ) $(LIBRESOB
ac30: 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f  JS) $(CORE_LINK_
ac40: 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28 4c 44  DEP)..$(LD) $(LD
ac50: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
ac60: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH
ac70: 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45 5f 4c  S) /DLL $(CORE_L
ac80: 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54 3a 24  INK_OPTS) /OUT:$
ac90: 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49  @ $(LIBOBJ) $(LI
aca0: 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI
acb0: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20  BS) $(TLIBS)..# 
acc0: 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74  <<block2>>.sqlit
acd0: 65 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c 69 74  e3.def:.libsqlit
ace0: 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45 58 50  e3.lib..echo EXP
acf0: 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33 2e 64  ORTS > sqlite3.d
ad00: 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c  ef..dumpbin /all
ad10: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20   libsqlite3.lib 
ad20: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
ad30: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
ad40: 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75  eplace.tcl inclu
ad50: 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c  de "^\s+1 _?(sql
ad60: 69 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e 7c 63  ite3(?:session|c
ad70: 68 61 6e 67 65 73 65 74 7c 63 68 61 6e 67 65 67  hangeset|changeg
ad80: 72 6f 75 70 29 3f 5f 5b 5e 40 5d 2a 29 28 3f 3a  roup)?_[^@]*)(?:
ad90: 40 5c 64 2b 29 3f 24 24 22 20 5c 31 20 5c 0a 09  @\d+)?$$" \1 \..
ada0: 09 7c 20 73 6f 72 74 20 3e 3e 20 73 71 6c 69 74  .| sort >> sqlit
adb0: 65 33 2e 64 65 66 0a 23 20 3c 3c 2f 62 6c 6f 63  e3.def.# <</bloc
adc0: 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 45  k2>>..$(SQLITE3E
add0: 58 45 29 3a 09 73 68 65 6c 6c 2e 63 20 24 28 53  XE):.shell.c $(S
ade0: 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24  HELL_CORE_DEP) $
adf0: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 53  (LIBRESOBJS) $(S
ae00: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 24  HELL_CORE_SRC) $
ae10: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
ae20: 4c 49 4e 4b 29 20 24 28 53 48 45 4c 4c 5f 43 4f  LINK) $(SHELL_CO
ae30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 52 45  MPILE_OPTS) $(RE
ae40: 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20 73 68  ADLINE_FLAGS) sh
ae50: 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f  ell.c $(SHELL_CO
ae60: 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e  RE_SRC) \.../lin
ae70: 6b 20 24 28 53 51 4c 49 54 45 33 45 58 45 50 44  k $(SQLITE3EXEPD
ae80: 42 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  B) $(LDFLAGS) $(
ae90: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 53 48  LTLINKOPTS) $(SH
aea0: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 24  ELL_LINK_OPTS) $
aeb0: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c  (LTLIBPATHS) $(L
aec0: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 49 42  IBRESOBJS) $(LIB
aed0: 52 45 41 44 4c 49 4e 45 29 20 24 28 4c 54 4c 49  READLINE) $(LTLI
aee0: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20  BS) $(TLIBS)..# 
aef0: 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69 66 66  <<mark>>.sqldiff
af00: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
af10: 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51  l\sqldiff.c $(SQ
af20: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
af30: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
af40: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29  (NO_WARN) $(TOP)
af50: 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20  \tool\sqldiff.c 
af60: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
af70: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
af80: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 68 61  TLINKOPTS)..dbha
af90: 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  sh.exe:.$(TOP)\t
afa0: 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 53  ool\dbhash.c $(S
afb0: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
afc0: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
afd0: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50  $(NO_WARN) $(TOP
afe0: 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20  )\tool\dbhash.c 
aff0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
b000: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
b010: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 63 72 75  TLINKOPTS)..scru
b020: 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  b.exe:.$(TOP)\ex
b030: 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24  t\misc\scrub.c $
b040: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
b050: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
b060: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54  ) $(NO_WARN) $(T
b070: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72  OP)\ext\misc\scr
b080: 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ub.c $(SQLITE3C)
b090: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
b0a0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
b0b0: 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54  .srcck1.exe:.$(T
b0c0: 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e  OP)\tool\srcck1.
b0d0: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57  c..$(BCC) $(NO_W
b0e0: 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50  ARN) -Fe$@ $(TOP
b0f0: 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a  )\tool\srcck1.c.
b100: 0a 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63  .sourcetest:.src
b110: 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e  ck1.exe sqlite3.
b120: 63 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 73 71  c..srcck1.exe sq
b130: 6c 69 74 65 33 2e 63 0a 0a 66 75 7a 7a 65 72 73  lite3.c..fuzzers
b140: 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  hell.exe:.$(TOP)
b150: 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c  \tool\fuzzershel
b160: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
b170: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
b180: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
b190: 29 20 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f  ) $(FUZZERSHELL_
b1a0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
b1b0: 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72  TOP)\tool\fuzzer
b1c0: 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45  shell.c $(SQLITE
b1d0: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
b1e0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
b1f0: 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78 65 3a 09  S)..dbfuzz.exe:.
b200: 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66 75  $(TOP)\test\dbfu
b210: 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  zz.c $(SQLITE3C)
b220: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
b230: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
b240: 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43 4f 4d 50  N) $(DBFUZZ_COMP
b250: 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29  ILE_OPTS) $(TOP)
b260: 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24  \test\dbfuzz.c $
b270: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
b280: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
b290: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63  LINKOPTS)..fuzzc
b2a0: 68 65 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a  heck.exe:.$(FUZZ
b2b0: 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c  CHECK_SRC) $(SQL
b2c0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
b2d0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
b2e0: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43  NO_WARN) $(FUZZC
b2f0: 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HECK_COMPILE_OPT
b300: 53 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53  S) $(FUZZCHECK_S
b310: 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20  RC) $(SQLITE3C) 
b320: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
b330: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
b340: 6f 73 73 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28  ossshell.exe:.$(
b350: 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24 28  OSSSHELL_SRC) $(
b360: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
b370: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
b380: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55   $(NO_WARN) $(FU
b390: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f  ZZCHECK_COMPILE_
b3a0: 4f 50 54 53 29 20 24 28 4f 53 53 53 48 45 4c 4c  OPTS) $(OSSSHELL
b3b0: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43  _SRC) $(SQLITE3C
b3c0: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
b3d0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
b3e0: 0a 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a 09  ..mptester.exe:.
b3f0: 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70  $(TOP)\mptest\mp
b400: 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3
b410: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
b420: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
b430: 41 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52 5f  ARN) $(MPTESTER_
b440: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
b450: 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65  TOP)\mptest\mpte
b460: 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  st.c $(SQLITE3C)
b470: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
b480: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
b490: 0a 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65 73  .MPTEST1 = mptes
b4a0: 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28  ter mptest.db $(
b4b0: 54 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61 73  TOP)\mptest\cras
b4c0: 68 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61  h01.test --repea
b4d0: 74 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d  t 20.MPTEST2 = m
b4e0: 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e 64  ptester mptest.d
b4f0: 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c  b $(TOP)\mptest\
b500: 6d 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65 73  multiwrite01.tes
b510: 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d  t --repeat 20..m
b520: 70 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72 2e  ptest:.mptester.
b530: 65 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65  exe..del /Q mpte
b540: 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d  st.db 2>NUL..$(M
b550: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST1) --journa
b560: 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24 28  lmode DELETE..$(
b570: 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e  MPTEST2) --journ
b580: 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50  almode WAL..$(MP
b590: 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST1) --journal
b5a0: 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45  mode WAL..$(MPTE
b5b0: 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST2) --journalmo
b5c0: 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50  de PERSIST..$(MP
b5d0: 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST1) --journal
b5e0: 6d 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28  mode PERSIST..$(
b5f0: 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e  MPTEST2) --journ
b600: 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a  almode TRUNCATE.
b610: 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f  .$(MPTEST1) --jo
b620: 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41  urnalmode TRUNCA
b630: 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d  TE..$(MPTEST2) -
b640: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c  -journalmode DEL
b650: 45 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72 67  ETE..# This targ
b660: 65 74 20 63 72 65 61 74 65 73 20 61 20 64 69 72  et creates a dir
b670: 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74 73  ectory named "ts
b680: 72 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69 74  rc" and fills it
b690: 20 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20 6f   with.# copies o
b6a0: 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20 73  f all of the C s
b6b0: 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68  ource code and h
b6c0: 65 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65 64  eader files need
b6d0: 65 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e  ed to.# build on
b6e0: 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73 74   the target syst
b6f0: 65 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68 65  em.  Some of the
b700: 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61   C source code a
b710: 6e 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c 65  nd header.# file
b720: 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61  s are automatica
b730: 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 20  lly generated.  
b740: 54 68 69 73 20 74 61 72 67 65 74 20 74 61 6b 65  This target take
b750: 73 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20  s care of.# all 
b760: 74 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20 67  that automatic g
b770: 65 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61  eneration..#..ta
b780: 72 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28 53  rget_source:.$(S
b790: 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RC) $(TOP)\tool\
b7a0: 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63  vdbe-compress.tc
b7b0: 6c 20 66 74 73 35 2e 63 20 24 28 53 51 4c 49 54  l fts5.c $(SQLIT
b7c0: 45 5f 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64  E_TCL_DEP)..-rmd
b7d0: 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e  ir /Q/S tsrc 2>N
b7e0: 55 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a  UL..-mkdir tsrc.
b7f0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
b800: 43 30 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C00)) do copy /Y
b810: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
b820: 20 69 6e 20 28 24 28 53 52 43 30 31 29 29 20 64   in ($(SRC01)) d
b830: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
b840: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
b850: 53 52 43 30 33 29 29 20 64 6f 20 63 6f 70 79 20  SRC03)) do copy 
b860: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
b870: 25 69 20 69 6e 20 28 24 28 53 52 43 30 34 29 29  %i in ($(SRC04))
b880: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
b890: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
b8a0: 24 28 53 52 43 30 35 29 29 20 64 6f 20 63 6f 70  $(SRC05)) do cop
b8b0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
b8c0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 36  r %i in ($(SRC06
b8d0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
b8e0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
b8f0: 20 28 24 28 53 52 43 30 37 29 29 20 64 6f 20 63   ($(SRC07)) do c
b900: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
b910: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
b920: 30 38 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  08)) do copy /Y 
b930: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
b940: 69 6e 20 28 24 28 53 52 43 30 39 29 29 20 64 6f  in ($(SRC09)) do
b950: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
b960: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
b970: 52 43 31 30 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC10)) do copy /
b980: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
b990: 69 20 69 6e 20 28 24 28 53 52 43 31 31 29 29 20  i in ($(SRC11)) 
b9a0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
b9b0: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
b9c0: 28 53 52 43 31 32 29 29 20 64 6f 20 63 6f 70 79  (SRC12)) do copy
b9d0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 63 6f 70   /Y %i tsrc..cop
b9e0: 79 20 2f 59 20 66 74 73 35 2e 63 20 74 73 72 63  y /Y fts5.c tsrc
b9f0: 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 68  ..copy /Y fts5.h
ba00: 20 74 73 72 63 0a 09 64 65 6c 20 2f 51 20 74 73   tsrc..del /Q ts
ba10: 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74  rc\sqlite.h.in t
ba20: 73 72 63 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55  src\parse.y 2>NU
ba30: 4c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  L..$(TCLSH_CMD) 
ba40: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65  $(TOP)\tool\vdbe
ba50: 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 24 28  -compress.tcl $(
ba60: 4f 50 54 53 29 20 3c 20 74 73 72 63 5c 76 64 62  OPTS) < tsrc\vdb
ba70: 65 2e 63 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09  e.c > vdbe.new..
ba80: 6d 6f 76 65 20 76 64 62 65 2e 6e 65 77 20 74 73  move vdbe.new ts
ba90: 72 63 5c 76 64 62 65 2e 63 0a 09 65 63 68 6f 20  rc\vdbe.c..echo 
baa0: 3e 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65  > .target_source
bab0: 0a 0a 73 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61  ..sqlite3.c:..ta
bac0: 72 67 65 74 5f 73 6f 75 72 63 65 20 73 71 6c 69  rget_source sqli
bad0: 74 65 33 65 78 74 2e 68 20 24 28 4d 4b 53 51 4c  te3ext.h $(MKSQL
bae0: 49 54 45 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 54  ITE3C_TOOL)..$(T
baf0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 4d 4b 53 51  CLSH_CMD) $(MKSQ
bb00: 4c 49 54 45 33 43 5f 54 4f 4f 4c 29 20 24 28 4d  LITE3C_TOOL) $(M
bb10: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29 0a  KSQLITE3C_ARGS).
bb20: 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74  .copy $(TOP)\ext
bb30: 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33  \session\sqlite3
bb40: 73 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c  session.h ...sql
bb50: 69 74 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69  ite3-all.c:.sqli
bb60: 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f  te3.c $(TOP)\too
bb70: 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63  l\split-sqlite3c
bb80: 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d  .tcl..$(TCLSH_CM
bb90: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  D) $(TOP)\tool\s
bba0: 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63  plit-sqlite3c.tc
bbb0: 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  l.# <</mark>>..#
bbc0: 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74   Rule to build t
bbd0: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a  he amalgamation.
bbe0: 23 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28  #.sqlite3.lo:.$(
bbf0: 53 51 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 43  SQLITE3C)..$(LTC
bc00: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
bc10: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
bc20: 24 28 53 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c  $(SQLITE3C)..# <
bc30: 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20  <mark>>.# Rules 
bc40: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 4c 45 4d  to build the LEM
bc50: 4f 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65  ON compiler gene
bc60: 72 61 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63  rator.#.lempar.c
bc70: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65  :.$(TOP)\tool\le
bc80: 6d 70 61 72 2e 63 0a 09 63 6f 70 79 20 24 28 54  mpar.c..copy $(T
bc90: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e  OP)\tool\lempar.
bca0: 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09  c ...lemon.exe:.
bcb0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f  $(TOP)\tool\lemo
bcc0: 6e 2e 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28  n.c lempar.c..$(
bcd0: 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  BCC) $(NO_WARN) 
bce0: 2d 44 61 63 63 65 73 73 3d 5f 61 63 63 65 73 73  -Daccess=_access
bcf0: 20 5c 0a 09 09 2d 46 65 24 40 20 24 28 54 4f 50   \...-Fe$@ $(TOP
bd00: 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f  )\tool\lemon.c /
bd10: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
bd20: 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24  $(NLTLINKOPTS) $
bd30: 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23  (NLTLIBPATHS)..#
bd40: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65   <<mark>>.# Rule
bd50: 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 73  s to build the s
bd60: 6f 75 72 63 65 2d 69 64 20 67 65 6e 65 72 61 74  ource-id generat
bd70: 6f 72 20 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75 72  or tool.#.mksour
bd80: 63 65 69 64 2e 65 78 65 3a 09 24 28 54 4f 50 29  ceid.exe:.$(TOP)
bd90: 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64  \tool\mksourceid
bda0: 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f  .c..$(BCC) $(NO_
bdb0: 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f  WARN) -Fe$@ $(TO
bdc0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65  P)\tool\mksource
bdd0: 69 64 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  id.c /link $(LDF
bde0: 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f  LAGS) $(NLTLINKO
bdf0: 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54  PTS) $(NLTLIBPAT
be00: 48 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20  HS)..# Rules to 
be10: 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c  build individual
be20: 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d   *.lo files from
be30: 20 67 65 6e 65 72 61 74 65 64 20 2a 2e 63 20 66   generated *.c f
be40: 69 6c 65 73 2e 20 54 68 69 73 0a 23 20 61 70 70  iles. This.# app
be50: 6c 69 65 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20  lies to:.#.#    
be60: 20 70 61 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20   parse.lo.#     
be70: 6f 70 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72  opcodes.lo.#.par
be80: 73 65 2e 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24  se.lo:.parse.c $
be90: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
bea0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
beb0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 70 61 72 73  LE_OPTS) -c pars
bec0: 65 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a  e.c..opcodes.lo:
bed0: 09 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54  .opcodes.c..$(LT
bee0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
bef0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
bf00: 20 6f 70 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f   opcodes.c.# <</
bf10: 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74  mark>>..# Rule t
bf20: 6f 20 62 75 69 6c 64 20 74 68 65 20 57 69 6e 33  o build the Win3
bf30: 32 20 72 65 73 6f 75 72 63 65 73 20 6f 62 6a 65  2 resources obje
bf40: 63 74 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24  ct file..#.!IF $
bf50: 28 55 53 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c  (USE_RC)!=0.# <<
bf60: 62 6c 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45  block1>>.$(LIBRE
bf70: 53 4f 42 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73  SOBJS):.$(TOP)\s
bf80: 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 20 24 28  rc\sqlite3.rc $(
bf90: 53 51 4c 49 54 45 33 48 29 0a 09 65 63 68 6f 20  SQLITE3H)..echo 
bfa0: 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 52  #ifndef SQLITE_R
bfb0: 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20  ESOURCE_VERSION 
bfc0: 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 66  > sqlite3rc.h..f
bfd0: 6f 72 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74  or /F %%V in ('t
bfe0: 79 70 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53  ype "$(TOP)\VERS
bff0: 49 4f 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09  ION"') do ( \...
c000: 65 63 68 6f 20 23 64 65 66 69 6e 65 20 53 51 4c  echo #define SQL
c010: 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52  ITE_RESOURCE_VER
c020: 53 49 4f 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20  SION %%V \....| 
c030: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
c040: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
c050: 2e 74 63 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20  .tcl exact . ^, 
c060: 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 20 5c  >> sqlite3rc.h \
c070: 0a 09 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66  ..)..echo #endif
c080: 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a   >> sqlite3rc.h.
c090: 09 24 28 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d  .$(LTRCOMPILE) -
c0a0: 66 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  fo $(LIBRESOBJS)
c0b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69   $(TOP)\src\sqli
c0c0: 74 65 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63  te3.rc.# <</bloc
c0d0: 6b 31 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  k1>>.!ENDIF..# <
c0e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20  <mark>>.# Rules 
c0f0: 74 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64  to build individ
c100: 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66  ual *.lo files f
c110: 72 6f 6d 20 66 69 6c 65 73 20 69 6e 20 74 68 65  rom files in the
c120: 20 73 72 63 20 64 69 72 65 63 74 6f 72 79 2e 0a   src directory..
c130: 23 0a 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f  #.alter.lo:.$(TO
c140: 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 24  P)\src\alter.c $
c150: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c160: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c170: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c180: 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a  P)\src\alter.c..
c190: 61 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f  analyze.lo:.$(TO
c1a0: 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63  P)\src\analyze.c
c1b0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c1c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c1d0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c1e0: 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65  TOP)\src\analyze
c1f0: 2e 63 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24  .c..attach.lo:.$
c200: 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68  (TOP)\src\attach
c210: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c220: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c230: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c240: 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63  $(TOP)\src\attac
c250: 68 2e 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28  h.c..auth.lo:.$(
c260: 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20  TOP)\src\auth.c 
c270: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c280: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c290: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c2a0: 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a  OP)\src\auth.c..
c2b0: 62 61 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50  backup.lo:.$(TOP
c2c0: 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 24  )\src\backup.c $
c2d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c2e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c2f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c300: 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a  P)\src\backup.c.
c310: 0a 62 69 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f  .bitvec.lo:.$(TO
c320: 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20  P)\src\bitvec.c 
c330: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c340: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c350: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c360: 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63  OP)\src\bitvec.c
c370: 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28  ..btmutex.lo:.$(
c380: 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78  TOP)\src\btmutex
c390: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c3a0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c3b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c3c0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74  $(TOP)\src\btmut
c3d0: 65 78 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09  ex.c..btree.lo:.
c3e0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
c3f0: 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29  .c $(HDR) $(TOP)
c400: 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28  \src\pager.h..$(
c410: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c420: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c430: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74  -c $(TOP)\src\bt
c440: 72 65 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a  ree.c..build.lo:
c450: 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c  .$(TOP)\src\buil
c460: 64 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  d.c $(HDR)..$(LT
c470: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c480: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c490: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c   $(TOP)\src\buil
c4a0: 64 2e 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f  d.c..callback.lo
c4b0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c  :.$(TOP)\src\cal
c4c0: 6c 62 61 63 6b 2e 63 20 24 28 48 44 52 29 0a 09  lback.c $(HDR)..
c4d0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c4e0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c4f0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c500: 63 61 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70  callback.c..comp
c510: 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lete.lo:.$(TOP)\
c520: 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24  src\complete.c $
c530: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c540: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c550: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c560: 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e  P)\src\complete.
c570: 63 0a 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54  c..ctime.lo:.$(T
c580: 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20  OP)\src\ctime.c 
c590: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c5a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c5b0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c5c0: 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a  OP)\src\ctime.c.
c5d0: 0a 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  .date.lo:.$(TOP)
c5e0: 5c 73 72 63 5c 64 61 74 65 2e 63 20 24 28 48 44  \src\date.c $(HD
c5f0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c600: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c610: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c620: 73 72 63 5c 64 61 74 65 2e 63 0a 0a 64 62 70 61  src\date.c..dbpa
c630: 67 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ge.lo:.$(TOP)\sr
c640: 63 5c 64 62 70 61 67 65 2e 63 20 24 28 48 44 52  c\dbpage.c $(HDR
c650: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c660: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c670: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c680: 72 63 5c 64 62 70 61 67 65 2e 63 0a 0a 64 62 73  rc\dbpage.c..dbs
c690: 74 61 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  tat.lo:.$(TOP)\s
c6a0: 72 63 5c 64 62 73 74 61 74 2e 63 20 24 28 48 44  rc\dbstat.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 64 62 73 74 61 74 2e 63 0a 0a 64 65  src\dbstat.c..de
c6f0: 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lete.lo:.$(TOP)\
c700: 73 72 63 5c 64 65 6c 65 74 65 2e 63 20 24 28 48  src\delete.c $(H
c710: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c720: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c730: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c740: 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 0a 0a 65  \src\delete.c..e
c750: 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  xpr.lo:.$(TOP)\s
c760: 72 63 5c 65 78 70 72 2e 63 20 24 28 48 44 52 29  rc\expr.c $(HDR)
c770: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c780: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c790: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c7a0: 63 5c 65 78 70 72 2e 63 0a 0a 66 61 75 6c 74 2e  c\expr.c..fault.
c7b0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66  lo:.$(TOP)\src\f
c7c0: 61 75 6c 74 2e 63 20 24 28 48 44 52 29 0a 09 24  ault.c $(HDR)..$
c7d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c7e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c7f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66   -c $(TOP)\src\f
c800: 61 75 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a  ault.c..fkey.lo:
c810: 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79  .$(TOP)\src\fkey
c820: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c830: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c840: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c850: 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e  $(TOP)\src\fkey.
c860: 63 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f  c..func.lo:.$(TO
c870: 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 24 28  P)\src\func.c $(
c880: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c890: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c8a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c8b0: 29 5c 73 72 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c  )\src\func.c..gl
c8c0: 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  obal.lo:.$(TOP)\
c8d0: 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 48  src\global.c $(H
c8e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c8f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c900: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c910: 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68  \src\global.c..h
c920: 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ash.lo:.$(TOP)\s
c930: 72 63 5c 68 61 73 68 2e 63 20 24 28 48 44 52 29  rc\hash.c $(HDR)
c940: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c950: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c960: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c970: 63 5c 68 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74  c\hash.c..insert
c980: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c990: 69 6e 73 65 72 74 2e 63 20 24 28 48 44 52 29 0a  insert.c $(HDR).
c9a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c9b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c9c0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c9d0: 5c 69 6e 73 65 72 74 2e 63 0a 0a 6c 65 67 61 63  \insert.c..legac
c9e0: 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  y.lo:.$(TOP)\src
c9f0: 5c 6c 65 67 61 63 79 2e 63 20 24 28 48 44 52 29  \legacy.c $(HDR)
ca00: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ca10: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ca20: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
ca30: 63 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64  c\legacy.c..load
ca40: 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ext.lo:.$(TOP)\s
ca50: 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 24 28 48  rc\loadext.c $(H
ca60: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ca70: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ca80: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
ca90: 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a  \src\loadext.c..
caa0: 6d 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  main.lo:.$(TOP)\
cab0: 73 72 63 5c 6d 61 69 6e 2e 63 20 24 28 48 44 52  src\main.c $(HDR
cac0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cad0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cae0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
caf0: 72 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f  rc\main.c..mallo
cb00: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  c.lo:.$(TOP)\src
cb10: 5c 6d 61 6c 6c 6f 63 2e 63 20 24 28 48 44 52 29  \malloc.c $(HDR)
cb20: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cb30: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cb40: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cb50: 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30  c\malloc.c..mem0
cb60: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cb70: 6d 65 6d 30 2e 63 20 24 28 48 44 52 29 0a 09 24  mem0.c $(HDR)..$
cb80: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cb90: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cba0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
cbb0: 65 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09  em0.c..mem1.lo:.
cbc0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e  $(TOP)\src\mem1.
cbd0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cbe0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cbf0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
cc00: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63  (TOP)\src\mem1.c
cc10: 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50  ..mem2.lo:.$(TOP
cc20: 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 24 28 48  )\src\mem2.c $(H
cc30: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cc40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cc50: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cc60: 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d  \src\mem2.c..mem
cc70: 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  3.lo:.$(TOP)\src
cc80: 5c 6d 65 6d 33 2e 63 20 24 28 48 44 52 29 0a 09  \mem3.c $(HDR)..
cc90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
cca0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ccb0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
ccc0: 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a  mem3.c..mem5.lo:
ccd0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35  .$(TOP)\src\mem5
cce0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
ccf0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cd00: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cd10: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e  $(TOP)\src\mem5.
cd20: 63 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f  c..memjournal.lo
cd30: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  :.$(TOP)\src\mem
cd40: 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44 52 29  journal.c $(HDR)
cd50: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cd60: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cd70: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cd80: 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 0a 0a  c\memjournal.c..
cd90: 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  mutex.lo:.$(TOP)
cda0: 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 24 28 48  \src\mutex.c $(H
cdb0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cdc0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cdd0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cde0: 5c 73 72 63 5c 6d 75 74 65 78 2e 63 0a 0a 6d 75  \src\mutex.c..mu
cdf0: 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24 28 54  tex_noop.lo:.$(T
ce00: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
ce10: 6f 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  op.c $(HDR)..$(L
ce20: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ce30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ce40: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  c $(TOP)\src\mut
ce50: 65 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74 65 78  ex_noop.c..mutex
ce60: 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  _unix.lo:.$(TOP)
ce70: 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e  \src\mutex_unix.
ce80: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ce90: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cea0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
ceb0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
cec0: 75 6e 69 78 2e 63 0a 0a 6d 75 74 65 78 5f 77 33  unix.c..mutex_w3
ced0: 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  2.lo:.$(TOP)\src
cee0: 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 24 28 48  \mutex_w32.c $(H
cef0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cf00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cf10: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cf20: 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63  \src\mutex_w32.c
cf30: 0a 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24 28 54  ..notify.lo:.$(T
cf40: 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63  OP)\src\notify.c
cf50: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cf60: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cf70: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cf80: 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e  TOP)\src\notify.
cf90: 63 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09 24 28 54  c..pager.lo:.$(T
cfa0: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20  OP)\src\pager.c 
cfb0: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72  $(HDR) $(TOP)\sr
cfc0: 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43  c\pager.h..$(LTC
cfd0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cfe0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cff0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager
d000: 2e 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a 09 24  .c..pcache.lo:.$
d010: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
d020: 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29  .c $(HDR) $(TOP)
d030: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24  \src\pcache.h..$
d040: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d050: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d060: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p
d070: 63 61 63 68 65 2e 63 0a 0a 70 63 61 63 68 65 31  cache.c..pcache1
d080: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d090: 70 63 61 63 68 65 31 2e 63 20 24 28 48 44 52 29  pcache1.c $(HDR)
d0a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
d0b0: 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  he.h..$(LTCOMPIL
d0c0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d0d0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d0e0: 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 0a  )\src\pcache1.c.
d0f0: 0a 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  .os.lo:.$(TOP)\s
d100: 72 63 5c 6f 73 2e 63 20 24 28 48 44 52 29 0a 09  rc\os.c $(HDR)..
d110: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d120: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d130: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d140: 6f 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 2e 6c 6f  os.c..os_unix.lo
d150: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f  :.$(TOP)\src\os_
d160: 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24  unix.c $(HDR)..$
d170: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d180: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d190: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f   -c $(TOP)\src\o
d1a0: 73 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77 69 6e  s_unix.c..os_win
d1b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d1c0: 6f 73 5f 77 69 6e 2e 63 20 24 28 48 44 52 29 0a  os_win.c $(HDR).
d1d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d1e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d1f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d200: 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61 67 6d  \os_win.c..pragm
d210: 61 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  a.lo:.$(TOP)\src
d220: 5c 70 72 61 67 6d 61 2e 63 20 24 28 48 44 52 29  \pragma.c $(HDR)
d230: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d240: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d250: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d260: 63 5c 70 72 61 67 6d 61 2e 63 0a 0a 70 72 65 70  c\pragma.c..prep
d270: 61 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  are.lo:.$(TOP)\s
d280: 72 63 5c 70 72 65 70 61 72 65 2e 63 20 24 28 48  rc\prepare.c $(H
d290: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d2a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d2b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d2c0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 0a 0a  \src\prepare.c..
d2d0: 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f 50  printf.lo:.$(TOP
d2e0: 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 24  )\src\printf.c $
d2f0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d300: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d310: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d320: 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 0a  P)\src\printf.c.
d330: 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24 28 54 4f  .random.lo:.$(TO
d340: 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20  P)\src\random.c 
d350: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d360: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d370: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d380: 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63  OP)\src\random.c
d390: 0a 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a 09 24 28  ..resolve.lo:.$(
d3a0: 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65  TOP)\src\resolve
d3b0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d3c0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d3d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d3e0: 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c  $(TOP)\src\resol
d3f0: 76 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c 6f 3a  ve.c..rowset.lo:
d400: 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73  .$(TOP)\src\rows
d410: 65 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  et.c $(HDR)..$(L
d420: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d430: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d440: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77  c $(TOP)\src\row
d450: 73 65 74 2e 63 0a 0a 73 65 6c 65 63 74 2e 6c 6f  set.c..select.lo
d460: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c  :.$(TOP)\src\sel
d470: 65 63 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ect.c $(HDR)..$(
d480: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d490: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d4a0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65  -c $(TOP)\src\se
d4b0: 6c 65 63 74 2e 63 0a 0a 73 74 61 74 75 73 2e 6c  lect.c..status.l
d4c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 74  o:.$(TOP)\src\st
d4d0: 61 74 75 73 2e 63 20 24 28 48 44 52 29 0a 09 24  atus.c $(HDR)..$
d4e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d4f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d500: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73   -c $(TOP)\src\s
d510: 74 61 74 75 73 2e 63 0a 0a 74 61 62 6c 65 2e 6c  tatus.c..table.l
d520: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 61  o:.$(TOP)\src\ta
d530: 62 6c 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ble.c $(HDR)..$(
d540: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d550: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d560: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61  -c $(TOP)\src\ta
d570: 62 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73 2e 6c  ble.c..threads.l
d580: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 68  o:.$(TOP)\src\th
d590: 72 65 61 64 73 2e 63 20 24 28 48 44 52 29 0a 09  reads.c $(HDR)..
d5a0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d5b0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d5c0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d5d0: 74 68 72 65 61 64 73 2e 63 0a 0a 74 6f 6b 65 6e  threads.c..token
d5e0: 69 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ize.lo:.$(TOP)\s
d5f0: 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 6b 65  rc\tokenize.c ke
d600: 79 77 6f 72 64 68 61 73 68 2e 68 20 24 28 48 44  ywordhash.h $(HD
d610: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d620: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d630: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d640: 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 0a 0a  src\tokenize.c..
d650: 74 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24 28 54  treeview.lo:.$(T
d660: 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77  OP)\src\treeview
d670: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d680: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d690: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d6a0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76  $(TOP)\src\treev
d6b0: 69 65 77 2e 63 0a 0a 74 72 69 67 67 65 72 2e 6c  iew.c..trigger.l
d6c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  o:.$(TOP)\src\tr
d6d0: 69 67 67 65 72 2e 63 20 24 28 48 44 52 29 0a 09  igger.c $(HDR)..
d6e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d6f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d700: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d710: 74 72 69 67 67 65 72 2e 63 0a 0a 75 70 64 61 74  trigger.c..updat
d720: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
d730: 5c 75 70 64 61 74 65 2e 63 20 24 28 48 44 52 29  \update.c $(HDR)
d740: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d750: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d760: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d770: 63 5c 75 70 64 61 74 65 2e 63 0a 0a 75 74 66 2e  c\update.c..utf.
d780: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75  lo:.$(TOP)\src\u
d790: 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  tf.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 75 74 66  c $(TOP)\src\utf
d7d0: 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28 54  .c..util.lo:.$(T
d7e0: 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 24  OP)\src\util.c $
d7f0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d800: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d810: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d820: 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 0a 0a 76  P)\src\util.c..v
d830: 61 63 75 75 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29  acuum.lo:.$(TOP)
d840: 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 24 28  \src\vacuum.c $(
d850: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d860: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d870: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d880: 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 0a 0a  )\src\vacuum.c..
d890: 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  vdbe.lo:.$(TOP)\
d8a0: 73 72 63 5c 76 64 62 65 2e 63 20 24 28 48 44 52  src\vdbe.c $(HDR
d8b0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d8c0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d8d0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d8e0: 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64 62 65 61  rc\vdbe.c..vdbea
d8f0: 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  pi.lo:.$(TOP)\sr
d900: 63 5c 76 64 62 65 61 70 69 2e 63 20 24 28 48 44  c\vdbeapi.c $(HD
d910: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d920: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d930: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d940: 73 72 63 5c 76 64 62 65 61 70 69 2e 63 0a 0a 76  src\vdbeapi.c..v
d950: 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50  dbeaux.lo:.$(TOP
d960: 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20  )\src\vdbeaux.c 
d970: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d980: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d990: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d9a0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e  OP)\src\vdbeaux.
d9b0: 63 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09  c..vdbeblob.lo:.
d9c0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62  $(TOP)\src\vdbeb
d9d0: 6c 6f 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28  lob.c $(HDR)..$(
d9e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d9f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
da00: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
da10: 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62 65 6d 65  beblob.c..vdbeme
da20: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  m.lo:.$(TOP)\src
da30: 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28 48 44 52  \vdbemem.c $(HDR
da40: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
da50: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
da60: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
da70: 72 63 5c 76 64 62 65 6d 65 6d 2e 63 0a 0a 76 64  rc\vdbemem.c..vd
da80: 62 65 73 6f 72 74 2e 6c 6f 3a 09 24 28 54 4f 50  besort.lo:.$(TOP
da90: 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63  )\src\vdbesort.c
daa0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
dab0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dac0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
dad0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72  TOP)\src\vdbesor
dae0: 74 2e 63 0a 0a 76 64 62 65 74 72 61 63 65 2e 6c  t.c..vdbetrace.l
daf0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd
db00: 62 65 74 72 61 63 65 2e 63 20 24 28 48 44 52 29  betrace.c $(HDR)
db10: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
db20: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
db30: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
db40: 63 5c 76 64 62 65 74 72 61 63 65 2e 63 0a 0a 76  c\vdbetrace.c..v
db50: 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  tab.lo:.$(TOP)\s
db60: 72 63 5c 76 74 61 62 2e 63 20 24 28 48 44 52 29  rc\vtab.c $(HDR)
db70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
db80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
db90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
dba0: 63 5c 76 74 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f  c\vtab.c..wal.lo
dbb0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c  :.$(TOP)\src\wal
dbc0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
dbd0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
dbe0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
dbf0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63  $(TOP)\src\wal.c
dc00: 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54  ..walker.lo:.$(T
dc10: 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63  OP)\src\walker.c
dc20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
dc30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dc40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
dc50: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e  TOP)\src\walker.
dc60: 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09 24 28 54  c..where.lo:.$(T
dc70: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20  OP)\src\where.c 
dc80: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dc90: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
dca0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
dcb0: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 0a  OP)\src\where.c.
dcc0: 0a 77 68 65 72 65 63 6f 64 65 2e 6c 6f 3a 09 24  .wherecode.lo:.$
dcd0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63  (TOP)\src\wherec
dce0: 6f 64 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ode.c $(HDR)..$(
dcf0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
dd00: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
dd10: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh
dd20: 65 72 65 63 6f 64 65 2e 63 0a 0a 77 68 65 72 65  erecode.c..where
dd30: 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  expr.lo:.$(TOP)\
dd40: 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 20  src\whereexpr.c 
dd50: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dd60: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
dd70: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
dd80: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70  OP)\src\whereexp
dd90: 72 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6c  r.c..tclsqlite.l
dda0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  o:.$(TOP)\src\tc
ddb0: 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29  lsqlite.c $(HDR)
ddc0: 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45   $(SQLITE_TCL_DE
ddd0: 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  P)..$(LTCOMPILE)
dde0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53   $(NO_WARN) -DUS
ddf0: 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44  E_TCL_STUBS=1 -D
de00: 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24  BUILD_sqlite -I$
de10: 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24  (TCLINCDIR) -c $
de20: 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
de30: 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65  ite.c..tclsqlite
de40: 2d 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50  -shell.lo:.$(TOP
de50: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
de60: 63 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54  c $(HDR) $(SQLIT
de70: 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54  E_TCL_DEP)..$(LT
de80: 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41  COMPILE) $(NO_WA
de90: 52 4e 29 20 2d 44 54 43 4c 53 48 20 2d 44 42 55  RN) -DTCLSH -DBU
dea0: 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54  ILD_sqlite -I$(T
deb0: 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54  CLINCDIR) -c $(T
dec0: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
ded0: 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e  e.c..tclsqlite3.
dee0: 65 78 65 3a 09 74 63 6c 73 71 6c 69 74 65 2d 73  exe:.tclsqlite-s
def0: 68 65 6c 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 45  hell.lo $(SQLITE
df00: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20  3C) $(SQLITE3H) 
df10: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24  $(LIBRESOBJS)..$
df20: 28 4c 54 4c 49 4e 4b 29 20 24 28 53 51 4c 49 54  (LTLINK) $(SQLIT
df30: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
df40: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
df50: 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48  TS) $(TCLLIBPATH
df60: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
df70: 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69   /OUT:$@ tclsqli
df80: 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49  te-shell.lo $(LI
df90: 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c  BRESOBJS) $(TCLL
dfa0: 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24  IBS) $(LTLIBS) $
dfb0: 28 54 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65 73  (TLIBS)..# Rules
dfc0: 20 74 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64 65   to build opcode
dfd0: 73 2e 63 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e  s.c and opcodes.
dfe0: 68 0a 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f  h.#.opcodes.c:.o
dff0: 70 63 6f 64 65 73 2e 68 20 24 28 54 4f 50 29 5c  pcodes.h $(TOP)\
e000: 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74  tool\mkopcodec.t
e010: 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  cl..$(TCLSH_CMD)
e020: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f   $(TOP)\tool\mko
e030: 70 63 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64  pcodec.tcl opcod
e040: 65 73 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63  es.h > opcodes.c
e050: 0a 0a 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 72  ..opcodes.h:.par
e060: 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c  se.h $(TOP)\src\
e070: 76 64 62 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f  vdbe.c $(TOP)\to
e080: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c  ol\mkopcodeh.tcl
e090: 0a 09 74 79 70 65 20 70 61 72 73 65 2e 68 20 24  ..type parse.h $
e0a0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
e0b0: 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20   | $(TCLSH_CMD) 
e0c0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70  $(TOP)\tool\mkop
e0d0: 63 6f 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f  codeh.tcl > opco
e0e0: 64 65 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74  des.h..# Rules t
e0f0: 6f 20 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20  o build parse.c 
e100: 61 6e 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68  and parse.h - th
e110: 65 20 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d  e outputs of lem
e120: 6f 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70  on..#.parse.h:.p
e130: 61 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a  arse.c..parse.c:
e140: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73  .$(TOP)\src\pars
e150: 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28  e.y lemon.exe $(
e160: 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63  TOP)\tool\addopc
e170: 6f 64 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51  odes.tcl..del /Q
e180: 20 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68   parse.y parse.h
e190: 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e   parse.h.temp 2>
e1a0: 4e 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29  NUL..copy $(TOP)
e1b0: 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09  \src\parse.y ...
e1c0: 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45  .\lemon.exe $(RE
e1d0: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
e1e0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
e1f0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT
e200: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
e210: 53 29 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65  S) parse.y..move
e220: 20 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68   parse.h parse.h
e230: 2e 74 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43  .temp..$(TCLSH_C
e240: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
e250: 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70  addopcodes.tcl p
e260: 61 72 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61  arse.h.temp > pa
e270: 72 73 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33  rse.h..$(SQLITE3
e280: 48 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73  H):.$(TOP)\src\s
e290: 71 6c 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50  qlite.h.in $(TOP
e2a0: 29 5c 6d 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75  )\manifest mksou
e2b0: 72 63 65 69 64 2e 65 78 65 20 24 28 54 4f 50 29  rceid.exe $(TOP)
e2c0: 5c 56 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53  \VERSION..$(TCLS
e2d0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
e2e0: 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63  ol\mksqlite3h.tc
e2f0: 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24  l $(TOP:\=/) > $
e300: 28 53 51 4c 49 54 45 33 48 29 20 24 28 4d 4b 53  (SQLITE3H) $(MKS
e310: 51 4c 49 54 45 33 48 5f 41 52 47 53 29 0a 0a 73  QLITE3H_ARGS)..s
e320: 71 6c 69 74 65 33 65 78 74 2e 68 3a 09 2e 74 61  qlite3ext.h:..ta
e330: 72 67 65 74 5f 73 6f 75 72 63 65 0a 21 49 46 20  rget_source.!IF 
e340: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d  $(USE_STDCALL)!=
e350: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
e360: 29 21 3d 30 0a 09 74 79 70 65 20 74 73 72 63 5c  )!=0..type tsrc\
e370: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 7c 20 24  sqlite3ext.h | $
e380: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
e390: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
e3a0: 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a  tcl regsub "\(\*
e3b0: 5c 29 22 20 22 28 53 51 4c 49 54 45 5f 43 41 4c  \)" "(SQLITE_CAL
e3c0: 4c 42 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20  LBACK *)" \...| 
e3d0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
e3e0: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
e3f0: 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c  .tcl regsub "\(\
e400: 2a 22 20 22 28 53 51 4c 49 54 45 5f 41 50 49 43  *" "(SQLITE_APIC
e410: 41 4c 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65 33  ALL *" > sqlite3
e420: 65 78 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73  ext.h..copy /Y s
e430: 71 6c 69 74 65 33 65 78 74 2e 68 20 74 73 72 63  qlite3ext.h tsrc
e440: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45  \sqlite3ext.h.!E
e450: 4c 53 45 0a 09 63 6f 70 79 20 2f 59 20 74 73 72  LSE..copy /Y tsr
e460: 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73  c\sqlite3ext.h s
e470: 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4e 44  qlite3ext.h.!END
e480: 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73  IF..mkkeywordhas
e490: 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  h.exe:.$(TOP)\to
e4a0: 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68  ol\mkkeywordhash
e4b0: 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f  .c..$(BCC) $(NO_
e4c0: 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 52 45  WARN) -Fe$@ $(RE
e4d0: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
e4e0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
e4f0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT
e500: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
e510: 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  S) \...$(TOP)\to
e520: 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68  ol\mkkeywordhash
e530: 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .c /link $(LDFLA
e540: 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54  GS) $(NLTLINKOPT
e550: 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53  S) $(NLTLIBPATHS
e560: 29 0a 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e 68  )..keywordhash.h
e570: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  :.$(TOP)\tool\mk
e580: 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b  keywordhash.c mk
e590: 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 0a  keywordhash.exe.
e5a0: 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68  ..\mkkeywordhash
e5b0: 2e 65 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 61  .exe > keywordha
e5c0: 73 68 2e 68 0a 0a 23 20 53 6f 75 72 63 65 20 66  sh.h..# Source f
e5d0: 69 6c 65 73 20 74 68 61 74 20 67 6f 20 69 6e 74  iles that go int
e5e0: 6f 20 6d 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63  o making shell.c
e5f0: 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09  .SHELL_SRC = \..
e600: 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c  $(TOP)\src\shell
e610: 2e 63 2e 69 6e 20 5c 0a 20 20 20 20 20 20 20 20  .c.in \.        
e620: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
e630: 61 70 70 65 6e 64 76 66 73 2e 63 20 5c 0a 09 24  appendvfs.c \..$
e640: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
e650: 68 61 74 68 72 65 65 2e 63 20 5c 0a 09 24 28 54  hathree.c \..$(T
e660: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c  OP)\ext\misc\fil
e670: 65 69 6f 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c  eio.c \..$(TOP)\
e680: 65 78 74 5c 6d 69 73 63 5c 63 6f 6d 70 6c 65 74  ext\misc\complet
e690: 69 6f 6e 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c  ion.c \..$(TOP)\
e6a0: 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74  ext\expert\sqlit
e6b0: 65 33 65 78 70 65 72 74 2e 63 20 5c 0a 09 24 28  e3expert.c \..$(
e6c0: 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c  TOP)\ext\expert\
e6d0: 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20  sqlite3expert.h 
e6e0: 5c 0a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  \..$(TOP)\src\te
e6f0: 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e 63 0a 0a  st_windirent.c..
e700: 23 20 49 66 20 75 73 65 20 6f 66 20 7a 6c 69 62  # If use of zlib
e710: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
e720: 20 74 68 65 20 22 7a 69 70 66 69 6c 65 2e 63 22   the "zipfile.c"
e730: 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 23 0a   source file..#.
e740: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21  !IF $(USE_ZLIB)!
e750: 3d 30 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24  =0.SHELL_SRC = $
e760: 28 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f  (SHELL_SRC) $(TO
e770: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 71 6c 61  P)\ext\misc\sqla
e780: 72 2e 63 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20  r.c.SHELL_SRC = 
e790: 24 28 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54  $(SHELL_SRC) $(T
e7a0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 7a 69 70  OP)\ext\misc\zip
e7b0: 66 69 6c 65 2e 63 0a 21 45 4e 44 49 46 0a 0a 73  file.c.!ENDIF..s
e7c0: 68 65 6c 6c 2e 63 3a 09 24 28 53 48 45 4c 4c 5f  hell.c:.$(SHELL_
e7d0: 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  SRC) $(TOP)\tool
e7e0: 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 0a 09 24  \mkshellc.tcl..$
e7f0: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
e800: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63  P)\tool\mkshellc
e810: 2e 74 63 6c 20 3e 20 73 68 65 6c 6c 2e 63 0a 0a  .tcl > shell.c..
e820: 7a 6c 69 62 3a 0a 09 70 75 73 68 64 20 24 28 5a  zlib:..pushd $(Z
e830: 4c 49 42 44 49 52 29 20 26 26 20 24 28 4d 41 4b  LIBDIR) && $(MAK
e840: 45 29 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b 65  E) /f win32\Make
e850: 66 69 6c 65 2e 6d 73 63 20 63 6c 65 61 6e 20 24  file.msc clean $
e860: 28 5a 4c 49 42 4c 49 42 29 20 26 26 20 70 6f 70  (ZLIBLIB) && pop
e870: 64 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  d..# Rules to bu
e880: 69 6c 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f  ild the extensio
e890: 6e 20 6f 62 6a 65 63 74 73 2e 0a 23 0a 69 63 75  n objects..#.icu
e8a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
e8b0: 69 63 75 5c 69 63 75 2e 63 20 24 28 48 44 52 29  icu\icu.c $(HDR)
e8c0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
e8d0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e8e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
e8f0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
e900: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
e910: 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 0a 0a  \ext\icu\icu.c..
e920: 66 74 73 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  fts2.lo:.$(TOP)\
e930: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20  ext\fts2\fts2.c 
e940: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
e950: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e960: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e970: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
e980: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
e990: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
e9a0: 66 74 73 32 2e 63 0a 0a 66 74 73 32 5f 68 61 73  fts2.c..fts2_has
e9b0: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  h.lo:.$(TOP)\ext
e9c0: 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e  \fts2\fts2_hash.
e9d0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
e9e0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e9f0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
ea00: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
ea10: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
ea20: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
ea30: 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 0a 0a 66  2\fts2_hash.c..f
ea40: 74 73 32 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f  ts2_icu.lo:.$(TO
ea50: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
ea60: 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28  _icu.c $(HDR) $(
ea70: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
ea80: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
ea90: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
eaa0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
eab0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
eac0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e  t\fts2\fts2_icu.
ead0: 63 0a 0a 66 74 73 32 5f 70 6f 72 74 65 72 2e 6c  c..fts2_porter.l
eae0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
eaf0: 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63  s2\fts2_porter.c
eb00: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
eb10: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
eb20: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
eb30: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
eb40: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
eb50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
eb60: 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 0a 0a  \fts2_porter.c..
eb70: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c  fts2_tokenizer.l
eb80: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
eb90: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  s2\fts2_tokenize
eba0: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR) $(EXT
ebb0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
ebc0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
ebd0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
ebe0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
ebf0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
ec00: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
ec10: 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e  er.c..fts2_token
ec20: 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  izer1.lo:.$(TOP)
ec30: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
ec40: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44  okenizer1.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 32 5c 66 74 73 32  P)\ext\fts2\fts2
ecb0: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66  _tokenizer1.c..f
ecc0: 74 73 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ts3.lo:.$(TOP)\e
ecd0: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 24  xt\fts3\fts3.c $
ece0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
ecf0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
ed00: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
ed10: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
ed20: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
ed30: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
ed40: 74 73 33 2e 63 0a 0a 66 74 73 33 5f 61 75 78 2e  ts3.c..fts3_aux.
ed50: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
ed60: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 24  ts3\fts3_aux.c $
ed70: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
ed80: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
ed90: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
eda0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
edb0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
edc0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
edd0: 74 73 33 5f 61 75 78 2e 63 0a 0a 66 74 73 33 5f  ts3_aux.c..fts3_
ede0: 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  expr.lo:.$(TOP)\
edf0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78  ext\fts3\fts3_ex
ee00: 70 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  pr.c $(HDR) $(EX
ee10: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
ee20: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ee30: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
ee40: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
ee50: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
ee60: 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63  fts3\fts3_expr.c
ee70: 0a 0a 66 74 73 33 5f 68 61 73 68 2e 6c 6f 3a 09  ..fts3_hash.lo:.
ee80: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
ee90: 66 74 73 33 5f 68 61 73 68 2e 63 20 24 28 48 44  fts3_hash.c $(HD
eea0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
eeb0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
eec0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
eed0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
eee0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
eef0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
ef00: 5f 68 61 73 68 2e 63 0a 0a 66 74 73 33 5f 69 63  _hash.c..fts3_ic
ef10: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext
ef20: 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63  \fts3\fts3_icu.c
ef30: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
ef40: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
ef50: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
ef60: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
ef70: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
ef80: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
ef90: 5c 66 74 73 33 5f 69 63 75 2e 63 0a 0a 66 74 73  \fts3_icu.c..fts
efa0: 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a 09 24 28  3_snippet.lo:.$(
efb0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
efc0: 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 24 28 48  s3_snippet.c $(H
efd0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
efe0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
eff0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f000: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
f010: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
f020: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f030: 33 5f 73 6e 69 70 70 65 74 2e 63 0a 0a 66 74 73  3_snippet.c..fts
f040: 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54  3_porter.lo:.$(T
f050: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f060: 33 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52  3_porter.c $(HDR
f070: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f080: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f090: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f0a0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f0b0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f0c0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f0d0: 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 33 5f 74  porter.c..fts3_t
f0e0: 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54  okenizer.lo:.$(T
f0f0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f100: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28  3_tokenizer.c $(
f110: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
f120: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
f130: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
f140: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
f150: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
f160: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f170: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a  s3_tokenizer.c..
f180: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
f190: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
f1a0: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
f1b0: 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45  er1.c $(HDR) $(E
f1c0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
f1d0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
f1e0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
f1f0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f200: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
f210: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
f220: 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 5f 74 6f  izer1.c..fts3_to
f230: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 3a 09  kenize_vtab.lo:.
f240: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
f250: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
f260: 61 62 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  ab.c $(HDR) $(EX
f270: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f280: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f290: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f2a0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f2b0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f2c0: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
f2d0: 7a 65 5f 76 74 61 62 2e 63 0a 0a 66 74 73 33 5f  ze_vtab.c..fts3_
f2e0: 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f  unicode.lo:.$(TO
f2f0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f300: 5f 75 6e 69 63 6f 64 65 2e 63 20 24 28 48 44 52  _unicode.c $(HDR
f310: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f320: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f330: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f340: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f350: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f360: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f370: 75 6e 69 63 6f 64 65 2e 63 0a 0a 66 74 73 33 5f  unicode.c..fts3_
f380: 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09 24 28 54  unicode2.lo:.$(T
f390: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f3a0: 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 24 28 48  3_unicode2.c $(H
f3b0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
f3c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
f3d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f3e0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
f3f0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
f400: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f410: 33 5f 75 6e 69 63 6f 64 65 32 2e 63 0a 0a 66 74  3_unicode2.c..ft
f420: 73 33 5f 77 72 69 74 65 2e 6c 6f 3a 09 24 28 54  s3_write.lo:.$(T
f430: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f440: 33 5f 77 72 69 74 65 2e 63 20 24 28 48 44 52 29  3_write.c $(HDR)
f450: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f460: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
f470: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
f480: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f490: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
f4a0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77  \ext\fts3\fts3_w
f4b0: 72 69 74 65 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f  rite.c..rtree.lo
f4c0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72  :.$(TOP)\ext\rtr
f4d0: 65 65 5c 72 74 72 65 65 2e 63 20 24 28 48 44 52  ee\rtree.c $(HDR
f4e0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f4f0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f500: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f510: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f520: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f530: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65  )\ext\rtree\rtre
f540: 65 2e 63 0a 0a 73 71 6c 69 74 65 33 73 65 73 73  e.c..sqlite3sess
f550: 69 6f 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ion.lo:.$(TOP)\e
f560: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
f570: 65 33 73 65 73 73 69 6f 6e 2e 63 20 24 28 48 44  e3session.c $(HD
f580: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f590: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
f5a0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
f5b0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
f5c0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
f5d0: 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73  P)\ext\session\s
f5e0: 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 0a  qlite3session.c.
f5f0: 0a 23 20 46 54 53 35 20 74 68 69 6e 67 73 0a 23  .# FTS5 things.#
f600: 0a 46 54 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20  .FTS5_SRC = \.  
f610: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
f620: 5c 66 74 73 35 2e 68 20 5c 0a 20 20 20 24 28 54  \fts5.h \.   $(T
f630: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
f640: 35 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  5Int.h \.   $(TO
f650: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
f660: 5f 61 75 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f  _aux.c \.   $(TO
f670: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
f680: 5f 62 75 66 66 65 72 2e 63 20 5c 0a 20 20 20 24  _buffer.c \.   $
f690: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
f6a0: 74 73 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20  ts5_main.c \.   
f6b0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
f6c0: 66 74 73 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a  fts5_config.c \.
f6d0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
f6e0: 73 35 5c 66 74 73 35 5f 65 78 70 72 2e 63 20 5c  s5\fts5_expr.c \
f6f0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
f700: 74 73 35 5c 66 74 73 35 5f 68 61 73 68 2e 63 20  ts5\fts5_hash.c 
f710: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
f720: 66 74 73 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e  fts5\fts5_index.
f730: 63 20 5c 0a 20 20 20 66 74 73 35 70 61 72 73 65  c \.   fts5parse
f740: 2e 63 20 66 74 73 35 70 61 72 73 65 2e 68 20 5c  .c fts5parse.h \
f750: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
f760: 74 73 35 5c 66 74 73 35 5f 73 74 6f 72 61 67 65  ts5\fts5_storage
f770: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
f780: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b  xt\fts5\fts5_tok
f790: 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54  enize.c \.   $(T
f7a0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
f7b0: 35 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20  5_unicode2.c \. 
f7c0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
f7d0: 35 5c 66 74 73 35 5f 76 61 72 69 6e 74 2e 63 20  5\fts5_varint.c 
f7e0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
f7f0: 66 74 73 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e  fts5\fts5_vocab.
f800: 63 0a 0a 4c 53 4d 31 5f 53 52 43 20 3d 20 5c 0a  c..LSM1_SRC = \.
f810: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
f820: 6d 31 5c 6c 73 6d 2e 68 20 5c 0a 20 20 20 24 28  m1\lsm.h \.   $(
f830: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
f840: 6d 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  mInt.h \.   $(TO
f850: 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
f860: 63 6b 70 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f  ckpt.c \.   $(TO
f870: 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
f880: 66 69 6c 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f  file.c \.   $(TO
f890: 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
f8a0: 6c 6f 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  log.c \.   $(TOP
f8b0: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d  )\ext\lsm1\lsm_m
f8c0: 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ain.c \.   $(TOP
f8d0: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d  )\ext\lsm1\lsm_m
f8e0: 65 6d 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  em.c \.   $(TOP)
f8f0: 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 75  \ext\lsm1\lsm_mu
f900: 74 65 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  tex.c \.   $(TOP
f910: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73  )\ext\lsm1\lsm_s
f920: 68 61 72 65 64 2e 63 20 5c 0a 20 20 20 24 28 54  hared.c \.   $(T
f930: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
f940: 5f 73 6f 72 74 65 64 2e 63 20 5c 0a 20 20 20 24  _sorted.c \.   $
f950: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
f960: 73 6d 5f 73 74 72 2e 63 20 5c 0a 20 20 20 24 28  sm_str.c \.   $(
f970: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
f980: 6d 5f 74 72 65 65 2e 63 20 5c 0a 20 20 20 24 28  m_tree.c \.   $(
f990: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
f9a0: 6d 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 20 24 28  m_unix.c \.   $(
f9b0: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
f9c0: 6d 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20  m_varint.c \.   
f9d0: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\
f9e0: 6c 73 6d 5f 76 74 61 62 2e 63 20 5c 0a 20 20 20  lsm_vtab.c \.   
f9f0: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\
fa00: 6c 73 6d 5f 77 69 6e 33 32 2e 63 0a 0a 66 74 73  lsm_win32.c..fts
fa10: 35 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29  5parse.c:.$(TOP)
fa20: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61  \ext\fts5\fts5pa
fa30: 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a  rse.y lemon.exe.
fa40: 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74  .copy $(TOP)\ext
fa50: 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e  \fts5\fts5parse.
fa60: 79 20 2e 0a 09 64 65 6c 20 2f 51 20 66 74 73 35  y ...del /Q fts5
fa70: 70 61 72 73 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e  parse.h 2>NUL...
fa80: 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51  \lemon.exe $(REQ
fa90: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
faa0: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
fab0: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU
fac0: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53  RE_FLAGS) $(OPTS
fad0: 29 20 66 74 73 35 70 61 72 73 65 2e 79 0a 0a 66  ) fts5parse.y..f
fae0: 74 73 35 70 61 72 73 65 2e 68 3a 09 66 74 73 35  ts5parse.h:.fts5
faf0: 70 61 72 73 65 2e 63 0a 0a 66 74 73 35 2e 63 3a  parse.c..fts5.c:
fb00: 09 24 28 46 54 53 35 5f 53 52 43 29 0a 09 24 28  .$(FTS5_SRC)..$(
fb10: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
fb20: 29 5c 65 78 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c  )\ext\fts5\tool\
fb30: 6d 6b 66 74 73 35 63 2e 74 63 6c 0a 09 63 6f 70  mkfts5c.tcl..cop
fb40: 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  y $(TOP)\ext\fts
fb50: 35 5c 66 74 73 35 2e 68 20 2e 0a 0a 6c 73 6d 31  5\fts5.h ...lsm1
fb60: 2e 63 3a 09 24 28 4c 53 4d 31 5f 53 52 43 29 0a  .c:.$(LSM1_SRC).
fb70: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
fb80: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 74 6f  TOP)\ext\lsm1\to
fb90: 6f 6c 5c 6d 6b 6c 73 6d 31 63 2e 74 63 6c 0a 09  ol\mklsm1c.tcl..
fba0: 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c  copy $(TOP)\ext\
fbb0: 6c 73 6d 31 5c 6c 73 6d 2e 68 20 2e 0a 0a 66 74  lsm1\lsm.h ...ft
fbc0: 73 35 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28  s5.lo:.fts5.c $(
fbd0: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
fbe0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
fbf0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
fc00: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
fc10: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 66 74  QLITE_CORE -c ft
fc20: 73 35 2e 63 0a 0a 66 74 73 35 5f 65 78 74 2e 6c  s5.c..fts5_ext.l
fc30: 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52 29  o:.fts5.c $(HDR)
fc40: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
fc50: 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41  COMPILE) $(NO_WA
fc60: 52 4e 29 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66  RN) -c fts5.c..f
fc70: 74 73 35 2e 64 6c 6c 3a 09 66 74 73 35 5f 65 78  ts5.dll:.fts5_ex
fc80: 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44  t.lo..$(LD) $(LD
fc90: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
fca0: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH
fcb0: 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20  S) /DLL /OUT:$@ 
fcc0: 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c  fts5_ext.lo..sql
fcd0: 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f  ite3rbu.lo:.$(TO
fce0: 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74  P)\ext\rbu\sqlit
fcf0: 65 33 72 62 75 2e 63 20 24 28 48 44 52 29 20 24  e3rbu.c $(HDR) $
fd00: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
fd10: 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f  MPILE) -DSQLITE_
fd20: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
fd30: 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62  xt\rbu\sqlite3rb
fd40: 75 2e 63 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20  u.c..# Rules to 
fd50: 62 75 69 6c 64 20 74 68 65 20 27 74 65 73 74 66  build the 'testf
fd60: 69 78 74 75 72 65 27 20 61 70 70 6c 69 63 61 74  ixture' applicat
fd70: 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75 73 69 6e  ion..#.# If usin
fd80: 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69  g the amalgamati
fd90: 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74 65 33 2e  on, use sqlite3.
fda0: 63 20 64 69 72 65 63 74 6c 79 20 74 6f 20 62 75  c directly to bu
fdb0: 69 6c 64 20 74 68 65 20 74 65 73 74 0a 23 20 66  ild the test.# f
fdc0: 69 78 74 75 72 65 2e 20 20 4f 74 68 65 72 77 69  ixture.  Otherwi
fdd0: 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20  se link against 
fde0: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 2e 20  libsqlite3.lib. 
fdf0: 20 28 54 68 69 73 20 64 69 73 74 69 6e 63 74 69   (This distincti
fe00: 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73 73 61 72  on is.# necessar
fe10: 79 20 62 65 63 61 75 73 65 20 74 68 65 20 74 65  y because the te
fe20: 73 74 20 66 69 78 74 75 72 65 20 72 65 71 75 69  st fixture requi
fe30: 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62  res non-API symb
fe40: 6f 6c 73 20 77 68 69 63 68 20 61 72 65 0a 23 20  ols which are.# 
fe50: 68 69 64 64 65 6e 20 77 68 65 6e 20 74 68 65 20  hidden when the 
fe60: 6c 69 62 72 61 72 79 20 69 73 20 62 75 69 6c 74  library is built
fe70: 20 76 69 61 20 74 68 65 20 61 6d 61 6c 67 61 6d   via the amalgam
fe80: 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49  ation)..#.TESTFI
fe90: 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 2d 44  XTURE_FLAGS = -D
fea0: 54 43 4c 53 48 5f 49 4e 49 54 5f 50 52 4f 43 3d  TCLSH_INIT_PROC=
feb0: 73 71 6c 69 74 65 33 54 65 73 74 49 6e 69 74 20  sqlite3TestInit 
fec0: 2d 44 53 51 4c 49 54 45 5f 54 45 53 54 3d 31 20  -DSQLITE_TEST=1 
fed0: 2d 44 53 51 4c 49 54 45 5f 43 52 41 53 48 5f 54  -DSQLITE_CRASH_T
fee0: 45 53 54 3d 31 0a 54 45 53 54 46 49 58 54 55 52  EST=1.TESTFIXTUR
fef0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST
ff00: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FIXTURE_FLAGS) -
ff10: 44 53 51 4c 49 54 45 5f 53 45 52 56 45 52 3d 31  DSQLITE_SERVER=1
ff20: 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 56 41 54   -DSQLITE_PRIVAT
ff30: 45 3d 22 22 0a 54 45 53 54 46 49 58 54 55 52 45  E="".TESTFIXTURE
ff40: 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF
ff50: 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
ff60: 53 51 4c 49 54 45 5f 43 4f 52 45 20 24 28 4e 4f  SQLITE_CORE $(NO
ff70: 5f 57 41 52 4e 29 0a 54 45 53 54 46 49 58 54 55  _WARN).TESTFIXTU
ff80: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES
ff90: 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
ffa0: 2d 44 53 51 4c 49 54 45 5f 53 45 52 49 45 53 5f  -DSQLITE_SERIES_
ffb0: 43 4f 4e 53 54 52 41 49 4e 54 5f 56 45 52 49 46  CONSTRAINT_VERIF
ffc0: 59 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f  Y=1.TESTFIXTURE_
ffd0: 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI
ffe0: 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
fff0: 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 50 41  QLITE_DEFAULT_PA
10000 47 45 5f 53 49 5a 45 3d 31 30 32 34 0a 54 45 53  GE_SIZE=1024.TES
10010 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
10020 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F
10030 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  LAGS) -DSQLITE_E
10040 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 0a 54  NABLE_STMTVTAB.T
10050 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10060 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
10070 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
10080 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f 56  _ENABLE_DBPAGE_V
10090 54 41 42 0a 54 45 53 54 46 49 58 54 55 52 45 5f  TAB.TESTFIXTURE_
100a0 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI
100b0 58 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 54  XTURE_FLAGS) $(T
100c0 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a  EST_CCONV_OPTS).
100d0 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  .TESTFIXTURE_SRC
100e0 30 20 3d 20 24 28 54 45 53 54 45 58 54 29 20 24  0 = $(TESTEXT) $
100f0 28 54 45 53 54 53 52 43 32 29 0a 54 45 53 54 46  (TESTSRC2).TESTF
10100 49 58 54 55 52 45 5f 53 52 43 31 20 3d 20 24 28  IXTURE_SRC1 = $(
10110 54 45 53 54 45 58 54 29 20 24 28 53 51 4c 49 54  TESTEXT) $(SQLIT
10120 45 33 43 29 0a 21 49 46 20 24 28 55 53 45 5f 41  E3C).!IF $(USE_A
10130 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
10140 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 20  TESTFIXTURE_SRC 
10150 3d 20 24 28 54 45 53 54 53 52 43 29 20 24 28 54  = $(TESTSRC) $(T
10160 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
10170 65 2e 63 20 24 28 54 45 53 54 46 49 58 54 55 52  e.c $(TESTFIXTUR
10180 45 5f 53 52 43 30 29 0a 21 45 4c 53 45 0a 54 45  E_SRC0).!ELSE.TE
10190 53 54 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20  STFIXTURE_SRC = 
101a0 24 28 54 45 53 54 53 52 43 29 20 24 28 54 4f 50  $(TESTSRC) $(TOP
101b0 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
101c0 63 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  c $(TESTFIXTURE_
101d0 53 52 43 31 29 0a 21 45 4e 44 49 46 0a 0a 21 49  SRC1).!ENDIF..!I
101e0 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29  F $(USE_STDCALL)
101f0 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
10200 31 30 29 21 3d 30 0a 73 71 6c 69 74 65 5f 74 63  10)!=0.sqlite_tc
10210 6c 44 65 63 6c 73 2e 68 3a 0a 09 65 63 68 6f 20  lDecls.h:..echo 
10220 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 54  #ifndef SQLITE_T
10230 43 4c 41 50 49 20 3e 20 24 28 53 51 4c 49 54 45  CLAPI > $(SQLITE
10240 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f  TCLDECLSH)..echo
10250 20 23 20 20 64 65 66 69 6e 65 20 53 51 4c 49 54   #  define SQLIT
10260 45 5f 54 43 4c 41 50 49 20 3e 3e 20 24 28 53 51  E_TCLAPI >> $(SQ
10270 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09  LITETCLDECLSH)..
10280 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 24  echo #endif >> $
10290 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48  (SQLITETCLDECLSH
102a0 29 0a 09 74 79 70 65 20 22 24 28 54 43 4c 49 4e  )..type "$(TCLIN
102b0 43 44 49 52 29 5c 74 63 6c 44 65 63 6c 73 2e 68  CDIR)\tclDecls.h
102c0 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  " \...| $(TCLSH_
102d0 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
102e0 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67  \replace.tcl reg
102f0 73 75 62 20 22 5e 28 45 58 54 45 52 4e 28 3f 3a  sub "^(EXTERN(?:
10300 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f 5c 73 2b 3f   CONST\d+?)?\s+?
10310 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29 54 63 6c 5f  [^\(]*?\s+?)Tcl_
10320 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c  " "\1 SQLITE_TCL
10330 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20  API Tcl_" \...| 
10340 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
10350 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
10360 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e 28 45  .tcl regsub "^(E
10370 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a 76 6f 69 64  XTERN\s+?(?:void
10380 7c 56 4f 49 44 29 5c 73 2b 3f 29 54 63 6c 46 72  |VOID)\s+?)TclFr
10390 65 65 4f 62 6a 22 20 22 5c 31 20 53 51 4c 49 54  eeObj" "\1 SQLIT
103a0 45 5f 54 43 4c 41 50 49 20 54 63 6c 46 72 65 65  E_TCLAPI TclFree
103b0 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c  Obj" \...| $(TCL
103c0 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
103d0 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
103e0 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 5f  regsub "\(\*tcl_
103f0 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50  " "(SQLITE_TCLAP
10400 49 20 2a 74 63 6c 5f 22 20 5c 0a 09 09 7c 20 24  I *tcl_" \...| $
10410 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
10420 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
10430 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a  tcl regsub "\(\*
10440 74 63 6c 46 72 65 65 4f 62 6a 22 20 22 28 53 51  tclFreeObj" "(SQ
10450 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c  LITE_TCLAPI *tcl
10460 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24  FreeObj" \...| $
10470 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
10480 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
10490 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a  tcl regsub "\(\*
104a0 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50  " "(SQLITE_TCLAP
104b0 49 20 2a 22 20 3e 3e 20 24 28 53 51 4c 49 54 45  I *" >> $(SQLITE
104c0 54 43 4c 44 45 43 4c 53 48 29 0a 0a 73 71 6c 69  TCLDECLSH)..sqli
104d0 74 65 5f 74 63 6c 2e 68 3a 0a 09 74 79 70 65 20  te_tcl.h:..type 
104e0 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c 74 63  "$(TCLINCDIR)\tc
104f0 6c 2e 68 22 20 7c 20 24 28 54 43 4c 53 48 5f 43  l.h" | $(TCLSH_C
10500 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
10510 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
10520 74 20 74 63 6c 44 65 63 6c 73 2e 68 20 73 71 6c  t tclDecls.h sql
10530 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68 20 5c  ite_tclDecls.h \
10540 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
10550 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
10560 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
10570 20 22 74 79 70 65 64 65 66 20 28 2e 2a 3f 29 5c   "typedef (.*?)\
10580 28 54 63 6c 5f 22 20 22 74 79 70 65 64 65 66 20  (Tcl_" "typedef 
10590 5c 31 20 28 53 51 4c 49 54 45 5f 54 43 4c 41 50  \1 (SQLITE_TCLAP
105a0 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28  I Tcl_" \...| $(
105b0 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
105c0 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
105d0 63 6c 20 65 78 61 63 74 20 22 76 6f 69 64 20 28  cl exact "void (
105e0 2a 66 72 65 65 50 72 6f 63 29 22 20 22 76 6f 69  *freeProc)" "voi
105f0 64 20 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  d (SQLITE_TCLAPI
10600 20 2a 66 72 65 65 50 72 6f 63 29 22 20 5c 0a 09   *freeProc)" \..
10610 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
10620 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
10630 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22 54  ace.tcl exact "T
10640 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 2a  cl_HashEntry *(*
10650 66 69 6e 64 50 72 6f 63 29 22 20 22 54 63 6c 5f  findProc)" "Tcl_
10660 48 61 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49  HashEntry *(SQLI
10670 54 45 5f 54 43 4c 41 50 49 20 2a 66 69 6e 64 50  TE_TCLAPI *findP
10680 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28 54 43  roc)" \...| $(TC
10690 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
106a0 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
106b0 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61 73 68   exact "Tcl_Hash
106c0 45 6e 74 72 79 20 2a 28 2a 63 72 65 61 74 65 50  Entry *(*createP
106d0 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45  roc)" "Tcl_HashE
106e0 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43  ntry *(SQLITE_TC
106f0 4c 41 50 49 20 2a 63 72 65 61 74 65 50 72 6f 63  LAPI *createProc
10700 29 22 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43  )" >> $(SQLITETC
10710 4c 48 29 0a 21 45 4e 44 49 46 0a 0a 74 65 73 74  LH).!ENDIF..test
10720 66 69 78 74 75 72 65 2e 65 78 65 3a 09 24 28 54  fixture.exe:.$(T
10730 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 29 20  ESTFIXTURE_SRC) 
10740 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 44 45  $(TESTFIXTURE_DE
10750 50 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 24  P) $(SQLITE3H) $
10760 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 48  (LIBRESOBJS) $(H
10770 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c  DR) $(SQLITE_TCL
10780 5f 44 45 50 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  _DEP)..$(LTLINK)
10790 20 2d 44 53 51 4c 49 54 45 5f 4e 4f 5f 53 59 4e   -DSQLITE_NO_SYN
107a0 43 3d 31 20 24 28 54 45 53 54 46 49 58 54 55 52  C=1 $(TESTFIXTUR
107b0 45 5f 46 4c 41 47 53 29 20 5c 0a 09 09 2d 44 42  E_FLAGS) \...-DB
107c0 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28  UILD_sqlite -I$(
107d0 54 43 4c 49 4e 43 44 49 52 29 20 5c 0a 09 09 24  TCLINCDIR) \...$
107e0 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  (TESTFIXTURE_SRC
107f0 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44  ) \.../link $(LD
10800 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
10810 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54  PTS) $(TCLLIBPAT
10820 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  HS) $(LTLIBPATHS
10830 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
10840 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c  $(TCLLIBS) $(LTL
10850 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 65  IBS) $(TLIBS)..e
10860 78 74 65 6e 73 69 6f 6e 74 65 73 74 3a 09 74 65  xtensiontest:.te
10870 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 74 65  stfixture.exe te
10880 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40  stloadext.dll..@
10890 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43  set PATH=$(LIBTC
108a0 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09  LPATH);$(PATH)..
108b0 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  .\testfixture.ex
108c0 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f  e $(TOP)\test\lo
108d0 61 64 65 78 74 2e 74 65 73 74 20 24 28 54 45 53  adext.test $(TES
108e0 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74  TOPTS)..fulltest
108f0 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 66  :.$(TESTPROGS) f
10900 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41  uzztest..@set PA
10910 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
10920 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
10930 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
10940 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74  P)\test\all.test
10950 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f   $(TESTOPTS)..so
10960 61 6b 74 65 73 74 3a 09 24 28 54 45 53 54 50 52  aktest:.$(TESTPR
10970 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d  OGS)..@set PATH=
10980 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
10990 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
109a0 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
109b0 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73  test\all.test -s
109c0 6f 61 6b 3d 31 20 24 28 54 45 53 54 4f 50 54 53  oak=1 $(TESTOPTS
109d0 29 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a  )..fulltestonly:
109e0 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75  .$(TESTPROGS) fu
109f0 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54  zztest..@set PAT
10a00 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
10a10 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
10a20 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
10a30 29 5c 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74  )\test\full.test
10a40 0a 0a 71 75 65 72 79 70 6c 61 6e 74 65 73 74 3a  ..queryplantest:
10a50 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  .testfixture.exe
10a60 20 73 68 65 6c 6c 0a 09 40 73 65 74 20 50 41 54   shell..@set PAT
10a70 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
10a80 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
10a90 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
10aa0 29 5c 74 65 73 74 5c 70 65 72 6d 75 74 61 74 69  )\test\permutati
10ab0 6f 6e 73 2e 74 65 73 74 20 71 75 65 72 79 70 6c  ons.test querypl
10ac0 61 6e 6e 65 72 20 24 28 54 45 53 54 4f 50 54 53  anner $(TESTOPTS
10ad0 29 0a 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a  )..fuzztest:.fuz
10ae0 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75  zcheck.exe...\fu
10af0 7a 7a 63 68 65 63 6b 2e 65 78 65 20 24 28 46 55  zzcheck.exe $(FU
10b00 5a 5a 44 41 54 41 29 0a 0a 66 61 73 74 66 75 7a  ZZDATA)..fastfuz
10b10 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b  ztest:.fuzzcheck
10b20 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63  .exe...\fuzzchec
10b30 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65  k.exe --limit-me
10b40 6d 20 31 30 30 4d 20 24 28 46 55 5a 5a 44 41 54  m 100M $(FUZZDAT
10b50 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65  A)..# Minimal te
10b60 73 74 69 6e 67 20 74 68 61 74 20 72 75 6e 73 20  sting that runs 
10b70 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 33 20 6d  in less than 3 m
10b80 69 6e 75 74 65 73 20 28 6f 6e 20 61 20 66 61 73  inutes (on a fas
10b90 74 20 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 69  t machine).#.qui
10ba0 63 6b 74 65 73 74 3a 09 74 65 73 74 66 69 78 74  cktest:.testfixt
10bb0 75 72 65 2e 65 78 65 20 73 6f 75 72 63 65 74 65  ure.exe sourcete
10bc0 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  st..@set PATH=$(
10bd0 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
10be0 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
10bf0 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
10c00 73 74 5c 65 78 74 72 61 71 75 69 63 6b 2e 74 65  st\extraquick.te
10c10 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS)..
10c20 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f  # This is the co
10c30 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e 20  mmon case.  Run 
10c40 6d 61 6e 79 20 74 65 73 74 73 20 74 68 61 74 20  many tests that 
10c50 64 6f 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20  do not take too 
10c60 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e  long,.# includin
10c70 67 20 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c  g fuzzcheck, sql
10c80 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61  ite3_analyzer, a
10c90 6e 64 20 73 71 6c 64 69 66 66 20 74 65 73 74 73  nd sqldiff tests
10ca0 2e 0a 23 0a 74 65 73 74 3a 09 24 28 54 45 53 54  ..#.test:.$(TEST
10cb0 50 52 4f 47 53 29 20 73 6f 75 72 63 65 74 65 73  PROGS) sourcetes
10cc0 74 20 66 61 73 74 66 75 7a 7a 74 65 73 74 0a 09  t fastfuzztest..
10cd0 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT
10ce0 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH).
10cf0 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
10d00 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 76  xe $(TOP)\test\v
10d10 65 72 79 71 75 69 63 6b 2e 74 65 73 74 20 24 28  eryquick.test $(
10d20 54 45 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65  TESTOPTS)..smoke
10d30 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47  test:.$(TESTPROG
10d40 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  S)..@set PATH=$(
10d50 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
10d60 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
10d70 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
10d80 73 74 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28 54  st\main.test $(T
10d90 45 53 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65  ESTOPTS)..sqlite
10da0 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 28  3_analyzer.c:.$(
10db0 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
10dc0 54 45 33 48 29 20 24 28 54 4f 50 29 5c 73 72 63  TE3H) $(TOP)\src
10dd0 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54  \tclsqlite.c $(T
10de0 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e  OP)\tool\spacean
10df0 61 6c 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f  al.tcl $(TOP)\to
10e00 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24  ol\mkccode.tcl $
10e10 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74  (TOP)\tool\sqlit
10e20 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e  e3_analyzer.c.in
10e30 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45   $(SQLITE_TCL_DE
10e40 50 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  P)..$(TCLSH_CMD)
10e50 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63   $(TOP)\tool\mkc
10e60 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c  code.tcl $(TOP)\
10e70 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e 61  tool\sqlite3_ana
10e80 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a  lyzer.c.in > $@.
10e90 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65  .sqlite3_analyze
10ea0 72 2e 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 61  r.exe:.sqlite3_a
10eb0 6e 61 6c 79 7a 65 72 2e 63 20 24 28 4c 49 42 52  nalyzer.c $(LIBR
10ec0 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e  ESOBJS)..$(LTLIN
10ed0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
10ee0 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24  BUILD_sqlite -I$
10ef0 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 69  (TCLINCDIR) sqli
10f00 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 5c  te3_analyzer.c \
10f10 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .../link $(LDFLA
10f20 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
10f30 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29  ) $(TCLLIBPATHS)
10f40 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24   $(LTLIBPATHS) $
10f50 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54  (LIBRESOBJS) $(T
10f60 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53  CLLIBS) $(LTLIBS
10f70 29 20 24 28 54 4c 49 42 53 29 0a 0a 73 71 6c 74  ) $(TLIBS)..sqlt
10f80 63 6c 73 68 2e 63 3a 20 73 71 6c 69 74 65 33 2e  clsh.c: sqlite3.
10f90 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  c $(TOP)\src\tcl
10fa0 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c  sqlite.c $(TOP)\
10fb0 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 74 63  tool\sqltclsh.tc
10fc0 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  l $(TOP)\ext\mis
10fd0 63 5c 61 70 70 65 6e 64 76 66 73 2e 63 20 24 28  c\appendvfs.c $(
10fe0 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64  TOP)\tool\mkccod
10ff0 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f  e.tcl $(TOP)\too
11000 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e 69 6e 0a  l\sqltclsh.c.in.
11010 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
11020 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64  TOP)\tool\mkccod
11030 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f  e.tcl $(TOP)\too
11040 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e 69 6e 20  l\sqltclsh.c.in 
11050 3e 73 71 6c 74 63 6c 73 68 2e 63 0a 0a 73 71 6c  >sqltclsh.c..sql
11060 74 63 6c 73 68 2e 65 78 65 3a 20 73 71 6c 74 63  tclsh.exe: sqltc
11070 6c 73 68 2e 63 20 20 24 28 53 48 45 4c 4c 5f 43  lsh.c  $(SHELL_C
11080 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45  ORE_DEP) $(LIBRE
11090 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b  SOBJS)..$(LTLINK
110a0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42  ) $(NO_WARN) -DB
110b0 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28  UILD_sqlite -I$(
110c0 54 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 74 63  TCLINCDIR) sqltc
110d0 6c 73 68 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20  lsh.c \.../link 
110e0 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
110f0 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49  INKOPTS) $(TCLLI
11100 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50  BPATHS) $(LTLIBP
11110 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42  ATHS) $(LIBRESOB
11120 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24  JS) $(TCLLIBS) $
11130 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS
11140 29 0a 0a 73 71 6c 69 74 65 33 5f 65 78 70 65 72  )..sqlite3_exper
11150 74 2e 65 78 65 3a 20 24 28 53 51 4c 49 54 45 33  t.exe: $(SQLITE3
11160 43 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  C) $(TOP)\ext\ex
11170 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
11180 72 74 2e 68 20 24 28 54 4f 50 29 5c 65 78 74 5c  rt.h $(TOP)\ext\
11190 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
111a0 70 65 72 74 2e 63 20 24 28 54 4f 50 29 5c 65 78  pert.c $(TOP)\ex
111b0 74 5c 65 78 70 65 72 74 5c 65 78 70 65 72 74 2e  t\expert\expert.
111c0 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  c..$(LTLINK) $(N
111d0 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29 5c 65  O_WARN).$(TOP)\e
111e0 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65  xt\expert\sqlite
111f0 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f 50 29  3expert.c $(TOP)
11200 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78 70 65  \ext\expert\expe
11210 72 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  rt.c $(SQLITE3C)
11220 20 24 28 54 4c 49 42 53 29 0a 0a 43 48 45 43 4b   $(TLIBS)..CHECK
11230 45 52 5f 44 45 50 53 20 3d 5c 0a 20 20 24 28 54  ER_DEPS =\.  $(T
11240 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 63 63 6f 64 65  OP)/tool/mkccode
11250 2e 74 63 6c 20 5c 0a 20 20 73 71 6c 69 74 65 33  .tcl \.  sqlite3
11260 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
11270 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a  c/tclsqlite.c \.
11280 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70    $(TOP)/ext/rep
11290 61 69 72 2f 73 71 6c 69 74 65 33 5f 63 68 65 63  air/sqlite3_chec
112a0 6b 65 72 2e 74 63 6c 20 5c 0a 20 20 24 28 54 4f  ker.tcl \.  $(TO
112b0 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 63 68  P)/ext/repair/ch
112c0 65 63 6b 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24  eckindex.c \.  $
112d0 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72  (TOP)/ext/repair
112e0 2f 63 68 65 63 6b 66 72 65 65 6c 69 73 74 2e 63  /checkfreelist.c
112f0 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
11300 6d 69 73 63 2f 62 74 72 65 65 69 6e 66 6f 2e 63  misc/btreeinfo.c
11310 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
11320 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33 5f 63  repair/sqlite3_c
11330 68 65 63 6b 65 72 2e 63 2e 69 6e 0a 0a 73 71 6c  hecker.c.in..sql
11340 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 3a 09  ite3_checker.c:.
11350 24 28 43 48 45 43 4b 45 52 5f 44 45 50 53 29 0a  $(CHECKER_DEPS).
11360 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
11370 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64  TOP)\tool\mkccod
11380 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 74  e.tcl $(TOP)\ext
11390 5c 72 65 70 61 69 72 5c 73 71 6c 69 74 65 33 5f  \repair\sqlite3_
113a0 63 68 65 63 6b 65 72 2e 63 2e 69 6e 20 3e 20 24  checker.c.in > $
113b0 40 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65 63 6b  @..sqlite3_check
113c0 65 72 2e 65 78 65 3a 09 73 71 6c 69 74 65 33 5f  er.exe:.sqlite3_
113d0 63 68 65 63 6b 65 72 2e 63 20 24 28 4c 49 42 52  checker.c $(LIBR
113e0 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e  ESOBJS)..$(LTLIN
113f0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
11400 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24  BUILD_sqlite -I$
11410 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 69  (TCLINCDIR) sqli
11420 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 5c 0a  te3_checker.c \.
11430 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ../link $(LDFLAG
11440 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
11450 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20   $(TCLLIBPATHS) 
11460 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28  $(LTLIBPATHS) $(
11470 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43  LIBRESOBJS) $(TC
11480 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29  LLIBS) $(LTLIBS)
11490 20 24 28 54 4c 49 42 53 29 0a 0a 64 62 64 75 6d   $(TLIBS)..dbdum
114a0 70 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  p.exe:.$(TOP)\ex
114b0 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63 20  t\misc\dbdump.c 
114c0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
114d0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
114e0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
114f0 44 42 44 55 4d 50 5f 53 54 41 4e 44 41 4c 4f 4e  DBDUMP_STANDALON
11500 45 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  E $(TOP)\ext\mis
11510 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51 4c  c\dbdump.c $(SQL
11520 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b  ITE3C) \.../link
11530 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
11540 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49  LINKOPTS) $(LTLI
11550 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES
11560 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 0a  OBJS) $(LTLIBS).
11570 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 3a  .testloadext.lo:
11580 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74  .$(TOP)\src\test
11590 5f 6c 6f 61 64 65 78 74 2e 63 0a 09 24 28 4c 54  _loadext.c..$(LT
115a0 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41  COMPILE) $(NO_WA
115b0 52 4e 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  RN) -c $(TOP)\sr
115c0 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63  c\test_loadext.c
115d0 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c  ..testloadext.dl
115e0 6c 3a 09 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c  l:.testloadext.l
115f0 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41  o..$(LD) $(LDFLA
11600 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11610 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
11620 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73  /DLL /OUT:$@ tes
11630 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f  tloadext.lo..sho
11640 77 64 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  wdb.exe:.$(TOP)\
11650 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28  tool\showdb.c $(
11660 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
11670 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
11680 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
11690 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
116a0 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
116b0 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
116c0 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s
116d0 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45  howdb.c $(SQLITE
116e0 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
116f0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
11700 53 29 0a 0a 73 68 6f 77 73 74 61 74 34 2e 65 78  S)..showstat4.ex
11710 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  e:.$(TOP)\tool\s
11720 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c  howstat4.c $(SQL
11730 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
11740 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
11750 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
11760 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
11770 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
11780 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09  D_EXTENSION \...
11790 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
117a0 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45  stat4.c $(SQLITE
117b0 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
117c0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
117d0 53 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e  S)..showjournal.
117e0 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
117f0 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24  \showjournal.c $
11800 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
11810 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
11820 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
11830 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
11840 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
11850 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
11860 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\
11870 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28  showjournal.c $(
11880 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
11890 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
118a0 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 77 61  INKOPTS)..showwa
118b0 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  l.exe:.$(TOP)\to
118c0 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53  ol\showwal.c $(S
118d0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
118e0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
118f0 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
11900 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11910 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
11920 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
11930 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ..$(TOP)\tool\sh
11940 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45  owwal.c $(SQLITE
11950 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
11960 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
11970 53 29 0a 0a 73 68 6f 77 73 68 6d 2e 65 78 65 3a  S)..showshm.exe:
11980 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho
11990 77 73 68 6d 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b  wshm.c..$(LTLINK
119a0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54  ) $(NO_WARN).$(T
119b0 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d  OP)\tool\showshm
119c0 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .c /link $(LDFLA
119d0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
119e0 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65 78 65  )..changeset.exe
119f0 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73  :.$(TOP)\ext\ses
11a00 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63  sion\changeset.c
11a10 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
11a20 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
11a30 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
11a40 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
11a50 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
11a60 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
11a70 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45 5f 45  N \...-DSQLITE_E
11a80 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 20  NABLE_SESSION=1 
11a90 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
11aa0 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31  PREUPDATE_HOOK=1
11ab0 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c   \...$(TOP)\ext\
11ac0 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
11ad0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
11ae0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
11af0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
11b00 66 74 73 33 76 69 65 77 2e 65 78 65 3a 09 24 28  fts3view.exe:.$(
11b10 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f  TOP)\ext\fts3\to
11b20 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28  ol\fts3view.c $(
11b30 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
11b40 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
11b50 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
11b60 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
11b70 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
11b80 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
11b90 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  ...$(TOP)\ext\ft
11ba0 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77  s3\tool\fts3view
11bb0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
11bc0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
11bd0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72  $(LTLINKOPTS)..r
11be0 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65  ollback-test.exe
11bf0 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f  :.$(TOP)\tool\ro
11c00 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28  llback-test.c $(
11c10 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
11c20 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
11c30 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
11c40 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
11c50 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
11c60 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
11c70 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  ...$(TOP)\tool\r
11c80 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24  ollback-test.c $
11c90 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
11ca0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
11cb0 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73  LINKOPTS)..LogEs
11cc0 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  t.exe:.$(TOP)\to
11cd0 6f 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 28 53 51  ol\logest.c $(SQ
11ce0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
11cf0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN) $(
11d00 54 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74  TOP)\tool\LogEst
11d10 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .c /link $(LDFLA
11d20 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11d30 29 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65  )..wordcount.exe
11d40 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f  :.$(TOP)\test\wo
11d50 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49  rdcount.c $(SQLI
11d60 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
11d70 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
11d80 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
11d90 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
11da0 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
11db0 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
11dc0 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63  (TOP)\test\wordc
11dd0 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33  ount.c $(SQLITE3
11de0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
11df0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11e00 29 0a 0a 73 70 65 65 64 74 65 73 74 31 2e 65 78  )..speedtest1.ex
11e10 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73  e:.$(TOP)\test\s
11e20 70 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 51  peedtest1.c $(SQ
11e30 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
11e40 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
11e50 28 4e 4f 5f 57 41 52 4e 29 20 24 28 53 54 5f 43  (NO_WARN) $(ST_C
11e60 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
11e70 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
11e80 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$(
11e90 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74  TOP)\test\speedt
11ea0 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33  est1.c $(SQLITE3
11eb0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
11ec0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11ed0 29 0a 0a 6b 76 74 65 73 74 2e 65 78 65 3a 09 24  )..kvtest.exe:.$
11ee0 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73  (TOP)\test\kvtes
11ef0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
11f00 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
11f10 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
11f20 29 20 24 28 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f  ) $(KV_COMPILE_O
11f30 50 54 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c  PTS) \...$(TOP)\
11f40 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 20 24 28  test\kvtest.c $(
11f50 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
11f60 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
11f70 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 73 65 6c 66  INKOPTS)..dbself
11f80 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  test.exe:.$(TOP)
11f90 5c 74 65 73 74 5c 64 62 73 65 6c 66 74 65 73 74  \test\dbselftest
11fa0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
11fb0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
11fc0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
11fd0 20 24 28 44 42 53 45 4c 46 54 45 53 54 5f 43 4f   $(DBSELFTEST_CO
11fe0 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f  MPILE_OPTS) $(TO
11ff0 50 29 5c 74 65 73 74 5c 64 62 73 65 6c 66 74 65  P)\test\dbselfte
12000 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  st.c $(SQLITE3C)
12010 0a 0a 72 62 75 2e 65 78 65 3a 09 24 28 54 4f 50  ..rbu.exe:.$(TOP
12020 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20  )\ext\rbu\rbu.c 
12030 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73  $(TOP)\ext\rbu\s
12040 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28 53 51  qlite3rbu.c $(SQ
12050 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
12060 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
12070 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
12080 54 45 5f 45 4e 41 42 4c 45 5f 52 42 55 20 5c 0a  TE_ENABLE_RBU \.
12090 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  ..$(TOP)\ext\rbu
120a0 5c 72 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33  \rbu.c $(SQLITE3
120b0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
120c0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
120d0 29 0a 0a 4c 53 4d 44 49 52 3d 24 28 54 4f 50 29  )..LSMDIR=$(TOP)
120e0 5c 65 78 74 5c 6c 73 6d 31 0a 21 49 4e 43 4c 55  \ext\lsm1.!INCLU
120f0 44 45 20 24 28 4c 53 4d 44 49 52 29 5c 4d 61 6b  DE $(LSMDIR)\Mak
12100 65 66 69 6c 65 2e 6d 73 63 0a 0a 6d 6f 72 65 63  efile.msc..morec
12110 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c  lean:.clean..del
12120 20 2f 51 20 24 28 53 51 4c 49 54 45 33 43 29 20   /Q $(SQLITE3C) 
12130 24 28 53 51 4c 49 54 45 33 48 29 20 32 3e 4e 55  $(SQLITE3H) 2>NU
12140 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63  L.# <</mark>>..c
12150 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e  lean:..del /Q *.
12160 65 78 70 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a  exp *.lo *.ilk *
12170 2e 6c 69 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62  .lib *.obj *.ncb
12180 20 2a 2e 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73   *.pdb *.sdf *.s
12190 75 6f 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  uo 2>NUL..del /Q
121a0 20 2a 2e 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63   *.bsc *.def *.c
121b0 6f 64 20 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62  od *.da *.bb *.b
121c0 62 67 20 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74  bg *.vc gmon.out
121d0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24   2>NUL..del /Q $
121e0 28 53 51 4c 49 54 45 33 45 58 45 29 20 24 28 53  (SQLITE3EXE) $(S
121f0 51 4c 49 54 45 33 44 4c 4c 29 20 52 65 70 6c 61  QLITE3DLL) Repla
12200 63 65 2e 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c  ce.exe 2>NUL.# <
12210 3c 6d 61 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20  <mark>>..del /Q 
12220 73 71 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65  sqlite3.c sqlite
12230 33 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  3.h 2>NUL..del /
12240 51 20 6f 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f  Q opcodes.c opco
12250 64 65 73 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  des.h 2>NUL..del
12260 20 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70   /Q lemon.* lemp
12270 61 72 2e 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e  ar.c parse.* 2>N
12280 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b 73 6f 75  UL..del /Q mksou
12290 72 63 65 69 64 2e 2a 20 6d 6b 6b 65 79 77 6f 72  rceid.* mkkeywor
122a0 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68  dhash.* keywordh
122b0 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  ash.h 2>NUL..del
122c0 20 2f 51 20 6e 6f 74 61 73 68 61 72 65 64 6c 69   /Q notasharedli
122d0 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69  b.* 2>NUL..-rmdi
122e0 72 20 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e  r /Q/S .deps 2>N
122f0 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20  UL..-rmdir /Q/S 
12300 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d  .libs 2>NUL..-rm
12310 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e  dir /Q/S tsrc 2>
12320 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61 72  NUL..del /Q .tar
12330 67 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55 4c  get_source 2>NUL
12340 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c 69  ..del /Q tclsqli
12350 74 65 33 2e 65 78 65 20 24 28 53 51 4c 49 54 45  te3.exe $(SQLITE
12360 54 43 4c 48 29 20 24 28 53 51 4c 49 54 45 54 43  TCLH) $(SQLITETC
12370 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55 4c 0a 09  LDECLSH) 2>NUL..
12380 64 65 6c 20 2f 51 20 6c 73 6d 2e 64 6c 6c 20 6c  del /Q lsm.dll l
12390 73 6d 74 65 73 74 2e 65 78 65 20 32 3e 4e 55 4c  smtest.exe 2>NUL
123a0 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 6c 6f 61  ..del /Q testloa
123b0 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09  dext.dll 2>NUL..
123c0 64 65 6c 20 2f 51 20 74 65 73 74 66 69 78 74 75  del /Q testfixtu
123d0 72 65 2e 65 78 65 20 74 65 73 74 2e 64 62 20 32  re.exe test.db 2
123e0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 4c 6f 67  >NUL..del /Q Log
123f0 45 73 74 2e 65 78 65 20 66 74 73 33 76 69 65 77  Est.exe fts3view
12400 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b 2d 74 65  .exe rollback-te
12410 73 74 2e 65 78 65 20 73 68 6f 77 64 62 2e 65 78  st.exe showdb.ex
12420 65 20 64 62 64 75 6d 70 2e 65 78 65 20 32 3e 4e  e dbdump.exe 2>N
12430 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68 61 6e 67  UL..del /Q chang
12440 65 73 65 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  eset.exe 2>NUL..
12450 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f 75 72 6e  del /Q showjourn
12460 61 6c 2e 65 78 65 20 73 68 6f 77 73 74 61 74 34  al.exe showstat4
12470 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e 65 78 65  .exe showwal.exe
12480 20 73 70 65 65 64 74 65 73 74 31 2e 65 78 65 20   speedtest1.exe 
12490 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 70  2>NUL..del /Q mp
124a0 74 65 73 74 65 72 2e 65 78 65 20 77 6f 72 64 63  tester.exe wordc
124b0 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e 65 78 65  ount.exe rbu.exe
124c0 20 73 72 63 63 6b 31 2e 65 78 65 20 32 3e 4e 55   srcck1.exe 2>NU
124d0 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
124e0 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a 2e 63 20  3.c sqlite3-*.c 
124f0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
12500 6c 69 74 65 33 72 63 2e 68 20 32 3e 4e 55 4c 0a  lite3rc.h 2>NUL.
12510 09 64 65 6c 20 2f 51 20 73 68 65 6c 6c 2e 63 20  .del /Q shell.c 
12520 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c  sqlite3ext.h sql
12530 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 20 32 3e  ite3session.h 2>
12540 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69  NUL..del /Q sqli
12550 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65  te3_analyzer.exe
12560 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
12570 72 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  r.c 2>NUL..del /
12580 51 20 73 71 6c 69 74 65 2d 2a 2d 6f 75 74 70 75  Q sqlite-*-outpu
12590 74 2e 76 73 69 78 20 32 3e 4e 55 4c 0a 09 64 65  t.vsix 2>NUL..de
125a0 6c 20 2f 51 20 66 75 7a 7a 65 72 73 68 65 6c 6c  l /Q fuzzershell
125b0 2e 65 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65  .exe fuzzcheck.e
125c0 78 65 20 73 71 6c 64 69 66 66 2e 65 78 65 20 64  xe sqldiff.exe d
125d0 62 68 61 73 68 2e 65 78 65 20 32 3e 4e 55 4c 0a  bhash.exe 2>NUL.
125e0 09 64 65 6c 20 2f 51 20 73 71 6c 74 63 6c 73 68  .del /Q sqltclsh
125f0 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del 
12600 2f 51 20 66 74 73 35 2e 2a 20 66 74 73 35 70 61  /Q fts5.* fts5pa
12610 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c  rse.* 2>NUL..del
12620 20 2f 51 20 6c 73 6d 2e 68 20 6c 73 6d 31 2e 63   /Q lsm.h lsm1.c
12630 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b   2>NUL.# <</mark
12640 3e 3e 0a                                         >>.