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

Artifact 1ce5a2f754201baf709132fe5b45027c73343fba2607107821f759d78cf136c0:


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 32 34 34 20 2d 77 64 34 33 30 35 20 2d  wd4244 -wd4305 -
0780: 77 64 34 33 30 36 20 2d 77 64 34 37 30 32 20 2d  wd4306 -wd4702 -
0790: 77 64 34 37 30 36 0a 21 45 4e 44 49 46 0a 21 45  wd4706.!ENDIF.!E
07a0: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
07b0: 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20 74 68   non-0 to use th
07c0: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 20  e library paths 
07d0: 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e  and other option
07e0: 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 0a  s necessary for.
07f0: 23 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  # Windows Phone 
0800: 38 2e 31 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55  8.1..#.!IFNDEF U
0810: 53 45 5f 57 50 38 31 5f 4f 50 54 53 0a 55 53 45  SE_WP81_OPTS.USE
0820: 5f 57 50 38 31 5f 4f 50 54 53 20 3d 20 30 0a 21  _WP81_OPTS = 0.!
0830: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0840: 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 70 6c 69 74  s non-0 to split
0850: 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d 61 6c   the SQLite amal
0860: 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20 69 6e  gamation file in
0870: 74 6f 20 63 68 75 6e 6b 73 20 74 6f 0a 23 20 62  to chunks to.# b
0880: 65 20 75 73 65 64 20 66 6f 72 20 64 65 62 75 67  e used for debug
0890: 67 69 6e 67 20 77 69 74 68 20 56 69 73 75 61 6c  ging with Visual
08a0: 20 53 74 75 64 69 6f 2e 0a 23 0a 21 49 46 4e 44   Studio..#.!IFND
08b0: 45 46 20 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d  EF SPLIT_AMALGAM
08c0: 41 54 49 4f 4e 0a 53 50 4c 49 54 5f 41 4d 41 4c  ATION.SPLIT_AMAL
08d0: 47 41 4d 41 54 49 4f 4e 20 3d 20 30 0a 21 45 4e  GAMATION = 0.!EN
08e0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
08f0: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0900: 20 74 6f 20 68 61 76 65 20 74 68 69 73 20 6d 61   to have this ma
0910: 6b 65 66 69 6c 65 20 61 73 73 75 6d 65 20 74 68  kefile assume th
0920: 65 20 54 63 6c 20 73 68 65 6c 6c 20 65 78 65 63  e Tcl shell exec
0930: 75 74 61 62 6c 65 0a 23 20 28 74 63 6c 73 68 2a  utable.# (tclsh*
0940: 2e 65 78 65 29 20 69 73 20 61 76 61 69 6c 61 62  .exe) is availab
0950: 6c 65 20 69 6e 20 74 68 65 20 50 41 54 48 2e 20  le in the PATH. 
0960: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
0970: 73 20 69 73 20 64 69 73 61 62 6c 65 64 0a 23 20  s is disabled.# 
0980: 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74  for compatibilit
0990: 79 20 77 69 74 68 20 6f 6c 64 65 72 20 62 75 69  y with older bui
09a0: 6c 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e  ld environments.
09b0: 20 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 6f    This setting o
09c0: 6e 6c 79 0a 23 20 61 70 70 6c 69 65 73 20 69 66  nly.# applies if
09d0: 20 54 43 4c 53 48 5f 43 4d 44 20 69 73 20 6e 6f   TCLSH_CMD is no
09e0: 74 20 73 65 74 20 6d 61 6e 75 61 6c 6c 79 2e 0a  t set manually..
09f0: 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 54 43  #.!IFNDEF USE_TC
0a00: 4c 53 48 5f 49 4e 5f 50 41 54 48 0a 55 53 45 5f  LSH_IN_PATH.USE_
0a10: 54 43 4c 53 48 5f 49 4e 5f 50 41 54 48 20 3d 20  TCLSH_IN_PATH = 
0a20: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
0a30: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  this non-0 to us
0a40: 65 20 7a 6c 69 62 2c 20 70 6f 73 73 69 62 6c 79  e zlib, possibly
0a50: 20 63 6f 6d 70 69 6c 69 6e 67 20 69 74 20 66 72   compiling it fr
0a60: 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a  om source code..
0a70: 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 5a 4c  #.!IFNDEF USE_ZL
0a80: 49 42 0a 55 53 45 5f 5a 4c 49 42 20 3d 20 30 0a  IB.USE_ZLIB = 0.
0a90: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0aa0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 62 75 69 6c  is non-0 to buil
0ab0: 64 20 7a 6c 69 62 20 66 72 6f 6d 20 73 6f 75 72  d zlib from sour
0ac0: 63 65 20 63 6f 64 65 2e 20 20 54 68 69 73 20 69  ce code.  This i
0ad0: 73 20 65 6e 61 62 6c 65 64 20 62 79 0a 23 20 64  s enabled by.# d
0ae0: 65 66 61 75 6c 74 20 61 6e 64 20 69 6e 20 74 68  efault and in th
0af0: 61 74 20 63 61 73 65 20 69 74 20 77 69 6c 6c 20  at case it will 
0b00: 62 65 20 61 73 73 75 6d 65 64 20 74 68 61 74 20  be assumed that 
0b10: 74 68 65 20 5a 4c 49 42 44 49 52 20 6d 61 63 72  the ZLIBDIR macr
0b20: 6f 0a 23 20 70 6f 69 6e 74 73 20 74 6f 20 74 68  o.# points to th
0b30: 65 20 74 6f 70 2d 6c 65 76 65 6c 20 73 6f 75 72  e top-level sour
0b40: 63 65 20 63 6f 64 65 20 64 69 72 65 63 74 6f 72  ce code director
0b50: 79 20 66 6f 72 20 7a 6c 69 62 2e 0a 23 0a 21 49  y for zlib..#.!I
0b60: 46 4e 44 45 46 20 42 55 49 4c 44 5f 5a 4c 49 42  FNDEF BUILD_ZLIB
0b70: 0a 42 55 49 4c 44 5f 5a 4c 49 42 20 3d 20 31 0a  .BUILD_ZLIB = 1.
0b80: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0b90: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20  is non-0 to use 
0ba0: 74 68 65 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61  the Internationa
0bb0: 6c 20 43 6f 6d 70 6f 6e 65 6e 74 73 20 66 6f 72  l Components for
0bc0: 20 55 6e 69 63 6f 64 65 20 28 49 43 55 29 2e 0a   Unicode (ICU)..
0bd0: 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 49 43  #.!IFNDEF USE_IC
0be0: 55 0a 55 53 45 5f 49 43 55 20 3d 20 30 0a 21 45  U.USE_ICU = 0.!E
0bf0: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
0c00: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0c10: 2d 30 20 74 6f 20 64 79 6e 61 6d 69 63 61 6c 6c  -0 to dynamicall
0c20: 79 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 4d 53  y link to the MS
0c30: 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61  VC runtime libra
0c40: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53  ry..#.!IFNDEF US
0c50: 45 5f 43 52 54 5f 44 4c 4c 0a 55 53 45 5f 43 52  E_CRT_DLL.USE_CR
0c60: 54 5f 44 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46  T_DLL = 0.!ENDIF
0c70: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0c80: 2d 30 20 74 6f 20 6c 69 6e 6b 20 74 6f 20 74 68  -0 to link to th
0c90: 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 79  e RPCRT4 library
0ca0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f  ..#.!IFNDEF USE_
0cb0: 52 50 43 52 54 34 5f 4c 49 42 0a 55 53 45 5f 52  RPCRT4_LIB.USE_R
0cc0: 50 43 52 54 34 5f 4c 49 42 20 3d 20 30 0a 21 45  PCRT4_LIB = 0.!E
0cd0: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
0ce0: 20 6e 6f 6e 2d 30 20 74 6f 20 67 65 6e 65 72 61   non-0 to genera
0cf0: 74 65 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65  te assembly code
0d00: 20 6c 69 73 74 69 6e 67 73 20 66 6f 72 20 74 68   listings for th
0d10: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 0a 23 20  e source code.# 
0d20: 66 69 6c 65 73 2e 0a 23 0a 21 49 46 4e 44 45 46  files..#.!IFNDEF
0d30: 20 55 53 45 5f 4c 49 53 54 49 4e 47 53 0a 55 53   USE_LISTINGS.US
0d40: 45 5f 4c 49 53 54 49 4e 47 53 20 3d 20 30 0a 21  E_LISTINGS = 0.!
0d50: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0d60: 73 20 6e 6f 6e 2d 30 20 74 6f 20 61 74 74 65 6d  s non-0 to attem
0d70: 70 74 20 73 65 74 74 69 6e 67 20 74 68 65 20 6e  pt setting the n
0d80: 61 74 69 76 65 20 63 6f 6d 70 69 6c 65 72 20 61  ative compiler a
0d90: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 23 20 66  utomatically.# f
0da0: 6f 72 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  or cross-compili
0db0: 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c  ng the command l
0dc0: 69 6e 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65 64  ine tools needed
0dd0: 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f 6d 70   during the comp
0de0: 69 6c 61 74 69 6f 6e 0a 23 20 70 72 6f 63 65 73  ilation.# proces
0df0: 73 2e 0a 23 0a 21 49 46 4e 44 45 46 20 58 43 4f  s..#.!IFNDEF XCO
0e00: 4d 50 49 4c 45 0a 58 43 4f 4d 50 49 4c 45 20 3d  MPILE.XCOMPILE =
0e10: 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74   0.!ENDIF..# Set
0e20: 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75   this non-0 to u
0e30: 73 65 20 74 68 65 20 6e 61 74 69 76 65 20 6c 69  se the native li
0e40: 62 72 61 72 69 65 73 20 70 61 74 68 73 20 66 6f  braries paths fo
0e50: 72 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e  r cross-compilin
0e60: 67 0a 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20  g.# the command 
0e70: 6c 69 6e 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65  line tools neede
0e80: 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f 6d  d during the com
0e90: 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73  pilation process
0ea0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f  ..#.!IFNDEF USE_
0eb0: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 0a  NATIVE_LIBPATHS.
0ec0: 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41  USE_NATIVE_LIBPA
0ed0: 54 48 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  THS = 0.!ENDIF..
0ee0: 23 20 53 65 74 20 74 68 69 73 20 30 20 74 6f 20  # Set this 0 to 
0ef0: 73 6b 69 70 20 74 68 65 20 63 6f 6d 70 69 6c 69  skip the compili
0f00: 6e 67 20 61 6e 64 20 65 6d 62 65 64 64 69 6e 67  ng and embedding
0f10: 20 6f 66 20 76 65 72 73 69 6f 6e 20 72 65 73 6f   of version reso
0f20: 75 72 63 65 73 2e 0a 23 0a 21 49 46 4e 44 45 46  urces..#.!IFNDEF
0f30: 20 55 53 45 5f 52 43 0a 55 53 45 5f 52 43 20 3d   USE_RC.USE_RC =
0f40: 20 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74   1.!ENDIF..# Set
0f50: 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63   this non-0 to c
0f60: 6f 6d 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20  ompile binaries 
0f70: 73 75 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65  suitable for the
0f80: 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65   WinRT environme
0f90: 6e 74 2e 0a 23 20 54 68 69 73 20 73 65 74 74 69  nt..# This setti
0fa0: 6e 67 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c  ng does not appl
0fb0: 79 20 74 6f 20 61 6e 79 20 62 69 6e 61 72 69 65  y to any binarie
0fc0: 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20 54  s that require T
0fd0: 63 6c 20 74 6f 20 6f 70 65 72 61 74 65 0a 23 20  cl to operate.# 
0fe0: 70 72 6f 70 65 72 6c 79 20 28 69 2e 65 2e 20 74  properly (i.e. t
0ff0: 68 65 20 74 65 78 74 20 66 69 78 74 75 72 65 2c  he text fixture,
1000: 20 65 74 63 29 2e 0a 23 0a 21 49 46 4e 44 45 46   etc)..#.!IFNDEF
1010: 20 46 4f 52 5f 57 49 4e 52 54 0a 46 4f 52 5f 57   FOR_WINRT.FOR_W
1020: 49 4e 52 54 20 3d 20 30 0a 21 45 4e 44 49 46 0a  INRT = 0.!ENDIF.
1030: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
1040: 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69 6e  0 to compile bin
1050: 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20 66  aries suitable f
1060: 6f 72 20 74 68 65 20 55 57 50 20 65 6e 76 69 72  or the UWP envir
1070: 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68 69 73 20 73  onment..# This s
1080: 65 74 74 69 6e 67 20 64 6f 65 73 20 6e 6f 74 20  etting does not 
1090: 61 70 70 6c 79 20 74 6f 20 61 6e 79 20 62 69 6e  apply to any bin
10a0: 61 72 69 65 73 20 74 68 61 74 20 72 65 71 75 69  aries that requi
10b0: 72 65 20 54 63 6c 20 74 6f 20 6f 70 65 72 61 74  re Tcl to operat
10c0: 65 0a 23 20 70 72 6f 70 65 72 6c 79 20 28 69 2e  e.# properly (i.
10d0: 65 2e 20 74 68 65 20 74 65 78 74 20 66 69 78 74  e. the text fixt
10e0: 75 72 65 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46  ure, etc)..#.!IF
10f0: 4e 44 45 46 20 46 4f 52 5f 55 57 50 0a 46 4f 52  NDEF FOR_UWP.FOR
1100: 5f 55 57 50 20 3d 20 30 0a 21 45 4e 44 49 46 0a  _UWP = 0.!ENDIF.
1110: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
1120: 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69 6e  0 to compile bin
1130: 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20 66  aries suitable f
1140: 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31  or the Windows 1
1150: 30 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49  0 platform..#.!I
1160: 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e 31 30 0a  FNDEF FOR_WIN10.
1170: 46 4f 52 5f 57 49 4e 31 30 20 3d 20 30 0a 21 45  FOR_WIN10 = 0.!E
1180: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
1190: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
11a0: 30 20 74 6f 20 73 6b 69 70 20 61 74 74 65 6d 70  0 to skip attemp
11b0: 74 69 6e 67 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72  ting to look for
11c0: 20 61 6e 64 2f 6f 72 20 6c 69 6e 6b 20 77 69 74   and/or link wit
11d0: 68 20 74 68 65 20 54 63 6c 0a 23 20 72 75 6e 74  h the Tcl.# runt
11e0: 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ime library..#.!
11f0: 49 46 4e 44 45 46 20 4e 4f 5f 54 43 4c 0a 4e 4f  IFNDEF NO_TCL.NO
1200: 5f 54 43 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  _TCL = 0.!ENDIF.
1210: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53  # <</mark>>..# S
1220: 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30  et this to non-0
1230: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
1240: 73 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 4e 44  se PDBs..#.!IFND
1250: 45 46 20 53 59 4d 42 4f 4c 53 0a 53 59 4d 42 4f  EF SYMBOLS.SYMBO
1260: 4c 53 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a 23  LS = 1.!ENDIF..#
1270: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
1280: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 53 51  -0 to use the SQ
1290: 4c 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68  Lite debugging h
12a0: 65 61 70 20 73 75 62 73 79 73 74 65 6d 2e 0a 23  eap subsystem..#
12b0: 0a 21 49 46 4e 44 45 46 20 4d 45 4d 44 45 42 55  .!IFNDEF MEMDEBU
12c0: 47 0a 4d 45 4d 44 45 42 55 47 20 3d 20 30 0a 21  G.MEMDEBUG = 0.!
12d0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
12e0: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
12f0: 65 20 74 68 65 20 57 69 6e 33 32 20 6e 61 74 69  e the Win32 nati
1300: 76 65 20 68 65 61 70 20 73 75 62 73 79 73 74 65  ve heap subsyste
1310: 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 57 49 4e  m..#.!IFNDEF WIN
1320: 33 32 48 45 41 50 0a 57 49 4e 33 32 48 45 41 50  32HEAP.WIN32HEAP
1330: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53   = 0.!ENDIF..# S
1340: 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30  et this to non-0
1350: 20 74 6f 20 65 6e 61 62 6c 65 20 4f 53 54 52 41   to enable OSTRA
1360: 43 45 28 29 20 6d 61 63 72 6f 73 2c 20 77 68 69  CE() macros, whi
1370: 63 68 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c  ch can be useful
1380: 20 77 68 65 6e 0a 23 20 64 65 62 75 67 67 69 6e   when.# debuggin
1390: 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4f 53 54  g..#.!IFNDEF OST
13a0: 52 41 43 45 0a 4f 53 54 52 41 43 45 20 3d 20 30  RACE.OSTRACE = 0
13b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
13c0: 68 69 73 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68  his to one of th
13d0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75  e following valu
13e0: 65 73 20 74 6f 20 65 6e 61 62 6c 65 20 76 61 72  es to enable var
13f0: 69 6f 75 73 20 64 65 62 75 67 67 69 6e 67 0a 23  ious debugging.#
1400: 20 66 65 61 74 75 72 65 73 2e 20 20 45 61 63 68   features.  Each
1410: 20 6c 65 76 65 6c 20 69 6e 63 6c 75 64 65 73 20   level includes 
1420: 74 68 65 20 64 65 62 75 67 67 69 6e 67 20 6f 70  the debugging op
1430: 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65 20 70  tions from the p
1440: 72 65 76 69 6f 75 73 0a 23 20 6c 65 76 65 6c 73  revious.# levels
1450: 2e 20 20 43 75 72 72 65 6e 74 6c 79 2c 20 74 68  .  Currently, th
1460: 65 20 72 65 63 6f 67 6e 69 7a 65 64 20 76 61 6c  e recognized val
1470: 75 65 73 20 66 6f 72 20 44 45 42 55 47 20 61 72  ues for DEBUG ar
1480: 65 3a 0a 23 0a 23 20 30 20 3d 3d 20 4e 44 45 42  e:.#.# 0 == NDEB
1490: 55 47 3a 20 44 69 73 61 62 6c 65 73 20 61 73 73  UG: Disables ass
14a0: 65 72 74 28 29 20 61 6e 64 20 6f 74 68 65 72 20  ert() and other 
14b0: 72 75 6e 74 69 6d 65 20 64 69 61 67 6e 6f 73 74  runtime diagnost
14c0: 69 63 73 2e 0a 23 20 31 20 3d 3d 20 53 51 4c 49  ics..# 1 == SQLI
14d0: 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52  TE_ENABLE_API_AR
14e0: 4d 4f 52 3a 20 65 78 74 72 61 20 61 74 74 65 6d  MOR: extra attem
14f0: 70 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69  pts to detect mi
1500: 73 75 73 65 20 6f 66 20 74 68 65 20 41 50 49 2e  suse of the API.
1510: 0a 23 20 32 20 3d 3d 20 44 69 73 61 62 6c 65 73  .# 2 == Disables
1520: 20 4e 44 45 42 55 47 20 61 6e 64 20 61 6c 6c 20   NDEBUG and all 
1530: 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 6e  optimizations an
1540: 64 20 74 68 65 6e 20 65 6e 61 62 6c 65 73 20 50  d then enables P
1550: 44 42 73 2e 0a 23 20 33 20 3d 3d 20 53 51 4c 49  DBs..# 3 == SQLI
1560: 54 45 5f 44 45 42 55 47 3a 20 45 6e 61 62 6c 65  TE_DEBUG: Enable
1570: 73 20 76 61 72 69 6f 75 73 20 64 69 61 67 6e 6f  s various diagno
1580: 73 74 69 63 73 20 6d 65 73 73 61 67 65 73 20 61  stics messages a
1590: 6e 64 20 63 6f 64 65 2e 0a 23 20 34 20 3d 3d 20  nd code..# 4 == 
15a0: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c  SQLITE_WIN32_MAL
15b0: 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3a 20 56 61  LOC_VALIDATE: Va
15c0: 6c 69 64 61 74 65 20 74 68 65 20 57 69 6e 33 32  lidate the Win32
15d0: 20 6e 61 74 69 76 65 20 68 65 61 70 20 70 65 72   native heap per
15e0: 20 63 61 6c 6c 2e 0a 23 20 35 20 3d 3d 20 53 51   call..# 5 == SQ
15f0: 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52  LITE_DEBUG_OS_TR
1600: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1610: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 4f 53 54  put from the OST
1620: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1630: 20 36 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41   6 == SQLITE_ENA
1640: 42 4c 45 5f 49 4f 54 52 41 43 45 3a 20 45 6e 61  BLE_IOTRACE: Ena
1650: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1660: 20 74 68 65 20 49 4f 54 52 41 43 45 28 29 20 6d   the IOTRACE() m
1670: 61 63 72 6f 73 2e 0a 23 0a 21 49 46 4e 44 45 46  acros..#.!IFNDEF
1680: 20 44 45 42 55 47 0a 44 45 42 55 47 20 3d 20 30   DEBUG.DEBUG = 0
1690: 0a 21 45 4e 44 49 46 0a 0a 23 20 45 6e 61 62 6c  .!ENDIF..# Enabl
16a0: 65 20 75 73 65 20 6f 66 20 61 76 61 69 6c 61 62  e use of availab
16b0: 6c 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  le compiler opti
16c0: 6d 69 7a 61 74 69 6f 6e 73 3f 20 20 4e 6f 72 6d  mizations?  Norm
16d0: 61 6c 6c 79 2c 20 74 68 69 73 20 73 68 6f 75 6c  ally, this shoul
16e0: 64 20 62 65 0a 23 20 6e 6f 6e 2d 7a 65 72 6f 2e  d be.# non-zero.
16f0: 20 20 53 65 74 74 69 6e 67 20 74 68 69 73 20 74    Setting this t
1700: 6f 20 7a 65 72 6f 2c 20 74 68 75 73 20 64 69 73  o zero, thus dis
1710: 61 62 6c 69 6e 67 20 61 6c 6c 20 63 6f 6d 70 69  abling all compi
1720: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
1730: 73 2c 0a 23 20 63 61 6e 20 62 65 20 75 73 65 66  s,.# can be usef
1740: 75 6c 20 66 6f 72 20 74 65 73 74 69 6e 67 2e 0a  ul for testing..
1750: 23 0a 21 49 46 4e 44 45 46 20 4f 50 54 49 4d 49  #.!IFNDEF OPTIMI
1760: 5a 41 54 49 4f 4e 53 0a 4f 50 54 49 4d 49 5a 41  ZATIONS.OPTIMIZA
1770: 54 49 4f 4e 53 20 3d 20 32 0a 21 45 4e 44 49 46  TIONS = 2.!ENDIF
1780: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20  ..# Set this to 
1790: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable 
17a0: 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20  support for the 
17b0: 73 65 73 73 69 6f 6e 20 65 78 74 65 6e 73 69 6f  session extensio
17c0: 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 45 53  n..#.!IFNDEF SES
17d0: 53 49 4f 4e 0a 53 45 53 53 49 4f 4e 20 3d 20 30  SION.SESSION = 0
17e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
17f0: 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  he source code f
1800: 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20 62  ile to be used b
1810: 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 61 6e  y executables an
1820: 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 65 6e  d libraries when
1830: 0a 23 20 74 68 65 79 20 6e 65 65 64 20 74 68 65  .# they need the
1840: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
1850: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33  .!IFNDEF SQLITE3
1860: 43 0a 21 49 46 20 24 28 53 50 4c 49 54 5f 41 4d  C.!IF $(SPLIT_AM
1870: 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 53  ALGAMATION)!=0.S
1880: 51 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65  QLITE3C = sqlite
1890: 33 2d 61 6c 6c 2e 63 0a 21 45 4c 53 45 0a 53 51  3-all.c.!ELSE.SQ
18a0: 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65 33  LITE3C = sqlite3
18b0: 2e 63 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  .c.!ENDIF.!ENDIF
18c0: 0a 0a 23 20 53 65 74 20 74 68 65 20 69 6e 63 6c  ..# Set the incl
18d0: 75 64 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f  ude code file to
18e0: 20 62 65 20 75 73 65 64 20 62 79 20 65 78 65 63   be used by exec
18f0: 75 74 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72  utables and libr
1900: 61 72 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65  aries when.# the
1910: 79 20 6e 65 65 64 20 53 51 4c 69 74 65 2e 0a 23  y need SQLite..#
1920: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33  .!IFNDEF SQLITE3
1930: 48 0a 53 51 4c 49 54 45 33 48 20 3d 20 73 71 6c  H.SQLITE3H = sql
1940: 69 74 65 33 2e 68 0a 21 45 4e 44 49 46 0a 0a 23  ite3.h.!ENDIF..#
1950: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1960: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1970: 20 53 51 4c 69 74 65 20 64 79 6e 61 6d 69 63 20   SQLite dynamic 
1980: 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 28 44 4c  link library (DL
1990: 4c 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51  L)..#.!IFNDEF SQ
19a0: 4c 49 54 45 33 44 4c 4c 0a 21 49 46 20 24 28 46  LITE3DLL.!IF $(F
19b0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c  OR_WIN10)!=0.SQL
19c0: 49 54 45 33 44 4c 4c 20 3d 20 77 69 6e 73 71 6c  ITE3DLL = winsql
19d0: 69 74 65 33 2e 64 6c 6c 0a 21 45 4c 53 45 0a 53  ite3.dll.!ELSE.S
19e0: 51 4c 49 54 45 33 44 4c 4c 20 3d 20 73 71 6c 69  QLITE3DLL = sqli
19f0: 74 65 33 2e 64 6c 6c 0a 21 45 4e 44 49 46 0a 21  te3.dll.!ENDIF.!
1a00: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1a10: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1a20: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
1a30: 69 6d 70 6f 72 74 20 6c 69 62 72 61 72 79 20 28  import library (
1a40: 4c 49 42 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  LIB)..#.!IFNDEF 
1a50: 53 51 4c 49 54 45 33 4c 49 42 0a 21 49 46 20 24  SQLITE3LIB.!IF $
1a60: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53  (FOR_WIN10)!=0.S
1a70: 51 4c 49 54 45 33 4c 49 42 20 3d 20 77 69 6e 73  QLITE3LIB = wins
1a80: 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53 45  qlite3.lib.!ELSE
1a90: 0a 53 51 4c 49 54 45 33 4c 49 42 20 3d 20 73 71  .SQLITE3LIB = sq
1aa0: 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4e 44 49 46  lite3.lib.!ENDIF
1ab0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This 
1ac0: 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75  is the name to u
1ad0: 73 65 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74  se for the SQLit
1ae0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
1af0: 6c 65 20 28 45 58 45 29 2e 0a 23 0a 21 49 46 4e  le (EXE)..#.!IFN
1b00: 44 45 46 20 53 51 4c 49 54 45 33 45 58 45 0a 21  DEF SQLITE3EXE.!
1b10: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  IF $(FOR_WIN10)!
1b20: 3d 30 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20  =0.SQLITE3EXE = 
1b30: 77 69 6e 73 71 6c 69 74 65 33 73 68 65 6c 6c 2e  winsqlite3shell.
1b40: 65 78 65 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45  exe.!ELSE.SQLITE
1b50: 33 45 58 45 20 3d 20 73 71 6c 69 74 65 33 2e 65  3EXE = sqlite3.e
1b60: 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  xe.!ENDIF.!ENDIF
1b70: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
1b80: 61 72 67 75 6d 65 6e 74 20 75 73 65 64 20 74 6f  argument used to
1b90: 20 73 65 74 20 74 68 65 20 70 72 6f 67 72 61 6d   set the program
1ba0: 20 64 61 74 61 62 61 73 65 20 28 50 44 42 29 20   database (PDB) 
1bb0: 66 69 6c 65 20 66 6f 72 20 74 68 65 0a 23 20 53  file for the.# S
1bc0: 51 4c 69 74 65 20 73 68 65 6c 6c 20 65 78 65 63  QLite shell exec
1bd0: 75 74 61 62 6c 65 20 28 45 58 45 29 2e 0a 23 0a  utable (EXE)..#.
1be0: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 45  !IFNDEF SQLITE3E
1bf0: 58 45 50 44 42 0a 21 49 46 20 24 28 46 4f 52 5f  XEPDB.!IF $(FOR_
1c00: 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 45  WIN10)!=0.SQLITE
1c10: 33 45 58 45 50 44 42 20 3d 0a 21 45 4c 53 45 0a  3EXEPDB =.!ELSE.
1c20: 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 3d 20  SQLITE3EXEPDB = 
1c30: 2f 70 64 62 3a 73 71 6c 69 74 65 33 73 68 2e 70  /pdb:sqlite3sh.p
1c40: 64 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  db.!ENDIF.!ENDIF
1c50: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54  ..# <<mark>>.# T
1c60: 68 65 73 65 20 61 72 65 20 74 68 65 20 6e 61 6d  hese are the nam
1c70: 65 73 20 6f 66 20 74 68 65 20 63 75 73 74 6f 6d  es of the custom
1c80: 69 7a 65 64 20 54 63 6c 20 68 65 61 64 65 72 20  ized Tcl header 
1c90: 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 76 61  files used by va
1ca0: 72 69 6f 75 73 20 70 61 72 74 73 0a 23 20 6f 66  rious parts.# of
1cb0: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 77   this makefile w
1cc0: 68 65 6e 20 74 68 65 20 73 74 64 63 61 6c 6c 20  hen the stdcall 
1cd0: 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69  calling conventi
1ce0: 6f 6e 20 69 73 20 69 6e 20 75 73 65 2e 20 20 49  on is in use.  I
1cf0: 74 20 69 73 20 6e 6f 74 0a 23 20 75 73 65 64 20  t is not.# used 
1d00: 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 70 75  for any other pu
1d10: 72 70 6f 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46  rpose..#.!IFNDEF
1d20: 20 53 51 4c 49 54 45 54 43 4c 48 0a 53 51 4c 49   SQLITETCLH.SQLI
1d30: 54 45 54 43 4c 48 20 3d 20 73 71 6c 69 74 65 5f  TETCLH = sqlite_
1d40: 74 63 6c 2e 68 0a 21 45 4e 44 49 46 0a 0a 21 49  tcl.h.!ENDIF..!I
1d50: 46 4e 44 45 46 20 53 51 4c 49 54 45 54 43 4c 44  FNDEF SQLITETCLD
1d60: 45 43 4c 53 48 0a 53 51 4c 49 54 45 54 43 4c 44  ECLSH.SQLITETCLD
1d70: 45 43 4c 53 48 20 3d 20 73 71 6c 69 74 65 5f 74  ECLSH = sqlite_t
1d80: 63 6c 44 65 63 6c 73 2e 68 0a 21 45 4e 44 49 46  clDecls.h.!ENDIF
1d90: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
1da0: 6e 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20  name to use for 
1db0: 74 68 65 20 64 79 6e 61 6d 69 63 20 6c 69 6e 6b  the dynamic link
1dc0: 20 6c 69 62 72 61 72 79 20 28 44 4c 4c 29 20 63   library (DLL) c
1dd0: 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 23 20  ontaining the.# 
1de0: 54 63 6c 20 62 69 6e 64 69 6e 67 73 20 66 6f 72  Tcl bindings for
1df0: 20 53 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44   SQLite..#.!IFND
1e00: 45 46 20 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c  EF SQLITE3TCLDLL
1e10: 0a 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 20 3d  .SQLITE3TCLDLL =
1e20: 20 74 63 6c 73 71 6c 69 74 65 33 2e 64 6c 6c 0a   tclsqlite3.dll.
1e30: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These 
1e40: 61 72 65 20 74 68 65 20 61 64 64 69 74 69 6f 6e  are the addition
1e50: 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 74 20  al targets that 
1e60: 74 68 65 20 74 61 72 67 65 74 73 20 74 68 61 74  the targets that
1e70: 20 69 6e 74 65 67 72 61 74 65 20 77 69 74 68 20   integrate with 
1e80: 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72 61 72  the.# Tcl librar
1e90: 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 20  y should depend 
1ea0: 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  on when compilin
1eb0: 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e 44 45  g, etc..#.!IFNDE
1ec0: 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  F SQLITE_TCL_DEP
1ed0: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA
1ee0: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
1ef0: 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 45  WIN10)!=0.SQLITE
1f00: 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53 51 4c  _TCL_DEP = $(SQL
1f10: 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 24 28  ITETCLDECLSH) $(
1f20: 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45 4c 53  SQLITETCLH).!ELS
1f30: 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  E.SQLITE_TCL_DEP
1f40: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46   =.!ENDIF.!ENDIF
1f50: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..# 
1f60: 54 68 65 73 65 20 61 72 65 20 74 68 65 20 22 73  These are the "s
1f70: 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74 65 20  tandard" SQLite 
1f80: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69  compilation opti
1f90: 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 6f  ons used when co
1fa0: 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68  mpiling for.# th
1fb0: 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f  e Windows platfo
1fc0: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4f 50  rm..#.!IFNDEF OP
1fd0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 0a  T_FEATURE_FLAGS.
1fe0: 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d  !IF $(MINIMAL_AM
1ff0: 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4f  ALGAMATION)==0.O
2000: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
2010: 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45   = $(OPT_FEATURE
2020: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
2030: 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31 0a 4f  _ENABLE_FTS3=1.O
2040: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
2050: 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45   = $(OPT_FEATURE
2060: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
2070: 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d 31 0a  _ENABLE_RTREE=1.
2080: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
2090: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR
20a0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
20b0: 45 5f 45 4e 41 42 4c 45 5f 47 45 4f 50 4f 4c 59  E_ENABLE_GEOPOLY
20c0: 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46  =1.OPT_FEATURE_F
20d0: 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41  LAGS = $(OPT_FEA
20e0: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
20f0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  LITE_ENABLE_JSON
2100: 31 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f  1=1.OPT_FEATURE_
2110: 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45  FLAGS = $(OPT_FE
2120: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
2130: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d  QLITE_ENABLE_STM
2140: 54 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54  TVTAB=1.OPT_FEAT
2150: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP
2160: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2170: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2180: 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31 0a 4f  _DBPAGE_VTAB=1.O
2190: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
21a0: 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45   = $(OPT_FEATURE
21b0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
21c0: 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56  _ENABLE_DBSTAT_V
21d0: 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52  TAB=1.OPT_FEATUR
21e0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_
21f0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2200: 44 53 51 4c 49 54 45 5f 49 4e 54 52 4f 53 50 45  DSQLITE_INTROSPE
2210: 43 54 49 4f 4e 5f 50 52 41 47 4d 41 53 3d 31 0a  CTION_PRAGMAS=1.
2220: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
2230: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR
2240: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
2250: 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52 49 41  E_ENABLE_DESERIA
2260: 4c 49 5a 45 3d 31 0a 21 45 4e 44 49 46 0a 4f 50  LIZE=1.!ENDIF.OP
2270: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
2280: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  = $(OPT_FEATURE_
2290: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
22a0: 45 4e 41 42 4c 45 5f 43 4f 4c 55 4d 4e 5f 4d 45  ENABLE_COLUMN_ME
22b0: 54 41 44 41 54 41 3d 31 0a 21 45 4e 44 49 46 0a  TADATA=1.!ENDIF.
22c0: 0a 23 20 53 68 6f 75 6c 64 20 74 68 65 20 73 65  .# Should the se
22d0: 73 73 69 6f 6e 20 65 78 74 65 6e 73 69 6f 6e 20  ssion extension 
22e0: 62 65 20 65 6e 61 62 6c 65 64 3f 20 20 49 66 20  be enabled?  If 
22f0: 73 6f 2c 20 61 64 64 20 63 6f 6d 70 69 6c 61 74  so, add compilat
2300: 69 6f 6e 20 6f 70 74 69 6f 6e 73 0a 23 20 74 6f  ion options.# to
2310: 20 65 6e 61 62 6c 65 20 69 74 2e 0a 23 0a 21 49   enable it..#.!I
2320: 46 20 24 28 53 45 53 53 49 4f 4e 29 21 3d 30 0a  F $(SESSION)!=0.
2330: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
2340: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR
2350: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
2360: 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e  E_ENABLE_SESSION
2370: 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46  =1.OPT_FEATURE_F
2380: 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41  LAGS = $(OPT_FEA
2390: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
23a0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55  LITE_ENABLE_PREU
23b0: 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 0a 21 45 4e  PDATE_HOOK=1.!EN
23c0: 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65  DIF..# These are
23d0: 20 74 68 65 20 22 65 78 74 65 6e 64 65 64 22 20   the "extended" 
23e0: 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69  SQLite compilati
23f0: 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20  on options used 
2400: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66  when compiling f
2410: 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 73  or.# the Windows
2420: 20 31 30 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a   10 platform..#.
2430: 21 49 46 4e 44 45 46 20 45 58 54 5f 46 45 41 54  !IFNDEF EXT_FEAT
2440: 55 52 45 5f 46 4c 41 47 53 0a 21 49 46 20 24 28  URE_FLAGS.!IF $(
2450: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 45 58  FOR_WIN10)!=0.EX
2460: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
2470: 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f  = $(EXT_FEATURE_
2480: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
2490: 45 4e 41 42 4c 45 5f 46 54 53 34 3d 31 0a 45 58  ENABLE_FTS4=1.EX
24a0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
24b0: 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f  = $(EXT_FEATURE_
24c0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
24d0: 53 59 53 54 45 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a  SYSTEM_MALLOC=1.
24e0: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
24f0: 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52  S = $(EXT_FEATUR
2500: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
2510: 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d 45  E_OMIT_LOCALTIME
2520: 3d 31 0a 21 45 4c 53 45 0a 45 58 54 5f 46 45 41  =1.!ELSE.EXT_FEA
2530: 54 55 52 45 5f 46 4c 41 47 53 20 3d 0a 21 45 4e  TURE_FLAGS =.!EN
2540: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 23 23 23  DIF.!ENDIF..####
2550: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2560: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2570: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2580: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2590: 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23  ###########.####
25a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25b0: 23 23 23 23 23 23 23 23 23 23 23 20 45 4e 44 20  ########### END 
25c0: 4f 46 20 4f 50 54 49 4f 4e 53 20 23 23 23 23 23  OF OPTIONS #####
25d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25e0: 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23  ###########.####
25f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2600: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2610: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2620: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2630: 23 23 23 23 23 23 23 23 23 23 23 0a 0a 23 20 57  ###########..# W
2640: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
2650: 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30  r the Windows 10
2660: 20 70 6c 61 74 66 6f 72 6d 2c 20 74 68 65 20 50   platform, the P
2670: 4c 41 54 46 4f 52 4d 20 6d 61 63 72 6f 20 6d 75  LATFORM macro mu
2680: 73 74 20 62 65 20 73 65 74 0a 23 20 74 6f 20 61  st be set.# to a
2690: 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 76 61  n appropriate va
26a0: 6c 75 65 20 28 65 2e 67 2e 20 78 38 36 2c 20 78  lue (e.g. x86, x
26b0: 36 34 2c 20 61 72 6d 2c 20 61 72 6d 36 34 2c 20  64, arm, arm64, 
26c0: 65 74 63 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f  etc)..#.!IF $(FO
26d0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 46 4e  R_WIN10)!=0.!IFN
26e0: 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 21 45 52  DEF PLATFORM.!ER
26f0: 52 4f 52 20 55 73 69 6e 67 20 74 68 65 20 46 4f  ROR Using the FO
2700: 52 5f 57 49 4e 31 30 20 6f 70 74 69 6f 6e 20 72  R_WIN10 option r
2710: 65 71 75 69 72 65 73 20 61 20 76 61 6c 75 65 20  equires a value 
2720: 66 6f 72 20 50 4c 41 54 46 4f 52 4d 2e 0a 21 45  for PLATFORM..!E
2730: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
2740: 68 69 73 20 61 73 73 75 6d 65 73 20 74 68 61 74  his assumes that
2750: 20 4d 53 56 43 20 69 73 20 61 6c 77 61 79 73 20   MSVC is always 
2760: 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 33 32 2d  installed in 32-
2770: 62 69 74 20 50 72 6f 67 72 61 6d 20 46 69 6c 65  bit Program File
2780: 73 20 64 69 72 65 63 74 6f 72 79 0a 23 20 61 6e  s directory.# an
2790: 64 20 73 65 74 73 20 74 68 65 20 76 61 72 69 61  d sets the varia
27a0: 62 6c 65 20 66 6f 72 20 75 73 65 20 69 6e 20 6c  ble for use in l
27b0: 6f 63 61 74 69 6e 67 20 6f 74 68 65 72 20 33 32  ocating other 32
27c0: 2d 62 69 74 20 69 6e 73 74 61 6c 6c 73 20 61 63  -bit installs ac
27d0: 63 6f 72 64 69 6e 67 6c 79 2e 0a 23 0a 50 52 4f  cordingly..#.PRO
27e0: 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d 20  GRAMFILES_X86 = 
27f0: 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c  $(VCINSTALLDIR)\
2800: 2e 2e 5c 2e 2e 0a 50 52 4f 47 52 41 4d 46 49 4c  ..\...PROGRAMFIL
2810: 45 53 5f 58 38 36 20 3d 20 24 28 50 52 4f 47 52  ES_X86 = $(PROGR
2820: 41 4d 46 49 4c 45 53 5f 58 38 36 3a 5c 5c 3d 5c  AMFILES_X86:\\=\
2830: 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74  )..# Check for t
2840: 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f  he predefined co
2850: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 43 43 2e 20  mmand macro CC. 
2860: 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69   This should poi
2870: 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c  nt to the compil
2880: 65 72 0a 23 20 62 69 6e 61 72 79 20 66 6f 72 20  er.# binary for 
2890: 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66  the target platf
28a0: 6f 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e  orm.  If it is n
28b0: 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70  ot defined, simp
28c0: 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 0a  ly define it to.
28d0: 23 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66  # the legacy def
28e0: 61 75 6c 74 20 76 61 6c 75 65 20 27 63 6c 2e 65  ault value 'cl.e
28f0: 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  xe'..#.!IFNDEF C
2900: 43 0a 43 43 20 3d 20 63 6c 2e 65 78 65 0a 21 45  C.CC = cl.exe.!E
2910: 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f  NDIF..# Check fo
2920: 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64  r the predefined
2930: 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 43   command macro C
2940: 53 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64  SC.  This should
2950: 20 70 6f 69 6e 74 20 74 6f 20 61 20 77 6f 72 6b   point to a work
2960: 69 6e 67 0a 23 20 43 20 53 68 61 72 70 20 63 6f  ing.# C Sharp co
2970: 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 2e 20 20  mpiler binary.  
2980: 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66  If it is not def
2990: 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66  ined, simply def
29a0: 69 6e 65 20 69 74 20 74 6f 20 74 68 65 0a 23 20  ine it to the.# 
29b0: 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 76  legacy default v
29c0: 61 6c 75 65 20 27 63 73 63 2e 65 78 65 27 2e 0a  alue 'csc.exe'..
29d0: 23 0a 21 49 46 4e 44 45 46 20 43 53 43 0a 43 53  #.!IFNDEF CSC.CS
29e0: 43 20 3d 20 63 73 63 2e 65 78 65 0a 21 45 4e 44  C = csc.exe.!END
29f0: 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20  IF..# Check for 
2a00: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  the command macr
2a10: 6f 20 4c 44 2e 20 20 54 68 69 73 20 73 68 6f 75  o LD.  This shou
2a20: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20  ld point to the 
2a30: 6c 69 6e 6b 65 72 20 62 69 6e 61 72 79 20 66 6f  linker binary fo
2a40: 72 0a 23 20 74 68 65 20 74 61 72 67 65 74 20 70  r.# the target p
2a50: 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20  latform.  If it 
2a60: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20  is not defined, 
2a70: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74  simply define it
2a80: 20 74 6f 20 74 68 65 20 6c 65 67 61 63 79 0a 23   to the legacy.#
2a90: 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27   default value '
2aa0: 6c 69 6e 6b 2e 65 78 65 27 2e 0a 23 0a 21 49 46  link.exe'..#.!IF
2ab0: 4e 44 45 46 20 4c 44 0a 4c 44 20 3d 20 6c 69 6e  NDEF LD.LD = lin
2ac0: 6b 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20  k.exe.!ENDIF..# 
2ad0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
2ae0: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
2af0: 20 6d 61 63 72 6f 20 52 43 2e 20 20 54 68 69 73   macro RC.  This
2b00: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f   should point to
2b10: 20 74 68 65 20 72 65 73 6f 75 72 63 65 0a 23 20   the resource.# 
2b20: 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 20  compiler binary 
2b30: 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 70  for the target p
2b40: 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20  latform.  If it 
2b50: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20  is not defined, 
2b60: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 0a 23 20  simply define.# 
2b70: 69 74 20 74 6f 20 74 68 65 20 6c 65 67 61 63 79  it to the legacy
2b80: 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27   default value '
2b90: 72 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44  rc.exe'..#.!IFND
2ba0: 45 46 20 52 43 0a 52 43 20 3d 20 72 63 2e 65 78  EF RC.RC = rc.ex
2bb0: 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  e.!ENDIF..# Chec
2bc0: 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 72  k for the MSVC r
2bd0: 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 70  untime library p
2be0: 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65  ath macro.  Othe
2bf0: 72 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c 75  rwise, this valu
2c00: 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c 74  e will.# default
2c10: 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69   to the 'lib' di
2c20: 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61  rectory undernea
2c30: 74 68 20 74 68 65 20 4d 53 56 43 20 69 6e 73 74  th the MSVC inst
2c40: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f  allation directo
2c50: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 52  ry..#.!IFNDEF CR
2c60: 54 4c 49 42 50 41 54 48 0a 43 52 54 4c 49 42 50  TLIBPATH.CRTLIBP
2c70: 41 54 48 20 3d 20 24 28 56 43 49 4e 53 54 41 4c  ATH = $(VCINSTAL
2c80: 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46  LDIR)\lib.!ENDIF
2c90: 0a 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24  ..CRTLIBPATH = $
2ca0: 28 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c  (CRTLIBPATH:\\=\
2cb0: 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74  )..# Check for t
2cc0: 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f  he command macro
2cd0: 20 4e 43 43 2e 20 20 54 68 69 73 20 73 68 6f 75   NCC.  This shou
2ce0: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20  ld point to the 
2cf0: 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 0a  compiler binary.
2d00: 23 20 66 6f 72 20 74 68 65 20 70 6c 61 74 66 6f  # for the platfo
2d10: 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69  rm the compilati
2d20: 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74 61  on process is ta
2d30: 6b 69 6e 67 20 70 6c 61 63 65 20 6f 6e 2e 20 20  king place on.  
2d40: 49 66 20 69 74 20 69 73 20 6e 6f 74 0a 23 20 64  If it is not.# d
2d50: 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64  efined, simply d
2d60: 65 66 69 6e 65 20 69 74 20 74 6f 20 68 61 76 65  efine it to have
2d70: 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20   the same value 
2d80: 61 73 20 74 68 65 20 43 43 20 6d 61 63 72 6f 2e  as the CC macro.
2d90: 20 20 57 68 65 6e 0a 23 20 63 72 6f 73 73 2d 63    When.# cross-c
2da0: 6f 6d 70 69 6c 69 6e 67 2c 20 69 74 20 69 73 20  ompiling, it is 
2db0: 73 75 67 67 65 73 74 65 64 20 74 68 61 74 20 74  suggested that t
2dc0: 68 69 73 20 6d 61 63 72 6f 20 62 65 20 6d 6f 64  his macro be mod
2dd0: 69 66 69 65 64 20 76 69 61 20 74 68 65 20 63 6f  ified via the co
2de0: 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 28 73 69  mmand.# line (si
2df0: 6e 63 65 20 6e 6d 61 6b 65 20 69 74 73 65 6c 66  nce nmake itself
2e00: 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64   does not provid
2e10: 65 20 61 20 62 75 69 6c 74 2d 69 6e 20 6d 65 74  e a built-in met
2e20: 68 6f 64 20 74 6f 20 67 75 65 73 73 20 69 74 29  hod to guess it)
2e30: 2e 0a 23 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c  ..# For example,
2e40: 20 74 6f 20 75 73 65 20 74 68 65 20 78 38 36 20   to use the x86 
2e50: 63 6f 6d 70 69 6c 65 72 20 77 68 65 6e 20 63 72  compiler when cr
2e60: 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  oss-compiling fo
2e70: 72 20 78 36 34 2c 20 61 20 63 6f 6d 6d 61 6e 64  r x64, a command
2e80: 0a 23 20 6c 69 6e 65 20 73 69 6d 69 6c 61 72 20  .# line similar 
2e90: 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  to the following
2ea0: 20 63 6f 75 6c 64 20 62 65 20 75 73 65 64 20 28   could be used (
2eb0: 61 6c 6c 20 6f 6e 20 6f 6e 65 20 6c 69 6e 65 29  all on one line)
2ec0: 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65 20  :.#.#     nmake 
2ed0: 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20  /f Makefile.msc 
2ee0: 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20 20  sqlite3.dll.#   
2ef0: 20 20 20 20 20 20 20 20 58 43 4f 4d 50 49 4c 45          XCOMPILE
2f00: 3d 31 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49  =1 USE_NATIVE_LI
2f10: 42 50 41 54 48 53 3d 31 0a 23 0a 23 20 41 6c 74  BPATHS=1.#.# Alt
2f20: 65 72 6e 61 74 69 76 65 6c 79 2c 20 74 68 65 20  ernatively, the 
2f30: 66 75 6c 6c 20 70 61 74 68 20 61 6e 64 20 66 69  full path and fi
2f40: 6c 65 20 6e 61 6d 65 20 74 6f 20 74 68 65 20 63  le name to the c
2f50: 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 20 66  ompiler binary f
2f60: 6f 72 20 74 68 65 0a 23 20 70 6c 61 74 66 6f 72  or the.# platfor
2f70: 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f  m the compilatio
2f80: 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74 61 6b  n process is tak
2f90: 69 6e 67 20 70 6c 61 63 65 20 6d 61 79 20 62 65  ing place may be
2fa0: 20 73 70 65 63 69 66 69 65 64 20 28 61 6c 6c 20   specified (all 
2fb0: 6f 6e 0a 23 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a  on.# one line):.
2fc0: 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66  #.#     nmake /f
2fd0: 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71   Makefile.msc sq
2fe0: 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20  lite3.dll.#     
2ff0: 20 20 20 20 20 20 22 4e 43 43 3d 22 22 25 56 43        "NCC=""%VC
3000: 49 4e 53 54 41 4c 4c 44 49 52 25 5c 62 69 6e 5c  INSTALLDIR%\bin\
3010: 63 6c 2e 65 78 65 22 22 22 0a 23 20 20 20 20 20  cl.exe""".#     
3020: 20 20 20 20 20 20 55 53 45 5f 4e 41 54 49 56 45        USE_NATIVE
3030: 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a 21 49  _LIBPATHS=1.#.!I
3040: 46 44 45 46 20 4e 43 43 0a 4e 43 43 20 3d 20 24  FDEF NCC.NCC = $
3050: 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45  (NCC:\\=\).!ELSE
3060: 49 46 20 24 28 58 43 4f 4d 50 49 4c 45 29 21 3d  IF $(XCOMPILE)!=
3070: 30 0a 4e 43 43 20 3d 20 22 24 28 56 43 49 4e 53  0.NCC = "$(VCINS
3080: 54 41 4c 4c 44 49 52 29 5c 62 69 6e 5c 24 28 43  TALLDIR)\bin\$(C
3090: 43 29 22 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a  C)".NCC = $(NCC:
30a0: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 0a 4e 43 43 20  \\=\).!ELSE.NCC 
30b0: 3d 20 24 28 43 43 29 0a 21 45 4e 44 49 46 0a 0a  = $(CC).!ENDIF..
30c0: 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20  # Check for the 
30d0: 4d 53 56 43 20 6e 61 74 69 76 65 20 72 75 6e 74  MSVC native runt
30e0: 69 6d 65 20 6c 69 62 72 61 72 79 20 70 61 74 68  ime library path
30f0: 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69   macro.  Otherwi
3100: 73 65 2c 0a 23 20 74 68 69 73 20 76 61 6c 75 65  se,.# this value
3110: 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f   will default to
3120: 20 74 68 65 20 27 6c 69 62 27 20 64 69 72 65 63   the 'lib' direc
3130: 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20  tory underneath 
3140: 74 68 65 20 4d 53 56 43 0a 23 20 69 6e 73 74 61  the MSVC.# insta
3150: 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72  llation director
3160: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 43 52  y..#.!IFNDEF NCR
3170: 54 4c 49 42 50 41 54 48 0a 4e 43 52 54 4c 49 42  TLIBPATH.NCRTLIB
3180: 50 41 54 48 20 3d 20 24 28 56 43 49 4e 53 54 41  PATH = $(VCINSTA
3190: 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49  LLDIR)\lib.!ENDI
31a0: 46 0a 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d  F..NCRTLIBPATH =
31b0: 20 24 28 4e 43 52 54 4c 49 42 50 41 54 48 3a 5c   $(NCRTLIBPATH:\
31c0: 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f  \=\)..# Check fo
31d0: 72 20 74 68 65 20 50 6c 61 74 66 6f 72 6d 20 53  r the Platform S
31e0: 44 4b 20 6c 69 62 72 61 72 79 20 70 61 74 68 20  DK library path 
31f0: 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73  macro.  Otherwis
3200: 65 2c 20 74 68 69 73 0a 23 20 76 61 6c 75 65 20  e, this.# value 
3210: 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f 20  will default to 
3220: 74 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74  the 'lib' direct
3230: 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74  ory underneath t
3240: 68 65 20 57 69 6e 64 6f 77 73 0a 23 20 53 44 4b  he Windows.# SDK
3250: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69   installation di
3260: 72 65 63 74 6f 72 79 20 28 74 68 65 20 65 6e 76  rectory (the env
3270: 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c  ironment variabl
3280: 65 20 75 73 65 64 20 61 70 70 65 61 72 73 0a 23  e used appears.#
3290: 20 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65   to be available
32a0: 20 77 68 65 6e 20 75 73 69 6e 67 20 56 69 73 75   when using Visu
32b0: 61 6c 20 43 2b 2b 20 32 30 30 38 20 6f 72 20 6c  al C++ 2008 or l
32c0: 61 74 65 72 20 76 69 61 20 74 68 65 0a 23 20 63  ater via the.# c
32d0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 29 2e 0a 23 0a  ommand line)..#.
32e0: 21 49 46 4e 44 45 46 20 4e 53 44 4b 4c 49 42 50  !IFNDEF NSDKLIBP
32f0: 41 54 48 0a 4e 53 44 4b 4c 49 42 50 41 54 48 20  ATH.NSDKLIBPATH 
3300: 3d 20 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49  = $(WINDOWSSDKDI
3310: 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e  R)\lib.!ENDIF..N
3320: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 4e  SDKLIBPATH = $(N
3330: 53 44 4b 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29  SDKLIBPATH:\\=\)
3340: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
3350: 65 20 55 43 52 54 20 6c 69 62 72 61 72 79 20 70  e UCRT library p
3360: 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65  ath macro.  Othe
3370: 72 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c 75  rwise, this valu
3380: 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c 74  e will.# default
3390: 20 74 6f 20 74 68 65 20 76 65 72 73 69 6f 6e 2d   to the version-
33a0: 73 70 65 63 69 66 69 63 2c 20 70 6c 61 74 66 6f  specific, platfo
33b0: 72 6d 2d 73 70 65 63 69 66 69 63 20 27 6c 69 62  rm-specific 'lib
33c0: 27 20 64 69 72 65 63 74 6f 72 79 0a 23 20 75 6e  ' directory.# un
33d0: 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e  derneath the Win
33e0: 64 6f 77 73 20 53 44 4b 20 69 6e 73 74 61 6c 6c  dows SDK install
33f0: 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e  ation directory.
3400: 0a 23 0a 21 49 46 4e 44 45 46 20 55 43 52 54 4c  .#.!IFNDEF UCRTL
3410: 49 42 50 41 54 48 0a 55 43 52 54 4c 49 42 50 41  IBPATH.UCRTLIBPA
3420: 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 53 44  TH = $(WINDOWSSD
3430: 4b 44 49 52 29 5c 6c 69 62 5c 24 28 57 49 4e 44  KDIR)\lib\$(WIND
3440: 4f 57 53 53 44 4b 4c 49 42 56 45 52 53 49 4f 4e  OWSSDKLIBVERSION
3450: 29 5c 75 63 72 74 5c 24 28 50 4c 41 54 46 4f 52  )\ucrt\$(PLATFOR
3460: 4d 29 0a 21 45 4e 44 49 46 0a 0a 55 43 52 54 4c  M).!ENDIF..UCRTL
3470: 49 42 50 41 54 48 20 3d 20 24 28 55 43 52 54 4c  IBPATH = $(UCRTL
3480: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..# 
3490: 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f  C compiler and o
34a0: 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69  ptions for use i
34b0: 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75  n building execu
34c0: 74 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69  tables that.# wi
34d0: 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 70 6c  ll run on the pl
34e0: 61 74 66 6f 72 6d 20 74 68 61 74 20 69 73 20 64  atform that is d
34f0: 6f 69 6e 67 20 74 68 65 20 62 75 69 6c 64 2e 0a  oing the build..
3500: 23 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c  #.!IF $(USE_FULL
3510: 57 41 52 4e 29 21 3d 30 0a 42 43 43 20 3d 20 24  WARN)!=0.BCC = $
3520: 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57  (NCC) -nologo -W
3530: 34 20 2d 46 64 24 2a 2e 70 64 62 20 24 28 43 43  4 -Fd$*.pdb $(CC
3540: 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53 29  OPTS) $(BCCOPTS)
3550: 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28 4e  .!ELSE.BCC = $(N
3560: 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20  CC) -nologo -W3 
3570: 2d 46 64 24 2a 2e 70 64 62 20 24 28 43 43 4f 50  -Fd$*.pdb $(CCOP
3580: 54 53 29 20 24 28 42 43 43 4f 50 54 53 29 0a 21  TS) $(BCCOPTS).!
3590: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69  ENDIF..# Check i
35a0: 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20  f assembly code 
35b0: 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20  listings should 
35c0: 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72  be generated for
35d0: 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f   the source.# co
35e0: 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63  de files to be c
35f0: 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24  ompiled..#.!IF $
3600: 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d  (USE_LISTINGS)!=
3610: 30 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  0.BCC = $(BCC) -
3620: 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 43  FAcs.!ENDIF..# C
3630: 68 65 63 6b 20 69 66 20 74 68 65 20 6e 61 74 69  heck if the nati
3640: 76 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73  ve library paths
3650: 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20   should be used 
3660: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a 23  when compiling.#
3670: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e   the command lin
3680: 65 20 74 6f 6f 6c 73 20 75 73 65 64 20 64 75 72  e tools used dur
3690: 69 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 61 74  ing the compilat
36a0: 69 6f 6e 20 70 72 6f 63 65 73 73 2e 20 20 49 66  ion process.  If
36b0: 0a 23 20 73 6f 2c 20 73 65 74 20 74 68 65 20 6e  .# so, set the n
36c0: 65 63 65 73 73 61 72 79 20 6d 61 63 72 6f 20 6e  ecessary macro n
36d0: 6f 77 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ow..#.!IF $(USE_
36e0: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 29  NATIVE_LIBPATHS)
36f0: 21 3d 30 0a 4e 4c 54 4c 49 42 50 41 54 48 53 20  !=0.NLTLIBPATHS 
3700: 3d 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 43  = "/LIBPATH:$(NC
3710: 52 54 4c 49 42 50 41 54 48 29 22 20 22 2f 4c 49  RTLIBPATH)" "/LI
3720: 42 50 41 54 48 3a 24 28 4e 53 44 4b 4c 49 42 50  BPATH:$(NSDKLIBP
3730: 41 54 48 29 22 0a 0a 21 49 46 44 45 46 20 4e 55  ATH)"..!IFDEF NU
3740: 43 52 54 4c 49 42 50 41 54 48 0a 4e 55 43 52 54  CRTLIBPATH.NUCRT
3750: 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 55 43 52  LIBPATH = $(NUCR
3760: 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4e  TLIBPATH:\\=\).N
3770: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4e  LTLIBPATHS = $(N
3780: 4c 54 4c 49 42 50 41 54 48 53 29 20 22 2f 4c 49  LTLIBPATHS) "/LI
3790: 42 50 41 54 48 3a 24 28 4e 55 43 52 54 4c 49 42  BPATH:$(NUCRTLIB
37a0: 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45  PATH)".!ENDIF.!E
37b0: 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c  NDIF..# C compil
37c0: 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66  er and options f
37d0: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
37e0: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
37f0: 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f  hat.# will run o
3800: 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61  n the target pla
3810: 74 66 6f 72 6d 2e 20 20 28 42 43 43 20 61 6e 64  tform.  (BCC and
3820: 20 54 43 43 20 61 72 65 20 75 73 75 61 6c 6c 79   TCC are usually
3830: 20 74 68 65 0a 23 20 73 61 6d 65 20 75 6e 6c 65   the.# same unle
3840: 73 73 20 79 6f 75 72 20 61 72 65 20 63 72 6f 73  ss your are cros
3850: 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 29 0a 23 0a  s-compiling.).#.
3860: 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57 41  !IF $(USE_FULLWA
3870: 52 4e 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 43  RN)!=0.TCC = $(C
3880: 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 2d  C) -nologo -W4 -
3890: 44 49 4e 43 4c 55 44 45 5f 4d 53 56 43 5f 48 3d  DINCLUDE_MSVC_H=
38a0: 31 20 24 28 43 43 4f 50 54 53 29 20 24 28 54 43  1 $(CCOPTS) $(TC
38b0: 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 54 43 43  COPTS).!ELSE.TCC
38c0: 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f   = $(CC) -nologo
38d0: 20 2d 57 33 20 24 28 43 43 4f 50 54 53 29 20 24   -W3 $(CCOPTS) $
38e0: 28 54 43 43 4f 50 54 53 29 0a 21 45 4e 44 49 46  (TCCOPTS).!ENDIF
38f0: 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 77 61 72  ..# Check if war
3900: 6e 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20  nings should be 
3910: 74 72 65 61 74 65 64 20 61 73 20 65 72 72 6f 72  treated as error
3920: 73 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  s when compiling
3930: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46 41  ..#.!IF $(USE_FA
3940: 54 41 4c 5f 57 41 52 4e 29 21 3d 30 0a 54 43 43  TAL_WARN)!=0.TCC
3950: 20 3d 20 24 28 54 43 43 29 20 2d 57 58 0a 21 45   = $(TCC) -WX.!E
3960: 4e 44 49 46 0a 0a 54 43 43 20 3d 20 24 28 54 43  NDIF..TCC = $(TC
3970: 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57  C) -DSQLITE_OS_W
3980: 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28 54 4f 50  IN=1 -I. -I$(TOP
3990: 29 20 2d 49 24 28 54 4f 50 29 5c 73 72 63 20 2d  ) -I$(TOP)\src -
39a0: 66 70 3a 70 72 65 63 69 73 65 0a 52 43 43 20 3d  fp:precise.RCC =
39b0: 20 24 28 52 43 29 20 2d 44 53 51 4c 49 54 45 5f   $(RC) -DSQLITE_
39c0: 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d 49 24  OS_WIN=1 -I. -I$
39d0: 28 54 4f 50 29 20 2d 49 24 28 54 4f 50 29 5c 73  (TOP) -I$(TOP)\s
39e0: 72 63 20 24 28 52 43 4f 50 54 53 29 20 24 28 52  rc $(RCOPTS) $(R
39f0: 43 43 4f 50 54 53 29 0a 0a 23 20 43 68 65 63 6b  CCOPTS)..# Check
3a00: 20 69 66 20 77 65 20 77 61 6e 74 20 74 6f 20 75   if we want to u
3a10: 73 65 20 74 68 65 20 22 73 74 64 63 61 6c 6c 22  se the "stdcall"
3a20: 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74   calling convent
3a30: 69 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69  ion when compili
3a40: 6e 67 2e 0a 23 20 54 68 69 73 20 69 73 20 6e 6f  ng..# This is no
3a50: 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74  t supported by t
3a60: 68 65 20 63 6f 6d 70 69 6c 65 72 73 20 66 6f 72  he compilers for
3a70: 20 6e 6f 6e 2d 78 38 36 20 70 6c 61 74 66 6f 72   non-x86 platfor
3a80: 6d 73 2e 20 20 49 74 20 73 68 6f 75 6c 64 0a 23  ms.  It should.#
3a90: 20 61 6c 73 6f 20 62 65 20 6e 6f 74 65 64 20 68   also be noted h
3aa0: 65 72 65 20 74 68 61 74 20 62 75 69 6c 64 69 6e  ere that buildin
3ab0: 67 20 61 6e 79 20 74 61 72 67 65 74 20 77 69 74  g any target wit
3ac0: 68 20 74 68 65 73 65 20 22 73 74 64 63 61 6c 6c  h these "stdcall
3ad0: 22 20 6f 70 74 69 6f 6e 73 0a 23 20 77 69 6c 6c  " options.# will
3ae0: 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 66 61 69   most likely fai
3af0: 6c 20 69 66 20 74 68 65 20 54 63 6c 20 6c 69 62  l if the Tcl lib
3b00: 72 61 72 79 20 69 73 20 61 6c 73 6f 20 72 65 71  rary is also req
3b10: 75 69 72 65 64 2e 20 20 54 68 69 73 20 69 73 20  uired.  This is 
3b20: 64 75 65 0a 23 20 74 6f 20 68 6f 77 20 74 68 65  due.# to how the
3b30: 20 54 63 6c 20 6c 69 62 72 61 72 79 20 66 75 6e   Tcl library fun
3b40: 63 74 69 6f 6e 73 20 61 72 65 20 64 65 63 6c 61  ctions are decla
3b50: 72 65 64 20 61 6e 64 20 65 78 70 6f 72 74 65 64  red and exported
3b60: 20 28 69 2e 65 2e 20 77 69 74 68 6f 75 74 0a 23   (i.e. without.#
3b70: 20 61 6e 20 65 78 70 6c 69 63 69 74 20 63 61 6c   an explicit cal
3b80: 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c  ling convention,
3b90: 20 77 68 69 63 68 20 72 65 73 75 6c 74 73 20 69   which results i
3ba0: 6e 20 22 63 64 65 63 6c 22 29 2e 0a 23 0a 21 49  n "cdecl")..#.!I
3bb0: 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29  F $(USE_STDCALL)
3bc0: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
3bd0: 31 30 29 21 3d 30 0a 21 49 46 20 22 24 28 50 4c  10)!=0.!IF "$(PL
3be0: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
3bf0: 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  CORE_CCONV_OPTS 
3c00: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3c10: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3c20: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3c30: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3c40: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3c50: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3c60: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48  API=__stdcall.SH
3c70: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3c80: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3c90: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3ca0: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3cb0: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3cc0: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3cd0: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3ce0: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c  PI=__stdcall.# <
3cf0: 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f  <mark>>.TEST_CCO
3d00: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44  NV_OPTS = -Gz -D
3d10: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63  SQLITE_CDECL=__c
3d20: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50  decl -DSQLITE_AP
3d30: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20  ICALL=__stdcall 
3d40: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  -DSQLITE_CALLBAC
3d50: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  K=__stdcall -DSQ
3d60: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74  LITE_SYSAPI=__st
3d70: 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f  dcall -DINCLUDE_
3d80: 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d  SQLITE_TCL_H=1 -
3d90: 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f  DSQLITE_TCLAPI=_
3da0: 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b  _cdecl.# <</mark
3db0: 3e 3e 0a 21 45 4c 53 45 0a 21 49 46 4e 44 45 46  >>.!ELSE.!IFNDEF
3dc0: 20 50 4c 41 54 46 4f 52 4d 0a 43 4f 52 45 5f 43   PLATFORM.CORE_C
3dd0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20  CONV_OPTS = -Gz 
3de0: 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f  -DSQLITE_CDECL=_
3df0: 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f  _cdecl -DSQLITE_
3e00: 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c  APICALL=__stdcal
3e10: 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42  l -DSQLITE_CALLB
3e20: 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ACK=__stdcall -D
3e30: 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f  SQLITE_SYSAPI=__
3e40: 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43  stdcall.SHELL_CC
3e50: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3e60: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3e70: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
3e80: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
3e90: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
3ea0: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
3eb0: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3ec0: 74 64 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e  tdcall.# <<mark>
3ed0: 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54  >.TEST_CCONV_OPT
3ee0: 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45  S = -Gz -DSQLITE
3ef0: 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d  _CDECL=__cdecl -
3f00: 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d  DSQLITE_APICALL=
3f10: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3f20: 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74  TE_CALLBACK=__st
3f30: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53  dcall -DSQLITE_S
3f40: 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20  YSAPI=__stdcall 
3f50: 2d 44 49 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45  -DINCLUDE_SQLITE
3f60: 5f 54 43 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54  _TCL_H=1 -DSQLIT
3f70: 45 5f 54 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c  E_TCLAPI=__cdecl
3f80: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c  .# <</mark>>.!EL
3f90: 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50  SE.CORE_CCONV_OP
3fa0: 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56  TS =.SHELL_CCONV
3fb0: 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72 6b  _OPTS =.# <<mark
3fc0: 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50  >>.TEST_CCONV_OP
3fd0: 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  TS =.# <</mark>>
3fe0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21  .!ENDIF.!ENDIF.!
3ff0: 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f  ELSE.CORE_CCONV_
4000: 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f  OPTS =.SHELL_CCO
4010: 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d 61  NV_OPTS =.# <<ma
4020: 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f  rk>>.TEST_CCONV_
4030: 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b  OPTS =.# <</mark
4040: 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65  >>.!ENDIF..# The
4050: 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61  se are additiona
4060: 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f  l compiler optio
4070: 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20  ns used for the 
4080: 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a  core library..#.
4090: 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 43 4f 4d  !IFNDEF CORE_COM
40a0: 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24 28  PILE_OPTS.!IF $(
40b0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
40c0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
40d0: 29 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c  )!=0.CORE_COMPIL
40e0: 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 5f  E_OPTS = $(CORE_
40f0: 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51  CCONV_OPTS) -DSQ
4100: 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73  LITE_API=__decls
4110: 70 65 63 28 64 6c 6c 65 78 70 6f 72 74 29 0a 21  pec(dllexport).!
4120: 45 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c  ELSE.CORE_COMPIL
4130: 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 5f  E_OPTS = $(CORE_
4140: 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44  CCONV_OPTS).!END
4150: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65  IF.!ENDIF..# The
4160: 73 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74  se are the addit
4170: 69 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68  ional targets th
4180: 61 74 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  at the core libr
4190: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e  ary should depen
41a0: 64 20 6f 6e 0a 23 20 77 68 65 6e 20 6c 69 6e 6b  d on.# when link
41b0: 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  ing..#.!IFNDEF C
41c0: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a 21 49 46  ORE_LINK_DEP.!IF
41d0: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL
41e0: 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44  )!=0.CORE_LINK_D
41f0: 45 50 20 3d 0a 21 45 4c 53 45 49 46 20 24 28 46  EP =.!ELSEIF $(F
4200: 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20 7c 7c 20  OR_WIN10)==0 || 
4210: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22  "$(PLATFORM)"=="
4220: 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44  x86".CORE_LINK_D
4230: 45 50 20 3d 20 73 71 6c 69 74 65 33 2e 64 65 66  EP = sqlite3.def
4240: 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b  .!ELSE.CORE_LINK
4250: 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45  _DEP =.!ENDIF.!E
4260: 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72  NDIF..# These ar
4270: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e  e additional lin
4280: 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64  ker options used
4290: 20 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69   for the core li
42a0: 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46  brary..#.!IFNDEF
42b0: 20 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 0a   CORE_LINK_OPTS.
42c0: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH
42d0: 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e  ELL)!=0.CORE_LIN
42e0: 4b 5f 4f 50 54 53 20 3d 0a 21 45 4c 53 45 49 46  K_OPTS =.!ELSEIF
42f0: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30   $(FOR_WIN10)==0
4300: 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 29   || "$(PLATFORM)
4310: 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49  "=="x86".CORE_LI
4320: 4e 4b 5f 4f 50 54 53 20 3d 20 2f 44 45 46 3a 73  NK_OPTS = /DEF:s
4330: 71 6c 69 74 65 33 2e 64 65 66 0a 21 45 4c 53 45  qlite3.def.!ELSE
4340: 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20  .CORE_LINK_OPTS 
4350: 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  =.!ENDIF.!ENDIF.
4360: 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64  .# These are add
4370: 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72  itional compiler
4380: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f   options used fo
4390: 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63  r the shell exec
43a0: 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45  utable..#.!IFNDE
43b0: 46 20 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  F SHELL_COMPILE_
43c0: 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41 4d  OPTS.!IF $(DYNAM
43d0: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20  IC_SHELL)!=0 || 
43e0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
43f0: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
4400: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43 4f  TS = $(SHELL_CCO
4410: 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  NV_OPTS) -DSQLIT
4420: 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65 63  E_API=__declspec
4430: 28 64 6c 6c 69 6d 70 6f 72 74 29 0a 21 45 4c 53  (dllimport).!ELS
4440: 45 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  E.SHELL_COMPILE_
4450: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43  OPTS = $(SHELL_C
4460: 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44 49  CONV_OPTS).!ENDI
4470: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
4480: 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 20 63   is the source c
4490: 6f 64 65 20 74 68 61 74 20 74 68 65 20 73 68 65  ode that the she
44a0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68  ll executable sh
44b0: 6f 75 6c 64 20 62 65 20 63 6f 6d 70 69 6c 65 64  ould be compiled
44c0: 0a 23 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44  .# with..#.!IFND
44d0: 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  EF SHELL_CORE_SR
44e0: 43 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f  C.!IF $(DYNAMIC_
44f0: 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  SHELL)!=0 || $(F
4500: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45  OR_WIN10)!=0.SHE
4510: 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a 23 20  LL_CORE_SRC =.# 
4520: 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 49 46  <<mark>>.!ELSEIF
4530: 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54   $(USE_AMALGAMAT
4540: 49 4f 4e 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f  ION)==0.SHELL_CO
4550: 52 45 5f 53 52 43 20 3d 0a 23 20 3c 3c 2f 6d 61  RE_SRC =.# <</ma
4560: 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53 48 45 4c 4c  rk>>.!ELSE.SHELL
4570: 5f 43 4f 52 45 5f 53 52 43 20 3d 20 24 28 53 51  _CORE_SRC = $(SQ
4580: 4c 49 54 45 33 43 29 0a 21 45 4e 44 49 46 0a 21  LITE3C).!ENDIF.!
4590: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
45a0: 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72   the core librar
45b0: 79 20 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c  y that the shell
45c0: 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75   executable shou
45d0: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a  ld depend on..#.
45e0: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f  !IFNDEF SHELL_CO
45f0: 52 45 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e  RE_DEP.!IF $(DYN
4600: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c  AMIC_SHELL)!=0 |
4610: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
4620: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  0.SHELL_CORE_DEP
4630: 20 3d 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29   = $(SQLITE3DLL)
4640: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4c 53  .# <<mark>>.!ELS
4650: 45 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  EIF $(USE_AMALGA
4660: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 45 4c 4c  MATION)==0.SHELL
4670: 5f 43 4f 52 45 5f 44 45 50 20 3d 20 6c 69 62 73  _CORE_DEP = libs
4680: 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 3c 3c 2f  qlite3.lib.# <</
4690: 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53 48 45  mark>>.!ELSE.SHE
46a0: 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 0a 21 45  LL_CORE_DEP =.!E
46b0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  NDIF.!ENDIF..# <
46c0: 3c 6d 61 72 6b 3e 3e 0a 23 20 49 66 20 7a 6c 69  <mark>>.# If zli
46d0: 62 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61  b support is ena
46e0: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 64 65  bled, add the de
46f0: 70 65 6e 64 65 6e 63 69 65 73 20 66 6f 72 20 69  pendencies for i
4700: 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a  t..#.!IF $(USE_Z
4710: 4c 49 42 29 21 3d 30 20 26 26 20 24 28 42 55 49  LIB)!=0 && $(BUI
4720: 4c 44 5f 5a 4c 49 42 29 21 3d 30 0a 53 48 45 4c  LD_ZLIB)!=0.SHEL
4730: 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 7a 6c 69  L_CORE_DEP = zli
4740: 62 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  b $(SHELL_CORE_D
4750: 45 50 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f  EP).TESTFIXTURE_
4760: 44 45 50 20 3d 20 7a 6c 69 62 20 24 28 54 45 53  DEP = zlib $(TES
4770: 54 46 49 58 54 55 52 45 5f 44 45 50 29 0a 21 45  TFIXTURE_DEP).!E
4780: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
4790: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
47a0: 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68 61  core library tha
47b0: 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63  t the shell exec
47c0: 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c 69  utable should li
47d0: 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44  nk with..#.!IFND
47e0: 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49  EF SHELL_CORE_LI
47f0: 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f  B.!IF $(DYNAMIC_
4800: 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  SHELL)!=0 || $(F
4810: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45  OR_WIN10)!=0.SHE
4820: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24 28  LL_CORE_LIB = $(
4830: 53 51 4c 49 54 45 33 4c 49 42 29 0a 23 20 3c 3c  SQLITE3LIB).# <<
4840: 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 49 46 20 24  mark>>.!ELSEIF $
4850: 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  (USE_AMALGAMATIO
4860: 4e 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45  N)==0.SHELL_CORE
4870: 5f 4c 49 42 20 3d 20 6c 69 62 73 71 6c 69 74 65  _LIB = libsqlite
4880: 33 2e 6c 69 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  3.lib.# <</mark>
4890: 3e 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f  >.!ELSE.SHELL_CO
48a0: 52 45 5f 4c 49 42 20 3d 0a 21 45 4e 44 49 46 0a  RE_LIB =.!ENDIF.
48b0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These 
48c0: 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c  are additional l
48d0: 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 73  inker options us
48e0: 65 64 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c  ed for the shell
48f0: 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21   executable..#.!
4900: 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 4c 49 4e  IFNDEF SHELL_LIN
4910: 4b 5f 4f 50 54 53 0a 53 48 45 4c 4c 5f 4c 49 4e  K_OPTS.SHELL_LIN
4920: 4b 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c  K_OPTS = $(SHELL
4930: 5f 43 4f 52 45 5f 4c 49 42 29 0a 21 45 4e 44 49  _CORE_LIB).!ENDI
4940: 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 61 73  F..# Check if as
4950: 73 65 6d 62 6c 79 20 63 6f 64 65 20 6c 69 73 74  sembly code list
4960: 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20 67  ings should be g
4970: 65 6e 65 72 61 74 65 64 20 66 6f 72 20 74 68 65  enerated for the
4980: 20 73 6f 75 72 63 65 0a 23 20 63 6f 64 65 20 66   source.# code f
4990: 69 6c 65 73 20 74 6f 20 62 65 20 63 6f 6d 70 69  iles to be compi
49a0: 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  led..#.!IF $(USE
49b0: 5f 4c 49 53 54 49 4e 47 53 29 21 3d 30 0a 54 43  _LISTINGS)!=0.TC
49c0: 43 20 3d 20 24 28 54 43 43 29 20 2d 46 41 63 73  C = $(TCC) -FAcs
49d0: 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20  .!ENDIF..# When 
49e0: 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 6c 69  compiling the li
49f0: 62 72 61 72 79 20 66 6f 72 20 75 73 65 20 69 6e  brary for use in
4a00: 20 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69 72   the WinRT envir
4a10: 6f 6e 6d 65 6e 74 2c 0a 23 20 74 68 65 20 66 6f  onment,.# the fo
4a20: 6c 6c 6f 77 69 6e 67 20 63 6f 6d 70 69 6c 65 2d  llowing compile-
4a30: 74 69 6d 65 20 6f 70 74 69 6f 6e 73 20 6d 75 73  time options mus
4a40: 74 20 62 65 20 75 73 65 64 20 61 73 20 77 65 6c  t be used as wel
4a50: 6c 20 74 6f 0a 23 20 64 69 73 61 62 6c 65 20 75  l to.# disable u
4a60: 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73  se of Win32 APIs
4a70: 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 61 76   that are not av
4a80: 61 69 6c 61 62 6c 65 20 61 6e 64 20 74 6f 20 65  ailable and to e
4a90: 6e 61 62 6c 65 0a 23 20 75 73 65 20 6f 66 20 57  nable.# use of W
4aa0: 69 6e 33 32 20 41 50 49 73 20 74 68 61 74 20 61  in32 APIs that a
4ab0: 72 65 20 73 70 65 63 69 66 69 63 20 74 6f 20 57  re specific to W
4ac0: 69 6e 64 6f 77 73 20 38 20 61 6e 64 2f 6f 72 20  indows 8 and/or 
4ad0: 57 69 6e 52 54 2e 0a 23 0a 21 49 46 20 24 28 46  WinRT..#.!IF $(F
4ae0: 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a 54 43 43  OR_WINRT)!=0.TCC
4af0: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
4b00: 54 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 52 43  TE_OS_WINRT=1.RC
4b10: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
4b20: 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 54  ITE_OS_WINRT=1.T
4b30: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 57 49  CC = $(TCC) -DWI
4b40: 4e 41 50 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41  NAPI_FAMILY=WINA
4b50: 50 49 5f 46 41 4d 49 4c 59 5f 41 50 50 0a 52 43  PI_FAMILY_APP.RC
4b60: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 57 49 4e  C = $(RCC) -DWIN
4b70: 41 50 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50  API_FAMILY=WINAP
4b80: 49 5f 46 41 4d 49 4c 59 5f 41 50 50 0a 21 45 4e  I_FAMILY_APP.!EN
4b90: 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65  DIF..# C compile
4ba0: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68  r options for th
4bb0: 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61  e Windows 10 pla
4bc0: 74 66 6f 72 6d 20 28 6e 65 65 64 73 20 4d 53 56  tform (needs MSV
4bd0: 43 20 32 30 31 35 29 2e 0a 23 0a 21 49 46 20 24  C 2015)..#.!IF $
4be0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54  (FOR_WIN10)!=0.T
4bf0: 43 43 20 3d 20 24 28 54 43 43 29 20 2f 64 32 67  CC = $(TCC) /d2g
4c00: 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e  uard4 -D_ARM_WIN
4c10: 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45  API_PARTITION_DE
4c20: 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41  SKTOP_SDK_AVAILA
4c30: 42 4c 45 0a 42 43 43 20 3d 20 24 28 42 43 43 29  BLE.BCC = $(BCC)
4c40: 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41 52   /d2guard4 -D_AR
4c50: 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54 49  M_WINAPI_PARTITI
4c60: 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41  ON_DESKTOP_SDK_A
4c70: 56 41 49 4c 41 42 4c 45 0a 21 45 4e 44 49 46 0a  VAILABLE.!ENDIF.
4c80: 0a 23 20 41 6c 73 6f 2c 20 77 65 20 6e 65 65 64  .# Also, we need
4c90: 20 74 6f 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20   to dynamically 
4ca0: 6c 69 6e 6b 20 74 6f 20 74 68 65 20 63 6f 72 72  link to the corr
4cb0: 65 63 74 20 4d 53 56 43 20 72 75 6e 74 69 6d 65  ect MSVC runtime
4cc0: 0a 23 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# when compilin
4cd0: 67 20 66 6f 72 20 57 69 6e 52 54 20 28 65 2e 67  g for WinRT (e.g
4ce0: 2e 20 64 65 62 75 67 20 6f 72 20 72 65 6c 65 61  . debug or relea
4cf0: 73 65 29 20 4f 52 20 69 66 20 74 68 65 0a 23 20  se) OR if the.# 
4d00: 55 53 45 5f 43 52 54 5f 44 4c 4c 20 6f 70 74 69  USE_CRT_DLL opti
4d10: 6f 6e 20 69 73 20 73 65 74 20 74 6f 20 66 6f 72  on is set to for
4d20: 63 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c  ce dynamically l
4d30: 69 6e 6b 69 6e 67 20 74 6f 20 74 68 65 0a 23 20  inking to the.# 
4d40: 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62  MSVC runtime lib
4d50: 72 61 72 79 2e 0a 23 0a 21 49 46 20 24 28 46 4f  rary..#.!IF $(FO
4d60: 52 5f 57 49 4e 52 54 29 21 3d 30 20 7c 7c 20 24  R_WINRT)!=0 || $
4d70: 28 55 53 45 5f 43 52 54 5f 44 4c 4c 29 21 3d 30  (USE_CRT_DLL)!=0
4d80: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a  .!IF $(DEBUG)>1.
4d90: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44  TCC = $(TCC) -MD
4da0: 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  d.BCC = $(BCC) -
4db0: 4d 44 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20  MDd.!ELSE.TCC = 
4dc0: 24 28 54 43 43 29 20 2d 4d 44 0a 42 43 43 20 3d  $(TCC) -MD.BCC =
4dd0: 20 24 28 42 43 43 29 20 2d 4d 44 0a 21 45 4e 44   $(BCC) -MD.!END
4de0: 49 46 0a 21 45 4c 53 45 0a 21 49 46 20 24 28 44  IF.!ELSE.!IF $(D
4df0: 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28  EBUG)>1.TCC = $(
4e00: 54 43 43 29 20 2d 4d 54 64 0a 42 43 43 20 3d 20  TCC) -MTd.BCC = 
4e10: 24 28 42 43 43 29 20 2d 4d 54 64 0a 21 45 4c 53  $(BCC) -MTd.!ELS
4e20: 45 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  E.TCC = $(TCC) -
4e30: 4d 54 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  MT.BCC = $(BCC) 
4e40: 2d 4d 54 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  -MT.!ENDIF.!ENDI
4e50: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.# 
4e60: 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74  The mksqlite3c.t
4e70: 63 6c 20 61 6e 64 20 6d 6b 73 71 6c 69 74 65 33  cl and mksqlite3
4e80: 68 2e 74 63 6c 20 73 63 72 69 70 74 73 20 77 69  h.tcl scripts wi
4e90: 6c 6c 20 70 75 6c 6c 20 69 6e 0a 23 20 61 6e 79  ll pull in.# any
4ea0: 20 65 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65   extension heade
4eb0: 72 20 66 69 6c 65 73 20 62 79 20 64 65 66 61 75  r files by defau
4ec0: 6c 74 2e 20 20 46 6f 72 20 6e 6f 6e 2d 61 6d 61  lt.  For non-ama
4ed0: 6c 67 61 6d 61 74 69 6f 6e 0a 23 20 62 75 69 6c  lgamation.# buil
4ee0: 64 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 6d  ds, we need to m
4ef0: 61 6b 65 20 73 75 72 65 20 74 68 65 20 63 6f 6d  ake sure the com
4f00: 70 69 6c 65 72 20 63 61 6e 20 66 69 6e 64 20 74  piler can find t
4f10: 68 65 73 65 2e 0a 23 0a 21 49 46 20 24 28 55 53  hese..#.!IF $(US
4f20: 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d  E_AMALGAMATION)=
4f30: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
4f40: 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  -I$(TOP)\ext\fts
4f50: 33 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  3.RCC = $(RCC) -
4f60: 49 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  I$(TOP)\ext\fts3
4f70: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I
4f80: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
4f90: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49  .RCC = $(RCC) -I
4fa0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
4fb0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I
4fc0: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi
4fd0: 6f 6e 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  on.RCC = $(RCC) 
4fe0: 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73  -I$(TOP)\ext\ses
4ff0: 73 69 6f 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54  sion.!ENDIF..# T
5000: 68 65 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63  he mksqlite3c.tc
5010: 6c 20 73 63 72 69 70 74 20 61 63 63 65 70 74 73  l script accepts
5020: 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e   some options on
5030: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c   the command.# l
5040: 69 6e 65 2e 20 20 57 68 65 6e 20 63 6f 6d 70 69  ine.  When compi
5050: 6c 69 6e 67 20 77 69 74 68 20 64 65 62 75 67 67  ling with debugg
5060: 69 6e 67 20 65 6e 61 62 6c 65 64 2c 20 73 6f 6d  ing enabled, som
5070: 65 20 6f 66 20 74 68 65 73 65 0a 23 20 6f 70 74  e of these.# opt
5080: 69 6f 6e 73 20 61 72 65 20 6e 65 63 65 73 73 61  ions are necessa
5090: 72 79 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 61  ry in order to a
50a0: 6c 6c 6f 77 20 64 65 62 75 67 67 69 6e 67 20 73  llow debugging s
50b0: 79 6d 62 6f 6c 73 20 74 6f 0a 23 20 77 6f 72 6b  ymbols to.# work
50c0: 20 63 6f 72 72 65 63 74 6c 79 20 77 69 74 68 20   correctly with 
50d0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 77 68  Visual Studio wh
50e0: 65 6e 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61  en using the ama
50f0: 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 21 49 46  lgamation..#.!IF
5100: 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f  NDEF MKSQLITE3C_
5110: 54 4f 4f 4c 0a 21 49 46 20 24 28 4d 49 4e 49 4d  TOOL.!IF $(MINIM
5120: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29  AL_AMALGAMATION)
5130: 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54  !=0.MKSQLITE3C_T
5140: 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f  OOL = $(TOP)\too
5150: 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2d 6e 6f 65  l\mksqlite3c-noe
5160: 78 74 2e 74 63 6c 0a 21 45 4c 53 45 0a 4d 4b 53  xt.tcl.!ELSE.MKS
5170: 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24  QLITE3C_TOOL = $
5180: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c  (TOP)\tool\mksql
5190: 69 74 65 33 63 2e 74 63 6c 0a 21 45 4e 44 49 46  ite3c.tcl.!ENDIF
51a0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
51b0: 20 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53   MKSQLITE3C_ARGS
51c0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a  .!IF $(DEBUG)>1.
51d0: 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20  MKSQLITE3C_ARGS 
51e0: 3d 20 2d 2d 6c 69 6e 65 6d 61 63 72 6f 73 0a 21  = --linemacros.!
51f0: 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f  ELSE.MKSQLITE3C_
5200: 41 52 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 49  ARGS =.!ENDIF.!I
5210: 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29  F $(USE_STDCALL)
5220: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
5230: 31 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33  10)!=0.MKSQLITE3
5240: 43 5f 41 52 47 53 20 3d 20 24 28 4d 4b 53 51 4c  C_ARGS = $(MKSQL
5250: 49 54 45 33 43 5f 41 52 47 53 29 20 2d 2d 75 73  ITE3C_ARGS) --us
5260: 65 61 70 69 63 61 6c 6c 0a 21 45 4e 44 49 46 0a  eapicall.!ENDIF.
5270: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b  !ENDIF..# The mk
5280: 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72  sqlite3h.tcl scr
5290: 69 70 74 20 61 63 63 65 70 74 73 20 73 6f 6d 65  ipt accepts some
52a0: 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20   options on the 
52b0: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 23 20  command line..# 
52c0: 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77  When compiling w
52d0: 69 74 68 20 73 74 64 63 61 6c 6c 20 73 75 70 70  ith stdcall supp
52e0: 6f 72 74 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65  ort, some of the
52f0: 73 65 20 6f 70 74 69 6f 6e 73 20 61 72 65 0a 23  se options are.#
5300: 20 6e 65 63 65 73 73 61 72 79 2e 0a 23 0a 21 49   necessary..#.!I
5310: 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 48  FNDEF MKSQLITE3H
5320: 5f 41 52 47 53 0a 21 49 46 20 24 28 55 53 45 5f  _ARGS.!IF $(USE_
5330: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24  STDCALL)!=0 || $
5340: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d  (FOR_WIN10)!=0.M
5350: 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53 20 3d  KSQLITE3H_ARGS =
5360: 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21 45   --useapicall.!E
5370: 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 48 5f 41  LSE.MKSQLITE3H_A
5380: 52 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e  RGS =.!ENDIF.!EN
5390: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
53a0: 0a 23 20 44 65 66 69 6e 65 20 2d 44 4e 44 45 42  .# Define -DNDEB
53b0: 55 47 20 74 6f 20 63 6f 6d 70 69 6c 65 20 77 69  UG to compile wi
53c0: 74 68 6f 75 74 20 64 65 62 75 67 67 69 6e 67 20  thout debugging 
53d0: 28 69 2e 65 2e 2c 20 66 6f 72 20 70 72 6f 64 75  (i.e., for produ
53e0: 63 74 69 6f 6e 20 75 73 61 67 65 29 0a 23 20 4f  ction usage).# O
53f0: 6d 69 74 74 69 6e 67 20 74 68 65 20 64 65 66 69  mitting the defi
5400: 6e 65 20 77 69 6c 6c 20 63 61 75 73 65 20 65 78  ne will cause ex
5410: 74 72 61 20 64 65 62 75 67 67 69 6e 67 20 63 6f  tra debugging co
5420: 64 65 20 74 6f 20 62 65 20 69 6e 73 65 72 74 65  de to be inserte
5430: 64 20 61 6e 64 0a 23 20 69 6e 63 6c 75 64 65 73  d and.# includes
5440: 20 65 78 74 72 61 20 63 6f 6d 6d 65 6e 74 73 20   extra comments 
5450: 77 68 65 6e 20 22 45 58 50 4c 41 49 4e 20 73 74  when "EXPLAIN st
5460: 6d 74 22 20 69 73 20 75 73 65 64 2e 0a 23 0a 21  mt" is used..#.!
5470: 49 46 20 24 28 44 45 42 55 47 29 3d 3d 30 0a 54  IF $(DEBUG)==0.T
5480: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 4e 44  CC = $(TCC) -DND
5490: 45 42 55 47 0a 42 43 43 20 3d 20 24 28 42 43 43  EBUG.BCC = $(BCC
54a0: 29 20 2d 44 4e 44 45 42 55 47 0a 52 43 43 20 3d  ) -DNDEBUG.RCC =
54b0: 20 24 28 52 43 43 29 20 2d 44 4e 44 45 42 55 47   $(RCC) -DNDEBUG
54c0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D
54d0: 45 42 55 47 29 3e 30 20 7c 7c 20 24 28 41 50 49  EBUG)>0 || $(API
54e0: 5f 41 52 4d 4f 52 29 21 3d 30 20 7c 7c 20 24 28  _ARMOR)!=0 || $(
54f0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43  FOR_WIN10)!=0.TC
5500: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
5510: 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41  ITE_ENABLE_API_A
5520: 52 4d 4f 52 3d 31 0a 52 43 43 20 3d 20 24 28 52  RMOR=1.RCC = $(R
5530: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  CC) -DSQLITE_ENA
5540: 42 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a  BLE_API_ARMOR=1.
5550: 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45  !ENDIF..!IF $(DE
5560: 42 55 47 29 3e 32 0a 54 43 43 20 3d 20 24 28 54  BUG)>2.TCC = $(T
5570: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 42  CC) -DSQLITE_DEB
5580: 55 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  UG=1.RCC = $(RCC
5590: 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47  ) -DSQLITE_DEBUG
55a0: 3d 31 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  =1.!IF $(DYNAMIC
55b0: 5f 53 48 45 4c 4c 29 3d 3d 30 0a 54 43 43 20 3d  _SHELL)==0.TCC =
55c0: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
55d0: 5f 45 4e 41 42 4c 45 5f 57 48 45 52 45 54 52 41  _ENABLE_WHERETRA
55e0: 43 45 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  CE -DSQLITE_ENAB
55f0: 4c 45 5f 53 45 4c 45 43 54 54 52 41 43 45 0a 52  LE_SELECTTRACE.R
5600: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
5610: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52  LITE_ENABLE_WHER
5620: 45 54 52 41 43 45 20 2d 44 53 51 4c 49 54 45 5f  ETRACE -DSQLITE_
5630: 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 54 52 41  ENABLE_SELECTTRA
5640: 43 45 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  CE.!ENDIF.!ENDIF
5650: 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 34  ..!IF $(DEBUG)>4
5660: 20 7c 7c 20 24 28 4f 53 54 52 41 43 45 29 21 3d   || $(OSTRACE)!=
5670: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
5680: 44 53 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53  DSQLITE_FORCE_OS
5690: 5f 54 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 54  _TRACE=1 -DSQLIT
56a0: 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 45  E_DEBUG_OS_TRACE
56b0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 
56c0: 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f  -DSQLITE_FORCE_O
56d0: 53 5f 54 52 41 43 45 3d 31 20 2d 44 53 51 4c 49  S_TRACE=1 -DSQLI
56e0: 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52 41 43  TE_DEBUG_OS_TRAC
56f0: 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20  E=1.!ENDIF..!IF 
5700: 24 28 44 45 42 55 47 29 3e 35 0a 54 43 43 20 3d  $(DEBUG)>5.TCC =
5710: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
5720: 5f 45 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d  _ENABLE_IOTRACE=
5730: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
5740: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49  DSQLITE_ENABLE_I
5750: 4f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a  OTRACE=1.!ENDIF.
5760: 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69  .# Prevent warni
5770: 6e 67 73 20 61 62 6f 75 74 20 22 69 6e 73 65 63  ngs about "insec
5780: 75 72 65 22 20 4d 53 56 43 20 72 75 6e 74 69 6d  ure" MSVC runtim
5790: 65 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69  e library functi
57a0: 6f 6e 73 0a 23 20 62 65 69 6e 67 20 75 73 65 64  ons.# being used
57b0: 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ..#.TCC = $(TCC)
57c0: 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e   -D_CRT_SECURE_N
57d0: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43  O_DEPRECATE -D_C
57e0: 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52  RT_SECURE_NO_WAR
57f0: 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28 42 43  NINGS.BCC = $(BC
5800: 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45  C) -D_CRT_SECURE
5810: 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44  _NO_DEPRECATE -D
5820: 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57  _CRT_SECURE_NO_W
5830: 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d 20 24 28  ARNINGS.RCC = $(
5840: 52 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55  RCC) -D_CRT_SECU
5850: 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  RE_NO_DEPRECATE 
5860: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f  -D_CRT_SECURE_NO
5870: 5f 57 41 52 4e 49 4e 47 53 0a 0a 23 20 50 72 65  _WARNINGS..# Pre
5880: 76 65 6e 74 20 77 61 72 6e 69 6e 67 73 20 61 62  vent warnings ab
5890: 6f 75 74 20 22 64 65 70 72 65 63 61 74 65 64 22  out "deprecated"
58a0: 20 50 4f 53 49 58 20 66 75 6e 63 74 69 6f 6e 73   POSIX functions
58b0: 20 62 65 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54   being used..#.T
58c0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 5f 43  CC = $(TCC) -D_C
58d0: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45  RT_NONSTDC_NO_DE
58e0: 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e  PRECATE -D_CRT_N
58f0: 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e  ONSTDC_NO_WARNIN
5900: 47 53 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  GS.BCC = $(BCC) 
5910: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
5920: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43  O_DEPRECATE -D_C
5930: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41  RT_NONSTDC_NO_WA
5940: 52 4e 49 4e 47 53 0a 52 43 43 20 3d 20 24 28 52  RNINGS.RCC = $(R
5950: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  CC) -D_CRT_NONST
5960: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  DC_NO_DEPRECATE 
5970: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
5980: 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23 20 55 73  O_WARNINGS..# Us
5990: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
59a0: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
59b0: 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20 24 28 4d  ystem?.#.!IF $(M
59c0: 45 4d 44 45 42 55 47 29 21 3d 30 0a 54 43 43 20  EMDEBUG)!=0.TCC 
59d0: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
59e0: 45 5f 4d 45 4d 44 45 42 55 47 3d 31 0a 52 43 43  E_MEMDEBUG=1.RCC
59f0: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
5a00: 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31 0a 0a 23  TE_MEMDEBUG=1..#
5a10: 20 55 73 65 20 6e 61 74 69 76 65 20 57 69 6e 33   Use native Win3
5a20: 32 20 68 65 61 70 20 73 75 62 73 79 73 74 65 6d  2 heap subsystem
5a30: 20 69 6e 73 74 65 61 64 20 6f 66 20 6d 61 6c 6c   instead of mall
5a40: 6f 63 2f 66 72 65 65 3f 0a 23 0a 21 45 4c 53 45  oc/free?.#.!ELSE
5a50: 49 46 20 24 28 57 49 4e 33 32 48 45 41 50 29 21  IF $(WIN32HEAP)!
5a60: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
5a70: 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d  -DSQLITE_WIN32_M
5a80: 41 4c 4c 4f 43 3d 31 0a 52 43 43 20 3d 20 24 28  ALLOC=1.RCC = $(
5a90: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49  RCC) -DSQLITE_WI
5aa0: 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23 20  N32_MALLOC=1..# 
5ab0: 56 61 6c 69 64 61 74 65 20 74 68 65 20 68 65 61  Validate the hea
5ac0: 70 20 6f 6e 20 65 76 65 72 79 20 63 61 6c 6c 20  p on every call 
5ad0: 69 6e 74 6f 20 74 68 65 20 6e 61 74 69 76 65 20  into the native 
5ae0: 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73 79  Win32 heap subsy
5af0: 73 74 65 6d 3f 0a 23 0a 21 49 46 20 24 28 44 45  stem?.#.!IF $(DE
5b00: 42 55 47 29 3e 33 0a 54 43 43 20 3d 20 24 28 54  BUG)>3.TCC = $(T
5b10: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e  CC) -DSQLITE_WIN
5b20: 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41  32_MALLOC_VALIDA
5b30: 54 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  TE=1.RCC = $(RCC
5b40: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32  ) -DSQLITE_WIN32
5b50: 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45  _MALLOC_VALIDATE
5b60: 3d 31 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  =1.!ENDIF.!ENDIF
5b70: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54  ..# <<mark>>.# T
5b80: 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20  he locations of 
5b90: 74 68 65 20 54 63 6c 20 68 65 61 64 65 72 20 61  the Tcl header a
5ba0: 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73  nd library files
5bb0: 2e 20 20 41 6c 73 6f 2c 20 74 68 65 20 6c 69 62  .  Also, the lib
5bc0: 72 61 72 79 20 74 68 61 74 0a 23 20 6e 6f 6e 2d  rary that.# non-
5bd0: 73 74 75 62 73 20 65 6e 61 62 6c 65 64 20 70 72  stubs enabled pr
5be0: 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 54 63 6c  ograms using Tcl
5bf0: 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e   must link again
5c00: 73 74 2e 20 20 54 68 65 73 65 20 76 61 72 69 61  st.  These varia
5c10: 62 6c 65 73 0a 23 20 28 54 43 4c 49 4e 43 44 49  bles.# (TCLINCDI
5c20: 52 2c 20 54 43 4c 4c 49 42 44 49 52 2c 20 61 6e  R, TCLLIBDIR, an
5c30: 64 20 4c 49 42 54 43 4c 29 20 6d 61 79 20 62 65  d LIBTCL) may be
5c40: 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20   overridden via 
5c50: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a  the environment.
5c60: 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69  # prior to runni
5c70: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65  ng nmake in orde
5c80: 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61  r to match the a
5c90: 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20  ctual installed 
5ca0: 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 0a 23 20 76  location and.# v
5cb0: 65 72 73 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d  ersion on this m
5cc0: 61 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45  achine..#.!IFNDE
5cd0: 46 20 54 43 4c 56 45 52 53 49 4f 4e 0a 54 43 4c  F TCLVERSION.TCL
5ce0: 56 45 52 53 49 4f 4e 20 3d 20 38 36 0a 21 45 4e  VERSION = 86.!EN
5cf0: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c  DIF..!IFNDEF TCL
5d00: 53 55 46 46 49 58 0a 54 43 4c 53 55 46 46 49 58  SUFFIX.TCLSUFFIX
5d10: 20 3d 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44   =.!ENDIF..!IFND
5d20: 45 46 20 54 43 4c 44 49 52 0a 54 43 4c 44 49 52  EF TCLDIR.TCLDIR
5d30: 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74   = $(TOP)\compat
5d40: 5c 74 63 6c 0a 21 45 4e 44 49 46 0a 0a 21 49 46  \tcl.!ENDIF..!IF
5d50: 4e 44 45 46 20 54 43 4c 49 4e 43 44 49 52 0a 54  NDEF TCLINCDIR.T
5d60: 43 4c 49 4e 43 44 49 52 20 3d 20 24 28 54 43 4c  CLINCDIR = $(TCL
5d70: 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a 21 45 4e  DIR)\include.!EN
5d80: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c  DIF..!IFNDEF TCL
5d90: 4c 49 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 52  LIBDIR.TCLLIBDIR
5da0: 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 6c 69 62   = $(TCLDIR)\lib
5db0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
5dc0: 20 4c 49 42 54 43 4c 0a 4c 49 42 54 43 4c 20 3d   LIBTCL.LIBTCL =
5dd0: 20 74 63 6c 24 28 54 43 4c 56 45 52 53 49 4f 4e   tcl$(TCLVERSION
5de0: 29 24 28 54 43 4c 53 55 46 46 49 58 29 2e 6c 69  )$(TCLSUFFIX).li
5df0: 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45  b.!ENDIF..!IFNDE
5e00: 46 20 4c 49 42 54 43 4c 53 54 55 42 0a 4c 49 42  F LIBTCLSTUB.LIB
5e10: 54 43 4c 53 54 55 42 20 3d 20 74 63 6c 73 74 75  TCLSTUB = tclstu
5e20: 62 24 28 54 43 4c 56 45 52 53 49 4f 4e 29 24 28  b$(TCLVERSION)$(
5e30: 54 43 4c 53 55 46 46 49 58 29 2e 6c 69 62 0a 21  TCLSUFFIX).lib.!
5e40: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c  ENDIF..!IFNDEF L
5e50: 49 42 54 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c  IBTCLPATH.LIBTCL
5e60: 50 41 54 48 20 3d 20 24 28 54 43 4c 44 49 52 29  PATH = $(TCLDIR)
5e70: 5c 62 69 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54  \bin.!ENDIF..# T
5e80: 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20  he locations of 
5e90: 74 68 65 20 7a 6c 69 62 20 68 65 61 64 65 72 20  the zlib header 
5ea0: 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65  and library file
5eb0: 73 2e 20 20 54 68 65 73 65 20 76 61 72 69 61 62  s.  These variab
5ec0: 6c 65 73 0a 23 20 28 5a 4c 49 42 49 4e 43 44 49  les.# (ZLIBINCDI
5ed0: 52 2c 20 5a 4c 49 42 4c 49 42 44 49 52 2c 20 61  R, ZLIBLIBDIR, a
5ee0: 6e 64 20 5a 4c 49 42 4c 49 42 29 20 6d 61 79 20  nd ZLIBLIB) may 
5ef0: 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69  be overridden vi
5f00: 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e  a the environmen
5f10: 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e  t.# prior to run
5f20: 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72  ning nmake in or
5f30: 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65  der to match the
5f40: 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65   actual installe
5f50: 64 20 28 6f 72 20 73 6f 75 72 63 65 0a 23 20 63  d (or source.# c
5f60: 6f 64 65 29 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e  ode) location on
5f70: 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23   this machine..#
5f80: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 44 49 52  .!IFNDEF ZLIBDIR
5f90: 0a 5a 4c 49 42 44 49 52 20 3d 20 24 28 54 4f 50  .ZLIBDIR = $(TOP
5fa0: 29 5c 63 6f 6d 70 61 74 5c 7a 6c 69 62 0a 21 45  )\compat\zlib.!E
5fb0: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c  NDIF..!IFNDEF ZL
5fc0: 49 42 49 4e 43 44 49 52 0a 5a 4c 49 42 49 4e 43  IBINCDIR.ZLIBINC
5fd0: 44 49 52 20 3d 20 24 28 5a 4c 49 42 44 49 52 29  DIR = $(ZLIBDIR)
5fe0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
5ff0: 20 5a 4c 49 42 4c 49 42 44 49 52 0a 5a 4c 49 42   ZLIBLIBDIR.ZLIB
6000: 4c 49 42 44 49 52 20 3d 20 24 28 5a 4c 49 42 44  LIBDIR = $(ZLIBD
6010: 49 52 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  IR).!ENDIF..!IFN
6020: 44 45 46 20 5a 4c 49 42 4c 49 42 0a 21 49 46 20  DEF ZLIBLIB.!IF 
6030: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
6040: 21 3d 30 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a 64  !=0.ZLIBLIB = zd
6050: 6c 6c 2e 6c 69 62 0a 21 45 4c 53 45 0a 5a 4c 49  ll.lib.!ELSE.ZLI
6060: 42 4c 49 42 20 3d 20 7a 6c 69 62 2e 6c 69 62 0a  BLIB = zlib.lib.
6070: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
6080: 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f   The locations o
6090: 66 20 74 68 65 20 49 43 55 20 68 65 61 64 65 72  f the ICU header
60a0: 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c   and library fil
60b0: 65 73 2e 20 20 54 68 65 73 65 20 76 61 72 69 61  es.  These varia
60c0: 62 6c 65 73 0a 23 20 28 49 43 55 49 4e 43 44 49  bles.# (ICUINCDI
60d0: 52 2c 20 49 43 55 4c 49 42 44 49 52 2c 20 61 6e  R, ICULIBDIR, an
60e0: 64 20 4c 49 42 49 43 55 29 20 6d 61 79 20 62 65  d LIBICU) may be
60f0: 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20   overridden via 
6100: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a  the environment.
6110: 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69  # prior to runni
6120: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65  ng nmake in orde
6130: 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61  r to match the a
6140: 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20  ctual installed 
6150: 6c 6f 63 61 74 69 6f 6e 20 6f 6e 0a 23 20 74 68  location on.# th
6160: 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49  is machine..#.!I
6170: 46 4e 44 45 46 20 49 43 55 44 49 52 0a 49 43 55  FNDEF ICUDIR.ICU
6180: 44 49 52 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d  DIR = $(TOP)\com
6190: 70 61 74 5c 69 63 75 0a 21 45 4e 44 49 46 0a 0a  pat\icu.!ENDIF..
61a0: 21 49 46 4e 44 45 46 20 49 43 55 49 4e 43 44 49  !IFNDEF ICUINCDI
61b0: 52 0a 49 43 55 49 4e 43 44 49 52 20 3d 20 24 28  R.ICUINCDIR = $(
61c0: 49 43 55 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a  ICUDIR)\include.
61d0: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20  !ENDIF..!IFNDEF 
61e0: 49 43 55 4c 49 42 44 49 52 0a 49 43 55 4c 49 42  ICULIBDIR.ICULIB
61f0: 44 49 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c  DIR = $(ICUDIR)\
6200: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
6210: 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 42 49 43  DEF LIBICU.LIBIC
6220: 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 20 69 63  U = icuuc.lib ic
6230: 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  uin.lib.!ENDIF..
6240: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f  # This is the co
6250: 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 66 6f 72  mmand to use for
6260: 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c 6c   tclsh - normall
6270: 79 20 6a 75 73 74 20 22 74 63 6c 73 68 22 2c 20  y just "tclsh", 
6280: 62 75 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e 6f  but we may.# kno
6290: 77 20 74 68 65 20 73 70 65 63 69 66 69 63 20 76  w the specific v
62a0: 65 72 73 69 6f 6e 20 77 65 20 77 61 6e 74 20 74  ersion we want t
62b0: 6f 20 75 73 65 2e 20 20 54 68 69 73 20 76 61 72  o use.  This var
62c0: 69 61 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d 44  iable (TCLSH_CMD
62d0: 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 65 72 72  ) may be.# overr
62e0: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e  idden via the en
62f0: 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72 20  vironment prior 
6300: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
6310: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 65 6c   in order to sel
6320: 65 63 74 20 61 0a 23 20 73 70 65 63 69 66 69 63  ect a.# specific
6330: 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75 73   Tcl shell to us
6340: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54 43 4c  e..#.!IFNDEF TCL
6350: 53 48 5f 43 4d 44 0a 21 49 46 20 24 28 55 53 45  SH_CMD.!IF $(USE
6360: 5f 54 43 4c 53 48 5f 49 4e 5f 50 41 54 48 29 21  _TCLSH_IN_PATH)!
6370: 3d 30 20 7c 7c 20 21 45 58 49 53 54 28 22 24 28  =0 || !EXIST("$(
6380: 54 43 4c 44 49 52 29 5c 62 69 6e 5c 74 63 6c 73  TCLDIR)\bin\tcls
6390: 68 2e 65 78 65 22 29 0a 54 43 4c 53 48 5f 43 4d  h.exe").TCLSH_CM
63a0: 44 20 3d 20 74 63 6c 73 68 0a 21 45 4c 53 45 0a  D = tclsh.!ELSE.
63b0: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 24 28 54 43  TCLSH_CMD = $(TC
63c0: 4c 44 49 52 29 5c 62 69 6e 5c 74 63 6c 73 68 2e  LDIR)\bin\tclsh.
63d0: 65 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  exe.!ENDIF.!ENDI
63e0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
63f0: 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e   Compiler option
6400: 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72 6f  s needed for pro
6410: 67 72 61 6d 73 20 74 68 61 74 20 75 73 65 20 74  grams that use t
6420: 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20 6c 69  he readline() li
6430: 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46  brary..#.!IFNDEF
6440: 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 0a   READLINE_FLAGS.
6450: 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20 3d  READLINE_FLAGS =
6460: 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49 4e 45   -DHAVE_READLINE
6470: 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65  =0.!ENDIF..# The
6480: 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 70 72   library that pr
6490: 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72 65 61  ograms using rea
64a0: 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c 69 6e  dline() must lin
64b0: 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49 46  k against..#.!IF
64c0: 4e 44 45 46 20 4c 49 42 52 45 41 44 4c 49 4e 45  NDEF LIBREADLINE
64d0: 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a 21  .LIBREADLINE =.!
64e0: 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20  ENDIF..# Should 
64f0: 74 68 65 20 64 61 74 61 62 61 73 65 20 65 6e 67  the database eng
6500: 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65 64 20  ine be compiled 
6510: 74 68 72 65 61 64 73 61 66 65 0a 23 0a 54 43 43  threadsafe.#.TCC
6520: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
6530: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31 0a  TE_THREADSAFE=1.
6540: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
6550: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
6560: 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 61 64 73  =1..# Do threads
6570: 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 20 6f   override each o
6580: 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 79 20 64  thers locks by d
6590: 65 66 61 75 6c 74 20 28 31 29 2c 20 6f 72 20 64  efault (1), or d
65a0: 6f 20 77 65 20 74 65 73 74 20 28 2d 31 29 0a 23  o we test (-1).#
65b0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
65c0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56  SQLITE_THREAD_OV
65d0: 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 52  ERRIDE_LOCK=-1.R
65e0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
65f0: 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 52  LITE_THREAD_OVER
6600: 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23 20  RIDE_LOCK=-1..# 
6610: 41 6e 79 20 74 61 72 67 65 74 20 6c 69 62 72 61  Any target libra
6620: 72 69 65 73 20 77 68 69 63 68 20 6c 69 62 73 71  ries which libsq
6630: 6c 69 74 65 20 6d 75 73 74 20 62 65 20 6c 69 6e  lite must be lin
6640: 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 0a 21 49  ked against.#.!I
6650: 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c 49 42  FNDEF TLIBS.TLIB
6660: 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46 6c  S =.!ENDIF..# Fl
6670: 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20  ags controlling 
6680: 75 73 65 20 6f 66 20 74 68 65 20 69 6e 20 6d 65  use of the in me
6690: 6d 6f 72 79 20 62 74 72 65 65 20 69 6d 70 6c 65  mory btree imple
66a0: 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53 51  mentation.#.# SQ
66b0: 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 20  LITE_TEMP_STORE 
66c0: 69 73 20 30 20 74 6f 20 66 6f 72 63 65 20 74 65  is 0 to force te
66d0: 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 73 20 74  mporary tables t
66e0: 6f 20 62 65 20 69 6e 20 61 20 66 69 6c 65 2c 20  o be in a file, 
66f0: 31 20 74 6f 0a 23 20 64 65 66 61 75 6c 74 20 74  1 to.# default t
6700: 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 64 65 66  o file, 2 to def
6710: 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c 20  ault to memory, 
6720: 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 65 20 74  and 3 to force t
6730: 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 62 6c 65  emporary.# table
6740: 73 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 69  s to always be i
6750: 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43 20  n memory..#.TCC 
6760: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
6770: 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a 52  E_TEMP_STORE=1.R
6780: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
6790: 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d  LITE_TEMP_STORE=
67a0: 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73 61  1..# Enable/disa
67b0: 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65 78 74  ble loadable ext
67c0: 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74 68  ensions, and oth
67d0: 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74  er optional feat
67e0: 75 72 65 73 0a 23 20 62 61 73 65 64 20 6f 6e 20  ures.# based on 
67f0: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 28  configuration. (
6800: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c 20  -DSQLITE_OMIT*, 
6810: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 2a  -DSQLITE_ENABLE*
6820: 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 20 73 65  )..# The same se
6830: 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45 4e  t of OMIT and EN
6840: 41 42 4c 45 20 66 6c 61 67 73 20 73 68 6f 75 6c  ABLE flags shoul
6850: 64 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 74  d be passed to t
6860: 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73 65  he.# LEMON parse
6870: 72 20 67 65 6e 65 72 61 74 6f 72 20 61 6e 64 20  r generator and 
6880: 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73  the mkkeywordhas
6890: 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e 0a  h tool as well..
68a0: 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65  .# These are the
68b0: 20 72 65 71 75 69 72 65 64 20 53 51 4c 69 74 65   required SQLite
68c0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74   compilation opt
68d0: 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63  ions used when c
68e0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74  ompiling for.# t
68f0: 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66  he Windows platf
6900: 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54 55  orm..#.REQ_FEATU
6910: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51  RE_FLAGS = $(REQ
6920: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
6930: 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52 49  -DSQLITE_MAX_TRI
6940: 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30 0a 0a  GGER_DEPTH=100..
6950: 23 20 49 66 20 77 65 20 61 72 65 20 6c 69 6e 6b  # If we are link
6960: 69 6e 67 20 74 6f 20 74 68 65 20 52 50 43 52 54  ing to the RPCRT
6970: 34 20 6c 69 62 72 61 72 79 2c 20 65 6e 61 62 6c  4 library, enabl
6980: 65 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20  e features that 
6990: 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49 46 20 24  need it..#.!IF $
69a0: 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29  (USE_RPCRT4_LIB)
69b0: 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 52 45 5f  !=0.REQ_FEATURE_
69c0: 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46 45  FLAGS = $(REQ_FE
69d0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
69e0: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53 45 5f  QLITE_WIN32_USE_
69f0: 55 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a 23  UUID=1.!ENDIF..#
6a00: 20 41 64 64 20 74 68 65 20 72 65 71 75 69 72 65   Add the require
6a10: 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20 53  d and optional S
6a20: 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f  QLite compilatio
6a30: 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20 74  n options into t
6a40: 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e  he command.# lin
6a50: 65 73 20 75 73 65 64 20 74 6f 20 69 6e 76 6f 6b  es used to invok
6a60: 65 20 74 68 65 20 4d 53 56 43 20 63 6f 64 65 20  e the MSVC code 
6a70: 61 6e 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d  and resource com
6a80: 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d 20  pilers..#.TCC = 
6a90: 24 28 54 43 43 29 20 24 28 52 45 51 5f 46 45 41  $(TCC) $(REQ_FEA
6aa0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP
6ab0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
6ac0: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46   $(EXT_FEATURE_F
6ad0: 4c 41 47 53 29 0a 52 43 43 20 3d 20 24 28 52 43  LAGS).RCC = $(RC
6ae0: 43 29 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  C) $(REQ_FEATURE
6af0: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE
6b00: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E
6b10: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
6b20: 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e 79 20  )..# Add in any 
6b30: 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74  optional paramet
6b40: 65 72 73 20 73 70 65 63 69 66 69 65 64 20 6f 6e  ers specified on
6b50: 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69 6e   the commane lin
6b60: 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65 20  e, e.g..# nmake 
6b70: 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20  /f Makefile.msc 
6b80: 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c 49  all "OPTS=-DSQLI
6b90: 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31 20  TE_ENABLE_FOO=1 
6ba0: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f  -DSQLITE_OMIT_FO
6bb0: 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24 28 54  O=1".#.TCC = $(T
6bc0: 43 43 29 20 24 28 4f 50 54 53 29 0a 52 43 43 20  CC) $(OPTS).RCC 
6bd0: 3d 20 24 28 52 43 43 29 20 24 28 4f 50 54 53 29  = $(RCC) $(OPTS)
6be0: 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e 67  ..# If compiling
6bf0: 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2c 20   for debugging, 
6c00: 61 64 64 20 73 6f 6d 65 20 64 65 66 69 6e 65 73  add some defines
6c10: 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29  ..#.!IF $(DEBUG)
6c20: 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >1.TCC = $(TCC) 
6c30: 2d 44 5f 44 45 42 55 47 0a 42 43 43 20 3d 20 24  -D_DEBUG.BCC = $
6c40: 28 42 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 52  (BCC) -D_DEBUG.R
6c50: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 44  CC = $(RCC) -D_D
6c60: 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20 49  EBUG.!ENDIF..# I
6c70: 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20  f optimizations 
6c80: 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 20 64  are enabled or d
6c90: 69 73 61 62 6c 65 64 20 28 65 69 74 68 65 72 20  isabled (either 
6ca0: 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23 20  implicitly or.# 
6cb0: 65 78 70 6c 69 63 69 74 6c 79 29 2c 20 61 64 64  explicitly), add
6cc0: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 66   the necessary f
6cd0: 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24 28 44 45  lags..#.!IF $(DE
6ce0: 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54 49  BUG)>1 || $(OPTI
6cf0: 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54 43  MIZATIONS)==0.TC
6d00: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a 42  C = $(TCC) -Od.B
6d10: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 64 0a  CC = $(BCC) -Od.
6d20: 21 49 46 20 24 28 55 53 45 5f 52 55 4e 54 49 4d  !IF $(USE_RUNTIM
6d30: 45 5f 43 48 45 43 4b 53 29 21 3d 30 0a 54 43 43  E_CHECKS)!=0.TCC
6d40: 20 3d 20 24 28 54 43 43 29 20 2d 52 54 43 31 0a   = $(TCC) -RTC1.
6d50: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 52 54  BCC = $(BCC) -RT
6d60: 43 31 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 49  C1.!ENDIF.!ELSEI
6d70: 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e  F $(OPTIMIZATION
6d80: 53 29 3e 3d 33 0a 54 43 43 20 3d 20 24 28 54 43  S)>=3.TCC = $(TC
6d90: 43 29 20 2d 4f 78 0a 42 43 43 20 3d 20 24 28 42  C) -Ox.BCC = $(B
6da0: 43 43 29 20 2d 4f 78 0a 21 45 4c 53 45 49 46 20  CC) -Ox.!ELSEIF 
6db0: 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29  $(OPTIMIZATIONS)
6dc0: 3d 3d 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ==2.TCC = $(TCC)
6dd0: 20 2d 4f 32 0a 42 43 43 20 3d 20 24 28 42 43 43   -O2.BCC = $(BCC
6de0: 29 20 2d 4f 32 0a 21 45 4c 53 45 49 46 20 24 28  ) -O2.!ELSEIF $(
6df0: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d  OPTIMIZATIONS)==
6e00: 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  1.TCC = $(TCC) -
6e10: 4f 31 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  O1.BCC = $(BCC) 
6e20: 2d 4f 31 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66  -O1.!ENDIF..# If
6e30: 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61   symbols are ena
6e40: 62 6c 65 64 20 28 6f 72 20 63 6f 6d 70 69 6c 69  bled (or compili
6e50: 6e 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67  ng for debugging
6e60: 29 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a  ), enable PDBs..
6e70: 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  #.!IF $(DEBUG)>1
6e80: 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d   || $(SYMBOLS)!=
6e90: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
6ea0: 5a 69 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  Zi.BCC = $(BCC) 
6eb0: 2d 5a 69 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c  -Zi.!ENDIF..# <<
6ec0: 6d 61 72 6b 3e 3e 0a 23 20 49 66 20 7a 6c 69 62  mark>>.# If zlib
6ed0: 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62   support is enab
6ee0: 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d  led, add the com
6ef0: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
6f00: 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53  r it..#.!IF $(US
6f10: 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 43 43 20 3d  E_ZLIB)!=0.TCC =
6f20: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
6f30: 5f 48 41 56 45 5f 5a 4c 49 42 3d 31 0a 52 43 43  _HAVE_ZLIB=1.RCC
6f40: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
6f50: 54 45 5f 48 41 56 45 5f 5a 4c 49 42 3d 31 0a 54  TE_HAVE_ZLIB=1.T
6f60: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28  CC = $(TCC) -I$(
6f70: 5a 4c 49 42 49 4e 43 44 49 52 29 0a 52 43 43 20  ZLIBINCDIR).RCC 
6f80: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 5a 4c 49  = $(RCC) -I$(ZLI
6f90: 42 49 4e 43 44 49 52 29 0a 21 45 4e 44 49 46 0a  BINCDIR).!ENDIF.
6fa0: 0a 23 20 49 66 20 49 43 55 20 73 75 70 70 6f 72  .# If ICU suppor
6fb0: 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64  t is enabled, ad
6fc0: 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f  d the compiler o
6fd0: 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23  ptions for it..#
6fe0: 0a 21 49 46 20 24 28 55 53 45 5f 49 43 55 29 21  .!IF $(USE_ICU)!
6ff0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
7000: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
7010: 49 43 55 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  ICU=1.RCC = $(RC
7020: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
7030: 4c 45 5f 49 43 55 3d 31 0a 54 43 43 20 3d 20 24  LE_ICU=1.TCC = $
7040: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (TCC) -I$(TOP)\e
7050: 78 74 5c 69 63 75 0a 52 43 43 20 3d 20 24 28 52  xt\icu.RCC = $(R
7060: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext
7070: 5c 69 63 75 0a 54 43 43 20 3d 20 24 28 54 43 43  \icu.TCC = $(TCC
7080: 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52 29  ) -I$(ICUINCDIR)
7090: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49  .RCC = $(RCC) -I
70a0: 24 28 49 43 55 49 4e 43 44 49 52 29 0a 21 45 4e  $(ICUINCDIR).!EN
70b0: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
70c0: 0a 23 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20  .# Command line 
70d0: 70 72 65 66 69 78 65 73 20 66 6f 72 20 63 6f 6d  prefixes for com
70e0: 70 69 6c 69 6e 67 20 63 6f 64 65 2c 20 63 6f 6d  piling code, com
70f0: 70 69 6c 69 6e 67 20 72 65 73 6f 75 72 63 65 73  piling resources
7100: 2c 0a 23 20 6c 69 6e 6b 69 6e 67 2c 20 65 74 63  ,.# linking, etc
7110: 2e 0a 23 0a 4c 54 43 4f 4d 50 49 4c 45 20 3d 20  ..#.LTCOMPILE = 
7120: 24 28 54 43 43 29 20 2d 46 6f 24 40 20 2d 46 64  $(TCC) -Fo$@ -Fd
7130: 24 2a 2e 70 64 62 0a 4c 54 52 43 4f 4d 50 49 4c  $*.pdb.LTRCOMPIL
7140: 45 20 3d 20 24 28 52 43 43 29 20 2d 72 0a 4c 54  E = $(RCC) -r.LT
7150: 4c 49 42 20 3d 20 6c 69 62 2e 65 78 65 0a 4c 54  LIB = lib.exe.LT
7160: 4c 49 4e 4b 20 3d 20 24 28 54 43 43 29 20 2d 46  LINK = $(TCC) -F
7170: 65 24 40 0a 0a 23 20 49 66 20 72 65 71 75 65 73  e$@..# If reques
7180: 74 65 64 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65  ted, link to the
7190: 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 79 2e   RPCRT4 library.
71a0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43  .#.!IF $(USE_RPC
71b0: 52 54 34 5f 4c 49 42 29 21 3d 30 0a 4c 54 4c 49  RT4_LIB)!=0.LTLI
71c0: 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 72  BS = $(LTLIBS) r
71d0: 70 63 72 74 34 2e 6c 69 62 0a 21 45 4e 44 49 46  pcrt4.lib.!ENDIF
71e0: 0a 0a 23 20 49 66 20 61 20 70 6c 61 74 66 6f 72  ..# If a platfor
71f0: 6d 20 77 61 73 20 73 65 74 2c 20 66 6f 72 63 65  m was set, force
7200: 20 74 68 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74   the linker to t
7210: 61 72 67 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f  arget that..# No
7220: 74 65 20 74 68 61 74 20 74 68 65 20 76 63 76 61  te that the vcva
7230: 72 73 2a 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f  rs*.bat family o
7240: 66 20 62 61 74 63 68 20 66 69 6c 65 73 20 74 79  f batch files ty
7250: 70 69 63 61 6c 6c 79 0a 23 20 73 65 74 20 74 68  pically.# set th
7260: 69 73 20 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68  is for you.  Oth
7270: 65 72 77 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b  erwise, the link
7280: 65 72 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a  er will attempt.
7290: 23 20 74 6f 20 64 65 64 75 63 65 20 74 68 65 20  # to deduce the 
72a0: 62 69 6e 61 72 79 20 74 79 70 65 20 62 61 73 65  binary type base
72b0: 64 20 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 20  d on the object 
72c0: 66 69 6c 65 73 2e 0a 21 49 46 44 45 46 20 50 4c  files..!IFDEF PL
72d0: 41 54 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54  ATFORM.LTLINKOPT
72e0: 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43  S = /NOLOGO /MAC
72f0: 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29  HINE:$(PLATFORM)
7300: 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f  .LTLIBOPTS = /NO
7310: 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28  LOGO /MACHINE:$(
7320: 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4c 53 45 49  PLATFORM).!ELSEI
7330: 46 20 22 24 28 56 49 53 55 41 4c 53 54 55 44 49  F "$(VISUALSTUDI
7340: 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32 2e  OVERSION)"=="12.
7350: 30 22 20 7c 7c 20 5c 0a 20 20 20 20 20 20 20 20  0" || \.        
7360: 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56  "$(VISUALSTUDIOV
7370: 45 52 53 49 4f 4e 29 22 3d 3d 22 31 34 2e 30 22  ERSION)"=="14.0"
7380: 20 7c 7c 20 5c 0a 20 20 20 20 20 20 20 20 22 24   || \.        "$
7390: 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52  (VISUALSTUDIOVER
73a0: 53 49 4f 4e 29 22 3d 3d 22 31 35 2e 30 22 0a 4c  SION)"=="15.0".L
73b0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c  TLINKOPTS = /NOL
73c0: 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 78 38 36  OGO /MACHINE:x86
73d0: 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f  .LTLIBOPTS = /NO
73e0: 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 78 38  LOGO /MACHINE:x8
73f0: 36 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50  6.!ELSE.LTLINKOP
7400: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c 54 4c  TS = /NOLOGO.LTL
7410: 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f  IBOPTS = /NOLOGO
7420: 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20  .!ENDIF..# When 
7430: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 75 73  compiling for us
7440: 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 20 65  e in the WinRT e
7450: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 74 68 65 20  nvironment, the 
7460: 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20 6c 69 6e 6b  following.# link
7470: 65 72 20 6f 70 74 69 6f 6e 20 6d 75 73 74 20 62  er option must b
7480: 65 20 75 73 65 64 20 74 6f 20 6d 61 72 6b 20 74  e used to mark t
7490: 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 61 73  he executable as
74a0: 20 72 75 6e 6e 61 62 6c 65 0a 23 20 6f 6e 6c 79   runnable.# only
74b0: 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 20   in the context 
74c0: 6f 66 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f  of an applicatio
74d0: 6e 20 63 6f 6e 74 61 69 6e 65 72 2e 0a 23 0a 21  n container..#.!
74e0: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21  IF $(FOR_WINRT)!
74f0: 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  =0.LTLINKOPTS = 
7500: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 41  $(LTLINKOPTS) /A
7510: 50 50 43 4f 4e 54 41 49 4e 45 52 0a 21 49 46 20  PPCONTAINER.!IF 
7520: 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56  "$(VISUALSTUDIOV
7530: 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32 2e 30 22  ERSION)"=="12.0"
7540: 20 7c 7c 20 22 24 28 56 49 53 55 41 4c 53 54 55   || "$(VISUALSTU
7550: 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31  DIOVERSION)"=="1
7560: 34 2e 30 22 0a 21 49 46 4e 44 45 46 20 53 54 4f  4.0".!IFNDEF STO
7570: 52 45 4c 49 42 50 41 54 48 0a 21 49 46 20 22 24  RELIBPATH.!IF "$
7580: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38  (PLATFORM)"=="x8
7590: 36 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20  6".STORELIBPATH 
75a0: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c  = $(CRTLIBPATH)\
75b0: 73 74 6f 72 65 0a 21 45 4c 53 45 49 46 20 22 24  store.!ELSEIF "$
75c0: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 36  (PLATFORM)"=="x6
75d0: 34 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20  4".STORELIBPATH 
75e0: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c  = $(CRTLIBPATH)\
75f0: 73 74 6f 72 65 5c 61 6d 64 36 34 0a 21 45 4c 53  store\amd64.!ELS
7600: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM)
7610: 22 3d 3d 22 41 52 4d 22 0a 53 54 4f 52 45 4c 49  "=="ARM".STORELI
7620: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB
7630: 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 72 6d 0a  PATH)\store\arm.
7640: 21 45 4c 53 45 0a 53 54 4f 52 45 4c 49 42 50 41  !ELSE.STORELIBPA
7650: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT
7660: 48 29 5c 73 74 6f 72 65 0a 21 45 4e 44 49 46 0a  H)\store.!ENDIF.
7670: 21 45 4e 44 49 46 0a 53 54 4f 52 45 4c 49 42 50  !ENDIF.STORELIBP
7680: 41 54 48 20 3d 20 24 28 53 54 4f 52 45 4c 49 42  ATH = $(STORELIB
7690: 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c 54 4c 49 4e  PATH:\\=\).LTLIN
76a0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
76b0: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a  OPTS) "/LIBPATH:
76c0: 24 28 53 54 4f 52 45 4c 49 42 50 41 54 48 29 22  $(STORELIBPATH)"
76d0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
76e0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
76f0: 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 68 6f   for Windows Pho
7700: 6e 65 20 38 2e 31 2c 20 61 6e 20 65 78 74 72 61  ne 8.1, an extra
7710: 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 69 73   library path is
7720: 0a 23 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  .# required..#.!
7730: 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50  IF $(USE_WP81_OP
7740: 54 53 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 57  TS)!=0.!IFNDEF W
7750: 50 38 31 4c 49 42 50 41 54 48 0a 21 49 46 20 22  P81LIBPATH.!IF "
7760: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78  $(PLATFORM)"=="x
7770: 38 36 22 0a 57 50 38 31 4c 49 42 50 41 54 48 20  86".WP81LIBPATH 
7780: 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53  = $(PROGRAMFILES
7790: 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68  _X86)\Windows Ph
77a0: 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62  one Kits\8.1\lib
77b0: 5c 78 38 36 0a 21 45 4c 53 45 49 46 20 22 24 28  \x86.!ELSEIF "$(
77c0: 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d  PLATFORM)"=="ARM
77d0: 22 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20  ".WP81LIBPATH = 
77e0: 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58  $(PROGRAMFILES_X
77f0: 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e  86)\Windows Phon
7800: 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 41  e Kits\8.1\lib\A
7810: 52 4d 0a 21 45 4c 53 45 0a 57 50 38 31 4c 49 42  RM.!ELSE.WP81LIB
7820: 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d  PATH = $(PROGRAM
7830: 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f  FILES_X86)\Windo
7840: 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e  ws Phone Kits\8.
7850: 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4e 44 49 46  1\lib\x86.!ENDIF
7860: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
7870: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
7880: 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 68 6f   for Windows Pho
7890: 6e 65 20 38 2e 31 2c 20 73 6f 6d 65 20 65 78 74  ne 8.1, some ext
78a0: 72 61 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  ra linker option
78b0: 73 0a 23 20 61 72 65 20 61 6c 73 6f 20 72 65 71  s.# are also req
78c0: 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 55  uired..#.!IF $(U
78d0: 53 45 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d 30  SE_WP81_OPTS)!=0
78e0: 0a 21 49 46 44 45 46 20 57 50 38 31 4c 49 42 50  .!IFDEF WP81LIBP
78f0: 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  ATH.LTLINKOPTS =
7900: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22   $(LTLINKOPTS) "
7910: 2f 4c 49 42 50 41 54 48 3a 24 28 57 50 38 31 4c  /LIBPATH:$(WP81L
7920: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a  IBPATH)".!ENDIF.
7930: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L
7940: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41  TLINKOPTS) /DYNA
7950: 4d 49 43 42 41 53 45 0a 4c 54 4c 49 4e 4b 4f 50  MICBASE.LTLINKOP
7960: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
7970: 53 29 20 57 69 6e 64 6f 77 73 50 68 6f 6e 65 43  S) WindowsPhoneC
7980: 6f 72 65 2e 6c 69 62 20 52 75 6e 74 69 6d 65 4f  ore.lib RuntimeO
7990: 62 6a 65 63 74 2e 6c 69 62 20 50 68 6f 6e 65 41  bject.lib PhoneA
79a0: 70 70 4d 6f 64 65 6c 48 6f 73 74 2e 6c 69 62 0a  ppModelHost.lib.
79b0: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L
79c0: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45  TLINKOPTS) /NODE
79d0: 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33  FAULTLIB:kernel3
79e0: 32 2e 6c 69 62 20 2f 4e 4f 44 45 46 41 55 4c 54  2.lib /NODEFAULT
79f0: 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69 62 0a 21 45  LIB:ole32.lib.!E
7a00: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7a10: 70 69 6c 69 6e 67 20 66 6f 72 20 55 57 50 20 6f  piling for UWP o
7a20: 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30  r the Windows 10
7a30: 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f 6d 65 20   platform, some 
7a40: 65 78 74 72 61 20 6c 69 6e 6b 65 72 0a 23 20 6f  extra linker.# o
7a50: 70 74 69 6f 6e 73 20 61 72 65 20 61 6c 73 6f 20  ptions are also 
7a60: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20  required..#.!IF 
7a70: 24 28 46 4f 52 5f 55 57 50 29 21 3d 30 20 7c 7c  $(FOR_UWP)!=0 ||
7a80: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
7a90: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
7aa0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e  LTLINKOPTS) /DYN
7ab0: 41 4d 49 43 42 41 53 45 20 2f 4e 4f 44 45 46 41  AMICBASE /NODEFA
7ac0: 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e  ULTLIB:kernel32.
7ad0: 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  lib.LTLINKOPTS =
7ae0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 6d   $(LTLINKOPTS) m
7af0: 69 6e 63 6f 72 65 2e 6c 69 62 0a 21 49 46 44 45  incore.lib.!IFDE
7b00: 46 20 50 53 44 4b 4c 49 42 50 41 54 48 0a 4c 54  F PSDKLIBPATH.LT
7b10: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
7b20: 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41  INKOPTS) "/LIBPA
7b30: 54 48 3a 24 28 50 53 44 4b 4c 49 42 50 41 54 48  TH:$(PSDKLIBPATH
7b40: 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  )".!ENDIF.!ENDIF
7b50: 0a 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  ..!IF $(FOR_WIN1
7b60: 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53  0)!=0.LTLINKOPTS
7b70: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
7b80: 20 2f 67 75 61 72 64 3a 63 66 20 22 2f 4c 49 42   /guard:cf "/LIB
7b90: 50 41 54 48 3a 24 28 55 43 52 54 4c 49 42 50 41  PATH:$(UCRTLIBPA
7ba0: 54 48 29 22 0a 21 49 46 20 24 28 44 45 42 55 47  TH)".!IF $(DEBUG
7bb0: 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  )>1.LTLINKOPTS =
7bc0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f   $(LTLINKOPTS) /
7bd0: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62  NODEFAULTLIB:lib
7be0: 75 63 72 74 64 2e 6c 69 62 20 2f 44 45 46 41 55  ucrtd.lib /DEFAU
7bf0: 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c 69 62 0a  LTLIB:ucrtd.lib.
7c00: 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53  !ELSE.LTLINKOPTS
7c10: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
7c20: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c   /NODEFAULTLIB:l
7c30: 69 62 75 63 72 74 2e 6c 69 62 20 2f 44 45 46 41  ibucrt.lib /DEFA
7c40: 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c 69 62 0a  ULTLIB:ucrt.lib.
7c50: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
7c60: 20 49 66 20 65 69 74 68 65 72 20 64 65 62 75 67   If either debug
7c70: 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f 6c 73 20  ging or symbols 
7c80: 61 72 65 20 65 6e 61 62 6c 65 64 2c 20 65 6e 61  are enabled, ena
7c90: 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20  ble PDBs..#.!IF 
7ca0: 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28  $(DEBUG)>1 || $(
7cb0: 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c 44 46 4c  SYMBOLS)!=0.LDFL
7cc0: 41 47 53 20 3d 20 2f 44 45 42 55 47 20 24 28 4c  AGS = /DEBUG $(L
7cd0: 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a 4c 44 46  DOPTS).!ELSE.LDF
7ce0: 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50 54 53 29  LAGS = $(LDOPTS)
7cf0: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
7d00: 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77 69 74 68  k>>.# Start with
7d10: 20 74 68 65 20 54 63 6c 20 72 65 6c 61 74 65 64   the Tcl related
7d20: 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 2e   linker options.
7d30: 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29  .#.!IF $(NO_TCL)
7d40: 3d 3d 30 0a 54 43 4c 4c 49 42 50 41 54 48 53 20  ==0.TCLLIBPATHS 
7d50: 3d 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29  = $(TCLLIBPATHS)
7d60: 20 2f 4c 49 42 50 41 54 48 3a 24 28 54 43 4c 4c   /LIBPATH:$(TCLL
7d70: 49 42 44 49 52 29 0a 54 43 4c 4c 49 42 53 20 3d  IBDIR).TCLLIBS =
7d80: 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 49   $(TCLLIBS) $(LI
7d90: 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a 0a 23 20  BTCL).!ENDIF..# 
7da0: 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 20  If zlib support 
7db0: 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20  is enabled, add 
7dc0: 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  the linker optio
7dd0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  ns for it..#.!IF
7de0: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a   $(USE_ZLIB)!=0.
7df0: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c  LTLIBPATHS = $(L
7e00: 54 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50  TLIBPATHS) /LIBP
7e10: 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49 52  ATH:$(ZLIBLIBDIR
7e20: 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c  ).LTLIBS = $(LTL
7e30: 49 42 53 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a  IBS) $(ZLIBLIB).
7e40: 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55  !ENDIF..# If ICU
7e50: 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62   support is enab
7e60: 6c 65 64 2c 20 61 64 64 20 74 68 65 20 6c 69 6e  led, add the lin
7e70: 6b 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20  ker options for 
7e80: 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  it..#.!IF $(USE_
7e90: 49 43 55 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54  ICU)!=0.LTLIBPAT
7ea0: 48 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48  HS = $(LTLIBPATH
7eb0: 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 49 43  S) /LIBPATH:$(IC
7ec0: 55 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20  ULIBDIR).LTLIBS 
7ed0: 3d 20 24 28 4c 54 4c 49 42 53 29 20 24 28 4c 49  = $(LTLIBS) $(LI
7ee0: 42 49 43 55 29 0a 21 45 4e 44 49 46 0a 23 20 3c  BICU).!ENDIF.# <
7ef0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 59 6f 75 20  </mark>>..# You 
7f00: 73 68 6f 75 6c 64 20 6e 6f 74 20 68 61 76 65 20  should not have 
7f10: 74 6f 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69  to change anythi
7f20: 6e 67 20 62 65 6c 6f 77 20 74 68 69 73 20 6c 69  ng below this li
7f30: 6e 65 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ne.#############
7f40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f80: 23 23 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  ##..# <<mark>>.#
7f90: 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f   Object files fo
7fa0: 72 20 74 68 65 20 53 51 4c 69 74 65 20 6c 69 62  r the SQLite lib
7fb0: 72 61 72 79 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61  rary (non-amalga
7fc0: 6d 61 74 69 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42  mation)..#.LIBOB
7fd0: 4a 53 30 20 3d 20 76 64 62 65 2e 6c 6f 20 70 61  JS0 = vdbe.lo pa
7fe0: 72 73 65 2e 6c 6f 20 61 6c 74 65 72 2e 6c 6f 20  rse.lo alter.lo 
7ff0: 61 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74 74 61 63  analyze.lo attac
8000: 68 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20 5c 0a 20  h.lo auth.lo \. 
8010: 20 20 20 20 20 20 20 20 62 61 63 6b 75 70 2e 6c          backup.l
8020: 6f 20 62 69 74 76 65 63 2e 6c 6f 20 62 74 6d 75  o bitvec.lo btmu
8030: 74 65 78 2e 6c 6f 20 62 74 72 65 65 2e 6c 6f 20  tex.lo btree.lo 
8040: 62 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20 20 20 20  build.lo \.     
8050: 20 20 20 20 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20      callback.lo 
8060: 63 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63 74 69 6d  complete.lo ctim
8070: 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  e.lo \.         
8080: 64 61 74 65 2e 6c 6f 20 64 62 70 61 67 65 2e 6c  date.lo dbpage.l
8090: 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64 65 6c 65  o dbstat.lo dele
80a0: 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  te.lo \.        
80b0: 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 2e 6c   expr.lo fault.l
80c0: 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 20 20  o fkey.lo \.    
80d0: 20 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 74 73       fts3.lo fts
80e0: 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f 65 78  3_aux.lo fts3_ex
80f0: 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 68 2e  pr.lo fts3_hash.
8100: 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f 20 5c  lo fts3_icu.lo \
8110: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 70  .         fts3_p
8120: 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f 73 6e  orter.lo fts3_sn
8130: 69 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f 74 6f  ippet.lo fts3_to
8140: 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 33 5f  kenizer.lo fts3_
8150: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 5c 0a  tokenizer1.lo \.
8160: 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 74 6f           fts3_to
8170: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 20 66  kenize_vtab.lo f
8180: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 20 66  ts3_unicode.lo f
8190: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 20  ts3_unicode2.lo 
81a0: 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20 5c 0a  fts3_write.lo \.
81b0: 20 20 20 20 20 20 20 20 20 66 74 73 35 2e 6c 6f           fts5.lo
81c0: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63   \.         func
81d0: 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20 68 61  .lo global.lo ha
81e0: 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  sh.lo \.        
81f0: 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74 2e 6c   icu.lo insert.l
8200: 6f 20 6a 73 6f 6e 31 2e 6c 6f 20 6c 65 67 61 63  o json1.lo legac
8210: 79 2e 6c 6f 20 6c 6f 61 64 65 78 74 2e 6c 6f 20  y.lo loadext.lo 
8220: 5c 0a 20 20 20 20 20 20 20 20 20 6d 61 69 6e 2e  \.         main.
8230: 6c 6f 20 6d 61 6c 6c 6f 63 2e 6c 6f 20 6d 65 6d  lo malloc.lo mem
8240: 30 2e 6c 6f 20 6d 65 6d 31 2e 6c 6f 20 6d 65 6d  0.lo mem1.lo mem
8250: 32 2e 6c 6f 20 6d 65 6d 33 2e 6c 6f 20 6d 65 6d  2.lo mem3.lo mem
8260: 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  5.lo \.         
8270: 6d 65 6d 64 62 2e 6c 6f 20 6d 65 6d 6a 6f 75 72  memdb.lo memjour
8280: 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  nal.lo \.       
8290: 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78    mutex.lo mutex
82a0: 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75  _noop.lo mutex_u
82b0: 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32  nix.lo mutex_w32
82c0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6e  .lo \.         n
82d0: 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73  otify.lo opcodes
82e0: 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69  .lo os.lo os_uni
82f0: 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c  x.lo os_win.lo \
8300: 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 72 2e  .         pager.
8310: 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20 70 63 61  lo pcache.lo pca
8320: 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c  che1.lo pragma.l
8330: 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20 70 72 69  o prepare.lo pri
8340: 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ntf.lo \.       
8350: 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f    random.lo reso
8360: 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f  lve.lo rowset.lo
8370: 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20 20 20 20   rtree.lo \.    
8380: 20 20 20 20 20 73 71 6c 69 74 65 33 73 65 73 73       sqlite3sess
8390: 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c 6f  ion.lo select.lo
83a0: 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20 73   sqlite3rbu.lo s
83b0: 74 61 74 75 73 2e 6c 6f 20 73 74 6d 74 2e 6c 6f  tatus.lo stmt.lo
83c0: 20 5c 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c   \.         tabl
83d0: 65 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20  e.lo threads.lo 
83e0: 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65  tokenize.lo tree
83f0: 76 69 65 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e  view.lo trigger.
8400: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 70  lo \.         up
8410: 64 61 74 65 2e 6c 6f 20 75 70 73 65 72 74 2e 6c  date.lo upsert.l
8420: 6f 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d  o util.lo vacuum
8430: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76  .lo \.         v
8440: 64 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75  dbeapi.lo vdbeau
8450: 78 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f  x.lo vdbeblob.lo
8460: 20 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65   vdbemem.lo vdbe
8470: 73 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  sort.lo \.      
8480: 20 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20     vdbetrace.lo 
8490: 77 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f  wal.lo walker.lo
84a0: 20 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63   where.lo wherec
84b0: 6f 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72  ode.lo whereexpr
84c0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 77  .lo \.         w
84d0: 69 6e 64 6f 77 2e 6c 6f 20 75 74 66 2e 6c 6f 20  indow.lo utf.lo 
84e0: 76 74 61 62 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61 72  vtab.lo.# <</mar
84f0: 6b 3e 3e 0a 0a 23 20 4f 62 6a 65 63 74 20 66 69  k>>..# Object fi
8500: 6c 65 73 20 66 6f 72 20 74 68 65 20 61 6d 61 6c  les for the amal
8510: 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 4c 49 42 4f  gamation..#.LIBO
8520: 42 4a 53 31 20 3d 20 73 71 6c 69 74 65 33 2e 6c  BJS1 = sqlite3.l
8530: 6f 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 74  o..# Determine t
8540: 68 65 20 72 65 61 6c 20 76 61 6c 75 65 20 6f 66  he real value of
8550: 20 4c 49 42 4f 42 4a 20 62 61 73 65 64 20 6f 6e   LIBOBJ based on
8560: 20 74 68 65 20 27 63 6f 6e 66 69 67 75 72 65 27   the 'configure'
8570: 20 73 63 72 69 70 74 0a 23 0a 23 20 3c 3c 6d 61   script.#.# <<ma
8580: 72 6b 3e 3e 0a 21 49 46 20 24 28 55 53 45 5f 41  rk>>.!IF $(USE_A
8590: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
85a0: 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42  LIBOBJ = $(LIBOB
85b0: 4a 53 30 29 0a 21 45 4c 53 45 0a 23 20 3c 3c 2f  JS0).!ELSE.# <</
85c0: 6d 61 72 6b 3e 3e 0a 4c 49 42 4f 42 4a 20 3d 20  mark>>.LIBOBJ = 
85d0: 24 28 4c 49 42 4f 42 4a 53 31 29 0a 23 20 3c 3c  $(LIBOBJS1).# <<
85e0: 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 23 20  mark>>.!ENDIF.# 
85f0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 74  <</mark>>..# Det
8600: 65 72 6d 69 6e 65 20 69 66 20 65 6d 62 65 64 64  ermine if embedd
8610: 65 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d 70  ed resource comp
8620: 69 6c 61 74 69 6f 6e 20 61 6e 64 20 75 73 61 67  ilation and usag
8630: 65 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23  e are enabled..#
8640: 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29 21 3d  .!IF $(USE_RC)!=
8650: 30 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 20 73  0.LIBRESOBJS = s
8660: 71 6c 69 74 65 33 72 65 73 2e 6c 6f 0a 21 45 4c  qlite3res.lo.!EL
8670: 53 45 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 0a  SE.LIBRESOBJS =.
8680: 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b  !ENDIF..# <<mark
8690: 3e 3e 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65  >>.# Core source
86a0: 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72   code files, par
86b0: 74 20 31 2e 0a 23 0a 53 52 43 30 30 20 3d 20 5c  t 1..#.SRC00 = \
86c0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c  .  $(TOP)\src\al
86d0: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ter.c \.  $(TOP)
86e0: 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 5c  \src\analyze.c \
86f0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74  .  $(TOP)\src\at
8700: 74 61 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50  tach.c \.  $(TOP
8710: 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 5c 0a 20  )\src\auth.c \. 
8720: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b   $(TOP)\src\back
8730: 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  up.c \.  $(TOP)\
8740: 73 72 63 5c 62 69 74 76 65 63 2e 63 20 5c 0a 20  src\bitvec.c \. 
8750: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75   $(TOP)\src\btmu
8760: 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tex.c \.  $(TOP)
8770: 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 5c 0a 20  \src\btree.c \. 
8780: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c   $(TOP)\src\buil
8790: 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  d.c \.  $(TOP)\s
87a0: 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 5c 0a  rc\callback.c \.
87b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d    $(TOP)\src\com
87c0: 70 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f  plete.c \.  $(TO
87d0: 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 5c  P)\src\ctime.c \
87e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61  .  $(TOP)\src\da
87f0: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
8800: 73 72 63 5c 64 62 70 61 67 65 2e 63 20 5c 0a 20  src\dbpage.c \. 
8810: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74   $(TOP)\src\dbst
8820: 61 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  at.c \.  $(TOP)\
8830: 73 72 63 5c 64 65 6c 65 74 65 2e 63 20 5c 0a 20  src\delete.c \. 
8840: 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72   $(TOP)\src\expr
8850: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8860: 63 5c 66 61 75 6c 74 2e 63 20 5c 0a 20 20 24 28  c\fault.c \.  $(
8870: 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20  TOP)\src\fkey.c 
8880: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66  \.  $(TOP)\src\f
8890: 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  unc.c \.  $(TOP)
88a0: 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a  \src\global.c \.
88b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73    $(TOP)\src\has
88c0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  h.c \.  $(TOP)\s
88d0: 72 63 5c 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20  rc\insert.c \.  
88e0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63  $(TOP)\src\legac
88f0: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s
8900: 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 5c 0a 20  rc\loadext.c \. 
8910: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e   $(TOP)\src\main
8920: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8930: 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24  c\malloc.c \.  $
8940: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63  (TOP)\src\mem0.c
8950: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8960: 6d 65 6d 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50  mem1.c \.  $(TOP
8970: 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20  )\src\mem2.c \. 
8980: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33   $(TOP)\src\mem3
8990: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
89a0: 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 28 54  c\mem5.c \.  $(T
89b0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20  OP)\src\memdb.c 
89c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
89d0: 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20  emjournal.c \.  
89e0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
89f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8a00: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c  c\mutex_noop.c \
8a10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu
8a20: 74 65 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24  tex_unix.c \.  $
8a30: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
8a40: 77 33 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  w32.c \.  $(TOP)
8a50: 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a  \src\notify.c \.
8a60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e    $(TOP)\src\os.
8a70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8a80: 5c 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24  \os_unix.c \.  $
8a90: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
8aa0: 2e 63 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72 63  .c..# Core sourc
8ab0: 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61  e code files, pa
8ac0: 72 74 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20  rt 2..#.SRC01 = 
8ad0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
8ae0: 61 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ager.c \.  $(TOP
8af0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c  )\src\pcache.c \
8b00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc
8b10: 61 63 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f  ache1.c \.  $(TO
8b20: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20  P)\src\pragma.c 
8b30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
8b40: 72 65 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54  repare.c \.  $(T
8b50: 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63  OP)\src\printf.c
8b60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b70: 72 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54  random.c \.  $(T
8b80: 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e  OP)\src\resolve.
8b90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8ba0: 5c 72 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 28  \rowset.c \.  $(
8bb0: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e  TOP)\src\select.
8bc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8bd0: 5c 73 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 28  \status.c \.  $(
8be0: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
8bf0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8c00: 74 68 72 65 61 64 73 2e 63 20 5c 0a 20 20 24 28  threads.c \.  $(
8c10: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
8c20: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
8c30: 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c  src\tokenize.c \
8c40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  .  $(TOP)\src\tr
8c50: 65 65 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54  eeview.c \.  $(T
8c60: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e  OP)\src\trigger.
8c70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8c80: 5c 75 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50  \utf.c \.  $(TOP
8c90: 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 5c  )\src\update.c \
8ca0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70  .  $(TOP)\src\up
8cb0: 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sert.c \.  $(TOP
8cc0: 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20  )\src\util.c \. 
8cd0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75   $(TOP)\src\vacu
8ce0: 75 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  um.c \.  $(TOP)\
8cf0: 73 72 63 5c 76 64 62 65 2e 63 20 5c 0a 20 20 24  src\vdbe.c \.  $
8d00: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70  (TOP)\src\vdbeap
8d10: 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  i.c \.  $(TOP)\s
8d20: 72 63 5c 76 64 62 65 61 75 78 2e 63 20 5c 0a 20  rc\vdbeaux.c \. 
8d30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8d40: 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50  blob.c \.  $(TOP
8d50: 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20  )\src\vdbemem.c 
8d60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
8d70: 64 62 65 73 6f 72 74 2e 63 20 5c 0a 20 20 24 28  dbesort.c \.  $(
8d80: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61  TOP)\src\vdbetra
8d90: 63 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ce.c \.  $(TOP)\
8da0: 73 72 63 5c 76 74 61 62 2e 63 20 5c 0a 20 20 24  src\vtab.c \.  $
8db0: 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20  (TOP)\src\wal.c 
8dc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
8dd0: 61 6c 6b 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  alker.c \.  $(TO
8de0: 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 5c  P)\src\where.c \
8df0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  .  $(TOP)\src\wh
8e00: 65 72 65 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28  erecode.c \.  $(
8e10: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78  TOP)\src\whereex
8e20: 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  pr.c \.  $(TOP)\
8e30: 73 72 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 23 20  src\window.c..# 
8e40: 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f  Core miscellaneo
8e50: 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30  us files..#.SRC0
8e60: 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3 = \.  $(TOP)\s
8e70: 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f  rc\parse.y..# Co
8e80: 72 65 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c  re header files,
8e90: 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34   part 1..#.SRC04
8ea0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72   = \.  $(TOP)\sr
8eb0: 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28  c\btree.h \.  $(
8ec0: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e  TOP)\src\btreeIn
8ed0: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
8ee0: 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  rc\hash.h \.  $(
8ef0: 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e  TOP)\src\hwtime.
8f00: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8f10: 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f  \msvc.h \.  $(TO
8f20: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c  P)\src\mutex.h \
8f30: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os
8f40: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8f50: 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a  c\os_common.h \.
8f60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
8f70: 73 65 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f  setup.h \.  $(TO
8f80: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a  P)\src\os_win.h.
8f90: 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20 66  .# Core header f
8fa0: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a  iles, part 2..#.
8fb0: 53 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC05 = \.  $(TO
8fc0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c  P)\src\pager.h \
8fd0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc
8fe0: 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50  ache.h \.  $(TOP
8ff0: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c  )\src\pragma.h \
9000: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  .  $(TOP)\src\sq
9010: 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28  lite.h.in \.  $(
9020: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33  TOP)\src\sqlite3
9030: 65 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ext.h \.  $(TOP)
9040: 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68  \src\sqliteInt.h
9050: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9060: 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a  sqliteLimit.h \.
9070: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
9080: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.h \.  $(TOP)\s
9090: 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20  rc\vdbeInt.h \. 
90a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f   $(TOP)\src\vxwo
90b0: 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  rks.h \.  $(TOP)
90c0: 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24  \src\wal.h \.  $
90d0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49  (TOP)\src\whereI
90e0: 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f  nt.h..# Extensio
90f0: 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  n source code fi
9100: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
9110: 52 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC06 = \.  $(TOP
9120: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e  )\ext\fts1\fts1.
9130: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9140: 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e  \fts1\fts1_hash.
9150: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9160: 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65  \fts1\fts1_porte
9170: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
9180: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b  xt\fts1\fts1_tok
9190: 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28  enizer1.c \.  $(
91a0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
91b0: 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s2.c \.  $(TOP)\
91c0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61  ext\fts2\fts2_ha
91d0: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\
91e0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63  ext\fts2\fts2_ic
91f0: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e
9200: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72  xt\fts2\fts2_por
9210: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ter.c \.  $(TOP)
9220: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
9230: 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24  okenizer.c \.  $
9240: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
9250: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts2_tokenizer1.c
9260: 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f  ..# Extension so
9270: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c  urce code files,
9280: 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37   part 2..#.SRC07
9290: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex
92a0: 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a  t\fts3\fts3.c \.
92b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
92c0: 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20  3\fts3_aux.c \. 
92d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
92e0: 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20  \fts3_expr.c \. 
92f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
9300: 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20  \fts3_hash.c \. 
9310: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
9320: 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20  \fts3_icu.c \.  
9330: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9340: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a  fts3_porter.c \.
9350: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9360: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
9370: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9380: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
9390: 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  zer.c \.  $(TOP)
93a0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
93b0: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20  okenizer1.c \.  
93c0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
93d0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
93e0: 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ab.c \.  $(TOP)\
93f0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e  ext\fts3\fts3_un
9400: 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f  icode.c \.  $(TO
9410: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
9420: 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20  _unicode2.c \.  
9430: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9440: 66 74 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20  fts3_write.c \. 
9450: 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c   $(TOP)\ext\icu\
9460: 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  icu.c \.  $(TOP)
9470: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
9480: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9490: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65  t\session\sqlite
94a0: 33 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24  3session.c \.  $
94b0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
94c0: 6c 69 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24  lite3rbu.c \.  $
94d0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a  (TOP)\ext\misc\j
94e0: 73 6f 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50  son1.c \.  $(TOP
94f0: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e  )\ext\misc\stmt.
9500: 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68  c..# Extension h
9510: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72  eader files, par
9520: 74 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c  t 1..#.SRC08 = \
9530: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9540: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28  s1\fts1.h \.  $(
9550: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9560: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $(
9570: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9580: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c  s1_tokenizer.h \
9590: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
95a0: 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28  s2\fts2.h \.  $(
95b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
95c0: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s2_hash.h \.  $(
95d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
95e0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a  s2_tokenizer.h..
95f0: 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64  # Extension head
9600: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32  er files, part 2
9610: 2e 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20  ..#.SRC09 = \.  
9620: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9630: 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts3.h \.  $(TOP
9640: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49  )\ext\fts3\fts3I
9650: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\
9660: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
9670: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.h \.  $(TOP)\
9680: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
9690: 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28  kenizer.h \.  $(
96a0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c  TOP)\ext\icu\sql
96b0: 69 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54  iteicu.h \.  $(T
96c0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
96d0: 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ree.h \.  $(TOP)
96e0: 5c 65 78 74 5c 72 74 72 65 65 5c 67 65 6f 70 6f  \ext\rtree\geopo
96f0: 6c 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ly.c \.  $(TOP)\
9700: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
9710: 62 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  bu.h \.  $(TOP)\
9720: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
9730: 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20  te3session.h..# 
9740: 47 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65  Generated source
9750: 20 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53 52   code files.#.SR
9760: 43 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65  C10 = \.  opcode
9770: 73 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a  s.c \.  parse.c.
9780: 0a 23 20 47 65 6e 65 72 61 74 65 64 20 68 65 61  .# Generated hea
9790: 64 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43 31  der files.#.SRC1
97a0: 31 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68  1 = \.  keywordh
97b0: 61 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65  ash.h \.  opcode
97c0: 73 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68 20  s.h \.  parse.h 
97d0: 5c 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20 20  \.  shell.c \.  
97e0: 24 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20 47  $(SQLITE3H)..# G
97f0: 65 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65 61  enerated Tcl hea
9800: 64 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46 20  der files.#.!IF 
9810: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d  $(USE_STDCALL)!=
9820: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
9830: 29 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a 20  )!=0.SRC12 = \. 
9840: 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 5c   $(SQLITETCLH) \
9850: 0a 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45  .  $(SQLITETCLDE
9860: 43 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43 31  CLSH).!ELSE.SRC1
9870: 32 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c  2 =.!ENDIF..# Al
9880: 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  l source code fi
9890: 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53  les..#.SRC = $(S
98a0: 52 43 30 30 29 20 24 28 53 52 43 30 31 29 20 24  RC00) $(SRC01) $
98b0: 28 53 52 43 30 33 29 20 24 28 53 52 43 30 34 29  (SRC03) $(SRC04)
98c0: 20 24 28 53 52 43 30 35 29 20 24 28 53 52 43 30   $(SRC05) $(SRC0
98d0: 36 29 20 24 28 53 52 43 30 37 29 20 24 28 53 52  6) $(SRC07) $(SR
98e0: 43 30 38 29 20 24 28 53 52 43 30 39 29 20 24 28  C08) $(SRC09) $(
98f0: 53 52 43 31 30 29 20 24 28 53 52 43 31 31 29 0a  SRC10) $(SRC11).
9900: 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74  .# Source code t
9910: 6f 20 74 68 65 20 74 65 73 74 20 66 69 6c 65 73  o the test files
9920: 2e 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c 0a  ..#.TESTSRC = \.
9930: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9940: 74 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t1.c \.  $(TOP)\
9950: 73 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20 20  src\test2.c \.  
9960: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 33  $(TOP)\src\test3
9970: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9980: 63 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24 28  c\test4.c \.  $(
9990: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e 63  TOP)\src\test5.c
99a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
99b0: 74 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54 4f  test6.c \.  $(TO
99c0: 50 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20 5c  P)\src\test7.c \
99d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
99e0: 73 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st8.c \.  $(TOP)
99f0: 5c 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a 20  \src\test9.c \. 
9a00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
9a10: 5f 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20 24  _autoext.c \.  $
9a20: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 61  (TOP)\src\test_a
9a30: 73 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sync.c \.  $(TOP
9a40: 29 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b 75  )\src\test_backu
9a50: 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  p.c \.  $(TOP)\s
9a60: 72 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64 65  rc\test_bestinde
9a70: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  x.c \.  $(TOP)\s
9a80: 72 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20 5c  rc\test_blob.c \
9a90: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9aa0: 73 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20 24  st_btree.c \.  $
9ab0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 63  (TOP)\src\test_c
9ac0: 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54 4f  onfig.c \.  $(TO
9ad0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c 65  P)\src\test_dele
9ae0: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
9af0: 73 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73  src\test_demovfs
9b00: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9b10: 63 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63 20  c\test_devsym.c 
9b20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9b30: 65 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28 54  est_fs.c \.  $(T
9b40: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75 6e  OP)\src\test_fun
9b50: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s
9b60: 72 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63 20  rc\test_hexio.c 
9b70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
9b80: 65 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 24  est_init.c \.  $
9b90: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69  (TOP)\src\test_i
9ba0: 6e 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28  ntarray.c \.  $(
9bb0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a 6f  TOP)\src\test_jo
9bc0: 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  urnal.c \.  $(TO
9bd0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c 6c  P)\src\test_mall
9be0: 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  oc.c \.  $(TOP)\
9bf0: 73 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20 5c  src\test_md5.c \
9c00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9c10: 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c  st_multiplex.c \
9c20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9c30: 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24  st_mutex.c \.  $
9c40: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f  (TOP)\src\test_o
9c50: 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54  nefile.c \.  $(T
9c60: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69  OP)\src\test_osi
9c70: 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nst.c \.  $(TOP)
9c80: 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65  \src\test_pcache
9c90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9ca0: 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c  c\test_quota.c \
9cb0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9cc0: 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24  st_rtree.c \.  $
9cd0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
9ce0: 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f  chema.c \.  $(TO
9cf0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76  P)\src\test_serv
9d00: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
9d10: 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f  src\test_superlo
9d20: 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ck.c \.  $(TOP)\
9d30: 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c  src\test_syscall
9d40: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
9d50: 63 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20 5c  c\test_tclsh.c \
9d60: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
9d70: 73 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20  st_tclvar.c \.  
9d80: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
9d90: 74 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 54  thread.c \.  $(T
9da0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 64 62  OP)\src\test_vdb
9db0: 65 63 6f 76 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ecov.c \.  $(TOP
9dc0: 29 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e 63  )\src\test_vfs.c
9dd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9de0: 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e 63  test_windirent.c
9df0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9e00: 74 65 73 74 5f 77 69 6e 64 6f 77 2e 63 20 5c 0a  test_window.c \.
9e10: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9e20: 74 5f 77 73 64 2e 63 20 5c 0a 20 20 24 28 54 4f  t_wsd.c \.  $(TO
9e30: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
9e40: 5f 74 65 72 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  _term.c \.  $(TO
9e50: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
9e60: 5f 74 65 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f  _test.c \.  $(TO
9e70: 50 29 5c 65 78 74 5c 72 62 75 5c 74 65 73 74 5f  P)\ext\rbu\test_
9e80: 72 62 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  rbu.c \.  $(TOP)
9e90: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 74 65 73  \ext\session\tes
9ea0: 74 5f 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 53  t_session.c..# S
9eb0: 74 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64  tatically linked
9ec0: 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a 23 0a 54   extensions..#.T
9ed0: 45 53 54 45 58 54 20 3d 20 5c 0a 20 20 24 28 54  ESTEXT = \.  $(T
9ee0: 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73  OP)\ext\expert\s
9ef0: 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 5c  qlite3expert.c \
9f00: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  .  $(TOP)\ext\ex
9f10: 70 65 72 74 5c 74 65 73 74 5f 65 78 70 65 72 74  pert\test_expert
9f20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9f30: 74 5c 6d 69 73 63 5c 61 6d 61 74 63 68 2e 63 20  t\misc\amatch.c 
9f40: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9f50: 69 73 63 5c 63 61 72 72 61 79 2e 63 20 5c 0a 20  isc\carray.c \. 
9f60: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9f70: 5c 63 6c 6f 73 75 72 65 2e 63 20 5c 0a 20 20 24  \closure.c \.  $
9f80: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63  (TOP)\ext\misc\c
9f90: 73 76 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sv.c \.  $(TOP)\
9fa0: 65 78 74 5c 6d 69 73 63 5c 65 76 61 6c 2e 63 20  ext\misc\eval.c 
9fb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9fc0: 69 73 63 5c 65 78 70 6c 61 69 6e 2e 63 20 5c 0a  isc\explain.c \.
9fd0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9fe0: 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 20 20 24  c\fileio.c \.  $
9ff0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66  (TOP)\ext\misc\f
a000: 75 7a 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  uzzer.c \.  $(TO
a010: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
a020: 5f 74 63 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _tcl.c \.  $(TOP
a030: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
a040: 74 65 73 74 5f 6d 69 2e 63 20 5c 0a 20 20 24 28  test_mi.c \.  $(
a050: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
a060: 73 35 5f 74 65 73 74 5f 74 6f 6b 2e 63 20 5c 0a  s5_test_tok.c \.
a070: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
a080: 63 5c 69 65 65 65 37 35 34 2e 63 20 5c 0a 20 20  c\ieee754.c \.  
a090: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
a0a0: 6d 6d 61 70 77 61 72 6d 2e 63 20 5c 0a 20 20 24  mmapwarm.c \.  $
a0b0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e  (TOP)\ext\misc\n
a0c0: 65 78 74 63 68 61 72 2e 63 20 5c 0a 20 20 24 28  extchar.c \.  $(
a0d0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e 6f  TOP)\ext\misc\no
a0e0: 72 6d 61 6c 69 7a 65 2e 63 20 5c 0a 20 20 24 28  rmalize.c \.  $(
a0f0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 70 65  TOP)\ext\misc\pe
a100: 72 63 65 6e 74 69 6c 65 2e 63 20 5c 0a 20 20 24  rcentile.c \.  $
a110: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 70  (TOP)\ext\misc\p
a120: 72 65 66 69 78 65 73 2e 63 20 5c 0a 20 20 24 28  refixes.c \.  $(
a130: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65  TOP)\ext\misc\re
a140: 67 65 78 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50  gexp.c \.  $(TOP
a150: 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65 6d 65 6d  )\ext\misc\remem
a160: 62 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ber.c \.  $(TOP)
a170: 5c 65 78 74 5c 6d 69 73 63 5c 73 65 72 69 65 73  \ext\misc\series
a180: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
a190: 74 5c 6d 69 73 63 5c 73 70 65 6c 6c 66 69 78 2e  t\misc\spellfix.
a1a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
a1b0: 5c 6d 69 73 63 5c 74 6f 74 79 70 65 2e 63 20 5c  \misc\totype.c \
a1c0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
a1d0: 73 63 5c 75 6e 69 6f 6e 76 74 61 62 2e 63 20 5c  sc\unionvtab.c \
a1e0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
a1f0: 73 63 5c 77 68 6f 6c 65 6e 75 6d 62 65 72 2e 63  sc\wholenumber.c
a200: 0a 0a 23 20 49 66 20 75 73 65 20 6f 66 20 7a 6c  ..# If use of zl
a210: 69 62 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61  ib is enabled, a
a220: 64 64 20 74 68 65 20 22 7a 69 70 66 69 6c 65 2e  dd the "zipfile.
a230: 63 22 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a  c" source file..
a240: 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42  #.!IF $(USE_ZLIB
a250: 29 21 3d 30 0a 54 45 53 54 45 58 54 20 3d 20 24  )!=0.TESTEXT = $
a260: 28 54 45 53 54 45 58 54 29 20 24 28 54 4f 50 29  (TESTEXT) $(TOP)
a270: 5c 65 78 74 5c 6d 69 73 63 5c 7a 69 70 66 69 6c  \ext\misc\zipfil
a280: 65 2e 63 0a 21 45 4e 44 49 46 0a 0a 23 20 53 6f  e.c.!ENDIF..# So
a290: 75 72 63 65 20 63 6f 64 65 20 74 6f 20 74 68 65  urce code to the
a2a0: 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 20 6e   library files n
a2b0: 65 65 64 65 64 20 62 79 20 74 68 65 20 74 65 73  eeded by the tes
a2c0: 74 20 66 69 78 74 75 72 65 0a 23 20 28 6e 6f 6e  t fixture.# (non
a2d0: 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 0a 23  -amalgamation).#
a2e0: 0a 54 45 53 54 53 52 43 32 20 3d 20 5c 0a 20 20  .TESTSRC2 = \.  
a2f0: 24 28 53 52 43 30 30 29 20 5c 0a 20 20 24 28 53  $(SRC00) \.  $(S
a300: 52 43 30 31 29 20 5c 0a 20 20 24 28 53 52 43 30  RC01) \.  $(SRC0
a310: 36 29 20 5c 0a 20 20 24 28 53 52 43 30 37 29 20  6) \.  $(SRC07) 
a320: 5c 0a 20 20 24 28 53 52 43 31 30 29 20 5c 0a 20  \.  $(SRC10) \. 
a330: 20 24 28 54 4f 50 29 5c 65 78 74 5c 61 73 79 6e   $(TOP)\ext\asyn
a340: 63 5c 73 71 6c 69 74 65 33 61 73 79 6e 63 2e 63  c\sqlite3async.c
a350: 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65 73  ..# Header files
a360: 20 75 73 65 64 20 62 79 20 61 6c 6c 20 6c 69 62   used by all lib
a370: 72 61 72 79 20 73 6f 75 72 63 65 20 66 69 6c 65  rary source file
a380: 73 2e 0a 23 0a 48 44 52 20 3d 20 5c 0a 20 20 20  s..#.HDR = \.   
a390: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
a3a0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
a3b0: 72 63 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a  rc\btreeInt.h \.
a3c0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61     $(TOP)\src\ha
a3d0: 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  sh.h \.   $(TOP)
a3e0: 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a  \src\hwtime.h \.
a3f0: 20 20 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68     keywordhash.h
a400: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
a410: 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 20 24 28 54  \msvc.h \.   $(T
a420: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20  OP)\src\mutex.h 
a430: 5c 0a 20 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c  \.   opcodes.h \
a440: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  .   $(TOP)\src\o
a450: 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  s.h \.   $(TOP)\
a460: 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20  src\os_common.h 
a470: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
a480: 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 20  os_setup.h \.   
a490: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi
a4a0: 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  n.h \.   $(TOP)\
a4b0: 73 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a 20 20  src\pager.h \.  
a4c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
a4d0: 68 65 2e 68 20 5c 0a 20 20 20 70 61 72 73 65 2e  he.h \.   parse.
a4e0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
a4f0: 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a 20 20 20  c\pragma.h \.   
a500: 24 28 53 51 4c 49 54 45 33 48 29 20 5c 0a 20 20  $(SQLITE3H) \.  
a510: 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a   sqlite3ext.h \.
a520: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71     $(TOP)\src\sq
a530: 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24  liteInt.h \.   $
a540: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
a550: 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 20 24 28 54  Limit.h \.   $(T
a560: 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c  OP)\src\vdbe.h \
a570: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  .   $(TOP)\src\v
a580: 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28  dbeInt.h \.   $(
a590: 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73  TOP)\src\vxworks
a5a0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
a5b0: 72 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23  rc\whereInt.h..#
a5c0: 20 48 65 61 64 65 72 20 66 69 6c 65 73 20 75 73   Header files us
a5d0: 65 64 20 62 79 20 65 78 74 65 6e 73 69 6f 6e 73  ed by extensions
a5e0: 0a 23 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .#.EXTHDR = $(EX
a5f0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
a600: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68  \ext\fts1\fts1.h
a610: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
a620: 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68  fts1\fts1_hash.h
a630: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
a640: 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69  fts1\fts1_tokeni
a650: 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24  zer.h.EXTHDR = $
a660: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54  (EXTHDR) \.  $(T
a670: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
a680: 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  2.h \.  $(TOP)\e
a690: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73  xt\fts2\fts2_has
a6a0: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.h \.  $(TOP)\e
a6b0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
a6c0: 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20  enizer.h.EXTHDR 
a6d0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
a6e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
a6f0: 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts3.h \.  $(TOP
a700: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49  )\ext\fts3\fts3I
a710: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\
a720: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
a730: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.h \.  $(TOP)\
a740: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
a750: 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52  kenizer.h.EXTHDR
a760: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. 
a770: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
a780: 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 20 24 28  e\rtree.h \.  $(
a790: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 67  TOP)\ext\rtree\g
a7a0: 65 6f 70 6f 6c 79 2e 63 0a 45 58 54 48 44 52 20  eopoly.c.EXTHDR 
a7b0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
a7c0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73  $(TOP)\ext\icu\s
a7d0: 71 6c 69 74 65 69 63 75 2e 68 0a 45 58 54 48 44  qliteicu.h.EXTHD
a7e0: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \.
a7f0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72    $(TOP)\ext\rtr
a800: 65 65 5c 73 71 6c 69 74 65 33 72 74 72 65 65 2e  ee\sqlite3rtree.
a810: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
a820: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
a830: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
a840: 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20  te3session.h..# 
a850: 65 78 65 63 75 74 61 62 6c 65 73 20 6e 65 65 64  executables need
a860: 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 0a 23  ed for testing.#
a870: 0a 54 45 53 54 50 52 4f 47 53 20 3d 20 5c 0a 20  .TESTPROGS = \. 
a880: 20 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65   testfixture.exe
a890: 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 45 58   \.  $(SQLITE3EX
a8a0: 45 29 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f 61  E) \.  sqlite3_a
a8b0: 6e 61 6c 79 7a 65 72 2e 65 78 65 20 5c 0a 20 20  nalyzer.exe \.  
a8c0: 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
a8d0: 65 78 65 20 5c 0a 20 20 73 71 6c 64 69 66 66 2e  exe \.  sqldiff.
a8e0: 65 78 65 20 5c 0a 20 20 64 62 68 61 73 68 2e 65  exe \.  dbhash.e
a8f0: 78 65 20 5c 0a 20 20 73 71 6c 74 63 6c 73 68 2e  xe \.  sqltclsh.
a900: 65 78 65 0a 0a 23 20 44 61 74 61 62 61 73 65 73  exe..# Databases
a910: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 66 75 7a 7a   containing fuzz
a920: 65 72 20 74 65 73 74 20 63 61 73 65 73 0a 23 0a  er test cases.#.
a930: 46 55 5a 5a 44 41 54 41 20 3d 20 5c 0a 20 20 24  FUZZDATA = \.  $
a940: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
a950: 61 74 61 31 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata1.db \.  $(TO
a960: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
a970: 32 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  2.db \.  $(TOP)\
a980: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 33 2e 64  test\fuzzdata3.d
a990: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes
a9a0: 74 5c 66 75 7a 7a 64 61 74 61 34 2e 64 62 20 5c  t\fuzzdata4.db \
a9b0: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  .  $(TOP)\test\f
a9c0: 75 7a 7a 64 61 74 61 35 2e 64 62 20 5c 0a 20 20  uzzdata5.db \.  
a9d0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz
a9e0: 64 61 74 61 36 2e 64 62 20 5c 0a 20 20 24 28 54  data6.db \.  $(T
a9f0: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74  OP)\test\fuzzdat
aa00: 61 37 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29  a7.db \.  $(TOP)
aa10: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 38 2e  \test\fuzzdata8.
aa20: 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  db.# <</mark>>..
aa30: 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d  # Additional com
aa40: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
aa50: 72 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54 68  r the shell.  Th
aa60: 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66 66  ese are only eff
aa70: 65 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74 68  ective.# when th
aa80: 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20 62  e shell is not b
aa90: 65 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79  eing dynamically
aaa0: 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20 24   linked..#.!IF $
aab0: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d  (DYNAMIC_SHELL)=
aac0: 3d 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e 31  =0 && $(FOR_WIN1
aad0: 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50  0)==0.SHELL_COMP
aae0: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45  ILE_OPTS = $(SHE
aaf0: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
ab00: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
ab10: 5f 46 54 53 34 3d 31 0a 53 48 45 4c 4c 5f 43 4f  _FTS4=1.SHELL_CO
ab20: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53  MPILE_OPTS = $(S
ab30: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
ab40: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
ab50: 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45  LE_EXPLAIN_COMME
ab60: 4e 54 53 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50  NTS=1.SHELL_COMP
ab70: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45  ILE_OPTS = $(SHE
ab80: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
ab90: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
aba0: 5f 4f 46 46 53 45 54 5f 53 51 4c 5f 46 55 4e 43  _OFFSET_SQL_FUNC
abb0: 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  =1.SHELL_COMPILE
abc0: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_
abd0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44  COMPILE_OPTS) -D
abe0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 45  SQLITE_ENABLE_DE
abf0: 53 45 52 49 41 4c 49 5a 45 3d 31 0a 21 45 4e 44  SERIALIZE=1.!END
ac00: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
ac10: 20 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 72 20   Extra compiler 
ac20: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 69  options for vari
ac30: 6f 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a  ous test tools..
ac40: 23 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49  #.MPTESTER_COMPI
ac50: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  LE_OPTS = -DSQLI
ac60: 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20  TE_ENABLE_JSON1 
ac70: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
ac80: 46 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c 4c  FTS5.FUZZERSHELL
ac90: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
aca0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
acb0: 4a 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b 5f  JSON1.FUZZCHECK_
acc0: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
acd0: 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53  ENABLE_JSON1 -DS
ace0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d  QLITE_ENABLE_MEM
acf0: 53 59 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f 53  SYS5 -DSQLITE_OS
ad00: 53 5f 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45 5f  S_FUZZ -DSQLITE_
ad10: 4d 41 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30 30  MAX_MEMORY=50000
ad20: 30 30 30 20 2d 44 53 51 4c 49 54 45 5f 50 52 49  000 -DSQLITE_PRI
ad30: 4e 54 46 5f 50 52 45 43 49 53 49 4f 4e 5f 4c 49  NTF_PRECISION_LI
ad40: 4d 49 54 3d 31 30 30 30 0a 46 55 5a 5a 43 48 45  MIT=1000.FUZZCHE
ad50: 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a  CK_OPTS = $(FUZZ
ad60: 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51  CHECK_OPTS) -DSQ
ad70: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45  LITE_ENABLE_DESE
ad80: 52 49 41 4c 49 5a 45 0a 46 55 5a 5a 43 48 45 43  RIALIZE.FUZZCHEC
ad90: 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a 43  K_OPTS = $(FUZZC
ada0: 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51 4c  HECK_OPTS) -DSQL
adb0: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 0a  ITE_ENABLE_FTS4.
adc0: 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d  FUZZCHECK_OPTS =
add0: 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54   $(FUZZCHECK_OPT
ade0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
adf0: 4c 45 5f 52 54 52 45 45 0a 46 55 5a 5a 43 48 45  LE_RTREE.FUZZCHE
ae00: 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a  CK_OPTS = $(FUZZ
ae10: 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51  CHECK_OPTS) -DSQ
ae20: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 47 45 4f 50  LITE_ENABLE_GEOP
ae30: 4f 4c 59 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50  OLY.FUZZCHECK_OP
ae40: 54 53 20 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b  TS = $(FUZZCHECK
ae50: 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f  _OPTS) -DSQLITE_
ae60: 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 54  ENABLE_DBSTAT_VT
ae70: 41 42 0a 0a 46 55 5a 5a 43 48 45 43 4b 5f 53 52  AB..FUZZCHECK_SR
ae80: 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  C = $(TOP)\test\
ae90: 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 54 4f  fuzzcheck.c $(TO
aea0: 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e  P)\test\ossfuzz.
aeb0: 63 0a 4f 53 53 53 48 45 4c 4c 5f 53 52 43 20 3d  c.OSSSHELL_SRC =
aec0: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73   $(TOP)\test\oss
aed0: 73 68 65 6c 6c 2e 63 20 24 28 54 4f 50 29 5c 74  shell.c $(TOP)\t
aee0: 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 44 42  est\ossfuzz.c.DB
aef0: 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  FUZZ_COMPILE_OPT
af00: 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  S = -DSQLITE_THR
af10: 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
af20: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
af30: 45 4e 53 49 4f 4e 0a 4b 56 5f 43 4f 4d 50 49 4c  ENSION.KV_COMPIL
af40: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
af50: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
af60: 44 53 51 4c 49 54 45 5f 44 49 52 45 43 54 5f 4f  DSQLITE_DIRECT_O
af70: 56 45 52 46 4c 4f 57 5f 52 45 41 44 0a 53 54 5f  VERFLOW_READ.ST_
af80: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d  COMPILE_OPTS = -
af90: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
afa0: 46 45 3d 30 0a 0a 23 20 53 74 61 6e 64 61 72 64  FE=0..# Standard
afb0: 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74 65 73 74   options to test
afc0: 66 69 78 74 75 72 65 2e 0a 23 0a 54 45 53 54 4f  fixture..#.TESTO
afd0: 50 54 53 20 3d 20 2d 2d 76 65 72 62 6f 73 65 3d  PTS = --verbose=
afe0: 66 69 6c 65 20 2d 2d 6f 75 74 70 75 74 3d 74 65  file --output=te
aff0: 73 74 2d 6f 75 74 2e 74 78 74 0a 0a 23 20 45 78  st-out.txt..# Ex
b000: 74 72 61 20 74 61 72 67 65 74 73 20 66 6f 72 20  tra targets for 
b010: 74 68 65 20 22 61 6c 6c 22 20 74 61 72 67 65 74  the "all" target
b020: 20 74 68 61 74 20 72 65 71 75 69 72 65 20 54 63   that require Tc
b030: 6c 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43  l..#.!IF $(NO_TC
b040: 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41  L)==0.ALL_TCL_TA
b050: 52 47 45 54 53 20 3d 20 24 28 53 51 4c 49 54 45  RGETS = $(SQLITE
b060: 33 54 43 4c 44 4c 4c 29 0a 21 45 4c 53 45 0a 41  3TCLDLL).!ELSE.A
b070: 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d  LL_TCL_TARGETS =
b080: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
b090: 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74  k>>..# This is t
b0a0: 68 65 20 64 65 66 61 75 6c 74 20 4d 61 6b 65 66  he default Makef
b0b0: 69 6c 65 20 74 61 72 67 65 74 2e 20 20 54 68 65  ile target.  The
b0c0: 20 6f 62 6a 65 63 74 73 20 6c 69 73 74 65 64 20   objects listed 
b0d0: 68 65 72 65 0a 23 20 61 72 65 20 77 68 61 74 20  here.# are what 
b0e0: 67 65 74 20 62 75 69 6c 64 20 77 68 65 6e 20 79  get build when y
b0f0: 6f 75 20 74 79 70 65 20 6a 75 73 74 20 22 6d 61  ou type just "ma
b100: 6b 65 22 20 77 69 74 68 20 6e 6f 20 61 72 67 75  ke" with no argu
b110: 6d 65 6e 74 73 2e 0a 23 0a 63 6f 72 65 3a 09 64  ments..#.core:.d
b120: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  ll libsqlite3.li
b130: 62 20 73 68 65 6c 6c 0a 0a 23 20 54 61 72 67 65  b shell..# Targe
b140: 74 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20  ts that require 
b150: 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 2e  the Tcl library.
b160: 0a 23 0a 74 63 6c 3a 09 24 28 41 4c 4c 5f 54 43  .#.tcl:.$(ALL_TC
b170: 4c 5f 54 41 52 47 45 54 53 29 0a 0a 23 20 54 68  L_TARGETS)..# Th
b180: 69 73 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67  is Makefile targ
b190: 65 74 20 62 75 69 6c 64 73 20 61 6c 6c 20 6f 66  et builds all of
b1a0: 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 62 69   the standard bi
b1b0: 6e 61 72 69 65 73 2e 0a 23 0a 61 6c 6c 3a 09 63  naries..#.all:.c
b1c0: 6f 72 65 20 74 63 6c 0a 0a 23 20 44 79 6e 61 6d  ore tcl..# Dynam
b1d0: 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20  ic link library 
b1e0: 73 65 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09  section..#.dll:.
b1f0: 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23  $(SQLITE3DLL)..#
b200: 20 53 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   Shell executabl
b210: 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09 24 28 53 51  e..#.shell:.$(SQ
b220: 4c 49 54 45 33 45 58 45 29 0a 0a 23 20 3c 3c 6d  LITE3EXE)..# <<m
b230: 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c 69 74 65 33  ark>>.libsqlite3
b240: 2e 6c 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a  .lib:.$(LIBOBJ).
b250: 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49  .$(LTLIB) $(LTLI
b260: 42 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24  BOPTS) /OUT:$@ $
b270: 28 4c 49 42 4f 42 4a 29 20 24 28 54 4c 49 42 53  (LIBOBJ) $(TLIBS
b280: 29 0a 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65 33  )..libtclsqlite3
b290: 2e 6c 69 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e  .lib:.tclsqlite.
b2a0: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  lo libsqlite3.li
b2b0: 62 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54  b..$(LTLIB) $(LT
b2c0: 4c 49 42 4f 50 54 53 29 20 24 28 54 43 4c 4c 49  LIBOPTS) $(TCLLI
b2d0: 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50  BPATHS) $(LTLIBP
b2e0: 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63  ATHS) /OUT:$@ tc
b2f0: 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71  lsqlite.lo libsq
b300: 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 54  lite3.lib $(LIBT
b310: 43 4c 53 54 55 42 29 20 24 28 54 4c 49 42 53 29  CLSTUB) $(TLIBS)
b320: 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e 64 65 66  ..tclsqlite3.def
b330: 3a 09 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 0a 09  :.tclsqlite.lo..
b340: 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20 74  echo EXPORTS > t
b350: 63 6c 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64  clsqlite3.def..d
b360: 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 74 63 6c 73  umpbin /all tcls
b370: 71 6c 69 74 65 2e 6c 6f 20 5c 0a 09 09 7c 20 24  qlite.lo \...| $
b380: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
b390: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
b3a0: 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73  tcl include "^\s
b3b0: 2b 2f 45 58 50 4f 52 54 3a 5f 3f 28 28 3f 3a 53  +/EXPORT:_?((?:S
b3c0: 71 6c 69 74 65 33 7c 54 63 6c 73 71 6c 69 74 65  qlite3|Tclsqlite
b3d0: 33 29 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b  3)_[^@]*)(?:@\d+
b3e0: 29 3f 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73  )?$$" \1 \...| s
b3f0: 6f 72 74 20 3e 3e 20 74 63 6c 73 71 6c 69 74 65  ort >> tclsqlite
b400: 33 2e 64 65 66 0a 0a 70 6b 67 49 6e 64 65 78 2e  3.def..pkgIndex.
b410: 74 63 6c 3a 09 24 28 54 4f 50 29 5c 56 45 52 53  tcl:.$(TOP)\VERS
b420: 49 4f 4e 0a 09 66 6f 72 20 2f 46 20 25 25 56 20  ION..for /F %%V 
b430: 69 6e 20 28 27 74 79 70 65 20 22 24 28 54 4f 50  in ('type "$(TOP
b440: 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 64 6f 20  )\VERSION"') do 
b450: 28 20 5c 0a 09 09 65 63 68 6f 20 70 61 63 6b 61  ( \...echo packa
b460: 67 65 20 69 66 6e 65 65 64 65 64 20 73 71 6c 69  ge ifneeded sqli
b470: 74 65 33 20 40 76 65 72 73 69 6f 6e 40 20 5b 6c  te3 @version@ [l
b480: 69 73 74 20 6c 6f 61 64 20 5b 66 69 6c 65 20 6a  ist load [file j
b490: 6f 69 6e 20 24 24 64 69 72 20 24 28 53 51 4c 49  oin $$dir $(SQLI
b4a0: 54 45 33 54 43 4c 44 4c 4c 29 5d 20 73 71 6c 69  TE3TCLDLL)] sqli
b4b0: 74 65 33 5d 20 5c 0a 09 09 09 7c 20 24 28 54 43  te3] \....| $(TC
b4c0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
b4d0: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
b4e0: 20 65 78 61 63 74 20 40 76 65 72 73 69 6f 6e 40   exact @version@
b4f0: 20 25 25 56 20 3e 20 70 6b 67 49 6e 64 65 78 2e   %%V > pkgIndex.
b500: 74 63 6c 20 5c 0a 09 29 0a 0a 24 28 53 51 4c 49  tcl \..)..$(SQLI
b510: 54 45 33 54 43 4c 44 4c 4c 29 3a 09 6c 69 62 74  TE3TCLDLL):.libt
b520: 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 20 24 28  clsqlite3.lib $(
b530: 4c 49 42 52 45 53 4f 42 4a 53 29 20 74 63 6c 73  LIBRESOBJS) tcls
b540: 71 6c 69 74 65 33 2e 64 65 66 20 70 6b 67 49 6e  qlite3.def pkgIn
b550: 64 65 78 2e 74 63 6c 0a 09 24 28 4c 44 29 20 24  dex.tcl..$(LD) $
b560: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
b570: 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  NKOPTS) $(LTLIBP
b580: 41 54 48 53 29 20 2f 44 4c 4c 20 2f 44 45 46 3a  ATHS) /DLL /DEF:
b590: 74 63 6c 73 71 6c 69 74 65 33 2e 64 65 66 20 2f  tclsqlite3.def /
b5a0: 4f 55 54 3a 24 40 20 6c 69 62 74 63 6c 73 71 6c  OUT:$@ libtclsql
b5b0: 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 52 45  ite3.lib $(LIBRE
b5c0: 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29  SOBJS) $(LTLIBS)
b5d0: 20 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d   $(TLIBS).# <</m
b5e0: 61 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33  ark>>..$(SQLITE3
b5f0: 44 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20  DLL):.$(LIBOBJ) 
b600: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
b610: 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09  CORE_LINK_DEP)..
b620: 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29  $(LD) $(LDFLAGS)
b630: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS) $
b640: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c  (LTLIBPATHS) /DL
b650: 4c 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50  L $(CORE_LINK_OP
b660: 54 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49  TS) /OUT:$@ $(LI
b670: 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42  BOBJ) $(LIBRESOB
b680: 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  JS) $(LTLIBS) $(
b690: 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63  TLIBS)..# <<bloc
b6a0: 6b 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66  k2>>.sqlite3.def
b6b0: 3a 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62  :.libsqlite3.lib
b6c0: 0a 09 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e  ..echo EXPORTS >
b6d0: 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 75   sqlite3.def..du
b6e0: 6d 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71  mpbin /all libsq
b6f0: 6c 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20  lite3.lib \...| 
b700: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
b710: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
b720: 2e 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c  .tcl include "^\
b730: 73 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33 28 3f  s+1 _?(sqlite3(?
b740: 3a 73 65 73 73 69 6f 6e 7c 63 68 61 6e 67 65 73  :session|changes
b750: 65 74 7c 63 68 61 6e 67 65 67 72 6f 75 70 7c 72  et|changegroup|r
b760: 65 62 61 73 65 72 29 3f 5f 5b 5e 40 5d 2a 29 28  ebaser)?_[^@]*)(
b770: 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31 20 5c  ?:@\d+)?$$" \1 \
b780: 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20 73 71 6c  ...| sort >> sql
b790: 69 74 65 33 2e 64 65 66 0a 23 20 3c 3c 2f 62 6c  ite3.def.# <</bl
b7a0: 6f 63 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49 54 45  ock2>>..$(SQLITE
b7b0: 33 45 58 45 29 3a 09 73 68 65 6c 6c 2e 63 20 24  3EXE):.shell.c $
b7c0: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29  (SHELL_CORE_DEP)
b7d0: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
b7e0: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29  (SHELL_CORE_SRC)
b7f0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
b800: 4c 54 4c 49 4e 4b 29 20 24 28 53 48 45 4c 4c 5f  LTLINK) $(SHELL_
b810: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
b820: 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20  READLINE_FLAGS) 
b830: 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f  shell.c $(SHELL_
b840: 43 4f 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c  CORE_SRC) \.../l
b850: 69 6e 6b 20 24 28 53 51 4c 49 54 45 33 45 58 45  ink $(SQLITE3EXE
b860: 50 44 42 29 20 24 28 4c 44 46 4c 41 47 53 29 20  PDB) $(LDFLAGS) 
b870: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
b880: 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29  SHELL_LINK_OPTS)
b890: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24   $(LTLIBPATHS) $
b8a0: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c  (LIBRESOBJS) $(L
b8b0: 49 42 52 45 41 44 4c 49 4e 45 29 20 24 28 4c 54  IBREADLINE) $(LT
b8c0: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
b8d0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69  # <<mark>>.sqldi
b8e0: 66 66 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  ff.exe:.$(TOP)\t
b8f0: 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28  ool\sqldiff.c $(
b900: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
b910: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
b920: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f   $(NO_WARN) $(TO
b930: 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e  P)\tool\sqldiff.
b940: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
b950: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
b960: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62  (LTLINKOPTS)..db
b970: 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29  hash.exe:.$(TOP)
b980: 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24  \tool\dbhash.c $
b990: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
b9a0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
b9b0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54  ) $(NO_WARN) $(T
b9c0: 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e  OP)\tool\dbhash.
b9d0: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
b9e0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
b9f0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 63  (LTLINKOPTS)..sc
ba00: 72 75 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  rub.exe:.$(TOP)\
ba10: 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63  ext\misc\scrub.c
ba20: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
ba30: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
ba40: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
ba50: 44 53 43 52 55 42 5f 53 54 41 4e 44 41 4c 4f 4e  DSCRUB_STANDALON
ba60: 45 3d 31 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  E=1 $(TOP)\ext\m
ba70: 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28 53 51  isc\scrub.c $(SQ
ba80: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
ba90: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
baa0: 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31 2e 65  KOPTS)..srcck1.e
bab0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
bac0: 73 72 63 63 6b 31 2e 63 0a 09 24 28 42 43 43 29  srcck1.c..$(BCC)
bad0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24   $(NO_WARN) -Fe$
bae0: 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72  @ $(TOP)\tool\sr
baf0: 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65 74 65  cck1.c..sourcete
bb00: 73 74 3a 09 73 72 63 63 6b 31 2e 65 78 65 20 24  st:.srcck1.exe $
bb10: 28 53 51 4c 49 54 45 33 43 29 0a 09 73 72 63 63  (SQLITE3C)..srcc
bb20: 6b 31 2e 65 78 65 20 24 28 53 51 4c 49 54 45 33  k1.exe $(SQLITE3
bb30: 43 29 0a 0a 66 75 7a 7a 65 72 73 68 65 6c 6c 2e  C)..fuzzershell.
bb40: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
bb50: 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24  \fuzzershell.c $
bb60: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
bb70: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
bb80: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46  ) $(NO_WARN) $(F
bb90: 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49  UZZERSHELL_COMPI
bba0: 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c  LE_OPTS) $(TOP)\
bbb0: 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c  tool\fuzzershell
bbc0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
bbd0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
bbe0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64  $(LTLINKOPTS)..d
bbf0: 62 66 75 7a 7a 2e 65 78 65 3a 09 24 28 54 4f 50  bfuzz.exe:.$(TOP
bc00: 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20  )\test\dbfuzz.c 
bc10: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
bc20: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
bc30: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN) $(
bc40: 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f  DBFUZZ_COMPILE_O
bc50: 50 54 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74  PTS) $(TOP)\test
bc60: 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49  \dbfuzz.c $(SQLI
bc70: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
bc80: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
bc90: 50 54 53 29 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e  PTS)..fuzzcheck.
bca0: 65 78 65 3a 09 24 28 46 55 5a 5a 43 48 45 43 4b  exe:.$(FUZZCHECK
bcb0: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43  _SRC) $(SQLITE3C
bcc0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
bcd0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
bce0: 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f  RN) $(FUZZCHECK_
bcf0: 4f 50 54 53 29 20 24 28 46 55 5a 5a 43 48 45 43  OPTS) $(FUZZCHEC
bd00: 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  K_SRC) $(SQLITE3
bd10: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
bd20: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
bd30: 29 0a 0a 6f 73 73 73 68 65 6c 6c 2e 65 78 65 3a  )..ossshell.exe:
bd40: 09 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29  .$(OSSSHELL_SRC)
bd50: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
bd60: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
bd70: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
bd80: 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29  (FUZZCHECK_OPTS)
bd90: 20 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29   $(OSSSHELL_SRC)
bda0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
bdb0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
bdc0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 65 73  LTLINKOPTS)..ses
bdd0: 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 3a 09 7a 6c  sionfuzz.exe:.zl
bde0: 69 62 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 73  ib $(TOP)\test\s
bdf0: 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 24 28 53  essionfuzz.c $(S
be00: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
be10: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
be20: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 49 24 28 5a  $(NO_WARN) -I$(Z
be30: 4c 49 42 49 4e 43 44 49 52 29 20 24 28 54 4f 50  LIBINCDIR) $(TOP
be40: 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e 66 75  )\test\sessionfu
be50: 7a 7a 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  zz.c /link $(LDF
be60: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
be70: 54 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a  TS) /LIBPATH:$(Z
be80: 4c 49 42 4c 49 42 44 49 52 29 20 24 28 5a 4c 49  LIBLIBDIR) $(ZLI
be90: 42 4c 49 42 29 0a 0a 6d 70 74 65 73 74 65 72 2e  BLIB)..mptester.
bea0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d 70 74 65  exe:.$(TOP)\mpte
beb0: 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51  st\mptest.c $(SQ
bec0: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
bed0: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
bee0: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d 50 54 45  (NO_WARN) $(MPTE
bef0: 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  STER_COMPILE_OPT
bf00: 53 29 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74  S) $(TOP)\mptest
bf10: 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49  \mptest.c $(SQLI
bf20: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
bf30: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
bf40: 50 54 53 29 0a 0a 4d 50 54 45 53 54 31 20 3d 20  PTS)..MPTEST1 = 
bf50: 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e  mptester mptest.
bf60: 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74  db $(TOP)\mptest
bf70: 5c 63 72 61 73 68 30 31 2e 74 65 73 74 20 2d 2d  \crash01.test --
bf80: 72 65 70 65 61 74 20 32 30 0a 4d 50 54 45 53 54  repeat 20.MPTEST
bf90: 32 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74  2 = mptester mpt
bfa0: 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70  est.db $(TOP)\mp
bfb0: 74 65 73 74 5c 6d 75 6c 74 69 77 72 69 74 65 30  test\multiwrite0
bfc0: 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20  1.test --repeat 
bfd0: 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d 70 74 65  20..mptest:.mpte
bfe0: 73 74 65 72 2e 65 78 65 0a 09 64 65 6c 20 2f 51  ster.exe..del /Q
bff0: 20 6d 70 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c   mptest.db 2>NUL
c000: 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a  ..$(MPTEST1) --j
c010: 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54  ournalmode DELET
c020: 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d  E..$(MPTEST2) --
c030: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a  journalmode WAL.
c040: 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f  .$(MPTEST1) --jo
c050: 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24  urnalmode WAL..$
c060: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
c070: 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a  nalmode PERSIST.
c080: 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f  .$(MPTEST1) --jo
c090: 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53  urnalmode PERSIS
c0a0: 54 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d  T..$(MPTEST2) --
c0b0: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e  journalmode TRUN
c0c0: 43 41 54 45 0a 09 24 28 4d 50 54 45 53 54 31 29  CATE..$(MPTEST1)
c0d0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54   --journalmode T
c0e0: 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53  RUNCATE..$(MPTES
c0f0: 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T2) --journalmod
c100: 65 20 44 45 4c 45 54 45 0a 0a 23 20 54 68 69 73  e DELETE..# This
c110: 20 74 61 72 67 65 74 20 63 72 65 61 74 65 73 20   target creates 
c120: 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65  a directory name
c130: 64 20 22 74 73 72 63 22 20 61 6e 64 20 66 69 6c  d "tsrc" and fil
c140: 6c 73 20 69 74 20 77 69 74 68 0a 23 20 63 6f 70  ls it with.# cop
c150: 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 68  ies of all of th
c160: 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20  e C source code 
c170: 61 6e 64 20 68 65 61 64 65 72 20 66 69 6c 65 73  and header files
c180: 20 6e 65 65 64 65 64 20 74 6f 0a 23 20 62 75 69   needed to.# bui
c190: 6c 64 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74  ld on the target
c1a0: 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d 65 20 6f   system.  Some o
c1b0: 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 63  f the C source c
c1c0: 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 0a 23  ode and header.#
c1d0: 20 66 69 6c 65 73 20 61 72 65 20 61 75 74 6f 6d   files are autom
c1e0: 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74  atically generat
c1f0: 65 64 2e 20 20 54 68 69 73 20 74 61 72 67 65 74  ed.  This target
c200: 20 74 61 6b 65 73 20 63 61 72 65 20 6f 66 0a 23   takes care of.#
c210: 20 61 6c 6c 20 74 68 61 74 20 61 75 74 6f 6d 61   all that automa
c220: 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e 2e 0a  tic generation..
c230: 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65  #..target_source
c240: 3a 09 24 28 53 52 43 29 20 24 28 54 4f 50 29 5c  :.$(SRC) $(TOP)\
c250: 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65  tool\vdbe-compre
c260: 73 73 2e 74 63 6c 20 66 74 73 35 2e 63 20 24 28  ss.tcl fts5.c $(
c270: 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a  SQLITE_TCL_DEP).
c280: 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72  .-rmdir /Q/S tsr
c290: 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20  c 2>NUL..-mkdir 
c2a0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
c2b0: 28 24 28 53 52 43 30 30 29 29 20 64 6f 20 63 6f  ($(SRC00)) do co
c2c0: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
c2d0: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
c2e0: 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  1)) do copy /Y %
c2f0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
c300: 6e 20 28 24 28 53 52 43 30 33 29 29 20 64 6f 20  n ($(SRC03)) do 
c310: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
c320: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
c330: 43 30 34 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C04)) do copy /Y
c340: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
c350: 20 69 6e 20 28 24 28 53 52 43 30 35 29 29 20 64   in ($(SRC05)) d
c360: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
c370: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
c380: 53 52 43 30 36 29 29 20 64 6f 20 63 6f 70 79 20  SRC06)) do copy 
c390: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
c3a0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 37 29 29  %i in ($(SRC07))
c3b0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
c3c0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
c3d0: 24 28 53 52 43 30 38 29 29 20 64 6f 20 63 6f 70  $(SRC08)) do cop
c3e0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
c3f0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 39  r %i in ($(SRC09
c400: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
c410: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
c420: 20 28 24 28 53 52 43 31 30 29 29 20 64 6f 20 63   ($(SRC10)) do c
c430: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
c440: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
c450: 31 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  11)) do copy /Y 
c460: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
c470: 69 6e 20 28 24 28 53 52 43 31 32 29 29 20 64 6f  in ($(SRC12)) do
c480: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
c490: 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 63  ..copy /Y fts5.c
c4a0: 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66   tsrc..copy /Y f
c4b0: 74 73 35 2e 68 20 74 73 72 63 0a 09 64 65 6c 20  ts5.h tsrc..del 
c4c0: 2f 51 20 74 73 72 63 5c 73 71 6c 69 74 65 2e 68  /Q tsrc\sqlite.h
c4d0: 2e 69 6e 20 74 73 72 63 5c 70 61 72 73 65 2e 79  .in tsrc\parse.y
c4e0: 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c 53 48 5f   2>NUL..$(TCLSH_
c4f0: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
c500: 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74  \vdbe-compress.t
c510: 63 6c 20 24 28 4f 50 54 53 29 20 3c 20 74 73 72  cl $(OPTS) < tsr
c520: 63 5c 76 64 62 65 2e 63 20 3e 20 76 64 62 65 2e  c\vdbe.c > vdbe.
c530: 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62 65 2e 6e  new..move vdbe.n
c540: 65 77 20 74 73 72 63 5c 76 64 62 65 2e 63 0a 09  ew tsrc\vdbe.c..
c550: 65 63 68 6f 20 3e 20 2e 74 61 72 67 65 74 5f 73  echo > .target_s
c560: 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65 33 2e 63  ource..sqlite3.c
c570: 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65  :..target_source
c580: 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 24 28   sqlite3ext.h $(
c590: 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 29  MKSQLITE3C_TOOL)
c5a0: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
c5b0: 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c  (MKSQLITE3C_TOOL
c5c0: 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41  ) $(MKSQLITE3C_A
c5d0: 52 47 53 29 0a 09 63 6f 70 79 20 24 28 54 4f 50  RGS)..copy $(TOP
c5e0: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71  )\ext\session\sq
c5f0: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 20 2e  lite3session.h .
c600: 0a 0a 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 3a  ..sqlite3-all.c:
c610: 09 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50  .sqlite3.c $(TOP
c620: 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c  )\tool\split-sql
c630: 69 74 65 33 63 2e 74 63 6c 0a 09 24 28 54 43 4c  ite3c.tcl..$(TCL
c640: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
c650: 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65  ool\split-sqlite
c660: 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b  3c.tcl.# <</mark
c670: 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75  >>..# Rule to bu
c680: 69 6c 64 20 74 68 65 20 61 6d 61 6c 67 61 6d 61  ild the amalgama
c690: 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 65 33 2e 6c  tion.#.sqlite3.l
c6a0: 6f 3a 09 24 28 53 51 4c 49 54 45 33 43 29 0a 09  o:.$(SQLITE3C)..
c6b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c6c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c6d0: 29 20 2d 63 20 24 28 53 51 4c 49 54 45 33 43 29  ) -c $(SQLITE3C)
c6e0: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52  ..# <<mark>>.# R
c6f0: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68  ules to build th
c700: 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72  e LEMON compiler
c710: 20 67 65 6e 65 72 61 74 6f 72 0a 23 0a 6c 65 6d   generator.#.lem
c720: 70 61 72 2e 63 3a 09 24 28 54 4f 50 29 5c 74 6f  par.c:.$(TOP)\to
c730: 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09 63 6f 70  ol\lempar.c..cop
c740: 79 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65  y $(TOP)\tool\le
c750: 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e  mpar.c ...lemon.
c760: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
c770: 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70 61 72 2e  \lemon.c lempar.
c780: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57  c..$(BCC) $(NO_W
c790: 41 52 4e 29 20 2d 44 61 63 63 65 73 73 3d 5f 61  ARN) -Daccess=_a
c7a0: 63 63 65 73 73 20 5c 0a 09 09 2d 46 65 24 40 20  ccess \...-Fe$@ 
c7b0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f  $(TOP)\tool\lemo
c7c0: 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  n.c /link $(LDFL
c7d0: 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50  AGS) $(NLTLINKOP
c7e0: 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  TS) $(NLTLIBPATH
c7f0: 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  S)..# <<mark>>.#
c800: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
c810: 74 68 65 20 73 6f 75 72 63 65 2d 69 64 20 67 65  the source-id ge
c820: 6e 65 72 61 74 6f 72 20 74 6f 6f 6c 0a 23 0a 6d  nerator tool.#.m
c830: 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 3a 09 24  ksourceid.exe:.$
c840: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75  (TOP)\tool\mksou
c850: 72 63 65 69 64 2e 63 0a 09 24 28 42 43 43 29 20  rceid.c..$(BCC) 
c860: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40  $(NO_WARN) -Fe$@
c870: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73   $(TOP)\tool\mks
c880: 6f 75 72 63 65 69 64 2e 63 20 2f 6c 69 6e 6b 20  ourceid.c /link 
c890: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54  $(LDFLAGS) $(NLT
c8a0: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c  LINKOPTS) $(NLTL
c8b0: 49 42 50 41 54 48 53 29 0a 0a 23 20 52 75 6c 65  IBPATHS)..# Rule
c8c0: 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64 69 76  s to build indiv
c8d0: 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73  idual *.lo files
c8e0: 20 66 72 6f 6d 20 67 65 6e 65 72 61 74 65 64 20   from generated 
c8f0: 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68 69 73 0a  *.c files. This.
c900: 23 20 61 70 70 6c 69 65 73 20 74 6f 3a 0a 23 0a  # applies to:.#.
c910: 23 20 20 20 20 20 70 61 72 73 65 2e 6c 6f 0a 23  #     parse.lo.#
c920: 20 20 20 20 20 6f 70 63 6f 64 65 73 2e 6c 6f 0a       opcodes.lo.
c930: 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 61 72 73  #.parse.lo:.pars
c940: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
c950: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c960: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c970: 20 70 61 72 73 65 2e 63 0a 0a 6f 70 63 6f 64 65   parse.c..opcode
c980: 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73 2e 63 0a  s.lo:.opcodes.c.
c990: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c9a0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c9b0: 53 29 20 2d 63 20 6f 70 63 6f 64 65 73 2e 63 0a  S) -c opcodes.c.
c9c0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52  # <</mark>>..# R
c9d0: 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65  ule to build the
c9e0: 20 57 69 6e 33 32 20 72 65 73 6f 75 72 63 65 73   Win32 resources
c9f0: 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 23 0a   object file..#.
ca00: 21 49 46 20 24 28 55 53 45 5f 52 43 29 21 3d 30  !IF $(USE_RC)!=0
ca10: 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e 0a 24 28  .# <<block1>>.$(
ca20: 4c 49 42 52 45 53 4f 42 4a 53 29 3a 09 24 28 54  LIBRESOBJS):.$(T
ca30: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e  OP)\src\sqlite3.
ca40: 72 63 20 24 28 53 51 4c 49 54 45 33 48 29 20 24  rc $(SQLITE3H) $
ca50: 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 65  (TOP)\VERSION..e
ca60: 63 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49  cho #ifndef SQLI
ca70: 54 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53  TE_RESOURCE_VERS
ca80: 49 4f 4e 20 3e 20 73 71 6c 69 74 65 33 72 63 2e  ION > sqlite3rc.
ca90: 68 0a 09 66 6f 72 20 2f 46 20 25 25 56 20 69 6e  h..for /F %%V in
caa0: 20 28 27 74 79 70 65 20 22 24 28 54 4f 50 29 5c   ('type "$(TOP)\
cab0: 56 45 52 53 49 4f 4e 22 27 29 20 64 6f 20 28 20  VERSION"') do ( 
cac0: 5c 0a 09 09 65 63 68 6f 20 23 64 65 66 69 6e 65  \...echo #define
cad0: 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45   SQLITE_RESOURCE
cae0: 5f 56 45 52 53 49 4f 4e 20 25 25 56 20 5c 0a 09  _VERSION %%V \..
caf0: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
cb00: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
cb10: 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 2e  lace.tcl exact .
cb20: 20 5e 2c 20 3e 3e 20 73 71 6c 69 74 65 33 72 63   ^, >> sqlite3rc
cb30: 2e 68 20 5c 0a 09 29 0a 09 65 63 68 6f 20 23 65  .h \..)..echo #e
cb40: 6e 64 69 66 20 3e 3e 20 73 71 6c 69 74 65 33 72  ndif >> sqlite3r
cb50: 63 2e 68 0a 09 24 28 4c 54 52 43 4f 4d 50 49 4c  c.h..$(LTRCOMPIL
cb60: 45 29 20 2d 66 6f 20 24 28 4c 49 42 52 45 53 4f  E) -fo $(LIBRESO
cb70: 42 4a 53 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  BJS) $(TOP)\src\
cb80: 73 71 6c 69 74 65 33 2e 72 63 0a 23 20 3c 3c 2f  sqlite3.rc.# <</
cb90: 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e 44 49 46 0a  block1>>.!ENDIF.
cba0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75  .# <<mark>>.# Ru
cbb0: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64  les to build ind
cbc0: 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c  ividual *.lo fil
cbd0: 65 73 20 66 72 6f 6d 20 66 69 6c 65 73 20 69 6e  es from files in
cbe0: 20 74 68 65 20 73 72 63 20 64 69 72 65 63 74 6f   the src directo
cbf0: 72 79 2e 0a 23 0a 61 6c 74 65 72 2e 6c 6f 3a 09  ry..#.alter.lo:.
cc00: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72  $(TOP)\src\alter
cc10: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cc20: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cc30: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cc40: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72  $(TOP)\src\alter
cc50: 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e 6c 6f 3a 09  .c..analyze.lo:.
cc60: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79  $(TOP)\src\analy
cc70: 7a 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ze.c $(HDR)..$(L
cc80: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
cc90: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cca0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61  c $(TOP)\src\ana
ccb0: 6c 79 7a 65 2e 63 0a 0a 61 74 74 61 63 68 2e 6c  lyze.c..attach.l
ccc0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 74  o:.$(TOP)\src\at
ccd0: 74 61 63 68 2e 63 20 24 28 48 44 52 29 0a 09 24  tach.c $(HDR)..$
cce0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ccf0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cd00: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a
cd10: 74 74 61 63 68 2e 63 0a 0a 61 75 74 68 2e 6c 6f  ttach.c..auth.lo
cd20: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74  :.$(TOP)\src\aut
cd30: 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.c $(HDR)..$(LT
cd40: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cd50: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cd60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68   $(TOP)\src\auth
cd70: 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c 6f 3a 09 24  .c..backup.lo:.$
cd80: 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70  (TOP)\src\backup
cd90: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cda0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cdb0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cdc0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75  $(TOP)\src\backu
cdd0: 70 2e 63 0a 0a 62 69 74 76 65 63 2e 6c 6f 3a 09  p.c..bitvec.lo:.
cde0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65  $(TOP)\src\bitve
cdf0: 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  c.c $(HDR)..$(LT
ce00: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
ce10: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
ce20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76   $(TOP)\src\bitv
ce30: 65 63 2e 63 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f  ec.c..btmutex.lo
ce40: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d  :.$(TOP)\src\btm
ce50: 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24  utex.c $(HDR)..$
ce60: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ce70: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ce80: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b
ce90: 74 6d 75 74 65 78 2e 63 0a 0a 62 74 72 65 65 2e  tmutex.c..btree.
cea0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62  lo:.$(TOP)\src\b
ceb0: 74 72 65 65 2e 63 20 24 28 48 44 52 29 20 24 28  tree.c $(HDR) $(
cec0: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68  TOP)\src\pager.h
ced0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cee0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cef0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cf00: 63 5c 62 74 72 65 65 2e 63 0a 0a 62 75 69 6c 64  c\btree.c..build
cf10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cf20: 62 75 69 6c 64 2e 63 20 24 28 48 44 52 29 0a 09  build.c $(HDR)..
cf30: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
cf40: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
cf50: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
cf60: 62 75 69 6c 64 2e 63 0a 0a 63 61 6c 6c 62 61 63  build.c..callbac
cf70: 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  k.lo:.$(TOP)\src
cf80: 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 24 28 48 44  \callback.c $(HD
cf90: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cfa0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cfb0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cfc0: 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 0a 0a  src\callback.c..
cfd0: 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a 09 24 28 54  complete.lo:.$(T
cfe0: 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65  OP)\src\complete
cff0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d000: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d010: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d020: 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c  $(TOP)\src\compl
d030: 65 74 65 2e 63 0a 0a 63 74 69 6d 65 2e 6c 6f 3a  ete.c..ctime.lo:
d040: 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d  .$(TOP)\src\ctim
d050: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
d060: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d070: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d080: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d   $(TOP)\src\ctim
d090: 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f 3a 09 24 28  e.c..date.lo:.$(
d0a0: 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20  TOP)\src\date.c 
d0b0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d0c0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d0d0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d0e0: 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 0a 0a  OP)\src\date.c..
d0f0: 64 62 70 61 67 65 2e 6c 6f 3a 09 24 28 54 4f 50  dbpage.lo:.$(TOP
d100: 29 5c 73 72 63 5c 64 62 70 61 67 65 2e 63 20 24  )\src\dbpage.c $
d110: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d120: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d130: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d140: 50 29 5c 73 72 63 5c 64 62 70 61 67 65 2e 63 0a  P)\src\dbpage.c.
d150: 0a 64 62 73 74 61 74 2e 6c 6f 3a 09 24 28 54 4f  .dbstat.lo:.$(TO
d160: 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 20  P)\src\dbstat.c 
d170: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d180: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d190: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d1a0: 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63  OP)\src\dbstat.c
d1b0: 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09 24 28 54  ..delete.lo:.$(T
d1c0: 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63  OP)\src\delete.c
d1d0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d1e0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d1f0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d200: 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e  TOP)\src\delete.
d210: 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f  c..expr.lo:.$(TO
d220: 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 24 28  P)\src\expr.c $(
d230: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d240: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d250: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d260: 29 5c 73 72 63 5c 65 78 70 72 2e 63 0a 0a 66 61  )\src\expr.c..fa
d270: 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ult.lo:.$(TOP)\s
d280: 72 63 5c 66 61 75 6c 74 2e 63 20 24 28 48 44 52  rc\fault.c $(HDR
d290: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d2a0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d2b0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d2c0: 72 63 5c 66 61 75 6c 74 2e 63 0a 0a 66 6b 65 79  rc\fault.c..fkey
d2d0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d2e0: 66 6b 65 79 2e 63 20 24 28 48 44 52 29 0a 09 24  fkey.c $(HDR)..$
d2f0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d300: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d310: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66   -c $(TOP)\src\f
d320: 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c 6f 3a 09  key.c..func.lo:.
d330: 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e  $(TOP)\src\func.
d340: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d350: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d360: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d370: 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63  (TOP)\src\func.c
d380: 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54  ..global.lo:.$(T
d390: 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63  OP)\src\global.c
d3a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d3b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d3c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d3d0: 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e  TOP)\src\global.
d3e0: 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f  c..hash.lo:.$(TO
d3f0: 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20 24 28  P)\src\hash.c $(
d400: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d410: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d420: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d430: 29 5c 73 72 63 5c 68 61 73 68 2e 63 0a 0a 69 6e  )\src\hash.c..in
d440: 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  sert.lo:.$(TOP)\
d450: 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 24 28 48  src\insert.c $(H
d460: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d470: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d480: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d490: 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 0a 0a 6c  \src\insert.c..l
d4a0: 65 67 61 63 79 2e 6c 6f 3a 09 24 28 54 4f 50 29  egacy.lo:.$(TOP)
d4b0: 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 20 24 28  \src\legacy.c $(
d4c0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d4d0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d4e0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d4f0: 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 0a 0a  )\src\legacy.c..
d500: 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f  loadext.lo:.$(TO
d510: 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63  P)\src\loadext.c
d520: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d530: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d540: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d550: 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74  TOP)\src\loadext
d560: 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09 24 28 54  .c..main.lo:.$(T
d570: 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 24  OP)\src\main.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 6d 61 69 6e 2e 63 0a 0a 6d  P)\src\main.c..m
d5c0: 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54 4f 50 29  alloc.lo:.$(TOP)
d5d0: 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 24 28  \src\malloc.c $(
d5e0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d5f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d600: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d610: 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a  )\src\malloc.c..
d620: 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  mem0.lo:.$(TOP)\
d630: 73 72 63 5c 6d 65 6d 30 2e 63 20 24 28 48 44 52  src\mem0.c $(HDR
d640: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d650: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d660: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
d670: 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65 6d 31 2e  rc\mem0.c..mem1.
d680: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
d690: 65 6d 31 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em1.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 6d 65  -c $(TOP)\src\me
d6d0: 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24  m1.c..mem2.lo:.$
d6e0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63  (TOP)\src\mem2.c
d6f0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d700: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d710: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
d720: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a  TOP)\src\mem2.c.
d730: 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54 4f 50 29  .mem3.lo:.$(TOP)
d740: 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 24 28 48 44  \src\mem3.c $(HD
d750: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d760: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d770: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d780: 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35  src\mem3.c..mem5
d790: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d7a0: 6d 65 6d 35 2e 63 20 24 28 48 44 52 29 0a 09 24  mem5.c $(HDR)..$
d7b0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d7c0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d7d0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d7e0: 65 6d 35 2e 63 0a 0a 6d 65 6d 64 62 2e 6c 6f 3a  em5.c..memdb.lo:
d7f0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 64  .$(TOP)\src\memd
d800: 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  b.c $(HDR)..$(LT
d810: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d820: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d830: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 64   $(TOP)\src\memd
d840: 62 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  b.c..memjournal.
d850: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
d860: 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44  emjournal.c $(HD
d870: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d880: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d890: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
d8a0: 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63  src\memjournal.c
d8b0: 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f  ..mutex.lo:.$(TO
d8c0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 24  P)\src\mutex.c $
d8d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d8e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d8f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d900: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 0a 0a  P)\src\mutex.c..
d910: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24  mutex_noop.lo:.$
d920: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
d930: 6e 6f 6f 70 2e 63 20 24 28 48 44 52 29 0a 09 24  noop.c $(HDR)..$
d940: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d950: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d960: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
d970: 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74  utex_noop.c..mut
d980: 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f  ex_unix.lo:.$(TO
d990: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69  P)\src\mutex_uni
d9a0: 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  x.c $(HDR)..$(LT
d9b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d9c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d9d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
d9e0: 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74 65 78 5f  x_unix.c..mutex_
d9f0: 77 33 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  w32.lo:.$(TOP)\s
da00: 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 24  rc\mutex_w32.c $
da10: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
da20: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
da30: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
da40: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32  P)\src\mutex_w32
da50: 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24  .c..notify.lo:.$
da60: 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79  (TOP)\src\notify
da70: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
da80: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
da90: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
daa0: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66  $(TOP)\src\notif
dab0: 79 2e 63 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09 24  y.c..pager.lo:.$
dac0: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
dad0: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c  c $(HDR) $(TOP)\
dae0: 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c  src\pager.h..$(L
daf0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
db00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
db10: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67  c $(TOP)\src\pag
db20: 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a  er.c..pcache.lo:
db30: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63  .$(TOP)\src\pcac
db40: 68 65 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  he.c $(HDR) $(TO
db50: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a  P)\src\pcache.h.
db60: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
db70: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
db80: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
db90: 5c 70 63 61 63 68 65 2e 63 0a 0a 70 63 61 63 68  \pcache.c..pcach
dba0: 65 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  e1.lo:.$(TOP)\sr
dbb0: 63 5c 70 63 61 63 68 65 31 2e 63 20 24 28 48 44  c\pcache1.c $(HD
dbc0: 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  R) $(TOP)\src\pc
dbd0: 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50  ache.h..$(LTCOMP
dbe0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
dbf0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
dc00: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e  OP)\src\pcache1.
dc10: 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50 29  c..os.lo:.$(TOP)
dc20: 5c 73 72 63 5c 6f 73 2e 63 20 24 28 48 44 52 29  \src\os.c $(HDR)
dc30: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
dc40: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
dc50: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
dc60: 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 2e  c\os.c..os_unix.
dc70: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f  lo:.$(TOP)\src\o
dc80: 73 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a  s_unix.c $(HDR).
dc90: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
dca0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
dcb0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
dcc0: 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77  \os_unix.c..os_w
dcd0: 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  in.lo:.$(TOP)\sr
dce0: 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 28 48 44 52  c\os_win.c $(HDR
dcf0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
dd00: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
dd10: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
dd20: 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61  rc\os_win.c..pra
dd30: 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  gma.lo:.$(TOP)\s
dd40: 72 63 5c 70 72 61 67 6d 61 2e 63 20 24 28 48 44  rc\pragma.c $(HD
dd50: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
dd60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
dd70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
dd80: 73 72 63 5c 70 72 61 67 6d 61 2e 63 0a 0a 70 72  src\pragma.c..pr
dd90: 65 70 61 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  epare.lo:.$(TOP)
dda0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 24  \src\prepare.c $
ddb0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
ddc0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ddd0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
dde0: 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63  P)\src\prepare.c
ddf0: 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54  ..printf.lo:.$(T
de00: 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63  OP)\src\printf.c
de10: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
de20: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
de30: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
de40: 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e  TOP)\src\printf.
de50: 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24 28  c..random.lo:.$(
de60: 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e  TOP)\src\random.
de70: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
de80: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
de90: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
dea0: 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d  (TOP)\src\random
deb0: 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a 09  .c..resolve.lo:.
dec0: 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c  $(TOP)\src\resol
ded0: 76 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ve.c $(HDR)..$(L
dee0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
def0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
df00: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73  c $(TOP)\src\res
df10: 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c  olve.c..rowset.l
df20: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f  o:.$(TOP)\src\ro
df30: 77 73 65 74 2e 63 20 24 28 48 44 52 29 0a 09 24  wset.c $(HDR)..$
df40: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
df50: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
df60: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72   -c $(TOP)\src\r
df70: 6f 77 73 65 74 2e 63 0a 0a 73 65 6c 65 63 74 2e  owset.c..select.
df80: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73  lo:.$(TOP)\src\s
df90: 65 6c 65 63 74 2e 63 20 24 28 48 44 52 29 0a 09  elect.c $(HDR)..
dfa0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
dfb0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
dfc0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
dfd0: 73 65 6c 65 63 74 2e 63 0a 0a 73 74 61 74 75 73  select.c..status
dfe0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
dff0: 73 74 61 74 75 73 2e 63 20 24 28 48 44 52 29 0a  status.c $(HDR).
e000: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e010: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e020: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
e030: 5c 73 74 61 74 75 73 2e 63 0a 0a 74 61 62 6c 65  \status.c..table
e040: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e050: 74 61 62 6c 65 2e 63 20 24 28 48 44 52 29 0a 09  table.c $(HDR)..
e060: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
e070: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e080: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
e090: 74 61 62 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73  table.c..threads
e0a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e0b0: 74 68 72 65 61 64 73 2e 63 20 24 28 48 44 52 29  threads.c $(HDR)
e0c0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e0d0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e0e0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
e0f0: 63 5c 74 68 72 65 61 64 73 2e 63 0a 0a 74 6f 6b  c\threads.c..tok
e100: 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  enize.lo:.$(TOP)
e110: 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20  \src\tokenize.c 
e120: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 24 28  keywordhash.h $(
e130: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e140: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
e150: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
e160: 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63  )\src\tokenize.c
e170: 0a 0a 74 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24  ..treeview.lo:.$
e180: 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69  (TOP)\src\treevi
e190: 65 77 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ew.c $(HDR)..$(L
e1a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
e1b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
e1c0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65  c $(TOP)\src\tre
e1d0: 65 76 69 65 77 2e 63 0a 0a 74 72 69 67 67 65 72  eview.c..trigger
e1e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e1f0: 74 72 69 67 67 65 72 2e 63 20 24 28 48 44 52 29  trigger.c $(HDR)
e200: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e210: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e220: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
e230: 63 5c 74 72 69 67 67 65 72 2e 63 0a 0a 75 70 64  c\trigger.c..upd
e240: 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ate.lo:.$(TOP)\s
e250: 72 63 5c 75 70 64 61 74 65 2e 63 20 24 28 48 44  rc\update.c $(HD
e260: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e270: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e280: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
e290: 73 72 63 5c 75 70 64 61 74 65 2e 63 0a 0a 75 70  src\update.c..up
e2a0: 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  sert.lo:.$(TOP)\
e2b0: 73 72 63 5c 75 70 73 65 72 74 2e 63 20 24 28 48  src\upsert.c $(H
e2c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e2d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e2e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
e2f0: 5c 73 72 63 5c 75 70 73 65 72 74 2e 63 0a 0a 75  \src\upsert.c..u
e300: 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  tf.lo:.$(TOP)\sr
e310: 63 5c 75 74 66 2e 63 20 24 28 48 44 52 29 0a 09  c\utf.c $(HDR)..
e320: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
e330: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e340: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
e350: 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09  utf.c..util.lo:.
e360: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e  $(TOP)\src\util.
e370: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e380: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e390: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
e3a0: 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63  (TOP)\src\util.c
e3b0: 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09 24 28 54  ..vacuum.lo:.$(T
e3c0: 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63  OP)\src\vacuum.c
e3d0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
e3e0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e3f0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
e400: 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e  TOP)\src\vacuum.
e410: 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f  c..vdbe.lo:.$(TO
e420: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28  P)\src\vdbe.c $(
e430: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e440: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
e450: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
e460: 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64  )\src\vdbe.c..vd
e470: 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29  beapi.lo:.$(TOP)
e480: 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63 20 24  \src\vdbeapi.c $
e490: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
e4a0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e4b0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
e4c0: 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63  P)\src\vdbeapi.c
e4d0: 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28  ..vdbeaux.lo:.$(
e4e0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
e4f0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e500: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
e510: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
e520: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
e530: 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c  ux.c..vdbeblob.l
e540: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd
e550: 62 65 62 6c 6f 62 2e 63 20 24 28 48 44 52 29 0a  beblob.c $(HDR).
e560: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e570: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e580: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
e590: 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62  \vdbeblob.c..vdb
e5a0: 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  emem.lo:.$(TOP)\
e5b0: 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28  src\vdbemem.c $(
e5c0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e5d0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
e5e0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
e5f0: 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 0a  )\src\vdbemem.c.
e600: 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a 09 24 28  .vdbesort.lo:.$(
e610: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72  TOP)\src\vdbesor
e620: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
e630: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e640: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e650: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
e660: 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74 72 61 63  sort.c..vdbetrac
e670: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
e680: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 24 28 48  \vdbetrace.c $(H
e690: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e6a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e6b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
e6c0: 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63  \src\vdbetrace.c
e6d0: 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50  ..vtab.lo:.$(TOP
e6e0: 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 24 28 48  )\src\vtab.c $(H
e6f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e700: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e710: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
e720: 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a 77 61 6c  \src\vtab.c..wal
e730: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
e740: 77 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28  wal.c $(HDR)..$(
e750: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e760: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e770: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  -c $(TOP)\src\wa
e780: 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09  l.c..walker.lo:.
e790: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65  $(TOP)\src\walke
e7a0: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  r.c $(HDR)..$(LT
e7b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e7c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e7d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b   $(TOP)\src\walk
e7e0: 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09  er.c..where.lo:.
e7f0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
e800: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e810: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
e820: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
e830: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
e840: 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65 2e 6c 6f  .c..wherecode.lo
e850: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  :.$(TOP)\src\whe
e860: 72 65 63 6f 64 65 2e 63 20 24 28 48 44 52 29 0a  recode.c $(HDR).
e870: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e880: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e890: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
e8a0: 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a 0a 77 68  \wherecode.c..wh
e8b0: 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f  ereexpr.lo:.$(TO
e8c0: 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72  P)\src\whereexpr
e8d0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e8e0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
e8f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
e900: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
e910: 65 78 70 72 2e 63 0a 0a 77 69 6e 64 6f 77 2e 6c  expr.c..window.l
e920: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 69  o:.$(TOP)\src\wi
e930: 6e 64 6f 77 2e 63 20 24 28 48 44 52 29 0a 09 24  ndow.c $(HDR)..$
e940: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e950: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e960: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77   -c $(TOP)\src\w
e970: 69 6e 64 6f 77 2e 63 0a 0a 74 63 6c 73 71 6c 69  indow.c..tclsqli
e980: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  te.lo:.$(TOP)\sr
e990: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $(
e9a0: 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43  HDR) $(SQLITE_TC
e9b0: 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50  L_DEP)..$(LTCOMP
e9c0: 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  ILE) $(NO_WARN) 
e9d0: 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d  -DUSE_TCL_STUBS=
e9e0: 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  1 -DBUILD_sqlite
e9f0: 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 
ea00: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  -c $(TOP)\src\tc
ea10: 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71  lsqlite.c..tclsq
ea20: 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a 09 24  lite-shell.lo:.$
ea30: 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
ea40: 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 53  ite.c $(HDR) $(S
ea50: 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09  QLITE_TCL_DEP)..
ea60: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e  $(LTCOMPILE) $(N
ea70: 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c 53 48 20  O_WARN) -DTCLSH 
ea80: 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
ea90: 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63  I$(TCLINCDIR) -c
eaa0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls
eab0: 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69  qlite.c..tclsqli
eac0: 74 65 33 2e 65 78 65 3a 09 74 63 6c 73 71 6c 69  te3.exe:.tclsqli
ead0: 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 53 51  te-shell.lo $(SQ
eae0: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
eaf0: 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  3H) $(LIBRESOBJS
eb00: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53  )..$(LTLINK) $(S
eb10: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
eb20: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
eb30: 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42  NKOPTS) $(TCLLIB
eb40: 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41  PATHS) $(LTLIBPA
eb50: 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c  THS) /OUT:$@ tcl
eb60: 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20  sqlite-shell.lo 
eb70: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
eb80: 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42  TCLLIBS) $(LTLIB
eb90: 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 52  S) $(TLIBS)..# R
eba0: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 6f 70  ules to build op
ebb0: 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f 70 63 6f  codes.c and opco
ebc0: 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64 65 73 2e  des.h.#.opcodes.
ebd0: 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20 24 28 54  c:.opcodes.h $(T
ebe0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64  OP)\tool\mkopcod
ebf0: 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f  ec.tcl..$(TCLSH_
ec00: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
ec10: 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 20 6f  \mkopcodec.tcl o
ec20: 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70 63 6f 64  pcodes.h > opcod
ec30: 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 68 3a  es.c..opcodes.h:
ec40: 09 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29 5c  .parse.h $(TOP)\
ec50: 73 72 63 5c 76 64 62 65 2e 63 20 24 28 54 4f 50  src\vdbe.c $(TOP
ec60: 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68  )\tool\mkopcodeh
ec70: 2e 74 63 6c 0a 09 74 79 70 65 20 70 61 72 73 65  .tcl..type parse
ec80: 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .h $(TOP)\src\vd
ec90: 62 65 2e 63 20 7c 20 24 28 54 43 4c 53 48 5f 43  be.c | $(TCLSH_C
eca0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
ecb0: 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 20 3e 20  mkopcodeh.tcl > 
ecc0: 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20 52 75 6c  opcodes.h..# Rul
ecd0: 65 73 20 74 6f 20 62 75 69 6c 64 20 70 61 72 73  es to build pars
ece0: 65 2e 63 20 61 6e 64 20 70 61 72 73 65 2e 68 20  e.c and parse.h 
ecf0: 2d 20 74 68 65 20 6f 75 74 70 75 74 73 20 6f 66  - the outputs of
ed00: 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72 73 65 2e   lemon..#.parse.
ed10: 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70 61 72 73  h:.parse.c..pars
ed20: 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  e.c:.$(TOP)\src\
ed30: 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78  parse.y lemon.ex
ed40: 65 0a 09 64 65 6c 20 2f 51 20 70 61 72 73 65 2e  e..del /Q parse.
ed50: 79 20 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e  y parse.h parse.
ed60: 68 2e 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f  h.temp 2>NUL..co
ed70: 70 79 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  py $(TOP)\src\pa
ed80: 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e  rse.y ....\lemon
ed90: 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41 54 55  .exe $(REQ_FEATU
eda0: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f  RE_FLAGS) $(OPT_
edb0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
edc0: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
edd0: 47 53 29 20 24 28 4f 50 54 53 29 20 70 61 72 73  GS) $(OPTS) pars
ede0: 65 2e 79 0a 0a 24 28 53 51 4c 49 54 45 33 48 29  e.y..$(SQLITE3H)
edf0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c  :.$(TOP)\src\sql
ee00: 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c  ite.h.in $(TOP)\
ee10: 6d 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72 63  manifest mksourc
ee20: 65 69 64 2e 65 78 65 20 24 28 54 4f 50 29 5c 56  eid.exe $(TOP)\V
ee30: 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f  ERSION..$(TCLSH_
ee40: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
ee50: 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20  \mksqlite3h.tcl 
ee60: 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53  $(TOP:\=/) > $(S
ee70: 51 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51 4c  QLITE3H) $(MKSQL
ee80: 49 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71 6c  ITE3H_ARGS)..sql
ee90: 69 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72 67  ite3ext.h:..targ
eea0: 65 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24 28  et_source.!IF $(
eeb0: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20  USE_STDCALL)!=0 
eec0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
eed0: 3d 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73 71  =0..type tsrc\sq
eee0: 6c 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28 54  lite3ext.h | $(T
eef0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
ef00: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
ef10: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c 29  l regsub "\(\*\)
ef20: 22 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c 42  " "(SQLITE_CALLB
ef30: 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24 28  ACK *)" \...| $(
ef40: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
ef50: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
ef60: 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22  cl regsub "\(\*"
ef70: 20 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41 4c   "(SQLITE_APICAL
ef80: 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65 78  L *" > sqlite3ex
ef90: 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71 6c  t.h..copy /Y sql
efa0: 69 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c 73  ite3ext.h tsrc\s
efb0: 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c 53  qlite3ext.h.!ELS
efc0: 45 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63 5c  E..copy /Y tsrc\
efd0: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c  sqlite3ext.h sql
efe0: 69 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49 46  ite3ext.h.!ENDIF
eff0: 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  ..mkkeywordhash.
f000: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
f010: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63  \mkkeywordhash.c
f020: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41  ..$(BCC) $(NO_WA
f030: 52 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f  RN) -Fe$@ $(REQ_
f040: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
f050: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
f060: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52  GS) $(EXT_FEATUR
f070: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29  E_FLAGS) $(OPTS)
f080: 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool
f090: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63  \mkkeywordhash.c
f0a0: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
f0b0: 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29  ) $(NLTLINKOPTS)
f0c0: 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a   $(NLTLIBPATHS).
f0d0: 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09  .keywordhash.h:.
f0e0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65  $(TOP)\tool\mkke
f0f0: 79 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65  ywordhash.c mkke
f100: 79 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e  ywordhash.exe...
f110: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65  \mkkeywordhash.e
f120: 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68  xe > keywordhash
f130: 2e 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 69 6c  .h..# Source fil
f140: 65 73 20 74 68 61 74 20 67 6f 20 69 6e 74 6f 20  es that go into 
f150: 6d 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a 53  making shell.c.S
f160: 48 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24 28  HELL_SRC = \..$(
f170: 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63  TOP)\src\shell.c
f180: 2e 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78  .in \..$(TOP)\ex
f190: 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73  t\misc\appendvfs
f1a0: 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74  .c \..$(TOP)\ext
f1b0: 5c 6d 69 73 63 5c 73 68 61 74 68 72 65 65 2e 63  \misc\shathree.c
f1c0: 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d   \..$(TOP)\ext\m
f1d0: 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 09  isc\fileio.c \..
f1e0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
f1f0: 63 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09  completion.c \..
f200: 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72  $(TOP)\ext\exper
f210: 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
f220: 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c  c \..$(TOP)\ext\
f230: 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
f240: 70 65 72 74 2e 68 20 5c 0a 09 24 28 54 4f 50 29  pert.h \..$(TOP)
f250: 5c 65 78 74 5c 6d 69 73 63 5c 6d 65 6d 74 72 61  \ext\misc\memtra
f260: 63 65 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 73  ce.c \..$(TOP)\s
f270: 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e  rc\test_windiren
f280: 74 2e 63 0a 0a 23 20 49 66 20 75 73 65 20 6f 66  t.c..# If use of
f290: 20 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c 65 64   zlib is enabled
f2a0: 2c 20 61 64 64 20 74 68 65 20 22 7a 69 70 66 69  , add the "zipfi
f2b0: 6c 65 2e 63 22 20 73 6f 75 72 63 65 20 66 69 6c  le.c" source fil
f2c0: 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a  e..#.!IF $(USE_Z
f2d0: 4c 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 53 52  LIB)!=0.SHELL_SR
f2e0: 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29  C = $(SHELL_SRC)
f2f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
f300: 5c 73 71 6c 61 72 2e 63 0a 53 48 45 4c 4c 5f 53  \sqlar.c.SHELL_S
f310: 52 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43  RC = $(SHELL_SRC
f320: 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ) $(TOP)\ext\mis
f330: 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44  c\zipfile.c.!END
f340: 49 46 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24 28 53  IF..shell.c:.$(S
f350: 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29  HELL_SRC) $(TOP)
f360: 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74  \tool\mkshellc.t
f370: 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  cl..$(TCLSH_CMD)
f380: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73   $(TOP)\tool\mks
f390: 68 65 6c 6c 63 2e 74 63 6c 20 3e 20 73 68 65 6c  hellc.tcl > shel
f3a0: 6c 2e 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75 73 68  l.c..zlib:..push
f3b0: 64 20 24 28 5a 4c 49 42 44 49 52 29 20 26 26 20  d $(ZLIBDIR) && 
f3c0: 24 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33 32  $(MAKE) /f win32
f3d0: 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 63 6c  \Makefile.msc cl
f3e0: 65 61 6e 20 24 28 5a 4c 49 42 4c 49 42 29 20 26  ean $(ZLIBLIB) &
f3f0: 26 20 70 6f 70 64 0a 0a 23 20 52 75 6c 65 73 20  & popd..# Rules 
f400: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78 74  to build the ext
f410: 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a  ension objects..
f420: 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29  #.icu.lo:.$(TOP)
f430: 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 24  \ext\icu\icu.c $
f440: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
f450: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
f460: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f470: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
f480: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
f490: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63  (TOP)\ext\icu\ic
f4a0: 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28  u.c..fts2.lo:.$(
f4b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
f4c0: 73 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s2.c $(HDR) $(EX
f4d0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
f4e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
f4f0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
f500: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f510: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
f520: 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73  fts2\fts2.c..fts
f530: 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50  2_hash.lo:.$(TOP
f540: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
f550: 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28  hash.c $(HDR) $(
f560: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
f570: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
f580: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
f590: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f5a0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
f5b0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68  t\fts2\fts2_hash
f5c0: 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a  .c..fts2_icu.lo:
f5d0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32  .$(TOP)\ext\fts2
f5e0: 5c 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48 44  \fts2_icu.c $(HD
f5f0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f600: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
f610: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
f620: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
f630: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
f640: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
f650: 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72  _icu.c..fts2_por
f660: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ter.lo:.$(TOP)\e
f670: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72  xt\fts2\fts2_por
f680: 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45  ter.c $(HDR) $(E
f690: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
f6a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
f6b0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
f6c0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f6d0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
f6e0: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65  \fts2\fts2_porte
f6f0: 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69  r.c..fts2_tokeni
f700: 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  zer.lo:.$(TOP)\e
f710: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
f720: 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20  enizer.c $(HDR) 
f730: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
f740: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
f750: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
f760: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
f770: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
f780: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
f790: 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f  kenizer.c..fts2_
f7a0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24  tokenizer1.lo:.$
f7b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
f7c0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts2_tokenizer1.c
f7d0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
f7e0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
f7f0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
f800: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
f810: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f820: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
f830: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts2_tokenizer1
f840: 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54  .c..fts3.lo:.$(T
f850: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f860: 33 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  3.c $(HDR) $(EXT
f870: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f880: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f890: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f8a0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f8b0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f8c0: 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33  ts3\fts3.c..fts3
f8d0: 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  _aux.lo:.$(TOP)\
f8e0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75  ext\fts3\fts3_au
f8f0: 78 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  x.c $(HDR) $(EXT
f900: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
f910: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
f920: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
f930: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f940: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
f950: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a  ts3\fts3_aux.c..
f960: 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28  fts3_expr.lo:.$(
f970: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f980: 73 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52 29  s3_expr.c $(HDR)
f990: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f9a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
f9b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
f9c0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f9d0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
f9e0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65  \ext\fts3\fts3_e
f9f0: 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68  xpr.c..fts3_hash
fa00: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
fa10: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63  fts3\fts3_hash.c
fa20: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
fa30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
fa40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
fa50: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
fa60: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
fa70: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
fa80: 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74  \fts3_hash.c..ft
fa90: 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50  s3_icu.lo:.$(TOP
faa0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fab0: 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45  icu.c $(HDR) $(E
fac0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
fad0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
fae0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
faf0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
fb00: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
fb10: 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63  \fts3\fts3_icu.c
fb20: 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c  ..fts3_snippet.l
fb30: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
fb40: 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  s3\fts3_snippet.
fb50: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
fb60: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
fb70: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
fb80: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
fb90: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
fba0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
fbb0: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
fbc0: 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f  ..fts3_porter.lo
fbd0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
fbe0: 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20  3\fts3_porter.c 
fbf0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
fc00: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
fc10: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
fc20: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
fc30: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
fc40: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
fc50: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66  fts3_porter.c..f
fc60: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f  ts3_tokenizer.lo
fc70: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
fc80: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
fc90: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
fca0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
fcb0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
fcc0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
fcd0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
fce0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
fcf0: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
fd00: 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69  r.c..fts3_tokeni
fd10: 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  zer1.lo:.$(TOP)\
fd20: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
fd30: 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52  kenizer1.c $(HDR
fd40: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
fd50: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
fd60: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
fd70: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
fd80: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
fd90: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fda0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74  tokenizer1.c..ft
fdb0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
fdc0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
fdd0: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
fde0: 7a 65 5f 76 74 61 62 2e 63 20 24 28 48 44 52 29  ze_vtab.c $(HDR)
fdf0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
fe00: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
fe10: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
fe20: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
fe30: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
fe40: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
fe50: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a  okenize_vtab.c..
fe60: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a  fts3_unicode.lo:
fe70: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
fe80: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20  \fts3_unicode.c 
fe90: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
fea0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
feb0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
fec0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
fed0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
fee0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
fef0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a  fts3_unicode.c..
ff00: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f  fts3_unicode2.lo
ff10: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
ff20: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
ff30: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
ff40: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
ff50: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
ff60: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
ff70: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
ff80: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
ff90: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
ffa0: 63 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f  c..fts3_write.lo
ffb0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
ffc0: 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 24  3\fts3_write.c $
ffd0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
ffe0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
fff0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
10000 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
10010 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
10020 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
10030 74 73 33 5f 77 72 69 74 65 2e 63 0a 0a 6a 73 6f  ts3_write.c..jso
10040 6e 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  n1.lo:.$(TOP)\ex
10050 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 24  t\misc\json1.c $
10060 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
10070 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
10080 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
10090 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
100a0 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
100b0 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a  (TOP)\ext\misc\j
100c0 73 6f 6e 31 2e 63 0a 0a 73 74 6d 74 2e 6c 6f 3a  son1.c..stmt.lo:
100d0 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63  .$(TOP)\ext\misc
100e0 5c 73 74 6d 74 2e 63 20 24 28 48 44 52 29 20 24  \stmt.c $(HDR) $
100f0 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
10100 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
10110 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
10120 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
10130 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
10140 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a 0a  xt\misc\stmt.c..
10150 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  rtree.lo:.$(TOP)
10160 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
10170 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
10180 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
10190 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
101a0 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
101b0 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
101c0 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  -c $(TOP)\ext\rt
101d0 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c  ree\rtree.c..sql
101e0 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09  ite3session.lo:.
101f0 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi
10200 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f  on\sqlite3sessio
10210 6e 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  n.c $(HDR) $(EXT
10220 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
10230 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
10240 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
10250 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
10260 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73   -c $(TOP)\ext\s
10270 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65  ession\sqlite3se
10280 73 73 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20  ssion.c..# FTS5 
10290 74 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52  things.#.FTS5_SR
102a0 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  C = \.   $(TOP)\
102b0 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20  ext\fts5\fts5.h 
102c0 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
102d0 66 74 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c  fts5\fts5Int.h \
102e0 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
102f0 74 73 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c  ts5\fts5_aux.c \
10300 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
10310 74 73 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e  ts5\fts5_buffer.
10320 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
10330 74 5c 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e  t\fts5\fts5_main
10340 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
10350 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e  xt\fts5\fts5_con
10360 66 69 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  fig.c \.   $(TOP
10370 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
10380 65 78 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f  expr.c \.   $(TO
10390 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
103a0 5f 68 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54  _hash.c \.   $(T
103b0 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
103c0 35 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66  5_index.c \.   f
103d0 74 73 35 70 61 72 73 65 2e 63 20 66 74 73 35 70  ts5parse.c fts5p
103e0 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f  arse.h \.   $(TO
103f0 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
10400 5f 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20  _storage.c \.   
10410 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
10420 66 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20  fts5_tokenize.c 
10430 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
10440 66 74 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64  fts5\fts5_unicod
10450 65 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  e2.c \.   $(TOP)
10460 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76  \ext\fts5\fts5_v
10470 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54  arint.c \.   $(T
10480 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
10490 35 5f 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f  5_vocab.c..LSM1_
104a0 53 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50  SRC = \.   $(TOP
104b0 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68  )\ext\lsm1\lsm.h
104c0 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
104d0 5c 6c 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c  \lsm1\lsmInt.h \
104e0 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
104f0 73 6d 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c  sm1\lsm_ckpt.c \
10500 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
10510 73 6d 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c  sm1\lsm_file.c \
10520 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l
10530 73 6d 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a  sm1\lsm_log.c \.
10540 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
10550 6d 31 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a  m1\lsm_main.c \.
10560 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
10570 6d 31 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20  m1\lsm_mem.c \. 
10580 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm
10590 31 5c 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a  1\lsm_mutex.c \.
105a0 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls
105b0 6d 31 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20  m1\lsm_shared.c 
105c0 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
105d0 6c 73 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65 64 2e  lsm1\lsm_sorted.
105e0 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
105f0 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63  t\lsm1\lsm_str.c
10600 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
10610 5c 6c 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63  \lsm1\lsm_tree.c
10620 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
10630 5c 6c 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63  \lsm1\lsm_unix.c
10640 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
10650 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74  \lsm1\lsm_varint
10660 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
10670 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62  xt\lsm1\lsm_vtab
10680 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
10690 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69 6e 33  xt\lsm1\lsm_win3
106a0 32 2e 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63  2.c..fts5parse.c
106b0 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
106c0 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65  5\fts5parse.y le
106d0 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28  mon.exe..copy $(
106e0 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
106f0 73 35 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c  s5parse.y ...del
10700 20 2f 51 20 66 74 73 35 70 61 72 73 65 2e 68 20   /Q fts5parse.h 
10710 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65  2>NUL...\lemon.e
10720 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  xe $(REQ_FEATURE
10730 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE
10740 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E
10750 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
10760 29 20 24 28 4f 50 54 53 29 20 66 74 73 35 70 61  ) $(OPTS) fts5pa
10770 72 73 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65  rse.y..fts5parse
10780 2e 68 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a  .h:.fts5parse.c.
10790 0a 66 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f  .fts5.c:.$(FTS5_
107a0 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d  SRC)..$(TCLSH_CM
107b0 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  D) $(TOP)\ext\ft
107c0 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e  s5\tool\mkfts5c.
107d0 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29  tcl..copy $(TOP)
107e0 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68  \ext\fts5\fts5.h
107f0 20 2e 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53   ...lsm1.c:.$(LS
10800 4d 31 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48  M1_SRC)..$(TCLSH
10810 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74  _CMD) $(TOP)\ext
10820 5c 6c 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d  \lsm1\tool\mklsm
10830 31 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54  1c.tcl..copy $(T
10840 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
10850 2e 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66  .h ...fts5.lo:.f
10860 74 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 45  ts5.c $(HDR) $(E
10870 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
10880 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
10890 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
108a0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
108b0 52 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74  RE -c fts5.c..ft
108c0 73 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e  s5_ext.lo:.fts5.
108d0 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
108e0 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
108f0 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66   $(NO_WARN) -c f
10900 74 73 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a  ts5.c..fts5.dll:
10910 09 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28  .fts5_ext.lo..$(
10920 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24  LD) $(LDFLAGS) $
10930 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L
10940 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20  TLIBPATHS) /DLL 
10950 2f 4f 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74  /OUT:$@ fts5_ext
10960 2e 6c 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e  .lo..sqlite3rbu.
10970 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72  lo:.$(TOP)\ext\r
10980 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20  bu\sqlite3rbu.c 
10990 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
109a0 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d  ..$(LTCOMPILE) -
109b0 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
109c0 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73  $(TOP)\ext\rbu\s
109d0 71 6c 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52  qlite3rbu.c..# R
109e0 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68  ules to build th
109f0 65 20 27 74 65 73 74 66 69 78 74 75 72 65 27 20  e 'testfixture' 
10a00 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23  application..#.#
10a10 20 49 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d   If using the am
10a20 61 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20  algamation, use 
10a30 73 71 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74  sqlite3.c direct
10a40 6c 79 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  ly to build the 
10a50 74 65 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20  test.# fixture. 
10a60 20 4f 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20   Otherwise link 
10a70 61 67 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74  against libsqlit
10a80 65 33 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64  e3.lib.  (This d
10a90 69 73 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20  istinction is.# 
10aa0 6e 65 63 65 73 73 61 72 79 20 62 65 63 61 75 73  necessary becaus
10ab0 65 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75  e the test fixtu
10ac0 72 65 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d  re requires non-
10ad0 41 50 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63  API symbols whic
10ae0 68 20 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77  h are.# hidden w
10af0 68 65 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20  hen the library 
10b00 69 73 20 62 75 69 6c 74 20 76 69 61 20 74 68 65  is built via the
10b10 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a   amalgamation)..
10b20 23 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  #.TESTFIXTURE_FL
10b30 41 47 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e  AGS = -DTCLSH_IN
10b40 49 54 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54  IT_PROC=sqlite3T
10b50 65 73 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45  estInit -DSQLITE
10b60 5f 54 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45  _TEST=1 -DSQLITE
10b70 5f 43 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45  _CRASH_TEST=1.TE
10b80 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
10b90 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
10ba0 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
10bb0 53 45 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54  SERVER=1 -DSQLIT
10bc0 45 5f 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53  E_PRIVATE="".TES
10bd0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
10be0 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F
10bf0 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43  LAGS) -DSQLITE_C
10c00 4f 52 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54  ORE $(NO_WARN).T
10c10 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10c20 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
10c30 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
10c40 5f 53 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49  _SERIES_CONSTRAI
10c50 4e 54 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54  NT_VERIFY=1.TEST
10c60 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
10c70 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL
10c80 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45  AGS) -DSQLITE_DE
10c90 46 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d  FAULT_PAGE_SIZE=
10ca0 31 30 32 34 0a 54 45 53 54 46 49 58 54 55 52 45  1024.TESTFIXTURE
10cb0 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF
10cc0 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
10cd0 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54  SQLITE_ENABLE_ST
10ce0 4d 54 56 54 41 42 3d 31 0a 54 45 53 54 46 49 58  MTVTAB=1.TESTFIX
10cf0 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54  TURE_FLAGS = $(T
10d00 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10d10 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
10d20 45 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31 0a  E_DBPAGE_VTAB=1.
10d30 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10d40 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR
10d50 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
10d60 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 3d 31  E_ENABLE_JSON1=1
10d70 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
10d80 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU
10d90 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
10da0 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52 49  TE_ENABLE_DESERI
10db0 41 4c 49 5a 45 3d 31 0a 54 45 53 54 46 49 58 54  ALIZE=1.TESTFIXT
10dc0 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE
10dd0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
10de0 20 24 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50   $(TEST_CCONV_OP
10df0 54 53 29 0a 0a 54 45 53 54 46 49 58 54 55 52 45  TS)..TESTFIXTURE
10e00 5f 53 52 43 30 20 3d 20 24 28 54 45 53 54 45 58  _SRC0 = $(TESTEX
10e10 54 29 20 24 28 54 45 53 54 53 52 43 32 29 0a 54  T) $(TESTSRC2).T
10e20 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 20  ESTFIXTURE_SRC1 
10e30 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28 53  = $(TESTEXT) $(S
10e40 51 4c 49 54 45 33 43 29 0a 21 49 46 20 24 28 55  QLITE3C).!IF $(U
10e50 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29  SE_AMALGAMATION)
10e60 3d 3d 30 0a 54 45 53 54 46 49 58 54 55 52 45 5f  ==0.TESTFIXTURE_
10e70 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29  SRC = $(TESTSRC)
10e80 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls
10e90 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49  qlite.c $(TESTFI
10ea0 58 54 55 52 45 5f 53 52 43 30 29 0a 21 45 4c 53  XTURE_SRC0).!ELS
10eb0 45 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  E.TESTFIXTURE_SR
10ec0 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24  C = $(TESTSRC) $
10ed0 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
10ee0 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54  ite.c $(TESTFIXT
10ef0 55 52 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 46  URE_SRC1).!ENDIF
10f00 0a 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43  ..!IF $(USE_STDC
10f10 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR
10f20 5f 57 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69 74  _WIN10)!=0.sqlit
10f30 65 5f 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 65  e_tclDecls.h:..e
10f40 63 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49  cho #ifndef SQLI
10f50 54 45 5f 54 43 4c 41 50 49 20 3e 20 24 28 53 51  TE_TCLAPI > $(SQ
10f60 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09  LITETCLDECLSH)..
10f70 65 63 68 6f 20 23 20 20 64 65 66 69 6e 65 20 53  echo #  define S
10f80 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e 20  QLITE_TCLAPI >> 
10f90 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53  $(SQLITETCLDECLS
10fa0 48 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20  H)..echo #endif 
10fb0 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45  >> $(SQLITETCLDE
10fc0 43 4c 53 48 29 0a 09 74 79 70 65 20 22 24 28 54  CLSH)..type "$(T
10fd0 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 44 65 63  CLINCDIR)\tclDec
10fe0 6c 73 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54 43  ls.h" \...| $(TC
10ff0 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
11000 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
11010 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52   regsub "^(EXTER
11020 4e 28 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f  N(?: CONST\d+?)?
11030 5c 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29  \s+?[^\(]*?\s+?)
11040 54 63 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54 45  Tcl_" "\1 SQLITE
11050 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a  _TCLAPI Tcl_" \.
11060 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
11070 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
11080 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20  lace.tcl regsub 
11090 22 5e 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a  "^(EXTERN\s+?(?:
110a0 76 6f 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 54  void|VOID)\s+?)T
110b0 63 6c 46 72 65 65 4f 62 6a 22 20 22 5c 31 20 53  clFreeObj" "\1 S
110c0 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c  QLITE_TCLAPI Tcl
110d0 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24  FreeObj" \...| $
110e0 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
110f0 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
11100 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a  tcl regsub "\(\*
11110 74 63 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f 54  tcl_" "(SQLITE_T
11120 43 4c 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a 09  CLAPI *tcl_" \..
11130 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
11140 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
11150 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
11160 5c 28 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20  \(\*tclFreeObj" 
11170 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  "(SQLITE_TCLAPI 
11180 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09  *tclFreeObj" \..
11190 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
111a0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
111b0 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
111c0 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 54  \(\*" "(SQLITE_T
111d0 43 4c 41 50 49 20 2a 22 20 3e 3e 20 24 28 53 51  CLAPI *" >> $(SQ
111e0 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 0a  LITETCLDECLSH)..
111f0 73 71 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09 74  sqlite_tcl.h:..t
11200 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52  ype "$(TCLINCDIR
11210 29 5c 74 63 6c 2e 68 22 20 7c 20 24 28 54 43 4c  )\tcl.h" | $(TCL
11220 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
11230 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
11240 65 78 61 63 74 20 74 63 6c 44 65 63 6c 73 2e 68  exact tclDecls.h
11250 20 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73   sqlite_tclDecls
11260 2e 68 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  .h \...| $(TCLSH
11270 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
11280 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
11290 67 73 75 62 20 22 74 79 70 65 64 65 66 20 28 2e  gsub "typedef (.
112a0 2a 3f 29 5c 28 54 63 6c 5f 22 20 22 74 79 70 65  *?)\(Tcl_" "type
112b0 64 65 66 20 5c 31 20 28 53 51 4c 49 54 45 5f 54  def \1 (SQLITE_T
112c0 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09  CLAPI Tcl_" \...
112d0 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
112e0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
112f0 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22 76 6f  ce.tcl exact "vo
11300 69 64 20 28 2a 66 72 65 65 50 72 6f 63 29 22 20  id (*freeProc)" 
11310 22 76 6f 69 64 20 28 53 51 4c 49 54 45 5f 54 43  "void (SQLITE_TC
11320 4c 41 50 49 20 2a 66 72 65 65 50 72 6f 63 29 22  LAPI *freeProc)"
11330 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
11340 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
11350 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
11360 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79  t "Tcl_HashEntry
11370 20 2a 28 2a 66 69 6e 64 50 72 6f 63 29 22 20 22   *(*findProc)" "
11380 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28  Tcl_HashEntry *(
11390 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66  SQLITE_TCLAPI *f
113a0 69 6e 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20  indProc)" \...| 
113b0 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
113c0 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
113d0 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f  .tcl exact "Tcl_
113e0 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 63 72 65  HashEntry *(*cre
113f0 61 74 65 50 72 6f 63 29 22 20 22 54 63 6c 5f 48  ateProc)" "Tcl_H
11400 61 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54  ashEntry *(SQLIT
11410 45 5f 54 43 4c 41 50 49 20 2a 63 72 65 61 74 65  E_TCLAPI *create
11420 50 72 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c 49  Proc)" >> $(SQLI
11430 54 45 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a 0a  TETCLH).!ENDIF..
11440 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 3a  testfixture.exe:
11450 09 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53  .$(TESTFIXTURE_S
11460 52 43 29 20 24 28 54 45 53 54 46 49 58 54 55 52  RC) $(TESTFIXTUR
11470 45 5f 44 45 50 29 20 24 28 53 51 4c 49 54 45 33  E_DEP) $(SQLITE3
11480 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  H) $(LIBRESOBJS)
11490 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45   $(HDR) $(SQLITE
114a0 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 4c  _TCL_DEP)..$(LTL
114b0 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f  INK) -DSQLITE_NO
114c0 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49  _SYNC=1 $(TESTFI
114d0 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09  XTURE_FLAGS) \..
114e0 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20  .-DBUILD_sqlite 
114f0 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c  -I$(TCLINCDIR) \
11500 0a 09 09 24 28 54 45 53 54 46 49 58 54 55 52 45  ...$(TESTFIXTURE
11510 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20  _SRC) \.../link 
11520 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
11530 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49  INKOPTS) $(TCLLI
11540 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50  BPATHS) $(LTLIBP
11550 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42  ATHS) $(LIBRESOB
11560 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24  JS) $(TCLLIBS) $
11570 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS
11580 29 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73 74  )..extensiontest
11590 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  :.testfixture.ex
115a0 65 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c  e testloadext.dl
115b0 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  l..@set PATH=$(L
115c0 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
115d0 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
115e0 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
115f0 74 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74 20 24  t\loadext.test $
11600 28 54 45 53 54 4f 50 54 53 29 0a 0a 63 6f 72 65  (TESTOPTS)..core
11610 74 65 73 74 70 72 6f 67 73 3a 09 24 28 54 45 53  testprogs:.$(TES
11620 54 50 52 4f 47 53 29 0a 0a 74 65 73 74 70 72 6f  TPROGS)..testpro
11630 67 73 3a 09 63 6f 72 65 74 65 73 74 70 72 6f 67  gs:.coretestprog
11640 73 20 73 72 63 63 6b 31 2e 65 78 65 20 66 75 7a  s srcck1.exe fuz
11650 7a 63 68 65 63 6b 2e 65 78 65 20 73 65 73 73 69  zcheck.exe sessi
11660 6f 6e 66 75 7a 7a 2e 65 78 65 0a 0a 66 75 6c 6c  onfuzz.exe..full
11670 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47  test:.$(TESTPROG
11680 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65  S) fuzztest..@se
11690 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
116a0 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
116b0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
116c0 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e  $(TOP)\test\all.
116d0 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS)
116e0 0a 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28 54 45  ..soaktest:.$(TE
116f0 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50  STPROGS)..@set P
11700 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
11710 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
11720 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
11730 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73  OP)\test\all.tes
11740 74 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53 54  t -soak=1 $(TEST
11750 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 6f  OPTS)..fulltesto
11760 6e 6c 79 3a 09 24 28 54 45 53 54 50 52 4f 47 53  nly:.$(TESTPROGS
11770 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74  ) fuzztest..@set
11780 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA
11790 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t
117a0 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $
117b0 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c 2e  (TOP)\test\full.
117c0 74 65 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e 74  test..queryplant
117d0 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65  est:.testfixture
117e0 2e 65 78 65 20 73 68 65 6c 6c 0a 09 40 73 65 74  .exe shell..@set
117f0 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA
11800 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t
11810 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $
11820 28 54 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d 75  (TOP)\test\permu
11830 74 61 74 69 6f 6e 73 2e 74 65 73 74 20 71 75 65  tations.test que
11840 72 79 70 6c 61 6e 6e 65 72 20 24 28 54 45 53 54  ryplanner $(TEST
11850 4f 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74 3a  OPTS)..fuzztest:
11860 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09  .fuzzcheck.exe..
11870 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20  .\fuzzcheck.exe 
11880 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61 73  $(FUZZDATA)..fas
11890 74 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63  tfuzztest:.fuzzc
118a0 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a  heck.exe...\fuzz
118b0 63 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69  check.exe --limi
118c0 74 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46 55 5a  t-mem 100M $(FUZ
118d0 5a 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d 61  ZDATA)..# Minima
118e0 6c 20 74 65 73 74 69 6e 67 20 74 68 61 74 20 72  l testing that r
118f0 75 6e 73 20 69 6e 20 6c 65 73 73 20 74 68 61 6e  uns in less than
11900 20 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20 61   3 minutes (on a
11910 20 66 61 73 74 20 6d 61 63 68 69 6e 65 29 0a 23   fast machine).#
11920 0a 71 75 69 63 6b 74 65 73 74 3a 09 74 65 73 74  .quicktest:.test
11930 66 69 78 74 75 72 65 2e 65 78 65 20 73 6f 75 72  fixture.exe sour
11940 63 65 74 65 73 74 0a 09 40 73 65 74 20 50 41 54  cetest..@set PAT
11950 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
11960 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
11970 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
11980 29 5c 74 65 73 74 5c 65 78 74 72 61 71 75 69 63  )\test\extraquic
11990 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54  k.test $(TESTOPT
119a0 53 29 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68  S)..# This is th
119b0 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20  e common case.  
119c0 52 75 6e 20 6d 61 6e 79 20 74 65 73 74 73 20 74  Run many tests t
119d0 68 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20  hat do not take 
119e0 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c  too long,.# incl
119f0 75 64 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c  uding fuzzcheck,
11a00 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
11a10 72 2c 20 61 6e 64 20 73 71 6c 64 69 66 66 20 74  r, and sqldiff t
11a20 65 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28  ests..#.test:.$(
11a30 54 45 53 54 50 52 4f 47 53 29 20 73 6f 75 72 63  TESTPROGS) sourc
11a40 65 74 65 73 74 20 66 61 73 74 66 75 7a 7a 74 65  etest fastfuzzte
11a50 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  st..@set PATH=$(
11a60 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
11a70 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
11a80 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
11a90 73 74 5c 76 65 72 79 71 75 69 63 6b 2e 74 65 73  st\veryquick.tes
11aa0 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73  t $(TESTOPTS)..s
11ab0 6d 6f 6b 65 74 65 73 74 3a 09 24 28 54 45 53 54  moketest:.$(TEST
11ac0 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54  PROGS)..@set PAT
11ad0 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
11ae0 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
11af0 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
11b00 29 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73 74  )\test\main.test
11b10 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 71   $(TESTOPTS)..sq
11b20 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63  lite3_analyzer.c
11b30 3a 09 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  :.$(SQLITE3C) $(
11b40 53 51 4c 49 54 45 33 48 29 20 24 28 54 4f 50 29  SQLITE3H) $(TOP)
11b50 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
11b60 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61   $(TOP)\tool\spa
11b70 63 65 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f 50  ceanal.tcl $(TOP
11b80 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74  )\tool\mkccode.t
11b90 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  cl $(TOP)\tool\s
11ba0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
11bb0 63 2e 69 6e 20 24 28 53 51 4c 49 54 45 5f 54 43  c.in $(SQLITE_TC
11bc0 4c 5f 44 45 50 29 0a 09 24 28 54 43 4c 53 48 5f  L_DEP)..$(TCLSH_
11bd0 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
11be0 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54  \mkccode.tcl $(T
11bf0 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33  OP)\tool\sqlite3
11c00 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e  _analyzer.c.in >
11c10 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61   $@..sqlite3_ana
11c20 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 74  lyzer.exe:.sqlit
11c30 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 28  e3_analyzer.c $(
11c40 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c  LIBRESOBJS)..$(L
11c50 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
11c60 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  ) -DBUILD_sqlite
11c70 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 
11c80 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
11c90 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c  .c \.../link $(L
11ca0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
11cb0 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41  OPTS) $(TCLLIBPA
11cc0 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  THS) $(LTLIBPATH
11cd0 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  S) $(LIBRESOBJS)
11ce0 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54   $(TCLLIBS) $(LT
11cf0 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
11d00 73 71 6c 74 63 6c 73 68 2e 63 3a 20 73 71 6c 69  sqltclsh.c: sqli
11d10 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 73 72 63  te3.c $(TOP)\src
11d20 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54  \tclsqlite.c $(T
11d30 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73  OP)\tool\sqltcls
11d40 68 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 74  h.tcl $(TOP)\ext
11d50 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e  \misc\appendvfs.
11d60 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  c $(TOP)\tool\mk
11d70 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29  ccode.tcl $(TOP)
11d80 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63  \tool\sqltclsh.c
11d90 2e 69 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  .in..$(TCLSH_CMD
11da0 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk
11db0 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29  ccode.tcl $(TOP)
11dc0 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63  \tool\sqltclsh.c
11dd0 2e 69 6e 20 3e 73 71 6c 74 63 6c 73 68 2e 63 0a  .in >sqltclsh.c.
11de0 0a 73 71 6c 74 63 6c 73 68 2e 65 78 65 3a 20 73  .sqltclsh.exe: s
11df0 71 6c 74 63 6c 73 68 2e 63 20 20 24 28 53 48 45  qltclsh.c  $(SHE
11e00 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c  LL_CORE_DEP) $(L
11e10 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
11e20 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
11e30 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite 
11e40 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73  -I$(TCLINCDIR) s
11e50 71 6c 74 63 6c 73 68 2e 63 20 5c 0a 09 09 2f 6c  qltclsh.c \.../l
11e60 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
11e70 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54  (LTLINKOPTS) $(T
11e80 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54  CLLIBPATHS) $(LT
11e90 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR
11ea0 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42  ESOBJS) $(TCLLIB
11eb0 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS) $(T
11ec0 4c 49 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f 65  LIBS)..sqlite3_e
11ed0 78 70 65 72 74 2e 65 78 65 3a 20 24 28 53 51 4c  xpert.exe: $(SQL
11ee0 49 54 45 33 43 29 20 24 28 54 4f 50 29 5c 65 78  ITE3C) $(TOP)\ex
11ef0 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33  t\expert\sqlite3
11f00 65 78 70 65 72 74 2e 68 20 24 28 54 4f 50 29 5c  expert.h $(TOP)\
11f10 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74  ext\expert\sqlit
11f20 65 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f 50  e3expert.c $(TOP
11f30 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78 70  )\ext\expert\exp
11f40 65 72 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29  ert.c..$(LTLINK)
11f50 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f   $(NO_WARN).$(TO
11f60 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71  P)\ext\expert\sq
11f70 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 24 28  lite3expert.c $(
11f80 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c  TOP)\ext\expert\
11f90 65 78 70 65 72 74 2e 63 20 24 28 53 51 4c 49 54  expert.c $(SQLIT
11fa0 45 33 43 29 20 24 28 54 4c 49 42 53 29 0a 0a 43  E3C) $(TLIBS)..C
11fb0 48 45 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a 20  HECKER_DEPS =\. 
11fc0 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 63   $(TOP)/tool/mkc
11fd0 63 6f 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71 6c  code.tcl \.  sql
11fe0 69 74 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ite3.c \.  $(TOP
11ff0 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e  )/src/tclsqlite.
12000 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  c \.  $(TOP)/ext
12010 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33 5f  /repair/sqlite3_
12020 63 68 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20 20  checker.tcl \.  
12030 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69  $(TOP)/ext/repai
12040 72 2f 63 68 65 63 6b 69 6e 64 65 78 2e 63 20 5c  r/checkindex.c \
12050 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65  .  $(TOP)/ext/re
12060 70 61 69 72 2f 63 68 65 63 6b 66 72 65 65 6c 69  pair/checkfreeli
12070 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  st.c \.  $(TOP)/
12080 65 78 74 2f 6d 69 73 63 2f 62 74 72 65 65 69 6e  ext/misc/btreein
12090 66 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  fo.c \.  $(TOP)/
120a0 65 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74  ext/repair/sqlit
120b0 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 0a  e3_checker.c.in.
120c0 0a 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72  .sqlite3_checker
120d0 2e 63 3a 09 24 28 43 48 45 43 4b 45 52 5f 44 45  .c:.$(CHECKER_DE
120e0 50 53 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  PS)..$(TCLSH_CMD
120f0 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk
12100 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29  ccode.tcl $(TOP)
12110 5c 65 78 74 5c 72 65 70 61 69 72 5c 73 71 6c 69  \ext\repair\sqli
12120 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e  te3_checker.c.in
12130 20 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 63   > $@..sqlite3_c
12140 68 65 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c 69  hecker.exe:.sqli
12150 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 24 28  te3_checker.c $(
12160 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c  LIBRESOBJS)..$(L
12170 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
12180 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  ) -DBUILD_sqlite
12190 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 
121a0 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
121b0 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44  c \.../link $(LD
121c0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
121d0 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54  PTS) $(TCLLIBPAT
121e0 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  HS) $(LTLIBPATHS
121f0 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
12200 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c  $(TCLLIBS) $(LTL
12210 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 64  IBS) $(TLIBS)..d
12220 62 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f 50  bdump.exe:.$(TOP
12230 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d  )\ext\misc\dbdum
12240 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  p.c $(SQLITE3C) 
12250 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49  $(SQLITE3H) $(LI
12260 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c  BRESOBJS)..$(LTL
12270 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
12280 2d 44 44 42 44 55 4d 50 5f 53 54 41 4e 44 41 4c  -DDBDUMP_STANDAL
12290 4f 4e 45 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  ONE $(TOP)\ext\m
122a0 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53  isc\dbdump.c $(S
122b0 51 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c 69  QLITE3C) \.../li
122c0 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
122d0 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54  LTLINKOPTS) $(LT
122e0 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR
122f0 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53  ESOBJS) $(LTLIBS
12300 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c  )..testloadext.l
12310 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  o:.$(TOP)\src\te
12320 73 74 5f 6c 6f 61 64 65 78 74 2e 63 20 24 28 53  st_loadext.c $(S
12330 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 43 4f  QLITE3H)..$(LTCO
12340 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e  MPILE) $(NO_WARN
12350 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
12360 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a  test_loadext.c..
12370 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a  testloadext.dll:
12380 09 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a  .testloadext.lo.
12390 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53  .$(LD) $(LDFLAGS
123a0 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
123b0 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44  $(LTLIBPATHS) /D
123c0 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c  LL /OUT:$@ testl
123d0 6f 61 64 65 78 74 2e 6c 6f 0a 0a 64 62 74 6f 74  oadext.lo..dbtot
123e0 78 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  xt.exe:.$(TOP)\t
123f0 6f 6f 6c 5c 64 62 74 6f 74 78 74 2e 63 0a 09 24  ool\dbtotxt.c..$
12400 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
12410 52 4e 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN).$(TOP)\tool\
12420 64 62 74 6f 74 78 74 2e 63 20 2f 6c 69 6e 6b 20  dbtotxt.c /link 
12430 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
12440 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 64 62  INKOPTS)..showdb
12450 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
12460 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c  l\showdb.c $(SQL
12470 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
12480 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
12490 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
124a0 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
124b0 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
124c0 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09  D_EXTENSION \...
124d0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
124e0 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  db.c $(SQLITE3C)
124f0 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
12500 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
12510 0a 73 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09  .showstat4.exe:.
12520 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
12530 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45  stat4.c $(SQLITE
12540 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
12550 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
12560 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
12570 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
12580 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
12590 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54  XTENSION \...$(T
125a0 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61  OP)\tool\showsta
125b0 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  t4.c $(SQLITE3C)
125c0 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
125d0 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
125e0 0a 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65  .showjournal.exe
125f0 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh
12600 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51  owjournal.c $(SQ
12610 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
12620 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
12630 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
12640 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0 
12650 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
12660 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09  AD_EXTENSION \..
12670 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho
12680 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c  wjournal.c $(SQL
12690 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
126a0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
126b0 4f 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65  OPTS)..showwal.e
126c0 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
126d0 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49  showwal.c $(SQLI
126e0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
126f0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12700 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12710 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12720 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12730 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
12740 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77  (TOP)\tool\showw
12750 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  al.c $(SQLITE3C)
12760 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
12770 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
12780 0a 73 68 6f 77 73 68 6d 2e 65 78 65 3a 09 24 28  .showshm.exe:.$(
12790 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68  TOP)\tool\showsh
127a0 6d 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  m.c..$(LTLINK) $
127b0 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29  (NO_WARN).$(TOP)
127c0 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 20  \tool\showshm.c 
127d0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
127e0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
127f0 69 6e 64 65 78 5f 75 73 61 67 65 2e 65 78 65 3a  index_usage.exe:
12800 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64   $(TOP)\tool\ind
12810 65 78 5f 75 73 61 67 65 2e 63 20 24 28 53 51 4c  ex_usage.c $(SQL
12820 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
12830 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
12840 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
12850 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
12860 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
12870 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09  D_EXTENSION \...
12880 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64 65  $(TOP)\tool\inde
12890 78 5f 75 73 61 67 65 2e 63 20 24 28 53 51 4c 49  x_usage.c $(SQLI
128a0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
128b0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
128c0 50 54 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e  PTS)..changeset.
128d0 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  exe:.$(TOP)\ext\
128e0 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
128f0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
12900 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
12910 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
12920 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
12930 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
12940 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
12950 53 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54  SION \...-DSQLIT
12960 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e  E_ENABLE_SESSION
12970 3d 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  =1 -DSQLITE_ENAB
12980 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f  LE_PREUPDATE_HOO
12990 4b 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  K=1 \...$(TOP)\e
129a0 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67  xt\session\chang
129b0 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33  eset.c $(SQLITE3
129c0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
129d0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
129e0 29 0a 0a 63 68 61 6e 67 65 73 65 74 66 75 7a 7a  )..changesetfuzz
129f0 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74  .exe:.$(TOP)\ext
12a00 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73  \session\changes
12a10 65 74 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54  etfuzz.c $(SQLIT
12a20 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
12a30 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
12a40 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
12a50 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
12a60 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
12a70 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44  EXTENSION \...-D
12a80 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45  SQLITE_ENABLE_SE
12a90 53 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45  SSION=1 -DSQLITE
12aa0 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54  _ENABLE_PREUPDAT
12ab0 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54  E_HOOK=1 \...$(T
12ac0 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
12ad0 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 63 20  changesetfuzz.c 
12ae0 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
12af0 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
12b00 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33  TLINKOPTS)..fts3
12b10 76 69 65 77 2e 65 78 65 3a 09 24 28 54 4f 50 29  view.exe:.$(TOP)
12b20 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66  \ext\fts3\tool\f
12b30 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49  ts3view.c $(SQLI
12b40 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
12b50 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12b60 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12b70 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12b80 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12b90 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
12ba0 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74  (TOP)\ext\fts3\t
12bb0 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24  ool\fts3view.c $
12bc0 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
12bd0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
12be0 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62  LINKOPTS)..rollb
12bf0 61 63 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28  ack-test.exe:.$(
12c00 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61  TOP)\tool\rollba
12c10 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49  ck-test.c $(SQLI
12c20 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
12c30 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
12c40 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12c50 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12c60 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12c70 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$
12c80 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62  (TOP)\tool\rollb
12c90 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c  ack-test.c $(SQL
12ca0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
12cb0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
12cc0 4f 50 54 53 29 0a 0a 61 74 72 63 2e 65 78 65 3a  OPTS)..atrc.exe:
12cd0 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72  .$(TOP)\test\atr
12ce0 63 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  c.c $(SQLITE3C) 
12cf0 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
12d00 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
12d10 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
12d20 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
12d30 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
12d40 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\
12d50 74 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51  test\atrc.c $(SQ
12d60 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
12d70 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
12d80 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65  KOPTS)..LogEst.e
12d90 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
12da0 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54  logest.c $(SQLIT
12db0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
12dc0 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50  $(NO_WARN) $(TOP
12dd0 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20  )\tool\LogEst.c 
12de0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12df0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12e00 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a 09 24  wordcount.exe:.$
12e10 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63  (TOP)\test\wordc
12e20 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33  ount.c $(SQLITE3
12e30 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
12e40 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
12e50 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
12e60 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
12e70 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
12e80 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO
12e90 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e  P)\test\wordcoun
12ea0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
12eb0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12ec0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12ed0 73 70 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09  speedtest1.exe:.
12ee0 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65  $(TOP)\test\spee
12ef0 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54  dtest1.c $(SQLIT
12f00 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
12f10 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
12f20 5f 57 41 52 4e 29 20 24 28 53 54 5f 43 4f 4d 50  _WARN) $(ST_COMP
12f30 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ILE_OPTS) -DSQLI
12f40 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
12f50 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP
12f60 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74  )\test\speedtest
12f70 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  1.c $(SQLITE3C) 
12f80 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
12f90 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
12fa0 6b 76 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f  kvtest.exe:.$(TO
12fb0 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63  P)\test\kvtest.c
12fc0 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
12fd0 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
12fe0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
12ff0 28 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  (KV_COMPILE_OPTS
13000 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73  ) \...$(TOP)\tes
13010 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c  t\kvtest.c $(SQL
13020 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
13030 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
13040 4f 50 54 53 29 0a 0a 72 62 75 2e 65 78 65 3a 09  OPTS)..rbu.exe:.
13050 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72  $(TOP)\ext\rbu\r
13060 62 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  bu.c $(TOP)\ext\
13070 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
13080 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
13090 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
130a0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
130b0 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52  DSQLITE_ENABLE_R
130c0 42 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  BU \...$(TOP)\ex
130d0 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51  t\rbu\rbu.c $(SQ
130e0 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
130f0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
13100 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24  KOPTS)..LSMDIR=$
13110 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21  (TOP)\ext\lsm1.!
13120 49 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52  INCLUDE $(LSMDIR
13130 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a  )\Makefile.msc..
13140 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e  moreclean:.clean
13150 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54  ..del /Q $(SQLIT
13160 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
13170 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b   2>NUL.# <</mark
13180 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20  >>..clean:..del 
13190 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e  /Q *.exp *.lo *.
131a0 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20  ilk *.lib *.obj 
131b0 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64  *.ncb *.pdb *.sd
131c0 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64  f *.suo 2>NUL..d
131d0 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65  el /Q *.bsc *.de
131e0 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62  f *.cod *.da *.b
131f0 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f  b *.bbg *.vc gmo
13200 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c  n.out 2>NUL..del
13210 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45 58 45   /Q $(SQLITE3EXE
13220 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20  ) $(SQLITE3DLL) 
13230 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55  Replace.exe 2>NU
13240 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65  L.# <<mark>>..de
13250 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33 54 43  l /Q $(SQLITE3TC
13260 4c 44 4c 4c 29 20 70 6b 67 49 6e 64 65 78 2e 74  LDLL) pkgIndex.t
13270 63 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  cl 2>NUL..del /Q
13280 20 6f 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64   opcodes.c opcod
13290 65 73 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  es.h 2>NUL..del 
132a0 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61  /Q lemon.* lempa
132b0 72 2e 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55  r.c parse.* 2>NU
132c0 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b 73 6f 75 72  L..del /Q mksour
132d0 63 65 69 64 2e 2a 20 6d 6b 6b 65 79 77 6f 72 64  ceid.* mkkeyword
132e0 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68 61  hash.* keywordha
132f0 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  sh.h 2>NUL..del 
13300 2f 51 20 6e 6f 74 61 73 68 61 72 65 64 6c 69 62  /Q notasharedlib
13310 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72  .* 2>NUL..-rmdir
13320 20 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e 55   /Q/S .deps 2>NU
13330 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e  L..-rmdir /Q/S .
13340 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64  libs 2>NUL..-rmd
13350 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e  ir /Q/S tsrc 2>N
13360 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61 72 67  UL..del /Q .targ
13370 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55 4c 0a  et_source 2>NUL.
13380 09 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c 69 74  .del /Q tclsqlit
13390 65 33 2e 65 78 65 20 24 28 53 51 4c 49 54 45 54  e3.exe $(SQLITET
133a0 43 4c 48 29 20 24 28 53 51 4c 49 54 45 54 43 4c  CLH) $(SQLITETCL
133b0 44 45 43 4c 53 48 29 20 32 3e 4e 55 4c 0a 09 64  DECLSH) 2>NUL..d
133c0 65 6c 20 2f 51 20 6c 73 6d 2e 64 6c 6c 20 6c 73  el /Q lsm.dll ls
133d0 6d 74 65 73 74 2e 65 78 65 20 32 3e 4e 55 4c 0a  mtest.exe 2>NUL.
133e0 09 64 65 6c 20 2f 51 20 61 74 72 63 2e 65 78 65  .del /Q atrc.exe
133f0 20 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 65   changesetfuzz.e
13400 78 65 20 64 62 74 6f 74 78 74 2e 65 78 65 20 69  xe dbtotxt.exe i
13410 6e 64 65 78 5f 75 73 61 67 65 2e 65 78 65 20 32  ndex_usage.exe 2
13420 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73  >NUL..del /Q tes
13430 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e  tloadext.dll 2>N
13440 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 66  UL..del /Q testf
13450 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 2e  ixture.exe test.
13460 64 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  db 2>NUL..del /Q
13470 20 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73 33   LogEst.exe fts3
13480 76 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63  view.exe rollbac
13490 6b 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77 64  k-test.exe showd
134a0 62 2e 65 78 65 20 64 62 64 75 6d 70 2e 65 78 65  b.exe dbdump.exe
134b0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63   2>NUL..del /Q c
134c0 68 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e  hangeset.exe 2>N
134d0 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a  UL..del /Q showj
134e0 6f 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73  ournal.exe shows
134f0 74 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c  tat4.exe showwal
13500 2e 65 78 65 20 73 70 65 65 64 74 65 73 74 31 2e  .exe speedtest1.
13510 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
13520 51 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77  Q mptester.exe w
13530 6f 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75  ordcount.exe rbu
13540 2e 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20  .exe srcck1.exe 
13550 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
13560 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d  lite3.c sqlite3-
13570 2a 2e 63 20 73 71 6c 69 74 65 33 2e 68 20 32 3e  *.c sqlite3.h 2>
13580 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69  NUL..del /Q sqli
13590 74 65 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09 64  te3rc.h 2>NUL..d
135a0 65 6c 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73 71  el /Q shell.c sq
135b0 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74  lite3ext.h sqlit
135c0 65 33 73 65 73 73 69 6f 6e 2e 68 20 32 3e 4e 55  e3session.h 2>NU
135d0 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
135e0 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 73  3_analyzer.exe s
135f0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
13600 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  c 2>NUL..del /Q 
13610 73 71 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e  sqlite-*-output.
13620 76 73 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  vsix 2>NUL..del 
13630 2f 51 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65  /Q fuzzershell.e
13640 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  xe fuzzcheck.exe
13650 20 73 71 6c 64 69 66 66 2e 65 78 65 20 64 62 68   sqldiff.exe dbh
13660 61 73 68 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  ash.exe 2>NUL..d
13670 65 6c 20 2f 51 20 73 71 6c 74 63 6c 73 68 2e 2a  el /Q sqltclsh.*
13680 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 64   2>NUL..del /Q d
13690 62 66 75 7a 7a 2e 65 78 65 20 73 65 73 73 69 6f  bfuzz.exe sessio
136a0 6e 66 75 7a 7a 2e 65 78 65 20 32 3e 4e 55 4c 0a  nfuzz.exe 2>NUL.
136b0 09 64 65 6c 20 2f 51 20 6b 76 74 65 73 74 2e 65  .del /Q kvtest.e
136c0 78 65 20 6f 73 73 73 68 65 6c 6c 2e 65 78 65 20  xe ossshell.exe 
136d0 73 63 72 75 62 2e 65 78 65 20 32 3e 4e 55 4c 0a  scrub.exe 2>NUL.
136e0 09 64 65 6c 20 2f 51 20 73 68 6f 77 73 68 6d 2e  .del /Q showshm.
136f0 65 78 65 20 73 71 6c 69 74 65 33 5f 63 68 65 63  exe sqlite3_chec
13700 6b 65 72 2e 2a 20 73 71 6c 69 74 65 33 5f 65 78  ker.* sqlite3_ex
13710 70 65 72 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  pert.exe 2>NUL..
13720 64 65 6c 20 2f 51 20 66 74 73 35 2e 2a 20 66 74  del /Q fts5.* ft
13730 73 35 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a  s5parse.* 2>NUL.
13740 09 64 65 6c 20 2f 51 20 6c 73 6d 2e 68 20 6c 73  .del /Q lsm.h ls
13750 6d 31 2e 63 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f  m1.c 2>NUL.# <</
13760 6d 61 72 6b 3e 3e 0a                             mark>>.