/ Hex Artifact Content
Login

Artifact e8b973cd249b0db11c221c1bd7e9f738e8dac369275160342e1011f3932074c9:


0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS 
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel 
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP 
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable 
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors 
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has 
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS = 
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file 
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the 
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra 
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U
06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a  SE_FULLWARN)!=0.
0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35  NO_WARN = -wd405
0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30  4 -wd4055 -wd410
0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33  0 -wd4127 -wd413
0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38  0 -wd4152 -wd418
0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52  9 -wd4206.NO_WAR
0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  N = $(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e 61  ult, this is ena
0970: 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70 61  bled.# for compa
0980: 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f 6c  tibility with ol
0990: 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72 6f  der build enviro
09a0: 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73 65  nments.  This se
09b0: 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70 70  tting only.# app
09c0: 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43 4d  lies if TCLSH_CM
09d0: 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61 6e  D is not set man
09e0: 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45 46  ually..#.!IFNDEF
09f0: 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50 41   USE_TCLSH_IN_PA
0a00: 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f  TH.USE_TCLSH_IN_
0a10: 50 41 54 48 20 3d 20 31 0a 21 45 4e 44 49 46 0a  PATH = 1.!ENDIF.
0a20: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0a30: 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20 70  0 to use zlib, p
0a40: 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69 6e  ossibly compilin
0a50: 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63 65  g it from source
0a60: 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45 46   code..#.!IFNDEF
0a70: 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a 4c   USE_ZLIB.USE_ZL
0a80: 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  IB = 0.!ENDIF..#
0a90: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0aa0: 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66 72  to build zlib fr
0ab0: 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20  om source code. 
0ac0: 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   This is enabled
0ad0: 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61 6e   by.# default an
0ae0: 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20 69  d in that case i
0af0: 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d 65  t will be assume
0b00: 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42 44  d that the ZLIBD
0b10: 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e 74  IR macro.# point
0b20: 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65 76  s to the top-lev
0b30: 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 64  el source code d
0b40: 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c 69  irectory for zli
0b50: 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55 49  b..#.!IFNDEF BUI
0b60: 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a 4c  LD_ZLIB.BUILD_ZL
0b70: 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a 23  IB = 1.!ENDIF..#
0b80: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0b90: 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65 72  to use the Inter
0ba0: 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e 65  national Compone
0bb0: 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65 20  nts for Unicode 
0bc0: 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45 46  (ICU)..#.!IFNDEF
0bd0: 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43 55   USE_ICU.USE_ICU
0be0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c 3c   = 0.!ENDIF.# <<
0bf0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20 74  /mark>>..# Set t
0c00: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79 6e  his non-0 to dyn
0c10: 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f  amically link to
0c20: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d   the MSVC runtim
0c30: 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46  e library..#.!IF
0c40: 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c 4c  NDEF USE_CRT_DLL
0c50: 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20 30  .USE_CRT_DLL = 0
0c60: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0c70: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69 6e  his non-0 to lin
0c80: 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34 20  k to the RPCRT4 
0c90: 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44  library..#.!IFND
0ca0: 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  EF USE_RPCRT4_LI
0cb0: 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42  B.USE_RPCRT4_LIB
0cc0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53   = 0.!ENDIF..# S
0cd0: 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f  et this non-0 to
0ce0: 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d 62   generate assemb
0cf0: 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73  ly code listings
0d00: 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 20   for the source 
0d10: 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23 0a  code.# files..#.
0d20: 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53 54  !IFNDEF USE_LIST
0d30: 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e 47  INGS.USE_LISTING
0d40: 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  S = 0.!ENDIF..# 
0d50: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0d60: 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69 6e  o attempt settin
0d70: 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f 6d  g the native com
0d80: 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63 61  piler automatica
0d90: 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73 2d  lly.# for cross-
0da0: 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63 6f  compiling the co
0db0: 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73  mmand line tools
0dc0: 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20 74   needed during t
0dd0: 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a 23  he compilation.#
0de0: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0df0: 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43 4f  DEF XCOMPILE.XCO
0e00: 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49 46  MPILE = 0.!ENDIF
0e10: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0e20: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e 61  -0 to use the na
0e30: 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20 70  tive libraries p
0e40: 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d 63  aths for cross-c
0e50: 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20 63  ompiling.# the c
0e60: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0e70: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during 
0e80: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20  the compilation 
0e90: 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e 44  process..#.!IFND
0ea0: 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49  EF USE_NATIVE_LI
0eb0: 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49 56  BPATHS.USE_NATIV
0ec0: 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a 21  E_LIBPATHS = 0.!
0ed0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0ee0: 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65 20  s 0 to skip the 
0ef0: 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65 6d  compiling and em
0f00: 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73 69  bedding of versi
0f10: 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23 0a  on resources..#.
0f20: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a 55  !IFNDEF USE_RC.U
0f30: 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49 46  SE_RC = 1.!ENDIF
0f40: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0f50: 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69  -0 to compile bi
0f60: 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20  naries suitable 
0f70: 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65 6e  for the WinRT en
0f80: 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68 69  vironment..# Thi
0f90: 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20 6e  s setting does n
0fa0: 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79 20  ot apply to any 
0fb0: 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72 65  binaries that re
0fc0: 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70 65  quire Tcl to ope
0fd0: 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79 20  rate.# properly 
0fe0: 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20 66  (i.e. the text f
0ff0: 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23 0a  ixture, etc)..#.
1000: 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e 52  !IFNDEF FOR_WINR
1010: 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30 0a  T.FOR_WINRT = 0.
1020: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
1030: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d 70  is non-0 to comp
1040: 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75 69  ile binaries sui
1050: 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55 57  table for the UW
1060: 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23  P environment..#
1070: 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64 6f   This setting do
1080: 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20  es not apply to 
1090: 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68 61  any binaries tha
10a0: 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74 6f  t require Tcl to
10b0: 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70 65   operate.# prope
10c0: 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74 65  rly (i.e. the te
10d0: 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63 29  xt fixture, etc)
10e0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f  ..#.!IFNDEF FOR_
10f0: 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30 0a  UWP.FOR_UWP = 0.
1100: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
1110: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d 70  is non-0 to comp
1120: 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75 69  ile binaries sui
1130: 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57 69  table for the Wi
1140: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72  ndows 10 platfor
1150: 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  m..#.!IFNDEF FOR
1160: 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31 30  _WIN10.FOR_WIN10
1170: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
1180: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
1190: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69 70  is non-0 to skip
11a0: 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 6c   attempting to l
11b0: 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20 6c  ook for and/or l
11c0: 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63 6c  ink with the Tcl
11d0: 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61  .# runtime libra
11e0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 4f  ry..#.!IFNDEF NO
11f0: 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30 0a  _TCL.NO_TCL = 0.
1200: 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b  !ENDIF.# <</mark
1210: 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74  >>..# Set this t
1220: 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61 74  o non-0 to creat
1230: 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e 0a  e and use PDBs..
1240: 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f 4c  #.!IFNDEF SYMBOL
1250: 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21 45  S.SYMBOLS = 1.!E
1260: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
1270: 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65   to non-0 to use
1280: 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62 75   the SQLite debu
1290: 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73 79  gging heap subsy
12a0: 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20  stem..#.!IFNDEF 
12b0: 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42 55  MEMDEBUG.MEMDEBU
12c0: 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  G = 0.!ENDIF..# 
12d0: 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d  Set this to non-
12e0: 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69 6e  0 to use the Win
12f0: 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20 73  32 native heap s
1300: 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e  ubsystem..#.!IFN
1310: 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57 49  DEF WIN32HEAP.WI
1320: 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e 44  N32HEAP = 0.!END
1330: 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74  IF..# Set this t
1340: 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c  o non-0 to enabl
1350: 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63 72  e OSTRACE() macr
1360: 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65  os, which can be
1370: 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20 64   useful when.# d
1380: 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46 4e  ebugging..#.!IFN
1390: 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54 52  DEF OSTRACE.OSTR
13a0: 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  ACE = 0.!ENDIF..
13b0: 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f 6e  # Set this to on
13c0: 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69  e of the followi
13d0: 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e 61  ng values to ena
13e0: 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62 75  ble various debu
13f0: 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65 73  gging.# features
1400: 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69 6e  .  Each level in
1410: 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75 67  cludes the debug
1420: 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72 6f  ging options fro
1430: 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a 23  m the previous.#
1440: 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65 6e   levels.  Curren
1450: 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e 69  tly, the recogni
1460: 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20 44  zed values for D
1470: 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30 20  EBUG are:.#.# 0 
1480: 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61 62  == NDEBUG: Disab
1490: 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e 64  les assert() and
14a0: 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20 64   other runtime d
14b0: 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31 20  iagnostics..# 1 
14c0: 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  == SQLITE_ENABLE
14d0: 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74 72  _API_ARMOR: extr
14e0: 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64 65  a attempts to de
14f0: 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20 74  tect misuse of t
1500: 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20 44  he API..# 2 == D
1510: 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20 61  isables NDEBUG a
1520: 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74  nd all optimizat
1530: 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65 6e  ions and then en
1540: 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33 20  ables PDBs..# 3 
1550: 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47 3a  == SQLITE_DEBUG:
1560: 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75 73   Enables various
1570: 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65 73   diagnostics mes
1580: 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e 0a  sages and code..
1590: 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57 49  # 4 == SQLITE_WI
15a0: 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44  N32_MALLOC_VALID
15b0: 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74 68  ATE: Validate th
15c0: 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20 68  e Win32 native h
15d0: 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23 20  eap per call..# 
15e0: 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55  5 == SQLITE_DEBU
15f0: 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61 62  G_OS_TRACE: Enab
1600: 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d 20  les output from 
1610: 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61  the OSTRACE() ma
1620: 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51 4c  cros..# 6 == SQL
1630: 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52 41  ITE_ENABLE_IOTRA
1640: 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74 70  CE: Enables outp
1650: 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54 52  ut from the IOTR
1660: 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23 0a  ACE() macros..#.
1670: 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44 45  !IFNDEF DEBUG.DE
1680: 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  BUG = 0.!ENDIF..
1690: 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66 20  # Enable use of 
16a0: 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69 6c  available compil
16b0: 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  er optimizations
16c0: 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68 69  ?  Normally, thi
16d0: 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e 6f  s should be.# no
16e0: 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e 67  n-zero.  Setting
16f0: 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20 74   this to zero, t
1700: 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61 6c  hus disabling al
1710: 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6d  l compiler optim
1720: 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e 20  izations,.# can 
1730: 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74 65  be useful for te
1740: 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45 46  sting..#.!IFNDEF
1750: 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a 4f   OPTIMIZATIONS.O
1760: 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20 32  PTIMIZATIONS = 2
1770: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1780: 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20  his to non-0 to 
1790: 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20 66  enable support f
17a0: 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20 65  or the session e
17b0: 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46 4e  xtension..#.!IFN
17c0: 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53 53  DEF SESSION.SESS
17d0: 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  ION = 0.!ENDIF..
17e0: 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63 65  # Set the source
17f0: 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62 65   code file to be
1800: 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74 61   used by executa
1810: 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72 69  bles and librari
1820: 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20 6e  es when.# they n
1830: 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d 61  eed the amalgama
1840: 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20  tion..#.!IFNDEF 
1850: 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28 53  SQLITE3C.!IF $(S
1860: 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  PLIT_AMALGAMATIO
1870: 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20 3d  N)!=0.SQLITE3C =
1880: 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a 21   sqlite3-all.c.!
1890: 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d 20  ELSE.SQLITE3C = 
18a0: 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49 46  sqlite3.c.!ENDIF
18b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
18c0: 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65 20  he include code 
18d0: 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20  file to be used 
18e0: 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 61  by executables a
18f0: 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 65  nd libraries whe
1900: 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53 51  n.# they need SQ
1910: 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20  Lite..#.!IFNDEF 
1920: 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45 33  SQLITE3H.SQLITE3
1930: 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21 45  H = sqlite3.h.!E
1940: 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20  NDIF..# This is 
1950: 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 20  the name to use 
1960: 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 64  for the SQLite d
1970: 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72  ynamic link libr
1980: 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49 46  ary (DLL)..#.!IF
1990: 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c 0a  NDEF SQLITE3DLL.
19a0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  !IF $(FOR_WIN10)
19b0: 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20 3d  !=0.SQLITE3DLL =
19c0: 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c 0a   winsqlite3.dll.
19d0: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c 4c  !ELSE.SQLITE3DLL
19e0: 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 21   = sqlite3.dll.!
19f0: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
1a00: 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d 65  This is the name
1a10: 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65 20   to use for the 
1a20: 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c 69  SQLite import li
1a30: 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a 21  brary (LIB)..#.!
1a40: 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c 49  IFNDEF SQLITE3LI
1a50: 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  B.!IF $(FOR_WIN1
1a60: 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49 42  0)!=0.SQLITE3LIB
1a70: 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c 69   = winsqlite3.li
1a80: 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 4c  b.!ELSE.SQLITE3L
1a90: 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69 62  IB = sqlite3.lib
1aa0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
1ab0: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61  # This is the na
1ac0: 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68  me to use for th
1ad0: 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 65  e SQLite shell e
1ae0: 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 2e  xecutable (EXE).
1af0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54  .#.!IFNDEF SQLIT
1b00: 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52 5f  E3EXE.!IF $(FOR_
1b10: 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 45  WIN10)!=0.SQLITE
1b20: 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74 65  3EXE = winsqlite
1b30: 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53 45  3shell.exe.!ELSE
1b40: 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73 71  .SQLITE3EXE = sq
1b50: 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49 46  lite3.exe.!ENDIF
1b60: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This 
1b70: 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20  is the argument 
1b80: 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65 20  used to set the 
1b90: 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73 65  program database
1ba0: 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72 20   (PDB) file for 
1bb0: 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68 65  the.# SQLite she
1bc0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28 45  ll executable (E
1bd0: 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53  XE)..#.!IFNDEF S
1be0: 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49 46  QLITE3EXEPDB.!IF
1bf0: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
1c00: 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 3d  .SQLITE3EXEPDB =
1c10: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45 58  .!ELSE.SQLITE3EX
1c20: 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c 69  EPDB = /pdb:sqli
1c30: 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49 46  te3sh.pdb.!ENDIF
1c40: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
1c50: 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65 20  k>>.# These are 
1c60: 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65  the names of the
1c70: 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c 20   customized Tcl 
1c80: 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 65  header files use
1c90: 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61 72  d by various par
1ca0: 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61 6b  ts.# of this mak
1cb0: 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20 73  efile when the s
1cc0: 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20 63  tdcall calling c
1cd0: 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e 20  onvention is in 
1ce0: 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74 0a  use.  It is not.
1cf0: 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 6f  # used for any o
1d00: 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23 0a  ther purpose..#.
1d10: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54 43  !IFNDEF SQLITETC
1d20: 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d 20  LH.SQLITETCLH = 
1d30: 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45 4e  sqlite_tcl.h.!EN
1d40: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51 4c  DIF..!IFNDEF SQL
1d50: 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51 4c  ITETCLDECLSH.SQL
1d60: 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20 73  ITETCLDECLSH = s
1d70: 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68  qlite_tclDecls.h
1d80: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
1d90: 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69 6f   are the additio
1da0: 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 74  nal targets that
1db0: 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68 61   the targets tha
1dc0: 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74 68  t integrate with
1dd0: 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72 61   the.# Tcl libra
1de0: 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64  ry should depend
1df0: 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69   on when compili
1e00: 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e 44  ng, etc..#.!IFND
1e10: 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45  EF SQLITE_TCL_DE
1e20: 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43  P.!IF $(USE_STDC
1e30: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR
1e40: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1e50: 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53 51  E_TCL_DEP = $(SQ
1e60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 24  LITETCLDECLSH) $
1e70: 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45 4c  (SQLITETCLH).!EL
1e80: 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45  SE.SQLITE_TCL_DE
1e90: 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  P =.!ENDIF.!ENDI
1ea0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
1eb0: 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 22   These are the "
1ec0: 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74 65  standard" SQLite
1ed0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74   compilation opt
1ee0: 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63  ions used when c
1ef0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74  ompiling for.# t
1f00: 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66  he Windows platf
1f10: 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4f  orm..#.!IFNDEF O
1f20: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
1f30: 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f 41  .!IF $(MINIMAL_A
1f40: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
1f50: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1f60: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR
1f70: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
1f80: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31 0a  E_ENABLE_FTS3=1.
1f90: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1fa0: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR
1fb0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
1fc0: 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d 31  E_ENABLE_RTREE=1
1fd0: 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41 54  .!ENDIF.OPT_FEAT
1fe0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
1ff0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2000: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2010: 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41  _COLUMN_METADATA
2020: 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f  =1.!ENDIF..# Sho
2030: 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e 20  uld the session 
2040: 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e 61  extension be ena
2050: 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61 64  bled?  If so, ad
2060: 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  d compilation op
2070: 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62 6c  tions.# to enabl
2080: 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53 45  e it..#.!IF $(SE
2090: 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46 45  SSION)!=0.OPT_FE
20a0: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  ATURE_FLAGS = $(
20b0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
20c0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
20d0: 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50 54  LE_SESSION=1.OPT
20e0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
20f0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
2100: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  LAGS) -DSQLITE_E
2110: 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f  NABLE_PREUPDATE_
2120: 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a 23  HOOK=1.!ENDIF..#
2130: 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 22   These are the "
2140: 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74 65  extended" SQLite
2150: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74   compilation opt
2160: 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63  ions used when c
2170: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74  ompiling for.# t
2180: 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c  he Windows 10 pl
2190: 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45  atform..#.!IFNDE
21a0: 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  F EXT_FEATURE_FL
21b0: 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  AGS.!IF $(FOR_WI
21c0: 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41 54  N10)!=0.EXT_FEAT
21d0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58  URE_FLAGS = $(EX
21e0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
21f0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2200: 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41 54  _FTS4=1.EXT_FEAT
2210: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58  URE_FLAGS = $(EX
2220: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2230: 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45 4d   -DSQLITE_SYSTEM
2240: 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 45  _MALLOC=1.EXT_FE
2250: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  ATURE_FLAGS = $(
2260: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
2270: 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  S) -DSQLITE_OMIT
2280: 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45 4c  _LOCALTIME=1.!EL
2290: 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46  SE.EXT_FEATURE_F
22a0: 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45  LAGS =.!ENDIF.!E
22b0: 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23 23  NDIF..##########
22c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2300: 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23 23  #####.##########
2310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2320: 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50 54  ##### END OF OPT
2330: 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23 23  IONS ###########
2340: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2350: 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23 23  #####.##########
2360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2370: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2390: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
23a0: 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63 6f  #####..# When co
23b0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65 20  mpiling for the 
23c0: 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66  Windows 10 platf
23d0: 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f 52  orm, the PLATFOR
23e0: 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65 20  M macro must be 
23f0: 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70 72  set.# to an appr
2400: 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28 65  opriate value (e
2410: 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61 72  .g. x86, x64, ar
2420: 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e 0a  m, arm64, etc)..
2430: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  #.!IF $(FOR_WIN1
2440: 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50 4c  0)!=0.!IFNDEF PL
2450: 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55 73  ATFORM.!ERROR Us
2460: 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e 31  ing the FOR_WIN1
2470: 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65  0 option require
2480: 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50 4c  s a value for PL
2490: 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a 21  ATFORM..!ENDIF.!
24a0: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61 73  ENDIF..# This as
24b0: 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43 20  sumes that MSVC 
24c0: 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61 6c  is always instal
24d0: 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50 72  led in 32-bit Pr
24e0: 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72 65  ogram Files dire
24f0: 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74 73  ctory.# and sets
2500: 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66 6f   the variable fo
2510: 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69 6e  r use in locatin
2520: 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20 69  g other 32-bit i
2530: 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69 6e  nstalls accordin
2540: 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 49  gly..#.PROGRAMFI
2550: 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49 4e  LES_X86 = $(VCIN
2560: 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e 0a  STALLDIR)\..\...
2570: 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36  PROGRAMFILES_X86
2580: 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45   = $(PROGRAMFILE
2590: 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  S_X86:\\=\)..# C
25a0: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65  heck for the pre
25b0: 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20  defined command 
25c0: 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73 20  macro CC.  This 
25d0: 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20  should point to 
25e0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20 62  the compiler.# b
25f0: 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74 61  inary for the ta
2600: 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20  rget platform.  
2610: 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66  If it is not def
2620: 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66  ined, simply def
2630: 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65 20  ine it to.# the 
2640: 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 76  legacy default v
2650: 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a 23  alue 'cl.exe'..#
2660: 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20 3d  .!IFNDEF CC.CC =
2670: 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a   cl.exe.!ENDIF..
2680: 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20  # Check for the 
2690: 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61  predefined comma
26a0: 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20 54  nd macro CSC.  T
26b0: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
26c0: 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23 20   to a working.# 
26d0: 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65 72  C Sharp compiler
26e0: 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74 20   binary.  If it 
26f0: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20  is not defined, 
2700: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74  simply define it
2710: 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63 79   to the.# legacy
2720: 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27   default value '
2730: 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e  csc.exe'..#.!IFN
2740: 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63 73  DEF CSC.CSC = cs
2750: 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20  c.exe.!ENDIF..# 
2760: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f  Check for the co
2770: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e 20  mmand macro LD. 
2780: 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69   This should poi
2790: 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 72  nt to the linker
27a0: 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 68   binary for.# th
27b0: 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72  e target platfor
27c0: 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74  m.  If it is not
27d0: 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79   defined, simply
27e0: 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68   define it to th
27f0: 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61 75  e legacy.# defau
2800: 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e 65  lt value 'link.e
2810: 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c  xe'..#.!IFNDEF L
2820: 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 0a  D.LD = link.exe.
2830: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check 
2840: 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 6e  for the predefin
2850: 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f  ed command macro
2860: 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c   RC.  This shoul
2870: 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 72  d point to the r
2880: 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 6c  esource.# compil
2890: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68  er binary for th
28a0: 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72  e target platfor
28b0: 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74  m.  If it is not
28c0: 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79   defined, simply
28d0: 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f 20   define.# it to 
28e0: 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61 75  the legacy defau
28f0: 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78 65  lt value 'rc.exe
2900: 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 0a  '..#.!IFNDEF RC.
2910: 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e 44  RC = rc.exe.!END
2920: 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20  IF..# Check for 
2930: 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d 65  the MSVC runtime
2940: 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d 61   library path ma
2950: 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c  cro.  Otherwise,
2960: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c   this value will
2970: 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68  .# default to th
2980: 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72  e 'lib' director
2990: 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65  y underneath the
29a0: 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 69   MSVC installati
29b0: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a  on directory..#.
29c0: 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50 41  !IFNDEF CRTLIBPA
29d0: 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20  TH.CRTLIBPATH = 
29e0: 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c  $(VCINSTALLDIR)\
29f0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54 4c  lib.!ENDIF..CRTL
2a00: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI
2a10: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  BPATH:\\=\)..# C
2a20: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d  heck for the com
2a30: 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e 20  mand macro NCC. 
2a40: 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69   This should poi
2a50: 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c  nt to the compil
2a60: 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 20  er binary.# for 
2a70: 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 65  the platform the
2a80: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f   compilation pro
2a90: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70  cess is taking p
2aa0: 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 20  lace on.  If it 
2ab0: 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 64  is not.# defined
2ac0: 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20  , simply define 
2ad0: 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20 73  it to have the s
2ae0: 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68 65  ame value as the
2af0: 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 6e   CC macro.  When
2b00: 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  .# cross-compili
2b10: 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65 73  ng, it is sugges
2b20: 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d 61  ted that this ma
2b30: 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20  cro be modified 
2b40: 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a  via the command.
2b50: 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e 6d  # line (since nm
2b60: 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73 20  ake itself does 
2b70: 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62 75  not provide a bu
2b80: 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 6f  ilt-in method to
2b90: 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46 6f   guess it)..# Fo
2ba0: 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 73  r example, to us
2bb0: 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69 6c  e the x86 compil
2bc0: 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 6f  er when cross-co
2bd0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 2c  mpiling for x64,
2be0: 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e   a command.# lin
2bf0: 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65  e similar to the
2c00: 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c 64   following could
2c10: 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f 6e   be used (all on
2c20: 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20   one line):.#.# 
2c30: 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b      nmake /f Mak
2c40: 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65  efile.msc sqlite
2c50: 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20  3.dll.#         
2c60: 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 45    XCOMPILE=1 USE
2c70: 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53  _NATIVE_LIBPATHS
2c80: 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 69  =1.#.# Alternati
2c90: 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 70  vely, the full p
2ca0: 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 6d  ath and file nam
2cb0: 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65  e to the compile
2cc0: 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65  r binary for the
2cd0: 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20  .# platform the 
2ce0: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63  compilation proc
2cf0: 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c  ess is taking pl
2d00: 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63 69  ace may be speci
2d10: 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 6f  fied (all on.# o
2d20: 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20  ne line):.#.#   
2d30: 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66    nmake /f Makef
2d40: 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e  ile.msc sqlite3.
2d50: 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20  dll.#           
2d60: 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41 4c  "NCC=""%VCINSTAL
2d70: 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 65  LDIR%\bin\cl.exe
2d80: 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20 20  """.#           
2d90: 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41  USE_NATIVE_LIBPA
2da0: 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 4e  THS=1.#.!IFDEF N
2db0: 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a 5c  CC.NCC = $(NCC:\
2dc0: 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28 58  \=\).!ELSEIF $(X
2dd0: 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 20  COMPILE)!=0.NCC 
2de0: 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 49  = "$(VCINSTALLDI
2df0: 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e 43  R)\bin\$(CC)".NC
2e00: 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a  C = $(NCC:\\=\).
2e10: 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43 43  !ELSE.NCC = $(CC
2e20: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  ).!ENDIF..# Chec
2e30: 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 6e  k for the MSVC n
2e40: 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c 69  ative runtime li
2e50: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f  brary path macro
2e60: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 20  .  Otherwise,.# 
2e70: 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 20  this value will 
2e80: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27  default to the '
2e90: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75  lib' directory u
2ea0: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53  nderneath the MS
2eb0: 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 6f  VC.# installatio
2ec0: 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21  n directory..#.!
2ed0: 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 41  IFNDEF NCRTLIBPA
2ee0: 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d  TH.NCRTLIBPATH =
2ef0: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29   $(VCINSTALLDIR)
2f00: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43 52  \lib.!ENDIF..NCR
2f10: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43 52  TLIBPATH = $(NCR
2f20: 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a  TLIBPATH:\\=\)..
2f30: 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20  # Check for the 
2f40: 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 62  Platform SDK lib
2f50: 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e  rary path macro.
2f60: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69    Otherwise, thi
2f70: 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 64  s.# value will d
2f80: 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c  efault to the 'l
2f90: 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e  ib' directory un
2fa0: 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e  derneath the Win
2fb0: 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 61  dows.# SDK insta
2fc0: 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72  llation director
2fd0: 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65  y (the environme
2fe0: 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65 64  nt variable used
2ff0: 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62 65   appears.# to be
3000: 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20   available when 
3010: 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b 2b  using Visual C++
3020: 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20 76   2008 or later v
3030: 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e 64  ia the.# command
3040: 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 45   line)..#.!IFNDE
3050: 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e 53  F NSDKLIBPATH.NS
3060: 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49  DKLIBPATH = $(WI
3070: 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62  NDOWSSDKDIR)\lib
3080: 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49 42  .!ENDIF..NSDKLIB
3090: 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49 42  PATH = $(NSDKLIB
30a0: 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68  PATH:\\=\)..# Ch
30b0: 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52 54  eck for the UCRT
30c0: 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d 61   library path ma
30d0: 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c  cro.  Otherwise,
30e0: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c   this value will
30f0: 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68  .# default to th
3100: 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66  e version-specif
3110: 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65  ic, platform-spe
3120: 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72 65  cific 'lib' dire
3130: 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 61  ctory.# undernea
3140: 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53  th the Windows S
3150: 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20  DK installation 
3160: 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46  directory..#.!IF
3170: 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54 48  NDEF UCRTLIBPATH
3180: 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24  .UCRTLIBPATH = $
3190: 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c  (WINDOWSSDKDIR)\
31a0: 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44 4b  lib\$(WINDOWSSDK
31b0: 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 74  LIBVERSION)\ucrt
31c0: 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4e  \$(PLATFORM).!EN
31d0: 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54 48  DIF..UCRTLIBPATH
31e0: 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54 48   = $(UCRTLIBPATH
31f0: 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d 70  :\\=\)..# C comp
3200: 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73  iler and options
3210: 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c   for use in buil
3220: 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73  ding executables
3230: 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e   that.# will run
3240: 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 6d   on the platform
3250: 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20 74   that is doing t
3260: 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 20  he build..#.!IF 
3270: 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21  $(USE_FULLWARN)!
3280: 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20  =0.BCC = $(NCC) 
3290: 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43 43  -nologo -W4 $(CC
32a0: 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53 29  OPTS) $(BCCOPTS)
32b0: 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28 4e  .!ELSE.BCC = $(N
32c0: 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20  CC) -nologo -W3 
32d0: 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43 4f  $(CCOPTS) $(BCCO
32e0: 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43  PTS).!ENDIF..# C
32f0: 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79  heck if assembly
3300: 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73   code listings s
3310: 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74  hould be generat
3320: 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63  ed for the sourc
3330: 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74  e.# code files t
3340: 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23  o be compiled..#
3350: 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49  .!IF $(USE_LISTI
3360: 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24 28  NGS)!=0.BCC = $(
3370: 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49  BCC) -FAcs.!ENDI
3380: 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74 68  F..# Check if th
3390: 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72 79  e native library
33a0: 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62 65   paths should be
33b0: 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69   used when compi
33c0: 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d 61  ling.# the comma
33d0: 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75 73  nd line tools us
33e0: 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f  ed during the co
33f0: 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73  mpilation proces
3400: 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65 74  s.  If.# so, set
3410: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6d   the necessary m
3420: 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46 20  acro now..#.!IF 
3430: 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42  $(USE_NATIVE_LIB
3440: 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49 42  PATHS)!=0.NLTLIB
3450: 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41 54  PATHS = "/LIBPAT
3460: 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48 29  H:$(NCRTLIBPATH)
3470: 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 53  " "/LIBPATH:$(NS
3480: 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49 46  DKLIBPATH)"..!IF
3490: 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54 48  DEF NUCRTLIBPATH
34a0: 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20  .NUCRTLIBPATH = 
34b0: 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a 5c  $(NUCRTLIBPATH:\
34c0: 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48 53  \=\).NLTLIBPATHS
34d0: 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53   = $(NLTLIBPATHS
34e0: 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 55  ) "/LIBPATH:$(NU
34f0: 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45 4e  CRTLIBPATH)".!EN
3500: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20  DIF.!ENDIF..# C 
3510: 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70 74  compiler and opt
3520: 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e 20  ions for use in 
3530: 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74 61  building executa
3540: 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c 6c  bles that.# will
3550: 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72 67   run on the targ
3560: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28 42  et platform.  (B
3570: 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20 75  CC and TCC are u
3580: 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61 6d  sually the.# sam
3590: 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61 72  e unless your ar
35a0: 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e  e cross-compilin
35b0: 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  g.).#.!IF $(USE_
35c0: 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43 43  FULLWARN)!=0.TCC
35d0: 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f   = $(CC) -nologo
35e0: 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f 4d   -W4 -DINCLUDE_M
35f0: 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54 53  SVC_H=1 $(CCOPTS
3600: 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45 4c  ) $(TCCOPTS).!EL
3610: 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20 2d  SE.TCC = $(CC) -
3620: 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f  nologo -W3 $(CCO
3630: 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a  PTS) $(TCCOPTS).
3640: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check 
3650: 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f 75  if warnings shou
3660: 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73  ld be treated as
3670: 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f 6d   errors when com
3680: 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24 28  piling..#.!IF $(
3690: 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29 21  USE_FATAL_WARN)!
36a0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
36b0: 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43 20  -WX.!ENDIF..TCC 
36c0: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
36d0: 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d  E_OS_WIN=1 -I. -
36e0: 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50 29  I$(TOP) -I$(TOP)
36f0: 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73 65  \src -fp:precise
3700: 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44 53  .RCC = $(RC) -DS
3710: 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d  QLITE_OS_WIN=1 -
3720: 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 28  I. -I$(TOP) -I$(
3730: 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50 54  TOP)\src $(RCOPT
3740: 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a 23  S) $(RCCOPTS)..#
3750: 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61 6e   Check if we wan
3760: 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73 74  t to use the "st
3770: 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 63  dcall" calling c
3780: 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20 63  onvention when c
3790: 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69 73  ompiling..# This
37a0: 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65   is not supporte
37b0: 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65  d by the compile
37c0: 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 70  rs for non-x86 p
37d0: 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73 68  latforms.  It sh
37e0: 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20 6e  ould.# also be n
37f0: 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20 62  oted here that b
3800: 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72 67  uilding any targ
3810: 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22 73  et with these "s
3820: 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 0a  tdcall" options.
3830: 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65  # will most like
3840: 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20 54  ly fail if the T
3850: 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61 6c  cl library is al
3860: 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54 68  so required.  Th
3870: 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20 68  is is due.# to h
3880: 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61  ow the Tcl libra
3890: 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65  ry functions are
38a0: 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65 78   declared and ex
38b0: 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69 74  ported (i.e. wit
38c0: 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69 63  hout.# an explic
38d0: 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  it calling conve
38e0: 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65 73  ntion, which res
38f0: 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22 29  ults in "cdecl")
3900: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54  ..#.!IF $(USE_ST
3910: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  DCALL)!=0 || $(F
3920: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 46  OR_WIN10)!=0.!IF
3930: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
3940: 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e 56  "x86".CORE_CCONV
3950: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3960: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
3970: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3980: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3990: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
39a0: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
39b0: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
39c0: 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f  all.SHELL_CCONV_
39d0: 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c  OPTS = -Gz -DSQL
39e0: 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63  ITE_CDECL=__cdec
39f0: 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41  l -DSQLITE_APICA
3a00: 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  LL=__stdcall -DS
3a10: 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f  QLITE_CALLBACK=_
3a20: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3a30: 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61  E_SYSAPI=__stdca
3a40: 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45  ll.# <<mark>>.TE
3a50: 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20  ST_CCONV_OPTS = 
3a60: 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45  -Gz -DSQLITE_CDE
3a70: 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c  CL=__cdecl -DSQL
3a80: 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74  ITE_APICALL=__st
3a90: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43  dcall -DSQLITE_C
3aa0: 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c  ALLBACK=__stdcal
3ab0: 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50  l -DSQLITE_SYSAP
3ac0: 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49 4e  I=__stdcall -DIN
3ad0: 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43 4c  CLUDE_SQLITE_TCL
3ae0: 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54 43  _H=1 -DSQLITE_TC
3af0: 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c  LAPI=__cdecl.# <
3b00: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 21  </mark>>.!ELSE.!
3b10: 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a  IFNDEF PLATFORM.
3b20: 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  CORE_CCONV_OPTS 
3b30: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3b40: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3b50: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3b60: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3b70: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3b80: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3b90: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48  API=__stdcall.SH
3ba0: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3bb0: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3bc0: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3bd0: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3be0: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3bf0: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3c00: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3c10: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c  PI=__stdcall.# <
3c20: 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f  <mark>>.TEST_CCO
3c30: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44  NV_OPTS = -Gz -D
3c40: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63  SQLITE_CDECL=__c
3c50: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50  decl -DSQLITE_AP
3c60: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20  ICALL=__stdcall 
3c70: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  -DSQLITE_CALLBAC
3c80: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  K=__stdcall -DSQ
3c90: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74  LITE_SYSAPI=__st
3ca0: 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f  dcall -DINCLUDE_
3cb0: 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d  SQLITE_TCL_H=1 -
3cc0: 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f  DSQLITE_TCLAPI=_
3cd0: 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b  _cdecl.# <</mark
3ce0: 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43  >>.!ELSE.CORE_CC
3cf0: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c  ONV_OPTS =.SHELL
3d00: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.# 
3d10: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3d20: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f  ONV_OPTS =.# <</
3d30: 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21 45  mark>>.!ENDIF.!E
3d40: 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45 5f  NDIF.!ELSE.CORE_
3d50: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45  CCONV_OPTS =.SHE
3d60: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a  LL_CCONV_OPTS =.
3d70: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f  # <<mark>>.TEST_
3d80: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c  CCONV_OPTS =.# <
3d90: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a  </mark>>.!ENDIF.
3da0: 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64  .# These are add
3db0: 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72  itional compiler
3dc0: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f   options used fo
3dd0: 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  r the core libra
3de0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f  ry..#.!IFNDEF CO
3df0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a  RE_COMPILE_OPTS.
3e00: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH
3e10: 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ELL)!=0 || $(FOR
3e20: 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45 5f  _WIN10)!=0.CORE_
3e30: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $
3e40: 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  (CORE_CCONV_OPTS
3e50: 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f  ) -DSQLITE_API=_
3e60: 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78 70  _declspec(dllexp
3e70: 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45 5f  ort).!ELSE.CORE_
3e80: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $
3e90: 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  (CORE_CCONV_OPTS
3ea0: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
3eb0: 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65  .# These are the
3ec0: 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 67   additional targ
3ed0: 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f 72  ets that the cor
3ee0: 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c 64  e library should
3ef0: 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68 65   depend on.# whe
3f00: 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49 46  n linking..#.!IF
3f10: 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 44  NDEF CORE_LINK_D
3f20: 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  EP.!IF $(DYNAMIC
3f30: 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f  _SHELL)!=0.CORE_
3f40: 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 45  LINK_DEP =.!ELSE
3f50: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d  IF $(FOR_WIN10)=
3f60: 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52  =0 || "$(PLATFOR
3f70: 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f  M)"=="x86".CORE_
3f80: 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69 74  LINK_DEP = sqlit
3f90: 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52  e3.def.!ELSE.COR
3fa0: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4e  E_LINK_DEP =.!EN
3fb0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
3fc0: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e  ese are addition
3fd0: 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  al linker option
3fe0: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 63  s used for the c
3ff0: 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ore library..#.!
4000: 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b  IFNDEF CORE_LINK
4010: 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41  _OPTS.!IF $(DYNA
4020: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f  MIC_SHELL)!=0.CO
4030: 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21  RE_LINK_OPTS =.!
4040: 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49 4e  ELSEIF $(FOR_WIN
4050: 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41  10)==0 || "$(PLA
4060: 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43  TFORM)"=="x86".C
4070: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20  ORE_LINK_OPTS = 
4080: 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65 66  /DEF:sqlite3.def
4090: 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b  .!ELSE.CORE_LINK
40a0: 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a 21  _OPTS =.!ENDIF.!
40b0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
40c0: 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f  re additional co
40d0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75  mpiler options u
40e0: 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65 6c  sed for the shel
40f0: 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a  l executable..#.
4100: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f  !IFNDEF SHELL_CO
4110: 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24  MPILE_OPTS.!IF $
4120: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21  (DYNAMIC_SHELL)!
4130: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
4140: 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50  0)!=0.SHELL_COMP
4150: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45  ILE_OPTS = $(SHE
4160: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d  LL_CCONV_OPTS) -
4170: 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65  DSQLITE_API=__de
4180: 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72 74  clspec(dllimport
4190: 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f  ).!ELSE.SHELL_CO
41a0: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53  MPILE_OPTS = $(S
41b0: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29  HELL_CCONV_OPTS)
41c0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
41d0: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73 6f  # This is the so
41e0: 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20 74  urce code that t
41f0: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
4200: 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63 6f  ble should be co
4210: 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a 23  mpiled.# with..#
4220: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
4230: 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44 59  ORE_SRC.!IF $(DY
4240: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20  NAMIC_SHELL)!=0 
4250: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
4260: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  =0.SHELL_CORE_SR
4270: 43 20 3d 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f  C =.!ELSE.SHELL_
4280: 43 4f 52 45 5f 53 52 43 20 3d 20 24 28 53 51 4c  CORE_SRC = $(SQL
4290: 49 54 45 33 43 29 0a 21 45 4e 44 49 46 0a 21 45  ITE3C).!ENDIF.!E
42a0: 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20  NDIF..# This is 
42b0: 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79  the core library
42c0: 20 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c 20   that the shell 
42d0: 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75 6c  executable shoul
42e0: 64 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a 21  d depend on..#.!
42f0: 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52  IFNDEF SHELL_COR
4300: 45 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41  E_DEP.!IF $(DYNA
4310: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c  MIC_SHELL)!=0 ||
4320: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
4330: 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20  .SHELL_CORE_DEP 
4340: 3d 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a  = $(SQLITE3DLL).
4350: 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45  !ELSE.SHELL_CORE
4360: 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45  _DEP =.!ENDIF.!E
4370: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
4380: 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f  .# If zlib suppo
4390: 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61  rt is enabled, a
43a0: 64 64 20 74 68 65 20 73 68 65 6c 6c 20 64 65 70  dd the shell dep
43b0: 65 6e 64 65 6e 63 79 20 66 6f 72 20 69 74 2e 0a  endency for it..
43c0: 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42  #.!IF $(USE_ZLIB
43d0: 29 21 3d 30 20 26 26 20 24 28 42 55 49 4c 44 5f  )!=0 && $(BUILD_
43e0: 5a 4c 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 43  ZLIB)!=0.SHELL_C
43f0: 4f 52 45 5f 44 45 50 20 3d 20 7a 6c 69 62 20 24  ORE_DEP = zlib $
4400: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29  (SHELL_CORE_DEP)
4410: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
4420: 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74  k>>..# This is t
4430: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20  he core library 
4440: 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65  that the shell e
4450: 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64  xecutable should
4460: 20 6c 69 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49   link with..#.!I
4470: 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45  FNDEF SHELL_CORE
4480: 5f 4c 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d  _LIB.!IF $(DYNAM
4490: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20  IC_SHELL)!=0 || 
44a0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
44b0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d  SHELL_CORE_LIB =
44c0: 20 24 28 53 51 4c 49 54 45 33 4c 49 42 29 0a 21   $(SQLITE3LIB).!
44d0: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f  ELSE.SHELL_CORE_
44e0: 4c 49 42 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e  LIB =.!ENDIF.!EN
44f0: 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65  DIF..# These are
4500: 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b   additional link
4510: 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20  er options used 
4520: 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78  for the shell ex
4530: 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e  ecutable..#.!IFN
4540: 44 45 46 20 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f  DEF SHELL_LINK_O
4550: 50 54 53 0a 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f  PTS.SHELL_LINK_O
4560: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f  PTS = $(SHELL_CO
4570: 52 45 5f 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a  RE_LIB).!ENDIF..
4580: 23 20 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d  # Check if assem
4590: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
45a0: 73 20 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65  s should be gene
45b0: 72 61 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f  rated for the so
45c0: 75 72 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65  urce.# code file
45d0: 73 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64  s to be compiled
45e0: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49  ..#.!IF $(USE_LI
45f0: 53 54 49 4e 47 53 29 21 3d 30 0a 54 43 43 20 3d  STINGS)!=0.TCC =
4600: 20 24 28 54 43 43 29 20 2d 46 41 63 73 0a 21 45   $(TCC) -FAcs.!E
4610: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
4620: 70 69 6c 69 6e 67 20 74 68 65 20 6c 69 62 72 61  piling the libra
4630: 72 79 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68  ry for use in th
4640: 65 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d  e WinRT environm
4650: 65 6e 74 2c 0a 23 20 74 68 65 20 66 6f 6c 6c 6f  ent,.# the follo
4660: 77 69 6e 67 20 63 6f 6d 70 69 6c 65 2d 74 69 6d  wing compile-tim
4670: 65 20 6f 70 74 69 6f 6e 73 20 6d 75 73 74 20 62  e options must b
4680: 65 20 75 73 65 64 20 61 73 20 77 65 6c 6c 20 74  e used as well t
4690: 6f 0a 23 20 64 69 73 61 62 6c 65 20 75 73 65 20  o.# disable use 
46a0: 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20 74 68  of Win32 APIs th
46b0: 61 74 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c  at are not avail
46c0: 61 62 6c 65 20 61 6e 64 20 74 6f 20 65 6e 61 62  able and to enab
46d0: 6c 65 0a 23 20 75 73 65 20 6f 66 20 57 69 6e 33  le.# use of Win3
46e0: 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65 20  2 APIs that are 
46f0: 73 70 65 63 69 66 69 63 20 74 6f 20 57 69 6e 64  specific to Wind
4700: 6f 77 73 20 38 20 61 6e 64 2f 6f 72 20 57 69 6e  ows 8 and/or Win
4710: 52 54 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f  RT..#.!IF $(FOR_
4720: 57 49 4e 52 54 29 21 3d 30 0a 54 43 43 20 3d 20  WINRT)!=0.TCC = 
4730: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
4740: 4f 53 5f 57 49 4e 52 54 3d 31 0a 52 43 43 20 3d  OS_WINRT=1.RCC =
4750: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
4760: 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 54 43 43 20  _OS_WINRT=1.TCC 
4770: 3d 20 24 28 54 43 43 29 20 2d 44 57 49 4e 41 50  = $(TCC) -DWINAP
4780: 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f  I_FAMILY=WINAPI_
4790: 46 41 4d 49 4c 59 5f 41 50 50 0a 52 43 43 20 3d  FAMILY_APP.RCC =
47a0: 20 24 28 52 43 43 29 20 2d 44 57 49 4e 41 50 49   $(RCC) -DWINAPI
47b0: 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46  _FAMILY=WINAPI_F
47c0: 41 4d 49 4c 59 5f 41 50 50 0a 21 45 4e 44 49 46  AMILY_APP.!ENDIF
47d0: 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 6f  ..# C compiler o
47e0: 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 57  ptions for the W
47f0: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
4800: 72 6d 20 28 6e 65 65 64 73 20 4d 53 56 43 20 32  rm (needs MSVC 2
4810: 30 31 35 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f  015)..#.!IF $(FO
4820: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20  R_WIN10)!=0.TCC 
4830: 3d 20 24 28 54 43 43 29 20 2f 64 32 67 75 61 72  = $(TCC) /d2guar
4840: 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49  d4 -D_ARM_WINAPI
4850: 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54  _PARTITION_DESKT
4860: 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45  OP_SDK_AVAILABLE
4870: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2f 64  .BCC = $(BCC) /d
4880: 32 67 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57  2guard4 -D_ARM_W
4890: 49 4e 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f  INAPI_PARTITION_
48a0: 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49  DESKTOP_SDK_AVAI
48b0: 4c 41 42 4c 45 0a 21 45 4e 44 49 46 0a 0a 23 20  LABLE.!ENDIF..# 
48c0: 41 6c 73 6f 2c 20 77 65 20 6e 65 65 64 20 74 6f  Also, we need to
48d0: 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e   dynamically lin
48e0: 6b 20 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74  k to the correct
48f0: 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 0a 23 20   MSVC runtime.# 
4900: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66  when compiling f
4910: 6f 72 20 57 69 6e 52 54 20 28 65 2e 67 2e 20 64  or WinRT (e.g. d
4920: 65 62 75 67 20 6f 72 20 72 65 6c 65 61 73 65 29  ebug or release)
4930: 20 4f 52 20 69 66 20 74 68 65 0a 23 20 55 53 45   OR if the.# USE
4940: 5f 43 52 54 5f 44 4c 4c 20 6f 70 74 69 6f 6e 20  _CRT_DLL option 
4950: 69 73 20 73 65 74 20 74 6f 20 66 6f 72 63 65 20  is set to force 
4960: 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b  dynamically link
4970: 69 6e 67 20 74 6f 20 74 68 65 0a 23 20 4d 53 56  ing to the.# MSV
4980: 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72  C runtime librar
4990: 79 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57  y..#.!IF $(FOR_W
49a0: 49 4e 52 54 29 21 3d 30 20 7c 7c 20 24 28 55 53  INRT)!=0 || $(US
49b0: 45 5f 43 52 54 5f 44 4c 4c 29 21 3d 30 0a 21 49  E_CRT_DLL)!=0.!I
49c0: 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43  F $(DEBUG)>1.TCC
49d0: 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 64 0a 42   = $(TCC) -MDd.B
49e0: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 64  CC = $(BCC) -MDd
49f0: 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54  .!ELSE.TCC = $(T
4a00: 43 43 29 20 2d 4d 44 0a 42 43 43 20 3d 20 24 28  CC) -MD.BCC = $(
4a10: 42 43 43 29 20 2d 4d 44 0a 21 45 4e 44 49 46 0a  BCC) -MD.!ENDIF.
4a20: 21 45 4c 53 45 0a 21 49 46 20 24 28 44 45 42 55  !ELSE.!IF $(DEBU
4a30: 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43  G)>1.TCC = $(TCC
4a40: 29 20 2d 4d 54 64 0a 42 43 43 20 3d 20 24 28 42  ) -MTd.BCC = $(B
4a50: 43 43 29 20 2d 4d 54 64 0a 21 45 4c 53 45 0a 54  CC) -MTd.!ELSE.T
4a60: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 0a  CC = $(TCC) -MT.
4a70: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54  BCC = $(BCC) -MT
4a80: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
4a90: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65  # <<mark>>.# The
4aa0: 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20   mksqlite3c.tcl 
4ab0: 61 6e 64 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74  and mksqlite3h.t
4ac0: 63 6c 20 73 63 72 69 70 74 73 20 77 69 6c 6c 20  cl scripts will 
4ad0: 70 75 6c 6c 20 69 6e 0a 23 20 61 6e 79 20 65 78  pull in.# any ex
4ae0: 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66  tension header f
4af0: 69 6c 65 73 20 62 79 20 64 65 66 61 75 6c 74 2e  iles by default.
4b00: 20 20 46 6f 72 20 6e 6f 6e 2d 61 6d 61 6c 67 61    For non-amalga
4b10: 6d 61 74 69 6f 6e 0a 23 20 62 75 69 6c 64 73 2c  mation.# builds,
4b20: 20 77 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65   we need to make
4b30: 20 73 75 72 65 20 74 68 65 20 63 6f 6d 70 69 6c   sure the compil
4b40: 65 72 20 63 61 6e 20 66 69 6e 64 20 74 68 65 73  er can find thes
4b50: 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 41  e..#.!IF $(USE_A
4b60: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
4b70: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24  TCC = $(TCC) -I$
4b80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 52  (TOP)\ext\fts3.R
4b90: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28  CC = $(RCC) -I$(
4ba0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 54 43  TOP)\ext\fts3.TC
4bb0: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
4bc0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 0a 52 43  OP)\ext\rtree.RC
4bd0: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54  C = $(RCC) -I$(T
4be0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 0a 54 43  OP)\ext\rtree.TC
4bf0: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
4c00: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a  OP)\ext\session.
4c10: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
4c20: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
4c30: 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20  n.!ENDIF..# The 
4c40: 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 73  mksqlite3c.tcl s
4c50: 63 72 69 70 74 20 61 63 63 65 70 74 73 20 73 6f  cript accepts so
4c60: 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68  me options on th
4c70: 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65  e command.# line
4c80: 2e 20 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .  When compilin
4c90: 67 20 77 69 74 68 20 64 65 62 75 67 67 69 6e 67  g with debugging
4ca0: 20 65 6e 61 62 6c 65 64 2c 20 73 6f 6d 65 20 6f   enabled, some o
4cb0: 66 20 74 68 65 73 65 0a 23 20 6f 70 74 69 6f 6e  f these.# option
4cc0: 73 20 61 72 65 20 6e 65 63 65 73 73 61 72 79 20  s are necessary 
4cd0: 69 6e 20 6f 72 64 65 72 20 74 6f 20 61 6c 6c 6f  in order to allo
4ce0: 77 20 64 65 62 75 67 67 69 6e 67 20 73 79 6d 62  w debugging symb
4cf0: 6f 6c 73 20 74 6f 0a 23 20 77 6f 72 6b 20 63 6f  ols to.# work co
4d00: 72 72 65 63 74 6c 79 20 77 69 74 68 20 56 69 73  rrectly with Vis
4d10: 75 61 6c 20 53 74 75 64 69 6f 20 77 68 65 6e 20  ual Studio when 
4d20: 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61  using the amalga
4d30: 6d 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45  mation..#.!IFNDE
4d40: 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f  F MKSQLITE3C_TOO
4d50: 4c 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f  L.!IF $(MINIMAL_
4d60: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30  AMALGAMATION)!=0
4d70: 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c  .MKSQLITE3C_TOOL
4d80: 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d   = $(TOP)\tool\m
4d90: 6b 73 71 6c 69 74 65 33 63 2d 6e 6f 65 78 74 2e  ksqlite3c-noext.
4da0: 74 63 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49  tcl.!ELSE.MKSQLI
4db0: 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f  TE3C_TOOL = $(TO
4dc0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65  P)\tool\mksqlite
4dd0: 33 63 2e 74 63 6c 0a 21 45 4e 44 49 46 0a 21 45  3c.tcl.!ENDIF.!E
4de0: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4d 4b  NDIF..!IFNDEF MK
4df0: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 0a 21 49  SQLITE3C_ARGS.!I
4e00: 46 20 24 28 44 45 42 55 47 29 3e 31 0a 4d 4b 53  F $(DEBUG)>1.MKS
4e10: 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20 2d  QLITE3C_ARGS = -
4e20: 2d 6c 69 6e 65 6d 61 63 72 6f 73 0a 21 45 4c 53  -linemacros.!ELS
4e30: 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  E.MKSQLITE3C_ARG
4e40: 53 20 3d 0a 21 45 4e 44 49 46 0a 21 49 46 20 24  S =.!ENDIF.!IF $
4e50: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
4e60: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
4e70: 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41  !=0.MKSQLITE3C_A
4e80: 52 47 53 20 3d 20 24 28 4d 4b 53 51 4c 49 54 45  RGS = $(MKSQLITE
4e90: 33 43 5f 41 52 47 53 29 20 2d 2d 75 73 65 61 70  3C_ARGS) --useap
4ea0: 69 63 61 6c 6c 0a 21 45 4e 44 49 46 0a 21 45 4e  icall.!ENDIF.!EN
4eb0: 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c  DIF..# The mksql
4ec0: 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69 70 74  ite3h.tcl script
4ed0: 20 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70   accepts some op
4ee0: 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d  tions on the com
4ef0: 6d 61 6e 64 20 6c 69 6e 65 2e 0a 23 20 57 68 65  mand line..# Whe
4f00: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68  n compiling with
4f10: 20 73 74 64 63 61 6c 6c 20 73 75 70 70 6f 72 74   stdcall support
4f20: 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 20  , some of these 
4f30: 6f 70 74 69 6f 6e 73 20 61 72 65 0a 23 20 6e 65  options are.# ne
4f40: 63 65 73 73 61 72 79 2e 0a 23 0a 21 49 46 4e 44  cessary..#.!IFND
4f50: 45 46 20 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52  EF MKSQLITE3H_AR
4f60: 47 53 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  GS.!IF $(USE_STD
4f70: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
4f80: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53 51  R_WIN10)!=0.MKSQ
4f90: 4c 49 54 45 33 48 5f 41 52 47 53 20 3d 20 2d 2d  LITE3H_ARGS = --
4fa0: 75 73 65 61 70 69 63 61 6c 6c 0a 21 45 4c 53 45  useapicall.!ELSE
4fb0: 0a 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53  .MKSQLITE3H_ARGS
4fc0: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46   =.!ENDIF.!ENDIF
4fd0: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..# 
4fe0: 44 65 66 69 6e 65 20 2d 44 4e 44 45 42 55 47 20  Define -DNDEBUG 
4ff0: 74 6f 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 6f  to compile witho
5000: 75 74 20 64 65 62 75 67 67 69 6e 67 20 28 69 2e  ut debugging (i.
5010: 65 2e 2c 20 66 6f 72 20 70 72 6f 64 75 63 74 69  e., for producti
5020: 6f 6e 20 75 73 61 67 65 29 0a 23 20 4f 6d 69 74  on usage).# Omit
5030: 74 69 6e 67 20 74 68 65 20 64 65 66 69 6e 65 20  ting the define 
5040: 77 69 6c 6c 20 63 61 75 73 65 20 65 78 74 72 61  will cause extra
5050: 20 64 65 62 75 67 67 69 6e 67 20 63 6f 64 65 20   debugging code 
5060: 74 6f 20 62 65 20 69 6e 73 65 72 74 65 64 20 61  to be inserted a
5070: 6e 64 0a 23 20 69 6e 63 6c 75 64 65 73 20 65 78  nd.# includes ex
5080: 74 72 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68 65  tra comments whe
5090: 6e 20 22 45 58 50 4c 41 49 4e 20 73 74 6d 74 22  n "EXPLAIN stmt"
50a0: 20 69 73 20 75 73 65 64 2e 0a 23 0a 21 49 46 20   is used..#.!IF 
50b0: 24 28 44 45 42 55 47 29 3d 3d 30 0a 54 43 43 20  $(DEBUG)==0.TCC 
50c0: 3d 20 24 28 54 43 43 29 20 2d 44 4e 44 45 42 55  = $(TCC) -DNDEBU
50d0: 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  G.BCC = $(BCC) -
50e0: 44 4e 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28  DNDEBUG.RCC = $(
50f0: 52 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 21 45  RCC) -DNDEBUG.!E
5100: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55  NDIF..!IF $(DEBU
5110: 47 29 3e 30 20 7c 7c 20 24 28 41 50 49 5f 41 52  G)>0 || $(API_AR
5120: 4d 4f 52 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  MOR)!=0 || $(FOR
5130: 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d  _WIN10)!=0.TCC =
5140: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
5150: 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f  _ENABLE_API_ARMO
5160: 52 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  R=1.RCC = $(RCC)
5170: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
5180: 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 21 45 4e  _API_ARMOR=1.!EN
5190: 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47  DIF..!IF $(DEBUG
51a0: 29 3e 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>2.TCC = $(TCC)
51b0: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d   -DSQLITE_DEBUG=
51c0: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
51d0: 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a  DSQLITE_DEBUG=1.
51e0: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH
51f0: 45 4c 4c 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28  ELL)==0.TCC = $(
5200: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TCC) -DSQLITE_EN
5210: 41 42 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20  ABLE_WHERETRACE 
5220: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
5230: 53 45 4c 45 43 54 54 52 41 43 45 0a 52 43 43 20  SELECTTRACE.RCC 
5240: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
5250: 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52 45 54 52  E_ENABLE_WHERETR
5260: 41 43 45 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  ACE -DSQLITE_ENA
5270: 42 4c 45 5f 53 45 4c 45 43 54 54 52 41 43 45 0a  BLE_SELECTTRACE.
5280: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21  !ENDIF.!ENDIF..!
5290: 49 46 20 24 28 44 45 42 55 47 29 3e 34 20 7c 7c  IF $(DEBUG)>4 ||
52a0: 20 24 28 4f 53 54 52 41 43 45 29 21 3d 30 0a 54   $(OSTRACE)!=0.T
52b0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
52c0: 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54 52  LITE_FORCE_OS_TR
52d0: 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f 44  ACE=1 -DSQLITE_D
52e0: 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31 0a  EBUG_OS_TRACE=1.
52f0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
5300: 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54  QLITE_FORCE_OS_T
5310: 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RACE=1 -DSQLITE_
5320: 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31  DEBUG_OS_TRACE=1
5330: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D
5340: 45 42 55 47 29 3e 35 0a 54 43 43 20 3d 20 24 28  EBUG)>5.TCC = $(
5350: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TCC) -DSQLITE_EN
5360: 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 52  ABLE_IOTRACE=1.R
5370: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
5380: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
5390: 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20  ACE=1.!ENDIF..# 
53a0: 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67 73  Prevent warnings
53b0: 20 61 62 6f 75 74 20 22 69 6e 73 65 63 75 72 65   about "insecure
53c0: 22 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c  " MSVC runtime l
53d0: 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73  ibrary functions
53e0: 0a 23 20 62 65 69 6e 67 20 75 73 65 64 2e 0a 23  .# being used..#
53f0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
5400: 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44  _CRT_SECURE_NO_D
5410: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
5420: 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e  SECURE_NO_WARNIN
5430: 47 53 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  GS.BCC = $(BCC) 
5440: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f  -D_CRT_SECURE_NO
5450: 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52  _DEPRECATE -D_CR
5460: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e  T_SECURE_NO_WARN
5470: 49 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43  INGS.RCC = $(RCC
5480: 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  ) -D_CRT_SECURE_
5490: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
54a0: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41  CRT_SECURE_NO_WA
54b0: 52 4e 49 4e 47 53 0a 0a 23 20 50 72 65 76 65 6e  RNINGS..# Preven
54c0: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74  t warnings about
54d0: 20 22 64 65 70 72 65 63 61 74 65 64 22 20 50 4f   "deprecated" PO
54e0: 53 49 58 20 66 75 6e 63 74 69 6f 6e 73 20 62 65  SIX functions be
54f0: 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20  ing used..#.TCC 
5500: 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f  = $(TCC) -D_CRT_
5510: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45  NONSTDC_NO_DEPRE
5520: 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53  CATE -D_CRT_NONS
5530: 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a  TDC_NO_WARNINGS.
5540: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f  BCC = $(BCC) -D_
5550: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44  CRT_NONSTDC_NO_D
5560: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
5570: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49  NONSTDC_NO_WARNI
5580: 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43 29  NGS.RCC = $(RCC)
5590: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f   -D_CRT_NONSTDC_
55a0: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
55b0: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57  CRT_NONSTDC_NO_W
55c0: 41 52 4e 49 4e 47 53 0a 0a 23 20 55 73 65 20 74  ARNINGS..# Use t
55d0: 68 65 20 53 51 4c 69 74 65 20 64 65 62 75 67 67  he SQLite debugg
55e0: 69 6e 67 20 68 65 61 70 20 73 75 62 73 79 73 74  ing heap subsyst
55f0: 65 6d 3f 0a 23 0a 21 49 46 20 24 28 4d 45 4d 44  em?.#.!IF $(MEMD
5600: 45 42 55 47 29 21 3d 30 0a 54 43 43 20 3d 20 24  EBUG)!=0.TCC = $
5610: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4d  (TCC) -DSQLITE_M
5620: 45 4d 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20  EMDEBUG=1.RCC = 
5630: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_
5640: 4d 45 4d 44 45 42 55 47 3d 31 0a 0a 23 20 55 73  MEMDEBUG=1..# Us
5650: 65 20 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68  e native Win32 h
5660: 65 61 70 20 73 75 62 73 79 73 74 65 6d 20 69 6e  eap subsystem in
5670: 73 74 65 61 64 20 6f 66 20 6d 61 6c 6c 6f 63 2f  stead of malloc/
5680: 66 72 65 65 3f 0a 23 0a 21 45 4c 53 45 49 46 20  free?.#.!ELSEIF 
5690: 24 28 57 49 4e 33 32 48 45 41 50 29 21 3d 30 0a  $(WIN32HEAP)!=0.
56a0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
56b0: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c  QLITE_WIN32_MALL
56c0: 4f 43 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  OC=1.RCC = $(RCC
56d0: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32  ) -DSQLITE_WIN32
56e0: 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23 20 56 61 6c  _MALLOC=1..# Val
56f0: 69 64 61 74 65 20 74 68 65 20 68 65 61 70 20 6f  idate the heap o
5700: 6e 20 65 76 65 72 79 20 63 61 6c 6c 20 69 6e 74  n every call int
5710: 6f 20 74 68 65 20 6e 61 74 69 76 65 20 57 69 6e  o the native Win
5720: 33 32 20 68 65 61 70 20 73 75 62 73 79 73 74 65  32 heap subsyste
5730: 6d 3f 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47  m?.#.!IF $(DEBUG
5740: 29 3e 33 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>3.TCC = $(TCC)
5750: 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f   -DSQLITE_WIN32_
5760: 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d  MALLOC_VALIDATE=
5770: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
5780: 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41  DSQLITE_WIN32_MA
5790: 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d 31 0a  LLOC_VALIDATE=1.
57a0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
57b0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20   <<mark>>.# The 
57c0: 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65  locations of the
57d0: 20 54 63 6c 20 68 65 61 64 65 72 20 61 6e 64 20   Tcl header and 
57e0: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20  library files.  
57f0: 41 6c 73 6f 2c 20 74 68 65 20 6c 69 62 72 61 72  Also, the librar
5800: 79 20 74 68 61 74 0a 23 20 6e 6f 6e 2d 73 74 75  y that.# non-stu
5810: 62 73 20 65 6e 61 62 6c 65 64 20 70 72 6f 67 72  bs enabled progr
5820: 61 6d 73 20 75 73 69 6e 67 20 54 63 6c 20 6d 75  ams using Tcl mu
5830: 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e  st link against.
5840: 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65    These variable
5850: 73 0a 23 20 28 54 43 4c 49 4e 43 44 49 52 2c 20  s.# (TCLINCDIR, 
5860: 54 43 4c 4c 49 42 44 49 52 2c 20 61 6e 64 20 4c  TCLLIBDIR, and L
5870: 49 42 54 43 4c 29 20 6d 61 79 20 62 65 20 6f 76  IBTCL) may be ov
5880: 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65  erridden via the
5890: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70   environment.# p
58a0: 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20  rior to running 
58b0: 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74  nmake in order t
58c0: 6f 20 6d 61 74 63 68 20 74 68 65 20 61 63 74 75  o match the actu
58d0: 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f 63  al installed loc
58e0: 61 74 69 6f 6e 20 61 6e 64 0a 23 20 76 65 72 73  ation and.# vers
58f0: 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63 68  ion on this mach
5900: 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54  ine..#.!IFNDEF T
5910: 43 4c 44 49 52 0a 54 43 4c 44 49 52 20 3d 20 24  CLDIR.TCLDIR = $
5920: 28 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 74 63 6c  (TOP)\compat\tcl
5930: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
5940: 20 54 43 4c 49 4e 43 44 49 52 0a 54 43 4c 49 4e   TCLINCDIR.TCLIN
5950: 43 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52 29  CDIR = $(TCLDIR)
5960: 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a  \include.!ENDIF.
5970: 0a 21 49 46 4e 44 45 46 20 54 43 4c 4c 49 42 44  .!IFNDEF TCLLIBD
5980: 49 52 0a 54 43 4c 4c 49 42 44 49 52 20 3d 20 24  IR.TCLLIBDIR = $
5990: 28 54 43 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e  (TCLDIR)\lib.!EN
59a0: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
59b0: 54 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 63 6c  TCL.LIBTCL = tcl
59c0: 38 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  86.lib.!ENDIF..!
59d0: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54 55  IFNDEF LIBTCLSTU
59e0: 42 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20 74  B.LIBTCLSTUB = t
59f0: 63 6c 73 74 75 62 38 36 2e 6c 69 62 0a 21 45 4e  clstub86.lib.!EN
5a00: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
5a10: 54 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c 50 41  TCLPATH.LIBTCLPA
5a20: 54 48 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62  TH = $(TCLDIR)\b
5a30: 69 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65  in.!ENDIF..# The
5a40: 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68   locations of th
5a50: 65 20 7a 6c 69 62 20 68 65 61 64 65 72 20 61 6e  e zlib header an
5a60: 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e  d library files.
5a70: 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65    These variable
5a80: 73 0a 23 20 28 5a 4c 49 42 49 4e 43 44 49 52 2c  s.# (ZLIBINCDIR,
5a90: 20 5a 4c 49 42 4c 49 42 44 49 52 2c 20 61 6e 64   ZLIBLIBDIR, and
5aa0: 20 5a 4c 49 42 4c 49 42 29 20 6d 61 79 20 62 65   ZLIBLIB) may be
5ab0: 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20   overridden via 
5ac0: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a  the environment.
5ad0: 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69  # prior to runni
5ae0: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65  ng nmake in orde
5af0: 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61  r to match the a
5b00: 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20  ctual installed 
5b10: 28 6f 72 20 73 6f 75 72 63 65 0a 23 20 63 6f 64  (or source.# cod
5b20: 65 29 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e 20 74  e) location on t
5b30: 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21  his machine..#.!
5b40: 49 46 4e 44 45 46 20 5a 4c 49 42 44 49 52 0a 5a  IFNDEF ZLIBDIR.Z
5b50: 4c 49 42 44 49 52 20 3d 20 24 28 54 4f 50 29 5c  LIBDIR = $(TOP)\
5b60: 63 6f 6d 70 61 74 5c 7a 6c 69 62 0a 21 45 4e 44  compat\zlib.!END
5b70: 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42  IF..!IFNDEF ZLIB
5b80: 49 4e 43 44 49 52 0a 5a 4c 49 42 49 4e 43 44 49  INCDIR.ZLIBINCDI
5b90: 52 20 3d 20 24 28 5a 4c 49 42 44 49 52 29 0a 21  R = $(ZLIBDIR).!
5ba0: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a  ENDIF..!IFNDEF Z
5bb0: 4c 49 42 4c 49 42 44 49 52 0a 5a 4c 49 42 4c 49  LIBLIBDIR.ZLIBLI
5bc0: 42 44 49 52 20 3d 20 24 28 5a 4c 49 42 44 49 52  BDIR = $(ZLIBDIR
5bd0: 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45  ).!ENDIF..!IFNDE
5be0: 46 20 5a 4c 49 42 4c 49 42 0a 21 49 46 20 24 28  F ZLIBLIB.!IF $(
5bf0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
5c00: 30 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a 64 6c 6c  0.ZLIBLIB = zdll
5c10: 2e 6c 69 62 0a 21 45 4c 53 45 0a 5a 4c 49 42 4c  .lib.!ELSE.ZLIBL
5c20: 49 42 20 3d 20 7a 6c 69 62 2e 6c 69 62 0a 21 45  IB = zlib.lib.!E
5c30: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
5c40: 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20  he locations of 
5c50: 74 68 65 20 49 43 55 20 68 65 61 64 65 72 20 61  the ICU header a
5c60: 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73  nd library files
5c70: 2e 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c  .  These variabl
5c80: 65 73 0a 23 20 28 49 43 55 49 4e 43 44 49 52 2c  es.# (ICUINCDIR,
5c90: 20 49 43 55 4c 49 42 44 49 52 2c 20 61 6e 64 20   ICULIBDIR, and 
5ca0: 4c 49 42 49 43 55 29 20 6d 61 79 20 62 65 20 6f  LIBICU) may be o
5cb0: 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68  verridden via th
5cc0: 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20  e environment.# 
5cd0: 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67  prior to running
5ce0: 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20   nmake in order 
5cf0: 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61 63 74  to match the act
5d00: 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f  ual installed lo
5d10: 63 61 74 69 6f 6e 20 6f 6e 0a 23 20 74 68 69 73  cation on.# this
5d20: 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e   machine..#.!IFN
5d30: 44 45 46 20 49 43 55 44 49 52 0a 49 43 55 44 49  DEF ICUDIR.ICUDI
5d40: 52 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61  R = $(TOP)\compa
5d50: 74 5c 69 63 75 0a 21 45 4e 44 49 46 0a 0a 21 49  t\icu.!ENDIF..!I
5d60: 46 4e 44 45 46 20 49 43 55 49 4e 43 44 49 52 0a  FNDEF ICUINCDIR.
5d70: 49 43 55 49 4e 43 44 49 52 20 3d 20 24 28 49 43  ICUINCDIR = $(IC
5d80: 55 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a 21 45  UDIR)\include.!E
5d90: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 49 43  NDIF..!IFNDEF IC
5da0: 55 4c 49 42 44 49 52 0a 49 43 55 4c 49 42 44 49  ULIBDIR.ICULIBDI
5db0: 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c 6c 69  R = $(ICUDIR)\li
5dc0: 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45  b.!ENDIF..!IFNDE
5dd0: 46 20 4c 49 42 49 43 55 0a 4c 49 42 49 43 55 20  F LIBICU.LIBICU 
5de0: 3d 20 69 63 75 75 63 2e 6c 69 62 20 69 63 75 69  = icuuc.lib icui
5df0: 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20  n.lib.!ENDIF..# 
5e00: 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d  This is the comm
5e10: 61 6e 64 20 74 6f 20 75 73 65 20 66 6f 72 20 74  and to use for t
5e20: 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c 6c 79 20  clsh - normally 
5e30: 6a 75 73 74 20 22 74 63 6c 73 68 22 2c 20 62 75  just "tclsh", bu
5e40: 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e 6f 77 20  t we may.# know 
5e50: 74 68 65 20 73 70 65 63 69 66 69 63 20 76 65 72  the specific ver
5e60: 73 69 6f 6e 20 77 65 20 77 61 6e 74 20 74 6f 20  sion we want to 
5e70: 75 73 65 2e 20 20 54 68 69 73 20 76 61 72 69 61  use.  This varia
5e80: 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d 44 29 20  ble (TCLSH_CMD) 
5e90: 6d 61 79 20 62 65 0a 23 20 6f 76 65 72 72 69 64  may be.# overrid
5ea0: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
5eb0: 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72 20 74 6f  ronment prior to
5ec0: 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69   running nmake i
5ed0: 6e 20 6f 72 64 65 72 20 74 6f 20 73 65 6c 65 63  n order to selec
5ee0: 74 20 61 0a 23 20 73 70 65 63 69 66 69 63 20 54  t a.# specific T
5ef0: 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75 73 65 2e  cl shell to use.
5f00: 0a 23 0a 21 49 46 4e 44 45 46 20 54 43 4c 53 48  .#.!IFNDEF TCLSH
5f10: 5f 43 4d 44 0a 21 49 46 20 24 28 55 53 45 5f 54  _CMD.!IF $(USE_T
5f20: 43 4c 53 48 5f 49 4e 5f 50 41 54 48 29 21 3d 30  CLSH_IN_PATH)!=0
5f30: 0a 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c  .TCLSH_CMD = tcl
5f40: 73 68 0a 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43  sh.!ELSE.TCLSH_C
5f50: 4d 44 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62  MD = $(TCLDIR)\b
5f60: 69 6e 5c 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e  in\tclsh.exe.!EN
5f70: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  DIF.!ENDIF.# <</
5f80: 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c  mark>>..# Compil
5f90: 65 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65  er options neede
5fa0: 64 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74  d for programs t
5fb0: 68 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64  hat use the read
5fc0: 6c 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a  line() library..
5fd0: 23 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49  #.!IFNDEF READLI
5fe0: 4e 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e  NE_FLAGS.READLIN
5ff0: 45 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45  E_FLAGS = -DHAVE
6000: 5f 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44  _READLINE=0.!END
6010: 49 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72  IF..# The librar
6020: 79 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20  y that programs 
6030: 75 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29  using readline()
6040: 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e   must link again
6050: 73 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49  st..#.!IFNDEF LI
6060: 42 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41  BREADLINE.LIBREA
6070: 44 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a  DLINE =.!ENDIF..
6080: 23 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74  # Should the dat
6090: 61 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20  abase engine be 
60a0: 63 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73  compiled threads
60b0: 61 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  afe.#.TCC = $(TC
60c0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  C) -DSQLITE_THRE
60d0: 41 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24  ADSAFE=1.RCC = $
60e0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54  (RCC) -DSQLITE_T
60f0: 48 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44  HREADSAFE=1..# D
6100: 6f 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69  o threads overri
6110: 64 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c  de each others l
6120: 6f 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20  ocks by default 
6130: 28 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65  (1), or do we te
6140: 73 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20  st (-1).#.TCC = 
6150: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
6160: 54 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f  THREAD_OVERRIDE_
6170: 4c 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28  LOCK=-1.RCC = $(
6180: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  RCC) -DSQLITE_TH
6190: 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f  READ_OVERRIDE_LO
61a0: 43 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72  CK=-1..# Any tar
61b0: 67 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68  get libraries wh
61c0: 69 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75  ich libsqlite mu
61d0: 73 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61  st be linked aga
61e0: 69 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54  inst.#.!IFNDEF T
61f0: 4c 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e  LIBS.TLIBS =.!EN
6200: 44 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e  DIF..# Flags con
6210: 74 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20  trolling use of 
6220: 74 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74  the in memory bt
6230: 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ree implementati
6240: 6f 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45  on.#.# SQLITE_TE
6250: 4d 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f  MP_STORE is 0 to
6260: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79   force temporary
6270: 20 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e   tables to be in
6280: 20 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20   a file, 1 to.# 
6290: 64 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c  default to file,
62a0: 20 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f   2 to default to
62b0: 20 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74   memory, and 3 t
62c0: 6f 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72  o force temporar
62d0: 79 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c  y.# tables to al
62e0: 77 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72  ways be in memor
62f0: 79 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  y..#.TCC = $(TCC
6300: 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f  ) -DSQLITE_TEMP_
6310: 53 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28  STORE=1.RCC = $(
6320: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45  RCC) -DSQLITE_TE
6330: 4d 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e  MP_STORE=1..# En
6340: 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61  able/disable loa
6350: 64 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73  dable extensions
6360: 2c 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69  , and other opti
6370: 6f 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20  onal features.# 
6380: 62 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75  based on configu
6390: 72 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54  ration. (-DSQLIT
63a0: 45 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54  E_OMIT*, -DSQLIT
63b0: 45 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68  E_ENABLE*)..# Th
63c0: 65 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d  e same set of OM
63d0: 49 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c  IT and ENABLE fl
63e0: 61 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61  ags should be pa
63f0: 73 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45  ssed to the.# LE
6400: 4d 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72  MON parser gener
6410: 61 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b  ator and the mkk
6420: 65 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20  eywordhash tool 
6430: 61 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73  as well...# Thes
6440: 65 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72  e are the requir
6450: 65 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c  ed SQLite compil
6460: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73  ation options us
6470: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  ed when compilin
6480: 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64  g for.# the Wind
6490: 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a  ows platform..#.
64a0: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
64b0: 53 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52  S = $(REQ_FEATUR
64c0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
64d0: 45 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45  E_MAX_TRIGGER_DE
64e0: 50 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65  PTH=100..# If we
64f0: 20 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20   are linking to 
6500: 74 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61  the RPCRT4 libra
6510: 72 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75  ry, enable featu
6520: 72 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74  res that need it
6530: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50  ..#.!IF $(USE_RP
6540: 43 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51  CRT4_LIB)!=0.REQ
6550: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
6560: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
6570: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57  LAGS) -DSQLITE_W
6580: 49 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a  IN32_USE_UUID=1.
6590: 21 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68  !ENDIF..# Add th
65a0: 65 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f  e required and o
65b0: 70 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63  ptional SQLite c
65c0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f  ompilation optio
65d0: 6e 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d  ns into the comm
65e0: 61 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64  and.# lines used
65f0: 20 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d   to invoke the M
6600: 53 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73  SVC code and res
6610: 6f 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e  ource compilers.
6620: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 
6630: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
6640: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55  AGS) $(OPT_FEATU
6650: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f  RE_FLAGS) $(EXT_
6660: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52  FEATURE_FLAGS).R
6670: 43 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45  CC = $(RCC) $(RE
6680: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
6690: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
66a0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT
66b0: 55 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64  URE_FLAGS)..# Ad
66c0: 64 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61  d in any optiona
66d0: 6c 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65  l parameters spe
66e0: 63 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f  cified on the co
66f0: 6d 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e  mmane line, e.g.
6700: 0a 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65  .# nmake /f Make
6710: 66 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50  file.msc all "OP
6720: 54 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  TS=-DSQLITE_ENAB
6730: 4c 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54  LE_FOO=1 -DSQLIT
6740: 45 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a  E_OMIT_FOO=1".#.
6750: 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f  TCC = $(TCC) $(O
6760: 50 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43  PTS).RCC = $(RCC
6770: 29 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20  ) $(OPTS)..# If 
6780: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65  compiling for de
6790: 62 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d  bugging, add som
67a0: 65 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46  e defines..#.!IF
67b0: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20   $(DEBUG)>1.TCC 
67c0: 3d 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55  = $(TCC) -D_DEBU
67d0: 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  G.BCC = $(BCC) -
67e0: 44 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28  D_DEBUG.RCC = $(
67f0: 52 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45  RCC) -D_DEBUG.!E
6800: 4e 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d  NDIF..# If optim
6810: 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61  izations are ena
6820: 62 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64  bled or disabled
6830: 20 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69   (either implici
6840: 74 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69  tly or.# explici
6850: 74 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65  tly), add the ne
6860: 63 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23  cessary flags..#
6870: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20  .!IF $(DEBUG)>1 
6880: 7c 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f  || $(OPTIMIZATIO
6890: 4e 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54  NS)==0.TCC = $(T
68a0: 43 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28  CC) -Od.BCC = $(
68b0: 42 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55  BCC) -Od.!IF $(U
68c0: 53 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b  SE_RUNTIME_CHECK
68d0: 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)!=0.TCC = $(TC
68e0: 43 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24  C) -RTC1.BCC = $
68f0: 28 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44  (BCC) -RTC1.!END
6900: 49 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54  IF.!ELSEIF $(OPT
6910: 49 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54  IMIZATIONS)>=3.T
6920: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a  CC = $(TCC) -Ox.
6930: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78  BCC = $(BCC) -Ox
6940: 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d  .!ELSEIF $(OPTIM
6950: 49 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43  IZATIONS)==2.TCC
6960: 20 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43   = $(TCC) -O2.BC
6970: 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21  C = $(BCC) -O2.!
6980: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a  ELSEIF $(OPTIMIZ
6990: 41 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d  ATIONS)==1.TCC =
69a0: 20 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20   $(TCC) -O1.BCC 
69b0: 3d 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e  = $(BCC) -O1.!EN
69c0: 44 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c  DIF..# If symbol
69d0: 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f  s are enabled (o
69e0: 72 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  r compiling for 
69f0: 64 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62  debugging), enab
6a00: 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24  le PDBs..#.!IF $
6a10: 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53  (DEBUG)>1 || $(S
6a20: 59 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d  YMBOLS)!=0.TCC =
6a30: 20 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20   $(TCC) -Zi.BCC 
6a40: 3d 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e  = $(BCC) -Zi.!EN
6a50: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
6a60: 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72  # If zlib suppor
6a70: 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64  t is enabled, ad
6a80: 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f  d the compiler o
6a90: 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23  ptions for it..#
6aa0: 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29  .!IF $(USE_ZLIB)
6ab0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
6ac0: 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a   -DSQLITE_HAVE_Z
6ad0: 4c 49 42 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  LIB=1.RCC = $(RC
6ae0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45  C) -DSQLITE_HAVE
6af0: 5f 5a 4c 49 42 3d 31 0a 54 43 43 20 3d 20 24 28  _ZLIB=1.TCC = $(
6b00: 54 43 43 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43  TCC) -I$(ZLIBINC
6b10: 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43  DIR).RCC = $(RCC
6b20: 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52  ) -I$(ZLIBINCDIR
6b30: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49  ).!ENDIF..# If I
6b40: 43 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e  CU support is en
6b50: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63  abled, add the c
6b60: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
6b70: 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28  for it..#.!IF $(
6b80: 55 53 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20  USE_ICU)!=0.TCC 
6b90: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
6ba0: 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52  E_ENABLE_ICU=1.R
6bb0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
6bc0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d  LITE_ENABLE_ICU=
6bd0: 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  1.TCC = $(TCC) -
6be0: 49 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a  I$(TOP)\ext\icu.
6bf0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
6c00: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43  (TOP)\ext\icu.TC
6c10: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49  C = $(TCC) -I$(I
6c20: 43 55 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20  CUINCDIR).RCC = 
6c30: 24 28 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e  $(RCC) -I$(ICUIN
6c40: 43 44 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c  CDIR).!ENDIF.# <
6c50: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d  </mark>>..# Comm
6c60: 61 6e 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65  and line prefixe
6c70: 73 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20  s for compiling 
6c80: 63 6f 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20  code, compiling 
6c90: 72 65 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e  resources,.# lin
6ca0: 6b 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43  king, etc..#.LTC
6cb0: 4f 4d 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20  OMPILE = $(TCC) 
6cc0: 2d 46 6f 24 40 0a 4c 54 52 43 4f 4d 50 49 4c 45  -Fo$@.LTRCOMPILE
6cd0: 20 3d 20 24 28 52 43 43 29 20 2d 72 0a 4c 54 4c   = $(RCC) -r.LTL
6ce0: 49 42 20 3d 20 6c 69 62 2e 65 78 65 0a 4c 54 4c  IB = lib.exe.LTL
6cf0: 49 4e 4b 20 3d 20 24 28 54 43 43 29 20 2d 46 65  INK = $(TCC) -Fe
6d00: 24 40 0a 0a 23 20 49 66 20 72 65 71 75 65 73 74  $@..# If request
6d10: 65 64 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20  ed, link to the 
6d20: 52 50 43 52 54 34 20 6c 69 62 72 61 72 79 2e 0a  RPCRT4 library..
6d30: 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43 52  #.!IF $(USE_RPCR
6d40: 54 34 5f 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 42  T4_LIB)!=0.LTLIB
6d50: 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 72 70  S = $(LTLIBS) rp
6d60: 63 72 74 34 2e 6c 69 62 0a 21 45 4e 44 49 46 0a  crt4.lib.!ENDIF.
6d70: 0a 23 20 49 66 20 61 20 70 6c 61 74 66 6f 72 6d  .# If a platform
6d80: 20 77 61 73 20 73 65 74 2c 20 66 6f 72 63 65 20   was set, force 
6d90: 74 68 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74 61  the linker to ta
6da0: 72 67 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f 74  rget that..# Not
6db0: 65 20 74 68 61 74 20 74 68 65 20 76 63 76 61 72  e that the vcvar
6dc0: 73 2a 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f 66  s*.bat family of
6dd0: 20 62 61 74 63 68 20 66 69 6c 65 73 20 74 79 70   batch files typ
6de0: 69 63 61 6c 6c 79 0a 23 20 73 65 74 20 74 68 69  ically.# set thi
6df0: 73 20 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68 65  s for you.  Othe
6e00: 72 77 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b 65  rwise, the linke
6e10: 72 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a 23  r will attempt.#
6e20: 20 74 6f 20 64 65 64 75 63 65 20 74 68 65 20 62   to deduce the b
6e30: 69 6e 61 72 79 20 74 79 70 65 20 62 61 73 65 64  inary type based
6e40: 20 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 66   on the object f
6e50: 69 6c 65 73 2e 0a 21 49 46 44 45 46 20 50 4c 41  iles..!IFDEF PLA
6e60: 54 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53  TFORM.LTLINKOPTS
6e70: 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48   = /NOLOGO /MACH
6e80: 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a  INE:$(PLATFORM).
6e90: 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c  LTLIBOPTS = /NOL
6ea0: 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50  OGO /MACHINE:$(P
6eb0: 4c 41 54 46 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c  LATFORM).!ELSE.L
6ec0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c  TLINKOPTS = /NOL
6ed0: 4f 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20  OGO.LTLIBOPTS = 
6ee0: 2f 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a  /NOLOGO.!ENDIF..
6ef0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
6f00: 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20   for use in the 
6f10: 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e  WinRT environmen
6f20: 74 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  t, the following
6f30: 0a 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  .# linker option
6f40: 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f   must be used to
6f50: 20 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 74   mark the execut
6f60: 61 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65  able as runnable
6f70: 0a 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63  .# only in the c
6f80: 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70  ontext of an app
6f90: 6c 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e  lication contain
6fa0: 65 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f  er..#.!IF $(FOR_
6fb0: 57 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b  WINRT)!=0.LTLINK
6fc0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
6fd0: 50 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e  PTS) /APPCONTAIN
6fe0: 45 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c  ER.!IF "$(VISUAL
6ff0: 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d  STUDIOVERSION)"=
7000: 3d 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49  ="12.0" || "$(VI
7010: 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f  SUALSTUDIOVERSIO
7020: 4e 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e  N)"=="14.0".!IFN
7030: 44 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48  DEF STORELIBPATH
7040: 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  .!IF "$(PLATFORM
7050: 29 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c  )"=="x86".STOREL
7060: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI
7070: 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c  BPATH)\store.!EL
7080: 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  SEIF "$(PLATFORM
7090: 29 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c  )"=="x64".STOREL
70a0: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI
70b0: 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64  BPATH)\store\amd
70c0: 36 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c  64.!ELSEIF "$(PL
70d0: 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a  ATFORM)"=="ARM".
70e0: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $
70f0: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f  (CRTLIBPATH)\sto
7100: 72 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f  re\arm.!ELSE.STO
7110: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52  RELIBPATH = $(CR
7120: 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a  TLIBPATH)\store.
7130: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54  !ENDIF.!ENDIF.ST
7140: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53  ORELIBPATH = $(S
7150: 54 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c  TORELIBPATH:\\=\
7160: 29 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24  ).LTLINKOPTS = $
7170: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c  (LTLINKOPTS) "/L
7180: 49 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49  IBPATH:$(STORELI
7190: 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21  BPATH)".!ENDIF.!
71a0: 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f  ENDIF..# When co
71b0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64  mpiling for Wind
71c0: 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61  ows Phone 8.1, a
71d0: 6e 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 20  n extra library 
71e0: 70 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 72  path is.# requir
71f0: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ed..#.!IF $(USE_
7200: 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49  WP81_OPTS)!=0.!I
7210: 46 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41 54  FNDEF WP81LIBPAT
7220: 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52  H.!IF "$(PLATFOR
7230: 4d 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c  M)"=="x86".WP81L
7240: 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52  IBPATH = $(PROGR
7250: 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e  AMFILES_X86)\Win
7260: 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c  dows Phone Kits\
7270: 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53  8.1\lib\x86.!ELS
7280: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM)
7290: 22 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42  "=="ARM".WP81LIB
72a0: 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d  PATH = $(PROGRAM
72b0: 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f  FILES_X86)\Windo
72c0: 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e  ws Phone Kits\8.
72d0: 31 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a  1\lib\ARM.!ELSE.
72e0: 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28  WP81LIBPATH = $(
72f0: 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36  PROGRAMFILES_X86
7300: 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  )\Windows Phone 
7310: 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36  Kits\8.1\lib\x86
7320: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21  .!ENDIF.!ENDIF.!
7330: 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f  ENDIF..# When co
7340: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64  mpiling for Wind
7350: 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73  ows Phone 8.1, s
7360: 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72  ome extra linker
7370: 20 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61   options.# are a
7380: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a  lso required..#.
7390: 21 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f  !IF $(USE_WP81_O
73a0: 50 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57  PTS)!=0.!IFDEF W
73b0: 50 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e  P81LIBPATH.LTLIN
73c0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
73d0: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a  OPTS) "/LIBPATH:
73e0: 24 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a  $(WP81LIBPATH)".
73f0: 21 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54  !ENDIF.LTLINKOPT
7400: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7410: 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c  ) /DYNAMICBASE.L
7420: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54  TLINKOPTS = $(LT
7430: 4c 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77  LINKOPTS) Window
7440: 73 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52  sPhoneCore.lib R
7450: 75 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62  untimeObject.lib
7460: 20 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f   PhoneAppModelHo
7470: 73 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54  st.lib.LTLINKOPT
7480: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
7490: 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a  ) /NODEFAULTLIB:
74a0: 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f  kernel32.lib /NO
74b0: 44 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32  DEFAULTLIB:ole32
74c0: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57  .lib.!ENDIF..# W
74d0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
74e0: 72 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e  r UWP or the Win
74f0: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d  dows 10 platform
7500: 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e  , some extra lin
7510: 6b 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72  ker.# options ar
7520: 65 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e  e also required.
7530: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50  .#.!IF $(FOR_UWP
7540: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
7550: 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50  N10)!=0.LTLINKOP
7560: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
7570: 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20  S) /DYNAMICBASE 
7580: 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65  /NODEFAULTLIB:ke
7590: 72 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e  rnel32.lib.LTLIN
75a0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
75b0: 4f 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69  OPTS) mincore.li
75c0: 62 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42  b.!IFDEF PSDKLIB
75d0: 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  PATH.LTLINKOPTS 
75e0: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
75f0: 22 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b  "/LIBPATH:$(PSDK
7600: 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46  LIBPATH)".!ENDIF
7610: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46  .!ENDIF..!IF $(F
7620: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c  OR_WIN10)!=0.LTL
7630: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
7640: 4e 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63  NKOPTS) /guard:c
7650: 66 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43  f "/LIBPATH:$(UC
7660: 52 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20  RTLIBPATH)".!IF 
7670: 24 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e  $(DEBUG)>1.LTLIN
7680: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
7690: 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54  OPTS) /NODEFAULT
76a0: 4c 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62  LIB:libucrtd.lib
76b0: 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72   /DEFAULTLIB:ucr
76c0: 74 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c  td.lib.!ELSE.LTL
76d0: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
76e0: 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55  NKOPTS) /NODEFAU
76f0: 4c 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69  LTLIB:libucrt.li
7700: 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63  b /DEFAULTLIB:uc
7710: 72 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45  rt.lib.!ENDIF.!E
7720: 4e 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65  NDIF..# If eithe
7730: 72 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73  r debugging or s
7740: 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c  ymbols are enabl
7750: 65 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e  ed, enable PDBs.
7760: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  .#.!IF $(DEBUG)>
7770: 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21  1 || $(SYMBOLS)!
7780: 3d 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45  =0.LDFLAGS = /DE
7790: 42 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45  BUG $(LDOPTS).!E
77a0: 4c 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28  LSE.LDFLAGS = $(
77b0: 4c 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a  LDOPTS).!ENDIF..
77c0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61  # <<mark>>.# Sta
77d0: 72 74 20 77 69 74 68 20 74 68 65 20 54 63 6c 20  rt with the Tcl 
77e0: 72 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f  related linker o
77f0: 70 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28  ptions..#.!IF $(
7800: 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 4c 54 4c 49 42  NO_TCL)==0.LTLIB
7810: 50 41 54 48 53 20 3d 20 2f 4c 49 42 50 41 54 48  PATHS = /LIBPATH
7820: 3a 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 4c 54  :$(TCLLIBDIR).LT
7830: 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29  LIBS = $(LTLIBS)
7840: 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44 49   $(LIBTCL).!ENDI
7850: 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70  F..# If zlib sup
7860: 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c  port is enabled,
7870: 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 20   add the linker 
7880: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a  options for it..
7890: 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42  #.!IF $(USE_ZLIB
78a0: 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53 20  )!=0.LTLIBPATHS 
78b0: 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  = $(LTLIBPATHS) 
78c0: 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 4c  /LIBPATH:$(ZLIBL
78d0: 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20  IBDIR).LTLIBS = 
78e0: 24 28 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49 42  $(LTLIBS) $(ZLIB
78f0: 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49  LIB).!ENDIF..# I
7900: 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69 73  f ICU support is
7910: 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68   enabled, add th
7920: 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73  e linker options
7930: 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24   for it..#.!IF $
7940: 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54 4c  (USE_ICU)!=0.LTL
7950: 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c 49  IBPATHS = $(LTLI
7960: 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48  BPATHS) /LIBPATH
7970: 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c 54  :$(ICULIBDIR).LT
7980: 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29  LIBS = $(LTLIBS)
7990: 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44 49   $(LIBICU).!ENDI
79a0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
79b0: 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20   You should not 
79c0: 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61  have to change a
79d0: 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68  nything below th
79e0: 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 23  is line.########
79f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a30: 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 72  #######..# <<mar
7a40: 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c  k>>.# Object fil
7a50: 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74  es for the SQLit
7a60: 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d 61  e library (non-a
7a70: 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a  malgamation)..#.
7a80: 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 2e  LIBOBJS0 = vdbe.
7a90: 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 65  lo parse.lo alte
7aa0: 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f 20  r.lo analyze.lo 
7ab0: 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e 6c  attach.lo auth.l
7ac0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61 63  o \.         bac
7ad0: 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c 6f  kup.lo bitvec.lo
7ae0: 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 65   btmutex.lo btre
7af0: 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c 0a  e.lo build.lo \.
7b00: 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63           callbac
7b10: 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c 6f  k.lo complete.lo
7b20: 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20 20   ctime.lo \.    
7b30: 20 20 20 20 20 64 61 74 65 2e 6c 6f 20 64 62 70       date.lo dbp
7b40: 61 67 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c 6f  age.lo dbstat.lo
7b50: 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 20   delete.lo \.   
7b60: 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20 66 61        expr.lo fa
7b70: 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c  ult.lo fkey.lo \
7b80: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 2e 6c  .         fts3.l
7b90: 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66 74  o fts3_aux.lo ft
7ba0: 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33 5f  s3_expr.lo fts3_
7bb0: 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63 75  hash.lo fts3_icu
7bc0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
7bd0: 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 74  ts3_porter.lo ft
7be0: 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66 74  s3_snippet.lo ft
7bf0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20  s3_tokenizer.lo 
7c00: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
7c10: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74  lo \.         ft
7c20: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
7c30: 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65  .lo fts3_unicode
7c40: 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65  .lo fts3_unicode
7c50: 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74 65 2e  2.lo fts3_write.
7c60: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74  lo \.         ft
7c70: 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  s5.lo \.        
7c80: 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c 2e   func.lo global.
7c90: 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 20  lo hash.lo \.   
7ca0: 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e 73        icu.lo ins
7cb0: 65 72 74 2e 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f  ert.lo legacy.lo
7cc0: 20 6c 6f 61 64 65 78 74 2e 6c 6f 20 5c 0a 20 20   loadext.lo \.  
7cd0: 20 20 20 20 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d         main.lo m
7ce0: 61 6c 6c 6f 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f  alloc.lo mem0.lo
7cf0: 20 6d 65 6d 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f   mem1.lo mem2.lo
7d00: 20 6d 65 6d 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f   mem3.lo mem5.lo
7d10: 20 5c 0a 20 20 20 20 20 20 20 20 20 6d 65 6d 6a   \.         memj
7d20: 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20  ournal.lo \.    
7d30: 20 20 20 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75       mutex.lo mu
7d40: 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65  tex_noop.lo mute
7d50: 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f  x_unix.lo mutex_
7d60: 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  w32.lo \.       
7d70: 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f    notify.lo opco
7d80: 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f  des.lo os.lo os_
7d90: 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c  unix.lo os_win.l
7da0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 70 61 67  o \.         pag
7db0: 65 72 2e 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20  er.lo pcache.lo 
7dc0: 70 63 61 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d  pcache1.lo pragm
7dd0: 61 2e 6c 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20  a.lo prepare.lo 
7de0: 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20  printf.lo \.    
7df0: 20 20 20 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72       random.lo r
7e00: 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74  esolve.lo rowset
7e10: 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20  .lo rtree.lo \. 
7e20: 20 20 20 20 20 20 20 20 73 71 6c 69 74 65 33 73          sqlite3s
7e30: 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74  ession.lo select
7e40: 2e 6c 6f 20 73 71 6c 69 74 65 33 72 62 75 2e 6c  .lo sqlite3rbu.l
7e50: 6f 20 73 74 61 74 75 73 2e 6c 6f 20 5c 0a 20 20  o status.lo \.  
7e60: 20 20 20 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20         table.lo 
7e70: 74 68 72 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e  threads.lo token
7e80: 69 7a 65 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e  ize.lo treeview.
7e90: 6c 6f 20 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a  lo trigger.lo \.
7ea0: 20 20 20 20 20 20 20 20 20 75 70 64 61 74 65 2e           update.
7eb0: 6c 6f 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75  lo util.lo vacuu
7ec0: 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  m.lo \.         
7ed0: 76 64 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61  vdbeapi.lo vdbea
7ee0: 75 78 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c  ux.lo vdbeblob.l
7ef0: 6f 20 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62  o vdbemem.lo vdb
7f00: 65 73 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20  esort.lo \.     
7f10: 20 20 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f      vdbetrace.lo
7f20: 20 77 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c   wal.lo walker.l
7f30: 6f 20 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65  o where.lo where
7f40: 63 6f 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70  code.lo whereexp
7f50: 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  r.lo \.         
7f60: 75 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23  utf.lo vtab.lo.#
7f70: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62   <</mark>>..# Ob
7f80: 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74  ject files for t
7f90: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e  he amalgamation.
7fa0: 0a 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71  .#.LIBOBJS1 = sq
7fb0: 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65  lite3.lo..# Dete
7fc0: 72 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76  rmine the real v
7fd0: 61 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62  alue of LIBOBJ b
7fe0: 61 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e  ased on the 'con
7ff0: 66 69 67 75 72 65 27 20 73 63 72 69 70 74 0a 23  figure' script.#
8000: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20  .# <<mark>>.!IF 
8010: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI
8020: 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20  ON)==0.LIBOBJ = 
8030: 24 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53  $(LIBOBJS0).!ELS
8040: 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49  E.# <</mark>>.LI
8050: 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53  BOBJ = $(LIBOBJS
8060: 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45  1).# <<mark>>.!E
8070: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
8080: 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66  ..# Determine if
8090: 20 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72   embedded resour
80a0: 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61  ce compilation a
80b0: 6e 64 20 75 73 61 67 65 20 61 72 65 20 65 6e 61  nd usage are ena
80c0: 62 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53  bled..#.!IF $(US
80d0: 45 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f  E_RC)!=0.LIBRESO
80e0: 42 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73  BJS = sqlite3res
80f0: 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53  .lo.!ELSE.LIBRES
8100: 4f 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23  OBJS =.!ENDIF..#
8110: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65   <<mark>>.# Core
8120: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
8130: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52  es, part 1..#.SR
8140: 43 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C00 = \.  $(TOP)
8150: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20  \src\alter.c \. 
8160: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c   $(TOP)\src\anal
8170: 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  yze.c \.  $(TOP)
8180: 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a  \src\attach.c \.
8190: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74    $(TOP)\src\aut
81a0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  h.c \.  $(TOP)\s
81b0: 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20  rc\backup.c \.  
81c0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65  $(TOP)\src\bitve
81d0: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s
81e0: 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20  rc\btmutex.c \. 
81f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre
8200: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
8210: 72 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24  rc\build.c \.  $
8220: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
8230: 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ck.c \.  $(TOP)\
8240: 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c  src\complete.c \
8250: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74  .  $(TOP)\src\ct
8260: 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ime.c \.  $(TOP)
8270: 5c 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20  \src\date.c \.  
8280: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67  $(TOP)\src\dbpag
8290: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
82a0: 72 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20  rc\dbstat.c \.  
82b0: 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74  $(TOP)\src\delet
82c0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
82d0: 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28  rc\expr.c \.  $(
82e0: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63  TOP)\src\fault.c
82f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8300: 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50  fkey.c \.  $(TOP
8310: 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20  )\src\func.c \. 
8320: 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62   $(TOP)\src\glob
8330: 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  al.c \.  $(TOP)\
8340: 73 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24  src\hash.c \.  $
8350: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74  (TOP)\src\insert
8360: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8370: 63 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24  c\legacy.c \.  $
8380: 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78  (TOP)\src\loadex
8390: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
83a0: 72 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28  rc\main.c \.  $(
83b0: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e  TOP)\src\malloc.
83c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
83d0: 5c 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f  \mem0.c \.  $(TO
83e0: 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a  P)\src\mem1.c \.
83f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem
8400: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  2.c \.  $(TOP)\s
8410: 72 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28  rc\mem3.c \.  $(
8420: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20  TOP)\src\mem5.c 
8430: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
8440: 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20  emjournal.c \.  
8450: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
8460: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8470: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c  c\mutex_noop.c \
8480: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu
8490: 74 65 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24  tex_unix.c \.  $
84a0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
84b0: 77 33 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  w32.c \.  $(TOP)
84c0: 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a  \src\notify.c \.
84d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e    $(TOP)\src\os.
84e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
84f0: 5c 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24  \os_unix.c \.  $
8500: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
8510: 2e 63 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72 63  .c..# Core sourc
8520: 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61  e code files, pa
8530: 72 74 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20  rt 2..#.SRC01 = 
8540: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
8550: 61 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ager.c \.  $(TOP
8560: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c  )\src\pcache.c \
8570: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc
8580: 61 63 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f  ache1.c \.  $(TO
8590: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20  P)\src\pragma.c 
85a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
85b0: 72 65 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54  repare.c \.  $(T
85c0: 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63  OP)\src\printf.c
85d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
85e0: 72 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54  random.c \.  $(T
85f0: 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e  OP)\src\resolve.
8600: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8610: 5c 72 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 28  \rowset.c \.  $(
8620: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e  TOP)\src\select.
8630: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8640: 5c 73 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 28  \status.c \.  $(
8650: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
8660: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8670: 74 68 72 65 61 64 73 2e 63 20 5c 0a 20 20 24 28  threads.c \.  $(
8680: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
8690: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
86a0: 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c  src\tokenize.c \
86b0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  .  $(TOP)\src\tr
86c0: 65 65 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54  eeview.c \.  $(T
86d0: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e  OP)\src\trigger.
86e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
86f0: 5c 75 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50  \utf.c \.  $(TOP
8700: 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 5c  )\src\update.c \
8710: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  .  $(TOP)\src\ut
8720: 69 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  il.c \.  $(TOP)\
8730: 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20  src\vacuum.c \. 
8740: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8750: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8760: 63 5c 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20  c\vdbeapi.c \.  
8770: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
8780: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ux.c \.  $(TOP)\
8790: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c  src\vdbeblob.c \
87a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd
87b0: 62 65 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  bemem.c \.  $(TO
87c0: 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e  P)\src\vdbesort.
87d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
87e0: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20  \vdbetrace.c \. 
87f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62   $(TOP)\src\vtab
8800: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8810: 63 5c 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  c\wal.c \.  $(TO
8820: 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20  P)\src\walker.c 
8830: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
8840: 68 65 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  here.c \.  $(TOP
8850: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e  )\src\wherecode.
8860: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8870: 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 23 20  \whereexpr.c..# 
8880: 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f  Core miscellaneo
8890: 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30  us files..#.SRC0
88a0: 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3 = \.  $(TOP)\s
88b0: 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f  rc\parse.y..# Co
88c0: 72 65 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c  re header files,
88d0: 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34   part 1..#.SRC04
88e0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72   = \.  $(TOP)\sr
88f0: 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28  c\btree.h \.  $(
8900: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e  TOP)\src\btreeIn
8910: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
8920: 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  rc\hash.h \.  $(
8930: 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e  TOP)\src\hwtime.
8940: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8950: 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f  \msvc.h \.  $(TO
8960: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c  P)\src\mutex.h \
8970: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os
8980: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8990: 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a  c\os_common.h \.
89a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
89b0: 73 65 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f  setup.h \.  $(TO
89c0: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a  P)\src\os_win.h.
89d0: 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20 66  .# Core header f
89e0: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a  iles, part 2..#.
89f0: 53 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC05 = \.  $(TO
8a00: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c  P)\src\pager.h \
8a10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc
8a20: 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50  ache.h \.  $(TOP
8a30: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c  )\src\pragma.h \
8a40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  .  $(TOP)\src\sq
8a50: 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28  lite.h.in \.  $(
8a60: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33  TOP)\src\sqlite3
8a70: 65 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ext.h \.  $(TOP)
8a80: 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68  \src\sqliteInt.h
8a90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8aa0: 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a  sqliteLimit.h \.
8ab0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
8ac0: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.h \.  $(TOP)\s
8ad0: 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20  rc\vdbeInt.h \. 
8ae0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f   $(TOP)\src\vxwo
8af0: 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  rks.h \.  $(TOP)
8b00: 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24  \src\wal.h \.  $
8b10: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49  (TOP)\src\whereI
8b20: 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f  nt.h..# Extensio
8b30: 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  n source code fi
8b40: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
8b50: 52 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC06 = \.  $(TOP
8b60: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e  )\ext\fts1\fts1.
8b70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8b80: 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e  \fts1\fts1_hash.
8b90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8ba0: 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65  \fts1\fts1_porte
8bb0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
8bc0: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b  xt\fts1\fts1_tok
8bd0: 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28  enizer1.c \.  $(
8be0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
8bf0: 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s2.c \.  $(TOP)\
8c00: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61  ext\fts2\fts2_ha
8c10: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\
8c20: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63  ext\fts2\fts2_ic
8c30: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e
8c40: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72  xt\fts2\fts2_por
8c50: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ter.c \.  $(TOP)
8c60: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
8c70: 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24  okenizer.c \.  $
8c80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
8c90: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts2_tokenizer1.c
8ca0: 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f  ..# Extension so
8cb0: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c  urce code files,
8cc0: 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37   part 2..#.SRC07
8cd0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex
8ce0: 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a  t\fts3\fts3.c \.
8cf0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8d00: 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20  3\fts3_aux.c \. 
8d10: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8d20: 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20  \fts3_expr.c \. 
8d30: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8d40: 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20  \fts3_hash.c \. 
8d50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8d60: 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20  \fts3_icu.c \.  
8d70: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8d80: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a  fts3_porter.c \.
8d90: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8da0: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
8db0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8dc0: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
8dd0: 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  zer.c \.  $(TOP)
8de0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
8df0: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20  okenizer1.c \.  
8e00: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8e10: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
8e20: 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ab.c \.  $(TOP)\
8e30: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e  ext\fts3\fts3_un
8e40: 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f  icode.c \.  $(TO
8e50: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
8e60: 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20  _unicode2.c \.  
8e70: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8e80: 66 74 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20  fts3_write.c \. 
8e90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c   $(TOP)\ext\icu\
8ea0: 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  icu.c \.  $(TOP)
8eb0: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
8ec0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8ed0: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65  t\session\sqlite
8ee0: 33 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24  3session.c \.  $
8ef0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
8f00: 6c 69 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24  lite3rbu.c \.  $
8f10: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a  (TOP)\ext\misc\j
8f20: 73 6f 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50  son1.c \.  $(TOP
8f30: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e  )\ext\misc\stmt.
8f40: 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68  c..# Extension h
8f50: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72  eader files, par
8f60: 74 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c  t 1..#.SRC08 = \
8f70: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8f80: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28  s1\fts1.h \.  $(
8f90: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
8fa0: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $(
8fb0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
8fc0: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c  s1_tokenizer.h \
8fd0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8fe0: 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28  s2\fts2.h \.  $(
8ff0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
9000: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s2_hash.h \.  $(
9010: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
9020: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a  s2_tokenizer.h..
9030: 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64  # Extension head
9040: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32  er files, part 2
9050: 2e 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20  ..#.SRC09 = \.  
9060: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9070: 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts3.h \.  $(TOP
9080: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49  )\ext\fts3\fts3I
9090: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\
90a0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
90b0: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.h \.  $(TOP)\
90c0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
90d0: 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28  kenizer.h \.  $(
90e0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c  TOP)\ext\icu\sql
90f0: 69 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54  iteicu.h \.  $(T
9100: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
9110: 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ree.h \.  $(TOP)
9120: 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33  \ext\rbu\sqlite3
9130: 72 62 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  rbu.h \.  $(TOP)
9140: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c  \ext\session\sql
9150: 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23  ite3session.h..#
9160: 20 47 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63   Generated sourc
9170: 65 20 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53  e code files.#.S
9180: 52 43 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64  RC10 = \.  opcod
9190: 65 73 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63  es.c \.  parse.c
91a0: 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 68 65  ..# Generated he
91b0: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43  ader files.#.SRC
91c0: 31 31 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64  11 = \.  keyword
91d0: 68 61 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64  hash.h \.  opcod
91e0: 65 73 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68  es.h \.  parse.h
91f0: 20 5c 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20   \.  shell.c \. 
9200: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20   $(SQLITE3H)..# 
9210: 47 65 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65  Generated Tcl he
9220: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46  ader files.#.!IF
9230: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)!
9240: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
9250: 30 29 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a  0)!=0.SRC12 = \.
9260: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20    $(SQLITETCLH) 
9270: 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44  \.  $(SQLITETCLD
9280: 45 43 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43  ECLSH).!ELSE.SRC
9290: 31 32 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41  12 =.!ENDIF..# A
92a0: 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ll source code f
92b0: 69 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28  iles..#.SRC = $(
92c0: 53 52 43 30 30 29 20 24 28 53 52 43 30 31 29 20  SRC00) $(SRC01) 
92d0: 24 28 53 52 43 30 33 29 20 24 28 53 52 43 30 34  $(SRC03) $(SRC04
92e0: 29 20 24 28 53 52 43 30 35 29 20 24 28 53 52 43  ) $(SRC05) $(SRC
92f0: 30 36 29 20 24 28 53 52 43 30 37 29 20 24 28 53  06) $(SRC07) $(S
9300: 52 43 30 38 29 20 24 28 53 52 43 30 39 29 20 24  RC08) $(SRC09) $
9310: 28 53 52 43 31 30 29 20 24 28 53 52 43 31 31 29  (SRC10) $(SRC11)
9320: 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20  ..# Source code 
9330: 74 6f 20 74 68 65 20 74 65 73 74 20 66 69 6c 65  to the test file
9340: 73 2e 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c  s..#.TESTSRC = \
9350: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9360: 73 74 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st1.c \.  $(TOP)
9370: 5c 73 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20  \src\test2.c \. 
9380: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9390: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3.c \.  $(TOP)\s
93a0: 72 63 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24  rc\test4.c \.  $
93b0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e  (TOP)\src\test5.
93c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
93d0: 5c 74 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54  \test6.c \.  $(T
93e0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20  OP)\src\test7.c 
93f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9400: 65 73 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est8.c \.  $(TOP
9410: 29 5c 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a  )\src\test9.c \.
9420: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9430: 74 5f 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20  t_autoext.c \.  
9440: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9450: 61 73 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f  async.c \.  $(TO
9460: 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b  P)\src\test_back
9470: 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  up.c \.  $(TOP)\
9480: 73 72 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64  src\test_bestind
9490: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\
94a0: 73 72 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20  src\test_blob.c 
94b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
94c0: 65 73 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20  est_btree.c \.  
94d0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
94e0: 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54  config.c \.  $(T
94f0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c  OP)\src\test_del
9500: 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ete.c \.  $(TOP)
9510: 5c 73 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66  \src\test_demovf
9520: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s
9530: 72 63 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63  rc\test_devsym.c
9540: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9550: 74 65 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28  test_fs.c \.  $(
9560: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75  TOP)\src\test_fu
9570: 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nc.c \.  $(TOP)\
9580: 73 72 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63  src\test_hexio.c
9590: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
95a0: 74 65 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20  test_init.c \.  
95b0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
95c0: 69 6e 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24  intarray.c \.  $
95d0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a  (TOP)\src\test_j
95e0: 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54  ournal.c \.  $(T
95f0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c  OP)\src\test_mal
9600: 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  loc.c \.  $(TOP)
9610: 5c 73 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20  \src\test_md5.c 
9620: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9630: 65 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20  est_multiplex.c 
9640: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9650: 65 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20  est_mutex.c \.  
9660: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9670: 6f 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28  onefile.c \.  $(
9680: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73  TOP)\src\test_os
9690: 69 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  inst.c \.  $(TOP
96a0: 29 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68  )\src\test_pcach
96b0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
96c0: 72 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20  rc\test_quota.c 
96d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
96e0: 65 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20  est_rtree.c \.  
96f0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9700: 73 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54  schema.c \.  $(T
9710: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72  OP)\src\test_ser
9720: 76 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ver.c \.  $(TOP)
9730: 5c 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c  \src\test_superl
9740: 6f 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ock.c \.  $(TOP)
9750: 5c 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c  \src\test_syscal
9760: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
9770: 72 63 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20  rc\test_tclsh.c 
9780: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9790: 65 73 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20  est_tclvar.c \. 
97a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
97b0: 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28  _thread.c \.  $(
97c0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66  TOP)\src\test_vf
97d0: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s
97e0: 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e  rc\test_windiren
97f0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
9800: 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a  rc\test_wsd.c \.
9810: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9820: 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a  3\fts3_term.c \.
9830: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9840: 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a  3\fts3_test.c \.
9850: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75    $(TOP)\ext\rbu
9860: 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20  \test_rbu.c \.  
9870: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi
9880: 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e  on\test_session.
9890: 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20  c..# Statically 
98a0: 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e  linked extension
98b0: 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c  s..#.TESTEXT = \
98c0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  .  $(TOP)\ext\ex
98d0: 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
98e0: 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  rt.c \.  $(TOP)\
98f0: 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73 74 5f  ext\expert\test_
9900: 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54  expert.c \.  $(T
9910: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61  OP)\ext\misc\ama
9920: 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tch.c \.  $(TOP)
9930: 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72 61 79  \ext\misc\carray
9940: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9950: 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63  t\misc\closure.c
9960: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9970: 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24  misc\csv.c \.  $
9980: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65  (TOP)\ext\misc\e
9990: 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  val.c \.  $(TOP)
99a0: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
99b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
99c0: 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20  t\misc\fuzzer.c 
99d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
99e0: 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c  ts5\fts5_tcl.c \
99f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9a00: 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e  s5\fts5_test_mi.
9a10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9a20: 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f  \fts5\fts5_test_
9a30: 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tok.c \.  $(TOP)
9a40: 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35  \ext\misc\ieee75
9a50: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  4.c \.  $(TOP)\e
9a60: 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d  xt\misc\mmapwarm
9a70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9a80: 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e  t\misc\nextchar.
9a90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9aa0: 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65  \misc\percentile
9ab0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9ac0: 74 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20  t\misc\regexp.c 
9ad0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9ae0: 69 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c  isc\remember.c \
9af0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9b00: 73 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20  sc\series.c \.  
9b10: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9b20: 73 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24  spellfix.c \.  $
9b30: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74  (TOP)\ext\misc\t
9b40: 6f 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f  otype.c \.  $(TO
9b50: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f  P)\ext\misc\unio
9b60: 6e 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  nvtab.c \.  $(TO
9b70: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c  P)\ext\misc\whol
9b80: 65 6e 75 6d 62 65 72 2e 63 20 5c 0a 20 20 24 28  enumber.c \.  $(
9b90: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 7a 69  TOP)\ext\misc\zi
9ba0: 70 66 69 6c 65 2e 63 0a 0a 23 20 53 6f 75 72 63  pfile.c..# Sourc
9bb0: 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20 6c 69  e code to the li
9bc0: 62 72 61 72 79 20 66 69 6c 65 73 20 6e 65 65 64  brary files need
9bd0: 65 64 20 62 79 20 74 68 65 20 74 65 73 74 20 66  ed by the test f
9be0: 69 78 74 75 72 65 0a 23 20 28 6e 6f 6e 2d 61 6d  ixture.# (non-am
9bf0: 61 6c 67 61 6d 61 74 69 6f 6e 29 0a 23 0a 54 45  algamation).#.TE
9c00: 53 54 53 52 43 32 20 3d 20 5c 0a 20 20 24 28 53  STSRC2 = \.  $(S
9c10: 52 43 30 30 29 20 5c 0a 20 20 24 28 53 52 43 30  RC00) \.  $(SRC0
9c20: 31 29 20 5c 0a 20 20 24 28 53 52 43 30 36 29 20  1) \.  $(SRC06) 
9c30: 5c 0a 20 20 24 28 53 52 43 30 37 29 20 5c 0a 20  \.  $(SRC07) \. 
9c40: 20 24 28 53 52 43 31 30 29 20 5c 0a 20 20 24 28   $(SRC10) \.  $(
9c50: 54 4f 50 29 5c 65 78 74 5c 61 73 79 6e 63 5c 73  TOP)\ext\async\s
9c60: 71 6c 69 74 65 33 61 73 79 6e 63 2e 63 0a 0a 23  qlite3async.c..#
9c70: 20 48 65 61 64 65 72 20 66 69 6c 65 73 20 75 73   Header files us
9c80: 65 64 20 62 79 20 61 6c 6c 20 6c 69 62 72 61 72  ed by all librar
9c90: 79 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e 0a  y source files..
9ca0: 23 0a 48 44 52 20 3d 20 5c 0a 20 20 20 24 28 54  #.HDR = \.   $(T
9cb0: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68 20  OP)\src\btree.h 
9cc0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
9cd0: 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 20  btreeInt.h \.   
9ce0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e  $(TOP)\src\hash.
9cf0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
9d00: 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 20  c\hwtime.h \.   
9d10: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a  keywordhash.h \.
9d20: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 73     $(TOP)\src\ms
9d30: 76 63 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  vc.h \.   $(TOP)
9d40: 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20  \src\mutex.h \. 
9d50: 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20    opcodes.h \.  
9d60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68   $(TOP)\src\os.h
9d70: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9d80: 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20  \os_common.h \. 
9d90: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
9da0: 73 65 74 75 70 2e 68 20 5c 0a 20 20 20 24 28 54  setup.h \.   $(T
9db0: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68  OP)\src\os_win.h
9dc0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9dd0: 5c 70 61 67 65 72 2e 68 20 5c 0a 20 20 20 24 28  \pager.h \.   $(
9de0: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e  TOP)\src\pcache.
9df0: 68 20 5c 0a 20 20 20 70 61 72 73 65 2e 68 20 5c  h \.   parse.h \
9e00: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  .   $(TOP)\src\p
9e10: 72 61 67 6d 61 2e 68 20 5c 0a 20 20 20 24 28 53  ragma.h \.   $(S
9e20: 51 4c 49 54 45 33 48 29 20 5c 0a 20 20 20 73 71  QLITE3H) \.   sq
9e30: 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 20 20  lite3ext.h \.   
9e40: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit
9e50: 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  eInt.h \.   $(TO
9e60: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d  P)\src\sqliteLim
9e70: 69 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  it.h \.   $(TOP)
9e80: 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20  \src\vdbe.h \.  
9e90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
9ea0: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  Int.h \.   $(TOP
9eb0: 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20  )\src\vxworks.h 
9ec0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
9ed0: 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 48 65  whereInt.h..# He
9ee0: 61 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20  ader files used 
9ef0: 62 79 20 65 78 74 65 6e 73 69 6f 6e 73 0a 23 0a  by extensions.#.
9f00: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD
9f10: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  R) \.  $(TOP)\ex
9f20: 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20 5c 0a  t\fts1\fts1.h \.
9f30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9f40: 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20 5c 0a  1\fts1_hash.h \.
9f50: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9f60: 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72  1\fts1_tokenizer
9f70: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX
9f80: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
9f90: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68  \ext\fts2\fts2.h
9fa0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9fb0: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68  fts2\fts2_hash.h
9fc0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9fd0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
9fe0: 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24  zer.h.EXTHDR = $
9ff0: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54  (EXTHDR) \.  $(T
a000: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
a010: 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  3.h \.  $(TOP)\e
a020: 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74 2e  xt\fts3\fts3Int.
a030: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
a040: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
a050: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
a060: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
a070: 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20  izer.h.EXTHDR = 
a080: 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28  $(EXTHDR) \.  $(
a090: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72  TOP)\ext\rtree\r
a0a0: 74 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d 20  tree.h.EXTHDR = 
a0b0: 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28  $(EXTHDR) \.  $(
a0c0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c  TOP)\ext\icu\sql
a0d0: 69 74 65 69 63 75 2e 68 0a 45 58 54 48 44 52 20  iteicu.h.EXTHDR 
a0e0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
a0f0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
a100: 5c 73 71 6c 69 74 65 33 72 74 72 65 65 2e 68 0a  \sqlite3rtree.h.
a110: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD
a120: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  R) \.  $(TOP)\ex
a130: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65  t\session\sqlite
a140: 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 65 78  3session.h..# ex
a150: 65 63 75 74 61 62 6c 65 73 20 6e 65 65 64 65 64  ecutables needed
a160: 20 66 6f 72 20 74 65 73 74 69 6e 67 0a 23 0a 54   for testing.#.T
a170: 45 53 54 50 52 4f 47 53 20 3d 20 5c 0a 20 20 74  ESTPROGS = \.  t
a180: 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 5c  estfixture.exe \
a190: 0a 20 20 24 28 53 51 4c 49 54 45 33 45 58 45 29  .  $(SQLITE3EXE)
a1a0: 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f 61 6e 61   \.  sqlite3_ana
a1b0: 6c 79 7a 65 72 2e 65 78 65 20 5c 0a 20 20 73 71  lyzer.exe \.  sq
a1c0: 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 65 78  lite3_checker.ex
a1d0: 65 20 5c 0a 20 20 73 71 6c 64 69 66 66 2e 65 78  e \.  sqldiff.ex
a1e0: 65 20 5c 0a 20 20 64 62 68 61 73 68 2e 65 78 65  e \.  dbhash.exe
a1f0: 0a 0a 23 20 44 61 74 61 62 61 73 65 73 20 63 6f  ..# Databases co
a200: 6e 74 61 69 6e 69 6e 67 20 66 75 7a 7a 65 72 20  ntaining fuzzer 
a210: 74 65 73 74 20 63 61 73 65 73 0a 23 0a 46 55 5a  test cases.#.FUZ
a220: 5a 44 41 54 41 20 3d 20 5c 0a 20 20 24 28 54 4f  ZDATA = \.  $(TO
a230: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
a240: 31 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  1.db \.  $(TOP)\
a250: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 32 2e 64  test\fuzzdata2.d
a260: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes
a270: 74 5c 66 75 7a 7a 64 61 74 61 33 2e 64 62 20 5c  t\fuzzdata3.db \
a280: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  .  $(TOP)\test\f
a290: 75 7a 7a 64 61 74 61 34 2e 64 62 20 5c 0a 20 20  uzzdata4.db \.  
a2a0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz
a2b0: 64 61 74 61 35 2e 64 62 0a 23 20 3c 3c 2f 6d 61  data5.db.# <</ma
a2c0: 72 6b 3e 3e 0a 0a 23 20 41 64 64 69 74 69 6f 6e  rk>>..# Addition
a2d0: 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  al compiler opti
a2e0: 6f 6e 73 20 66 6f 72 20 74 68 65 20 73 68 65 6c  ons for the shel
a2f0: 6c 2e 20 20 54 68 65 73 65 20 61 72 65 20 6f 6e  l.  These are on
a300: 6c 79 20 65 66 66 65 63 74 69 76 65 0a 23 20 77  ly effective.# w
a310: 68 65 6e 20 74 68 65 20 73 68 65 6c 6c 20 69 73  hen the shell is
a320: 20 6e 6f 74 20 62 65 69 6e 67 20 64 79 6e 61 6d   not being dynam
a330: 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 2e 0a 23  ically linked..#
a340: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
a350: 48 45 4c 4c 29 3d 3d 30 20 26 26 20 24 28 46 4f  HELL)==0 && $(FO
a360: 52 5f 57 49 4e 31 30 29 3d 3d 30 0a 53 48 45 4c  R_WIN10)==0.SHEL
a370: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  L_COMPILE_OPTS =
a380: 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45   $(SHELL_COMPILE
a390: 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f  _OPTS) -DSQLITE_
a3a0: 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53  ENABLE_JSON1 -DS
a3b0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53  QLITE_ENABLE_FTS
a3c0: 34 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  4 -DSQLITE_ENABL
a3d0: 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e  E_EXPLAIN_COMMEN
a3e0: 54 53 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  TS -DSQLITE_ENAB
a3f0: 4c 45 5f 53 54 4d 54 56 54 41 42 0a 53 48 45 4c  LE_STMTVTAB.SHEL
a400: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  L_COMPILE_OPTS =
a410: 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45   $(SHELL_COMPILE
a420: 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f  _OPTS) -DSQLITE_
a430: 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f 56 54  ENABLE_DBPAGE_VT
a440: 41 42 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  AB -DSQLITE_ENAB
a450: 4c 45 5f 44 42 53 54 41 54 5f 56 54 41 42 0a 53  LE_DBSTAT_VTAB.S
a460: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
a470: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50  S = $(SHELL_COMP
a480: 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ILE_OPTS) -DSQLI
a490: 54 45 5f 45 4e 41 42 4c 45 5f 4f 46 46 53 45 54  TE_ENABLE_OFFSET
a4a0: 5f 53 51 4c 5f 46 55 4e 43 20 2d 44 53 51 4c 49  _SQL_FUNC -DSQLI
a4b0: 54 45 5f 49 4e 54 52 4f 53 50 45 43 54 49 4f 4e  TE_INTROSPECTION
a4c0: 5f 50 52 41 47 4d 41 53 0a 21 45 4e 44 49 46 0a  _PRAGMAS.!ENDIF.
a4d0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78  .# <<mark>>.# Ex
a4e0: 74 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74  tra compiler opt
a4f0: 69 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f 75 73  ions for various
a500: 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d   test tools..#.M
a510: 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f  PTESTER_COMPILE_
a520: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
a530: 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53  ENABLE_JSON1 -DS
a540: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53  QLITE_ENABLE_FTS
a550: 35 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f  5.FUZZERSHELL_CO
a560: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53  MPILE_OPTS = -DS
a570: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f  QLITE_ENABLE_JSO
a580: 4e 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d  N1.FUZZCHECK_COM
a590: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51  PILE_OPTS = -DSQ
a5a0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  LITE_ENABLE_JSON
a5b0: 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  1 -DSQLITE_ENABL
a5c0: 45 5f 4d 45 4d 53 59 53 35 20 2d 44 53 51 4c 49  E_MEMSYS5 -DSQLI
a5d0: 54 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d 44 53 51  TE_OSS_FUZZ -DSQ
a5e0: 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f 52 59 3d  LITE_MAX_MEMORY=
a5f0: 35 30 30 30 30 30 30 30 0a 46 55 5a 5a 43 48 45  50000000.FUZZCHE
a600: 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c  CK_SRC = $(TOP)\
a610: 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e 63  test\fuzzcheck.c
a620: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73   $(TOP)\test\oss
a630: 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c 5f  fuzz.c.OSSSHELL_
a640: 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73  SRC = $(TOP)\tes
a650: 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28 54  t\ossshell.c $(T
a660: 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a  OP)\test\ossfuzz
a670: 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c  .c.DBFUZZ_COMPIL
a680: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
a690: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
a6a0: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
a6b0: 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 4b 56 5f 43  D_EXTENSION.KV_C
a6c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44  OMPILE_OPTS = -D
a6d0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
a6e0: 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 44 49 52  E=0 -DSQLITE_DIR
a6f0: 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f 52 45 41  ECT_OVERFLOW_REA
a700: 44 0a 44 42 53 45 4c 46 54 45 53 54 5f 43 4f 4d  D.DBSELFTEST_COM
a710: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51  PILE_OPTS = -DSQ
a720: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
a730: 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
a740: 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d  LOAD_EXTENSION -
a750: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52  DSQLITE_ENABLE_R
a760: 54 52 45 45 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TREE -DSQLITE_EN
a770: 41 42 4c 45 5f 46 54 53 34 20 2d 44 53 51 4c 49  ABLE_FTS4 -DSQLI
a780: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 53  TE_ENABLE_FTS5.S
a790: 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  T_COMPILE_OPTS =
a7a0: 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
a7b0: 53 41 46 45 3d 30 0a 0a 23 20 53 74 61 6e 64 61  SAFE=0..# Standa
a7c0: 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74 65  rd options to te
a7d0: 73 74 66 69 78 74 75 72 65 2e 0a 23 0a 54 45 53  stfixture..#.TES
a7e0: 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72 62 6f 73  TOPTS = --verbos
a7f0: 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70 75 74 3d  e=file --output=
a800: 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a 0a 23 20  test-out.txt..# 
a810: 45 78 74 72 61 20 74 61 72 67 65 74 73 20 66 6f  Extra targets fo
a820: 72 20 74 68 65 20 22 61 6c 6c 22 20 74 61 72 67  r the "all" targ
a830: 65 74 20 74 68 61 74 20 72 65 71 75 69 72 65 20  et that require 
a840: 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f  Tcl..#.!IF $(NO_
a850: 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c 5f  TCL)==0.ALL_TCL_
a860: 54 41 52 47 45 54 53 20 3d 20 6c 69 62 74 63 6c  TARGETS = libtcl
a870: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53  sqlite3.lib.!ELS
a880: 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54  E.ALL_TCL_TARGET
a890: 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  S =.!ENDIF.# <</
a8a0: 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69  mark>>..# This i
a8b0: 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 4d 61  s the default Ma
a8c0: 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e 20 20  kefile target.  
a8d0: 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69 73 74  The objects list
a8e0: 65 64 20 68 65 72 65 0a 23 20 61 72 65 20 77 68  ed here.# are wh
a8f0: 61 74 20 67 65 74 20 62 75 69 6c 64 20 77 68 65  at get build whe
a900: 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73 74 20  n you type just 
a910: 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f 20 61  "make" with no a
a920: 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c 6c 3a  rguments..#.all:
a930: 09 64 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e  .dll libsqlite3.
a940: 6c 69 62 20 73 68 65 6c 6c 20 24 28 41 4c 4c 5f  lib shell $(ALL_
a950: 54 43 4c 5f 54 41 52 47 45 54 53 29 0a 0a 23 20  TCL_TARGETS)..# 
a960: 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62  Dynamic link lib
a970: 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a 23 0a  rary section..#.
a980: 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 44 4c  dll:.$(SQLITE3DL
a990: 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78 65 63  L)..# Shell exec
a9a0: 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c 6c 3a  utable..#.shell:
a9b0: 09 24 28 53 51 4c 49 54 45 33 45 58 45 29 0a 0a  .$(SQLITE3EXE)..
a9c0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 73 71  # <<mark>>.libsq
a9d0: 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49 42  lite3.lib:.$(LIB
a9e0: 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20 24  OBJ)..$(LTLIB) $
a9f0: 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55 54  (LTLIBOPTS) /OUT
aa00: 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28  :$@ $(LIBOBJ) $(
aa10: 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c 73 71  TLIBS)..libtclsq
aa20: 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c 73 71  lite3.lib:.tclsq
aa30: 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74  lite.lo libsqlit
aa40: 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 42 29  e3.lib..$(LTLIB)
aa50: 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 24 28   $(LTLIBOPTS) $(
aa60: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54  LTLIBPATHS) /OUT
aa70: 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f  :$@ tclsqlite.lo
aa80: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20   libsqlite3.lib 
aa90: 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20 24 28  $(LIBTCLSTUB) $(
aaa0: 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61 72 6b  TLIBS).# <</mark
aab0: 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44 4c 4c  >>..$(SQLITE3DLL
aac0: 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c  ):.$(LIBOBJ) $(L
aad0: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 43 4f 52  IBRESOBJS) $(COR
aae0: 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24 28 4c  E_LINK_DEP)..$(L
aaf0: 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  D) $(LDFLAGS) $(
ab00: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54  LTLINKOPTS) $(LT
ab10: 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 24  LIBPATHS) /DLL $
ab20: 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 29  (CORE_LINK_OPTS)
ab30: 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42   /OUT:$@ $(LIBOB
ab40: 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  J) $(LIBRESOBJS)
ab50: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS) $(TLI
ab60: 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b 32 3e  BS)..# <<block2>
ab70: 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a 09 6c  >.sqlite3.def:.l
ab80: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 65  ibsqlite3.lib..e
ab90: 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20 73 71  cho EXPORTS > sq
aba0: 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 6d 70 62  lite3.def..dumpb
abb0: 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c 69 74  in /all libsqlit
abc0: 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24 28 54  e3.lib \...| $(T
abd0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
abe0: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
abf0: 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73 2b 31  l include "^\s+1
ac00: 20 5f 3f 28 73 71 6c 69 74 65 33 28 3f 3a 73 65   _?(sqlite3(?:se
ac10: 73 73 69 6f 6e 7c 63 68 61 6e 67 65 73 65 74 7c  ssion|changeset|
ac20: 63 68 61 6e 67 65 67 72 6f 75 70 29 3f 5f 5b 5e  changegroup)?_[^
ac30: 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22  @]*)(?:@\d+)?$$"
ac40: 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e   \1 \...| sort >
ac50: 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 23 20  > sqlite3.def.# 
ac60: 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53  <</block2>>..$(S
ac70: 51 4c 49 54 45 33 45 58 45 29 3a 09 73 68 65 6c  QLITE3EXE):.shel
ac80: 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  l.c $(SHELL_CORE
ac90: 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42  _DEP) $(LIBRESOB
aca0: 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  JS) $(SHELL_CORE
acb0: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 48  _SRC) $(SQLITE3H
acc0: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53  )..$(LTLINK) $(S
acd0: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
ace0: 53 29 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c  S) $(READLINE_FL
acf0: 41 47 53 29 20 73 68 65 6c 6c 2e 63 20 24 28 53  AGS) shell.c $(S
ad00: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 5c  HELL_CORE_SRC) \
ad10: 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c 49 54  .../link $(SQLIT
ad20: 45 33 45 58 45 50 44 42 29 20 24 28 4c 44 46 4c  E3EXEPDB) $(LDFL
ad30: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
ad40: 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e 4b 5f  S) $(SHELL_LINK_
ad50: 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT
ad60: 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS
ad70: 29 20 24 28 4c 49 42 52 45 41 44 4c 49 4e 45 29  ) $(LIBREADLINE)
ad80: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS) $(TLI
ad90: 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  BS)..# <<mark>>.
ada0: 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 24 28 54  sqldiff.exe:.$(T
adb0: 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66  OP)\tool\sqldiff
adc0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
add0: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
ade0: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
adf0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql
ae00: 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33  diff.c $(SQLITE3
ae10: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
ae20: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
ae30: 29 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a 09 24  )..dbhash.exe:.$
ae40: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73  (TOP)\tool\dbhas
ae50: 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  h.c $(SQLITE3C) 
ae60: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
ae70: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
ae80: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62  ) $(TOP)\tool\db
ae90: 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33  hash.c $(SQLITE3
aea0: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
aeb0: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
aec0: 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09 24 28  )..scrub.exe:.$(
aed0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63  TOP)\ext\misc\sc
aee0: 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43  rub.c $(SQLITE3C
aef0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
af00: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
af10: 52 4e 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  RN) $(TOP)\ext\m
af20: 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28 53 51  isc\scrub.c $(SQ
af30: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
af40: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
af50: 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31 2e 65  KOPTS)..srcck1.e
af60: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
af70: 73 72 63 63 6b 31 2e 63 0a 09 24 28 42 43 43 29  srcck1.c..$(BCC)
af80: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24   $(NO_WARN) -Fe$
af90: 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72  @ $(TOP)\tool\sr
afa0: 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65 74 65  cck1.c..sourcete
afb0: 73 74 3a 09 73 72 63 63 6b 31 2e 65 78 65 20 73  st:.srcck1.exe s
afc0: 71 6c 69 74 65 33 2e 63 0a 09 73 72 63 63 6b 31  qlite3.c..srcck1
afd0: 2e 65 78 65 20 73 71 6c 69 74 65 33 2e 63 0a 0a  .exe sqlite3.c..
afe0: 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 3a  fuzzershell.exe:
aff0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a  .$(TOP)\tool\fuz
b000: 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c  zershell.c $(SQL
b010: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
b020: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
b030: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 45  NO_WARN) $(FUZZE
b040: 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  RSHELL_COMPILE_O
b050: 50 54 53 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  PTS) $(TOP)\tool
b060: 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24  \fuzzershell.c $
b070: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
b080: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
b090: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 66 75 7a  LINKOPTS)..dbfuz
b0a0: 7a 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65  z.exe:.$(TOP)\te
b0b0: 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53 51  st\dbfuzz.c $(SQ
b0c0: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
b0d0: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
b0e0: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 44 42 46 55  (NO_WARN) $(DBFU
b0f0: 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  ZZ_COMPILE_OPTS)
b100: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66   $(TOP)\test\dbf
b110: 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43  uzz.c $(SQLITE3C
b120: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
b130: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
b140: 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 3a  ..fuzzcheck.exe:
b150: 09 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43  .$(FUZZCHECK_SRC
b160: 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  ) $(SQLITE3C) $(
b170: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
b180: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
b190: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50  $(FUZZCHECK_COMP
b1a0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 46 55 5a 5a  ILE_OPTS) $(FUZZ
b1b0: 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c  CHECK_SRC) $(SQL
b1c0: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
b1d0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
b1e0: 4f 50 54 53 29 0a 0a 6f 73 73 73 68 65 6c 6c 2e  OPTS)..ossshell.
b1f0: 65 78 65 3a 09 24 28 4f 53 53 53 48 45 4c 4c 5f  exe:.$(OSSSHELL_
b200: 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29  SRC) $(SQLITE3C)
b210: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
b220: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
b230: 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43  N) $(FUZZCHECK_C
b240: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4f  OMPILE_OPTS) $(O
b250: 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53  SSSHELL_SRC) $(S
b260: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
b270: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
b280: 4e 4b 4f 50 54 53 29 0a 0a 6d 70 74 65 73 74 65  NKOPTS)..mpteste
b290: 72 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d 70  r.exe:.$(TOP)\mp
b2a0: 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28  test\mptest.c $(
b2b0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
b2c0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
b2d0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d 50   $(NO_WARN) $(MP
b2e0: 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f  TESTER_COMPILE_O
b2f0: 50 54 53 29 20 24 28 54 4f 50 29 5c 6d 70 74 65  PTS) $(TOP)\mpte
b300: 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51  st\mptest.c $(SQ
b310: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
b320: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
b330: 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53 54 31 20  KOPTS)..MPTEST1 
b340: 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73  = mptester mptes
b350: 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65  t.db $(TOP)\mpte
b360: 73 74 5c 63 72 61 73 68 30 31 2e 74 65 73 74 20  st\crash01.test 
b370: 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d 50 54 45  --repeat 20.MPTE
b380: 53 54 32 20 3d 20 6d 70 74 65 73 74 65 72 20 6d  ST2 = mptester m
b390: 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c  ptest.db $(TOP)\
b3a0: 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77 72 69 74  mptest\multiwrit
b3b0: 65 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61  e01.test --repea
b3c0: 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d 70  t 20..mptest:.mp
b3d0: 74 65 73 74 65 72 2e 65 78 65 0a 09 64 65 6c 20  tester.exe..del 
b3e0: 2f 51 20 6d 70 74 65 73 74 2e 64 62 20 32 3e 4e  /Q mptest.db 2>N
b3f0: 55 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  UL..$(MPTEST1) -
b400: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c  -journalmode DEL
b410: 45 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20  ETE..$(MPTEST2) 
b420: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41  --journalmode WA
b430: 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d  L..$(MPTEST1) --
b440: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a  journalmode WAL.
b450: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f  .$(MPTEST2) --jo
b460: 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53  urnalmode PERSIS
b470: 54 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d  T..$(MPTEST1) --
b480: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53  journalmode PERS
b490: 49 53 54 0a 09 24 28 4d 50 54 45 53 54 32 29 20  IST..$(MPTEST2) 
b4a0: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52  --journalmode TR
b4b0: 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53 54  UNCATE..$(MPTEST
b4c0: 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65  1) --journalmode
b4d0: 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54   TRUNCATE..$(MPT
b4e0: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
b4f0: 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23 20 54 68  ode DELETE..# Th
b500: 69 73 20 74 61 72 67 65 74 20 63 72 65 61 74 65  is target create
b510: 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61  s a directory na
b520: 6d 65 64 20 22 74 73 72 63 22 20 61 6e 64 20 66  med "tsrc" and f
b530: 69 6c 6c 73 20 69 74 20 77 69 74 68 0a 23 20 63  ills it with.# c
b540: 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66 20  opies of all of 
b550: 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64  the C source cod
b560: 65 20 61 6e 64 20 68 65 61 64 65 72 20 66 69 6c  e and header fil
b570: 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 23 20 62  es needed to.# b
b580: 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 61 72 67  uild on the targ
b590: 65 74 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d 65  et system.  Some
b5a0: 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63 65   of the C source
b5b0: 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72   code and header
b5c0: 0a 23 20 66 69 6c 65 73 20 61 72 65 20 61 75 74  .# files are aut
b5d0: 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72  omatically gener
b5e0: 61 74 65 64 2e 20 20 54 68 69 73 20 74 61 72 67  ated.  This targ
b5f0: 65 74 20 74 61 6b 65 73 20 63 61 72 65 20 6f 66  et takes care of
b600: 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 75 74 6f  .# all that auto
b610: 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e  matic generation
b620: 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75 72  ..#..target_sour
b630: 63 65 3a 09 24 28 53 52 43 29 20 24 28 54 4f 50  ce:.$(SRC) $(TOP
b640: 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70  )\tool\vdbe-comp
b650: 72 65 73 73 2e 74 63 6c 20 66 74 73 35 2e 63 20  ress.tcl fts5.c 
b660: 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  $(SQLITE_TCL_DEP
b670: 29 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74  )..-rmdir /Q/S t
b680: 73 72 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b 64 69  src 2>NUL..-mkdi
b690: 72 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  r tsrc..for %i i
b6a0: 6e 20 28 24 28 53 52 43 30 30 29 29 20 64 6f 20  n ($(SRC00)) do 
b6b0: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
b6c0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
b6d0: 43 30 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C01)) do copy /Y
b6e0: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
b6f0: 20 69 6e 20 28 24 28 53 52 43 30 33 29 29 20 64   in ($(SRC03)) d
b700: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
b710: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
b720: 53 52 43 30 34 29 29 20 64 6f 20 63 6f 70 79 20  SRC04)) do copy 
b730: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
b740: 25 69 20 69 6e 20 28 24 28 53 52 43 30 35 29 29  %i in ($(SRC05))
b750: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
b760: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
b770: 24 28 53 52 43 30 36 29 29 20 64 6f 20 63 6f 70  $(SRC06)) do cop
b780: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
b790: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 37  r %i in ($(SRC07
b7a0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
b7b0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
b7c0: 20 28 24 28 53 52 43 30 38 29 29 20 64 6f 20 63   ($(SRC08)) do c
b7d0: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
b7e0: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
b7f0: 30 39 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  09)) do copy /Y 
b800: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
b810: 69 6e 20 28 24 28 53 52 43 31 30 29 29 20 64 6f  in ($(SRC10)) do
b820: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
b830: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
b840: 52 43 31 31 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC11)) do copy /
b850: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
b860: 69 20 69 6e 20 28 24 28 53 52 43 31 32 29 29 20  i in ($(SRC12)) 
b870: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
b880: 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35  rc..copy /Y fts5
b890: 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59  .c tsrc..copy /Y
b8a0: 20 66 74 73 35 2e 68 20 74 73 72 63 0a 09 64 65   fts5.h tsrc..de
b8b0: 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69 74 65  l /Q tsrc\sqlite
b8c0: 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72 73 65  .h.in tsrc\parse
b8d0: 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c 53  .y 2>NUL..$(TCLS
b8e0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
b8f0: 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73  ol\vdbe-compress
b900: 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 3c 20 74  .tcl $(OPTS) < t
b910: 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 64 62  src\vdbe.c > vdb
b920: 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62 65  e.new..move vdbe
b930: 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65 2e 63  .new tsrc\vdbe.c
b940: 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 65 74  ..echo > .target
b950: 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65 33  _source..sqlite3
b960: 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72  .c:..target_sour
b970: 63 65 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20  ce sqlite3ext.h 
b980: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f  $(MKSQLITE3C_TOO
b990: 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  L)..$(TCLSH_CMD)
b9a0: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f   $(MKSQLITE3C_TO
b9b0: 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43  OL) $(MKSQLITE3C
b9c0: 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 24 28 54  _ARGS)..copy $(T
b9d0: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
b9e0: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68  sqlite3session.h
b9f0: 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61 6c 6c 2e   ...sqlite3-all.
ba00: 63 3a 09 73 71 6c 69 74 65 33 2e 63 20 24 28 54  c:.sqlite3.c $(T
ba10: 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73  OP)\tool\split-s
ba20: 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 24 28 54  qlite3c.tcl..$(T
ba30: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
ba40: 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69  \tool\split-sqli
ba50: 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d 61  te3c.tcl.# <</ma
ba60: 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20  rk>>..# Rule to 
ba70: 62 75 69 6c 64 20 74 68 65 20 61 6d 61 6c 67 61  build the amalga
ba80: 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 65 33  mation.#.sqlite3
ba90: 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 33 43 29  .lo:.$(SQLITE3C)
baa0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
bab0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
bac0: 54 53 29 20 2d 63 20 24 28 53 51 4c 49 54 45 33  TS) -c $(SQLITE3
bad0: 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  C)..# <<mark>>.#
bae0: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
baf0: 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69 6c  the LEMON compil
bb00: 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 23 0a 6c  er generator.#.l
bb10: 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f 50 29 5c  empar.c:.$(TOP)\
bb20: 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09 63  tool\lempar.c..c
bb30: 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  opy $(TOP)\tool\
bb40: 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d 6f  lempar.c ...lemo
bb50: 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  n.exe:.$(TOP)\to
bb60: 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70 61  ol\lemon.c lempa
bb70: 72 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f  r.c..$(BCC) $(NO
bb80: 5f 57 41 52 4e 29 20 2d 44 61 63 63 65 73 73 3d  _WARN) -Daccess=
bb90: 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d 46 65 24  _access \...-Fe$
bba0: 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65  @ $(TOP)\tool\le
bbb0: 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44  mon.c /link $(LD
bbc0: 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b  FLAGS) $(NLTLINK
bbd0: 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41  OPTS) $(NLTLIBPA
bbe0: 54 48 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  THS)..# <<mark>>
bbf0: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
bc00: 64 20 74 68 65 20 73 6f 75 72 63 65 2d 69 64 20  d the source-id 
bc10: 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c 0a 23  generator tool.#
bc20: 0a 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 3a  .mksourceid.exe:
bc30: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73  .$(TOP)\tool\mks
bc40: 6f 75 72 63 65 69 64 2e 63 0a 09 24 28 42 43 43  ourceid.c..$(BCC
bc50: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65  ) $(NO_WARN) -Fe
bc60: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  $@ $(TOP)\tool\m
bc70: 6b 73 6f 75 72 63 65 69 64 2e 63 20 2f 6c 69 6e  ksourceid.c /lin
bc80: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e  k $(LDFLAGS) $(N
bc90: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c  LTLINKOPTS) $(NL
bca0: 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 52 75  TLIBPATHS)..# Ru
bcb0: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64  les to build ind
bcc0: 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c  ividual *.lo fil
bcd0: 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 74 65  es from generate
bce0: 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68 69  d *.c files. Thi
bcf0: 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f 3a 0a  s.# applies to:.
bd00: 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e 6c 6f  #.#     parse.lo
bd10: 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73 2e 6c  .#     opcodes.l
bd20: 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 61  o.#.parse.lo:.pa
bd30: 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  rse.c $(HDR)..$(
bd40: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
bd50: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
bd60: 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70 63 6f  -c parse.c..opco
bd70: 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73 2e  des.lo:.opcodes.
bd80: 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  c..$(LTCOMPILE) 
bd90: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
bda0: 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65 73 2e  PTS) -c opcodes.
bdb0: 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  c.# <</mark>>..#
bdc0: 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74   Rule to build t
bdd0: 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75 72 63  he Win32 resourc
bde0: 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a  es object file..
bdf0: 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29 21  #.!IF $(USE_RC)!
be00: 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e 0a  =0.# <<block1>>.
be10: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a 09 24  $(LIBRESOBJS):.$
be20: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
be30: 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33 48 29  3.rc $(SQLITE3H)
be40: 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20 53  ..echo #ifndef S
be50: 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56  QLITE_RESOURCE_V
be60: 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74 65 33  ERSION > sqlite3
be70: 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25 25 56  rc.h..for /F %%V
be80: 20 69 6e 20 28 27 74 79 70 65 20 22 24 28 54 4f   in ('type "$(TO
be90: 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 64 6f  P)\VERSION"') do
bea0: 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64 65 66   ( \...echo #def
beb0: 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53 4f 55  ine SQLITE_RESOU
bec0: 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25 56 20  RCE_VERSION %%V 
bed0: 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 5f 43  \....| $(TCLSH_C
bee0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
bef0: 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
bf00: 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69 74 65  t . ^, >> sqlite
bf10: 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63 68 6f  3rc.h \..)..echo
bf20: 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c 69 74   #endif >> sqlit
bf30: 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43 4f 4d  e3rc.h..$(LTRCOM
bf40: 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49 42 52  PILE) -fo $(LIBR
bf50: 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29 5c 73  ESOBJS) $(TOP)\s
bf60: 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a 23 20  rc\sqlite3.rc.# 
bf70: 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e 44  <</block1>>.!END
bf80: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
bf90: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
bfa0: 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20  individual *.lo 
bfb0: 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c 65 73  files from files
bfc0: 20 69 6e 20 74 68 65 20 73 72 63 20 64 69 72 65   in the src dire
bfd0: 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72 2e 6c  ctory..#.alter.l
bfe0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c  o:.$(TOP)\src\al
bff0: 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ter.c $(HDR)..$(
c000: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c010: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c020: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c  -c $(TOP)\src\al
c030: 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e 6c  ter.c..analyze.l
c040: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e  o:.$(TOP)\src\an
c050: 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29 0a 09  alyze.c $(HDR)..
c060: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c070: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c080: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c090: 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74 61 63  analyze.c..attac
c0a0: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  h.lo:.$(TOP)\src
c0b0: 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44 52 29  \attach.c $(HDR)
c0c0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c0d0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c0e0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c0f0: 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75 74 68  c\attach.c..auth
c100: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c110: 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a 09 24  auth.c $(HDR)..$
c120: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c130: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c140: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a
c150: 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c 6f  uth.c..backup.lo
c160: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63  :.$(TOP)\src\bac
c170: 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28  kup.c $(HDR)..$(
c180: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c190: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c1a0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61  -c $(TOP)\src\ba
c1b0: 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 2e 6c  ckup.c..bitvec.l
c1c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 69  o:.$(TOP)\src\bi
c1d0: 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a 09 24  tvec.c $(HDR)..$
c1e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c1f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c200: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b
c210: 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74 65 78  itvec.c..btmutex
c220: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c230: 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29  btmutex.c $(HDR)
c240: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c250: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c260: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c270: 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62 74 72  c\btmutex.c..btr
c280: 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ee.lo:.$(TOP)\sr
c290: 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44 52 29  c\btree.c $(HDR)
c2a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page
c2b0: 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  r.h..$(LTCOMPILE
c2c0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c2d0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c2e0: 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a 62 75  \src\btree.c..bu
c2f0: 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ild.lo:.$(TOP)\s
c300: 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48 44 52  rc\build.c $(HDR
c310: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c320: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c330: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c340: 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61 6c 6c  rc\build.c..call
c350: 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  back.lo:.$(TOP)\
c360: 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 24  src\callback.c $
c370: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c380: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c390: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c3a0: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e  P)\src\callback.
c3b0: 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a 09  c..complete.lo:.
c3c0: 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c  $(TOP)\src\compl
c3d0: 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ete.c $(HDR)..$(
c3e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c3f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c400: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  -c $(TOP)\src\co
c410: 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d 65 2e  mplete.c..ctime.
c420: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63  lo:.$(TOP)\src\c
c430: 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a 09 24  time.c $(HDR)..$
c440: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c450: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c460: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63   -c $(TOP)\src\c
c470: 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f 3a  time.c..date.lo:
c480: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65  .$(TOP)\src\date
c490: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c4a0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c4b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c4c0: 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e  $(TOP)\src\date.
c4d0: 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a 09 24 28  c..dbpage.lo:.$(
c4e0: 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65 2e  TOP)\src\dbpage.
c4f0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c500: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c510: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c520: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65  (TOP)\src\dbpage
c530: 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a 09 24  .c..dbstat.lo:.$
c540: 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74  (TOP)\src\dbstat
c550: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c560: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c570: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c580: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61  $(TOP)\src\dbsta
c590: 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09  t.c..delete.lo:.
c5a0: 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74  $(TOP)\src\delet
c5b0: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
c5c0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c5d0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c5e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65   $(TOP)\src\dele
c5f0: 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24  te.c..expr.lo:.$
c600: 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63  (TOP)\src\expr.c
c610: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c620: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c630: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c640: 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 0a  TOP)\src\expr.c.
c650: 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50  .fault.lo:.$(TOP
c660: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 24 28  )\src\fault.c $(
c670: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c680: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c690: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c6a0: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a 0a 66  )\src\fault.c..f
c6b0: 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  key.lo:.$(TOP)\s
c6c0: 72 63 5c 66 6b 65 79 2e 63 20 24 28 48 44 52 29  rc\fkey.c $(HDR)
c6d0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c6e0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c6f0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c700: 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c  c\fkey.c..func.l
c710: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 75  o:.$(TOP)\src\fu
c720: 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  nc.c $(HDR)..$(L
c730: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c740: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c750: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e  c $(TOP)\src\fun
c760: 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09  c.c..global.lo:.
c770: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61  $(TOP)\src\globa
c780: 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  l.c $(HDR)..$(LT
c790: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c7a0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c7b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62   $(TOP)\src\glob
c7c0: 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24  al.c..hash.lo:.$
c7d0: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63  (TOP)\src\hash.c
c7e0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c7f0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c800: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c810: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 0a  TOP)\src\hash.c.
c820: 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f  .insert.lo:.$(TO
c830: 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20  P)\src\insert.c 
c840: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c850: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c860: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c870: 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63  OP)\src\insert.c
c880: 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24 28 54  ..legacy.lo:.$(T
c890: 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63  OP)\src\legacy.c
c8a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c8b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c8c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c8d0: 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e  TOP)\src\legacy.
c8e0: 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24  c..loadext.lo:.$
c8f0: 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78  (TOP)\src\loadex
c900: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
c910: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c920: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c930: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64   $(TOP)\src\load
c940: 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09  ext.c..main.lo:.
c950: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e  $(TOP)\src\main.
c960: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c970: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c980: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c990: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63  (TOP)\src\main.c
c9a0: 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54  ..malloc.lo:.$(T
c9b0: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63  OP)\src\malloc.c
c9c0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c9d0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c9e0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c9f0: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e  TOP)\src\malloc.
ca00: 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f  c..mem0.lo:.$(TO
ca10: 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 24 28  P)\src\mem0.c $(
ca20: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
ca30: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
ca40: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
ca50: 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65  )\src\mem0.c..me
ca60: 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m1.lo:.$(TOP)\sr
ca70: 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52 29 0a  c\mem1.c $(HDR).
ca80: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
ca90: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
caa0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cab0: 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f  \mem1.c..mem2.lo
cac0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  :.$(TOP)\src\mem
cad0: 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  2.c $(HDR)..$(LT
cae0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
caf0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cb00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32   $(TOP)\src\mem2
cb10: 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54  .c..mem3.lo:.$(T
cb20: 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 24  OP)\src\mem3.c $
cb30: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
cb40: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
cb50: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
cb60: 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d  P)\src\mem3.c..m
cb70: 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  em5.lo:.$(TOP)\s
cb80: 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44 52 29  rc\mem5.c $(HDR)
cb90: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cba0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cbb0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cbc0: 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 6a 6f 75  c\mem5.c..memjou
cbd0: 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  rnal.lo:.$(TOP)\
cbe0: 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63  src\memjournal.c
cbf0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cc00: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cc10: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cc20: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72  TOP)\src\memjour
cc30: 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a  nal.c..mutex.lo:
cc40: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65  .$(TOP)\src\mute
cc50: 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  x.c $(HDR)..$(LT
cc60: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cc70: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cc80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
cc90: 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e  x.c..mutex_noop.
cca0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
ccb0: 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 44  utex_noop.c $(HD
ccc0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
ccd0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cce0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
ccf0: 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63  src\mutex_noop.c
cd00: 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a  ..mutex_unix.lo:
cd10: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65  .$(TOP)\src\mute
cd20: 78 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a  x_unix.c $(HDR).
cd30: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cd40: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cd50: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cd60: 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d  \mutex_unix.c..m
cd70: 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 54  utex_w32.lo:.$(T
cd80: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33  OP)\src\mutex_w3
cd90: 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  2.c $(HDR)..$(LT
cda0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cdb0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cdc0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
cdd0: 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e  x_w32.c..notify.
cde0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6e  lo:.$(TOP)\src\n
cdf0: 6f 74 69 66 79 2e 63 20 24 28 48 44 52 29 0a 09  otify.c $(HDR)..
ce00: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
ce10: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ce20: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
ce30: 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 2e  notify.c..pager.
ce40: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p
ce50: 61 67 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  ager.c $(HDR) $(
ce60: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68  TOP)\src\pager.h
ce70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ce80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ce90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cea0: 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 68  c\pager.c..pcach
ceb0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
cec0: 5c 70 63 61 63 68 65 2e 63 20 24 28 48 44 52 29  \pcache.c $(HDR)
ced0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
cee0: 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  he.h..$(LTCOMPIL
cef0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
cf00: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
cf10: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 0a 0a  )\src\pcache.c..
cf20: 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 4f  pcache1.lo:.$(TO
cf30: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63  P)\src\pcache1.c
cf40: 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73   $(HDR) $(TOP)\s
cf50: 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c  rc\pcache.h..$(L
cf60: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
cf70: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cf80: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61  c $(TOP)\src\pca
cf90: 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24  che1.c..os.lo:.$
cfa0: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 24  (TOP)\src\os.c $
cfb0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
cfc0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
cfd0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
cfe0: 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f  P)\src\os.c..os_
cff0: 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  unix.lo:.$(TOP)\
d000: 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 28  src\os_unix.c $(
d010: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d020: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d030: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d040: 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a  )\src\os_unix.c.
d050: 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f  .os_win.lo:.$(TO
d060: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 20  P)\src\os_win.c 
d070: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d080: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d090: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d0a0: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63  OP)\src\os_win.c
d0b0: 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28 54  ..pragma.lo:.$(T
d0c0: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63  OP)\src\pragma.c
d0d0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d0e0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d0f0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d100: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e  TOP)\src\pragma.
d110: 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24  c..prepare.lo:.$
d120: 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72  (TOP)\src\prepar
d130: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
d140: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d150: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d160: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70   $(TOP)\src\prep
d170: 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f  are.c..printf.lo
d180: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69  :.$(TOP)\src\pri
d190: 6e 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ntf.c $(HDR)..$(
d1a0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d1b0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d1c0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  -c $(TOP)\src\pr
d1d0: 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c  intf.c..random.l
d1e0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 61  o:.$(TOP)\src\ra
d1f0: 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09 24  ndom.c $(HDR)..$
d200: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d210: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d220: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72   -c $(TOP)\src\r
d230: 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65  andom.c..resolve
d240: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d250: 72 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 29  resolve.c $(HDR)
d260: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d270: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d280: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d290: 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77  c\resolve.c..row
d2a0: 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  set.lo:.$(TOP)\s
d2b0: 72 63 5c 72 6f 77 73 65 74 2e 63 20 24 28 48 44  rc\rowset.c $(HD
d2c0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d2d0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d2e0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d2f0: 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73 65  src\rowset.c..se
d300: 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lect.lo:.$(TOP)\
d310: 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 48  src\select.c $(H
d320: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d330: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d340: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d350: 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a 73  \src\select.c..s
d360: 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 29  tatus.lo:.$(TOP)
d370: 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24 28  \src\status.c $(
d380: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d390: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d3a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d3b0: 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 0a 0a  )\src\status.c..
d3c0: 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  table.lo:.$(TOP)
d3d0: 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 48  \src\table.c $(H
d3e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d3f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d400: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d410: 5c 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 68  \src\table.c..th
d420: 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 29  reads.lo:.$(TOP)
d430: 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 24  \src\threads.c $
d440: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d450: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d460: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d470: 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63  P)\src\threads.c
d480: 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24  ..tokenize.lo:.$
d490: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
d4a0: 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 68  ze.c keywordhash
d4b0: 2e 68 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .h $(HDR)..$(LTC
d4c0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d4d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d4e0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e  $(TOP)\src\token
d4f0: 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 2e  ize.c..treeview.
d500: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t
d510: 72 65 65 76 69 65 77 2e 63 20 24 28 48 44 52 29  reeview.c $(HDR)
d520: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d530: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d540: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
d550: 63 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a 74 72  c\treeview.c..tr
d560: 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  igger.lo:.$(TOP)
d570: 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 24  \src\trigger.c $
d580: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d590: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d5a0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d5b0: 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63  P)\src\trigger.c
d5c0: 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54  ..update.lo:.$(T
d5d0: 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63  OP)\src\update.c
d5e0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d5f0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d600: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d610: 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e  TOP)\src\update.
d620: 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50  c..utf.lo:.$(TOP
d630: 29 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 48 44  )\src\utf.c $(HD
d640: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d650: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d660: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d670: 73 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 6c 2e  src\utf.c..util.
d680: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75  lo:.$(TOP)\src\u
d690: 74 69 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28  til.c $(HDR)..$(
d6a0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d6b0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d6c0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  -c $(TOP)\src\ut
d6d0: 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a  il.c..vacuum.lo:
d6e0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75  .$(TOP)\src\vacu
d6f0: 75 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  um.c $(HDR)..$(L
d700: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d710: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d720: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63  c $(TOP)\src\vac
d730: 75 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09  uum.c..vdbe.lo:.
d740: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe.
d750: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d760: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d770: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d780: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
d790: 0a 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09 24 28  ..vdbeapi.lo:.$(
d7a0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69  TOP)\src\vdbeapi
d7b0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d7c0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d7d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d7e0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
d7f0: 70 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e 6c 6f  pi.c..vdbeaux.lo
d800: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
d810: 65 61 75 78 2e 63 20 24 28 48 44 52 29 0a 09 24  eaux.c $(HDR)..$
d820: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d830: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d840: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
d850: 64 62 65 61 75 78 2e 63 0a 0a 76 64 62 65 62 6c  dbeaux.c..vdbebl
d860: 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ob.lo:.$(TOP)\sr
d870: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 48  c\vdbeblob.c $(H
d880: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d890: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d8a0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d8b0: 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 0a  \src\vdbeblob.c.
d8c0: 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54  .vdbemem.lo:.$(T
d8d0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e  OP)\src\vdbemem.
d8e0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d8f0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d900: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d910: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65  (TOP)\src\vdbeme
d920: 6d 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e 6c 6f  m.c..vdbesort.lo
d930: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
d940: 65 73 6f 72 74 2e 63 20 24 28 48 44 52 29 0a 09  esort.c $(HDR)..
d950: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d960: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d970: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
d980: 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 65  vdbesort.c..vdbe
d990: 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  trace.lo:.$(TOP)
d9a0: 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63  \src\vdbetrace.c
d9b0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d9c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d9d0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d9e0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61  TOP)\src\vdbetra
d9f0: 63 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24  ce.c..vtab.lo:.$
da00: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63  (TOP)\src\vtab.c
da10: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
da20: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
da30: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
da40: 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 0a  TOP)\src\vtab.c.
da50: 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  .wal.lo:.$(TOP)\
da60: 73 72 63 5c 77 61 6c 2e 63 20 24 28 48 44 52 29  src\wal.c $(HDR)
da70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
da80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
da90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
daa0: 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e  c\wal.c..walker.
dab0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77  lo:.$(TOP)\src\w
dac0: 61 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 0a 09  alker.c $(HDR)..
dad0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
dae0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
daf0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
db00: 77 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 65 2e  walker.c..where.
db10: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77  lo:.$(TOP)\src\w
db20: 68 65 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24  here.c $(HDR)..$
db30: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
db40: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
db50: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77   -c $(TOP)\src\w
db60: 68 65 72 65 2e 63 0a 0a 77 68 65 72 65 63 6f 64  here.c..wherecod
db70: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
db80: 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 24 28 48  \wherecode.c $(H
db90: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
dba0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
dbb0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
dbc0: 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63  \src\wherecode.c
dbd0: 0a 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f 3a 09  ..whereexpr.lo:.
dbe0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
dbf0: 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24  expr.c $(HDR)..$
dc00: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
dc10: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
dc20: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77   -c $(TOP)\src\w
dc30: 68 65 72 65 65 78 70 72 2e 63 0a 0a 74 63 6c 73  hereexpr.c..tcls
dc40: 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  qlite.lo:.$(TOP)
dc50: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
dc60: 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45   $(HDR) $(SQLITE
dc70: 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43  _TCL_DEP)..$(LTC
dc80: 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52  OMPILE) $(NO_WAR
dc90: 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55  N) -DUSE_TCL_STU
dca0: 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c  BS=1 -DBUILD_sql
dcb0: 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI
dcc0: 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  R) -c $(TOP)\src
dcd0: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63  \tclsqlite.c..tc
dce0: 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f  lsqlite-shell.lo
dcf0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  :.$(TOP)\src\tcl
dd00: 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20  sqlite.c $(HDR) 
dd10: 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  $(SQLITE_TCL_DEP
dd20: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
dd30: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c  $(NO_WARN) -DTCL
dd40: 53 48 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  SH -DBUILD_sqlit
dd50: 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR)
dd60: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
dd70: 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73  clsqlite.c..tcls
dd80: 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 63 6c 73  qlite3.exe:.tcls
dd90: 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24  qlite-shell.lo $
dda0: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
ddb0: 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f  ITE3H) $(LIBRESO
ddc0: 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  BJS)..$(LTLINK) 
ddd0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
dde0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
ddf0: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
de00: 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40  IBPATHS) /OUT:$@
de10: 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c   tclsqlite-shell
de20: 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  .lo $(LIBRESOBJS
de30: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
de40: 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f  IBS)..# Rules to
de50: 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63   build opcodes.c
de60: 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23   and opcodes.h.#
de70: 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f  .opcodes.c:.opco
de80: 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f  des.h $(TOP)\too
de90: 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a  l\mkopcodec.tcl.
dea0: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
deb0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
dec0: 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e  dec.tcl opcodes.
ded0: 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f  h > opcodes.c..o
dee0: 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65 2e  pcodes.h:.parse.
def0: 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  h $(TOP)\src\vdb
df00: 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e.c $(TOP)\tool\
df10: 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74  mkopcodeh.tcl..t
df20: 79 70 65 20 70 61 72 73 65 2e 68 20 24 28 54 4f  ype parse.h $(TO
df30: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c 20  P)\src\vdbe.c | 
df40: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
df50: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64  OP)\tool\mkopcod
df60: 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73  eh.tcl > opcodes
df70: 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  .h..# Rules to b
df80: 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e 64  uild parse.c and
df90: 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20 6f   parse.h - the o
dfa0: 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e  utputs of lemon.
dfb0: 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72 73  .#.parse.h:.pars
dfc0: 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28  e.c..parse.c:.$(
dfd0: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79  TOP)\src\parse.y
dfe0: 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f 50   lemon.exe $(TOP
dff0: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65  )\tool\addopcode
e000: 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70 61  s.tcl..del /Q pa
e010: 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 70 61  rse.y parse.h pa
e020: 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 4c  rse.h.temp 2>NUL
e030: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 73 72  ..copy $(TOP)\sr
e040: 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c  c\parse.y ....\l
e050: 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46  emon.exe $(REQ_F
e060: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
e070: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
e080: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
e090: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) 
e0a0: 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61  parse.y..move pa
e0b0: 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65  rse.h parse.h.te
e0c0: 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  mp..$(TCLSH_CMD)
e0d0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64   $(TOP)\tool\add
e0e0: 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 72 73  opcodes.tcl pars
e0f0: 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 73 65  e.h.temp > parse
e100: 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 29 3a  .h..$(SQLITE3H):
e110: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69  .$(TOP)\src\sqli
e120: 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c 6d  te.h.in $(TOP)\m
e130: 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72 63 65  anifest mksource
e140: 69 64 2e 65 78 65 20 24 28 54 4f 50 29 5c 56 45  id.exe $(TOP)\VE
e150: 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43  RSION..$(TCLSH_C
e160: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
e170: 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 24  mksqlite3h.tcl $
e180: 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51  (TOP:\=/) > $(SQ
e190: 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51 4c 49  LITE3H) $(MKSQLI
e1a0: 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71 6c 69  TE3H_ARGS)..sqli
e1b0: 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72 67 65  te3ext.h:..targe
e1c0: 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24 28 55  t_source.!IF $(U
e1d0: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
e1e0: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
e1f0: 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73 71 6c  0..type tsrc\sql
e200: 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28 54 43  ite3ext.h | $(TC
e210: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
e220: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
e230: 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c 29 22   regsub "\(\*\)"
e240: 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   "(SQLITE_CALLBA
e250: 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24 28 54  CK *)" \...| $(T
e260: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
e270: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
e280: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20  l regsub "\(\*" 
e290: 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c  "(SQLITE_APICALL
e2a0: 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65 78 74   *" > sqlite3ext
e2b0: 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71 6c 69  .h..copy /Y sqli
e2c0: 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c 73 71  te3ext.h tsrc\sq
e2d0: 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c 53 45  lite3ext.h.!ELSE
e2e0: 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63 5c 73  ..copy /Y tsrc\s
e2f0: 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69  qlite3ext.h sqli
e300: 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49 46 0a  te3ext.h.!ENDIF.
e310: 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65  .mkkeywordhash.e
e320: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
e330: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 0a  mkkeywordhash.c.
e340: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC) $(NO_WAR
e350: 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f 46  N) -Fe$@ $(REQ_F
e360: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
e370: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
e380: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
e390: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) 
e3a0: 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\
e3b0: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20  mkkeywordhash.c 
e3c0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
e3d0: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20   $(NLTLINKOPTS) 
e3e0: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a  $(NLTLIBPATHS)..
e3f0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09 24  keywordhash.h:.$
e400: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79  (TOP)\tool\mkkey
e410: 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79  wordhash.c mkkey
e420: 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c  wordhash.exe...\
e430: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78  mkkeywordhash.ex
e440: 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  e > keywordhash.
e450: 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 69 6c 65  h..# Source file
e460: 73 20 74 68 61 74 20 67 6f 20 69 6e 74 6f 20 6d  s that go into m
e470: 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a 53 48  aking shell.c.SH
e480: 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24 28 54  ELL_SRC = \..$(T
e490: 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 2e  OP)\src\shell.c.
e4a0: 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74  in \..$(TOP)\ext
e4b0: 5c 6d 69 73 63 5c 73 68 61 74 68 72 65 65 2e 63  \misc\shathree.c
e4c0: 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d   \..$(TOP)\ext\m
e4d0: 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 09  isc\fileio.c \..
e4e0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
e4f0: 63 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09  completion.c \..
e500: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
e510: 73 71 6c 61 72 2e 63 20 5c 0a 09 24 28 54 4f 50  sqlar.c \..$(TOP
e520: 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c  )\ext\expert\sql
e530: 69 74 65 33 65 78 70 65 72 74 2e 63 20 5c 0a 09  ite3expert.c \..
e540: 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72  $(TOP)\ext\exper
e550: 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
e560: 68 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c  h \..$(TOP)\ext\
e570: 6d 69 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 0a  misc\zipfile.c..
e580: 73 68 65 6c 6c 2e 63 3a 09 24 28 53 48 45 4c 4c  shell.c:.$(SHELL
e590: 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _SRC) $(TOP)\too
e5a0: 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 0a 09  l\mkshellc.tcl..
e5b0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
e5c0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c  OP)\tool\mkshell
e5d0: 63 2e 74 63 6c 20 3e 20 73 68 65 6c 6c 2e 63 0a  c.tcl > shell.c.
e5e0: 0a 7a 6c 69 62 3a 0a 09 70 75 73 68 64 20 24 28  .zlib:..pushd $(
e5f0: 5a 4c 49 42 44 49 52 29 20 26 26 20 24 28 4d 41  ZLIBDIR) && $(MA
e600: 4b 45 29 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b  KE) /f win32\Mak
e610: 65 66 69 6c 65 2e 6d 73 63 20 63 6c 65 61 6e 20  efile.msc clean 
e620: 24 28 5a 4c 49 42 4c 49 42 29 20 26 26 20 70 6f  $(ZLIBLIB) && po
e630: 70 64 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  pd..# Rules to b
e640: 75 69 6c 64 20 74 68 65 20 65 78 74 65 6e 73 69  uild the extensi
e650: 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a 23 0a 69 63  on objects..#.ic
e660: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext
e670: 5c 69 63 75 5c 69 63 75 2e 63 20 24 28 48 44 52  \icu\icu.c $(HDR
e680: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
e690: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
e6a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
e6b0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
e6c0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
e6d0: 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 0a  )\ext\icu\icu.c.
e6e0: 0a 66 74 73 32 2e 6c 6f 3a 09 24 28 54 4f 50 29  .fts2.lo:.$(TOP)
e6f0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63  \ext\fts2\fts2.c
e700: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
e710: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e720: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
e730: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
e740: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
e750: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
e760: 5c 66 74 73 32 2e 63 0a 0a 66 74 73 32 5f 68 61  \fts2.c..fts2_ha
e770: 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  sh.lo:.$(TOP)\ex
e780: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68  t\fts2\fts2_hash
e790: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
e7a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e7b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e7c0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
e7d0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
e7e0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
e7f0: 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 0a 0a  s2\fts2_hash.c..
e800: 66 74 73 32 5f 69 63 75 2e 6c 6f 3a 09 24 28 54  fts2_icu.lo:.$(T
e810: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
e820: 32 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20 24  2_icu.c $(HDR) $
e830: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
e840: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e850: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
e860: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
e870: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
e880: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75  xt\fts2\fts2_icu
e890: 2e 63 0a 0a 66 74 73 32 5f 70 6f 72 74 65 72 2e  .c..fts2_porter.
e8a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
e8b0: 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e  ts2\fts2_porter.
e8c0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
e8d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e8e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e8f0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
e900: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
e910: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
e920: 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 0a  2\fts2_porter.c.
e930: 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  .fts2_tokenizer.
e940: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
e950: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
e960: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  er.c $(HDR) $(EX
e970: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
e980: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e990: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
e9a0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
e9b0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
e9c0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
e9d0: 7a 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65  zer.c..fts2_toke
e9e0: 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50  nizer1.lo:.$(TOP
e9f0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
ea00: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48  tokenizer1.c $(H
ea10: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
ea20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ea30: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ea40: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
ea50: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
ea60: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
ea70: 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a  2_tokenizer1.c..
ea80: 66 74 73 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  fts3.lo:.$(TOP)\
ea90: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20  ext\fts3\fts3.c 
eaa0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
eab0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
eac0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ead0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
eae0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
eaf0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
eb00: 66 74 73 33 2e 63 0a 0a 66 74 73 33 5f 61 75 78  fts3.c..fts3_aux
eb10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
eb20: 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20  fts3\fts3_aux.c 
eb30: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
eb40: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
eb50: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
eb60: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
eb70: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
eb80: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
eb90: 66 74 73 33 5f 61 75 78 2e 63 0a 0a 66 74 73 33  fts3_aux.c..fts3
eba0: 5f 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  _expr.lo:.$(TOP)
ebb0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65  \ext\fts3\fts3_e
ebc0: 78 70 72 2e 63 20 24 28 48 44 52 29 20 24 28 45  xpr.c $(HDR) $(E
ebd0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
ebe0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ebf0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
ec00: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
ec10: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
ec20: 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e  \fts3\fts3_expr.
ec30: 63 0a 0a 66 74 73 33 5f 68 61 73 68 2e 6c 6f 3a  c..fts3_hash.lo:
ec40: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
ec50: 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 24 28 48  \fts3_hash.c $(H
ec60: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
ec70: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ec80: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ec90: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
eca0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
ecb0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
ecc0: 33 5f 68 61 73 68 2e 63 0a 0a 66 74 73 33 5f 69  3_hash.c..fts3_i
ecd0: 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  cu.lo:.$(TOP)\ex
ece0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e  t\fts3\fts3_icu.
ecf0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
ed00: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
ed10: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
ed20: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
ed30: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
ed40: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
ed50: 33 5c 66 74 73 33 5f 69 63 75 2e 63 0a 0a 66 74  3\fts3_icu.c..ft
ed60: 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a 09 24  s3_snippet.lo:.$
ed70: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
ed80: 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 24 28  ts3_snippet.c $(
ed90: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
eda0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
edb0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
edc0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
edd0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
ede0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
edf0: 73 33 5f 73 6e 69 70 70 65 74 2e 63 0a 0a 66 74  s3_snippet.c..ft
ee00: 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28  s3_porter.lo:.$(
ee10: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
ee20: 73 33 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44  s3_porter.c $(HD
ee30: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
ee40: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ee50: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
ee60: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
ee70: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
ee80: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
ee90: 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 33 5f  _porter.c..fts3_
eea0: 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28  tokenizer.lo:.$(
eeb0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
eec0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24  s3_tokenizer.c $
eed0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
eee0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
eef0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
ef00: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
ef10: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
ef20: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
ef30: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a  ts3_tokenizer.c.
ef40: 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31  .fts3_tokenizer1
ef50: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
ef60: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
ef70: 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28  zer1.c $(HDR) $(
ef80: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
ef90: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
efa0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
efb0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
efc0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
efd0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
efe0: 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 5f 74  nizer1.c..fts3_t
eff0: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 3a  okenize_vtab.lo:
f000: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
f010: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76  \fts3_tokenize_v
f020: 74 61 62 2e 63 20 24 28 48 44 52 29 20 24 28 45  tab.c $(HDR) $(E
f030: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
f040: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
f050: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
f060: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f070: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
f080: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
f090: 69 7a 65 5f 76 74 61 62 2e 63 0a 0a 66 74 73 33  ize_vtab.c..fts3
f0a0: 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24 28 54  _unicode.lo:.$(T
f0b0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f0c0: 33 5f 75 6e 69 63 6f 64 65 2e 63 20 24 28 48 44  3_unicode.c $(HD
f0d0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f0e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
f0f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
f100: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
f110: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
f120: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f130: 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a 66 74 73 33  _unicode.c..fts3
f140: 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09 24 28  _unicode2.lo:.$(
f150: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f160: 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 24 28  s3_unicode2.c $(
f170: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
f180: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
f190: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
f1a0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
f1b0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
f1c0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f1d0: 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 0a 0a 66  s3_unicode2.c..f
f1e0: 74 73 33 5f 77 72 69 74 65 2e 6c 6f 3a 09 24 28  ts3_write.lo:.$(
f1f0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f200: 73 33 5f 77 72 69 74 65 2e 63 20 24 28 48 44 52  s3_write.c $(HDR
f210: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f220: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
f230: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
f240: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f250: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
f260: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f270: 77 72 69 74 65 2e 63 0a 0a 72 74 72 65 65 2e 6c  write.c..rtree.l
f280: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  o:.$(TOP)\ext\rt
f290: 72 65 65 5c 72 74 72 65 65 2e 63 20 24 28 48 44  ree\rtree.c $(HD
f2a0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f2b0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
f2c0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
f2d0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
f2e0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
f2f0: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72  P)\ext\rtree\rtr
f300: 65 65 2e 63 0a 0a 73 71 6c 69 74 65 33 73 65 73  ee.c..sqlite3ses
f310: 73 69 6f 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  sion.lo:.$(TOP)\
f320: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
f330: 74 65 33 73 65 73 73 69 6f 6e 2e 63 20 24 28 48  te3session.c $(H
f340: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
f350: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
f360: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f370: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
f380: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
f390: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
f3a0: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63  sqlite3session.c
f3b0: 0a 0a 23 20 46 54 53 35 20 74 68 69 6e 67 73 0a  ..# FTS5 things.
f3c0: 23 0a 46 54 53 35 5f 53 52 43 20 3d 20 5c 0a 20  #.FTS5_SRC = \. 
f3d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
f3e0: 35 5c 66 74 73 35 2e 68 20 5c 0a 20 20 20 24 28  5\fts5.h \.   $(
f3f0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
f400: 73 35 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54  s5Int.h \.   $(T
f410: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
f420: 35 5f 61 75 78 2e 63 20 5c 0a 20 20 20 24 28 54  5_aux.c \.   $(T
f430: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
f440: 35 5f 62 75 66 66 65 72 2e 63 20 5c 0a 20 20 20  5_buffer.c \.   
f450: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
f460: 66 74 73 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20  fts5_main.c \.  
f470: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
f480: 5c 66 74 73 35 5f 63 6f 6e 66 69 67 2e 63 20 5c  \fts5_config.c \
f490: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
f4a0: 74 73 35 5c 66 74 73 35 5f 65 78 70 72 2e 63 20  ts5\fts5_expr.c 
f4b0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
f4c0: 66 74 73 35 5c 66 74 73 35 5f 68 61 73 68 2e 63  fts5\fts5_hash.c
f4d0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
f4e0: 5c 66 74 73 35 5c 66 74 73 35 5f 69 6e 64 65 78  \fts5\fts5_index
f4f0: 2e 63 20 5c 0a 20 20 20 66 74 73 35 70 61 72 73  .c \.   fts5pars
f500: 65 2e 63 20 66 74 73 35 70 61 72 73 65 2e 68 20  e.c fts5parse.h 
f510: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
f520: 66 74 73 35 5c 66 74 73 35 5f 73 74 6f 72 61 67  fts5\fts5_storag
f530: 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  e.c \.   $(TOP)\
f540: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 6f  ext\fts5\fts5_to
f550: 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 20 24 28  kenize.c \.   $(
f560: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
f570: 73 35 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a  s5_unicode2.c \.
f580: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
f590: 73 35 5c 66 74 73 35 5f 76 61 72 69 6e 74 2e 63  s5\fts5_varint.c
f5a0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
f5b0: 5c 66 74 73 35 5c 66 74 73 35 5f 76 6f 63 61 62  \fts5\fts5_vocab
f5c0: 2e 63 0a 0a 4c 53 4d 31 5f 53 52 43 20 3d 20 5c  .c..LSM1_SRC = \
f5d0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
f5e0: 73 6d 31 5c 6c 73 6d 2e 68 20 5c 0a 20 20 20 24  sm1\lsm.h \.   $
f5f0: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
f600: 73 6d 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54  smInt.h \.   $(T
f610: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
f620: 5f 63 6b 70 74 2e 63 20 5c 0a 20 20 20 24 28 54  _ckpt.c \.   $(T
f630: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
f640: 5f 66 69 6c 65 2e 63 20 5c 0a 20 20 20 24 28 54  _file.c \.   $(T
f650: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
f660: 5f 6c 6f 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f  _log.c \.   $(TO
f670: 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
f680: 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f  main.c \.   $(TO
f690: 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
f6a0: 6d 65 6d 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  mem.c \.   $(TOP
f6b0: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d  )\ext\lsm1\lsm_m
f6c0: 75 74 65 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f  utex.c \.   $(TO
f6d0: 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
f6e0: 73 68 61 72 65 64 2e 63 20 5c 0a 20 20 20 24 28  shared.c \.   $(
f6f0: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
f700: 6d 5f 73 6f 72 74 65 64 2e 63 20 5c 0a 20 20 20  m_sorted.c \.   
f710: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\
f720: 6c 73 6d 5f 73 74 72 2e 63 20 5c 0a 20 20 20 24  lsm_str.c \.   $
f730: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
f740: 73 6d 5f 74 72 65 65 2e 63 20 5c 0a 20 20 20 24  sm_tree.c \.   $
f750: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
f760: 73 6d 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 20 24  sm_unix.c \.   $
f770: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
f780: 73 6d 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20  sm_varint.c \.  
f790: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
f7a0: 5c 6c 73 6d 5f 76 74 61 62 2e 63 20 5c 0a 20 20  \lsm_vtab.c \.  
f7b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1
f7c0: 5c 6c 73 6d 5f 77 69 6e 33 32 2e 63 0a 0a 66 74  \lsm_win32.c..ft
f7d0: 73 35 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50  s5parse.c:.$(TOP
f7e0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70  )\ext\fts5\fts5p
f7f0: 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65  arse.y lemon.exe
f800: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78  ..copy $(TOP)\ex
f810: 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73 65  t\fts5\fts5parse
f820: 2e 79 20 2e 0a 09 64 65 6c 20 2f 51 20 66 74 73  .y ...del /Q fts
f830: 35 70 61 72 73 65 2e 68 20 32 3e 4e 55 4c 0a 09  5parse.h 2>NUL..
f840: 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45  .\lemon.exe $(RE
f850: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
f860: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
f870: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT
f880: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
f890: 53 29 20 66 74 73 35 70 61 72 73 65 2e 79 0a 0a  S) fts5parse.y..
f8a0: 66 74 73 35 70 61 72 73 65 2e 68 3a 09 66 74 73  fts5parse.h:.fts
f8b0: 35 70 61 72 73 65 2e 63 0a 0a 66 74 73 35 2e 63  5parse.c..fts5.c
f8c0: 3a 09 24 28 46 54 53 35 5f 53 52 43 29 0a 09 24  :.$(FTS5_SRC)..$
f8d0: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
f8e0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 74 6f 6f 6c  P)\ext\fts5\tool
f8f0: 5c 6d 6b 66 74 73 35 63 2e 74 63 6c 0a 09 63 6f  \mkfts5c.tcl..co
f900: 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  py $(TOP)\ext\ft
f910: 73 35 5c 66 74 73 35 2e 68 20 2e 0a 0a 6c 73 6d  s5\fts5.h ...lsm
f920: 31 2e 63 3a 09 24 28 4c 53 4d 31 5f 53 52 43 29  1.c:.$(LSM1_SRC)
f930: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
f940: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 74  (TOP)\ext\lsm1\t
f950: 6f 6f 6c 5c 6d 6b 6c 73 6d 31 63 2e 74 63 6c 0a  ool\mklsm1c.tcl.
f960: 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74  .copy $(TOP)\ext
f970: 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 2e 0a 0a 66  \lsm1\lsm.h ...f
f980: 74 73 35 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24  ts5.lo:.fts5.c $
f990: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f9a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f9b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f9c0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f9d0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 66  SQLITE_CORE -c f
f9e0: 74 73 35 2e 63 0a 0a 66 74 73 35 5f 65 78 74 2e  ts5.c..fts5_ext.
f9f0: 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52  lo:.fts5.c $(HDR
fa00: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
fa10: 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57  TCOMPILE) $(NO_W
fa20: 41 52 4e 29 20 2d 63 20 66 74 73 35 2e 63 0a 0a  ARN) -c fts5.c..
fa30: 66 74 73 35 2e 64 6c 6c 3a 09 66 74 73 35 5f 65  fts5.dll:.fts5_e
fa40: 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c  xt.lo..$(LD) $(L
fa50: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
fa60: 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT
fa70: 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40  HS) /DLL /OUT:$@
fa80: 20 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71   fts5_ext.lo..sq
fa90: 6c 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24 28 54  lite3rbu.lo:.$(T
faa0: 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69  OP)\ext\rbu\sqli
fab0: 74 65 33 72 62 75 2e 63 20 24 28 48 44 52 29 20  te3rbu.c $(HDR) 
fac0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
fad0: 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45  OMPILE) -DSQLITE
fae0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
faf0: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
fb00: 62 75 2e 63 0a 0a 23 20 52 75 6c 65 73 20 74 6f  bu.c..# Rules to
fb10: 20 62 75 69 6c 64 20 74 68 65 20 27 74 65 73 74   build the 'test
fb20: 66 69 78 74 75 72 65 27 20 61 70 70 6c 69 63 61  fixture' applica
fb30: 74 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75 73 69  tion..#.# If usi
fb40: 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74  ng the amalgamat
fb50: 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74 65 33  ion, use sqlite3
fb60: 2e 63 20 64 69 72 65 63 74 6c 79 20 74 6f 20 62  .c directly to b
fb70: 75 69 6c 64 20 74 68 65 20 74 65 73 74 0a 23 20  uild the test.# 
fb80: 66 69 78 74 75 72 65 2e 20 20 4f 74 68 65 72 77  fixture.  Otherw
fb90: 69 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74  ise link against
fba0: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 2e   libsqlite3.lib.
fbb0: 20 20 28 54 68 69 73 20 64 69 73 74 69 6e 63 74    (This distinct
fbc0: 69 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73 73 61  ion is.# necessa
fbd0: 72 79 20 62 65 63 61 75 73 65 20 74 68 65 20 74  ry because the t
fbe0: 65 73 74 20 66 69 78 74 75 72 65 20 72 65 71 75  est fixture requ
fbf0: 69 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73 79 6d  ires non-API sym
fc00: 62 6f 6c 73 20 77 68 69 63 68 20 61 72 65 0a 23  bols which are.#
fc10: 20 68 69 64 64 65 6e 20 77 68 65 6e 20 74 68 65   hidden when the
fc20: 20 6c 69 62 72 61 72 79 20 69 73 20 62 75 69 6c   library is buil
fc30: 74 20 76 69 61 20 74 68 65 20 61 6d 61 6c 67 61  t via the amalga
fc40: 6d 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 46  mation)..#.TESTF
fc50: 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 2d  IXTURE_FLAGS = -
fc60: 44 54 43 4c 53 48 5f 49 4e 49 54 5f 50 52 4f 43  DTCLSH_INIT_PROC
fc70: 3d 73 71 6c 69 74 65 33 54 65 73 74 49 6e 69 74  =sqlite3TestInit
fc80: 20 2d 44 53 51 4c 49 54 45 5f 54 45 53 54 3d 31   -DSQLITE_TEST=1
fc90: 20 2d 44 53 51 4c 49 54 45 5f 43 52 41 53 48 5f   -DSQLITE_CRASH_
fca0: 54 45 53 54 3d 31 0a 54 45 53 54 46 49 58 54 55  TEST=1.TESTFIXTU
fcb0: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES
fcc0: 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
fcd0: 2d 44 53 51 4c 49 54 45 5f 53 45 52 56 45 52 3d  -DSQLITE_SERVER=
fce0: 31 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 56 41  1 -DSQLITE_PRIVA
fcf0: 54 45 3d 22 22 0a 54 45 53 54 46 49 58 54 55 52  TE="".TESTFIXTUR
fd00: 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST
fd10: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FIXTURE_FLAGS) -
fd20: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 24 28 4e  DSQLITE_CORE $(N
fd30: 4f 5f 57 41 52 4e 29 0a 54 45 53 54 46 49 58 54  O_WARN).TESTFIXT
fd40: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE
fd50: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
fd60: 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 49 45 53   -DSQLITE_SERIES
fd70: 5f 43 4f 4e 53 54 52 41 49 4e 54 5f 56 45 52 49  _CONSTRAINT_VERI
fd80: 46 59 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45  FY=1.TESTFIXTURE
fd90: 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF
fda0: 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
fdb0: 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 50  SQLITE_DEFAULT_P
fdc0: 41 47 45 5f 53 49 5a 45 3d 31 30 32 34 0a 54 45  AGE_SIZE=1024.TE
fdd0: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
fde0: 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
fdf0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
fe00: 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 0a  ENABLE_STMTVTAB.
fe10: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
fe20: 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR
fe30: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
fe40: 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f  E_ENABLE_DBPAGE_
fe50: 56 54 41 42 0a 54 45 53 54 46 49 58 54 55 52 45  VTAB.TESTFIXTURE
fe60: 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF
fe70: 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  IXTURE_FLAGS) $(
fe80: 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 29  TEST_CCONV_OPTS)
fe90: 0a 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  ..TESTFIXTURE_SR
fea0: 43 30 20 3d 20 24 28 54 45 53 54 45 58 54 29 20  C0 = $(TESTEXT) 
feb0: 24 28 54 45 53 54 53 52 43 32 29 0a 54 45 53 54  $(TESTSRC2).TEST
fec0: 46 49 58 54 55 52 45 5f 53 52 43 31 20 3d 20 24  FIXTURE_SRC1 = $
fed0: 28 54 45 53 54 45 58 54 29 20 24 28 53 51 4c 49  (TESTEXT) $(SQLI
fee0: 54 45 33 43 29 0a 21 49 46 20 24 28 55 53 45 5f  TE3C).!IF $(USE_
fef0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
ff00: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  .TESTFIXTURE_SRC
ff10: 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24 28   = $(TESTSRC) $(
ff20: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
ff30: 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54 55  te.c $(TESTFIXTU
ff40: 52 45 5f 53 52 43 30 29 0a 21 45 4c 53 45 0a 54  RE_SRC0).!ELSE.T
ff50: 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 20 3d  ESTFIXTURE_SRC =
ff60: 20 24 28 54 45 53 54 53 52 43 29 20 24 28 54 4f   $(TESTSRC) $(TO
ff70: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
ff80: 2e 63 20 24 28 54 45 53 54 46 49 58 54 55 52 45  .c $(TESTFIXTURE
ff90: 5f 53 52 43 31 29 0a 21 45 4e 44 49 46 0a 0a 21  _SRC1).!ENDIF..!
ffa0: 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c  IF $(USE_STDCALL
ffb0: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
ffc0: 4e 31 30 29 21 3d 30 0a 73 71 6c 69 74 65 5f 74  N10)!=0.sqlite_t
ffd0: 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 65 63 68 6f  clDecls.h:..echo
ffe0: 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45 5f   #ifndef SQLITE_
fff0: 54 43 4c 41 50 49 20 3e 20 24 28 53 51 4c 49 54  TCLAPI > $(SQLIT
10000 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68  ETCLDECLSH)..ech
10010 6f 20 23 20 20 64 65 66 69 6e 65 20 53 51 4c 49  o #  define SQLI
10020 54 45 5f 54 43 4c 41 50 49 20 3e 3e 20 24 28 53  TE_TCLAPI >> $(S
10030 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a  QLITETCLDECLSH).
10040 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20  .echo #endif >> 
10050 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53  $(SQLITETCLDECLS
10060 48 29 0a 09 74 79 70 65 20 22 24 28 54 43 4c 49  H)..type "$(TCLI
10070 4e 43 44 49 52 29 5c 74 63 6c 44 65 63 6c 73 2e  NCDIR)\tclDecls.
10080 68 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  h" \...| $(TCLSH
10090 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
100a0 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
100b0 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e 28 3f  gsub "^(EXTERN(?
100c0 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f 5c 73 2b  : CONST\d+?)?\s+
100d0 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29 54 63 6c  ?[^\(]*?\s+?)Tcl
100e0 5f 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43  _" "\1 SQLITE_TC
100f0 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c  LAPI Tcl_" \...|
10100 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
10110 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
10120 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e 28  e.tcl regsub "^(
10130 45 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a 76 6f 69  EXTERN\s+?(?:voi
10140 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 54 63 6c 46  d|VOID)\s+?)TclF
10150 72 65 65 4f 62 6a 22 20 22 5c 31 20 53 51 4c 49  reeObj" "\1 SQLI
10160 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 46 72 65  TE_TCLAPI TclFre
10170 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43  eObj" \...| $(TC
10180 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
10190 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
101a0 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c   regsub "\(\*tcl
101b0 5f 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c 41  _" "(SQLITE_TCLA
101c0 50 49 20 2a 74 63 6c 5f 22 20 5c 0a 09 09 7c 20  PI *tcl_" \...| 
101d0 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
101e0 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
101f0 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c  .tcl regsub "\(\
10200 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 22 28 53  *tclFreeObj" "(S
10210 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 63  QLITE_TCLAPI *tc
10220 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20  lFreeObj" \...| 
10230 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
10240 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
10250 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c  .tcl regsub "\(\
10260 2a 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c 41  *" "(SQLITE_TCLA
10270 50 49 20 2a 22 20 3e 3e 20 24 28 53 51 4c 49 54  PI *" >> $(SQLIT
10280 45 54 43 4c 44 45 43 4c 53 48 29 0a 0a 73 71 6c  ETCLDECLSH)..sql
10290 69 74 65 5f 74 63 6c 2e 68 3a 0a 09 74 79 70 65  ite_tcl.h:..type
102a0 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c 74   "$(TCLINCDIR)\t
102b0 63 6c 2e 68 22 20 7c 20 24 28 54 43 4c 53 48 5f  cl.h" | $(TCLSH_
102c0 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
102d0 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61  \replace.tcl exa
102e0 63 74 20 74 63 6c 44 65 63 6c 73 2e 68 20 73 71  ct tclDecls.h sq
102f0 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68 20  lite_tclDecls.h 
10300 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
10310 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
10320 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
10330 62 20 22 74 79 70 65 64 65 66 20 28 2e 2a 3f 29  b "typedef (.*?)
10340 5c 28 54 63 6c 5f 22 20 22 74 79 70 65 64 65 66  \(Tcl_" "typedef
10350 20 5c 31 20 28 53 51 4c 49 54 45 5f 54 43 4c 41   \1 (SQLITE_TCLA
10360 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24  PI Tcl_" \...| $
10370 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
10380 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
10390 74 63 6c 20 65 78 61 63 74 20 22 76 6f 69 64 20  tcl exact "void 
103a0 28 2a 66 72 65 65 50 72 6f 63 29 22 20 22 76 6f  (*freeProc)" "vo
103b0 69 64 20 28 53 51 4c 49 54 45 5f 54 43 4c 41 50  id (SQLITE_TCLAP
103c0 49 20 2a 66 72 65 65 50 72 6f 63 29 22 20 5c 0a  I *freeProc)" \.
103d0 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
103e0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
103f0 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22  lace.tcl exact "
10400 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28  Tcl_HashEntry *(
10410 2a 66 69 6e 64 50 72 6f 63 29 22 20 22 54 63 6c  *findProc)" "Tcl
10420 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53 51 4c  _HashEntry *(SQL
10430 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 69 6e 64  ITE_TCLAPI *find
10440 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28 54  Proc)" \...| $(T
10450 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
10460 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
10470 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61 73  l exact "Tcl_Has
10480 68 45 6e 74 72 79 20 2a 28 2a 63 72 65 61 74 65  hEntry *(*create
10490 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68  Proc)" "Tcl_Hash
104a0 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54  Entry *(SQLITE_T
104b0 43 4c 41 50 49 20 2a 63 72 65 61 74 65 50 72 6f  CLAPI *createPro
104c0 63 29 22 20 3e 3e 20 24 28 53 51 4c 49 54 45 54  c)" >> $(SQLITET
104d0 43 4c 48 29 0a 21 45 4e 44 49 46 0a 0a 74 65 73  CLH).!ENDIF..tes
104e0 74 66 69 78 74 75 72 65 2e 65 78 65 3a 09 24 28  tfixture.exe:.$(
104f0 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 29  TESTFIXTURE_SRC)
10500 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c   $(SQLITE3H) $(L
10510 49 42 52 45 53 4f 42 4a 53 29 20 24 28 48 44 52  IBRESOBJS) $(HDR
10520 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44  ) $(SQLITE_TCL_D
10530 45 50 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d  EP)..$(LTLINK) -
10540 44 53 51 4c 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d  DSQLITE_NO_SYNC=
10550 31 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  1 $(TESTFIXTURE_
10560 46 4c 41 47 53 29 20 5c 0a 09 09 2d 44 42 55 49  FLAGS) \...-DBUI
10570 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43  LD_sqlite -I$(TC
10580 4c 49 4e 43 44 49 52 29 20 5c 0a 09 09 24 28 54  LINCDIR) \...$(T
10590 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 29 20  ESTFIXTURE_SRC) 
105a0 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  \.../link $(LDFL
105b0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
105c0 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
105d0 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
105e0 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS
105f0 29 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73 74  )..extensiontest
10600 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  :.testfixture.ex
10610 65 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c  e testloadext.dl
10620 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  l..@set PATH=$(L
10630 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
10640 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
10650 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
10660 74 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74 20 24  t\loadext.test $
10670 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c 6c  (TESTOPTS)..full
10680 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47  test:.$(TESTPROG
10690 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65  S) fuzztest..@se
106a0 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
106b0 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
106c0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
106d0 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e  $(TOP)\test\all.
106e0 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS)
106f0 0a 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28 54 45  ..soaktest:.$(TE
10700 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50  STPROGS)..@set P
10710 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
10720 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
10730 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
10740 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73  OP)\test\all.tes
10750 74 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53 54  t -soak=1 $(TEST
10760 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 6f  OPTS)..fulltesto
10770 6e 6c 79 3a 09 24 28 54 45 53 54 50 52 4f 47 53  nly:.$(TESTPROGS
10780 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74  ) fuzztest..@set
10790 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA
107a0 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t
107b0 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $
107c0 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c 2e  (TOP)\test\full.
107d0 74 65 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e 74  test..queryplant
107e0 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65  est:.testfixture
107f0 2e 65 78 65 20 73 68 65 6c 6c 0a 09 40 73 65 74  .exe shell..@set
10800 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA
10810 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t
10820 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $
10830 28 54 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d 75  (TOP)\test\permu
10840 74 61 74 69 6f 6e 73 2e 74 65 73 74 20 71 75 65  tations.test que
10850 72 79 70 6c 61 6e 6e 65 72 20 24 28 54 45 53 54  ryplanner $(TEST
10860 4f 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74 3a  OPTS)..fuzztest:
10870 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09  .fuzzcheck.exe..
10880 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20  .\fuzzcheck.exe 
10890 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61 73  $(FUZZDATA)..fas
108a0 74 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63  tfuzztest:.fuzzc
108b0 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a  heck.exe...\fuzz
108c0 63 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69  check.exe --limi
108d0 74 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46 55 5a  t-mem 100M $(FUZ
108e0 5a 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d 61  ZDATA)..# Minima
108f0 6c 20 74 65 73 74 69 6e 67 20 74 68 61 74 20 72  l testing that r
10900 75 6e 73 20 69 6e 20 6c 65 73 73 20 74 68 61 6e  uns in less than
10910 20 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20 61   3 minutes (on a
10920 20 66 61 73 74 20 6d 61 63 68 69 6e 65 29 0a 23   fast machine).#
10930 0a 71 75 69 63 6b 74 65 73 74 3a 09 74 65 73 74  .quicktest:.test
10940 66 69 78 74 75 72 65 2e 65 78 65 20 73 6f 75 72  fixture.exe sour
10950 63 65 74 65 73 74 0a 09 40 73 65 74 20 50 41 54  cetest..@set PAT
10960 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
10970 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
10980 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
10990 29 5c 74 65 73 74 5c 65 78 74 72 61 71 75 69 63  )\test\extraquic
109a0 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54  k.test $(TESTOPT
109b0 53 29 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68  S)..# This is th
109c0 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20  e common case.  
109d0 52 75 6e 20 6d 61 6e 79 20 74 65 73 74 73 20 74  Run many tests t
109e0 68 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20  hat do not take 
109f0 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c  too long,.# incl
10a00 75 64 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c  uding fuzzcheck,
10a10 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
10a20 72 2c 20 61 6e 64 20 73 71 6c 64 69 66 66 20 74  r, and sqldiff t
10a30 65 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28  ests..#.test:.$(
10a40 54 45 53 54 50 52 4f 47 53 29 20 73 6f 75 72 63  TESTPROGS) sourc
10a50 65 74 65 73 74 20 66 61 73 74 66 75 7a 7a 74 65  etest fastfuzzte
10a60 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  st..@set PATH=$(
10a70 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
10a80 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
10a90 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
10aa0 73 74 5c 76 65 72 79 71 75 69 63 6b 2e 74 65 73  st\veryquick.tes
10ab0 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73  t $(TESTOPTS)..s
10ac0 6d 6f 6b 65 74 65 73 74 3a 09 24 28 54 45 53 54  moketest:.$(TEST
10ad0 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54  PROGS)..@set PAT
10ae0 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
10af0 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
10b00 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
10b10 29 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73 74  )\test\main.test
10b20 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 71   $(TESTOPTS)..sq
10b30 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63  lite3_analyzer.c
10b40 3a 09 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  :.$(SQLITE3C) $(
10b50 53 51 4c 49 54 45 33 48 29 20 24 28 54 4f 50 29  SQLITE3H) $(TOP)
10b60 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
10b70 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61   $(TOP)\tool\spa
10b80 63 65 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f 50  ceanal.tcl $(TOP
10b90 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74  )\tool\mkccode.t
10ba0 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  cl $(TOP)\tool\s
10bb0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
10bc0 63 2e 69 6e 20 24 28 53 51 4c 49 54 45 5f 54 43  c.in $(SQLITE_TC
10bd0 4c 5f 44 45 50 29 0a 09 24 28 54 43 4c 53 48 5f  L_DEP)..$(TCLSH_
10be0 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
10bf0 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54  \mkccode.tcl $(T
10c00 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33  OP)\tool\sqlite3
10c10 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e  _analyzer.c.in >
10c20 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61   $@..sqlite3_ana
10c30 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 74  lyzer.exe:.sqlit
10c40 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 28  e3_analyzer.c $(
10c50 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c  LIBRESOBJS)..$(L
10c60 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
10c70 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  ) -DBUILD_sqlite
10c80 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 
10c90 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
10ca0 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c  .c \.../link $(L
10cb0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
10cc0 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT
10cd0 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS
10ce0 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
10cf0 49 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f 65 78  IBS)..sqlite3_ex
10d00 70 65 72 74 2e 65 78 65 3a 20 24 28 53 51 4c 49  pert.exe: $(SQLI
10d10 54 45 33 43 29 20 24 28 54 4f 50 29 5c 65 78 74  TE3C) $(TOP)\ext
10d20 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65  \expert\sqlite3e
10d30 78 70 65 72 74 2e 68 20 24 28 54 4f 50 29 5c 65  xpert.h $(TOP)\e
10d40 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65  xt\expert\sqlite
10d50 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f 50 29  3expert.c $(TOP)
10d60 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78 70 65  \ext\expert\expe
10d70 72 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  rt.c..$(LTLINK) 
10d80 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50  $(NO_WARN).$(TOP
10d90 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c  )\ext\expert\sql
10da0 69 74 65 33 65 78 70 65 72 74 2e 63 20 24 28 54  ite3expert.c $(T
10db0 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65  OP)\ext\expert\e
10dc0 78 70 65 72 74 2e 63 20 24 28 53 51 4c 49 54 45  xpert.c $(SQLITE
10dd0 33 43 29 20 24 28 54 4c 49 42 53 29 0a 0a 43 48  3C) $(TLIBS)..CH
10de0 45 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a 20 20  ECKER_DEPS =\.  
10df0 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 63 63  $(TOP)/tool/mkcc
10e00 6f 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71 6c 69  ode.tcl \.  sqli
10e10 74 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  te3.c \.  $(TOP)
10e20 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63  /src/tclsqlite.c
10e30 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
10e40 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33 5f 63  repair/sqlite3_c
10e50 68 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20 20 24  hecker.tcl \.  $
10e60 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72  (TOP)/ext/repair
10e70 2f 63 68 65 63 6b 69 6e 64 65 78 2e 63 20 5c 0a  /checkindex.c \.
10e80 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70    $(TOP)/ext/rep
10e90 61 69 72 2f 63 68 65 63 6b 66 72 65 65 6c 69 73  air/checkfreelis
10ea0 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65  t.c \.  $(TOP)/e
10eb0 78 74 2f 6d 69 73 63 2f 62 74 72 65 65 69 6e 66  xt/misc/btreeinf
10ec0 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65  o.c \.  $(TOP)/e
10ed0 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65  xt/repair/sqlite
10ee0 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 0a 0a  3_checker.c.in..
10ef0 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
10f00 63 3a 09 24 28 43 48 45 43 4b 45 52 5f 44 45 50  c:.$(CHECKER_DEP
10f10 53 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  S)..$(TCLSH_CMD)
10f20 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63   $(TOP)\tool\mkc
10f30 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c  code.tcl $(TOP)\
10f40 65 78 74 5c 72 65 70 61 69 72 5c 73 71 6c 69 74  ext\repair\sqlit
10f50 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 20  e3_checker.c.in 
10f60 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 63 68  > $@..sqlite3_ch
10f70 65 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c 69 74  ecker.exe:.sqlit
10f80 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 24 28 4c  e3_checker.c $(L
10f90 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
10fa0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
10fb0 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite 
10fc0 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73  -I$(TCLINCDIR) s
10fd0 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63  qlite3_checker.c
10fe0 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46   \.../link $(LDF
10ff0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
11000 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  TS) $(LTLIBPATHS
11010 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
11020 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS) $(TLIB
11030 53 29 0a 0a 64 62 64 75 6d 70 2e 65 78 65 3a 09  S)..dbdump.exe:.
11040 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
11050 64 62 64 75 6d 70 2e 63 20 24 28 53 51 4c 49 54  dbdump.c $(SQLIT
11060 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
11070 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
11080 5f 57 41 52 4e 29 20 2d 44 44 42 44 55 4d 50 5f  _WARN) -DDBDUMP_
11090 53 54 41 4e 44 41 4c 4f 4e 45 20 24 28 54 4f 50  STANDALONE $(TOP
110a0 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d  )\ext\misc\dbdum
110b0 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  p.c $(SQLITE3C) 
110c0 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  \.../link $(LDFL
110d0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
110e0 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
110f0 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
11100 28 4c 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f  (LTLIBS)..testlo
11110 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  adext.lo:.$(TOP)
11120 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78  \src\test_loadex
11130 74 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  t.c..$(LTCOMPILE
11140 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20  ) $(NO_WARN) -c 
11150 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
11160 6c 6f 61 64 65 78 74 2e 63 0a 0a 74 65 73 74 6c  loadext.c..testl
11170 6f 61 64 65 78 74 2e 64 6c 6c 3a 09 74 65 73 74  oadext.dll:.test
11180 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09 24 28 4c 44  loadext.lo..$(LD
11190 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS) $(L
111a0 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
111b0 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f  IBPATHS) /DLL /O
111c0 55 54 3a 24 40 20 74 65 73 74 6c 6f 61 64 65 78  UT:$@ testloadex
111d0 74 2e 6c 6f 0a 0a 73 68 6f 77 64 62 2e 65 78 65  t.lo..showdb.exe
111e0 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh
111f0 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33  owdb.c $(SQLITE3
11200 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
11210 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
11220 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
11230 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
11240 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
11250 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO
11260 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63  P)\tool\showdb.c
11270 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
11280 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
11290 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f  LTLINKOPTS)..sho
112a0 77 73 74 61 74 34 2e 65 78 65 3a 09 24 28 54 4f  wstat4.exe:.$(TO
112b0 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74  P)\tool\showstat
112c0 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  4.c $(SQLITE3C) 
112d0 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
112e0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
112f0 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
11300 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
11310 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
11320 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\
11330 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63  tool\showstat4.c
11340 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
11350 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
11360 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f  LTLINKOPTS)..sho
11370 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a 09 24 28  wjournal.exe:.$(
11380 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f  TOP)\tool\showjo
11390 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45  urnal.c $(SQLITE
113a0 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
113b0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
113c0 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
113d0 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
113e0 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
113f0 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54  XTENSION \...$(T
11400 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75  OP)\tool\showjou
11410 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  rnal.c $(SQLITE3
11420 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
11430 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11440 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78 65 3a 09  )..showwal.exe:.
11450 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
11460 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43  wal.c $(SQLITE3C
11470 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
11480 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
11490 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
114a0 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
114b0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
114c0 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP
114d0 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63  )\tool\showwal.c
114e0 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
114f0 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
11500 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f  LTLINKOPTS)..sho
11510 77 73 68 6d 2e 65 78 65 3a 09 24 28 54 4f 50 29  wshm.exe:.$(TOP)
11520 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 0a  \tool\showshm.c.
11530 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
11540 57 41 52 4e 29 09 24 28 54 4f 50 29 5c 74 6f 6f  WARN).$(TOP)\too
11550 6c 5c 73 68 6f 77 73 68 6d 2e 63 20 2f 6c 69 6e  l\showshm.c /lin
11560 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
11570 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e  TLINKOPTS)..chan
11580 67 65 73 65 74 2e 65 78 65 3a 09 24 28 54 4f 50  geset.exe:.$(TOP
11590 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68  )\ext\session\ch
115a0 61 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49  angeset.c $(SQLI
115b0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
115c0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
115d0 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
115e0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
115f0 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
11600 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d  _EXTENSION \...-
11610 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53  DSQLITE_ENABLE_S
11620 45 53 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54  ESSION=1 -DSQLIT
11630 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41  E_ENABLE_PREUPDA
11640 54 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28  TE_HOOK=1 \...$(
11650 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
11660 5c 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53  \changeset.c $(S
11670 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
11680 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
11690 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33 76 69 65  NKOPTS)..fts3vie
116a0 77 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  w.exe:.$(TOP)\ex
116b0 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33  t\fts3\tool\fts3
116c0 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33  view.c $(SQLITE3
116d0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
116e0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
116f0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
11700 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
11710 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
11720 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO
11730 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c  P)\ext\fts3\tool
11740 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53 51  \fts3view.c $(SQ
11750 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
11760 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
11770 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b  KOPTS)..rollback
11780 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50  -test.exe:.$(TOP
11790 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d  )\tool\rollback-
117a0 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3
117b0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
117c0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
117d0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
117e0 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
117f0 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
11800 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO
11810 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b  P)\tool\rollback
11820 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  -test.c $(SQLITE
11830 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
11840 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
11850 53 29 0a 0a 4c 6f 67 45 73 74 2e 65 78 65 3a 09  S)..LogEst.exe:.
11860 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65  $(TOP)\tool\loge
11870 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 48 29  st.c $(SQLITE3H)
11880 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
11890 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f  _WARN) $(TOP)\to
118a0 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 2f 6c 69 6e  ol\LogEst.c /lin
118b0 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
118c0 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 77 6f 72 64  TLINKOPTS)..word
118d0 63 6f 75 6e 74 2e 65 78 65 3a 09 24 28 54 4f 50  count.exe:.$(TOP
118e0 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74  )\test\wordcount
118f0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
11900 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
11910 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
11920 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
11930 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
11940 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
11950 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t
11960 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20  est\wordcount.c 
11970 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
11980 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
11990 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 70 65 65  TLINKOPTS)..spee
119a0 64 74 65 73 74 31 2e 65 78 65 3a 09 24 28 54 4f  dtest1.exe:.$(TO
119b0 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73  P)\test\speedtes
119c0 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  t1.c $(SQLITE3C)
119d0 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
119e0 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
119f0 4e 29 20 24 28 53 54 5f 43 4f 4d 50 49 4c 45 5f  N) $(ST_COMPILE_
11a00 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f  OPTS) -DSQLITE_O
11a10 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
11a20 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65  ON \...$(TOP)\te
11a30 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 20  st\speedtest1.c 
11a40 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
11a50 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
11a60 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6b 76 74 65  TLINKOPTS)..kvte
11a70 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  st.exe:.$(TOP)\t
11a80 65 73 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53  est\kvtest.c $(S
11a90 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
11aa0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
11ab0 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4b 56 5f  $(NO_WARN) $(KV_
11ac0 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 5c 0a  COMPILE_OPTS) \.
11ad0 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76  ..$(TOP)\test\kv
11ae0 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3
11af0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
11b00 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
11b10 29 0a 0a 64 62 73 65 6c 66 74 65 73 74 2e 65 78  )..dbselftest.ex
11b20 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64  e:.$(TOP)\test\d
11b30 62 73 65 6c 66 74 65 73 74 2e 63 20 24 28 53 51  bselftest.c $(SQ
11b40 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
11b50 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
11b60 28 4e 4f 5f 57 41 52 4e 29 20 24 28 44 42 53 45  (NO_WARN) $(DBSE
11b70 4c 46 54 45 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f  LFTEST_COMPILE_O
11b80 50 54 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74  PTS) $(TOP)\test
11b90 5c 64 62 73 65 6c 66 74 65 73 74 2e 63 20 24 28  \dbselftest.c $(
11ba0 53 51 4c 49 54 45 33 43 29 0a 0a 72 62 75 2e 65  SQLITE3C)..rbu.e
11bb0 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72  xe:.$(TOP)\ext\r
11bc0 62 75 5c 72 62 75 2e 63 20 24 28 54 4f 50 29 5c  bu\rbu.c $(TOP)\
11bd0 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
11be0 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  bu.c $(SQLITE3C)
11bf0 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
11c00 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
11c10 4e 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  N) -DSQLITE_ENAB
11c20 4c 45 5f 52 42 55 20 5c 0a 09 09 24 28 54 4f 50  LE_RBU \...$(TOP
11c30 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20  )\ext\rbu\rbu.c 
11c40 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
11c50 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
11c60 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44  TLINKOPTS)..LSMD
11c70 49 52 3d 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73  IR=$(TOP)\ext\ls
11c80 6d 31 0a 21 49 4e 43 4c 55 44 45 20 24 28 4c 53  m1.!INCLUDE $(LS
11c90 4d 44 49 52 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d  MDIR)\Makefile.m
11ca0 73 63 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a 09 63  sc..moreclean:.c
11cb0 6c 65 61 6e 0a 09 64 65 6c 20 2f 51 20 24 28 53  lean..del /Q $(S
11cc0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
11cd0 45 33 48 29 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f  E3H) 2>NUL.# <</
11ce0 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09  mark>>..clean:..
11cf0 64 65 6c 20 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c  del /Q *.exp *.l
11d00 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e  o *.ilk *.lib *.
11d10 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64 62 20  obj *.ncb *.pdb 
11d20 2a 2e 73 64 66 20 2a 2e 73 75 6f 20 32 3e 4e 55  *.sdf *.suo 2>NU
11d30 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e 62 73 63 20  L..del /Q *.bsc 
11d40 2a 2e 64 65 66 20 2a 2e 63 6f 64 20 2a 2e 64 61  *.def *.cod *.da
11d50 20 2a 2e 62 62 20 2a 2e 62 62 67 20 2a 2e 76 63   *.bb *.bbg *.vc
11d60 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a   gmon.out 2>NUL.
11d70 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45  .del /Q $(SQLITE
11d80 33 45 58 45 29 20 24 28 53 51 4c 49 54 45 33 44  3EXE) $(SQLITE3D
11d90 4c 4c 29 20 52 65 70 6c 61 63 65 2e 65 78 65 20  LL) Replace.exe 
11da0 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  2>NUL.# <<mark>>
11db0 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33  ..del /Q sqlite3
11dc0 2e 63 20 73 71 6c 69 74 65 33 2e 68 20 32 3e 4e  .c sqlite3.h 2>N
11dd0 55 4c 0a 09 64 65 6c 20 2f 51 20 6f 70 63 6f 64  UL..del /Q opcod
11de0 65 73 2e 63 20 6f 70 63 6f 64 65 73 2e 68 20 32  es.c opcodes.h 2
11df0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 65 6d  >NUL..del /Q lem
11e00 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e 63 20 70 61  on.* lempar.c pa
11e10 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c  rse.* 2>NUL..del
11e20 20 2f 51 20 6d 6b 73 6f 75 72 63 65 69 64 2e 2a   /Q mksourceid.*
11e30 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 2a   mkkeywordhash.*
11e40 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 32   keywordhash.h 2
11e50 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6e 6f 74  >NUL..del /Q not
11e60 61 73 68 61 72 65 64 6c 69 62 2e 2a 20 32 3e 4e  asharedlib.* 2>N
11e70 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20  UL..-rmdir /Q/S 
11e80 2e 64 65 70 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d  .deps 2>NUL..-rm
11e90 64 69 72 20 2f 51 2f 53 20 2e 6c 69 62 73 20 32  dir /Q/S .libs 2
11ea0 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f  >NUL..-rmdir /Q/
11eb0 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 64 65  S tsrc 2>NUL..de
11ec0 6c 20 2f 51 20 2e 74 61 72 67 65 74 5f 73 6f 75  l /Q .target_sou
11ed0 72 63 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  rce 2>NUL..del /
11ee0 51 20 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65  Q tclsqlite3.exe
11ef0 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 24   $(SQLITETCLH) $
11f00 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48  (SQLITETCLDECLSH
11f10 29 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  ) 2>NUL..del /Q 
11f20 6c 73 6d 2e 64 6c 6c 20 6c 73 6d 74 65 73 74 2e  lsm.dll lsmtest.
11f30 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
11f40 51 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c  Q testloadext.dl
11f50 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  l 2>NUL..del /Q 
11f60 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
11f70 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 64  test.db 2>NUL..d
11f80 65 6c 20 2f 51 20 4c 6f 67 45 73 74 2e 65 78 65  el /Q LogEst.exe
11f90 20 66 74 73 33 76 69 65 77 2e 65 78 65 20 72 6f   fts3view.exe ro
11fa0 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 20  llback-test.exe 
11fb0 73 68 6f 77 64 62 2e 65 78 65 20 64 62 64 75 6d  showdb.exe dbdum
11fc0 70 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c  p.exe 2>NUL..del
11fd0 20 2f 51 20 63 68 61 6e 67 65 73 65 74 2e 65 78   /Q changeset.ex
11fe0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
11ff0 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 20  showjournal.exe 
12000 73 68 6f 77 73 74 61 74 34 2e 65 78 65 20 73 68  showstat4.exe sh
12010 6f 77 77 61 6c 2e 65 78 65 20 73 70 65 65 64 74  owwal.exe speedt
12020 65 73 74 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  est1.exe 2>NUL..
12030 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 65 72 2e  del /Q mptester.
12040 65 78 65 20 77 6f 72 64 63 6f 75 6e 74 2e 65 78  exe wordcount.ex
12050 65 20 72 62 75 2e 65 78 65 20 73 72 63 63 6b 31  e rbu.exe srcck1
12060 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del 
12070 2f 51 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c  /Q sqlite3.c sql
12080 69 74 65 33 2d 2a 2e 63 20 32 3e 4e 55 4c 0a 09  ite3-*.c 2>NUL..
12090 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 72 63  del /Q sqlite3rc
120a0 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
120b0 20 73 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33   shell.c sqlite3
120c0 65 78 74 2e 68 20 73 71 6c 69 74 65 33 73 65 73  ext.h sqlite3ses
120d0 73 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a 09 64 65  sion.h 2>NUL..de
120e0 6c 20 2f 51 20 73 71 6c 69 74 65 33 5f 61 6e 61  l /Q sqlite3_ana
120f0 6c 79 7a 65 72 2e 65 78 65 20 73 71 6c 69 74 65  lyzer.exe sqlite
12100 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e  3_analyzer.c 2>N
12110 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74  UL..del /Q sqlit
12120 65 2d 2a 2d 6f 75 74 70 75 74 2e 76 73 69 78 20  e-*-output.vsix 
12130 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75  2>NUL..del /Q fu
12140 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 20 66 75  zzershell.exe fu
12150 7a 7a 63 68 65 63 6b 2e 65 78 65 20 73 71 6c 64  zzcheck.exe sqld
12160 69 66 66 2e 65 78 65 20 64 62 68 61 73 68 2e 65  iff.exe dbhash.e
12170 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
12180 20 66 74 73 35 2e 2a 20 66 74 73 35 70 61 72 73   fts5.* fts5pars
12190 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  e.* 2>NUL..del /
121a0 51 20 6c 73 6d 2e 68 20 6c 73 6d 31 2e 63 20 32  Q lsm.h lsm1.c 2
121b0 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  >NUL.# <</mark>>
121c0 0a                                               .