/ Hex Artifact Content
Login

Artifact f1aae0644cac286c1fcf5d7acbf6451c1e1d02e31131aa7c7c4536472771351f:


0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS 
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel 
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP 
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable 
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors 
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has 
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS = 
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file 
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the 
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra 
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U
06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a  SE_FULLWARN)!=0.
0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35  NO_WARN = -wd405
0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30  4 -wd4055 -wd410
0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33  0 -wd4127 -wd413
0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38  0 -wd4152 -wd418
0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52  9 -wd4206.NO_WAR
0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  N = $(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20  is non-0 to use 
0900: 74 68 65 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61  the Internationa
0910: 6c 20 43 6f 6d 70 6f 6e 65 6e 74 73 20 66 6f 72  l Components for
0920: 20 55 6e 69 63 6f 64 65 20 28 49 43 55 29 2e 0a   Unicode (ICU)..
0930: 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 49 43  #.!IFNDEF USE_IC
0940: 55 0a 55 53 45 5f 49 43 55 20 3d 20 30 0a 21 45  U.USE_ICU = 0.!E
0950: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
0960: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0970: 2d 30 20 74 6f 20 64 79 6e 61 6d 69 63 61 6c 6c  -0 to dynamicall
0980: 79 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 4d 53  y link to the MS
0990: 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61  VC runtime libra
09a0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53  ry..#.!IFNDEF US
09b0: 45 5f 43 52 54 5f 44 4c 4c 0a 55 53 45 5f 43 52  E_CRT_DLL.USE_CR
09c0: 54 5f 44 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46  T_DLL = 0.!ENDIF
09d0: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
09e0: 2d 30 20 74 6f 20 6c 69 6e 6b 20 74 6f 20 74 68  -0 to link to th
09f0: 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 79  e RPCRT4 library
0a00: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f  ..#.!IFNDEF USE_
0a10: 52 50 43 52 54 34 5f 4c 49 42 0a 55 53 45 5f 52  RPCRT4_LIB.USE_R
0a20: 50 43 52 54 34 5f 4c 49 42 20 3d 20 30 0a 21 45  PCRT4_LIB = 0.!E
0a30: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
0a40: 20 6e 6f 6e 2d 30 20 74 6f 20 67 65 6e 65 72 61   non-0 to genera
0a50: 74 65 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65  te assembly code
0a60: 20 6c 69 73 74 69 6e 67 73 20 66 6f 72 20 74 68   listings for th
0a70: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 0a 23 20  e source code.# 
0a80: 66 69 6c 65 73 2e 0a 23 0a 21 49 46 4e 44 45 46  files..#.!IFNDEF
0a90: 20 55 53 45 5f 4c 49 53 54 49 4e 47 53 0a 55 53   USE_LISTINGS.US
0aa0: 45 5f 4c 49 53 54 49 4e 47 53 20 3d 20 30 0a 21  E_LISTINGS = 0.!
0ab0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0ac0: 73 20 6e 6f 6e 2d 30 20 74 6f 20 61 74 74 65 6d  s non-0 to attem
0ad0: 70 74 20 73 65 74 74 69 6e 67 20 74 68 65 20 6e  pt setting the n
0ae0: 61 74 69 76 65 20 63 6f 6d 70 69 6c 65 72 20 61  ative compiler a
0af0: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 23 20 66  utomatically.# f
0b00: 6f 72 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  or cross-compili
0b10: 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c  ng the command l
0b20: 69 6e 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65 64  ine tools needed
0b30: 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f 6d 70   during the comp
0b40: 69 6c 61 74 69 6f 6e 0a 23 20 70 72 6f 63 65 73  ilation.# proces
0b50: 73 2e 0a 23 0a 21 49 46 4e 44 45 46 20 58 43 4f  s..#.!IFNDEF XCO
0b60: 4d 50 49 4c 45 0a 58 43 4f 4d 50 49 4c 45 20 3d  MPILE.XCOMPILE =
0b70: 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74   0.!ENDIF..# Set
0b80: 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75   this non-0 to u
0b90: 73 65 20 74 68 65 20 6e 61 74 69 76 65 20 6c 69  se the native li
0ba0: 62 72 61 72 69 65 73 20 70 61 74 68 73 20 66 6f  braries paths fo
0bb0: 72 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e  r cross-compilin
0bc0: 67 0a 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20  g.# the command 
0bd0: 6c 69 6e 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65  line tools neede
0be0: 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f 6d  d during the com
0bf0: 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73  pilation process
0c00: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f  ..#.!IFNDEF USE_
0c10: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 0a  NATIVE_LIBPATHS.
0c20: 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41  USE_NATIVE_LIBPA
0c30: 54 48 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  THS = 0.!ENDIF..
0c40: 23 20 53 65 74 20 74 68 69 73 20 30 20 74 6f 20  # Set this 0 to 
0c50: 73 6b 69 70 20 74 68 65 20 63 6f 6d 70 69 6c 69  skip the compili
0c60: 6e 67 20 61 6e 64 20 65 6d 62 65 64 64 69 6e 67  ng and embedding
0c70: 20 6f 66 20 76 65 72 73 69 6f 6e 20 72 65 73 6f   of version reso
0c80: 75 72 63 65 73 2e 0a 23 0a 21 49 46 4e 44 45 46  urces..#.!IFNDEF
0c90: 20 55 53 45 5f 52 43 0a 55 53 45 5f 52 43 20 3d   USE_RC.USE_RC =
0ca0: 20 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74   1.!ENDIF..# Set
0cb0: 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63   this non-0 to c
0cc0: 6f 6d 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20  ompile binaries 
0cd0: 73 75 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65  suitable for the
0ce0: 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65   WinRT environme
0cf0: 6e 74 2e 0a 23 20 54 68 69 73 20 73 65 74 74 69  nt..# This setti
0d00: 6e 67 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c  ng does not appl
0d10: 79 20 74 6f 20 61 6e 79 20 62 69 6e 61 72 69 65  y to any binarie
0d20: 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20 54  s that require T
0d30: 63 6c 20 74 6f 20 6f 70 65 72 61 74 65 0a 23 20  cl to operate.# 
0d40: 70 72 6f 70 65 72 6c 79 20 28 69 2e 65 2e 20 74  properly (i.e. t
0d50: 68 65 20 74 65 78 74 20 66 69 78 74 75 72 65 2c  he text fixture,
0d60: 20 65 74 63 29 2e 0a 23 0a 21 49 46 4e 44 45 46   etc)..#.!IFNDEF
0d70: 20 46 4f 52 5f 57 49 4e 52 54 0a 46 4f 52 5f 57   FOR_WINRT.FOR_W
0d80: 49 4e 52 54 20 3d 20 30 0a 21 45 4e 44 49 46 0a  INRT = 0.!ENDIF.
0d90: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0da0: 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69 6e  0 to compile bin
0db0: 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20 66  aries suitable f
0dc0: 6f 72 20 74 68 65 20 55 57 50 20 65 6e 76 69 72  or the UWP envir
0dd0: 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68 69 73 20 73  onment..# This s
0de0: 65 74 74 69 6e 67 20 64 6f 65 73 20 6e 6f 74 20  etting does not 
0df0: 61 70 70 6c 79 20 74 6f 20 61 6e 79 20 62 69 6e  apply to any bin
0e00: 61 72 69 65 73 20 74 68 61 74 20 72 65 71 75 69  aries that requi
0e10: 72 65 20 54 63 6c 20 74 6f 20 6f 70 65 72 61 74  re Tcl to operat
0e20: 65 0a 23 20 70 72 6f 70 65 72 6c 79 20 28 69 2e  e.# properly (i.
0e30: 65 2e 20 74 68 65 20 74 65 78 74 20 66 69 78 74  e. the text fixt
0e40: 75 72 65 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46  ure, etc)..#.!IF
0e50: 4e 44 45 46 20 46 4f 52 5f 55 57 50 0a 46 4f 52  NDEF FOR_UWP.FOR
0e60: 5f 55 57 50 20 3d 20 30 0a 21 45 4e 44 49 46 0a  _UWP = 0.!ENDIF.
0e70: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0e80: 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69 6e  0 to compile bin
0e90: 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20 66  aries suitable f
0ea0: 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31  or the Windows 1
0eb0: 30 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49  0 platform..#.!I
0ec0: 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e 31 30 0a  FNDEF FOR_WIN10.
0ed0: 46 4f 52 5f 57 49 4e 31 30 20 3d 20 30 0a 21 45  FOR_WIN10 = 0.!E
0ee0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
0ef0: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0f00: 30 20 74 6f 20 73 6b 69 70 20 61 74 74 65 6d 70  0 to skip attemp
0f10: 74 69 6e 67 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72  ting to look for
0f20: 20 61 6e 64 2f 6f 72 20 6c 69 6e 6b 20 77 69 74   and/or link wit
0f30: 68 20 74 68 65 20 54 63 6c 0a 23 20 72 75 6e 74  h the Tcl.# runt
0f40: 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ime library..#.!
0f50: 49 46 4e 44 45 46 20 4e 4f 5f 54 43 4c 0a 4e 4f  IFNDEF NO_TCL.NO
0f60: 5f 54 43 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  _TCL = 0.!ENDIF.
0f70: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53  # <</mark>>..# S
0f80: 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30  et this to non-0
0f90: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
0fa0: 73 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 4e 44  se PDBs..#.!IFND
0fb0: 45 46 20 53 59 4d 42 4f 4c 53 0a 53 59 4d 42 4f  EF SYMBOLS.SYMBO
0fc0: 4c 53 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a 23  LS = 1.!ENDIF..#
0fd0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
0fe0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 53 51  -0 to use the SQ
0ff0: 4c 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68  Lite debugging h
1000: 65 61 70 20 73 75 62 73 79 73 74 65 6d 2e 0a 23  eap subsystem..#
1010: 0a 21 49 46 4e 44 45 46 20 4d 45 4d 44 45 42 55  .!IFNDEF MEMDEBU
1020: 47 0a 4d 45 4d 44 45 42 55 47 20 3d 20 30 0a 21  G.MEMDEBUG = 0.!
1030: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1040: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1050: 65 20 74 68 65 20 57 69 6e 33 32 20 6e 61 74 69  e the Win32 nati
1060: 76 65 20 68 65 61 70 20 73 75 62 73 79 73 74 65  ve heap subsyste
1070: 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 57 49 4e  m..#.!IFNDEF WIN
1080: 33 32 48 45 41 50 0a 57 49 4e 33 32 48 45 41 50  32HEAP.WIN32HEAP
1090: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53   = 0.!ENDIF..# S
10a0: 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30  et this to non-0
10b0: 20 74 6f 20 65 6e 61 62 6c 65 20 4f 53 54 52 41   to enable OSTRA
10c0: 43 45 28 29 20 6d 61 63 72 6f 73 2c 20 77 68 69  CE() macros, whi
10d0: 63 68 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c  ch can be useful
10e0: 20 77 68 65 6e 0a 23 20 64 65 62 75 67 67 69 6e   when.# debuggin
10f0: 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4f 53 54  g..#.!IFNDEF OST
1100: 52 41 43 45 0a 4f 53 54 52 41 43 45 20 3d 20 30  RACE.OSTRACE = 0
1110: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1120: 68 69 73 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68  his to one of th
1130: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75  e following valu
1140: 65 73 20 74 6f 20 65 6e 61 62 6c 65 20 76 61 72  es to enable var
1150: 69 6f 75 73 20 64 65 62 75 67 67 69 6e 67 0a 23  ious debugging.#
1160: 20 66 65 61 74 75 72 65 73 2e 20 20 45 61 63 68   features.  Each
1170: 20 6c 65 76 65 6c 20 69 6e 63 6c 75 64 65 73 20   level includes 
1180: 74 68 65 20 64 65 62 75 67 67 69 6e 67 20 6f 70  the debugging op
1190: 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65 20 70  tions from the p
11a0: 72 65 76 69 6f 75 73 0a 23 20 6c 65 76 65 6c 73  revious.# levels
11b0: 2e 20 20 43 75 72 72 65 6e 74 6c 79 2c 20 74 68  .  Currently, th
11c0: 65 20 72 65 63 6f 67 6e 69 7a 65 64 20 76 61 6c  e recognized val
11d0: 75 65 73 20 66 6f 72 20 44 45 42 55 47 20 61 72  ues for DEBUG ar
11e0: 65 3a 0a 23 0a 23 20 30 20 3d 3d 20 4e 44 45 42  e:.#.# 0 == NDEB
11f0: 55 47 3a 20 44 69 73 61 62 6c 65 73 20 61 73 73  UG: Disables ass
1200: 65 72 74 28 29 20 61 6e 64 20 6f 74 68 65 72 20  ert() and other 
1210: 72 75 6e 74 69 6d 65 20 64 69 61 67 6e 6f 73 74  runtime diagnost
1220: 69 63 73 2e 0a 23 20 31 20 3d 3d 20 53 51 4c 49  ics..# 1 == SQLI
1230: 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52  TE_ENABLE_API_AR
1240: 4d 4f 52 3a 20 65 78 74 72 61 20 61 74 74 65 6d  MOR: extra attem
1250: 70 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69  pts to detect mi
1260: 73 75 73 65 20 6f 66 20 74 68 65 20 41 50 49 2e  suse of the API.
1270: 0a 23 20 32 20 3d 3d 20 44 69 73 61 62 6c 65 73  .# 2 == Disables
1280: 20 4e 44 45 42 55 47 20 61 6e 64 20 61 6c 6c 20   NDEBUG and all 
1290: 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 6e  optimizations an
12a0: 64 20 74 68 65 6e 20 65 6e 61 62 6c 65 73 20 50  d then enables P
12b0: 44 42 73 2e 0a 23 20 33 20 3d 3d 20 53 51 4c 49  DBs..# 3 == SQLI
12c0: 54 45 5f 44 45 42 55 47 3a 20 45 6e 61 62 6c 65  TE_DEBUG: Enable
12d0: 73 20 76 61 72 69 6f 75 73 20 64 69 61 67 6e 6f  s various diagno
12e0: 73 74 69 63 73 20 6d 65 73 73 61 67 65 73 20 61  stics messages a
12f0: 6e 64 20 63 6f 64 65 2e 0a 23 20 34 20 3d 3d 20  nd code..# 4 == 
1300: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c  SQLITE_WIN32_MAL
1310: 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3a 20 56 61  LOC_VALIDATE: Va
1320: 6c 69 64 61 74 65 20 74 68 65 20 57 69 6e 33 32  lidate the Win32
1330: 20 6e 61 74 69 76 65 20 68 65 61 70 20 70 65 72   native heap per
1340: 20 63 61 6c 6c 2e 0a 23 20 35 20 3d 3d 20 53 51   call..# 5 == SQ
1350: 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52  LITE_DEBUG_OS_TR
1360: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1370: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 4f 53 54  put from the OST
1380: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1390: 20 36 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41   6 == SQLITE_ENA
13a0: 42 4c 45 5f 49 4f 54 52 41 43 45 3a 20 45 6e 61  BLE_IOTRACE: Ena
13b0: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
13c0: 20 74 68 65 20 49 4f 54 52 41 43 45 28 29 20 6d   the IOTRACE() m
13d0: 61 63 72 6f 73 2e 0a 23 0a 21 49 46 4e 44 45 46  acros..#.!IFNDEF
13e0: 20 44 45 42 55 47 0a 44 45 42 55 47 20 3d 20 30   DEBUG.DEBUG = 0
13f0: 0a 21 45 4e 44 49 46 0a 0a 23 20 45 6e 61 62 6c  .!ENDIF..# Enabl
1400: 65 20 75 73 65 20 6f 66 20 61 76 61 69 6c 61 62  e use of availab
1410: 6c 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  le compiler opti
1420: 6d 69 7a 61 74 69 6f 6e 73 3f 20 20 4e 6f 72 6d  mizations?  Norm
1430: 61 6c 6c 79 2c 20 74 68 69 73 20 73 68 6f 75 6c  ally, this shoul
1440: 64 20 62 65 0a 23 20 6e 6f 6e 2d 7a 65 72 6f 2e  d be.# non-zero.
1450: 20 20 53 65 74 74 69 6e 67 20 74 68 69 73 20 74    Setting this t
1460: 6f 20 7a 65 72 6f 2c 20 74 68 75 73 20 64 69 73  o zero, thus dis
1470: 61 62 6c 69 6e 67 20 61 6c 6c 20 63 6f 6d 70 69  abling all compi
1480: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
1490: 73 2c 0a 23 20 63 61 6e 20 62 65 20 75 73 65 66  s,.# can be usef
14a0: 75 6c 20 66 6f 72 20 74 65 73 74 69 6e 67 2e 0a  ul for testing..
14b0: 23 0a 21 49 46 4e 44 45 46 20 4f 50 54 49 4d 49  #.!IFNDEF OPTIMI
14c0: 5a 41 54 49 4f 4e 53 0a 4f 50 54 49 4d 49 5a 41  ZATIONS.OPTIMIZA
14d0: 54 49 4f 4e 53 20 3d 20 32 0a 21 45 4e 44 49 46  TIONS = 2.!ENDIF
14e0: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20  ..# Set this to 
14f0: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable 
1500: 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20  support for the 
1510: 73 65 73 73 69 6f 6e 20 65 78 74 65 6e 73 69 6f  session extensio
1520: 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 45 53  n..#.!IFNDEF SES
1530: 53 49 4f 4e 0a 53 45 53 53 49 4f 4e 20 3d 20 30  SION.SESSION = 0
1540: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1550: 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  he source code f
1560: 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20 62  ile to be used b
1570: 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 61 6e  y executables an
1580: 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 65 6e  d libraries when
1590: 0a 23 20 74 68 65 79 20 6e 65 65 64 20 74 68 65  .# they need the
15a0: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
15b0: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33  .!IFNDEF SQLITE3
15c0: 43 0a 21 49 46 20 24 28 53 50 4c 49 54 5f 41 4d  C.!IF $(SPLIT_AM
15d0: 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 53  ALGAMATION)!=0.S
15e0: 51 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65  QLITE3C = sqlite
15f0: 33 2d 61 6c 6c 2e 63 0a 21 45 4c 53 45 0a 53 51  3-all.c.!ELSE.SQ
1600: 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65 33  LITE3C = sqlite3
1610: 2e 63 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  .c.!ENDIF.!ENDIF
1620: 0a 0a 23 20 53 65 74 20 74 68 65 20 69 6e 63 6c  ..# Set the incl
1630: 75 64 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f  ude code file to
1640: 20 62 65 20 75 73 65 64 20 62 79 20 65 78 65 63   be used by exec
1650: 75 74 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72  utables and libr
1660: 61 72 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65  aries when.# the
1670: 79 20 6e 65 65 64 20 53 51 4c 69 74 65 2e 0a 23  y need SQLite..#
1680: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33  .!IFNDEF SQLITE3
1690: 48 0a 53 51 4c 49 54 45 33 48 20 3d 20 73 71 6c  H.SQLITE3H = sql
16a0: 69 74 65 33 2e 68 0a 21 45 4e 44 49 46 0a 0a 23  ite3.h.!ENDIF..#
16b0: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
16c0: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
16d0: 20 53 51 4c 69 74 65 20 64 79 6e 61 6d 69 63 20   SQLite dynamic 
16e0: 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 28 44 4c  link library (DL
16f0: 4c 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51  L)..#.!IFNDEF SQ
1700: 4c 49 54 45 33 44 4c 4c 0a 21 49 46 20 24 28 46  LITE3DLL.!IF $(F
1710: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c  OR_WIN10)!=0.SQL
1720: 49 54 45 33 44 4c 4c 20 3d 20 77 69 6e 73 71 6c  ITE3DLL = winsql
1730: 69 74 65 33 2e 64 6c 6c 0a 21 45 4c 53 45 0a 53  ite3.dll.!ELSE.S
1740: 51 4c 49 54 45 33 44 4c 4c 20 3d 20 73 71 6c 69  QLITE3DLL = sqli
1750: 74 65 33 2e 64 6c 6c 0a 21 45 4e 44 49 46 0a 21  te3.dll.!ENDIF.!
1760: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1770: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1780: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
1790: 69 6d 70 6f 72 74 20 6c 69 62 72 61 72 79 20 28  import library (
17a0: 4c 49 42 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  LIB)..#.!IFNDEF 
17b0: 53 51 4c 49 54 45 33 4c 49 42 0a 21 49 46 20 24  SQLITE3LIB.!IF $
17c0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53  (FOR_WIN10)!=0.S
17d0: 51 4c 49 54 45 33 4c 49 42 20 3d 20 77 69 6e 73  QLITE3LIB = wins
17e0: 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53 45  qlite3.lib.!ELSE
17f0: 0a 53 51 4c 49 54 45 33 4c 49 42 20 3d 20 73 71  .SQLITE3LIB = sq
1800: 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4e 44 49 46  lite3.lib.!ENDIF
1810: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This 
1820: 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75  is the name to u
1830: 73 65 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74  se for the SQLit
1840: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
1850: 6c 65 20 28 45 58 45 29 2e 0a 23 0a 21 49 46 4e  le (EXE)..#.!IFN
1860: 44 45 46 20 53 51 4c 49 54 45 33 45 58 45 0a 21  DEF SQLITE3EXE.!
1870: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  IF $(FOR_WIN10)!
1880: 3d 30 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20  =0.SQLITE3EXE = 
1890: 77 69 6e 73 71 6c 69 74 65 33 73 68 65 6c 6c 2e  winsqlite3shell.
18a0: 65 78 65 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45  exe.!ELSE.SQLITE
18b0: 33 45 58 45 20 3d 20 73 71 6c 69 74 65 33 2e 65  3EXE = sqlite3.e
18c0: 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  xe.!ENDIF.!ENDIF
18d0: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
18e0: 61 72 67 75 6d 65 6e 74 20 75 73 65 64 20 74 6f  argument used to
18f0: 20 73 65 74 20 74 68 65 20 70 72 6f 67 72 61 6d   set the program
1900: 20 64 61 74 61 62 61 73 65 20 28 50 44 42 29 20   database (PDB) 
1910: 66 69 6c 65 20 66 6f 72 20 74 68 65 0a 23 20 53  file for the.# S
1920: 51 4c 69 74 65 20 73 68 65 6c 6c 20 65 78 65 63  QLite shell exec
1930: 75 74 61 62 6c 65 20 28 45 58 45 29 2e 0a 23 0a  utable (EXE)..#.
1940: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 45  !IFNDEF SQLITE3E
1950: 58 45 50 44 42 0a 21 49 46 20 24 28 46 4f 52 5f  XEPDB.!IF $(FOR_
1960: 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 45  WIN10)!=0.SQLITE
1970: 33 45 58 45 50 44 42 20 3d 0a 21 45 4c 53 45 0a  3EXEPDB =.!ELSE.
1980: 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 3d 20  SQLITE3EXEPDB = 
1990: 2f 70 64 62 3a 73 71 6c 69 74 65 33 73 68 2e 70  /pdb:sqlite3sh.p
19a0: 64 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  db.!ENDIF.!ENDIF
19b0: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54  ..# <<mark>>.# T
19c0: 68 65 73 65 20 61 72 65 20 74 68 65 20 6e 61 6d  hese are the nam
19d0: 65 73 20 6f 66 20 74 68 65 20 63 75 73 74 6f 6d  es of the custom
19e0: 69 7a 65 64 20 54 63 6c 20 68 65 61 64 65 72 20  ized Tcl header 
19f0: 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 76 61  files used by va
1a00: 72 69 6f 75 73 20 70 61 72 74 73 0a 23 20 6f 66  rious parts.# of
1a10: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 77   this makefile w
1a20: 68 65 6e 20 74 68 65 20 73 74 64 63 61 6c 6c 20  hen the stdcall 
1a30: 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69  calling conventi
1a40: 6f 6e 20 69 73 20 69 6e 20 75 73 65 2e 20 20 49  on is in use.  I
1a50: 74 20 69 73 20 6e 6f 74 0a 23 20 75 73 65 64 20  t is not.# used 
1a60: 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 70 75  for any other pu
1a70: 72 70 6f 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46  rpose..#.!IFNDEF
1a80: 20 53 51 4c 49 54 45 54 43 4c 48 0a 53 51 4c 49   SQLITETCLH.SQLI
1a90: 54 45 54 43 4c 48 20 3d 20 73 71 6c 69 74 65 5f  TETCLH = sqlite_
1aa0: 74 63 6c 2e 68 0a 21 45 4e 44 49 46 0a 0a 21 49  tcl.h.!ENDIF..!I
1ab0: 46 4e 44 45 46 20 53 51 4c 49 54 45 54 43 4c 44  FNDEF SQLITETCLD
1ac0: 45 43 4c 53 48 0a 53 51 4c 49 54 45 54 43 4c 44  ECLSH.SQLITETCLD
1ad0: 45 43 4c 53 48 20 3d 20 73 71 6c 69 74 65 5f 74  ECLSH = sqlite_t
1ae0: 63 6c 44 65 63 6c 73 2e 68 0a 21 45 4e 44 49 46  clDecls.h.!ENDIF
1af0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
1b00: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72  e additional tar
1b10: 67 65 74 73 20 74 68 61 74 20 74 68 65 20 74 61  gets that the ta
1b20: 72 67 65 74 73 20 74 68 61 74 20 69 6e 74 65 67  rgets that integ
1b30: 72 61 74 65 20 77 69 74 68 20 74 68 65 0a 23 20  rate with the.# 
1b40: 54 63 6c 20 6c 69 62 72 61 72 79 20 73 68 6f 75  Tcl library shou
1b50: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 20 77 68 65  ld depend on whe
1b60: 6e 20 63 6f 6d 70 69 6c 69 6e 67 2c 20 65 74 63  n compiling, etc
1b70: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49  ..#.!IFNDEF SQLI
1b80: 54 45 5f 54 43 4c 5f 44 45 50 0a 21 49 46 20 24  TE_TCL_DEP.!IF $
1b90: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
1ba0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
1bb0: 21 3d 30 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44  !=0.SQLITE_TCL_D
1bc0: 45 50 20 3d 20 24 28 53 51 4c 49 54 45 54 43 4c  EP = $(SQLITETCL
1bd0: 44 45 43 4c 53 48 29 20 24 28 53 51 4c 49 54 45  DECLSH) $(SQLITE
1be0: 54 43 4c 48 29 0a 21 45 4c 53 45 0a 53 51 4c 49  TCLH).!ELSE.SQLI
1bf0: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 0a 21 45 4e  TE_TCL_DEP =.!EN
1c00: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  DIF.!ENDIF.# <</
1c10: 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 65 73 65 20  mark>>..# These 
1c20: 61 72 65 20 74 68 65 20 22 73 74 61 6e 64 61 72  are the "standar
1c30: 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c  d" SQLite compil
1c40: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73  ation options us
1c50: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  ed when compilin
1c60: 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64  g for.# the Wind
1c70: 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a  ows platform..#.
1c80: 21 49 46 4e 44 45 46 20 4f 50 54 5f 46 45 41 54  !IFNDEF OPT_FEAT
1c90: 55 52 45 5f 46 4c 41 47 53 0a 21 49 46 20 24 28  URE_FLAGS.!IF $(
1ca0: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
1cb0: 54 49 4f 4e 29 3d 3d 30 0a 4f 50 54 5f 46 45 41  TION)==0.OPT_FEA
1cc0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O
1cd0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
1ce0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
1cf0: 45 5f 46 54 53 33 3d 31 0a 4f 50 54 5f 46 45 41  E_FTS3=1.OPT_FEA
1d00: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O
1d10: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
1d20: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
1d30: 45 5f 52 54 52 45 45 3d 31 0a 21 45 4e 44 49 46  E_RTREE=1.!ENDIF
1d40: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1d50: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1d60: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1d70: 54 45 5f 45 4e 41 42 4c 45 5f 43 4f 4c 55 4d 4e  TE_ENABLE_COLUMN
1d80: 5f 4d 45 54 41 44 41 54 41 3d 31 0a 21 45 4e 44  _METADATA=1.!END
1d90: 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 74 68 65  IF..# Should the
1da0: 20 73 65 73 73 69 6f 6e 20 65 78 74 65 6e 73 69   session extensi
1db0: 6f 6e 20 62 65 20 65 6e 61 62 6c 65 64 3f 20 20  on be enabled?  
1dc0: 49 66 20 73 6f 2c 20 61 64 64 20 63 6f 6d 70 69  If so, add compi
1dd0: 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 0a 23  lation options.#
1de0: 20 74 6f 20 65 6e 61 62 6c 65 20 69 74 2e 0a 23   to enable it..#
1df0: 0a 21 49 46 20 24 28 53 45 53 53 49 4f 4e 29 21  .!IF $(SESSION)!
1e00: 3d 30 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46  =0.OPT_FEATURE_F
1e10: 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41  LAGS = $(OPT_FEA
1e20: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
1e30: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53  LITE_ENABLE_SESS
1e40: 49 4f 4e 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52  ION=1.OPT_FEATUR
1e50: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_
1e60: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
1e70: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50  DSQLITE_ENABLE_P
1e80: 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 0a  REUPDATE_HOOK=1.
1e90: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These 
1ea0: 61 72 65 20 74 68 65 20 22 65 78 74 65 6e 64 65  are the "extende
1eb0: 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c  d" SQLite compil
1ec0: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73  ation options us
1ed0: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  ed when compilin
1ee0: 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64  g for.# the Wind
1ef0: 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2e  ows 10 platform.
1f00: 0a 23 0a 21 49 46 4e 44 45 46 20 45 58 54 5f 46  .#.!IFNDEF EXT_F
1f10: 45 41 54 55 52 45 5f 46 4c 41 47 53 0a 21 49 46  EATURE_FLAGS.!IF
1f20: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
1f30: 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .EXT_FEATURE_FLA
1f40: 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55  GS = $(EXT_FEATU
1f50: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1f60: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 3d 31  TE_ENABLE_FTS4=1
1f70: 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .EXT_FEATURE_FLA
1f80: 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55  GS = $(EXT_FEATU
1f90: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1fa0: 54 45 5f 53 59 53 54 45 4d 5f 4d 41 4c 4c 4f 43  TE_SYSTEM_MALLOC
1fb0: 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46  =1.EXT_FEATURE_F
1fc0: 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41  LAGS = $(EXT_FEA
1fd0: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
1fe0: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54  LITE_OMIT_LOCALT
1ff0: 49 4d 45 3d 31 0a 21 45 4c 53 45 0a 45 58 54 5f  IME=1.!ELSE.EXT_
2000: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 0a  FEATURE_FLAGS =.
2010: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
2020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23  ##############.#
2070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 45  ############## E
2090: 4e 44 20 4f 46 20 4f 50 54 49 4f 4e 53 20 23 23  ND OF OPTIONS ##
20a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
20b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23  ##############.#
20c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
20d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
20e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
20f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a  ##############..
2110: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
2120: 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73   for the Windows
2130: 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 74 68   10 platform, th
2140: 65 20 50 4c 41 54 46 4f 52 4d 20 6d 61 63 72 6f  e PLATFORM macro
2150: 20 6d 75 73 74 20 62 65 20 73 65 74 0a 23 20 74   must be set.# t
2160: 6f 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65  o an appropriate
2170: 20 76 61 6c 75 65 20 28 65 2e 67 2e 20 78 38 36   value (e.g. x86
2180: 2c 20 78 36 34 2c 20 61 72 6d 2c 20 61 72 6d 36  , x64, arm, arm6
2190: 34 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46 20 24  4, etc)..#.!IF $
21a0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21  (FOR_WIN10)!=0.!
21b0: 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a  IFNDEF PLATFORM.
21c0: 21 45 52 52 4f 52 20 55 73 69 6e 67 20 74 68 65  !ERROR Using the
21d0: 20 46 4f 52 5f 57 49 4e 31 30 20 6f 70 74 69 6f   FOR_WIN10 optio
21e0: 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 61 6c  n requires a val
21f0: 75 65 20 66 6f 72 20 50 4c 41 54 46 4f 52 4d 2e  ue for PLATFORM.
2200: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
2210: 23 20 54 68 69 73 20 61 73 73 75 6d 65 73 20 74  # This assumes t
2220: 68 61 74 20 4d 53 56 43 20 69 73 20 61 6c 77 61  hat MSVC is alwa
2230: 79 73 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20  ys installed in 
2240: 33 32 2d 62 69 74 20 50 72 6f 67 72 61 6d 20 46  32-bit Program F
2250: 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 0a 23  iles directory.#
2260: 20 61 6e 64 20 73 65 74 73 20 74 68 65 20 76 61   and sets the va
2270: 72 69 61 62 6c 65 20 66 6f 72 20 75 73 65 20 69  riable for use i
2280: 6e 20 6c 6f 63 61 74 69 6e 67 20 6f 74 68 65 72  n locating other
2290: 20 33 32 2d 62 69 74 20 69 6e 73 74 61 6c 6c 73   32-bit installs
22a0: 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0a 23 0a   accordingly..#.
22b0: 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36  PROGRAMFILES_X86
22c0: 20 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49   = $(VCINSTALLDI
22d0: 52 29 5c 2e 2e 5c 2e 2e 0a 50 52 4f 47 52 41 4d  R)\..\...PROGRAM
22e0: 46 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 50 52  FILES_X86 = $(PR
22f0: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 3a 5c  OGRAMFILES_X86:\
2300: 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f  \=\)..# Check fo
2310: 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64  r the predefined
2320: 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 43   command macro C
2330: 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20  C.  This should 
2340: 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d  point to the com
2350: 70 69 6c 65 72 0a 23 20 62 69 6e 61 72 79 20 66  piler.# binary f
2360: 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 70 6c  or the target pl
2370: 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20 69  atform.  If it i
2380: 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73  s not defined, s
2390: 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20  imply define it 
23a0: 74 6f 0a 23 20 74 68 65 20 6c 65 67 61 63 79 20  to.# the legacy 
23b0: 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 63  default value 'c
23c0: 6c 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45  l.exe'..#.!IFNDE
23d0: 46 20 43 43 0a 43 43 20 3d 20 63 6c 2e 65 78 65  F CC.CC = cl.exe
23e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
23f0: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69   for the predefi
2400: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  ned command macr
2410: 6f 20 43 53 43 2e 20 20 54 68 69 73 20 73 68 6f  o CSC.  This sho
2420: 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 61 20 77  uld point to a w
2430: 6f 72 6b 69 6e 67 0a 23 20 43 20 53 68 61 72 70  orking.# C Sharp
2440: 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79   compiler binary
2450: 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20  .  If it is not 
2460: 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20  defined, simply 
2470: 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68 65  define it to the
2480: 0a 23 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c  .# legacy defaul
2490: 74 20 76 61 6c 75 65 20 27 63 73 63 2e 65 78 65  t value 'csc.exe
24a0: 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 53 43  '..#.!IFNDEF CSC
24b0: 0a 43 53 43 20 3d 20 63 73 63 2e 65 78 65 0a 21  .CSC = csc.exe.!
24c0: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66  ENDIF..# Check f
24d0: 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d  or the command m
24e0: 61 63 72 6f 20 4c 44 2e 20 20 54 68 69 73 20 73  acro LD.  This s
24f0: 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74  hould point to t
2500: 68 65 20 6c 69 6e 6b 65 72 20 62 69 6e 61 72 79  he linker binary
2510: 20 66 6f 72 0a 23 20 74 68 65 20 74 61 72 67 65   for.# the targe
2520: 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20  t platform.  If 
2530: 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65  it is not define
2540: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65  d, simply define
2550: 20 69 74 20 74 6f 20 74 68 65 20 6c 65 67 61 63   it to the legac
2560: 79 0a 23 20 64 65 66 61 75 6c 74 20 76 61 6c 75  y.# default valu
2570: 65 20 27 6c 69 6e 6b 2e 65 78 65 27 2e 0a 23 0a  e 'link.exe'..#.
2580: 21 49 46 4e 44 45 46 20 4c 44 0a 4c 44 20 3d 20  !IFNDEF LD.LD = 
2590: 6c 69 6e 6b 2e 65 78 65 0a 21 45 4e 44 49 46 0a  link.exe.!ENDIF.
25a0: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
25b0: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d   predefined comm
25c0: 61 6e 64 20 6d 61 63 72 6f 20 52 43 2e 20 20 54  and macro RC.  T
25d0: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
25e0: 20 74 6f 20 74 68 65 20 72 65 73 6f 75 72 63 65   to the resource
25f0: 0a 23 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61  .# compiler bina
2600: 72 79 20 66 6f 72 20 74 68 65 20 74 61 72 67 65  ry for the targe
2610: 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20  t platform.  If 
2620: 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65  it is not define
2630: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65  d, simply define
2640: 0a 23 20 69 74 20 74 6f 20 74 68 65 20 6c 65 67  .# it to the leg
2650: 61 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75  acy default valu
2660: 65 20 27 72 63 2e 65 78 65 27 2e 0a 23 0a 21 49  e 'rc.exe'..#.!I
2670: 46 4e 44 45 46 20 52 43 0a 52 43 20 3d 20 72 63  FNDEF RC.RC = rc
2680: 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43  .exe.!ENDIF..# C
2690: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56  heck for the MSV
26a0: 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72  C runtime librar
26b0: 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f  y path macro.  O
26c0: 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 20 76  therwise, this v
26d0: 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 61  alue will.# defa
26e0: 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27  ult to the 'lib'
26f0: 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72   directory under
2700: 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43 20 69  neath the MSVC i
2710: 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65  nstallation dire
2720: 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46  ctory..#.!IFNDEF
2730: 20 43 52 54 4c 49 42 50 41 54 48 0a 43 52 54 4c   CRTLIBPATH.CRTL
2740: 49 42 50 41 54 48 20 3d 20 24 28 56 43 49 4e 53  IBPATH = $(VCINS
2750: 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e  TALLDIR)\lib.!EN
2760: 44 49 46 0a 0a 43 52 54 4c 49 42 50 41 54 48 20  DIF..CRTLIBPATH 
2770: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 3a 5c  = $(CRTLIBPATH:\
2780: 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f  \=\)..# Check fo
2790: 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61  r the command ma
27a0: 63 72 6f 20 4e 43 43 2e 20 20 54 68 69 73 20 73  cro NCC.  This s
27b0: 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74  hould point to t
27c0: 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61  he compiler bina
27d0: 72 79 0a 23 20 66 6f 72 20 74 68 65 20 70 6c 61  ry.# for the pla
27e0: 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c  tform the compil
27f0: 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 73  ation process is
2800: 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 6f 6e   taking place on
2810: 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 0a  .  If it is not.
2820: 23 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  # defined, simpl
2830: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 68  y define it to h
2840: 61 76 65 20 74 68 65 20 73 61 6d 65 20 76 61 6c  ave the same val
2850: 75 65 20 61 73 20 74 68 65 20 43 43 20 6d 61 63  ue as the CC mac
2860: 72 6f 2e 20 20 57 68 65 6e 0a 23 20 63 72 6f 73  ro.  When.# cros
2870: 73 2d 63 6f 6d 70 69 6c 69 6e 67 2c 20 69 74 20  s-compiling, it 
2880: 69 73 20 73 75 67 67 65 73 74 65 64 20 74 68 61  is suggested tha
2890: 74 20 74 68 69 73 20 6d 61 63 72 6f 20 62 65 20  t this macro be 
28a0: 6d 6f 64 69 66 69 65 64 20 76 69 61 20 74 68 65  modified via the
28b0: 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20   command.# line 
28c0: 28 73 69 6e 63 65 20 6e 6d 61 6b 65 20 69 74 73  (since nmake its
28d0: 65 6c 66 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f  elf does not pro
28e0: 76 69 64 65 20 61 20 62 75 69 6c 74 2d 69 6e 20  vide a built-in 
28f0: 6d 65 74 68 6f 64 20 74 6f 20 67 75 65 73 73 20  method to guess 
2900: 69 74 29 2e 0a 23 20 46 6f 72 20 65 78 61 6d 70  it)..# For examp
2910: 6c 65 2c 20 74 6f 20 75 73 65 20 74 68 65 20 78  le, to use the x
2920: 38 36 20 63 6f 6d 70 69 6c 65 72 20 77 68 65 6e  86 compiler when
2930: 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67   cross-compiling
2940: 20 66 6f 72 20 78 36 34 2c 20 61 20 63 6f 6d 6d   for x64, a comm
2950: 61 6e 64 0a 23 20 6c 69 6e 65 20 73 69 6d 69 6c  and.# line simil
2960: 61 72 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77  ar to the follow
2970: 69 6e 67 20 63 6f 75 6c 64 20 62 65 20 75 73 65  ing could be use
2980: 64 20 28 61 6c 6c 20 6f 6e 20 6f 6e 65 20 6c 69  d (all on one li
2990: 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61  ne):.#.#     nma
29a0: 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d  ke /f Makefile.m
29b0: 73 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23  sc sqlite3.dll.#
29c0: 20 20 20 20 20 20 20 20 20 20 20 58 43 4f 4d 50             XCOMP
29d0: 49 4c 45 3d 31 20 55 53 45 5f 4e 41 54 49 56 45  ILE=1 USE_NATIVE
29e0: 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a 23 20  _LIBPATHS=1.#.# 
29f0: 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 74  Alternatively, t
2a00: 68 65 20 66 75 6c 6c 20 70 61 74 68 20 61 6e 64  he full path and
2a10: 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 74 68   file name to th
2a20: 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72  e compiler binar
2a30: 79 20 66 6f 72 20 74 68 65 0a 23 20 70 6c 61 74  y for the.# plat
2a40: 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61  form the compila
2a50: 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 20  tion process is 
2a60: 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 6d 61 79  taking place may
2a70: 20 62 65 20 73 70 65 63 69 66 69 65 64 20 28 61   be specified (a
2a80: 6c 6c 20 6f 6e 0a 23 20 6f 6e 65 20 6c 69 6e 65  ll on.# one line
2a90: 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65  ):.#.#     nmake
2aa0: 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63   /f Makefile.msc
2ab0: 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20   sqlite3.dll.#  
2ac0: 20 20 20 20 20 20 20 20 20 22 4e 43 43 3d 22 22           "NCC=""
2ad0: 25 56 43 49 4e 53 54 41 4c 4c 44 49 52 25 5c 62  %VCINSTALLDIR%\b
2ae0: 69 6e 5c 63 6c 2e 65 78 65 22 22 22 0a 23 20 20  in\cl.exe""".#  
2af0: 20 20 20 20 20 20 20 20 20 55 53 45 5f 4e 41 54           USE_NAT
2b00: 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23  IVE_LIBPATHS=1.#
2b10: 0a 21 49 46 44 45 46 20 4e 43 43 0a 4e 43 43 20  .!IFDEF NCC.NCC 
2b20: 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45  = $(NCC:\\=\).!E
2b30: 4c 53 45 49 46 20 24 28 58 43 4f 4d 50 49 4c 45  LSEIF $(XCOMPILE
2b40: 29 21 3d 30 0a 4e 43 43 20 3d 20 22 24 28 56 43  )!=0.NCC = "$(VC
2b50: 49 4e 53 54 41 4c 4c 44 49 52 29 5c 62 69 6e 5c  INSTALLDIR)\bin\
2b60: 24 28 43 43 29 22 0a 4e 43 43 20 3d 20 24 28 4e  $(CC)".NCC = $(N
2b70: 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45 0a 4e  CC:\\=\).!ELSE.N
2b80: 43 43 20 3d 20 24 28 43 43 29 0a 21 45 4e 44 49  CC = $(CC).!ENDI
2b90: 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74  F..# Check for t
2ba0: 68 65 20 4d 53 56 43 20 6e 61 74 69 76 65 20 72  he MSVC native r
2bb0: 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 70  untime library p
2bc0: 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65  ath macro.  Othe
2bd0: 72 77 69 73 65 2c 0a 23 20 74 68 69 73 20 76 61  rwise,.# this va
2be0: 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75 6c 74  lue will default
2bf0: 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69   to the 'lib' di
2c00: 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61  rectory undernea
2c10: 74 68 20 74 68 65 20 4d 53 56 43 0a 23 20 69 6e  th the MSVC.# in
2c20: 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63  stallation direc
2c30: 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20  tory..#.!IFNDEF 
2c40: 4e 43 52 54 4c 49 42 50 41 54 48 0a 4e 43 52 54  NCRTLIBPATH.NCRT
2c50: 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43 49 4e  LIBPATH = $(VCIN
2c60: 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45  STALLDIR)\lib.!E
2c70: 4e 44 49 46 0a 0a 4e 43 52 54 4c 49 42 50 41 54  NDIF..NCRTLIBPAT
2c80: 48 20 3d 20 24 28 4e 43 52 54 4c 49 42 50 41 54  H = $(NCRTLIBPAT
2c90: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b  H:\\=\)..# Check
2ca0: 20 66 6f 72 20 74 68 65 20 50 6c 61 74 66 6f 72   for the Platfor
2cb0: 6d 20 53 44 4b 20 6c 69 62 72 61 72 79 20 70 61  m SDK library pa
2cc0: 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72  th macro.  Other
2cd0: 77 69 73 65 2c 20 74 68 69 73 0a 23 20 76 61 6c  wise, this.# val
2ce0: 75 65 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20  ue will default 
2cf0: 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69 72  to the 'lib' dir
2d00: 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74  ectory underneat
2d10: 68 20 74 68 65 20 57 69 6e 64 6f 77 73 0a 23 20  h the Windows.# 
2d20: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  SDK installation
2d30: 20 64 69 72 65 63 74 6f 72 79 20 28 74 68 65 20   directory (the 
2d40: 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69  environment vari
2d50: 61 62 6c 65 20 75 73 65 64 20 61 70 70 65 61 72  able used appear
2d60: 73 0a 23 20 74 6f 20 62 65 20 61 76 61 69 6c 61  s.# to be availa
2d70: 62 6c 65 20 77 68 65 6e 20 75 73 69 6e 67 20 56  ble when using V
2d80: 69 73 75 61 6c 20 43 2b 2b 20 32 30 30 38 20 6f  isual C++ 2008 o
2d90: 72 20 6c 61 74 65 72 20 76 69 61 20 74 68 65 0a  r later via the.
2da0: 23 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 29 2e  # command line).
2db0: 0a 23 0a 21 49 46 4e 44 45 46 20 4e 53 44 4b 4c  .#.!IFNDEF NSDKL
2dc0: 49 42 50 41 54 48 0a 4e 53 44 4b 4c 49 42 50 41  IBPATH.NSDKLIBPA
2dd0: 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 53 44  TH = $(WINDOWSSD
2de0: 4b 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46  KDIR)\lib.!ENDIF
2df0: 0a 0a 4e 53 44 4b 4c 49 42 50 41 54 48 20 3d 20  ..NSDKLIBPATH = 
2e00: 24 28 4e 53 44 4b 4c 49 42 50 41 54 48 3a 5c 5c  $(NSDKLIBPATH:\\
2e10: 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  =\)..# Check for
2e20: 20 74 68 65 20 55 43 52 54 20 6c 69 62 72 61 72   the UCRT librar
2e30: 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f  y path macro.  O
2e40: 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 20 76  therwise, this v
2e50: 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 61  alue will.# defa
2e60: 75 6c 74 20 74 6f 20 74 68 65 20 76 65 72 73 69  ult to the versi
2e70: 6f 6e 2d 73 70 65 63 69 66 69 63 2c 20 70 6c 61  on-specific, pla
2e80: 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 63 20 27  tform-specific '
2e90: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 0a 23  lib' directory.#
2ea0: 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20   underneath the 
2eb0: 57 69 6e 64 6f 77 73 20 53 44 4b 20 69 6e 73 74  Windows SDK inst
2ec0: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f  allation directo
2ed0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 43  ry..#.!IFNDEF UC
2ee0: 52 54 4c 49 42 50 41 54 48 0a 55 43 52 54 4c 49  RTLIBPATH.UCRTLI
2ef0: 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44 4f 57  BPATH = $(WINDOW
2f00: 53 53 44 4b 44 49 52 29 5c 6c 69 62 5c 24 28 57  SSDKDIR)\lib\$(W
2f10: 49 4e 44 4f 57 53 53 44 4b 4c 49 42 56 45 52 53  INDOWSSDKLIBVERS
2f20: 49 4f 4e 29 5c 75 63 72 74 5c 24 28 50 4c 41 54  ION)\ucrt\$(PLAT
2f30: 46 4f 52 4d 29 0a 21 45 4e 44 49 46 0a 0a 55 43  FORM).!ENDIF..UC
2f40: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 55 43  RTLIBPATH = $(UC
2f50: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  RTLIBPATH:\\=\).
2f60: 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e  .# C compiler an
2f70: 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 73  d options for us
2f80: 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78  e in building ex
2f90: 65 63 75 74 61 62 6c 65 73 20 74 68 61 74 0a 23  ecutables that.#
2fa0: 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65   will run on the
2fb0: 20 70 6c 61 74 66 6f 72 6d 20 74 68 61 74 20 69   platform that i
2fc0: 73 20 64 6f 69 6e 67 20 74 68 65 20 62 75 69 6c  s doing the buil
2fd0: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46  d..#.!IF $(USE_F
2fe0: 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 42 43 43 20  ULLWARN)!=0.BCC 
2ff0: 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f  = $(NCC) -nologo
3000: 20 2d 57 34 20 24 28 43 43 4f 50 54 53 29 20 24   -W4 $(CCOPTS) $
3010: 28 42 43 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a  (BCCOPTS).!ELSE.
3020: 42 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f  BCC = $(NCC) -no
3030: 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f 50 54  logo -W3 $(CCOPT
3040: 53 29 20 24 28 42 43 43 4f 50 54 53 29 0a 21 45  S) $(BCCOPTS).!E
3050: 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66  NDIF..# Check if
3060: 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20 6c   assembly code l
3070: 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20 62  istings should b
3080: 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20  e generated for 
3090: 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f 64  the source.# cod
30a0: 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63 6f  e files to be co
30b0: 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28  mpiled..#.!IF $(
30c0: 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d 30  USE_LISTINGS)!=0
30d0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 46  .BCC = $(BCC) -F
30e0: 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68  Acs.!ENDIF..# Ch
30f0: 65 63 6b 20 69 66 20 74 68 65 20 6e 61 74 69 76  eck if the nativ
3100: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 20  e library paths 
3110: 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 77  should be used w
3120: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a 23 20  hen compiling.# 
3130: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  the command line
3140: 20 74 6f 6f 6c 73 20 75 73 65 64 20 64 75 72 69   tools used duri
3150: 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69  ng the compilati
3160: 6f 6e 20 70 72 6f 63 65 73 73 2e 20 20 49 66 0a  on process.  If.
3170: 23 20 73 6f 2c 20 73 65 74 20 74 68 65 20 6e 65  # so, set the ne
3180: 63 65 73 73 61 72 79 20 6d 61 63 72 6f 20 6e 6f  cessary macro no
3190: 77 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4e  w..#.!IF $(USE_N
31a0: 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 29 21  ATIVE_LIBPATHS)!
31b0: 3d 30 0a 4e 4c 54 4c 49 42 50 41 54 48 53 20 3d  =0.NLTLIBPATHS =
31c0: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 43 52   "/LIBPATH:$(NCR
31d0: 54 4c 49 42 50 41 54 48 29 22 20 22 2f 4c 49 42  TLIBPATH)" "/LIB
31e0: 50 41 54 48 3a 24 28 4e 53 44 4b 4c 49 42 50 41  PATH:$(NSDKLIBPA
31f0: 54 48 29 22 0a 0a 21 49 46 44 45 46 20 4e 55 43  TH)"..!IFDEF NUC
3200: 52 54 4c 49 42 50 41 54 48 0a 4e 55 43 52 54 4c  RTLIBPATH.NUCRTL
3210: 49 42 50 41 54 48 20 3d 20 24 28 4e 55 43 52 54  IBPATH = $(NUCRT
3220: 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4e 4c  LIBPATH:\\=\).NL
3230: 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4e 4c  TLIBPATHS = $(NL
3240: 54 4c 49 42 50 41 54 48 53 29 20 22 2f 4c 49 42  TLIBPATHS) "/LIB
3250: 50 41 54 48 3a 24 28 4e 55 43 52 54 4c 49 42 50  PATH:$(NUCRTLIBP
3260: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e  ATH)".!ENDIF.!EN
3270: 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65  DIF..# C compile
3280: 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f  r and options fo
3290: 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e  r use in buildin
32a0: 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 68  g executables th
32b0: 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e  at.# will run on
32c0: 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74   the target plat
32d0: 66 6f 72 6d 2e 20 20 28 42 43 43 20 61 6e 64 20  form.  (BCC and 
32e0: 54 43 43 20 61 72 65 20 75 73 75 61 6c 6c 79 20  TCC are usually 
32f0: 74 68 65 0a 23 20 73 61 6d 65 20 75 6e 6c 65 73  the.# same unles
3300: 73 20 79 6f 75 72 20 61 72 65 20 63 72 6f 73 73  s your are cross
3310: 2d 63 6f 6d 70 69 6c 69 6e 67 2e 29 0a 23 0a 21  -compiling.).#.!
3320: 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52  IF $(USE_FULLWAR
3330: 4e 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 43 43  N)!=0.TCC = $(CC
3340: 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 2d 44  ) -nologo -W4 -D
3350: 49 4e 43 4c 55 44 45 5f 4d 53 56 43 5f 48 3d 31  INCLUDE_MSVC_H=1
3360: 20 24 28 43 43 4f 50 54 53 29 20 24 28 54 43 43   $(CCOPTS) $(TCC
3370: 4f 50 54 53 29 0a 21 45 4c 53 45 0a 54 43 43 20  OPTS).!ELSE.TCC 
3380: 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20  = $(CC) -nologo 
3390: 2d 57 33 20 24 28 43 43 4f 50 54 53 29 20 24 28  -W3 $(CCOPTS) $(
33a0: 54 43 43 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a  TCCOPTS).!ENDIF.
33b0: 0a 23 20 43 68 65 63 6b 20 69 66 20 77 61 72 6e  .# Check if warn
33c0: 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20 74  ings should be t
33d0: 72 65 61 74 65 64 20 61 73 20 65 72 72 6f 72 73  reated as errors
33e0: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 2e   when compiling.
33f0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46 41 54  .#.!IF $(USE_FAT
3400: 41 4c 5f 57 41 52 4e 29 21 3d 30 0a 54 43 43 20  AL_WARN)!=0.TCC 
3410: 3d 20 24 28 54 43 43 29 20 2d 57 58 0a 21 45 4e  = $(TCC) -WX.!EN
3420: 44 49 46 0a 0a 54 43 43 20 3d 20 24 28 54 43 43  DIF..TCC = $(TCC
3430: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49  ) -DSQLITE_OS_WI
3440: 4e 3d 31 20 2d 49 2e 20 2d 49 24 28 54 4f 50 29  N=1 -I. -I$(TOP)
3450: 20 2d 49 24 28 54 4f 50 29 5c 73 72 63 20 2d 66   -I$(TOP)\src -f
3460: 70 3a 70 72 65 63 69 73 65 0a 52 43 43 20 3d 20  p:precise.RCC = 
3470: 24 28 52 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f  $(RC) -DSQLITE_O
3480: 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28  S_WIN=1 -I. -I$(
3490: 54 4f 50 29 20 2d 49 24 28 54 4f 50 29 5c 73 72  TOP) -I$(TOP)\sr
34a0: 63 20 24 28 52 43 4f 50 54 53 29 20 24 28 52 43  c $(RCOPTS) $(RC
34b0: 43 4f 50 54 53 29 0a 0a 23 20 43 68 65 63 6b 20  COPTS)..# Check 
34c0: 69 66 20 77 65 20 77 61 6e 74 20 74 6f 20 75 73  if we want to us
34d0: 65 20 74 68 65 20 22 73 74 64 63 61 6c 6c 22 20  e the "stdcall" 
34e0: 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69  calling conventi
34f0: 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  on when compilin
3500: 67 2e 0a 23 20 54 68 69 73 20 69 73 20 6e 6f 74  g..# This is not
3510: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68   supported by th
3520: 65 20 63 6f 6d 70 69 6c 65 72 73 20 66 6f 72 20  e compilers for 
3530: 6e 6f 6e 2d 78 38 36 20 70 6c 61 74 66 6f 72 6d  non-x86 platform
3540: 73 2e 20 20 49 74 20 73 68 6f 75 6c 64 0a 23 20  s.  It should.# 
3550: 61 6c 73 6f 20 62 65 20 6e 6f 74 65 64 20 68 65  also be noted he
3560: 72 65 20 74 68 61 74 20 62 75 69 6c 64 69 6e 67  re that building
3570: 20 61 6e 79 20 74 61 72 67 65 74 20 77 69 74 68   any target with
3580: 20 74 68 65 73 65 20 22 73 74 64 63 61 6c 6c 22   these "stdcall"
3590: 20 6f 70 74 69 6f 6e 73 0a 23 20 77 69 6c 6c 20   options.# will 
35a0: 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 66 61 69 6c  most likely fail
35b0: 20 69 66 20 74 68 65 20 54 63 6c 20 6c 69 62 72   if the Tcl libr
35c0: 61 72 79 20 69 73 20 61 6c 73 6f 20 72 65 71 75  ary is also requ
35d0: 69 72 65 64 2e 20 20 54 68 69 73 20 69 73 20 64  ired.  This is d
35e0: 75 65 0a 23 20 74 6f 20 68 6f 77 20 74 68 65 20  ue.# to how the 
35f0: 54 63 6c 20 6c 69 62 72 61 72 79 20 66 75 6e 63  Tcl library func
3600: 74 69 6f 6e 73 20 61 72 65 20 64 65 63 6c 61 72  tions are declar
3610: 65 64 20 61 6e 64 20 65 78 70 6f 72 74 65 64 20  ed and exported 
3620: 28 69 2e 65 2e 20 77 69 74 68 6f 75 74 0a 23 20  (i.e. without.# 
3630: 61 6e 20 65 78 70 6c 69 63 69 74 20 63 61 6c 6c  an explicit call
3640: 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20  ing convention, 
3650: 77 68 69 63 68 20 72 65 73 75 6c 74 73 20 69 6e  which results in
3660: 20 22 63 64 65 63 6c 22 29 2e 0a 23 0a 21 49 46   "cdecl")..#.!IF
3670: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)!
3680: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
3690: 30 29 21 3d 30 0a 21 49 46 20 22 24 28 50 4c 41  0)!=0.!IF "$(PLA
36a0: 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43  TFORM)"=="x86".C
36b0: 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ORE_CCONV_OPTS =
36c0: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
36d0: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
36e0: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
36f0: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3700: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3710: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3720: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48 45  PI=__stdcall.SHE
3730: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20  LL_CCONV_OPTS = 
3740: 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45  -Gz -DSQLITE_CDE
3750: 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c  CL=__cdecl -DSQL
3760: 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74  ITE_APICALL=__st
3770: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43  dcall -DSQLITE_C
3780: 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c  ALLBACK=__stdcal
3790: 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50  l -DSQLITE_SYSAP
37a0: 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c 3c  I=__stdcall.# <<
37b0: 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e  mark>>.TEST_CCON
37c0: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
37d0: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
37e0: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
37f0: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3800: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
3810: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3820: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
3830: 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f 53  call -DINCLUDE_S
3840: 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d 44  QLITE_TCL_H=1 -D
3850: 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f 5f  SQLITE_TCLAPI=__
3860: 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  cdecl.# <</mark>
3870: 3e 0a 21 45 4c 53 45 0a 21 49 46 4e 44 45 46 20  >.!ELSE.!IFNDEF 
3880: 50 4c 41 54 46 4f 52 4d 0a 43 4f 52 45 5f 43 43  PLATFORM.CORE_CC
3890: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
38a0: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
38b0: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
38c0: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
38d0: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
38e0: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
38f0: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3900: 74 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f  tdcall.SHELL_CCO
3910: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44  NV_OPTS = -Gz -D
3920: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63  SQLITE_CDECL=__c
3930: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50  decl -DSQLITE_AP
3940: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20  ICALL=__stdcall 
3950: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  -DSQLITE_CALLBAC
3960: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  K=__stdcall -DSQ
3970: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74  LITE_SYSAPI=__st
3980: 64 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  dcall.# <<mark>>
3990: 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53  .TEST_CCONV_OPTS
39a0: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
39b0: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
39c0: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
39d0: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
39e0: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
39f0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3a00: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  SAPI=__stdcall -
3a10: 44 49 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f  DINCLUDE_SQLITE_
3a20: 54 43 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45  TCL_H=1 -DSQLITE
3a30: 5f 54 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a  _TCLAPI=__cdecl.
3a40: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53  # <</mark>>.!ELS
3a50: 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  E.CORE_CCONV_OPT
3a60: 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f  S =.SHELL_CCONV_
3a70: 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e  OPTS =.# <<mark>
3a80: 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54  >.TEST_CCONV_OPT
3a90: 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  S =.# <</mark>>.
3aa0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45  !ENDIF.!ENDIF.!E
3ab0: 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f  LSE.CORE_CCONV_O
3ac0: 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e  PTS =.SHELL_CCON
3ad0: 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72  V_OPTS =.# <<mar
3ae0: 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f  k>>.TEST_CCONV_O
3af0: 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  PTS =.# <</mark>
3b00: 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  >.!ENDIF..# Thes
3b10: 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c  e are additional
3b20: 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e   compiler option
3b30: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 63  s used for the c
3b40: 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ore library..#.!
3b50: 49 46 4e 44 45 46 20 43 4f 52 45 5f 43 4f 4d 50  IFNDEF CORE_COMP
3b60: 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24 28 44  ILE_OPTS.!IF $(D
3b70: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30  YNAMIC_SHELL)!=0
3b80: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
3b90: 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  !=0.CORE_COMPILE
3ba0: 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 5f 43  _OPTS = $(CORE_C
3bb0: 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c  CONV_OPTS) -DSQL
3bc0: 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70  ITE_API=__declsp
3bd0: 65 63 28 64 6c 6c 65 78 70 6f 72 74 29 0a 21 45  ec(dllexport).!E
3be0: 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  LSE.CORE_COMPILE
3bf0: 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 5f 43  _OPTS = $(CORE_C
3c00: 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44 49  CONV_OPTS).!ENDI
3c10: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  F.!ENDIF..# Thes
3c20: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69  e are the additi
3c30: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61  onal targets tha
3c40: 74 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  t the core libra
3c50: 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64  ry should depend
3c60: 20 6f 6e 0a 23 20 77 68 65 6e 20 6c 69 6e 6b 69   on.# when linki
3c70: 6e 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f  ng..#.!IFNDEF CO
3c80: 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a 21 49 46 20  RE_LINK_DEP.!IF 
3c90: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
3ca0: 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45  !=0.CORE_LINK_DE
3cb0: 50 20 3d 0a 21 45 4c 53 45 49 46 20 24 28 46 4f  P =.!ELSEIF $(FO
3cc0: 52 5f 57 49 4e 31 30 29 3d 3d 30 20 7c 7c 20 22  R_WIN10)==0 || "
3cd0: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78  $(PLATFORM)"=="x
3ce0: 38 36 22 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45  86".CORE_LINK_DE
3cf0: 50 20 3d 20 73 71 6c 69 74 65 33 2e 64 65 66 0a  P = sqlite3.def.
3d00: 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f  !ELSE.CORE_LINK_
3d10: 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e  DEP =.!ENDIF.!EN
3d20: 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65  DIF..# These are
3d30: 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b   additional link
3d40: 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20  er options used 
3d50: 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62  for the core lib
3d60: 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20  rary..#.!IFNDEF 
3d70: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 21  CORE_LINK_OPTS.!
3d80: 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45  IF $(DYNAMIC_SHE
3d90: 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b  LL)!=0.CORE_LINK
3da0: 5f 4f 50 54 53 20 3d 0a 21 45 4c 53 45 49 46 20  _OPTS =.!ELSEIF 
3db0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20  $(FOR_WIN10)==0 
3dc0: 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  || "$(PLATFORM)"
3dd0: 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e  =="x86".CORE_LIN
3de0: 4b 5f 4f 50 54 53 20 3d 20 2f 44 45 46 3a 73 71  K_OPTS = /DEF:sq
3df0: 6c 69 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a  lite3.def.!ELSE.
3e00: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
3e10: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
3e20: 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69  # These are addi
3e30: 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20  tional compiler 
3e40: 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72  options used for
3e50: 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75   the shell execu
3e60: 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46  table..#.!IFNDEF
3e70: 20 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f   SHELL_COMPILE_O
3e80: 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  PTS.!IF $(DYNAMI
3e90: 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24  C_SHELL)!=0 || $
3ea0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53  (FOR_WIN10)!=0.S
3eb0: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
3ec0: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43 4f 4e  S = $(SHELL_CCON
3ed0: 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45  V_OPTS) -DSQLITE
3ee0: 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65 63 28  _API=__declspec(
3ef0: 64 6c 6c 69 6d 70 6f 72 74 29 0a 21 45 4c 53 45  dllimport).!ELSE
3f00: 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  .SHELL_COMPILE_O
3f10: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43  PTS = $(SHELL_CC
3f20: 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44 49 46  ONV_OPTS).!ENDIF
3f30: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This 
3f40: 69 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f  is the source co
3f50: 64 65 20 74 68 61 74 20 74 68 65 20 73 68 65 6c  de that the shel
3f60: 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f  l executable sho
3f70: 75 6c 64 20 62 65 20 63 6f 6d 70 69 6c 65 64 0a  uld be compiled.
3f80: 23 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44 45  # with..#.!IFNDE
3f90: 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43  F SHELL_CORE_SRC
3fa0: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
3fb0: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  HELL)!=0 || $(FO
3fc0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c  R_WIN10)!=0.SHEL
3fd0: 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a 21 45 4c  L_CORE_SRC =.!EL
3fe0: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  SE.SHELL_CORE_SR
3ff0: 43 20 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a  C = $(SQLITE3C).
4000: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
4010: 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72   This is the cor
4020: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74  e library that t
4030: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
4040: 62 6c 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e  ble should depen
4050: 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20  d on..#.!IFNDEF 
4060: 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21  SHELL_CORE_DEP.!
4070: 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45  IF $(DYNAMIC_SHE
4080: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
4090: 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f  WIN10)!=0.SHELL_
40a0: 43 4f 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c  CORE_DEP = $(SQL
40b0: 49 54 45 33 44 4c 4c 29 0a 21 45 4c 53 45 0a 53  ITE3DLL).!ELSE.S
40c0: 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 0a  HELL_CORE_DEP =.
40d0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
40e0: 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72   This is the cor
40f0: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74  e library that t
4100: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
4110: 62 6c 65 20 73 68 6f 75 6c 64 20 6c 69 6e 6b 20  ble should link 
4120: 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44 45 46 20  with..#.!IFNDEF 
4130: 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 0a 21  SHELL_CORE_LIB.!
4140: 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45  IF $(DYNAMIC_SHE
4150: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
4160: 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f  WIN10)!=0.SHELL_
4170: 43 4f 52 45 5f 4c 49 42 20 3d 20 24 28 53 51 4c  CORE_LIB = $(SQL
4180: 49 54 45 33 4c 49 42 29 0a 21 45 4c 53 45 0a 53  ITE3LIB).!ELSE.S
4190: 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a  HELL_CORE_LIB =.
41a0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
41b0: 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74   These are addit
41c0: 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74  ional linker opt
41d0: 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68  ions used for th
41e0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
41f0: 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48  le..#.!IFNDEF SH
4200: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48  ELL_LINK_OPTS.SH
4210: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20  ELL_LINK_OPTS = 
4220: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42  $(SHELL_CORE_LIB
4230: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  ).!ENDIF..# Chec
4240: 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63 6f  k if assembly co
4250: 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f 75  de listings shou
4260: 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 64 20  ld be generated 
4270: 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a 23  for the source.#
4280: 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20 62   code files to b
4290: 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49  e compiled..#.!I
42a0: 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47 53  F $(USE_LISTINGS
42b0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
42c0: 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a  ) -FAcs.!ENDIF..
42d0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
42e0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f 72   the library for
42f0: 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52   use in the WinR
4300: 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23  T environment,.#
4310: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63   the following c
4320: 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69  ompile-time opti
4330: 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65 64  ons must be used
4340: 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69   as well to.# di
4350: 73 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69 6e  sable use of Win
4360: 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65  32 APIs that are
4370: 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61   not available a
4380: 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75  nd to enable.# u
4390: 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73  se of Win32 APIs
43a0: 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69 66   that are specif
43b0: 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38 20  ic to Windows 8 
43c0: 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a  and/or WinRT..#.
43d0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29  !IF $(FOR_WINRT)
43e0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC)
43f0: 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e   -DSQLITE_OS_WIN
4400: 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  RT=1.RCC = $(RCC
4410: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49  ) -DSQLITE_OS_WI
4420: 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54 43  NRT=1.TCC = $(TC
4430: 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49  C) -DWINAPI_FAMI
4440: 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59  LY=WINAPI_FAMILY
4450: 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43 43  _APP.RCC = $(RCC
4460: 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c  ) -DWINAPI_FAMIL
4470: 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f  Y=WINAPI_FAMILY_
4480: 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20  APP.!ENDIF..# C 
4490: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
44a0: 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73   for the Windows
44b0: 20 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65   10 platform (ne
44c0: 65 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e 0a  eds MSVC 2015)..
44d0: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  #.!IF $(FOR_WIN1
44e0: 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  0)!=0.TCC = $(TC
44f0: 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f  C) /d2guard4 -D_
4500: 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49  ARM_WINAPI_PARTI
4510: 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b  TION_DESKTOP_SDK
4520: 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d  _AVAILABLE.BCC =
4530: 20 24 28 42 43 43 29 20 2f 64 32 67 75 61 72 64   $(BCC) /d2guard
4540: 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f  4 -D_ARM_WINAPI_
4550: 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f  PARTITION_DESKTO
4560: 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a  P_SDK_AVAILABLE.
4570: 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20  !ENDIF..# Also, 
4580: 77 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d  we need to dynam
4590: 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74  ically link to t
45a0: 68 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43 20  he correct MSVC 
45b0: 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20 63  runtime.# when c
45c0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e  ompiling for Win
45d0: 52 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20 6f  RT (e.g. debug o
45e0: 72 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69 66  r release) OR if
45f0: 20 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f 44   the.# USE_CRT_D
4600: 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65 74  LL option is set
4610: 20 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d 69   to force dynami
4620: 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f  cally linking to
4630: 20 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e 74   the.# MSVC runt
4640: 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ime library..#.!
4650: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21  IF $(FOR_WINRT)!
4660: 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f  =0 || $(USE_CRT_
4670: 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44 45  DLL)!=0.!IF $(DE
4680: 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54  BUG)>1.TCC = $(T
4690: 43 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24  CC) -MDd.BCC = $
46a0: 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45  (BCC) -MDd.!ELSE
46b0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d  .TCC = $(TCC) -M
46c0: 44 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  D.BCC = $(BCC) -
46d0: 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a  MD.!ENDIF.!ELSE.
46e0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54  !IF $(DEBUG)>1.T
46f0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 64  CC = $(TCC) -MTd
4700: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d  .BCC = $(BCC) -M
4710: 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24  Td.!ELSE.TCC = $
4720: 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20  (TCC) -MT.BCC = 
4730: 24 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49  $(BCC) -MT.!ENDI
4740: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
4750: 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c  rk>>.# The mksql
4760: 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b  ite3c.tcl and mk
4770: 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72  sqlite3h.tcl scr
4780: 69 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69  ipts will pull i
4790: 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69 6f  n.# any extensio
47a0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 62  n header files b
47b0: 79 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72 20  y default.  For 
47c0: 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  non-amalgamation
47d0: 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e 65  .# builds, we ne
47e0: 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20  ed to make sure 
47f0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e  the compiler can
4800: 20 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21   find these..#.!
4810: 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d  IF $(USE_AMALGAM
4820: 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20  ATION)==0.TCC = 
4830: 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(TCC) -I$(TOP)\
4840: 65 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20 24  ext\fts3.RCC = $
4850: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (RCC) -I$(TOP)\e
4860: 78 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24 28  xt\fts3.TCC = $(
4870: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex
4880: 74 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24 28  t\rtree.RCC = $(
4890: 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  RCC) -I$(TOP)\ex
48a0: 74 5c 72 74 72 65 65 0a 54 43 43 20 3d 20 24 28  t\rtree.TCC = $(
48b0: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex
48c0: 74 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20  t\session.RCC = 
48d0: 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(RCC) -I$(TOP)\
48e0: 65 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44  ext\session.!END
48f0: 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69  IF..# The mksqli
4900: 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 20  te3c.tcl script 
4910: 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74  accepts some opt
4920: 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d  ions on the comm
4930: 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65  and.# line.  Whe
4940: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68  n compiling with
4950: 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 6c   debugging enabl
4960: 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73  ed, some of thes
4970: 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20  e.# options are 
4980: 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64  necessary in ord
4990: 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75  er to allow debu
49a0: 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f  gging symbols to
49b0: 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c  .# work correctl
49c0: 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74  y with Visual St
49d0: 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 20  udio when using 
49e0: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
49f0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51  ..#.!IFNDEF MKSQ
4a00: 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20  LITE3C_TOOL.!IF 
4a10: 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41  $(MINIMAL_AMALGA
4a20: 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c  MATION)!=0.MKSQL
4a30: 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54  ITE3C_TOOL = $(T
4a40: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74  OP)\tool\mksqlit
4a50: 65 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45  e3c-noext.tcl.!E
4a60: 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54  LSE.MKSQLITE3C_T
4a70: 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f  OOL = $(TOP)\too
4a80: 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c  l\mksqlite3c.tcl
4a90: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
4aa0: 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45  !IFNDEF MKSQLITE
4ab0: 33 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44 45  3C_ARGS.!IF $(DE
4ac0: 42 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33  BUG)>1.MKSQLITE3
4ad0: 43 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d  C_ARGS = --linem
4ae0: 61 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51  acros.!ELSE.MKSQ
4af0: 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21 45  LITE3C_ARGS =.!E
4b00: 4e 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f 53  NDIF.!IF $(USE_S
4b10: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $(
4b20: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b  FOR_WIN10)!=0.MK
4b30: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20  SQLITE3C_ARGS = 
4b40: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  $(MKSQLITE3C_ARG
4b50: 53 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a  S) --useapicall.
4b60: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
4b70: 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e   The mksqlite3h.
4b80: 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 65 70  tcl script accep
4b90: 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20  ts some options 
4ba0: 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c  on the command l
4bb0: 69 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70  ine..# When comp
4bc0: 69 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63 61  iling with stdca
4bd0: 6c 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65  ll support, some
4be0: 20 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f 6e   of these option
4bf0: 73 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61 72  s are.# necessar
4c00: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53  y..#.!IFNDEF MKS
4c10: 51 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49 46  QLITE3H_ARGS.!IF
4c20: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)!
4c30: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
4c40: 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48  0)!=0.MKSQLITE3H
4c50: 5f 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70 69  _ARGS = --useapi
4c60: 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c  call.!ELSE.MKSQL
4c70: 49 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e  ITE3H_ARGS =.!EN
4c80: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  DIF.!ENDIF.# <</
4c90: 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65  mark>>..# Define
4ca0: 20 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d   -DNDEBUG to com
4cb0: 70 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65 62  pile without deb
4cc0: 75 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f  ugging (i.e., fo
4cd0: 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73 61  r production usa
4ce0: 67 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74  ge).# Omitting t
4cf0: 68 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20 63  he define will c
4d00: 61 75 73 65 20 65 78 74 72 61 20 64 65 62 75 67  ause extra debug
4d10: 67 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65 20  ging code to be 
4d20: 69 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20 69  inserted and.# i
4d30: 6e 63 6c 75 64 65 73 20 65 78 74 72 61 20 63 6f  ncludes extra co
4d40: 6d 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58 50  mments when "EXP
4d50: 4c 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75 73  LAIN stmt" is us
4d60: 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55  ed..#.!IF $(DEBU
4d70: 47 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  G)==0.TCC = $(TC
4d80: 43 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43 20  C) -DNDEBUG.BCC 
4d90: 3d 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42 55  = $(BCC) -DNDEBU
4da0: 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  G.RCC = $(RCC) -
4db0: 44 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a  DNDEBUG.!ENDIF..
4dc0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 30 20 7c  !IF $(DEBUG)>0 |
4dd0: 7c 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d  | $(API_ARMOR)!=
4de0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
4df0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC
4e00: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
4e10: 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43  E_API_ARMOR=1.RC
4e20: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
4e30: 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41  ITE_ENABLE_API_A
4e40: 52 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21  RMOR=1.!ENDIF..!
4e50: 49 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54 43  IF $(DEBUG)>2.TC
4e60: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
4e70: 49 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43 20  ITE_DEBUG=1.RCC 
4e80: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
4e90: 45 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24 28  E_DEBUG=1.!IF $(
4ea0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d  DYNAMIC_SHELL)==
4eb0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
4ec0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57  DSQLITE_ENABLE_W
4ed0: 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c 49  HERETRACE -DSQLI
4ee0: 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54  TE_ENABLE_SELECT
4ef0: 54 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52 43  TRACE.RCC = $(RC
4f00: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
4f10: 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d 44  LE_WHERETRACE -D
4f20: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45  SQLITE_ENABLE_SE
4f30: 4c 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49 46  LECTTRACE.!ENDIF
4f40: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D
4f50: 45 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54  EBUG)>4 || $(OST
4f60: 52 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 24  RACE)!=0.TCC = $
4f70: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46  (TCC) -DSQLITE_F
4f80: 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20  ORCE_OS_TRACE=1 
4f90: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f  -DSQLITE_DEBUG_O
4fa0: 53 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20  S_TRACE=1.RCC = 
4fb0: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_
4fc0: 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31  FORCE_OS_TRACE=1
4fd0: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f   -DSQLITE_DEBUG_
4fe0: 4f 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49  OS_TRACE=1.!ENDI
4ff0: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  F..!IF $(DEBUG)>
5000: 35 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  5.TCC = $(TCC) -
5010: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49  DSQLITE_ENABLE_I
5020: 4f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24  OTRACE=1.RCC = $
5030: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (RCC) -DSQLITE_E
5040: 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a  NABLE_IOTRACE=1.
5050: 21 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65 6e  !ENDIF..# Preven
5060: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74  t warnings about
5070: 20 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56 43   "insecure" MSVC
5080: 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79   runtime library
5090: 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69   functions.# bei
50a0: 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d  ng used..#.TCC =
50b0: 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f 53   $(TCC) -D_CRT_S
50c0: 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41  ECURE_NO_DEPRECA
50d0: 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45  TE -D_CRT_SECURE
50e0: 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43  _NO_WARNINGS.BCC
50f0: 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54   = $(BCC) -D_CRT
5100: 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45  _SECURE_NO_DEPRE
5110: 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55  CATE -D_CRT_SECU
5120: 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52  RE_NO_WARNINGS.R
5130: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43  CC = $(RCC) -D_C
5140: 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50  RT_SECURE_NO_DEP
5150: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45  RECATE -D_CRT_SE
5160: 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53  CURE_NO_WARNINGS
5170: 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e  ..# Prevent warn
5180: 69 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70 72  ings about "depr
5190: 65 63 61 74 65 64 22 20 50 4f 53 49 58 20 66 75  ecated" POSIX fu
51a0: 6e 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 73  nctions being us
51b0: 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  ed..#.TCC = $(TC
51c0: 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44  C) -D_CRT_NONSTD
51d0: 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d  C_NO_DEPRECATE -
51e0: 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f  D_CRT_NONSTDC_NO
51f0: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20  _WARNINGS.BCC = 
5200: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f  $(BCC) -D_CRT_NO
5210: 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41  NSTDC_NO_DEPRECA
5220: 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44  TE -D_CRT_NONSTD
5230: 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43  C_NO_WARNINGS.RC
5240: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52  C = $(RCC) -D_CR
5250: 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50  T_NONSTDC_NO_DEP
5260: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f  RECATE -D_CRT_NO
5270: 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47  NSTDC_NO_WARNING
5280: 53 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51 4c  S..# Use the SQL
5290: 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68 65  ite debugging he
52a0: 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a  ap subsystem?.#.
52b0: 21 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29 21  !IF $(MEMDEBUG)!
52c0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
52d0: 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55  -DSQLITE_MEMDEBU
52e0: 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  G=1.RCC = $(RCC)
52f0: 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42   -DSQLITE_MEMDEB
5300: 55 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 69  UG=1..# Use nati
5310: 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 75  ve Win32 heap su
5320: 62 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64 20  bsystem instead 
5330: 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a  of malloc/free?.
5340: 23 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e 33  #.!ELSEIF $(WIN3
5350: 32 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d 20  2HEAP)!=0.TCC = 
5360: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
5370: 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52  WIN32_MALLOC=1.R
5380: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
5390: 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f  LITE_WIN32_MALLO
53a0: 43 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65 20  C=1..# Validate 
53b0: 74 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65 72  the heap on ever
53c0: 79 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20  y call into the 
53d0: 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68 65 61  native Win32 hea
53e0: 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21  p subsystem?.#.!
53f0: 49 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54 43  IF $(DEBUG)>3.TC
5400: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
5410: 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43  ITE_WIN32_MALLOC
5420: 5f 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43 20  _VALIDATE=1.RCC 
5430: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
5440: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56  E_WIN32_MALLOC_V
5450: 41 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 46  ALIDATE=1.!ENDIF
5460: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
5470: 6b 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 69  k>>.# The locati
5480: 6f 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20 68  ons of the Tcl h
5490: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72  eader and librar
54a0: 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20  y files.  Also, 
54b0: 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74  the library that
54c0: 0a 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61  .# non-stubs ena
54d0: 62 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75 73  bled programs us
54e0: 69 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e  ing Tcl must lin
54f0: 6b 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65 73  k against.  Thes
5500: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 54  e variables.# (T
5510: 43 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42  CLINCDIR, TCLLIB
5520: 44 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29  DIR, and LIBTCL)
5530: 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64   may be overridd
5540: 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72  en via the envir
5550: 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74  onment.# prior t
5560: 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20  o running nmake 
5570: 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63  in order to matc
5580: 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73  h the actual ins
5590: 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20  talled location 
55a0: 61 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e  and.# version on
55b0: 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23   this machine..#
55c0: 0a 21 49 46 4e 44 45 46 20 54 43 4c 49 4e 43 44  .!IFNDEF TCLINCD
55d0: 49 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 63  IR.TCLINCDIR = c
55e0: 3a 5c 74 63 6c 5c 69 6e 63 6c 75 64 65 0a 21 45  :\tcl\include.!E
55f0: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43  NDIF..!IFNDEF TC
5600: 4c 4c 49 42 44 49 52 0a 54 43 4c 4c 49 42 44 49  LLIBDIR.TCLLIBDI
5610: 52 20 3d 20 63 3a 5c 74 63 6c 5c 6c 69 62 0a 21  R = c:\tcl\lib.!
5620: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c  ENDIF..!IFNDEF L
5630: 49 42 54 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74  IBTCL.LIBTCL = t
5640: 63 6c 38 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a  cl86.lib.!ENDIF.
5650: 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 53  .!IFNDEF LIBTCLS
5660: 54 55 42 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d  TUB.LIBTCLSTUB =
5670: 20 74 63 6c 73 74 75 62 38 36 2e 6c 69 62 0a 21   tclstub86.lib.!
5680: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c  ENDIF..!IFNDEF L
5690: 49 42 54 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c  IBTCLPATH.LIBTCL
56a0: 50 41 54 48 20 3d 20 63 3a 5c 74 63 6c 5c 62 69  PATH = c:\tcl\bi
56b0: 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20  n.!ENDIF..# The 
56c0: 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65  locations of the
56d0: 20 49 43 55 20 68 65 61 64 65 72 20 61 6e 64 20   ICU header and 
56e0: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20  library files.  
56f0: 54 68 65 73 65 20 76 61 72 69 61 62 6c 65 73 0a  These variables.
5700: 23 20 28 49 43 55 49 4e 43 44 49 52 2c 20 49 43  # (ICUINCDIR, IC
5710: 55 4c 49 42 44 49 52 2c 20 61 6e 64 20 4c 49 42  ULIBDIR, and LIB
5720: 49 43 55 29 20 6d 61 79 20 62 65 20 6f 76 65 72  ICU) may be over
5730: 72 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65  ridden via the e
5740: 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69  nvironment.# pri
5750: 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d  or to running nm
5760: 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  ake in order to 
5770: 6d 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c  match the actual
5780: 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74   installed locat
5790: 69 6f 6e 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61  ion on.# this ma
57a0: 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46  chine..#.!IFNDEF
57b0: 20 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e   ICUINCDIR.ICUIN
57c0: 43 44 49 52 20 3d 20 63 3a 5c 69 63 75 5c 69 6e  CDIR = c:\icu\in
57d0: 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49  clude.!ENDIF..!I
57e0: 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49 52 0a  FNDEF ICULIBDIR.
57f0: 49 43 55 4c 49 42 44 49 52 20 3d 20 63 3a 5c 69  ICULIBDIR = c:\i
5800: 63 75 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  cu\lib.!ENDIF..!
5810: 49 46 4e 44 45 46 20 4c 49 42 49 43 55 0a 4c 49  IFNDEF LIBICU.LI
5820: 42 49 43 55 20 3d 20 69 63 75 75 63 2e 6c 69 62  BICU = icuuc.lib
5830: 20 69 63 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49   icuin.lib.!ENDI
5840: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  F..# This is the
5850: 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20   command to use 
5860: 66 6f 72 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d  for tclsh - norm
5870: 61 6c 6c 79 20 6a 75 73 74 20 22 74 63 6c 73 68  ally just "tclsh
5880: 22 2c 20 62 75 74 20 77 65 20 6d 61 79 0a 23 20  ", but we may.# 
5890: 6b 6e 6f 77 20 74 68 65 20 73 70 65 63 69 66 69  know the specifi
58a0: 63 20 76 65 72 73 69 6f 6e 20 77 65 20 77 61 6e  c version we wan
58b0: 74 20 74 6f 20 75 73 65 2e 20 20 54 68 69 73 20  t to use.  This 
58c0: 76 61 72 69 61 62 6c 65 20 28 54 43 4c 53 48 5f  variable (TCLSH_
58d0: 43 4d 44 29 20 6d 61 79 20 62 65 0a 23 20 6f 76  CMD) may be.# ov
58e0: 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65  erridden via the
58f0: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69   environment pri
5900: 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d  or to running nm
5910: 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  ake in order to 
5920: 73 65 6c 65 63 74 20 61 0a 23 20 73 70 65 63 69  select a.# speci
5930: 66 69 63 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f  fic Tcl shell to
5940: 20 75 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20   use..#.!IFNDEF 
5950: 54 43 4c 53 48 5f 43 4d 44 0a 54 43 4c 53 48 5f  TCLSH_CMD.TCLSH_
5960: 43 4d 44 20 3d 20 74 63 6c 73 68 0a 21 45 4e 44  CMD = tclsh.!END
5970: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
5980: 23 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f  # Compiler optio
5990: 6e 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72  ns needed for pr
59a0: 6f 67 72 61 6d 73 20 74 68 61 74 20 75 73 65 20  ograms that use 
59b0: 74 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20 6c  the readline() l
59c0: 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45  ibrary..#.!IFNDE
59d0: 46 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53  F READLINE_FLAGS
59e0: 0a 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20  .READLINE_FLAGS 
59f0: 3d 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49 4e  = -DHAVE_READLIN
5a00: 45 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  E=0.!ENDIF..# Th
5a10: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 70  e library that p
5a20: 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72 65  rograms using re
5a30: 61 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c 69  adline() must li
5a40: 6e 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49  nk against..#.!I
5a50: 46 4e 44 45 46 20 4c 49 42 52 45 41 44 4c 49 4e  FNDEF LIBREADLIN
5a60: 45 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a  E.LIBREADLINE =.
5a70: 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64  !ENDIF..# Should
5a80: 20 74 68 65 20 64 61 74 61 62 61 73 65 20 65 6e   the database en
5a90: 67 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65 64  gine be compiled
5aa0: 20 74 68 72 65 61 64 73 61 66 65 0a 23 0a 54 43   threadsafe.#.TC
5ab0: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
5ac0: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31  ITE_THREADSAFE=1
5ad0: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
5ae0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
5af0: 45 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 61 64  E=1..# Do thread
5b00: 73 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 20  s override each 
5b10: 6f 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 79 20  others locks by 
5b20: 64 65 66 61 75 6c 74 20 28 31 29 2c 20 6f 72 20  default (1), or 
5b30: 64 6f 20 77 65 20 74 65 73 74 20 28 2d 31 29 0a  do we test (-1).
5b40: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  #.TCC = $(TCC) -
5b50: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f  DSQLITE_THREAD_O
5b60: 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a  VERRIDE_LOCK=-1.
5b70: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
5b80: 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45  QLITE_THREAD_OVE
5b90: 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23  RRIDE_LOCK=-1..#
5ba0: 20 41 6e 79 20 74 61 72 67 65 74 20 6c 69 62 72   Any target libr
5bb0: 61 72 69 65 73 20 77 68 69 63 68 20 6c 69 62 73  aries which libs
5bc0: 71 6c 69 74 65 20 6d 75 73 74 20 62 65 20 6c 69  qlite must be li
5bd0: 6e 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 0a 21  nked against.#.!
5be0: 49 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c 49  IFNDEF TLIBS.TLI
5bf0: 42 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46  BS =.!ENDIF..# F
5c00: 6c 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67  lags controlling
5c10: 20 75 73 65 20 6f 66 20 74 68 65 20 69 6e 20 6d   use of the in m
5c20: 65 6d 6f 72 79 20 62 74 72 65 65 20 69 6d 70 6c  emory btree impl
5c30: 65 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53  ementation.#.# S
5c40: 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45  QLITE_TEMP_STORE
5c50: 20 69 73 20 30 20 74 6f 20 66 6f 72 63 65 20 74   is 0 to force t
5c60: 65 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 73 20  emporary tables 
5c70: 74 6f 20 62 65 20 69 6e 20 61 20 66 69 6c 65 2c  to be in a file,
5c80: 20 31 20 74 6f 0a 23 20 64 65 66 61 75 6c 74 20   1 to.# default 
5c90: 74 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 64 65  to file, 2 to de
5ca0: 66 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c  fault to memory,
5cb0: 20 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 65 20   and 3 to force 
5cc0: 74 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 62 6c  temporary.# tabl
5cd0: 65 73 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20  es to always be 
5ce0: 69 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43  in memory..#.TCC
5cf0: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
5d00: 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a  TE_TEMP_STORE=1.
5d10: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
5d20: 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45  QLITE_TEMP_STORE
5d30: 3d 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73  =1..# Enable/dis
5d40: 61 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65 78  able loadable ex
5d50: 74 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74  tensions, and ot
5d60: 68 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61  her optional fea
5d70: 74 75 72 65 73 0a 23 20 62 61 73 65 64 20 6f 6e  tures.# based on
5d80: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20   configuration. 
5d90: 28 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c  (-DSQLITE_OMIT*,
5da0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
5db0: 2a 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 20 73  *)..# The same s
5dc0: 65 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45  et of OMIT and E
5dd0: 4e 41 42 4c 45 20 66 6c 61 67 73 20 73 68 6f 75  NABLE flags shou
5de0: 6c 64 20 62 65 20 70 61 73 73 65 64 20 74 6f 20  ld be passed to 
5df0: 74 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73  the.# LEMON pars
5e00: 65 72 20 67 65 6e 65 72 61 74 6f 72 20 61 6e 64  er generator and
5e10: 20 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61   the mkkeywordha
5e20: 73 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e  sh tool as well.
5e30: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
5e40: 65 20 72 65 71 75 69 72 65 64 20 53 51 4c 69 74  e required SQLit
5e50: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
5e60: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
5e70: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
5e80: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74  the Windows plat
5e90: 66 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54  form..#.REQ_FEAT
5ea0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45  URE_FLAGS = $(RE
5eb0: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
5ec0: 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52   -DSQLITE_MAX_TR
5ed0: 49 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30 0a  IGGER_DEPTH=100.
5ee0: 0a 23 20 49 66 20 77 65 20 61 72 65 20 6c 69 6e  .# If we are lin
5ef0: 6b 69 6e 67 20 74 6f 20 74 68 65 20 52 50 43 52  king to the RPCR
5f00: 54 34 20 6c 69 62 72 61 72 79 2c 20 65 6e 61 62  T4 library, enab
5f10: 6c 65 20 66 65 61 74 75 72 65 73 20 74 68 61 74  le features that
5f20: 20 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49 46 20   need it..#.!IF 
5f30: 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42  $(USE_RPCRT4_LIB
5f40: 29 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 52 45  )!=0.REQ_FEATURE
5f50: 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46  _FLAGS = $(REQ_F
5f60: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
5f70: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53 45  SQLITE_WIN32_USE
5f80: 5f 55 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a  _UUID=1.!ENDIF..
5f90: 23 20 41 64 64 20 74 68 65 20 72 65 71 75 69 72  # Add the requir
5fa0: 65 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20  ed and optional 
5fb0: 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69  SQLite compilati
5fc0: 6f 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20  on options into 
5fd0: 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69  the command.# li
5fe0: 6e 65 73 20 75 73 65 64 20 74 6f 20 69 6e 76 6f  nes used to invo
5ff0: 6b 65 20 74 68 65 20 4d 53 56 43 20 63 6f 64 65  ke the MSVC code
6000: 20 61 6e 64 20 72 65 73 6f 75 72 63 65 20 63 6f   and resource co
6010: 6d 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d  mpilers..#.TCC =
6020: 20 24 28 54 43 43 29 20 24 28 52 45 51 5f 46 45   $(TCC) $(REQ_FE
6030: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O
6040: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
6050: 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f  ) $(EXT_FEATURE_
6060: 46 4c 41 47 53 29 0a 52 43 43 20 3d 20 24 28 52  FLAGS).RCC = $(R
6070: 43 43 29 20 24 28 52 45 51 5f 46 45 41 54 55 52  CC) $(REQ_FEATUR
6080: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46  E_FLAGS) $(OPT_F
6090: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
60a0: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
60b0: 53 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e 79  S)..# Add in any
60c0: 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65   optional parame
60d0: 74 65 72 73 20 73 70 65 63 69 66 69 65 64 20 6f  ters specified o
60e0: 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69  n the commane li
60f0: 6e 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65  ne, e.g..# nmake
6100: 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63   /f Makefile.msc
6110: 20 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c   all "OPTS=-DSQL
6120: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31  ITE_ENABLE_FOO=1
6130: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46   -DSQLITE_OMIT_F
6140: 4f 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24 28  OO=1".#.TCC = $(
6150: 54 43 43 29 20 24 28 4f 50 54 53 29 0a 52 43 43  TCC) $(OPTS).RCC
6160: 20 3d 20 24 28 52 43 43 29 20 24 28 4f 50 54 53   = $(RCC) $(OPTS
6170: 29 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e  )..# If compilin
6180: 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2c  g for debugging,
6190: 20 61 64 64 20 73 6f 6d 65 20 64 65 66 69 6e 65   add some define
61a0: 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47  s..#.!IF $(DEBUG
61b0: 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>1.TCC = $(TCC)
61c0: 20 2d 44 5f 44 45 42 55 47 0a 42 43 43 20 3d 20   -D_DEBUG.BCC = 
61d0: 24 28 42 43 43 29 20 2d 44 5f 44 45 42 55 47 0a  $(BCC) -D_DEBUG.
61e0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f  RCC = $(RCC) -D_
61f0: 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20  DEBUG.!ENDIF..# 
6200: 49 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  If optimizations
6210: 20 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 20   are enabled or 
6220: 64 69 73 61 62 6c 65 64 20 28 65 69 74 68 65 72  disabled (either
6230: 20 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23   implicitly or.#
6240: 20 65 78 70 6c 69 63 69 74 6c 79 29 2c 20 61 64   explicitly), ad
6250: 64 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  d the necessary 
6260: 66 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24 28 44  flags..#.!IF $(D
6270: 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54  EBUG)>1 || $(OPT
6280: 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54  IMIZATIONS)==0.T
6290: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a  CC = $(TCC) -Od.
62a0: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 64  BCC = $(BCC) -Od
62b0: 0a 21 49 46 20 24 28 55 53 45 5f 52 55 4e 54 49  .!IF $(USE_RUNTI
62c0: 4d 45 5f 43 48 45 43 4b 53 29 21 3d 30 0a 54 43  ME_CHECKS)!=0.TC
62d0: 43 20 3d 20 24 28 54 43 43 29 20 2d 52 54 43 31  C = $(TCC) -RTC1
62e0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 52  .BCC = $(BCC) -R
62f0: 54 43 31 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45  TC1.!ENDIF.!ELSE
6300: 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f  IF $(OPTIMIZATIO
6310: 4e 53 29 3e 3d 33 0a 54 43 43 20 3d 20 24 28 54  NS)>=3.TCC = $(T
6320: 43 43 29 20 2d 4f 78 0a 42 43 43 20 3d 20 24 28  CC) -Ox.BCC = $(
6330: 42 43 43 29 20 2d 4f 78 0a 21 45 4c 53 45 49 46  BCC) -Ox.!ELSEIF
6340: 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53   $(OPTIMIZATIONS
6350: 29 3d 3d 32 0a 54 43 43 20 3d 20 24 28 54 43 43  )==2.TCC = $(TCC
6360: 29 20 2d 4f 32 0a 42 43 43 20 3d 20 24 28 42 43  ) -O2.BCC = $(BC
6370: 43 29 20 2d 4f 32 0a 21 45 4c 53 45 49 46 20 24  C) -O2.!ELSEIF $
6380: 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d  (OPTIMIZATIONS)=
6390: 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =1.TCC = $(TCC) 
63a0: 2d 4f 31 0a 42 43 43 20 3d 20 24 28 42 43 43 29  -O1.BCC = $(BCC)
63b0: 20 2d 4f 31 0a 21 45 4e 44 49 46 0a 0a 23 20 49   -O1.!ENDIF..# I
63c0: 66 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e  f symbols are en
63d0: 61 62 6c 65 64 20 28 6f 72 20 63 6f 6d 70 69 6c  abled (or compil
63e0: 69 6e 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e  ing for debuggin
63f0: 67 29 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e  g), enable PDBs.
6400: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  .#.!IF $(DEBUG)>
6410: 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21  1 || $(SYMBOLS)!
6420: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
6430: 2d 5a 69 0a 42 43 43 20 3d 20 24 28 42 43 43 29  -Zi.BCC = $(BCC)
6440: 20 2d 5a 69 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   -Zi.!ENDIF..# <
6450: 3c 6d 61 72 6b 3e 3e 0a 23 20 49 66 20 49 43 55  <mark>>.# If ICU
6460: 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62   support is enab
6470: 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d  led, add the com
6480: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
6490: 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53  r it..#.!IF $(US
64a0: 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d 20  E_ICU)!=0.TCC = 
64b0: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
64c0: 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43 43  ENABLE_ICU=1.RCC
64d0: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
64e0: 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a  TE_ENABLE_ICU=1.
64f0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24  TCC = $(TCC) -I$
6500: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52 43  (TOP)\ext\icu.RC
6510: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54  C = $(RCC) -I$(T
6520: 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43 20  OP)\ext\icu.TCC 
6530: 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49 43 55  = $(TCC) -I$(ICU
6540: 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24 28  INCDIR).RCC = $(
6550: 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44  RCC) -I$(ICUINCD
6560: 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  IR).!ENDIF.# <</
6570: 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 6e  mark>>..# Comman
6580: 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73 20  d line prefixes 
6590: 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f  for compiling co
65a0: 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72 65  de, compiling re
65b0: 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b 69  sources,.# linki
65c0: 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f 4d  ng, etc..#.LTCOM
65d0: 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d 46  PILE = $(TCC) -F
65e0: 6f 24 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 20 3d  o$@.LTRCOMPILE =
65f0: 20 24 28 52 43 43 29 20 2d 72 0a 4c 54 4c 49 42   $(RCC) -r.LTLIB
6600: 20 3d 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49 4e   = lib.exe.LTLIN
6610: 4b 20 3d 20 24 28 54 43 43 29 20 2d 46 65 24 40  K = $(TCC) -Fe$@
6620: 0a 0a 23 20 49 66 20 72 65 71 75 65 73 74 65 64  ..# If requested
6630: 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 52 50  , link to the RP
6640: 43 52 54 34 20 6c 69 62 72 61 72 79 2e 0a 23 0a  CRT4 library..#.
6650: 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 54 34  !IF $(USE_RPCRT4
6660: 5f 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 42 53 20  _LIB)!=0.LTLIBS 
6670: 3d 20 24 28 4c 54 4c 49 42 53 29 20 72 70 63 72  = $(LTLIBS) rpcr
6680: 74 34 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23  t4.lib.!ENDIF..#
6690: 20 49 66 20 61 20 70 6c 61 74 66 6f 72 6d 20 77   If a platform w
66a0: 61 73 20 73 65 74 2c 20 66 6f 72 63 65 20 74 68  as set, force th
66b0: 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74 61 72 67  e linker to targ
66c0: 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f 74 65 20  et that..# Note 
66d0: 74 68 61 74 20 74 68 65 20 76 63 76 61 72 73 2a  that the vcvars*
66e0: 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f 66 20 62  .bat family of b
66f0: 61 74 63 68 20 66 69 6c 65 73 20 74 79 70 69 63  atch files typic
6700: 61 6c 6c 79 0a 23 20 73 65 74 20 74 68 69 73 20  ally.# set this 
6710: 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68 65 72 77  for you.  Otherw
6720: 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b 65 72 20  ise, the linker 
6730: 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a 23 20 74  will attempt.# t
6740: 6f 20 64 65 64 75 63 65 20 74 68 65 20 62 69 6e  o deduce the bin
6750: 61 72 79 20 74 79 70 65 20 62 61 73 65 64 20 6f  ary type based o
6760: 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 66 69 6c  n the object fil
6770: 65 73 2e 0a 21 49 46 44 45 46 20 50 4c 41 54 46  es..!IFDEF PLATF
6780: 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  ORM.LTLINKOPTS =
6790: 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e   /NOLOGO /MACHIN
67a0: 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 4c 54  E:$(PLATFORM).LT
67b0: 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47  LIBOPTS = /NOLOG
67c0: 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41  O /MACHINE:$(PLA
67d0: 54 46 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c 54 4c  TFORM).!ELSE.LTL
67e0: 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47  INKOPTS = /NOLOG
67f0: 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e  O.LTLIBOPTS = /N
6800: 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23 20  OLOGO.!ENDIF..# 
6810: 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66  When compiling f
6820: 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 57 69  or use in the Wi
6830: 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c  nRT environment,
6840: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 23   the following.#
6850: 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20 6d   linker option m
6860: 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 6d  ust be used to m
6870: 61 72 6b 20 74 68 65 20 65 78 65 63 75 74 61 62  ark the executab
6880: 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a 23  le as runnable.#
6890: 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f 6e   only in the con
68a0: 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70 6c 69  text of an appli
68b0: 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65 72  cation container
68c0: 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  ..#.!IF $(FOR_WI
68d0: 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50  NRT)!=0.LTLINKOP
68e0: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
68f0: 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45 52  S) /APPCONTAINER
6900: 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c 53 54  .!IF "$(VISUALST
6910: 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22  UDIOVERSION)"=="
6920: 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49 53 55  12.0" || "$(VISU
6930: 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29  ALSTUDIOVERSION)
6940: 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44 45  "=="14.0".!IFNDE
6950: 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48 0a 21  F STORELIBPATH.!
6960: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)"
6970: 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c 49 42  =="x86".STORELIB
6980: 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50  PATH = $(CRTLIBP
6990: 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53 45  ATH)\store.!ELSE
69a0: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)"
69b0: 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c 49 42  =="x64".STORELIB
69c0: 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50  PATH = $(CRTLIBP
69d0: 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36 34  ATH)\store\amd64
69e0: 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54  .!ELSEIF "$(PLAT
69f0: 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 54  FORM)"=="ARM".ST
6a00: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43  ORELIBPATH = $(C
6a10: 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65  RTLIBPATH)\store
6a20: 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52 45  \arm.!ELSE.STORE
6a30: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL
6a40: 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45  IBPATH)\store.!E
6a50: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f 52  NDIF.!ENDIF.STOR
6a60: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53 54 4f  ELIBPATH = $(STO
6a70: 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  RELIBPATH:\\=\).
6a80: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L
6a90: 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42  TLINKOPTS) "/LIB
6aa0: 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49 42 50  PATH:$(STORELIBP
6ab0: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e  ATH)".!ENDIF.!EN
6ac0: 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70  DIF..# When comp
6ad0: 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77  iling for Window
6ae0: 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e 20  s Phone 8.1, an 
6af0: 65 78 74 72 61 20 6c 69 62 72 61 72 79 20 70 61  extra library pa
6b00: 74 68 20 69 73 0a 23 20 72 65 71 75 69 72 65 64  th is.# required
6b10: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57 50  ..#.!IF $(USE_WP
6b20: 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 4e  81_OPTS)!=0.!IFN
6b30: 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48 0a  DEF WP81LIBPATH.
6b40: 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  !IF "$(PLATFORM)
6b50: 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c 49 42  "=="x86".WP81LIB
6b60: 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d  PATH = $(PROGRAM
6b70: 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f  FILES_X86)\Windo
6b80: 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e  ws Phone Kits\8.
6b90: 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45 49  1\lib\x86.!ELSEI
6ba0: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"=
6bb0: 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42 50 41  ="ARM".WP81LIBPA
6bc0: 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49  TH = $(PROGRAMFI
6bd0: 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73  LES_X86)\Windows
6be0: 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c   Phone Kits\8.1\
6bf0: 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 50  lib\ARM.!ELSE.WP
6c00: 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52  81LIBPATH = $(PR
6c10: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c  OGRAMFILES_X86)\
6c20: 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69  Windows Phone Ki
6c30: 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21  ts\8.1\lib\x86.!
6c40: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4e  ENDIF.!ENDIF.!EN
6c50: 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70  DIF..# When comp
6c60: 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77  iling for Window
6c70: 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f 6d  s Phone 8.1, som
6c80: 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 20 6f  e extra linker o
6c90: 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c 73  ptions.# are als
6ca0: 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49  o required..#.!I
6cb0: 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 54  F $(USE_WP81_OPT
6cc0: 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57 50 38  S)!=0.!IFDEF WP8
6cd0: 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f  1LIBPATH.LTLINKO
6ce0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
6cf0: 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28  TS) "/LIBPATH:$(
6d00: 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a 21 45  WP81LIBPATH)".!E
6d10: 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  NDIF.LTLINKOPTS 
6d20: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
6d30: 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54 4c  /DYNAMICBASE.LTL
6d40: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
6d50: 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77 73 50  NKOPTS) WindowsP
6d60: 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75 6e  honeCore.lib Run
6d70: 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20 50  timeObject.lib P
6d80: 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73 74  honeAppModelHost
6d90: 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  .lib.LTLINKOPTS 
6da0: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
6db0: 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65  /NODEFAULTLIB:ke
6dc0: 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44 45  rnel32.lib /NODE
6dd0: 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e 6c  FAULTLIB:ole32.l
6de0: 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65  ib.!ENDIF..# Whe
6df0: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  n compiling for 
6e00: 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e 64 6f  UWP or the Windo
6e10: 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20  ws 10 platform, 
6e20: 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65  some extra linke
6e30: 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20  r.# options are 
6e40: 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23  also required..#
6e50: 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50 29 21  .!IF $(FOR_UWP)!
6e60: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
6e70: 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53  0)!=0.LTLINKOPTS
6e80: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
6e90: 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20 2f 4e   /DYNAMICBASE /N
6ea0: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e  ODEFAULTLIB:kern
6eb0: 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f  el32.lib.LTLINKO
6ec0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
6ed0: 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62 0a  TS) mincore.lib.
6ee0: 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42 50 41  !IFDEF PSDKLIBPA
6ef0: 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  TH.LTLINKOPTS = 
6f00: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f  $(LTLINKOPTS) "/
6f10: 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b 4c 49  LIBPATH:$(PSDKLI
6f20: 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21  BPATH)".!ENDIF.!
6f30: 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46 4f 52  ENDIF..!IF $(FOR
6f40: 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e  _WIN10)!=0.LTLIN
6f50: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
6f60: 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63 66 20  OPTS) /guard:cf 
6f70: 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43 52 54  "/LIBPATH:$(UCRT
6f80: 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20 24 28  LIBPATH)".!IF $(
6f90: 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b 4f  DEBUG)>1.LTLINKO
6fa0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
6fb0: 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49  TS) /NODEFAULTLI
6fc0: 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62 20 2f  B:libucrtd.lib /
6fd0: 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 64  DEFAULTLIB:ucrtd
6fe0: 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e  .lib.!ELSE.LTLIN
6ff0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
7000: 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54  OPTS) /NODEFAULT
7010: 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62 20  LIB:libucrt.lib 
7020: 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74  /DEFAULTLIB:ucrt
7030: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44  .lib.!ENDIF.!END
7040: 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65 72 20  IF..# If either 
7050: 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73 79 6d  debugging or sym
7060: 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c 65 64  bols are enabled
7070: 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23  , enable PDBs..#
7080: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20  .!IF $(DEBUG)>1 
7090: 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30  || $(SYMBOLS)!=0
70a0: 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45 42 55  .LDFLAGS = /DEBU
70b0: 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c 53  G $(LDOPTS).!ELS
70c0: 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c 44  E.LDFLAGS = $(LD
70d0: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..# 
70e0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72 74  <<mark>>.# Start
70f0: 20 77 69 74 68 20 74 68 65 20 54 63 6c 20 72 65   with the Tcl re
7100: 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70 74  lated linker opt
7110: 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e 4f  ions..#.!IF $(NO
7120: 5f 54 43 4c 29 3d 3d 30 0a 4c 54 4c 49 42 50 41  _TCL)==0.LTLIBPA
7130: 54 48 53 20 3d 20 2f 4c 49 42 50 41 54 48 3a 24  THS = /LIBPATH:$
7140: 28 54 43 4c 4c 49 42 44 49 52 29 0a 4c 54 4c 49  (TCLLIBDIR).LTLI
7150: 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 24  BS = $(LTLIBS) $
7160: 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a  (LIBTCL).!ENDIF.
7170: 0a 23 20 49 66 20 49 43 55 20 73 75 70 70 6f 72  .# If ICU suppor
7180: 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64  t is enabled, ad
7190: 64 20 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74  d the linker opt
71a0: 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21  ions for it..#.!
71b0: 49 46 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30  IF $(USE_ICU)!=0
71c0: 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28  .LTLIBPATHS = $(
71d0: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42  LTLIBPATHS) /LIB
71e0: 50 41 54 48 3a 24 28 49 43 55 4c 49 42 44 49 52  PATH:$(ICULIBDIR
71f0: 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c  ).LTLIBS = $(LTL
7200: 49 42 53 29 20 24 28 4c 49 42 49 43 55 29 0a 21  IBS) $(LIBICU).!
7210: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  ENDIF.# <</mark>
7220: 3e 0a 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64 20  >..# You should 
7230: 6e 6f 74 20 68 61 76 65 20 74 6f 20 63 68 61 6e  not have to chan
7240: 67 65 20 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f  ge anything belo
7250: 77 20 74 68 69 73 20 6c 69 6e 65 0a 23 23 23 23  w this line.####
7260: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7270: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7280: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7290: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
72a0: 23 23 23 23 23 23 23 23 23 23 23 0a 0a 23 20 3c  ###########..# <
72b0: 3c 6d 61 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74  <mark>>.# Object
72c0: 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20 53   files for the S
72d0: 51 4c 69 74 65 20 6c 69 62 72 61 72 79 20 28 6e  QLite library (n
72e0: 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29  on-amalgamation)
72f0: 2e 0a 23 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76  ..#.LIBOBJS0 = v
7300: 64 62 65 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20  dbe.lo parse.lo 
7310: 61 6c 74 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65  alter.lo analyze
7320: 2e 6c 6f 20 61 74 74 61 63 68 2e 6c 6f 20 61 75  .lo attach.lo au
7330: 74 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  th.lo \.        
7340: 20 62 61 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65   backup.lo bitve
7350: 63 2e 6c 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20  c.lo btmutex.lo 
7360: 62 74 72 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c  btree.lo build.l
7370: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 63 61 6c  o \.         cal
7380: 6c 62 61 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74  lback.lo complet
7390: 65 2e 6c 6f 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a  e.lo ctime.lo \.
73a0: 20 20 20 20 20 20 20 20 20 64 61 74 65 2e 6c 6f           date.lo
73b0: 20 64 62 70 61 67 65 2e 6c 6f 20 64 62 73 74 61   dbpage.lo dbsta
73c0: 74 2e 6c 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c  t.lo delete.lo \
73d0: 0a 20 20 20 20 20 20 20 20 20 65 78 70 72 2e 6c  .         expr.l
73e0: 6f 20 66 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e  o fault.lo fkey.
73f0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74  lo \.         ft
7400: 73 33 2e 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c  s3.lo fts3_aux.l
7410: 6f 20 66 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66  o fts3_expr.lo f
7420: 74 73 33 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33  ts3_hash.lo fts3
7430: 5f 69 63 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  _icu.lo \.      
7440: 20 20 20 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c     fts3_porter.l
7450: 6f 20 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c  o fts3_snippet.l
7460: 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  o fts3_tokenizer
7470: 2e 6c 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  .lo fts3_tokeniz
7480: 65 72 31 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  er1.lo \.       
7490: 20 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f    fts3_tokenize_
74a0: 76 74 61 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69  vtab.lo fts3_uni
74b0: 63 6f 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69  code.lo fts3_uni
74c0: 63 6f 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72  code2.lo fts3_wr
74d0: 69 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ite.lo \.       
74e0: 20 20 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20    fts5.lo \.    
74f0: 20 20 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f       func.lo glo
7500: 62 61 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c  bal.lo hash.lo \
7510: 0a 20 20 20 20 20 20 20 20 20 69 63 75 2e 6c 6f  .         icu.lo
7520: 20 69 6e 73 65 72 74 2e 6c 6f 20 6c 65 67 61 63   insert.lo legac
7530: 79 2e 6c 6f 20 6c 6f 61 64 65 78 74 2e 6c 6f 20  y.lo loadext.lo 
7540: 5c 0a 20 20 20 20 20 20 20 20 20 6d 61 69 6e 2e  \.         main.
7550: 6c 6f 20 6d 61 6c 6c 6f 63 2e 6c 6f 20 6d 65 6d  lo malloc.lo mem
7560: 30 2e 6c 6f 20 6d 65 6d 31 2e 6c 6f 20 6d 65 6d  0.lo mem1.lo mem
7570: 32 2e 6c 6f 20 6d 65 6d 33 2e 6c 6f 20 6d 65 6d  2.lo mem3.lo mem
7580: 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  5.lo \.         
7590: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a  memjournal.lo \.
75a0: 20 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c           mutex.l
75b0: 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20  o mutex_noop.lo 
75c0: 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75  mutex_unix.lo mu
75d0: 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20  tex_w32.lo \.   
75e0: 20 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20        notify.lo 
75f0: 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f  opcodes.lo os.lo
7600: 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77   os_unix.lo os_w
7610: 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  in.lo \.        
7620: 20 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65   pager.lo pcache
7630: 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70  .lo pcache1.lo p
7640: 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65  ragma.lo prepare
7650: 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a  .lo printf.lo \.
7660: 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e           random.
7670: 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f  lo resolve.lo ro
7680: 77 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f  wset.lo rtree.lo
7690: 20 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69   \.         sqli
76a0: 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65  te3session.lo se
76b0: 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72  lect.lo sqlite3r
76c0: 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20  bu.lo status.lo 
76d0: 5c 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c 65  \.         table
76e0: 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20 74  .lo threads.lo t
76f0: 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65 76  okenize.lo treev
7700: 69 65 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e 6c  iew.lo trigger.l
7710: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 70 64  o \.         upd
7720: 61 74 65 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20 76  ate.lo util.lo v
7730: 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20  acuum.lo \.     
7740: 20 20 20 20 76 64 62 65 61 70 69 2e 6c 6f 20 76      vdbeapi.lo v
7750: 64 62 65 61 75 78 2e 6c 6f 20 76 64 62 65 62 6c  dbeaux.lo vdbebl
7760: 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c 6f  ob.lo vdbemem.lo
7770: 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a 20   vdbesort.lo \. 
7780: 20 20 20 20 20 20 20 20 76 64 62 65 74 72 61 63          vdbetrac
7790: 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c 6b  e.lo wal.lo walk
77a0: 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20 77  er.lo where.lo w
77b0: 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65 72  herecode.lo wher
77c0: 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20 20  eexpr.lo \.     
77d0: 20 20 20 20 75 74 66 2e 6c 6f 20 76 74 61 62 2e      utf.lo vtab.
77e0: 6c 6f 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  lo.# <</mark>>..
77f0: 23 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66  # Object files f
7800: 6f 72 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74  or the amalgamat
7810: 69 6f 6e 2e 0a 23 0a 4c 49 42 4f 42 4a 53 31 20  ion..#.LIBOBJS1 
7820: 3d 20 73 71 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20  = sqlite3.lo..# 
7830: 44 65 74 65 72 6d 69 6e 65 20 74 68 65 20 72 65  Determine the re
7840: 61 6c 20 76 61 6c 75 65 20 6f 66 20 4c 49 42 4f  al value of LIBO
7850: 42 4a 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20  BJ based on the 
7860: 27 63 6f 6e 66 69 67 75 72 65 27 20 73 63 72 69  'configure' scri
7870: 70 74 0a 23 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  pt.#.# <<mark>>.
7880: 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  !IF $(USE_AMALGA
7890: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42  MATION)==0.LIBOB
78a0: 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 30 29 0a  J = $(LIBOBJS0).
78b0: 21 45 4c 53 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  !ELSE.# <</mark>
78c0: 3e 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42  >.LIBOBJ = $(LIB
78d0: 4f 42 4a 53 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e  OBJS1).# <<mark>
78e0: 3e 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61  >.!ENDIF.# <</ma
78f0: 72 6b 3e 3e 0a 0a 23 20 44 65 74 65 72 6d 69 6e  rk>>..# Determin
7900: 65 20 69 66 20 65 6d 62 65 64 64 65 64 20 72 65  e if embedded re
7910: 73 6f 75 72 63 65 20 63 6f 6d 70 69 6c 61 74 69  source compilati
7920: 6f 6e 20 61 6e 64 20 75 73 61 67 65 20 61 72 65  on and usage are
7930: 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 21 49 46 20   enabled..#.!IF 
7940: 24 28 55 53 45 5f 52 43 29 21 3d 30 0a 4c 49 42  $(USE_RC)!=0.LIB
7950: 52 45 53 4f 42 4a 53 20 3d 20 73 71 6c 69 74 65  RESOBJS = sqlite
7960: 33 72 65 73 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49  3res.lo.!ELSE.LI
7970: 42 52 45 53 4f 42 4a 53 20 3d 0a 21 45 4e 44 49  BRESOBJS =.!ENDI
7980: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.# 
7990: 43 6f 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65  Core source code
79a0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a   files, part 1..
79b0: 23 0a 53 52 43 30 30 20 3d 20 5c 0a 20 20 24 28  #.SRC00 = \.  $(
79c0: 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63  TOP)\src\alter.c
79d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
79e0: 61 6e 61 6c 79 7a 65 2e 63 20 5c 0a 20 20 24 28  analyze.c \.  $(
79f0: 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e  TOP)\src\attach.
7a00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7a10: 5c 61 75 74 68 2e 63 20 5c 0a 20 20 24 28 54 4f  \auth.c \.  $(TO
7a20: 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 20  P)\src\backup.c 
7a30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62  \.  $(TOP)\src\b
7a40: 69 74 76 65 63 2e 63 20 5c 0a 20 20 24 28 54 4f  itvec.c \.  $(TO
7a50: 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63  P)\src\btmutex.c
7a60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7a70: 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f  btree.c \.  $(TO
7a80: 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 5c  P)\src\build.c \
7a90: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61  .  $(TOP)\src\ca
7aa0: 6c 6c 62 61 63 6b 2e 63 20 5c 0a 20 20 24 28 54  llback.c \.  $(T
7ab0: 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65  OP)\src\complete
7ac0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7ad0: 63 5c 63 74 69 6d 65 2e 63 20 5c 0a 20 20 24 28  c\ctime.c \.  $(
7ae0: 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20  TOP)\src\date.c 
7af0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64  \.  $(TOP)\src\d
7b00: 62 70 61 67 65 2e 63 20 5c 0a 20 20 24 28 54 4f  bpage.c \.  $(TO
7b10: 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 20  P)\src\dbstat.c 
7b20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64  \.  $(TOP)\src\d
7b30: 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f  elete.c \.  $(TO
7b40: 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 5c 0a  P)\src\expr.c \.
7b50: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75    $(TOP)\src\fau
7b60: 6c 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  lt.c \.  $(TOP)\
7b70: 73 72 63 5c 66 6b 65 79 2e 63 20 5c 0a 20 20 24  src\fkey.c \.  $
7b80: 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63  (TOP)\src\func.c
7b90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7ba0: 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20 20 24 28 54  global.c \.  $(T
7bb0: 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20 5c  OP)\src\hash.c \
7bc0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e  .  $(TOP)\src\in
7bd0: 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sert.c \.  $(TOP
7be0: 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 20 5c  )\src\legacy.c \
7bf0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f  .  $(TOP)\src\lo
7c00: 61 64 65 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f  adext.c \.  $(TO
7c10: 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 5c 0a  P)\src\main.c \.
7c20: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c    $(TOP)\src\mal
7c30: 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  loc.c \.  $(TOP)
7c40: 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 5c 0a 20 20  \src\mem0.c \.  
7c50: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e  $(TOP)\src\mem1.
7c60: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7c70: 5c 6d 65 6d 32 2e 63 20 5c 0a 20 20 24 28 54 4f  \mem2.c \.  $(TO
7c80: 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 5c 0a  P)\src\mem3.c \.
7c90: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem
7ca0: 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  5.c \.  $(TOP)\s
7cb0: 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20  rc\memjournal.c 
7cc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
7cd0: 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50  utex.c \.  $(TOP
7ce0: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70  )\src\mutex_noop
7cf0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7d00: 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20 5c  c\mutex_unix.c \
7d10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu
7d20: 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20 24 28  tex_w32.c \.  $(
7d30: 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e  TOP)\src\notify.
7d40: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7d50: 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  \os.c \.  $(TOP)
7d60: 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 5c  \src\os_unix.c \
7d70: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os
7d80: 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65 20 73  _win.c..# Core s
7d90: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73  ource code files
7da0: 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30  , part 2..#.SRC0
7db0: 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  1 = \.  $(TOP)\s
7dc0: 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20 20 24  rc\pager.c \.  $
7dd0: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
7de0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7df0: 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a 20 20  c\pcache1.c \.  
7e00: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d  $(TOP)\src\pragm
7e10: 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  a.c \.  $(TOP)\s
7e20: 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c 0a 20  rc\prepare.c \. 
7e30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e   $(TOP)\src\prin
7e40: 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  tf.c \.  $(TOP)\
7e50: 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c 0a 20  src\random.c \. 
7e60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f   $(TOP)\src\reso
7e70: 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  lve.c \.  $(TOP)
7e80: 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 5c 0a  \src\rowset.c \.
7e90: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c    $(TOP)\src\sel
7ea0: 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ect.c \.  $(TOP)
7eb0: 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 5c 0a  \src\status.c \.
7ec0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62    $(TOP)\src\tab
7ed0: 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  le.c \.  $(TOP)\
7ee0: 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 5c 0a  src\threads.c \.
7ef0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c    $(TOP)\src\tcl
7f00: 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28 54  sqlite.c \.  $(T
7f10: 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65  OP)\src\tokenize
7f20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7f30: 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c 0a 20  c\treeview.c \. 
7f40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67   $(TOP)\src\trig
7f50: 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ger.c \.  $(TOP)
7f60: 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20 20 24  \src\utf.c \.  $
7f70: 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65  (TOP)\src\update
7f80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7f90: 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 20 24 28 54  c\util.c \.  $(T
7fa0: 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63  OP)\src\vacuum.c
7fb0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7fc0: 76 64 62 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  vdbe.c \.  $(TOP
7fd0: 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63 20  )\src\vdbeapi.c 
7fe0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
7ff0: 64 62 65 61 75 78 2e 63 20 5c 0a 20 20 24 28 54  dbeaux.c \.  $(T
8000: 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62  OP)\src\vdbeblob
8010: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8020: 63 5c 76 64 62 65 6d 65 6d 2e 63 20 5c 0a 20 20  c\vdbemem.c \.  
8030: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73  $(TOP)\src\vdbes
8040: 6f 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ort.c \.  $(TOP)
8050: 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63  \src\vdbetrace.c
8060: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8070: 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50  vtab.c \.  $(TOP
8080: 29 5c 73 72 63 5c 77 61 6c 2e 63 20 5c 0a 20 20  )\src\wal.c \.  
8090: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65  $(TOP)\src\walke
80a0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
80b0: 72 63 5c 77 68 65 72 65 2e 63 20 5c 0a 20 20 24  rc\where.c \.  $
80c0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63  (TOP)\src\wherec
80d0: 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ode.c \.  $(TOP)
80e0: 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63  \src\whereexpr.c
80f0: 0a 0a 23 20 43 6f 72 65 20 6d 69 73 63 65 6c 6c  ..# Core miscell
8100: 61 6e 65 6f 75 73 20 66 69 6c 65 73 2e 0a 23 0a  aneous files..#.
8110: 53 52 43 30 33 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC03 = \.  $(TO
8120: 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 0a 0a  P)\src\parse.y..
8130: 23 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 69  # Core header fi
8140: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
8150: 52 43 30 34 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC04 = \.  $(TOP
8160: 29 5c 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a  )\src\btree.h \.
8170: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72    $(TOP)\src\btr
8180: 65 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f  eeInt.h \.  $(TO
8190: 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a  P)\src\hash.h \.
81a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74    $(TOP)\src\hwt
81b0: 69 6d 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ime.h \.  $(TOP)
81c0: 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20  \src\msvc.h \.  
81d0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
81e0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
81f0: 63 5c 6f 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50  c\os.h \.  $(TOP
8200: 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e  )\src\os_common.
8210: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8220: 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20  \os_setup.h \.  
8230: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi
8240: 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 68 65 61 64  n.h..# Core head
8250: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32  er files, part 2
8260: 2e 0a 23 0a 53 52 43 30 35 20 3d 20 5c 0a 20 20  ..#.SRC05 = \.  
8270: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager
8280: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8290: 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 24  c\pcache.h \.  $
82a0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61  (TOP)\src\pragma
82b0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
82c0: 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a  c\sqlite.h.in \.
82d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql
82e0: 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 20 24 28  ite3ext.h \.  $(
82f0: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49  TOP)\src\sqliteI
8300: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\
8310: 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e  src\sqliteLimit.
8320: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8330: 5c 76 64 62 65 2e 68 20 5c 0a 20 20 24 28 54 4f  \vdbe.h \.  $(TO
8340: 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68  P)\src\vdbeInt.h
8350: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8360: 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 24 28  vxworks.h \.  $(
8370: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 68 20 5c  TOP)\src\wal.h \
8380: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  .  $(TOP)\src\wh
8390: 65 72 65 49 6e 74 2e 68 0a 0a 23 20 45 78 74 65  ereInt.h..# Exte
83a0: 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64  nsion source cod
83b0: 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e  e files, part 1.
83c0: 0a 23 0a 53 52 43 30 36 20 3d 20 5c 0a 20 20 24  .#.SRC06 = \.  $
83d0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
83e0: 74 73 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ts1.c \.  $(TOP)
83f0: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68  \ext\fts1\fts1_h
8400: 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ash.c \.  $(TOP)
8410: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 70  \ext\fts1\fts1_p
8420: 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  orter.c \.  $(TO
8430: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
8440: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a  _tokenizer1.c \.
8450: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8460: 32 5c 66 74 73 32 2e 63 20 5c 0a 20 20 24 28 54  2\fts2.c \.  $(T
8470: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
8480: 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54  2_hash.c \.  $(T
8490: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
84a0: 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f  2_icu.c \.  $(TO
84b0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
84c0: 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28  _porter.c \.  $(
84d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
84e0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c  s2_tokenizer.c \
84f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8500: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  s2\fts2_tokenize
8510: 72 31 2e 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f  r1.c..# Extensio
8520: 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  n source code fi
8530: 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53  les, part 2..#.S
8540: 52 43 30 37 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC07 = \.  $(TOP
8550: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e  )\ext\fts3\fts3.
8560: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8570: 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63  \fts3\fts3_aux.c
8580: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8590: 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63  fts3\fts3_expr.c
85a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
85b0: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63  fts3\fts3_hash.c
85c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
85d0: 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20  fts3\fts3_icu.c 
85e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
85f0: 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e  ts3\fts3_porter.
8600: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8610: 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70  \fts3\fts3_snipp
8620: 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  et.c \.  $(TOP)\
8630: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
8640: 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28  kenizer.c \.  $(
8650: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8660: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s3_tokenizer1.c 
8670: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8680: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
8690: 65 5f 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54  e_vtab.c \.  $(T
86a0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
86b0: 33 5f 75 6e 69 63 6f 64 65 2e 63 20 5c 0a 20 20  3_unicode.c \.  
86c0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
86d0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20  fts3_unicode2.c 
86e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
86f0: 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63  ts3\fts3_write.c
8700: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8710: 69 63 75 5c 69 63 75 2e 63 20 5c 0a 20 20 24 28  icu\icu.c \.  $(
8720: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72  TOP)\ext\rtree\r
8730: 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  tree.c \.  $(TOP
8740: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71  )\ext\session\sq
8750: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 20 5c  lite3session.c \
8760: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  .  $(TOP)\ext\rb
8770: 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 5c  u\sqlite3rbu.c \
8780: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
8790: 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c 0a 20 20 24  sc\json1.c \.  $
87a0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
87b0: 74 6d 74 2e 63 0a 0a 23 20 45 78 74 65 6e 73 69  tmt.c..# Extensi
87c0: 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c  on header files,
87d0: 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 38   part 1..#.SRC08
87e0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex
87f0: 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20 5c 0a  t\fts1\fts1.h \.
8800: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8810: 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20 5c 0a  1\fts1_hash.h \.
8820: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8830: 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72  1\fts1_tokenizer
8840: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
8850: 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a  t\fts2\fts2.h \.
8860: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8870: 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a  2\fts2_hash.h \.
8880: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8890: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
88a0: 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20  .h..# Extension 
88b0: 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61  header files, pa
88c0: 72 74 20 32 2e 0a 23 0a 53 52 43 30 39 20 3d 20  rt 2..#.SRC09 = 
88d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
88e0: 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24  ts3\fts3.h \.  $
88f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8900: 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54  ts3Int.h \.  $(T
8910: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
8920: 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  3_hash.h \.  $(T
8930: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
8940: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a  3_tokenizer.h \.
8950: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75    $(TOP)\ext\icu
8960: 5c 73 71 6c 69 74 65 69 63 75 2e 68 20 5c 0a 20  \sqliteicu.h \. 
8970: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
8980: 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 20 24 28  e\rtree.h \.  $(
8990: 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
89a0: 69 74 65 33 72 62 75 2e 68 20 5c 0a 20 20 24 28  ite3rbu.h \.  $(
89b0: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
89c0: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
89d0: 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 73  h..# Generated s
89e0: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73  ource code files
89f0: 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a 20 20 6f  .#.SRC10 = \.  o
8a00: 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 70 61 72  pcodes.c \.  par
8a10: 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 61 74 65  se.c..# Generate
8a20: 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a 23  d header files.#
8a30: 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 6b 65 79  .SRC11 = \.  key
8a40: 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 6f  wordhash.h \.  o
8a50: 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 70 61 72  pcodes.h \.  par
8a60: 73 65 2e 68 20 5c 0a 20 20 73 68 65 6c 6c 2e 63  se.h \.  shell.c
8a70: 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 48 29   \.  $(SQLITE3H)
8a80: 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 54 63  ..# Generated Tc
8a90: 6c 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a 23  l header files.#
8aa0: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA
8ab0: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
8ac0: 57 49 4e 31 30 29 21 3d 30 0a 53 52 43 31 32 20  WIN10)!=0.SRC12 
8ad0: 3d 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 43  = \.  $(SQLITETC
8ae0: 4c 48 29 20 5c 0a 20 20 24 28 53 51 4c 49 54 45  LH) \.  $(SQLITE
8af0: 54 43 4c 44 45 43 4c 53 48 29 0a 21 45 4c 53 45  TCLDECLSH).!ELSE
8b00: 0a 53 52 43 31 32 20 3d 0a 21 45 4e 44 49 46 0a  .SRC12 =.!ENDIF.
8b10: 0a 23 20 41 6c 6c 20 73 6f 75 72 63 65 20 63 6f  .# All source co
8b20: 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 20  de files..#.SRC 
8b30: 3d 20 24 28 53 52 43 30 30 29 20 24 28 53 52 43  = $(SRC00) $(SRC
8b40: 30 31 29 20 24 28 53 52 43 30 33 29 20 24 28 53  01) $(SRC03) $(S
8b50: 52 43 30 34 29 20 24 28 53 52 43 30 35 29 20 24  RC04) $(SRC05) $
8b60: 28 53 52 43 30 36 29 20 24 28 53 52 43 30 37 29  (SRC06) $(SRC07)
8b70: 20 24 28 53 52 43 30 38 29 20 24 28 53 52 43 30   $(SRC08) $(SRC0
8b80: 39 29 20 24 28 53 52 43 31 30 29 20 24 28 53 52  9) $(SRC10) $(SR
8b90: 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 20 63  C11)..# Source c
8ba0: 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74 20  ode to the test 
8bb0: 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52 43  files..#.TESTSRC
8bc0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72   = \.  $(TOP)\sr
8bd0: 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24 28  c\test1.c \.  $(
8be0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e 63  TOP)\src\test2.c
8bf0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8c00: 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28 54 4f  test3.c \.  $(TO
8c10: 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20 5c  P)\src\test4.c \
8c20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8c30: 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st5.c \.  $(TOP)
8c40: 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a 20  \src\test6.c \. 
8c50: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8c60: 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  7.c \.  $(TOP)\s
8c70: 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20 24  rc\test8.c \.  $
8c80: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39 2e  (TOP)\src\test9.
8c90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8ca0: 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e 63 20  \test_autoext.c 
8cb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8cc0: 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20 20  est_async.c \.  
8cd0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
8ce0: 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54  backup.c \.  $(T
8cf0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 65 73  OP)\src\test_bes
8d00: 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 54  tindex.c \.  $(T
8d10: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 6c 6f  OP)\src\test_blo
8d20: 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  b.c \.  $(TOP)\s
8d30: 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e 63 20  rc\test_btree.c 
8d40: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8d50: 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20  est_config.c \. 
8d60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8d70: 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28  _delete.c \.  $(
8d80: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65  TOP)\src\test_de
8d90: 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f  movfs.c \.  $(TO
8da0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 76 73  P)\src\test_devs
8db0: 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ym.c \.  $(TOP)\
8dc0: 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 20 5c 0a  src\test_fs.c \.
8dd0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8de0: 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54  t_func.c \.  $(T
8df0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 68 65 78  OP)\src\test_hex
8e00: 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  io.c \.  $(TOP)\
8e10: 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 2e 63 20  src\test_init.c 
8e20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8e30: 65 73 74 5f 69 6e 74 61 72 72 61 79 2e 63 20 5c  est_intarray.c \
8e40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8e50: 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20  st_journal.c \. 
8e60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8e70: 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28  _malloc.c \.  $(
8e80: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 64  TOP)\src\test_md
8e90: 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  5.c \.  $(TOP)\s
8ea0: 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69 70 6c 65  rc\test_multiple
8eb0: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  x.c \.  $(TOP)\s
8ec0: 72 63 5c 74 65 73 74 5f 6d 75 74 65 78 2e 63 20  rc\test_mutex.c 
8ed0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8ee0: 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 20 5c 0a  est_onefile.c \.
8ef0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8f00: 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a 20 20 24  t_osinst.c \.  $
8f10: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 70  (TOP)\src\test_p
8f20: 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f  cache.c \.  $(TO
8f30: 50 29 5c 73 72 63 5c 74 65 73 74 5f 71 75 6f 74  P)\src\test_quot
8f40: 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  a.c \.  $(TOP)\s
8f50: 72 63 5c 74 65 73 74 5f 72 74 72 65 65 2e 63 20  rc\test_rtree.c 
8f60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8f70: 65 73 74 5f 73 63 68 65 6d 61 2e 63 20 5c 0a 20  est_schema.c \. 
8f80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8f90: 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20 20 24 28  _server.c \.  $(
8fa0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 75  TOP)\src\test_su
8fb0: 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20 20 24 28  perlock.c \.  $(
8fc0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 79  TOP)\src\test_sy
8fd0: 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  scall.c \.  $(TO
8fe0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c 73  P)\src\test_tcls
8ff0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  h.c \.  $(TOP)\s
9000: 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e 63  rc\test_tclvar.c
9010: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
9020: 74 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c 0a  test_thread.c \.
9030: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
9040: 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f  t_vfs.c \.  $(TO
9050: 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e 64  P)\src\test_wind
9060: 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54 4f  irent.c \.  $(TO
9070: 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e  P)\src\test_wsd.
9080: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9090: 5c 66 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e  \fts3\fts3_term.
90a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
90b0: 5c 66 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e  \fts3\fts3_test.
90c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
90d0: 5c 72 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20  \rbu\test_rbu.c 
90e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73  \.  $(TOP)\ext\s
90f0: 65 73 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73  ession\test_sess
9100: 69 6f 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61  ion.c..# Statica
9110: 6c 6c 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e  lly linked exten
9120: 73 69 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54  sions..#.TESTEXT
9130: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex
9140: 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33  t\expert\sqlite3
9150: 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54  expert.c \.  $(T
9160: 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 74  OP)\ext\expert\t
9170: 65 73 74 5f 65 78 70 65 72 74 2e 63 20 5c 0a 20  est_expert.c \. 
9180: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9190: 5c 61 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28  \amatch.c \.  $(
91a0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 61  TOP)\ext\misc\ca
91b0: 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rray.c \.  $(TOP
91c0: 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6c 6f 73 75  )\ext\misc\closu
91d0: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\
91e0: 65 78 74 5c 6d 69 73 63 5c 63 73 76 2e 63 20 5c  ext\misc\csv.c \
91f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9200: 73 63 5c 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28  sc\eval.c \.  $(
9210: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69  TOP)\ext\misc\fi
9220: 6c 65 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50  leio.c \.  $(TOP
9230: 29 5c 65 78 74 5c 6d 69 73 63 5c 66 75 7a 7a 65  )\ext\misc\fuzze
9240: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
9250: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 63 6c  xt\fts5\fts5_tcl
9260: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9270: 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74  t\fts5\fts5_test
9280: 5f 6d 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  _mi.c \.  $(TOP)
9290: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74  \ext\fts5\fts5_t
92a0: 65 73 74 5f 74 6f 6b 2e 63 20 5c 0a 20 20 24 28  est_tok.c \.  $(
92b0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 69 65  TOP)\ext\misc\ie
92c0: 65 65 37 35 34 2e 63 20 5c 0a 20 20 24 28 54 4f  ee754.c \.  $(TO
92d0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6d 6d 61 70  P)\ext\misc\mmap
92e0: 77 61 72 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50  warm.c \.  $(TOP
92f0: 29 5c 65 78 74 5c 6d 69 73 63 5c 6e 65 78 74 63  )\ext\misc\nextc
9300: 68 61 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  har.c \.  $(TOP)
9310: 5c 65 78 74 5c 6d 69 73 63 5c 70 65 72 63 65 6e  \ext\misc\percen
9320: 74 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  tile.c \.  $(TOP
9330: 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65 67 65 78  )\ext\misc\regex
9340: 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  p.c \.  $(TOP)\e
9350: 78 74 5c 6d 69 73 63 5c 72 65 6d 65 6d 62 65 72  xt\misc\remember
9360: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9370: 74 5c 6d 69 73 63 5c 73 65 72 69 65 73 2e 63 20  t\misc\series.c 
9380: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
9390: 69 73 63 5c 73 70 65 6c 6c 66 69 78 2e 63 20 5c  isc\spellfix.c \
93a0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
93b0: 73 63 5c 74 6f 74 79 70 65 2e 63 20 5c 0a 20 20  sc\totype.c \.  
93c0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
93d0: 75 6e 69 6f 6e 76 74 61 62 2e 63 20 5c 0a 20 20  unionvtab.c \.  
93e0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
93f0: 77 68 6f 6c 65 6e 75 6d 62 65 72 2e 63 0a 0a 23  wholenumber.c..#
9400: 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f 20   Source code to 
9410: 74 68 65 20 6c 69 62 72 61 72 79 20 66 69 6c 65  the library file
9420: 73 20 6e 65 65 64 65 64 20 62 79 20 74 68 65 20  s needed by the 
9430: 74 65 73 74 20 66 69 78 74 75 72 65 0a 23 20 28  test fixture.# (
9440: 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  non-amalgamation
9450: 29 0a 23 0a 54 45 53 54 53 52 43 32 20 3d 20 5c  ).#.TESTSRC2 = \
9460: 0a 20 20 24 28 53 52 43 30 30 29 20 5c 0a 20 20  .  $(SRC00) \.  
9470: 24 28 53 52 43 30 31 29 20 5c 0a 20 20 24 28 53  $(SRC01) \.  $(S
9480: 52 43 30 36 29 20 5c 0a 20 20 24 28 53 52 43 30  RC06) \.  $(SRC0
9490: 37 29 20 5c 0a 20 20 24 28 53 52 43 31 30 29 20  7) \.  $(SRC10) 
94a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 61  \.  $(TOP)\ext\a
94b0: 73 79 6e 63 5c 73 71 6c 69 74 65 33 61 73 79 6e  sync\sqlite3asyn
94c0: 63 2e 63 0a 0a 23 20 48 65 61 64 65 72 20 66 69  c.c..# Header fi
94d0: 6c 65 73 20 75 73 65 64 20 62 79 20 61 6c 6c 20  les used by all 
94e0: 6c 69 62 72 61 72 79 20 73 6f 75 72 63 65 20 66  library source f
94f0: 69 6c 65 73 2e 0a 23 0a 48 44 52 20 3d 20 5c 0a  iles..#.HDR = \.
9500: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74     $(TOP)\src\bt
9510: 72 65 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  ree.h \.   $(TOP
9520: 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e 68  )\src\btreeInt.h
9530: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9540: 5c 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54  \hash.h \.   $(T
9550: 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68  OP)\src\hwtime.h
9560: 20 5c 0a 20 20 20 6b 65 79 77 6f 72 64 68 61 73   \.   keywordhas
9570: 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  h.h \.   $(TOP)\
9580: 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 20  src\msvc.h \.   
9590: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
95a0: 2e 68 20 5c 0a 20 20 20 6f 70 63 6f 64 65 73 2e  .h \.   opcodes.
95b0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
95c0: 63 5c 6f 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f  c\os.h \.   $(TO
95d0: 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e  P)\src\os_common
95e0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
95f0: 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a  rc\os_setup.h \.
9600: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73     $(TOP)\src\os
9610: 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f  _win.h \.   $(TO
9620: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c  P)\src\pager.h \
9630: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  .   $(TOP)\src\p
9640: 63 61 63 68 65 2e 68 20 5c 0a 20 20 20 70 61 72  cache.h \.   par
9650: 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  se.h \.   $(TOP)
9660: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a  \src\pragma.h \.
9670: 20 20 20 24 28 53 51 4c 49 54 45 33 48 29 20 5c     $(SQLITE3H) \
9680: 0a 20 20 20 73 71 6c 69 74 65 33 65 78 74 2e 68  .   sqlite3ext.h
9690: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
96a0: 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20  \sqliteInt.h \. 
96b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql
96c0: 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 20  iteLimit.h \.   
96d0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe.
96e0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
96f0: 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20  c\vdbeInt.h \.  
9700: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f   $(TOP)\src\vxwo
9710: 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  rks.h \.   $(TOP
9720: 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74 2e 68  )\src\whereInt.h
9730: 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65 73  ..# Header files
9740: 20 75 73 65 64 20 62 79 20 65 78 74 65 6e 73 69   used by extensi
9750: 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20 3d 20 24  ons.#.EXTHDR = $
9760: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54  (EXTHDR) \.  $(T
9770: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
9780: 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.h \.  $(TOP)\e
9790: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73  xt\fts1\fts1_has
97a0: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.h \.  $(TOP)\e
97b0: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b  xt\fts1\fts1_tok
97c0: 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20  enizer.h.EXTHDR 
97d0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
97e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
97f0: 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts2.h \.  $(TOP
9800: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
9810: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50  hash.h \.  $(TOP
9820: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
9830: 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48  tokenizer.h.EXTH
9840: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
9850: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9860: 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24 28  s3\fts3.h \.  $(
9870: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
9880: 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f  s3Int.h \.  $(TO
9890: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
98a0: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
98b0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
98c0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54  _tokenizer.h.EXT
98d0: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) 
98e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r
98f0: 74 72 65 65 5c 72 74 72 65 65 2e 68 0a 45 58 54  tree\rtree.h.EXT
9900: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) 
9910: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69  \.  $(TOP)\ext\i
9920: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 0a 45  cu\sqliteicu.h.E
9930: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
9940: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
9950: 5c 72 74 72 65 65 5c 73 71 6c 69 74 65 33 72 74  \rtree\sqlite3rt
9960: 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d 20 24  ree.h.EXTHDR = $
9970: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54  (EXTHDR) \.  $(T
9980: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
9990: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68  sqlite3session.h
99a0: 0a 0a 23 20 65 78 65 63 75 74 61 62 6c 65 73 20  ..# executables 
99b0: 6e 65 65 64 65 64 20 66 6f 72 20 74 65 73 74 69  needed for testi
99c0: 6e 67 0a 23 0a 54 45 53 54 50 52 4f 47 53 20 3d  ng.#.TESTPROGS =
99d0: 20 5c 0a 20 20 74 65 73 74 66 69 78 74 75 72 65   \.  testfixture
99e0: 2e 65 78 65 20 5c 0a 20 20 24 28 53 51 4c 49 54  .exe \.  $(SQLIT
99f0: 45 33 45 58 45 29 20 5c 0a 20 20 73 71 6c 69 74  E3EXE) \.  sqlit
9a00: 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20  e3_analyzer.exe 
9a10: 5c 0a 20 20 73 71 6c 69 74 65 33 5f 63 68 65 63  \.  sqlite3_chec
9a20: 6b 65 72 2e 65 78 65 20 5c 0a 20 20 73 71 6c 64  ker.exe \.  sqld
9a30: 69 66 66 2e 65 78 65 20 5c 0a 20 20 64 62 68 61  iff.exe \.  dbha
9a40: 73 68 2e 65 78 65 0a 0a 23 20 44 61 74 61 62 61  sh.exe..# Databa
9a50: 73 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 66  ses containing f
9a60: 75 7a 7a 65 72 20 74 65 73 74 20 63 61 73 65 73  uzzer test cases
9a70: 0a 23 0a 46 55 5a 5a 44 41 54 41 20 3d 20 5c 0a  .#.FUZZDATA = \.
9a80: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu
9a90: 7a 7a 64 61 74 61 31 2e 64 62 20 5c 0a 20 20 24  zzdata1.db \.  $
9aa0: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
9ab0: 61 74 61 32 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata2.db \.  $(TO
9ac0: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
9ad0: 33 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  3.db \.  $(TOP)\
9ae0: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 34 2e 64  test\fuzzdata4.d
9af0: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes
9b00: 74 5c 66 75 7a 7a 64 61 74 61 35 2e 64 62 0a 23  t\fuzzdata5.db.#
9b10: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64   <</mark>>..# Ad
9b20: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
9b30: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68  r options for th
9b40: 65 20 73 68 65 6c 6c 2e 20 20 54 68 65 73 65 20  e shell.  These 
9b50: 61 72 65 20 6f 6e 6c 79 20 65 66 66 65 63 74 69  are only effecti
9b60: 76 65 0a 23 20 77 68 65 6e 20 74 68 65 20 73 68  ve.# when the sh
9b70: 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e 67  ell is not being
9b80: 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e   dynamically lin
9b90: 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e  ked..#.!IF $(DYN
9ba0: 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26  AMIC_SHELL)==0 &
9bb0: 26 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d  & $(FOR_WIN10)==
9bc0: 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  0.SHELL_COMPILE_
9bd0: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43  OPTS = $(SHELL_C
9be0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
9bf0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f  QLITE_ENABLE_JSO
9c00: 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  N1 -DSQLITE_ENAB
9c10: 4c 45 5f 46 54 53 34 20 2d 44 53 51 4c 49 54 45  LE_FTS4 -DSQLITE
9c20: 5f 45 4e 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f  _ENABLE_EXPLAIN_
9c30: 43 4f 4d 4d 45 4e 54 53 20 2d 44 53 51 4c 49 54  COMMENTS -DSQLIT
9c40: 45 5f 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41  E_ENABLE_STMTVTA
9c50: 42 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  B.SHELL_COMPILE_
9c60: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43  OPTS = $(SHELL_C
9c70: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
9c80: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 50  QLITE_ENABLE_DBP
9c90: 41 47 45 5f 56 54 41 42 20 2d 44 53 51 4c 49 54  AGE_VTAB -DSQLIT
9ca0: 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f  E_ENABLE_DBSTAT_
9cb0: 56 54 41 42 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  VTAB.!ENDIF..# <
9cc0: 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20  <mark>>.# Extra 
9cd0: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
9ce0: 20 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65 73   for various tes
9cf0: 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53  t tools..#.MPTES
9d00: 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  TER_COMPILE_OPTS
9d10: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42   = -DSQLITE_ENAB
9d20: 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54  LE_JSON1 -DSQLIT
9d30: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55  E_ENABLE_FTS5.FU
9d40: 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  ZZERSHELL_COMPIL
9d50: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
9d60: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46  E_ENABLE_JSON1.F
9d70: 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45  UZZCHECK_COMPILE
9d80: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
9d90: 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44  _ENABLE_JSON1 -D
9da0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45  SQLITE_ENABLE_ME
9db0: 4d 53 59 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f  MSYS5 -DSQLITE_O
9dc0: 53 53 5f 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45  SS_FUZZ -DSQLITE
9dd0: 5f 4d 41 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30  _MAX_MEMORY=5000
9de0: 30 30 30 30 0a 46 55 5a 5a 43 48 45 43 4b 5f 53  0000.FUZZCHECK_S
9df0: 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74  RC = $(TOP)\test
9e00: 5c 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 54  \fuzzcheck.c $(T
9e10: 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a  OP)\test\ossfuzz
9e20: 2e 63 0a 4f 53 53 53 48 45 4c 4c 5f 53 52 43 20  .c.OSSSHELL_SRC 
9e30: 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73  = $(TOP)\test\os
9e40: 73 73 68 65 6c 6c 2e 63 20 24 28 54 4f 50 29 5c  sshell.c $(TOP)\
9e50: 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 44  test\ossfuzz.c.D
9e60: 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50  BFUZZ_COMPILE_OP
9e70: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48  TS = -DSQLITE_TH
9e80: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
9e90: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
9ea0: 54 45 4e 53 49 4f 4e 0a 4b 56 5f 43 4f 4d 50 49  TENSION.KV_COMPI
9eb0: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  LE_OPTS = -DSQLI
9ec0: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0 
9ed0: 2d 44 53 51 4c 49 54 45 5f 44 49 52 45 43 54 5f  -DSQLITE_DIRECT_
9ee0: 4f 56 45 52 46 4c 4f 57 5f 52 45 41 44 0a 44 42  OVERFLOW_READ.DB
9ef0: 53 45 4c 46 54 45 53 54 5f 43 4f 4d 50 49 4c 45  SELFTEST_COMPILE
9f00: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
9f10: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
9f20: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
9f30: 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 44 53 51 4c  _EXTENSION -DSQL
9f40: 49 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45  ITE_ENABLE_RTREE
9f50: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
9f60: 5f 46 54 53 34 20 2d 44 53 51 4c 49 54 45 5f 45  _FTS4 -DSQLITE_E
9f70: 4e 41 42 4c 45 5f 46 54 53 35 0a 53 54 5f 43 4f  NABLE_FTS5.ST_CO
9f80: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53  MPILE_OPTS = -DS
9f90: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
9fa0: 3d 30 0a 0a 23 20 53 74 61 6e 64 61 72 64 20 6f  =0..# Standard o
9fb0: 70 74 69 6f 6e 73 20 74 6f 20 74 65 73 74 66 69  ptions to testfi
9fc0: 78 74 75 72 65 2e 0a 23 0a 54 45 53 54 4f 50 54  xture..#.TESTOPT
9fd0: 53 20 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66 69  S = --verbose=fi
9fe0: 6c 65 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73 74  le --output=test
9ff0: 2d 6f 75 74 2e 74 78 74 0a 0a 23 20 45 78 74 72  -out.txt..# Extr
a000: 61 20 74 61 72 67 65 74 73 20 66 6f 72 20 74 68  a targets for th
a010: 65 20 22 61 6c 6c 22 20 74 61 72 67 65 74 20 74  e "all" target t
a020: 68 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 2e  hat require Tcl.
a030: 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29  .#.!IF $(NO_TCL)
a040: 3d 3d 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47  ==0.ALL_TCL_TARG
a050: 45 54 53 20 3d 20 6c 69 62 74 63 6c 73 71 6c 69  ETS = libtclsqli
a060: 74 65 33 2e 6c 69 62 0a 21 45 4c 53 45 0a 41 4c  te3.lib.!ELSE.AL
a070: 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 0a  L_TCL_TARGETS =.
a080: 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b  !ENDIF.# <</mark
a090: 3e 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68  >>..# This is th
a0a0: 65 20 64 65 66 61 75 6c 74 20 4d 61 6b 65 66 69  e default Makefi
a0b0: 6c 65 20 74 61 72 67 65 74 2e 20 20 54 68 65 20  le target.  The 
a0c0: 6f 62 6a 65 63 74 73 20 6c 69 73 74 65 64 20 68  objects listed h
a0d0: 65 72 65 0a 23 20 61 72 65 20 77 68 61 74 20 67  ere.# are what g
a0e0: 65 74 20 62 75 69 6c 64 20 77 68 65 6e 20 79 6f  et build when yo
a0f0: 75 20 74 79 70 65 20 6a 75 73 74 20 22 6d 61 6b  u type just "mak
a100: 65 22 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d  e" with no argum
a110: 65 6e 74 73 2e 0a 23 0a 61 6c 6c 3a 09 64 6c 6c  ents..#.all:.dll
a120: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20   libsqlite3.lib 
a130: 73 68 65 6c 6c 20 24 28 41 4c 4c 5f 54 43 4c 5f  shell $(ALL_TCL_
a140: 54 41 52 47 45 54 53 29 0a 0a 23 20 44 79 6e 61  TARGETS)..# Dyna
a150: 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79  mic link library
a160: 20 73 65 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a   section..#.dll:
a170: 09 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a  .$(SQLITE3DLL)..
a180: 23 20 53 68 65 6c 6c 20 65 78 65 63 75 74 61 62  # Shell executab
a190: 6c 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09 24 28 53  le..#.shell:.$(S
a1a0: 51 4c 49 54 45 33 45 58 45 29 0a 0a 23 20 3c 3c  QLITE3EXE)..# <<
a1b0: 6d 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c 69 74 65  mark>>.libsqlite
a1c0: 33 2e 6c 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29  3.lib:.$(LIBOBJ)
a1d0: 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c  ..$(LTLIB) $(LTL
a1e0: 49 42 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20  IBOPTS) /OUT:$@ 
a1f0: 24 28 4c 49 42 4f 42 4a 29 20 24 28 54 4c 49 42  $(LIBOBJ) $(TLIB
a200: 53 29 0a 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65  S)..libtclsqlite
a210: 33 2e 6c 69 62 3a 09 74 63 6c 73 71 6c 69 74 65  3.lib:.tclsqlite
a220: 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c  .lo libsqlite3.l
a230: 69 62 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c  ib..$(LTLIB) $(L
a240: 54 4c 49 42 4f 50 54 53 29 20 24 28 4c 54 4c 49  TLIBOPTS) $(LTLI
a250: 42 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20  BPATHS) /OUT:$@ 
a260: 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62  tclsqlite.lo lib
a270: 73 71 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c 49  sqlite3.lib $(LI
a280: 42 54 43 4c 53 54 55 42 29 20 24 28 54 4c 49 42  BTCLSTUB) $(TLIB
a290: 53 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  S).# <</mark>>..
a2a0: 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24  $(SQLITE3DLL):.$
a2b0: 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45  (LIBOBJ) $(LIBRE
a2c0: 53 4f 42 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49  SOBJS) $(CORE_LI
a2d0: 4e 4b 5f 44 45 50 29 0a 09 24 28 4c 44 29 20 24  NK_DEP)..$(LD) $
a2e0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
a2f0: 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  NKOPTS) $(LTLIBP
a300: 41 54 48 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52  ATHS) /DLL $(COR
a310: 45 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55  E_LINK_OPTS) /OU
a320: 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24  T:$@ $(LIBOBJ) $
a330: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c  (LIBRESOBJS) $(L
a340: 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS).
a350: 0a 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71  .# <<block2>>.sq
a360: 6c 69 74 65 33 2e 64 65 66 3a 09 6c 69 62 73 71  lite3.def:.libsq
a370: 6c 69 74 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20  lite3.lib..echo 
a380: 45 58 50 4f 52 54 53 20 3e 20 73 71 6c 69 74 65  EXPORTS > sqlite
a390: 33 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f  3.def..dumpbin /
a3a0: 61 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c  all libsqlite3.l
a3b0: 69 62 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  ib \...| $(TCLSH
a3c0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
a3d0: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e  l\replace.tcl in
a3e0: 63 6c 75 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28  clude "^\s+1 _?(
a3f0: 73 71 6c 69 74 65 33 28 3f 3a 73 65 73 73 69 6f  sqlite3(?:sessio
a400: 6e 7c 63 68 61 6e 67 65 73 65 74 7c 63 68 61 6e  n|changeset|chan
a410: 67 65 67 72 6f 75 70 29 3f 5f 5b 5e 40 5d 2a 29  gegroup)?_[^@]*)
a420: 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31 20  (?:@\d+)?$$" \1 
a430: 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20 73 71  \...| sort >> sq
a440: 6c 69 74 65 33 2e 64 65 66 0a 23 20 3c 3c 2f 62  lite3.def.# <</b
a450: 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49 54  lock2>>..$(SQLIT
a460: 45 33 45 58 45 29 3a 09 73 68 65 6c 6c 2e 63 20  E3EXE):.shell.c 
a470: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  $(SHELL_CORE_DEP
a480: 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
a490: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43  $(SHELL_CORE_SRC
a4a0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
a4b0: 28 4c 54 4c 49 4e 4b 29 20 24 28 53 48 45 4c 4c  (LTLINK) $(SHELL
a4c0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
a4d0: 28 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29  (READLINE_FLAGS)
a4e0: 20 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c   shell.c $(SHELL
a4f0: 5f 43 4f 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f  _CORE_SRC) \.../
a500: 6c 69 6e 6b 20 24 28 53 51 4c 49 54 45 33 45 58  link $(SQLITE3EX
a510: 45 50 44 42 29 20 24 28 4c 44 46 4c 41 47 53 29  EPDB) $(LDFLAGS)
a520: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS) $
a530: 28 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53  (SHELL_LINK_OPTS
a540: 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
a550: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
a560: 4c 49 42 52 45 41 44 4c 49 4e 45 29 20 24 28 4c  LIBREADLINE) $(L
a570: 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS).
a580: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 64  .# <<mark>>.sqld
a590: 69 66 66 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  iff.exe:.$(TOP)\
a5a0: 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24  tool\sqldiff.c $
a5b0: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
a5c0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
a5d0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54  ) $(NO_WARN) $(T
a5e0: 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66  OP)\tool\sqldiff
a5f0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
a600: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
a610: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64  $(LTLINKOPTS)..d
a620: 62 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f 50  bhash.exe:.$(TOP
a630: 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20  )\tool\dbhash.c 
a640: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
a650: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
a660: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN) $(
a670: 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68  TOP)\tool\dbhash
a680: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
a690: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
a6a0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s
a6b0: 63 72 75 62 2e 65 78 65 3a 09 24 28 54 4f 50 29  crub.exe:.$(TOP)
a6c0: 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e  \ext\misc\scrub.
a6d0: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
a6e0: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
a6f0: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
a700: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
a710: 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45  scrub.c $(SQLITE
a720: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
a730: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
a740: 53 29 0a 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09  S)..srcck1.exe:.
a750: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63  $(TOP)\tool\srcc
a760: 6b 31 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e  k1.c..$(BCC) $(N
a770: 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28  O_WARN) -Fe$@ $(
a780: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31  TOP)\tool\srcck1
a790: 2e 63 0a 0a 73 6f 75 72 63 65 74 65 73 74 3a 09  .c..sourcetest:.
a7a0: 73 72 63 63 6b 31 2e 65 78 65 20 73 71 6c 69 74  srcck1.exe sqlit
a7b0: 65 33 2e 63 0a 09 73 72 63 63 6b 31 2e 65 78 65  e3.c..srcck1.exe
a7c0: 20 73 71 6c 69 74 65 33 2e 63 0a 0a 66 75 7a 7a   sqlite3.c..fuzz
a7d0: 65 72 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54  ershell.exe:.$(T
a7e0: 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73  OP)\tool\fuzzers
a7f0: 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  hell.c $(SQLITE3
a800: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
a810: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
a820: 41 52 4e 29 20 24 28 46 55 5a 5a 45 52 53 48 45  ARN) $(FUZZERSHE
a830: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
a840: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a   $(TOP)\tool\fuz
a850: 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c  zershell.c $(SQL
a860: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
a870: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
a880: 4f 50 54 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78  OPTS)..dbfuzz.ex
a890: 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64  e:.$(TOP)\test\d
a8a0: 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  bfuzz.c $(SQLITE
a8b0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
a8c0: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
a8d0: 57 41 52 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43  WARN) $(DBFUZZ_C
a8e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54  OMPILE_OPTS) $(T
a8f0: 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e  OP)\test\dbfuzz.
a900: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
a910: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
a920: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75  (LTLINKOPTS)..fu
a930: 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 46  zzcheck.exe:.$(F
a940: 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28  UZZCHECK_SRC) $(
a950: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
a960: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
a970: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55   $(NO_WARN) $(FU
a980: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f  ZZCHECK_COMPILE_
a990: 4f 50 54 53 29 20 24 28 46 55 5a 5a 43 48 45 43  OPTS) $(FUZZCHEC
a9a0: 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  K_SRC) $(SQLITE3
a9b0: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
a9c0: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
a9d0: 29 0a 0a 6f 73 73 73 68 65 6c 6c 2e 65 78 65 3a  )..ossshell.exe:
a9e0: 09 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29  .$(OSSSHELL_SRC)
a9f0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
aa00: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
aa10: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
aa20: 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49  (FUZZCHECK_COMPI
aa30: 4c 45 5f 4f 50 54 53 29 20 24 28 4f 53 53 53 48  LE_OPTS) $(OSSSH
aa40: 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ELL_SRC) $(SQLIT
aa50: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
aa60: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
aa70: 54 53 29 0a 0a 6d 70 74 65 73 74 65 72 2e 65 78  TS)..mptester.ex
aa80: 65 3a 09 24 28 54 4f 50 29 5c 6d 70 74 65 73 74  e:.$(TOP)\mptest
aa90: 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49  \mptest.c $(SQLI
aaa0: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
aab0: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
aac0: 4f 5f 57 41 52 4e 29 20 24 28 4d 50 54 45 53 54  O_WARN) $(MPTEST
aad0: 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  ER_COMPILE_OPTS)
aae0: 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d   $(TOP)\mptest\m
aaf0: 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ptest.c $(SQLITE
ab00: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
ab10: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
ab20: 53 29 0a 0a 4d 50 54 45 53 54 31 20 3d 20 6d 70  S)..MPTEST1 = mp
ab30: 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62  tester mptest.db
ab40: 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 63   $(TOP)\mptest\c
ab50: 72 61 73 68 30 31 2e 74 65 73 74 20 2d 2d 72 65  rash01.test --re
ab60: 70 65 61 74 20 32 30 0a 4d 50 54 45 53 54 32 20  peat 20.MPTEST2 
ab70: 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73  = mptester mptes
ab80: 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65  t.db $(TOP)\mpte
ab90: 73 74 5c 6d 75 6c 74 69 77 72 69 74 65 30 31 2e  st\multiwrite01.
aba0: 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30  test --repeat 20
abb0: 0a 0a 6d 70 74 65 73 74 3a 09 6d 70 74 65 73 74  ..mptest:.mptest
abc0: 65 72 2e 65 78 65 0a 09 64 65 6c 20 2f 51 20 6d  er.exe..del /Q m
abd0: 70 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09  ptest.db 2>NUL..
abe0: 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75  $(MPTEST1) --jou
abf0: 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a  rnalmode DELETE.
ac00: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f  .$(MPTEST2) --jo
ac10: 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24  urnalmode WAL..$
ac20: 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72  (MPTEST1) --jour
ac30: 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d  nalmode WAL..$(M
ac40: 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST2) --journa
ac50: 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24  lmode PERSIST..$
ac60: 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72  (MPTEST1) --jour
ac70: 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a  nalmode PERSIST.
ac80: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f  .$(MPTEST2) --jo
ac90: 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41  urnalmode TRUNCA
aca0: 54 45 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  TE..$(MPTEST1) -
acb0: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55  -journalmode TRU
acc0: 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53 54 32  NCATE..$(MPTEST2
acd0: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode 
ace0: 44 45 4c 45 54 45 0a 0a 23 20 54 68 69 73 20 74  DELETE..# This t
acf0: 61 72 67 65 74 20 63 72 65 61 74 65 73 20 61 20  arget creates a 
ad00: 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 64 20  directory named 
ad10: 22 74 73 72 63 22 20 61 6e 64 20 66 69 6c 6c 73  "tsrc" and fills
ad20: 20 69 74 20 77 69 74 68 0a 23 20 63 6f 70 69 65   it with.# copie
ad30: 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20  s of all of the 
ad40: 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e  C source code an
ad50: 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 6e  d header files n
ad60: 65 65 64 65 64 20 74 6f 0a 23 20 62 75 69 6c 64  eeded to.# build
ad70: 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 73   on the target s
ad80: 79 73 74 65 6d 2e 20 20 53 6f 6d 65 20 6f 66 20  ystem.  Some of 
ad90: 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64  the C source cod
ada0: 65 20 61 6e 64 20 68 65 61 64 65 72 0a 23 20 66  e and header.# f
adb0: 69 6c 65 73 20 61 72 65 20 61 75 74 6f 6d 61 74  iles are automat
adc0: 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64  ically generated
add0: 2e 20 20 54 68 69 73 20 74 61 72 67 65 74 20 74  .  This target t
ade0: 61 6b 65 73 20 63 61 72 65 20 6f 66 0a 23 20 61  akes care of.# a
adf0: 6c 6c 20 74 68 61 74 20 61 75 74 6f 6d 61 74 69  ll that automati
ae00: 63 20 67 65 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a  c generation..#.
ae10: 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 3a 09  .target_source:.
ae20: 24 28 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f  $(SRC) $(TOP)\to
ae30: 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73  ol\vdbe-compress
ae40: 2e 74 63 6c 20 66 74 73 35 2e 63 20 24 28 53 51  .tcl fts5.c $(SQ
ae50: 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 2d  LITE_TCL_DEP)..-
ae60: 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20  rmdir /Q/S tsrc 
ae70: 32 3e 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20 74 73  2>NUL..-mkdir ts
ae80: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
ae90: 28 53 52 43 30 30 29 29 20 64 6f 20 63 6f 70 79  (SRC00)) do copy
aea0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
aeb0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 31 29   %i in ($(SRC01)
aec0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
aed0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
aee0: 28 24 28 53 52 43 30 33 29 29 20 64 6f 20 63 6f  ($(SRC03)) do co
aef0: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
af00: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
af10: 34 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  4)) do copy /Y %
af20: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
af30: 6e 20 28 24 28 53 52 43 30 35 29 29 20 64 6f 20  n ($(SRC05)) do 
af40: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
af50: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
af60: 43 30 36 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C06)) do copy /Y
af70: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
af80: 20 69 6e 20 28 24 28 53 52 43 30 37 29 29 20 64   in ($(SRC07)) d
af90: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
afa0: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
afb0: 53 52 43 30 38 29 29 20 64 6f 20 63 6f 70 79 20  SRC08)) do copy 
afc0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
afd0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 39 29 29  %i in ($(SRC09))
afe0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
aff0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
b000: 24 28 53 52 43 31 30 29 29 20 64 6f 20 63 6f 70  $(SRC10)) do cop
b010: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
b020: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 31  r %i in ($(SRC11
b030: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
b040: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
b050: 20 28 24 28 53 52 43 31 32 29 29 20 64 6f 20 63   ($(SRC12)) do c
b060: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
b070: 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 63 20 74  copy /Y fts5.c t
b080: 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73  src..copy /Y fts
b090: 35 2e 68 20 74 73 72 63 0a 09 64 65 6c 20 2f 51  5.h tsrc..del /Q
b0a0: 20 74 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69   tsrc\sqlite.h.i
b0b0: 6e 20 74 73 72 63 5c 70 61 72 73 65 2e 79 20 32  n tsrc\parse.y 2
b0c0: 3e 4e 55 4c 0a 09 24 28 54 43 4c 53 48 5f 43 4d  >NUL..$(TCLSH_CM
b0d0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76  D) $(TOP)\tool\v
b0e0: 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c  dbe-compress.tcl
b0f0: 20 24 28 4f 50 54 53 29 20 3c 20 74 73 72 63 5c   $(OPTS) < tsrc\
b100: 76 64 62 65 2e 63 20 3e 20 76 64 62 65 2e 6e 65  vdbe.c > vdbe.ne
b110: 77 0a 09 6d 6f 76 65 20 76 64 62 65 2e 6e 65 77  w..move vdbe.new
b120: 20 74 73 72 63 5c 76 64 62 65 2e 63 0a 09 65 63   tsrc\vdbe.c..ec
b130: 68 6f 20 3e 20 2e 74 61 72 67 65 74 5f 73 6f 75  ho > .target_sou
b140: 72 63 65 0a 0a 73 71 6c 69 74 65 33 2e 63 3a 09  rce..sqlite3.c:.
b150: 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20 73  .target_source s
b160: 71 6c 69 74 65 33 65 78 74 2e 68 20 24 28 4d 4b  qlite3ext.h $(MK
b170: 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 29 0a 09  SQLITE3C_TOOL)..
b180: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 4d  $(TCLSH_CMD) $(M
b190: 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 29 20  KSQLITE3C_TOOL) 
b1a0: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  $(MKSQLITE3C_ARG
b1b0: 53 29 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  S)..copy $(TOP)\
b1c0: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
b1d0: 74 65 33 73 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a  te3session.h ...
b1e0: 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 3a 09 73  sqlite3-all.c:.s
b1f0: 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29 5c  qlite3.c $(TOP)\
b200: 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74  tool\split-sqlit
b210: 65 33 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48  e3c.tcl..$(TCLSH
b220: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
b230: 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63  l\split-sqlite3c
b240: 2e 74 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  .tcl.# <</mark>>
b250: 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c  ..# Rule to buil
b260: 64 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69  d the amalgamati
b270: 6f 6e 0a 23 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a  on.#.sqlite3.lo:
b280: 09 24 28 53 51 4c 49 54 45 33 43 29 0a 09 24 28  .$(SQLITE3C)..$(
b290: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b2a0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b2b0: 2d 63 20 24 28 53 51 4c 49 54 45 33 43 29 0a 0a  -c $(SQLITE3C)..
b2c0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c  # <<mark>>.# Rul
b2d0: 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  es to build the 
b2e0: 4c 45 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72 20 67  LEMON compiler g
b2f0: 65 6e 65 72 61 74 6f 72 0a 23 0a 6c 65 6d 70 61  enerator.#.lempa
b300: 72 2e 63 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  r.c:.$(TOP)\tool
b310: 5c 6c 65 6d 70 61 72 2e 63 0a 09 63 6f 70 79 20  \lempar.c..copy 
b320: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70  $(TOP)\tool\lemp
b330: 61 72 2e 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78  ar.c ...lemon.ex
b340: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  e:.$(TOP)\tool\l
b350: 65 6d 6f 6e 2e 63 20 6c 65 6d 70 61 72 2e 63 0a  emon.c lempar.c.
b360: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC) $(NO_WAR
b370: 4e 29 20 2d 44 61 63 63 65 73 73 3d 5f 61 63 63  N) -Daccess=_acc
b380: 65 73 73 20 5c 0a 09 09 2d 46 65 24 40 20 24 28  ess \...-Fe$@ $(
b390: 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e  TOP)\tool\lemon.
b3a0: 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG
b3b0: 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53  S) $(NLTLINKOPTS
b3c0: 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29  ) $(NLTLIBPATHS)
b3d0: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52  ..# <<mark>>.# R
b3e0: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68  ules to build th
b3f0: 65 20 73 6f 75 72 63 65 2d 69 64 20 67 65 6e 65  e source-id gene
b400: 72 61 74 6f 72 20 74 6f 6f 6c 0a 23 0a 6d 6b 73  rator tool.#.mks
b410: 6f 75 72 63 65 69 64 2e 65 78 65 3a 09 24 28 54  ourceid.exe:.$(T
b420: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63  OP)\tool\mksourc
b430: 65 69 64 2e 63 0a 09 24 28 42 43 43 29 20 24 28  eid.c..$(BCC) $(
b440: 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24  NO_WARN) -Fe$@ $
b450: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75  (TOP)\tool\mksou
b460: 72 63 65 69 64 2e 63 20 2f 6c 69 6e 6b 20 24 28  rceid.c /link $(
b470: 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49  LDFLAGS) $(NLTLI
b480: 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42  NKOPTS) $(NLTLIB
b490: 50 41 54 48 53 29 0a 0a 23 20 52 75 6c 65 73 20  PATHS)..# Rules 
b4a0: 74 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64  to build individ
b4b0: 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66  ual *.lo files f
b4c0: 72 6f 6d 20 67 65 6e 65 72 61 74 65 64 20 2a 2e  rom generated *.
b4d0: 63 20 66 69 6c 65 73 2e 20 54 68 69 73 0a 23 20  c files. This.# 
b4e0: 61 70 70 6c 69 65 73 20 74 6f 3a 0a 23 0a 23 20  applies to:.#.# 
b4f0: 20 20 20 20 70 61 72 73 65 2e 6c 6f 0a 23 20 20      parse.lo.#  
b500: 20 20 20 6f 70 63 6f 64 65 73 2e 6c 6f 0a 23 0a     opcodes.lo.#.
b510: 70 61 72 73 65 2e 6c 6f 3a 09 70 61 72 73 65 2e  parse.lo:.parse.
b520: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b530: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b540: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 70  MPILE_OPTS) -c p
b550: 61 72 73 65 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e  arse.c..opcodes.
b560: 6c 6f 3a 09 6f 70 63 6f 64 65 73 2e 63 0a 09 24  lo:.opcodes.c..$
b570: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
b580: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b590: 20 2d 63 20 6f 70 63 6f 64 65 73 2e 63 0a 23 20   -c opcodes.c.# 
b5a0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c  <</mark>>..# Rul
b5b0: 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 57  e to build the W
b5c0: 69 6e 33 32 20 72 65 73 6f 75 72 63 65 73 20 6f  in32 resources o
b5d0: 62 6a 65 63 74 20 66 69 6c 65 2e 0a 23 0a 21 49  bject file..#.!I
b5e0: 46 20 24 28 55 53 45 5f 52 43 29 21 3d 30 0a 23  F $(USE_RC)!=0.#
b5f0: 20 3c 3c 62 6c 6f 63 6b 31 3e 3e 0a 24 28 4c 49   <<block1>>.$(LI
b600: 42 52 45 53 4f 42 4a 53 29 3a 09 24 28 54 4f 50  BRESOBJS):.$(TOP
b610: 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63  )\src\sqlite3.rc
b620: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 65 63   $(SQLITE3H)..ec
b630: 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54  ho #ifndef SQLIT
b640: 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49  E_RESOURCE_VERSI
b650: 4f 4e 20 3e 20 73 71 6c 69 74 65 33 72 63 2e 68  ON > sqlite3rc.h
b660: 0a 09 66 6f 72 20 2f 46 20 25 25 56 20 69 6e 20  ..for /F %%V in 
b670: 28 27 74 79 70 65 20 22 24 28 54 4f 50 29 5c 56  ('type "$(TOP)\V
b680: 45 52 53 49 4f 4e 22 27 29 20 64 6f 20 28 20 5c  ERSION"') do ( \
b690: 0a 09 09 65 63 68 6f 20 23 64 65 66 69 6e 65 20  ...echo #define 
b6a0: 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f  SQLITE_RESOURCE_
b6b0: 56 45 52 53 49 4f 4e 20 25 25 56 20 5c 0a 09 09  VERSION %%V \...
b6c0: 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
b6d0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
b6e0: 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 2e 20  ace.tcl exact . 
b6f0: 5e 2c 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e  ^, >> sqlite3rc.
b700: 68 20 5c 0a 09 29 0a 09 65 63 68 6f 20 23 65 6e  h \..)..echo #en
b710: 64 69 66 20 3e 3e 20 73 71 6c 69 74 65 33 72 63  dif >> sqlite3rc
b720: 2e 68 0a 09 24 28 4c 54 52 43 4f 4d 50 49 4c 45  .h..$(LTRCOMPILE
b730: 29 20 2d 66 6f 20 24 28 4c 49 42 52 45 53 4f 42  ) -fo $(LIBRESOB
b740: 4a 53 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  JS) $(TOP)\src\s
b750: 71 6c 69 74 65 33 2e 72 63 0a 23 20 3c 3c 2f 62  qlite3.rc.# <</b
b760: 6c 6f 63 6b 31 3e 3e 0a 21 45 4e 44 49 46 0a 0a  lock1>>.!ENDIF..
b770: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c  # <<mark>>.# Rul
b780: 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64 69  es to build indi
b790: 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65  vidual *.lo file
b7a0: 73 20 66 72 6f 6d 20 66 69 6c 65 73 20 69 6e 20  s from files in 
b7b0: 74 68 65 20 73 72 63 20 64 69 72 65 63 74 6f 72  the src director
b7c0: 79 2e 0a 23 0a 61 6c 74 65 72 2e 6c 6f 3a 09 24  y..#.alter.lo:.$
b7d0: 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e  (TOP)\src\alter.
b7e0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b7f0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b800: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
b810: 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e  (TOP)\src\alter.
b820: 63 0a 0a 61 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 24  c..analyze.lo:.$
b830: 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a  (TOP)\src\analyz
b840: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
b850: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
b860: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b870: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c   $(TOP)\src\anal
b880: 79 7a 65 2e 63 0a 0a 61 74 74 61 63 68 2e 6c 6f  yze.c..attach.lo
b890: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74  :.$(TOP)\src\att
b8a0: 61 63 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ach.c $(HDR)..$(
b8b0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b8c0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b8d0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74  -c $(TOP)\src\at
b8e0: 74 61 63 68 2e 63 0a 0a 61 75 74 68 2e 6c 6f 3a  tach.c..auth.lo:
b8f0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68  .$(TOP)\src\auth
b900: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b910: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b920: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b930: 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e  $(TOP)\src\auth.
b940: 63 0a 0a 62 61 63 6b 75 70 2e 6c 6f 3a 09 24 28  c..backup.lo:.$(
b950: 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e  TOP)\src\backup.
b960: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b970: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b980: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
b990: 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70  (TOP)\src\backup
b9a0: 2e 63 0a 0a 62 69 74 76 65 63 2e 6c 6f 3a 09 24  .c..bitvec.lo:.$
b9b0: 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63  (TOP)\src\bitvec
b9c0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b9d0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b9e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b9f0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65  $(TOP)\src\bitve
ba00: 63 2e 63 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f 3a  c.c..btmutex.lo:
ba10: 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75  .$(TOP)\src\btmu
ba20: 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tex.c $(HDR)..$(
ba30: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ba40: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
ba50: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74  -c $(TOP)\src\bt
ba60: 6d 75 74 65 78 2e 63 0a 0a 62 74 72 65 65 2e 6c  mutex.c..btree.l
ba70: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 74  o:.$(TOP)\src\bt
ba80: 72 65 65 2e 63 20 24 28 48 44 52 29 20 24 28 54  ree.c $(HDR) $(T
ba90: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a  OP)\src\pager.h.
baa0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
bab0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
bac0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
bad0: 5c 62 74 72 65 65 2e 63 0a 0a 62 75 69 6c 64 2e  \btree.c..build.
bae0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62  lo:.$(TOP)\src\b
baf0: 75 69 6c 64 2e 63 20 24 28 48 44 52 29 0a 09 24  uild.c $(HDR)..$
bb00: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
bb10: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
bb20: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b
bb30: 75 69 6c 64 2e 63 0a 0a 63 61 6c 6c 62 61 63 6b  uild.c..callback
bb40: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
bb50: 63 61 6c 6c 62 61 63 6b 2e 63 20 24 28 48 44 52  callback.c $(HDR
bb60: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
bb70: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
bb80: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
bb90: 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 0a 0a 63  rc\callback.c..c
bba0: 6f 6d 70 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f  omplete.lo:.$(TO
bbb0: 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e  P)\src\complete.
bbc0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
bbd0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
bbe0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
bbf0: 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65  (TOP)\src\comple
bc00: 74 65 2e 63 0a 0a 63 74 69 6d 65 2e 6c 6f 3a 09  te.c..ctime.lo:.
bc10: 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65  $(TOP)\src\ctime
bc20: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
bc30: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
bc40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
bc50: 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65  $(TOP)\src\ctime
bc60: 2e 63 0a 0a 64 61 74 65 2e 6c 6f 3a 09 24 28 54  .c..date.lo:.$(T
bc70: 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 24  OP)\src\date.c $
bc80: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
bc90: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
bca0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
bcb0: 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 0a 0a 64  P)\src\date.c..d
bcc0: 62 70 61 67 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  bpage.lo:.$(TOP)
bcd0: 5c 73 72 63 5c 64 62 70 61 67 65 2e 63 20 24 28  \src\dbpage.c $(
bce0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
bcf0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
bd00: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
bd10: 29 5c 73 72 63 5c 64 62 70 61 67 65 2e 63 0a 0a  )\src\dbpage.c..
bd20: 64 62 73 74 61 74 2e 6c 6f 3a 09 24 28 54 4f 50  dbstat.lo:.$(TOP
bd30: 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 20 24  )\src\dbstat.c $
bd40: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
bd50: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
bd60: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
bd70: 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 0a  P)\src\dbstat.c.
bd80: 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f  .delete.lo:.$(TO
bd90: 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 20  P)\src\delete.c 
bda0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
bdb0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
bdc0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
bdd0: 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63  OP)\src\delete.c
bde0: 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50  ..expr.lo:.$(TOP
bdf0: 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 24 28 48  )\src\expr.c $(H
be00: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
be10: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
be20: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
be30: 5c 73 72 63 5c 65 78 70 72 2e 63 0a 0a 66 61 75  \src\expr.c..fau
be40: 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  lt.lo:.$(TOP)\sr
be50: 63 5c 66 61 75 6c 74 2e 63 20 24 28 48 44 52 29  c\fault.c $(HDR)
be60: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
be70: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
be80: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
be90: 63 5c 66 61 75 6c 74 2e 63 0a 0a 66 6b 65 79 2e  c\fault.c..fkey.
bea0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66  lo:.$(TOP)\src\f
beb0: 6b 65 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28  key.c $(HDR)..$(
bec0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
bed0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
bee0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b  -c $(TOP)\src\fk
bef0: 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24  ey.c..func.lo:.$
bf00: 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63  (TOP)\src\func.c
bf10: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
bf20: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
bf30: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
bf40: 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 0a  TOP)\src\func.c.
bf50: 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f  .global.lo:.$(TO
bf60: 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20  P)\src\global.c 
bf70: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
bf80: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
bf90: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
bfa0: 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63  OP)\src\global.c
bfb0: 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50  ..hash.lo:.$(TOP
bfc0: 29 5c 73 72 63 5c 68 61 73 68 2e 63 20 24 28 48  )\src\hash.c $(H
bfd0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
bfe0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
bff0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c000: 5c 73 72 63 5c 68 61 73 68 2e 63 0a 0a 69 6e 73  \src\hash.c..ins
c010: 65 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ert.lo:.$(TOP)\s
c020: 72 63 5c 69 6e 73 65 72 74 2e 63 20 24 28 48 44  rc\insert.c $(HD
c030: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c040: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c050: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c060: 73 72 63 5c 69 6e 73 65 72 74 2e 63 0a 0a 6c 65  src\insert.c..le
c070: 67 61 63 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  gacy.lo:.$(TOP)\
c080: 73 72 63 5c 6c 65 67 61 63 79 2e 63 20 24 28 48  src\legacy.c $(H
c090: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c0a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c0b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c0c0: 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c  \src\legacy.c..l
c0d0: 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50  oadext.lo:.$(TOP
c0e0: 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20  )\src\loadext.c 
c0f0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c100: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c110: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c120: 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e  OP)\src\loadext.
c130: 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f  c..main.lo:.$(TO
c140: 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 24 28  P)\src\main.c $(
c150: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c160: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c170: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c180: 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61  )\src\main.c..ma
c190: 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lloc.lo:.$(TOP)\
c1a0: 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 24 28 48  src\malloc.c $(H
c1b0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c1c0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c1d0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c1e0: 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d  \src\malloc.c..m
c1f0: 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  em0.lo:.$(TOP)\s
c200: 72 63 5c 6d 65 6d 30 2e 63 20 24 28 48 44 52 29  rc\mem0.c $(HDR)
c210: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c220: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c230: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c240: 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c  c\mem0.c..mem1.l
c250: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me
c260: 6d 31 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  m1.c $(HDR)..$(L
c270: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c280: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c290: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem
c2a0: 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28  1.c..mem2.lo:.$(
c2b0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20  TOP)\src\mem2.c 
c2c0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c2d0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c2e0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c2f0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a  OP)\src\mem2.c..
c300: 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  mem3.lo:.$(TOP)\
c310: 73 72 63 5c 6d 65 6d 33 2e 63 20 24 28 48 44 52  src\mem3.c $(HDR
c320: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c330: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c340: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c350: 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e  rc\mem3.c..mem5.
c360: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
c370: 65 6d 35 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em5.c $(HDR)..$(
c380: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c390: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c3a0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  -c $(TOP)\src\me
c3b0: 6d 35 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c  m5.c..memjournal
c3c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c3d0: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 48  memjournal.c $(H
c3e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c3f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c400: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c410: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  \src\memjournal.
c420: 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54  c..mutex.lo:.$(T
c430: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20  OP)\src\mutex.c 
c440: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c450: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c460: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c470: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 0a  OP)\src\mutex.c.
c480: 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09  .mutex_noop.lo:.
c490: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
c4a0: 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52 29 0a 09  _noop.c $(HDR)..
c4b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c4c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c4d0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c4e0: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75  mutex_noop.c..mu
c4f0: 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54  tex_unix.lo:.$(T
c500: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e  OP)\src\mutex_un
c510: 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ix.c $(HDR)..$(L
c520: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c530: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c540: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  c $(TOP)\src\mut
c550: 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74 65 78  ex_unix.c..mutex
c560: 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  _w32.lo:.$(TOP)\
c570: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20  src\mutex_w32.c 
c580: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c590: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c5a0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c5b0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33  OP)\src\mutex_w3
c5c0: 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09  2.c..notify.lo:.
c5d0: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66  $(TOP)\src\notif
c5e0: 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  y.c $(HDR)..$(LT
c5f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c600: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c610: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69   $(TOP)\src\noti
c620: 66 79 2e 63 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09  fy.c..pager.lo:.
c630: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager
c640: 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29  .c $(HDR) $(TOP)
c650: 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28  \src\pager.h..$(
c660: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c670: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c680: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  -c $(TOP)\src\pa
c690: 67 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e 6c 6f  ger.c..pcache.lo
c6a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61  :.$(TOP)\src\pca
c6b0: 63 68 65 2e 63 20 24 28 48 44 52 29 20 24 28 54  che.c $(HDR) $(T
c6c0: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68  OP)\src\pcache.h
c6d0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c6e0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c6f0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c700: 63 5c 70 63 61 63 68 65 2e 63 0a 0a 70 63 61 63  c\pcache.c..pcac
c710: 68 65 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  he1.lo:.$(TOP)\s
c720: 72 63 5c 70 63 61 63 68 65 31 2e 63 20 24 28 48  rc\pcache1.c $(H
c730: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  DR) $(TOP)\src\p
c740: 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d  cache.h..$(LTCOM
c750: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c760: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c770: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31  TOP)\src\pcache1
c780: 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50  .c..os.lo:.$(TOP
c790: 29 5c 73 72 63 5c 6f 73 2e 63 20 24 28 48 44 52  )\src\os.c $(HDR
c7a0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c7b0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c7c0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c7d0: 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78  rc\os.c..os_unix
c7e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c7f0: 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29  os_unix.c $(HDR)
c800: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c810: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c820: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c830: 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f  c\os_unix.c..os_
c840: 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  win.lo:.$(TOP)\s
c850: 72 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 28 48 44  rc\os_win.c $(HD
c860: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c870: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c880: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c890: 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72  src\os_win.c..pr
c8a0: 61 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  agma.lo:.$(TOP)\
c8b0: 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 24 28 48  src\pragma.c $(H
c8c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c8d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c8e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c8f0: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 0a 0a 70  \src\pragma.c..p
c900: 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28 54 4f 50  repare.lo:.$(TOP
c910: 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20  )\src\prepare.c 
c920: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c930: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c940: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c950: 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e  OP)\src\prepare.
c960: 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28  c..printf.lo:.$(
c970: 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e  TOP)\src\printf.
c980: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c990: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c9a0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c9b0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66  (TOP)\src\printf
c9c0: 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24  .c..random.lo:.$
c9d0: 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d  (TOP)\src\random
c9e0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c9f0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
ca00: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
ca10: 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f  $(TOP)\src\rando
ca20: 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a  m.c..resolve.lo:
ca30: 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f  .$(TOP)\src\reso
ca40: 6c 76 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  lve.c $(HDR)..$(
ca50: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ca60: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
ca70: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  -c $(TOP)\src\re
ca80: 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73 65 74 2e  solve.c..rowset.
ca90: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72  lo:.$(TOP)\src\r
caa0: 6f 77 73 65 74 2e 63 20 24 28 48 44 52 29 0a 09  owset.c $(HDR)..
cab0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
cac0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
cad0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
cae0: 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c 65 63 74  rowset.c..select
caf0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cb00: 73 65 6c 65 63 74 2e 63 20 24 28 48 44 52 29 0a  select.c $(HDR).
cb10: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cb20: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cb30: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cb40: 5c 73 65 6c 65 63 74 2e 63 0a 0a 73 74 61 74 75  \select.c..statu
cb50: 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  s.lo:.$(TOP)\src
cb60: 5c 73 74 61 74 75 73 2e 63 20 24 28 48 44 52 29  \status.c $(HDR)
cb70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cb80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cb90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cba0: 63 5c 73 74 61 74 75 73 2e 63 0a 0a 74 61 62 6c  c\status.c..tabl
cbb0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
cbc0: 5c 74 61 62 6c 65 2e 63 20 24 28 48 44 52 29 0a  \table.c $(HDR).
cbd0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cbe0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cbf0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cc00: 5c 74 61 62 6c 65 2e 63 0a 0a 74 68 72 65 61 64  \table.c..thread
cc10: 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  s.lo:.$(TOP)\src
cc20: 5c 74 68 72 65 61 64 73 2e 63 20 24 28 48 44 52  \threads.c $(HDR
cc30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cc40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cc50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cc60: 72 63 5c 74 68 72 65 61 64 73 2e 63 0a 0a 74 6f  rc\threads.c..to
cc70: 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50  kenize.lo:.$(TOP
cc80: 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63  )\src\tokenize.c
cc90: 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 24   keywordhash.h $
cca0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
ccb0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ccc0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
ccd0: 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e  P)\src\tokenize.
cce0: 63 0a 0a 74 72 65 65 76 69 65 77 2e 6c 6f 3a 09  c..treeview.lo:.
ccf0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76  $(TOP)\src\treev
cd00: 69 65 77 2e 63 20 24 28 48 44 52 29 0a 09 24 28  iew.c $(HDR)..$(
cd10: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cd20: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cd30: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  -c $(TOP)\src\tr
cd40: 65 65 76 69 65 77 2e 63 0a 0a 74 72 69 67 67 65  eeview.c..trigge
cd50: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src
cd60: 5c 74 72 69 67 67 65 72 2e 63 20 24 28 48 44 52  \trigger.c $(HDR
cd70: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cd80: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cd90: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cda0: 72 63 5c 74 72 69 67 67 65 72 2e 63 0a 0a 75 70  rc\trigger.c..up
cdb0: 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  date.lo:.$(TOP)\
cdc0: 73 72 63 5c 75 70 64 61 74 65 2e 63 20 24 28 48  src\update.c $(H
cdd0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cde0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cdf0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
ce00: 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 0a 0a 75  \src\update.c..u
ce10: 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  tf.lo:.$(TOP)\sr
ce20: 63 5c 75 74 66 2e 63 20 24 28 48 44 52 29 0a 09  c\utf.c $(HDR)..
ce30: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
ce40: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ce50: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
ce60: 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09  utf.c..util.lo:.
ce70: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e  $(TOP)\src\util.
ce80: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ce90: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cea0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
ceb0: 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63  (TOP)\src\util.c
cec0: 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09 24 28 54  ..vacuum.lo:.$(T
ced0: 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63  OP)\src\vacuum.c
cee0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cef0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cf00: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
cf10: 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e  TOP)\src\vacuum.
cf20: 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f  c..vdbe.lo:.$(TO
cf30: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28  P)\src\vdbe.c $(
cf40: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
cf50: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
cf60: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
cf70: 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64  )\src\vdbe.c..vd
cf80: 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29  beapi.lo:.$(TOP)
cf90: 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63 20 24  \src\vdbeapi.c $
cfa0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
cfb0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
cfc0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
cfd0: 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63  P)\src\vdbeapi.c
cfe0: 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28  ..vdbeaux.lo:.$(
cff0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
d000: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d010: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d020: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d030: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
d040: 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c  ux.c..vdbeblob.l
d050: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd
d060: 62 65 62 6c 6f 62 2e 63 20 24 28 48 44 52 29 0a  beblob.c $(HDR).
d070: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d080: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d090: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d0a0: 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62  \vdbeblob.c..vdb
d0b0: 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  emem.lo:.$(TOP)\
d0c0: 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28  src\vdbemem.c $(
d0d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d0e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d0f0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
d100: 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 0a  )\src\vdbemem.c.
d110: 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a 09 24 28  .vdbesort.lo:.$(
d120: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72  TOP)\src\vdbesor
d130: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
d140: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d150: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d160: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
d170: 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74 72 61 63  sort.c..vdbetrac
d180: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
d190: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 24 28 48  \vdbetrace.c $(H
d1a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d1b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d1c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d1d0: 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63  \src\vdbetrace.c
d1e0: 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50  ..vtab.lo:.$(TOP
d1f0: 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 24 28 48  )\src\vtab.c $(H
d200: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d210: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d220: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
d230: 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a 77 61 6c  \src\vtab.c..wal
d240: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
d250: 77 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28  wal.c $(HDR)..$(
d260: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d270: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d280: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  -c $(TOP)\src\wa
d290: 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09  l.c..walker.lo:.
d2a0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65  $(TOP)\src\walke
d2b0: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  r.c $(HDR)..$(LT
d2c0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d2d0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d2e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b   $(TOP)\src\walk
d2f0: 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09  er.c..where.lo:.
d300: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
d310: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d320: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d330: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d340: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
d350: 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65 2e 6c 6f  .c..wherecode.lo
d360: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  :.$(TOP)\src\whe
d370: 72 65 63 6f 64 65 2e 63 20 24 28 48 44 52 29 0a  recode.c $(HDR).
d380: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d390: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d3a0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d3b0: 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a 0a 77 68  \wherecode.c..wh
d3c0: 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f  ereexpr.lo:.$(TO
d3d0: 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72  P)\src\whereexpr
d3e0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d3f0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d400: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
d410: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
d420: 65 78 70 72 2e 63 0a 0a 74 63 6c 73 71 6c 69 74  expr.c..tclsqlit
d430: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
d440: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48  \tclsqlite.c $(H
d450: 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c  DR) $(SQLITE_TCL
d460: 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49  _DEP)..$(LTCOMPI
d470: 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  LE) $(NO_WARN) -
d480: 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31  DUSE_TCL_STUBS=1
d490: 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite 
d4a0: 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d  -I$(TCLINCDIR) -
d4b0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  c $(TOP)\src\tcl
d4c0: 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c  sqlite.c..tclsql
d4d0: 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28  ite-shell.lo:.$(
d4e0: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
d4f0: 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 53 51  te.c $(HDR) $(SQ
d500: 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24  LITE_TCL_DEP)..$
d510: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f  (LTCOMPILE) $(NO
d520: 5f 57 41 52 4e 29 20 2d 44 54 43 4c 53 48 20 2d  _WARN) -DTCLSH -
d530: 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49  DBUILD_sqlite -I
d540: 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20  $(TCLINCDIR) -c 
d550: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
d560: 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74  lite.c..tclsqlit
d570: 65 33 2e 65 78 65 3a 09 74 63 6c 73 71 6c 69 74  e3.exe:.tclsqlit
d580: 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 53 51 4c  e-shell.lo $(SQL
d590: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
d5a0: 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  H) $(LIBRESOBJS)
d5b0: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 51  ..$(LTLINK) $(SQ
d5c0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
d5d0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
d5e0: 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA
d5f0: 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c  THS) /OUT:$@ tcl
d600: 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20  sqlite-shell.lo 
d610: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
d620: 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29  LTLIBS) $(TLIBS)
d630: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
d640: 6c 64 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e 64  ld opcodes.c and
d650: 20 6f 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 63   opcodes.h.#.opc
d660: 6f 64 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73 2e  odes.c:.opcodes.
d670: 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  h $(TOP)\tool\mk
d680: 6f 70 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28 54  opcodec.tcl..$(T
d690: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
d6a0: 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e  \tool\mkopcodec.
d6b0: 74 63 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e 20  tcl opcodes.h > 
d6c0: 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f 64  opcodes.c..opcod
d6d0: 65 73 2e 68 3a 09 70 61 72 73 65 2e 68 20 24 28  es.h:.parse.h $(
d6e0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20  TOP)\src\vdbe.c 
d6f0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70  $(TOP)\tool\mkop
d700: 63 6f 64 65 68 2e 74 63 6c 0a 09 74 79 70 65 20  codeh.tcl..type 
d710: 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29 5c 73  parse.h $(TOP)\s
d720: 72 63 5c 76 64 62 65 2e 63 20 7c 20 24 28 54 43  rc\vdbe.c | $(TC
d730: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
d740: 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74  tool\mkopcodeh.t
d750: 63 6c 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a 0a  cl > opcodes.h..
d760: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
d770: 20 70 61 72 73 65 2e 63 20 61 6e 64 20 70 61 72   parse.c and par
d780: 73 65 2e 68 20 2d 20 74 68 65 20 6f 75 74 70 75  se.h - the outpu
d790: 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a 70  ts of lemon..#.p
d7a0: 61 72 73 65 2e 68 3a 09 70 61 72 73 65 2e 63 0a  arse.h:.parse.c.
d7b0: 0a 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29  .parse.c:.$(TOP)
d7c0: 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 6c 65 6d  \src\parse.y lem
d7d0: 6f 6e 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 6f  on.exe $(TOP)\to
d7e0: 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 63  ol\addopcodes.tc
d7f0: 6c 0a 09 64 65 6c 20 2f 51 20 70 61 72 73 65 2e  l..del /Q parse.
d800: 79 20 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e  y parse.h parse.
d810: 68 2e 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f  h.temp 2>NUL..co
d820: 70 79 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  py $(TOP)\src\pa
d830: 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e  rse.y ....\lemon
d840: 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41 54 55  .exe $(REQ_FEATU
d850: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f  RE_FLAGS) $(OPT_
d860: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
d870: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
d880: 47 53 29 20 24 28 4f 50 54 53 29 20 70 61 72 73  GS) $(OPTS) pars
d890: 65 2e 79 0a 09 6d 6f 76 65 20 70 61 72 73 65 2e  e.y..move parse.
d8a0: 68 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 0a 09  h parse.h.temp..
d8b0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
d8c0: 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f  OP)\tool\addopco
d8d0: 64 65 73 2e 74 63 6c 20 70 61 72 73 65 2e 68 2e  des.tcl parse.h.
d8e0: 74 65 6d 70 20 3e 20 70 61 72 73 65 2e 68 0a 0a  temp > parse.h..
d8f0: 24 28 53 51 4c 49 54 45 33 48 29 3a 09 24 28 54  $(SQLITE3H):.$(T
d900: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68  OP)\src\sqlite.h
d910: 2e 69 6e 20 24 28 54 4f 50 29 5c 6d 61 6e 69 66  .in $(TOP)\manif
d920: 65 73 74 20 6d 6b 73 6f 75 72 63 65 69 64 2e 65  est mksourceid.e
d930: 78 65 20 24 28 54 4f 50 29 5c 56 45 52 53 49 4f  xe $(TOP)\VERSIO
d940: 4e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  N..$(TCLSH_CMD) 
d950: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71  $(TOP)\tool\mksq
d960: 6c 69 74 65 33 68 2e 74 63 6c 20 24 28 54 4f 50  lite3h.tcl $(TOP
d970: 3a 5c 3d 2f 29 20 3e 20 24 28 53 51 4c 49 54 45  :\=/) > $(SQLITE
d980: 33 48 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 48  3H) $(MKSQLITE3H
d990: 5f 41 52 47 53 29 0a 0a 73 71 6c 69 74 65 33 65  _ARGS)..sqlite3e
d9a0: 78 74 2e 68 3a 09 2e 74 61 72 67 65 74 5f 73 6f  xt.h:..target_so
d9b0: 75 72 63 65 0a 21 49 46 20 24 28 55 53 45 5f 53  urce.!IF $(USE_S
d9c0: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $(
d9d0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 09 74  FOR_WIN10)!=0..t
d9e0: 79 70 65 20 74 73 72 63 5c 73 71 6c 69 74 65 33  ype tsrc\sqlite3
d9f0: 65 78 74 2e 68 20 7c 20 24 28 54 43 4c 53 48 5f  ext.h | $(TCLSH_
da00: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
da10: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67  \replace.tcl reg
da20: 73 75 62 20 22 5c 28 5c 2a 5c 29 22 20 22 28 53  sub "\(\*\)" "(S
da30: 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 20 2a  QLITE_CALLBACK *
da40: 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  )" \...| $(TCLSH
da50: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
da60: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
da70: 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51  gsub "\(\*" "(SQ
da80: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 20 2a 22 20  LITE_APICALL *" 
da90: 3e 20 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 09  > sqlite3ext.h..
daa0: 63 6f 70 79 20 2f 59 20 73 71 6c 69 74 65 33 65  copy /Y sqlite3e
dab0: 78 74 2e 68 20 74 73 72 63 5c 73 71 6c 69 74 65  xt.h tsrc\sqlite
dac0: 33 65 78 74 2e 68 0a 21 45 4c 53 45 0a 09 63 6f  3ext.h.!ELSE..co
dad0: 70 79 20 2f 59 20 74 73 72 63 5c 73 71 6c 69 74  py /Y tsrc\sqlit
dae0: 65 33 65 78 74 2e 68 20 73 71 6c 69 74 65 33 65  e3ext.h sqlite3e
daf0: 78 74 2e 68 0a 21 45 4e 44 49 46 0a 0a 6d 6b 6b  xt.h.!ENDIF..mkk
db00: 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 3a 09  eywordhash.exe:.
db10: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65  $(TOP)\tool\mkke
db20: 79 77 6f 72 64 68 61 73 68 2e 63 0a 09 24 28 42  ywordhash.c..$(B
db30: 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  CC) $(NO_WARN) -
db40: 46 65 24 40 20 24 28 52 45 51 5f 46 45 41 54 55  Fe$@ $(REQ_FEATU
db50: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f  RE_FLAGS) $(OPT_
db60: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
db70: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
db80: 47 53 29 20 24 28 4f 50 54 53 29 20 5c 0a 09 09  GS) $(OPTS) \...
db90: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65  $(TOP)\tool\mkke
dba0: 79 77 6f 72 64 68 61 73 68 2e 63 20 2f 6c 69 6e  ywordhash.c /lin
dbb0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e  k $(LDFLAGS) $(N
dbc0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c  LTLINKOPTS) $(NL
dbd0: 54 4c 49 42 50 41 54 48 53 29 0a 0a 6b 65 79 77  TLIBPATHS)..keyw
dbe0: 6f 72 64 68 61 73 68 2e 68 3a 09 24 28 54 4f 50  ordhash.h:.$(TOP
dbf0: 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64  )\tool\mkkeyword
dc00: 68 61 73 68 2e 63 20 6d 6b 6b 65 79 77 6f 72 64  hash.c mkkeyword
dc10: 68 61 73 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65  hash.exe...\mkke
dc20: 79 77 6f 72 64 68 61 73 68 2e 65 78 65 20 3e 20  ywordhash.exe > 
dc30: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 0a 0a 23  keywordhash.h..#
dc40: 20 53 6f 75 72 63 65 20 66 69 6c 65 73 20 74 68   Source files th
dc50: 61 74 20 67 6f 20 69 6e 74 6f 20 6d 61 6b 69 6e  at go into makin
dc60: 67 20 73 68 65 6c 6c 2e 63 0a 53 48 45 4c 4c 5f  g shell.c.SHELL_
dc70: 53 52 43 20 3d 20 5c 0a 09 24 28 54 4f 50 29 5c  SRC = \..$(TOP)\
dc80: 73 72 63 5c 73 68 65 6c 6c 2e 63 2e 69 6e 20 5c  src\shell.c.in \
dc90: 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ..$(TOP)\ext\mis
dca0: 63 5c 73 68 61 74 68 72 65 65 2e 63 20 5c 0a 09  c\shathree.c \..
dcb0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
dcc0: 66 69 6c 65 69 6f 2e 63 20 5c 0a 09 24 28 54 4f  fileio.c \..$(TO
dcd0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6f 6d 70  P)\ext\misc\comp
dce0: 6c 65 74 69 6f 6e 2e 63 0a 0a 73 68 65 6c 6c 2e  letion.c..shell.
dcf0: 63 3a 09 24 28 53 48 45 4c 4c 5f 53 52 43 29 20  c:.$(SHELL_SRC) 
dd00: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68  $(TOP)\tool\mksh
dd10: 65 6c 6c 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53  ellc.tcl..$(TCLS
dd20: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
dd30: 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 20  ol\mkshellc.tcl 
dd40: 3e 20 73 68 65 6c 6c 2e 63 0a 0a 0a 23 20 52 75  > shell.c...# Ru
dd50: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65  les to build the
dd60: 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63   extension objec
dd70: 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 28  ts..#.icu.lo:.$(
dd80: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75  TOP)\ext\icu\icu
dd90: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
dda0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ddb0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ddc0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
ddd0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
dde0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63  -c $(TOP)\ext\ic
ddf0: 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f  u\icu.c..fts2.lo
de00: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
de10: 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52 29 20  2\fts2.c $(HDR) 
de20: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
de30: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
de40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
de50: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
de60: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
de70: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 0a  ext\fts2\fts2.c.
de80: 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 24  .fts2_hash.lo:.$
de90: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
dea0: 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48 44 52  ts2_hash.c $(HDR
deb0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
dec0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ded0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
dee0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
def0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
df00: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
df10: 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69 63 75  hash.c..fts2_icu
df20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
df30: 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 20  fts2\fts2_icu.c 
df40: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
df50: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
df60: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
df70: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
df80: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
df90: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
dfa0: 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74 73 32  fts2_icu.c..fts2
dfb0: 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f  _porter.lo:.$(TO
dfc0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
dfd0: 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29  _porter.c $(HDR)
dfe0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
dff0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e000: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
e010: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
e020: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
e030: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70  \ext\fts2\fts2_p
e040: 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f  orter.c..fts2_to
e050: 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f  kenizer.lo:.$(TO
e060: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
e070: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48  _tokenizer.c $(H
e080: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
e090: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e0a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e0b0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
e0c0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
e0d0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
e0e0: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66  2_tokenizer.c..f
e0f0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c  ts2_tokenizer1.l
e100: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
e110: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  s2\fts2_tokenize
e120: 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  r1.c $(HDR) $(EX
e130: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
e140: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e150: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
e160: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
e170: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
e180: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
e190: 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a  zer1.c..fts3.lo:
e1a0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
e1b0: 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29 20 24  \fts3.c $(HDR) $
e1c0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
e1d0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e1e0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
e1f0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
e200: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
e210: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 0a 0a  xt\fts3\fts3.c..
e220: 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 54  fts3_aux.lo:.$(T
e230: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
e240: 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29 20 24  3_aux.c $(HDR) $
e250: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
e260: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e270: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
e280: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
e290: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
e2a0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78  xt\fts3\fts3_aux
e2b0: 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e 6c 6f  .c..fts3_expr.lo
e2c0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
e2d0: 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 24 28  3\fts3_expr.c $(
e2e0: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
e2f0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
e300: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e310: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
e320: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
e330: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
e340: 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73 33 5f  s3_expr.c..fts3_
e350: 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  hash.lo:.$(TOP)\
e360: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
e370: 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  sh.c $(HDR) $(EX
e380: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
e390: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e3a0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
e3b0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
e3c0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
e3d0: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63  fts3\fts3_hash.c
e3e0: 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a 09 24  ..fts3_icu.lo:.$
e3f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
e400: 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44 52 29  ts3_icu.c $(HDR)
e410: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
e420: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e430: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
e440: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
e450: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
e460: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69  \ext\fts3\fts3_i
e470: 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69 70 70  cu.c..fts3_snipp
e480: 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  et.lo:.$(TOP)\ex
e490: 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70  t\fts3\fts3_snip
e4a0: 70 65 74 2e 63 20 24 28 48 44 52 29 20 24 28 45  pet.c $(HDR) $(E
e4b0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
e4c0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e4d0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
e4e0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
e4f0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
e500: 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70  \fts3\fts3_snipp
e510: 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 74 65  et.c..fts3_porte
e520: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  r.lo:.$(TOP)\ext
e530: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
e540: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR) $(EXT
e550: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e560: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
e570: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
e580: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
e590: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
e5a0: 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e  ts3\fts3_porter.
e5b0: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  c..fts3_tokenize
e5c0: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  r.lo:.$(TOP)\ext
e5d0: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
e5e0: 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  izer.c $(HDR) $(
e5f0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
e600: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e610: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
e620: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
e630: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
e640: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
e650: 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f  nizer.c..fts3_to
e660: 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54  kenizer1.lo:.$(T
e670: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
e680: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24  3_tokenizer1.c $
e690: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
e6a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e6b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e6c0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
e6d0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
e6e0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
e6f0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts3_tokenizer1.c
e700: 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f  ..fts3_tokenize_
e710: 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  vtab.lo:.$(TOP)\
e720: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
e730: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 24 28  kenize_vtab.c $(
e740: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
e750: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
e760: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e770: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
e780: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
e790: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
e7a0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
e7b0: 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65  .c..fts3_unicode
e7c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
e7d0: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64  fts3\fts3_unicod
e7e0: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  e.c $(HDR) $(EXT
e7f0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e800: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
e810: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
e820: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
e830: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
e840: 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65  ts3\fts3_unicode
e850: 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65  .c..fts3_unicode
e860: 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  2.lo:.$(TOP)\ext
e870: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
e880: 64 65 32 2e 63 20 24 28 48 44 52 29 20 24 28 45  de2.c $(HDR) $(E
e890: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
e8a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e8b0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
e8c0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
e8d0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
e8e0: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
e8f0: 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72 69 74  de2.c..fts3_writ
e900: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  e.lo:.$(TOP)\ext
e910: 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65  \fts3\fts3_write
e920: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
e930: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e940: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e950: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
e960: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
e970: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
e980: 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 0a  s3\fts3_write.c.
e990: 0a 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50  .rtree.lo:.$(TOP
e9a0: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65  )\ext\rtree\rtre
e9b0: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  e.c $(HDR) $(EXT
e9c0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e9d0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
e9e0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
e9f0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
ea00: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72   -c $(TOP)\ext\r
ea10: 74 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71  tree\rtree.c..sq
ea20: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a  lite3session.lo:
ea30: 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73  .$(TOP)\ext\sess
ea40: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
ea50: 6f 6e 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  on.c $(HDR) $(EX
ea60: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
ea70: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ea80: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
ea90: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
eaa0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
eab0: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
eac0: 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35  ession.c..# FTS5
ead0: 20 74 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53   things.#.FTS5_S
eae0: 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29  RC = \.   $(TOP)
eaf0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68  \ext\fts5\fts5.h
eb00: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
eb10: 5c 66 74 73 35 5c 66 74 73 35 49 6e 74 2e 68 20  \fts5\fts5Int.h 
eb20: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
eb30: 66 74 73 35 5c 66 74 73 35 5f 61 75 78 2e 63 20  fts5\fts5_aux.c 
eb40: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
eb50: 66 74 73 35 5c 66 74 73 35 5f 62 75 66 66 65 72  fts5\fts5_buffer
eb60: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
eb70: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 6d 61 69  xt\fts5\fts5_mai
eb80: 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  n.c \.   $(TOP)\
eb90: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f  ext\fts5\fts5_co
eba0: 6e 66 69 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f  nfig.c \.   $(TO
ebb0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
ebc0: 5f 65 78 70 72 2e 63 20 5c 0a 20 20 20 24 28 54  _expr.c \.   $(T
ebd0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
ebe0: 35 5f 68 61 73 68 2e 63 20 5c 0a 20 20 20 24 28  5_hash.c \.   $(
ebf0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
ec00: 73 35 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20  s5_index.c \.   
ec10: 66 74 73 35 70 61 72 73 65 2e 63 20 66 74 73 35  fts5parse.c fts5
ec20: 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54  parse.h \.   $(T
ec30: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
ec40: 35 5f 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20  5_storage.c \.  
ec50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
ec60: 5c 66 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63  \fts5_tokenize.c
ec70: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
ec80: 5c 66 74 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f  \fts5\fts5_unico
ec90: 64 65 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  de2.c \.   $(TOP
eca0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
ecb0: 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28  varint.c \.   $(
ecc0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
ecd0: 73 35 5f 76 6f 63 61 62 2e 63 0a 0a 66 74 73 35  s5_vocab.c..fts5
ece0: 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c  parse.c:.$(TOP)\
ecf0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72  ext\fts5\fts5par
ed00: 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09  se.y lemon.exe..
ed10: 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c  copy $(TOP)\ext\
ed20: 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79  fts5\fts5parse.y
ed30: 20 2e 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 70   ...del /Q fts5p
ed40: 61 72 73 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c  arse.h 2>NUL...\
ed50: 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f  lemon.exe $(REQ_
ed60: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
ed70: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
ed80: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52  GS) $(EXT_FEATUR
ed90: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29  E_FLAGS) $(OPTS)
eda0: 20 66 74 73 35 70 61 72 73 65 2e 79 0a 0a 66 74   fts5parse.y..ft
edb0: 73 35 70 61 72 73 65 2e 68 3a 09 66 74 73 35 70  s5parse.h:.fts5p
edc0: 61 72 73 65 2e 63 0a 0a 66 74 73 35 2e 63 3a 09  arse.c..fts5.c:.
edd0: 24 28 46 54 53 35 5f 53 52 43 29 0a 09 24 28 54  $(FTS5_SRC)..$(T
ede0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
edf0: 5c 65 78 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d  \ext\fts5\tool\m
ee00: 6b 66 74 73 35 63 2e 74 63 6c 0a 09 63 6f 70 79  kfts5c.tcl..copy
ee10: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
ee20: 5c 66 74 73 35 2e 68 20 2e 0a 0a 66 74 73 35 2e  \fts5.h ...fts5.
ee30: 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52  lo:.fts5.c $(HDR
ee40: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
ee50: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ee60: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
ee70: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
ee80: 54 45 5f 43 4f 52 45 20 2d 63 20 66 74 73 35 2e  TE_CORE -c fts5.
ee90: 63 0a 0a 66 74 73 35 5f 65 78 74 2e 6c 6f 3a 09  c..fts5_ext.lo:.
eea0: 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24 28  fts5.c $(HDR) $(
eeb0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
eec0: 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN)
eed0: 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35   -c fts5.c..fts5
eee0: 2e 64 6c 6c 3a 09 66 74 73 35 5f 65 78 74 2e 6c  .dll:.fts5_ext.l
eef0: 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41  o..$(LD) $(LDFLA
ef00: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
ef10: 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
ef20: 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 66 74 73  /DLL /OUT:$@ fts
ef30: 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65  5_ext.lo..sqlite
ef40: 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  3rbu.lo:.$(TOP)\
ef50: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
ef60: 62 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  bu.c $(HDR) $(EX
ef70: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
ef80: 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  LE) -DSQLITE_COR
ef90: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
efa0: 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
efb0: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
efc0: 6c 64 20 74 68 65 20 27 74 65 73 74 66 69 78 74  ld the 'testfixt
efd0: 75 72 65 27 20 61 70 70 6c 69 63 61 74 69 6f 6e  ure' application
efe0: 2e 0a 23 0a 23 20 49 66 20 75 73 69 6e 67 20 74  ..#.# If using t
eff0: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c  he amalgamation,
f000: 20 75 73 65 20 73 71 6c 69 74 65 33 2e 63 20 64   use sqlite3.c d
f010: 69 72 65 63 74 6c 79 20 74 6f 20 62 75 69 6c 64  irectly to build
f020: 20 74 68 65 20 74 65 73 74 0a 23 20 66 69 78 74   the test.# fixt
f030: 75 72 65 2e 20 20 4f 74 68 65 72 77 69 73 65 20  ure.  Otherwise 
f040: 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 6c 69 62  link against lib
f050: 73 71 6c 69 74 65 33 2e 6c 69 62 2e 20 20 28 54  sqlite3.lib.  (T
f060: 68 69 73 20 64 69 73 74 69 6e 63 74 69 6f 6e 20  his distinction 
f070: 69 73 0a 23 20 6e 65 63 65 73 73 61 72 79 20 62  is.# necessary b
f080: 65 63 61 75 73 65 20 74 68 65 20 74 65 73 74 20  ecause the test 
f090: 66 69 78 74 75 72 65 20 72 65 71 75 69 72 65 73  fixture requires
f0a0: 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62 6f 6c 73   non-API symbols
f0b0: 20 77 68 69 63 68 20 61 72 65 0a 23 20 68 69 64   which are.# hid
f0c0: 64 65 6e 20 77 68 65 6e 20 74 68 65 20 6c 69 62  den when the lib
f0d0: 72 61 72 79 20 69 73 20 62 75 69 6c 74 20 76 69  rary is built vi
f0e0: 61 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69  a the amalgamati
f0f0: 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49 58 54 55  on)..#.TESTFIXTU
f100: 52 45 5f 46 4c 41 47 53 20 3d 20 2d 44 54 43 4c  RE_FLAGS = -DTCL
f110: 53 48 5f 49 4e 49 54 5f 50 52 4f 43 3d 73 71 6c  SH_INIT_PROC=sql
f120: 69 74 65 33 54 65 73 74 49 6e 69 74 20 2d 44 53  ite3TestInit -DS
f130: 51 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d 44 53  QLITE_TEST=1 -DS
f140: 51 4c 49 54 45 5f 43 52 41 53 48 5f 54 45 53 54  QLITE_CRASH_TEST
f150: 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  =1.TESTFIXTURE_F
f160: 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX
f170: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
f180: 4c 49 54 45 5f 53 45 52 56 45 52 3d 31 20 2d 44  LITE_SERVER=1 -D
f190: 53 51 4c 49 54 45 5f 50 52 49 56 41 54 45 3d 22  SQLITE_PRIVATE="
f1a0: 22 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  ".TESTFIXTURE_FL
f1b0: 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT
f1c0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
f1d0: 49 54 45 5f 43 4f 52 45 20 24 28 4e 4f 5f 57 41  ITE_CORE $(NO_WA
f1e0: 52 4e 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f  RN).TESTFIXTURE_
f1f0: 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI
f200: 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
f210: 51 4c 49 54 45 5f 53 45 52 49 45 53 5f 43 4f 4e  QLITE_SERIES_CON
f220: 53 54 52 41 49 4e 54 5f 56 45 52 49 46 59 3d 31  STRAINT_VERIFY=1
f230: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
f240: 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU
f250: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
f260: 54 45 5f 44 45 46 41 55 4c 54 5f 50 41 47 45 5f  TE_DEFAULT_PAGE_
f270: 53 49 5a 45 3d 31 30 32 34 0a 54 45 53 54 46 49  SIZE=1024.TESTFI
f280: 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
f290: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
f2a0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
f2b0: 4c 45 5f 53 54 4d 54 56 54 41 42 0a 54 45 53 54  LE_STMTVTAB.TEST
f2c0: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
f2d0: 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL
f2e0: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  AGS) -DSQLITE_EN
f2f0: 41 42 4c 45 5f 44 42 50 41 47 45 5f 56 54 41 42  ABLE_DBPAGE_VTAB
f300: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
f310: 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU
f320: 52 45 5f 46 4c 41 47 53 29 20 24 28 54 45 53 54  RE_FLAGS) $(TEST
f330: 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45  _CCONV_OPTS)..TE
f340: 53 54 46 49 58 54 55 52 45 5f 53 52 43 30 20 3d  STFIXTURE_SRC0 =
f350: 20 24 28 54 45 53 54 45 58 54 29 20 24 28 54 45   $(TESTEXT) $(TE
f360: 53 54 53 52 43 32 29 0a 54 45 53 54 46 49 58 54  STSRC2).TESTFIXT
f370: 55 52 45 5f 53 52 43 31 20 3d 20 24 28 54 45 53  URE_SRC1 = $(TES
f380: 54 45 58 54 29 20 24 28 53 51 4c 49 54 45 33 43  TEXT) $(SQLITE3C
f390: 29 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c  ).!IF $(USE_AMAL
f3a0: 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53  GAMATION)==0.TES
f3b0: 54 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24  TFIXTURE_SRC = $
f3c0: 28 54 45 53 54 53 52 43 29 20 24 28 54 4f 50 29  (TESTSRC) $(TOP)
f3d0: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
f3e0: 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53   $(TESTFIXTURE_S
f3f0: 52 43 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 46  RC0).!ELSE.TESTF
f400: 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54  IXTURE_SRC = $(T
f410: 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73  ESTSRC) $(TOP)\s
f420: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $
f430: 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  (TESTFIXTURE_SRC
f440: 31 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24  1).!ENDIF..!IF $
f450: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
f460: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
f470: 21 3d 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65  !=0.sqlite_tclDe
f480: 63 6c 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66  cls.h:..echo #if
f490: 6e 64 65 66 20 53 51 4c 49 54 45 5f 54 43 4c 41  ndef SQLITE_TCLA
f4a0: 50 49 20 3e 20 24 28 53 51 4c 49 54 45 54 43 4c  PI > $(SQLITETCL
f4b0: 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 20  DECLSH)..echo # 
f4c0: 20 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 54   define SQLITE_T
f4d0: 43 4c 41 50 49 20 3e 3e 20 24 28 53 51 4c 49 54  CLAPI >> $(SQLIT
f4e0: 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68  ETCLDECLSH)..ech
f4f0: 6f 20 23 65 6e 64 69 66 20 3e 3e 20 24 28 53 51  o #endif >> $(SQ
f500: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09  LITETCLDECLSH)..
f510: 74 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49  type "$(TCLINCDI
f520: 52 29 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c  R)\tclDecls.h" \
f530: 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
f540: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
f550: 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
f560: 20 22 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f   "^(EXTERN(?: CO
f570: 4e 53 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c  NST\d+?)?\s+?[^\
f580: 28 5d 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22  (]*?\s+?)Tcl_" "
f590: 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  \1 SQLITE_TCLAPI
f5a0: 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54   Tcl_" \...| $(T
f5b0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
f5c0: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
f5d0: 6c 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 45  l regsub "^(EXTE
f5e0: 52 4e 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f  RN\s+?(?:void|VO
f5f0: 49 44 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f  ID)\s+?)TclFreeO
f600: 62 6a 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54  bj" "\1 SQLITE_T
f610: 43 4c 41 50 49 20 54 63 6c 46 72 65 65 4f 62 6a  CLAPI TclFreeObj
f620: 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  " \...| $(TCLSH_
f630: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
f640: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67  \replace.tcl reg
f650: 73 75 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22  sub "\(\*tcl_" "
f660: 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
f670: 74 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43  tcl_" \...| $(TC
f680: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
f690: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
f6a0: 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c   regsub "\(\*tcl
f6b0: 46 72 65 65 4f 62 6a 22 20 22 28 53 51 4c 49 54  FreeObj" "(SQLIT
f6c0: 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c 46 72 65  E_TCLAPI *tclFre
f6d0: 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43  eObj" \...| $(TC
f6e0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
f6f0: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
f700: 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22   regsub "\(\*" "
f710: 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
f720: 22 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c  " >> $(SQLITETCL
f730: 44 45 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f  DECLSH)..sqlite_
f740: 74 63 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24 28  tcl.h:..type "$(
f750: 54 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68  TCLINCDIR)\tcl.h
f760: 22 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  " | $(TCLSH_CMD)
f770: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
f780: 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 74  lace.tcl exact t
f790: 63 6c 44 65 63 6c 73 2e 68 20 73 71 6c 69 74 65  clDecls.h sqlite
f7a0: 5f 74 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09  _tclDecls.h \...
f7b0: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
f7c0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
f7d0: 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 74  ce.tcl regsub "t
f7e0: 79 70 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63  ypedef (.*?)\(Tc
f7f0: 6c 5f 22 20 22 74 79 70 65 64 65 66 20 5c 31 20  l_" "typedef \1 
f800: 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54  (SQLITE_TCLAPI T
f810: 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c  cl_" \...| $(TCL
f820: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
f830: 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
f840: 65 78 61 63 74 20 22 76 6f 69 64 20 28 2a 66 72  exact "void (*fr
f850: 65 65 50 72 6f 63 29 22 20 22 76 6f 69 64 20 28  eeProc)" "void (
f860: 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66  SQLITE_TCLAPI *f
f870: 72 65 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20  reeProc)" \...| 
f880: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
f890: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
f8a0: 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f  .tcl exact "Tcl_
f8b0: 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e  HashEntry *(*fin
f8c0: 64 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73  dProc)" "Tcl_Has
f8d0: 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f  hEntry *(SQLITE_
f8e0: 54 43 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f 63  TCLAPI *findProc
f8f0: 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  )" \...| $(TCLSH
f900: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
f910: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
f920: 61 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74  act "Tcl_HashEnt
f930: 72 79 20 2a 28 2a 63 72 65 61 74 65 50 72 6f 63  ry *(*createProc
f940: 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72  )" "Tcl_HashEntr
f950: 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50  y *(SQLITE_TCLAP
f960: 49 20 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20  I *createProc)" 
f970: 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29  >> $(SQLITETCLH)
f980: 0a 21 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78  .!ENDIF..testfix
f990: 74 75 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54  ture.exe:.$(TEST
f9a0: 46 49 58 54 55 52 45 5f 53 52 43 29 20 24 28 53  FIXTURE_SRC) $(S
f9b0: 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45  QLITE3H) $(LIBRE
f9c0: 53 4f 42 4a 53 29 20 24 28 48 44 52 29 20 24 28  SOBJS) $(HDR) $(
f9d0: 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a  SQLITE_TCL_DEP).
f9e0: 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c  .$(LTLINK) -DSQL
f9f0: 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28  ITE_NO_SYNC=1 $(
fa00: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
fa10: 53 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73  S) \...-DBUILD_s
fa20: 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43  qlite -I$(TCLINC
fa30: 44 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46  DIR) \...$(TESTF
fa40: 49 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09  IXTURE_SRC) \...
fa50: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
fa60: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS) $
fa70: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c  (LTLIBPATHS) $(L
fa80: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c  IBRESOBJS) $(LTL
fa90: 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 65  IBS) $(TLIBS)..e
faa0: 78 74 65 6e 73 69 6f 6e 74 65 73 74 3a 09 74 65  xtensiontest:.te
fab0: 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 74 65  stfixture.exe te
fac0: 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40  stloadext.dll..@
fad0: 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43  set PATH=$(LIBTC
fae0: 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09  LPATH);$(PATH)..
faf0: 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  .\testfixture.ex
fb00: 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f  e $(TOP)\test\lo
fb10: 61 64 65 78 74 2e 74 65 73 74 20 24 28 54 45 53  adext.test $(TES
fb20: 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74  TOPTS)..fulltest
fb30: 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 66  :.$(TESTPROGS) f
fb40: 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41  uzztest..@set PA
fb50: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
fb60: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
fb70: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
fb80: 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74  P)\test\all.test
fb90: 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f   $(TESTOPTS)..so
fba0: 61 6b 74 65 73 74 3a 09 24 28 54 45 53 54 50 52  aktest:.$(TESTPR
fbb0: 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d  OGS)..@set PATH=
fbc0: 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
fbd0: 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
fbe0: 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
fbf0: 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73  test\all.test -s
fc00: 6f 61 6b 3d 31 20 24 28 54 45 53 54 4f 50 54 53  oak=1 $(TESTOPTS
fc10: 29 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a  )..fulltestonly:
fc20: 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75  .$(TESTPROGS) fu
fc30: 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54  zztest..@set PAT
fc40: 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
fc50: 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
fc60: 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
fc70: 29 5c 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74  )\test\full.test
fc80: 0a 0a 71 75 65 72 79 70 6c 61 6e 74 65 73 74 3a  ..queryplantest:
fc90: 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  .testfixture.exe
fca0: 20 73 68 65 6c 6c 0a 09 40 73 65 74 20 50 41 54   shell..@set PAT
fcb0: 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
fcc0: 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
fcd0: 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
fce0: 29 5c 74 65 73 74 5c 70 65 72 6d 75 74 61 74 69  )\test\permutati
fcf0: 6f 6e 73 2e 74 65 73 74 20 71 75 65 72 79 70 6c  ons.test querypl
fd00: 61 6e 6e 65 72 20 24 28 54 45 53 54 4f 50 54 53  anner $(TESTOPTS
fd10: 29 0a 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a  )..fuzztest:.fuz
fd20: 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75  zcheck.exe...\fu
fd30: 7a 7a 63 68 65 63 6b 2e 65 78 65 20 24 28 46 55  zzcheck.exe $(FU
fd40: 5a 5a 44 41 54 41 29 0a 0a 66 61 73 74 66 75 7a  ZZDATA)..fastfuz
fd50: 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b  ztest:.fuzzcheck
fd60: 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63  .exe...\fuzzchec
fd70: 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65  k.exe --limit-me
fd80: 6d 20 31 30 30 4d 20 24 28 46 55 5a 5a 44 41 54  m 100M $(FUZZDAT
fd90: 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65  A)..# Minimal te
fda0: 73 74 69 6e 67 20 74 68 61 74 20 72 75 6e 73 20  sting that runs 
fdb0: 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 33 20 6d  in less than 3 m
fdc0: 69 6e 75 74 65 73 20 28 6f 6e 20 61 20 66 61 73  inutes (on a fas
fdd0: 74 20 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 69  t machine).#.qui
fde0: 63 6b 74 65 73 74 3a 09 74 65 73 74 66 69 78 74  cktest:.testfixt
fdf0: 75 72 65 2e 65 78 65 20 73 6f 75 72 63 65 74 65  ure.exe sourcete
fe00: 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  st..@set PATH=$(
fe10: 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
fe20: 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
fe30: 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
fe40: 73 74 5c 65 78 74 72 61 71 75 69 63 6b 2e 74 65  st\extraquick.te
fe50: 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS)..
fe60: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f  # This is the co
fe70: 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e 20  mmon case.  Run 
fe80: 6d 61 6e 79 20 74 65 73 74 73 20 74 68 61 74 20  many tests that 
fe90: 64 6f 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20  do not take too 
fea0: 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e  long,.# includin
feb0: 67 20 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c  g fuzzcheck, sql
fec0: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61  ite3_analyzer, a
fed0: 6e 64 20 73 71 6c 64 69 66 66 20 74 65 73 74 73  nd sqldiff tests
fee0: 2e 0a 23 0a 74 65 73 74 3a 09 24 28 54 45 53 54  ..#.test:.$(TEST
fef0: 50 52 4f 47 53 29 20 73 6f 75 72 63 65 74 65 73  PROGS) sourcetes
ff00: 74 20 66 61 73 74 66 75 7a 7a 74 65 73 74 0a 09  t fastfuzztest..
ff10: 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT
ff20: 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH).
ff30: 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
ff40: 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 76  xe $(TOP)\test\v
ff50: 65 72 79 71 75 69 63 6b 2e 74 65 73 74 20 24 28  eryquick.test $(
ff60: 54 45 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65  TESTOPTS)..smoke
ff70: 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47  test:.$(TESTPROG
ff80: 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  S)..@set PATH=$(
ff90: 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
ffa0: 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
ffb0: 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
ffc0: 73 74 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28 54  st\main.test $(T
ffd0: 45 53 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65  ESTOPTS)..sqlite
ffe0: 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 28  3_analyzer.c:.$(
fff0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
10000 54 45 33 48 29 20 24 28 54 4f 50 29 5c 73 72 63  TE3H) $(TOP)\src
10010 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54  \tclsqlite.c $(T
10020 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e  OP)\tool\spacean
10030 61 6c 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f  al.tcl $(TOP)\to
10040 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24  ol\mkccode.tcl $
10050 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74  (TOP)\tool\sqlit
10060 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e  e3_analyzer.c.in
10070 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45   $(SQLITE_TCL_DE
10080 50 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  P)..$(TCLSH_CMD)
10090 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63   $(TOP)\tool\mkc
100a0 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c  code.tcl $(TOP)\
100b0 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e 61  tool\sqlite3_ana
100c0 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a  lyzer.c.in > $@.
100d0 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65  .sqlite3_analyze
100e0 72 2e 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 61  r.exe:.sqlite3_a
100f0 6e 61 6c 79 7a 65 72 2e 63 20 24 28 4c 49 42 52  nalyzer.c $(LIBR
10100 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e  ESOBJS)..$(LTLIN
10110 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
10120 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24  BUILD_sqlite -I$
10130 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 69  (TCLINCDIR) sqli
10140 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 5c  te3_analyzer.c \
10150 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .../link $(LDFLA
10160 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
10170 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
10180 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
10190 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29  LTLIBS) $(TLIBS)
101a0 0a 0a 73 71 6c 69 74 65 33 5f 65 78 70 65 72 74  ..sqlite3_expert
101b0 2e 65 78 65 3a 20 24 28 53 51 4c 49 54 45 33 43  .exe: $(SQLITE3C
101c0 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70  ) $(TOP)\ext\exp
101d0 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72  ert\sqlite3exper
101e0 74 2e 68 20 24 28 54 4f 50 29 5c 65 78 74 5c 65  t.h $(TOP)\ext\e
101f0 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70  xpert\sqlite3exp
10200 65 72 74 2e 63 20 24 28 54 4f 50 29 5c 65 78 74  ert.c $(TOP)\ext
10210 5c 65 78 70 65 72 74 5c 65 78 70 65 72 74 2e 63  \expert\expert.c
10220 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
10230 5f 57 41 52 4e 29 09 24 28 54 4f 50 29 5c 65 78  _WARN).$(TOP)\ex
10240 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33  t\expert\sqlite3
10250 65 78 70 65 72 74 2e 63 20 24 28 54 4f 50 29 5c  expert.c $(TOP)\
10260 65 78 74 5c 65 78 70 65 72 74 5c 65 78 70 65 72  ext\expert\exper
10270 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
10280 24 28 54 4c 49 42 53 29 0a 0a 43 48 45 43 4b 45  $(TLIBS)..CHECKE
10290 52 5f 44 45 50 53 20 3d 5c 0a 20 20 24 28 54 4f  R_DEPS =\.  $(TO
102a0 50 29 2f 74 6f 6f 6c 2f 6d 6b 63 63 6f 64 65 2e  P)/tool/mkccode.
102b0 74 63 6c 20 5c 0a 20 20 73 71 6c 69 74 65 33 2e  tcl \.  sqlite3.
102c0 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
102d0 2f 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20  /tclsqlite.c \. 
102e0 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61   $(TOP)/ext/repa
102f0 69 72 2f 73 71 6c 69 74 65 33 5f 63 68 65 63 6b  ir/sqlite3_check
10300 65 72 2e 74 63 6c 20 5c 0a 20 20 24 28 54 4f 50  er.tcl \.  $(TOP
10310 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 63 68 65  )/ext/repair/che
10320 63 6b 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28  ckindex.c \.  $(
10330 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f  TOP)/ext/repair/
10340 63 68 65 63 6b 66 72 65 65 6c 69 73 74 2e 63 20  checkfreelist.c 
10350 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d  \.  $(TOP)/ext/m
10360 69 73 63 2f 62 74 72 65 65 69 6e 66 6f 2e 63 20  isc/btreeinfo.c 
10370 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72  \.  $(TOP)/ext/r
10380 65 70 61 69 72 2f 73 71 6c 69 74 65 33 5f 63 68  epair/sqlite3_ch
10390 65 63 6b 65 72 2e 63 2e 69 6e 0a 0a 73 71 6c 69  ecker.c.in..sqli
103a0 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 3a 09 24  te3_checker.c:.$
103b0 28 43 48 45 43 4b 45 52 5f 44 45 50 53 29 0a 09  (CHECKER_DEPS)..
103c0 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
103d0 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65  OP)\tool\mkccode
103e0 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c  .tcl $(TOP)\ext\
103f0 72 65 70 61 69 72 5c 73 71 6c 69 74 65 33 5f 63  repair\sqlite3_c
10400 68 65 63 6b 65 72 2e 63 2e 69 6e 20 3e 20 24 40  hecker.c.in > $@
10410 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  ..sqlite3_checke
10420 72 2e 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 63  r.exe:.sqlite3_c
10430 68 65 63 6b 65 72 2e 63 20 24 28 4c 49 42 52 45  hecker.c $(LIBRE
10440 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b  SOBJS)..$(LTLINK
10450 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42  ) $(NO_WARN) -DB
10460 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28  UILD_sqlite -I$(
10470 54 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74  TCLINCDIR) sqlit
10480 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 5c 0a 09  e3_checker.c \..
10490 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53  ./link $(LDFLAGS
104a0 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
104b0 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28  $(LTLIBPATHS) $(
104c0 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54  LIBRESOBJS) $(LT
104d0 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
104e0 64 62 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f  dbdump.exe:.$(TO
104f0 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75  P)\ext\misc\dbdu
10500 6d 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  mp.c $(SQLITE3C)
10510 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
10520 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
10530 4e 29 20 2d 44 44 42 44 55 4d 50 5f 53 54 41 4e  N) -DDBDUMP_STAN
10540 44 41 4c 4f 4e 45 20 24 28 54 4f 50 29 5c 65 78  DALONE $(TOP)\ex
10550 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63 20  t\misc\dbdump.c 
10560 24 28 53 51 4c 49 54 45 33 43 29 20 5c 0a 09 09  $(SQLITE3C) \...
10570 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
10580 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS) $
10590 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c  (LTLIBPATHS) $(L
105a0 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c  IBRESOBJS) $(LTL
105b0 49 42 53 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78  IBS)..testloadex
105c0 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src
105d0 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a  \test_loadext.c.
105e0 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
105f0 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28 54 4f  NO_WARN) -c $(TO
10600 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64  P)\src\test_load
10610 65 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 65  ext.c..testloade
10620 78 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 64  xt.dll:.testload
10630 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28  ext.lo..$(LD) $(
10640 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
10650 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA
10660 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24  THS) /DLL /OUT:$
10670 40 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f  @ testloadext.lo
10680 0a 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09 24 28  ..showdb.exe:.$(
10690 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62  TOP)\tool\showdb
106a0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
106b0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
106c0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
106d0 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
106e0 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
106f0 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
10700 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t
10710 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53  ool\showdb.c $(S
10720 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
10730 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
10740 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74 61  NKOPTS)..showsta
10750 74 34 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  t4.exe:.$(TOP)\t
10760 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20  ool\showstat4.c 
10770 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
10780 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
10790 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
107a0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
107b0 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
107c0 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
107d0 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool
107e0 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53  \showstat4.c $(S
107f0 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
10800 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
10810 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75  NKOPTS)..showjou
10820 72 6e 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  rnal.exe:.$(TOP)
10830 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61  \tool\showjourna
10840 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
10850 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
10860 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
10870 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
10880 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
10890 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
108a0 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\
108b0 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c  tool\showjournal
108c0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
108d0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
108e0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s
108f0 68 6f 77 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f  howwal.exe:.$(TO
10900 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e  P)\tool\showwal.
10910 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
10920 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
10930 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
10940 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
10950 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
10960 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
10970 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  ON \...$(TOP)\to
10980 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53  ol\showwal.c $(S
10990 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
109a0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
109b0 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 68 6d  NKOPTS)..showshm
109c0 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
109d0 6c 5c 73 68 6f 77 73 68 6d 2e 63 0a 09 24 28 4c  l\showshm.c..$(L
109e0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
109f0 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ).$(TOP)\tool\sh
10a00 6f 77 73 68 6d 2e 63 20 2f 6c 69 6e 6b 20 24 28  owshm.c /link $(
10a10 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
10a20 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67 65 73 65  KOPTS)..changese
10a30 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  t.exe:.$(TOP)\ex
10a40 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65  t\session\change
10a50 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  set.c $(SQLITE3C
10a60 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
10a70 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
10a80 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
10a90 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
10aa0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
10ab0 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c  ENSION \...-DSQL
10ac0 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49  ITE_ENABLE_SESSI
10ad0 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e  ON=1 -DSQLITE_EN
10ae0 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48  ABLE_PREUPDATE_H
10af0 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29  OOK=1 \...$(TOP)
10b00 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61  \ext\session\cha
10b10 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54  ngeset.c $(SQLIT
10b20 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
10b30 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
10b40 54 53 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78  TS)..fts3view.ex
10b50 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  e:.$(TOP)\ext\ft
10b60 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77  s3\tool\fts3view
10b70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
10b80 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
10b90 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
10ba0 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
10bb0 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
10bc0 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
10bd0 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  ION \...$(TOP)\e
10be0 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73  xt\fts3\tool\fts
10bf0 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45  3view.c $(SQLITE
10c00 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
10c10 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
10c20 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  S)..rollback-tes
10c30 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  t.exe:.$(TOP)\to
10c40 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74  ol\rollback-test
10c50 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
10c60 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
10c70 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
10c80 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
10c90 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
10ca0 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
10cb0 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t
10cc0 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  ool\rollback-tes
10cd0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
10ce0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
10cf0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
10d00 4c 6f 67 45 73 74 2e 65 78 65 3a 09 24 28 54 4f  LogEst.exe:.$(TO
10d10 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e 63  P)\tool\logest.c
10d20 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
10d30 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
10d40 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c  N) $(TOP)\tool\L
10d50 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28  ogEst.c /link $(
10d60 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
10d70 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e  KOPTS)..wordcoun
10d80 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65  t.exe:.$(TOP)\te
10d90 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24  st\wordcount.c $
10da0 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
10db0 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
10dc0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
10dd0 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
10de0 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
10df0 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
10e00 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c  \...$(TOP)\test\
10e10 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51  wordcount.c $(SQ
10e20 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
10e30 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
10e40 4b 4f 50 54 53 29 0a 0a 73 70 65 65 64 74 65 73  KOPTS)..speedtes
10e50 74 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  t1.exe:.$(TOP)\t
10e60 65 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63  est\speedtest1.c
10e70 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
10e80 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
10e90 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
10ea0 28 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  (ST_COMPILE_OPTS
10eb0 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  ) -DSQLITE_OMIT_
10ec0 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
10ed0 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73  ...$(TOP)\test\s
10ee0 70 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 51  peedtest1.c $(SQ
10ef0 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
10f00 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
10f10 4b 4f 50 54 53 29 0a 0a 6b 76 74 65 73 74 2e 65  KOPTS)..kvtest.e
10f20 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c  xe:.$(TOP)\test\
10f30 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54  kvtest.c $(SQLIT
10f40 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
10f50 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
10f60 5f 57 41 52 4e 29 20 24 28 4b 56 5f 43 4f 4d 50  _WARN) $(KV_COMP
10f70 49 4c 45 5f 4f 50 54 53 29 20 5c 0a 09 09 24 28  ILE_OPTS) \...$(
10f80 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74  TOP)\test\kvtest
10f90 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
10fa0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
10fb0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64  $(LTLINKOPTS)..d
10fc0 62 73 65 6c 66 74 65 73 74 2e 65 78 65 3a 09 24  bselftest.exe:.$
10fd0 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 73 65 6c  (TOP)\test\dbsel
10fe0 66 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ftest.c $(SQLITE
10ff0 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
11000 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
11010 57 41 52 4e 29 20 24 28 44 42 53 45 4c 46 54 45  WARN) $(DBSELFTE
11020 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  ST_COMPILE_OPTS)
11030 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 73   $(TOP)\test\dbs
11040 65 6c 66 74 65 73 74 2e 63 20 24 28 53 51 4c 49  elftest.c $(SQLI
11050 54 45 33 43 29 0a 0a 72 62 75 2e 65 78 65 3a 09  TE3C)..rbu.exe:.
11060 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72  $(TOP)\ext\rbu\r
11070 62 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  bu.c $(TOP)\ext\
11080 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
11090 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
110a0 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
110b0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
110c0 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52  DSQLITE_ENABLE_R
110d0 42 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  BU \...$(TOP)\ex
110e0 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51  t\rbu\rbu.c $(SQ
110f0 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
11100 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
11110 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24  KOPTS)..LSMDIR=$
11120 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21  (TOP)\ext\lsm1.!
11130 49 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52  INCLUDE $(LSMDIR
11140 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a  )\Makefile.msc..
11150 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e  moreclean:.clean
11160 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54  ..del /Q $(SQLIT
11170 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
11180 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b   2>NUL.# <</mark
11190 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20  >>..clean:..del 
111a0 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e  /Q *.exp *.lo *.
111b0 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20  ilk *.lib *.obj 
111c0 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64  *.ncb *.pdb *.sd
111d0 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64  f *.suo 2>NUL..d
111e0 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65  el /Q *.bsc *.de
111f0 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62  f *.cod *.da *.b
11200 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f  b *.bbg *.vc gmo
11210 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c  n.out 2>NUL..del
11220 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45 58 45   /Q $(SQLITE3EXE
11230 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20  ) $(SQLITE3DLL) 
11240 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55  Replace.exe 2>NU
11250 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65  L.# <<mark>>..de
11260 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63 20 73  l /Q sqlite3.c s
11270 71 6c 69 74 65 33 2e 68 20 32 3e 4e 55 4c 0a 09  qlite3.h 2>NUL..
11280 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63  del /Q opcodes.c
11290 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c   opcodes.h 2>NUL
112a0 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a  ..del /Q lemon.*
112b0 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73 65 2e   lempar.c parse.
112c0 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  * 2>NUL..del /Q 
112d0 6d 6b 73 6f 75 72 63 65 69 64 2e 2a 20 6d 6b 6b  mksourceid.* mkk
112e0 65 79 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79  eywordhash.* key
112f0 77 6f 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c  wordhash.h 2>NUL
11300 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61  ..del /Q notasha
11310 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09  redlib.* 2>NUL..
11320 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70  -rmdir /Q/S .dep
11330 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20  s 2>NUL..-rmdir 
11340 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c  /Q/S .libs 2>NUL
11350 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73  ..-rmdir /Q/S ts
11360 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  rc 2>NUL..del /Q
11370 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20   .target_source 
11380 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63  2>NUL..del /Q tc
11390 6c 73 71 6c 69 74 65 33 2e 65 78 65 20 24 28 53  lsqlite3.exe $(S
113a0 51 4c 49 54 45 54 43 4c 48 29 20 24 28 53 51 4c  QLITETCLH) $(SQL
113b0 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 32 3e  ITETCLDECLSH) 2>
113c0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e  NUL..del /Q lsm.
113d0 64 6c 6c 20 6c 73 6d 74 65 73 74 2e 65 78 65 20  dll lsmtest.exe 
113e0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65  2>NUL..del /Q te
113f0 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e  stloadext.dll 2>
11400 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74  NUL..del /Q test
11410 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74  fixture.exe test
11420 2e 64 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  .db 2>NUL..del /
11430 51 20 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73  Q LogEst.exe fts
11440 33 76 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61  3view.exe rollba
11450 63 6b 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77  ck-test.exe show
11460 64 62 2e 65 78 65 20 64 62 64 75 6d 70 2e 65 78  db.exe dbdump.ex
11470 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
11480 63 68 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e  changeset.exe 2>
11490 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77  NUL..del /Q show
114a0 6a 6f 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77  journal.exe show
114b0 73 74 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61  stat4.exe showwa
114c0 6c 2e 65 78 65 20 73 70 65 65 64 74 65 73 74 31  l.exe speedtest1
114d0 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del 
114e0 2f 51 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20  /Q mptester.exe 
114f0 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62  wordcount.exe rb
11500 75 2e 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65  u.exe srcck1.exe
11510 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
11520 71 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33  qlite3.c sqlite3
11530 2d 2a 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  -*.c 2>NUL..del 
11540 2f 51 20 73 71 6c 69 74 65 33 72 63 2e 68 20 32  /Q sqlite3rc.h 2
11550 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65  >NUL..del /Q she
11560 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65 78 74 2e  ll.c sqlite3ext.
11570 68 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  h sqlite3session
11580 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
11590 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
115a0 72 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 61 6e  r.exe sqlite3_an
115b0 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09  alyzer.c 2>NUL..
115c0 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d  del /Q sqlite-*-
115d0 6f 75 74 70 75 74 2e 76 73 69 78 20 32 3e 4e 55  output.vsix 2>NU
115e0 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72  L..del /Q fuzzer
115f0 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68  shell.exe fuzzch
11600 65 63 6b 2e 65 78 65 20 73 71 6c 64 69 66 66 2e  eck.exe sqldiff.
11610 65 78 65 20 64 62 68 61 73 68 2e 65 78 65 20 32  exe dbhash.exe 2
11620 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73  >NUL..del /Q fts
11630 35 2e 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20  5.* fts5parse.* 
11640 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  2>NUL.# <</mark>
11650 3e 0a                                            >.