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

Artifact 35879b76bc9136af684cc54b4178ebc6ab231ac0f24990bef703ad80a9330641:


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 4e 4b 20  _LIB)!=0.LTLINK 
6670: 3d 20 24 28 4c 54 4c 49 4e 4b 29 20 72 70 63 72  = $(LTLINK) 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 49 42 54 43 4c 29 0a 21  BS = $(LIBTCL).!
7160: 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55 20  ENDIF..# If ICU 
7170: 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c  support is enabl
7180: 65 64 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b  ed, add the link
7190: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69  er options for i
71a0: 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 49  t..#.!IF $(USE_I
71b0: 43 55 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48  CU)!=0.LTLIBPATH
71c0: 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53  S = $(LTLIBPATHS
71d0: 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 49 43 55  ) /LIBPATH:$(ICU
71e0: 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d  LIBDIR).LTLIBS =
71f0: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 4c 49 42   $(LTLIBS) $(LIB
7200: 49 43 55 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  ICU).!ENDIF.# <<
7210: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 59 6f 75 20 73  /mark>>..# You s
7220: 68 6f 75 6c 64 20 6e 6f 74 20 68 61 76 65 20 74  hould not have t
7230: 6f 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69 6e  o change anythin
7240: 67 20 62 65 6c 6f 77 20 74 68 69 73 20 6c 69 6e  g below this lin
7250: 65 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  e.##############
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 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  #..# <<mark>>.# 
72b0: 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72  Object files for
72c0: 20 74 68 65 20 53 51 4c 69 74 65 20 6c 69 62 72   the SQLite libr
72d0: 61 72 79 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d  ary (non-amalgam
72e0: 61 74 69 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42 4a  ation)..#.LIBOBJ
72f0: 53 30 20 3d 20 76 64 62 65 2e 6c 6f 20 70 61 72  S0 = vdbe.lo par
7300: 73 65 2e 6c 6f 20 61 6c 74 65 72 2e 6c 6f 20 61  se.lo alter.lo a
7310: 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74 74 61 63 68  nalyze.lo attach
7320: 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20 5c 0a 20 20  .lo auth.lo \.  
7330: 20 20 20 20 20 20 20 62 61 63 6b 75 70 2e 6c 6f         backup.lo
7340: 20 62 69 74 76 65 63 2e 6c 6f 20 62 74 6d 75 74   bitvec.lo btmut
7350: 65 78 2e 6c 6f 20 62 74 72 65 65 2e 6c 6f 20 62  ex.lo btree.lo b
7360: 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  uild.lo \.      
7370: 20 20 20 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20 63     callback.lo c
7380: 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63 74 69 6d 65  omplete.lo ctime
7390: 2e 6c 6f 20 64 61 74 65 2e 6c 6f 20 64 62 73 74  .lo date.lo dbst
73a0: 61 74 2e 6c 6f 20 64 65 6c 65 74 65 2e 6c 6f 20  at.lo delete.lo 
73b0: 5c 0a 20 20 20 20 20 20 20 20 20 65 78 70 72 2e  \.         expr.
73c0: 6c 6f 20 66 61 75 6c 74 2e 6c 6f 20 66 6b 65 79  lo fault.lo fkey
73d0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
73e0: 74 73 33 2e 6c 6f 20 66 74 73 33 5f 61 75 78 2e  ts3.lo fts3_aux.
73f0: 6c 6f 20 66 74 73 33 5f 65 78 70 72 2e 6c 6f 20  lo fts3_expr.lo 
7400: 66 74 73 33 5f 68 61 73 68 2e 6c 6f 20 66 74 73  fts3_hash.lo fts
7410: 33 5f 69 63 75 2e 6c 6f 20 5c 0a 20 20 20 20 20  3_icu.lo \.     
7420: 20 20 20 20 66 74 73 33 5f 70 6f 72 74 65 72 2e      fts3_porter.
7430: 6c 6f 20 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  lo fts3_snippet.
7440: 6c 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  lo fts3_tokenize
7450: 72 2e 6c 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69  r.lo fts3_tokeni
7460: 7a 65 72 31 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  zer1.lo \.      
7470: 20 20 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65     fts3_tokenize
7480: 5f 76 74 61 62 2e 6c 6f 20 66 74 73 33 5f 75 6e  _vtab.lo fts3_un
7490: 69 63 6f 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e  icode.lo fts3_un
74a0: 69 63 6f 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77  icode2.lo fts3_w
74b0: 72 69 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  rite.lo \.      
74c0: 20 20 20 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20     fts5.lo \.   
74d0: 20 20 20 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c        func.lo gl
74e0: 6f 62 61 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20  obal.lo hash.lo 
74f0: 5c 0a 20 20 20 20 20 20 20 20 20 69 63 75 2e 6c  \.         icu.l
7500: 6f 20 69 6e 73 65 72 74 2e 6c 6f 20 6c 65 67 61  o insert.lo lega
7510: 63 79 2e 6c 6f 20 6c 6f 61 64 65 78 74 2e 6c 6f  cy.lo loadext.lo
7520: 20 5c 0a 20 20 20 20 20 20 20 20 20 6d 61 69 6e   \.         main
7530: 2e 6c 6f 20 6d 61 6c 6c 6f 63 2e 6c 6f 20 6d 65  .lo malloc.lo me
7540: 6d 30 2e 6c 6f 20 6d 65 6d 31 2e 6c 6f 20 6d 65  m0.lo mem1.lo me
7550: 6d 32 2e 6c 6f 20 6d 65 6d 33 2e 6c 6f 20 6d 65  m2.lo mem3.lo me
7560: 6d 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  m5.lo \.        
7570: 20 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c   memjournal.lo \
7580: 0a 20 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e  .         mutex.
7590: 6c 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f  lo mutex_noop.lo
75a0: 20 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d   mutex_unix.lo m
75b0: 75 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20  utex_w32.lo \.  
75c0: 20 20 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f         notify.lo
75d0: 20 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c   opcodes.lo os.l
75e0: 6f 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f  o os_unix.lo os_
75f0: 77 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  win.lo \.       
7600: 20 20 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68    pager.lo pcach
7610: 65 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20  e.lo pcache1.lo 
7620: 70 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72  pragma.lo prepar
7630: 65 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c  e.lo printf.lo \
7640: 0a 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d  .         random
7650: 2e 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72  .lo resolve.lo r
7660: 6f 77 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c  owset.lo rtree.l
7670: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c  o \.         sql
7680: 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73  ite3session.lo s
7690: 65 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33  elect.lo sqlite3
76a0: 72 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f  rbu.lo status.lo
76b0: 20 5c 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c   \.         tabl
76c0: 65 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20  e.lo threads.lo 
76d0: 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65  tokenize.lo tree
76e0: 76 69 65 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e  view.lo trigger.
76f0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 70  lo \.         up
7700: 64 61 74 65 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20  date.lo util.lo 
7710: 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20  vacuum.lo \.    
7720: 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c 6f 20       vdbeapi.lo 
7730: 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62 65 62  vdbeaux.lo vdbeb
7740: 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c  lob.lo vdbemem.l
7750: 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a  o vdbesort.lo \.
7760: 20 20 20 20 20 20 20 20 20 76 64 62 65 74 72 61           vdbetra
7770: 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c  ce.lo wal.lo wal
7780: 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20  ker.lo where.lo 
7790: 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65  wherecode.lo whe
77a0: 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20  reexpr.lo \.    
77b0: 20 20 20 20 20 75 74 66 2e 6c 6f 20 76 74 61 62       utf.lo vtab
77c0: 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  .lo.# <</mark>>.
77d0: 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20  .# Object files 
77e0: 66 6f 72 20 74 68 65 20 61 6d 61 6c 67 61 6d 61  for the amalgama
77f0: 74 69 6f 6e 2e 0a 23 0a 4c 49 42 4f 42 4a 53 31  tion..#.LIBOBJS1
7800: 20 3d 20 73 71 6c 69 74 65 33 2e 6c 6f 0a 0a 23   = sqlite3.lo..#
7810: 20 44 65 74 65 72 6d 69 6e 65 20 74 68 65 20 72   Determine the r
7820: 65 61 6c 20 76 61 6c 75 65 20 6f 66 20 4c 49 42  eal value of LIB
7830: 4f 42 4a 20 62 61 73 65 64 20 6f 6e 20 74 68 65  OBJ based on the
7840: 20 27 63 6f 6e 66 69 67 75 72 65 27 20 73 63 72   'configure' scr
7850: 69 70 74 0a 23 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  ipt.#.# <<mark>>
7860: 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47  .!IF $(USE_AMALG
7870: 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4c 49 42 4f  AMATION)==0.LIBO
7880: 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 30 29  BJ = $(LIBOBJS0)
7890: 0a 21 45 4c 53 45 0a 23 20 3c 3c 2f 6d 61 72 6b  .!ELSE.# <</mark
78a0: 3e 3e 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49  >>.LIBOBJ = $(LI
78b0: 42 4f 42 4a 53 31 29 0a 23 20 3c 3c 6d 61 72 6b  BOBJS1).# <<mark
78c0: 3e 3e 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d  >>.!ENDIF.# <</m
78d0: 61 72 6b 3e 3e 0a 0a 23 20 44 65 74 65 72 6d 69  ark>>..# Determi
78e0: 6e 65 20 69 66 20 65 6d 62 65 64 64 65 64 20 72  ne if embedded r
78f0: 65 73 6f 75 72 63 65 20 63 6f 6d 70 69 6c 61 74  esource compilat
7900: 69 6f 6e 20 61 6e 64 20 75 73 61 67 65 20 61 72  ion and usage ar
7910: 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 21 49 46  e enabled..#.!IF
7920: 20 24 28 55 53 45 5f 52 43 29 21 3d 30 0a 4c 49   $(USE_RC)!=0.LI
7930: 42 52 45 53 4f 42 4a 53 20 3d 20 73 71 6c 69 74  BRESOBJS = sqlit
7940: 65 33 72 65 73 2e 6c 6f 0a 21 45 4c 53 45 0a 4c  e3res.lo.!ELSE.L
7950: 49 42 52 45 53 4f 42 4a 53 20 3d 0a 21 45 4e 44  IBRESOBJS =.!END
7960: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
7970: 20 43 6f 72 65 20 73 6f 75 72 63 65 20 63 6f 64   Core source cod
7980: 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e  e files, part 1.
7990: 0a 23 0a 53 52 43 30 30 20 3d 20 5c 0a 20 20 24  .#.SRC00 = \.  $
79a0: 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e  (TOP)\src\alter.
79b0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
79c0: 5c 61 6e 61 6c 79 7a 65 2e 63 20 5c 0a 20 20 24  \analyze.c \.  $
79d0: 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68  (TOP)\src\attach
79e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
79f0: 63 5c 61 75 74 68 2e 63 20 5c 0a 20 20 24 28 54  c\auth.c \.  $(T
7a00: 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63  OP)\src\backup.c
7a10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7a20: 62 69 74 76 65 63 2e 63 20 5c 0a 20 20 24 28 54  bitvec.c \.  $(T
7a30: 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e  OP)\src\btmutex.
7a40: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7a50: 5c 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54  \btree.c \.  $(T
7a60: 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20  OP)\src\build.c 
7a70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63  \.  $(TOP)\src\c
7a80: 61 6c 6c 62 61 63 6b 2e 63 20 5c 0a 20 20 24 28  allback.c \.  $(
7a90: 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74  TOP)\src\complet
7aa0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
7ab0: 72 63 5c 63 74 69 6d 65 2e 63 20 5c 0a 20 20 24  rc\ctime.c \.  $
7ac0: 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63  (TOP)\src\date.c
7ad0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7ae0: 64 62 73 74 61 74 2e 63 20 5c 0a 20 20 24 28 54  dbstat.c \.  $(T
7af0: 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63  OP)\src\delete.c
7b00: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7b10: 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  expr.c \.  $(TOP
7b20: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 5c 0a  )\src\fault.c \.
7b30: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65    $(TOP)\src\fke
7b40: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s
7b50: 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28  rc\func.c \.  $(
7b60: 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e  TOP)\src\global.
7b70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7b80: 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f  \hash.c \.  $(TO
7b90: 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20  P)\src\insert.c 
7ba0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c  \.  $(TOP)\src\l
7bb0: 65 67 61 63 79 2e 63 20 5c 0a 20 20 24 28 54 4f  egacy.c \.  $(TO
7bc0: 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63  P)\src\loadext.c
7bd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7be0: 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50  main.c \.  $(TOP
7bf0: 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c  )\src\malloc.c \
7c00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me
7c10: 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  m0.c \.  $(TOP)\
7c20: 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20 20 24  src\mem1.c \.  $
7c30: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63  (TOP)\src\mem2.c
7c40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7c50: 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50  mem3.c \.  $(TOP
7c60: 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20  )\src\mem5.c \. 
7c70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a   $(TOP)\src\memj
7c80: 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54  ournal.c \.  $(T
7c90: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20  OP)\src\mutex.c 
7ca0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
7cb0: 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20 20  utex_noop.c \.  
7cc0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
7cd0: 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f  _unix.c \.  $(TO
7ce0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32  P)\src\mutex_w32
7cf0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7d00: 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a 20 20 24  c\notify.c \.  $
7d10: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 5c  (TOP)\src\os.c \
7d20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os
7d30: 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f  _unix.c \.  $(TO
7d40: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a  P)\src\os_win.c.
7d50: 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20 63  .# Core source c
7d60: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part 
7d70: 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20 5c 0a 20  2..#.SRC01 = \. 
7d80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page
7d90: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
7da0: 72 63 5c 70 63 61 63 68 65 2e 63 20 5c 0a 20 20  rc\pcache.c \.  
7db0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
7dc0: 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  e1.c \.  $(TOP)\
7dd0: 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 5c 0a 20  src\pragma.c \. 
7de0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70   $(TOP)\src\prep
7df0: 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  are.c \.  $(TOP)
7e00: 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 5c 0a  \src\printf.c \.
7e10: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e    $(TOP)\src\ran
7e20: 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  dom.c \.  $(TOP)
7e30: 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 5c  \src\resolve.c \
7e40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f  .  $(TOP)\src\ro
7e50: 77 73 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  wset.c \.  $(TOP
7e60: 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 5c  )\src\select.c \
7e70: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 74  .  $(TOP)\src\st
7e80: 61 74 75 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  atus.c \.  $(TOP
7e90: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 5c 0a  )\src\table.c \.
7ea0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72    $(TOP)\src\thr
7eb0: 65 61 64 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  eads.c \.  $(TOP
7ec0: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
7ed0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7ee0: 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20  \tokenize.c \.  
7ef0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76  $(TOP)\src\treev
7f00: 69 65 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  iew.c \.  $(TOP)
7f10: 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 5c  \src\trigger.c \
7f20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  .  $(TOP)\src\ut
7f30: 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  f.c \.  $(TOP)\s
7f40: 72 63 5c 75 70 64 61 74 65 2e 63 20 5c 0a 20 20  rc\update.c \.  
7f50: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e  $(TOP)\src\util.
7f60: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7f70: 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24 28  \vacuum.c \.  $(
7f80: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20  TOP)\src\vdbe.c 
7f90: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
7fa0: 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 54  dbeapi.c \.  $(T
7fb0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e  OP)\src\vdbeaux.
7fc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7fd0: 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 20  \vdbeblob.c \.  
7fe0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d  $(TOP)\src\vdbem
7ff0: 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  em.c \.  $(TOP)\
8000: 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 5c  src\vdbesort.c \
8010: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd
8020: 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24 28  betrace.c \.  $(
8030: 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20  TOP)\src\vtab.c 
8040: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
8050: 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  al.c \.  $(TOP)\
8060: 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a 20  src\walker.c \. 
8070: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher
8080: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
8090: 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 5c  rc\wherecode.c \
80a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  .  $(TOP)\src\wh
80b0: 65 72 65 65 78 70 72 2e 63 0a 0a 23 20 53 68 65  ereexpr.c..# She
80c0: 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ll source code f
80d0: 69 6c 65 73 2e 0a 23 0a 53 52 43 30 32 20 3d 20  iles..#.SRC02 = 
80e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
80f0: 68 65 6c 6c 2e 63 0a 0a 23 20 43 6f 72 65 20 6d  hell.c..# Core m
8100: 69 73 63 65 6c 6c 61 6e 65 6f 75 73 20 66 69 6c  iscellaneous fil
8110: 65 73 2e 0a 23 0a 53 52 43 30 33 20 3d 20 5c 0a  es..#.SRC03 = \.
8120: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72    $(TOP)\src\par
8130: 73 65 2e 79 0a 0a 23 20 43 6f 72 65 20 68 65 61  se.y..# Core hea
8140: 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20  der files, part 
8150: 31 2e 0a 23 0a 53 52 43 30 34 20 3d 20 5c 0a 20  1..#.SRC04 = \. 
8160: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre
8170: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.h \.  $(TOP)\s
8180: 72 63 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a  rc\btreeInt.h \.
8190: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73    $(TOP)\src\has
81a0: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  h.h \.  $(TOP)\s
81b0: 72 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20  rc\hwtime.h \.  
81c0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e  $(TOP)\src\msvc.
81d0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
81e0: 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 24 28 54  \mutex.h \.  $(T
81f0: 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20  OP)\src\os.h \. 
8200: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63   $(TOP)\src\os_c
8210: 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f  ommon.h \.  $(TO
8220: 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e  P)\src\os_setup.
8230: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8240: 5c 6f 73 5f 77 69 6e 2e 68 0a 0a 23 20 43 6f 72  \os_win.h..# Cor
8250: 65 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20  e header files, 
8260: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 35 20  part 2..#.SRC05 
8270: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  = \.  $(TOP)\src
8280: 5c 70 61 67 65 72 2e 68 20 5c 0a 20 20 24 28 54  \pager.h \.  $(T
8290: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68  OP)\src\pcache.h
82a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
82b0: 70 72 61 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54  pragma.h \.  $(T
82c0: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68  OP)\src\sqlite.h
82d0: 2e 69 6e 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  .in \.  $(TOP)\s
82e0: 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20  rc\sqlite3ext.h 
82f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
8300: 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24  qliteInt.h \.  $
8310: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
8320: 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f  Limit.h \.  $(TO
8330: 50 29 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a  P)\src\vdbe.h \.
8340: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
8350: 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eInt.h \.  $(TOP
8360: 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20  )\src\vxworks.h 
8370: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w
8380: 61 6c 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  al.h \.  $(TOP)\
8390: 73 72 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a  src\whereInt.h..
83a0: 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72  # Extension sour
83b0: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70  ce code files, p
83c0: 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 36 20 3d  art 1..#.SRC06 =
83d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
83e0: 66 74 73 31 5c 66 74 73 31 2e 63 20 5c 0a 20 20  fts1\fts1.c \.  
83f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\
8400: 66 74 73 31 5f 68 61 73 68 2e 63 20 5c 0a 20 20  fts1_hash.c \.  
8410: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\
8420: 66 74 73 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a  fts1_porter.c \.
8430: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8440: 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72  1\fts1_tokenizer
8450: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.c \.  $(TOP)\e
8460: 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 5c  xt\fts2\fts2.c \
8470: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8480: 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 5c  s2\fts2_hash.c \
8490: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
84a0: 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 20 5c 0a  s2\fts2_icu.c \.
84b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
84c0: 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20  2\fts2_porter.c 
84d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
84e0: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
84f0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
8500: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
8510: 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 23 20 45 78  kenizer1.c..# Ex
8520: 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63  tension source c
8530: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part 
8540: 32 2e 0a 23 0a 53 52 43 30 37 20 3d 20 5c 0a 20  2..#.SRC07 = \. 
8550: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8560: 5c 66 74 73 33 2e 63 20 5c 0a 20 20 24 28 54 4f  \fts3.c \.  $(TO
8570: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
8580: 5f 61 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _aux.c \.  $(TOP
8590: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
85a0: 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  expr.c \.  $(TOP
85b0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
85c0: 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50  hash.c \.  $(TOP
85d0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
85e0: 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  icu.c \.  $(TOP)
85f0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70  \ext\fts3\fts3_p
8600: 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  orter.c \.  $(TO
8610: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
8620: 5f 73 6e 69 70 70 65 74 2e 63 20 5c 0a 20 20 24  _snippet.c \.  $
8630: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8640: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20  ts3_tokenizer.c 
8650: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8660: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
8670: 65 72 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  er1.c \.  $(TOP)
8680: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
8690: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 5c  okenize_vtab.c \
86a0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
86b0: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e  s3\fts3_unicode.
86c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
86d0: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
86e0: 64 65 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  de2.c \.  $(TOP)
86f0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77  \ext\fts3\fts3_w
8700: 72 69 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rite.c \.  $(TOP
8710: 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20  )\ext\icu\icu.c 
8720: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r
8730: 74 72 65 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20  tree\rtree.c \. 
8740: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess
8750: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
8760: 6f 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  on.c \.  $(TOP)\
8770: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
8780: 62 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  bu.c \.  $(TOP)\
8790: 65 78 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63  ext\misc\json1.c
87a0: 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65  ..# Extension he
87b0: 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74  ader files, part
87c0: 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a   1..#.SRC08 = \.
87d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
87e0: 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54  1\fts1.h \.  $(T
87f0: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
8800: 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  1_hash.h \.  $(T
8810: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
8820: 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a  1_tokenizer.h \.
8830: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8840: 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54  2\fts2.h \.  $(T
8850: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
8860: 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  2_hash.h \.  $(T
8870: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
8880: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23  2_tokenizer.h..#
8890: 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65   Extension heade
88a0: 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e  r files, part 2.
88b0: 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20 24  .#.SRC09 = \.  $
88c0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
88d0: 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ts3.h \.  $(TOP)
88e0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e  \ext\fts3\fts3In
88f0: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  t.h \.  $(TOP)\e
8900: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73  xt\fts3\fts3_has
8910: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.h \.  $(TOP)\e
8920: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
8930: 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54  enizer.h \.  $(T
8940: 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69  OP)\ext\icu\sqli
8950: 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f  teicu.h \.  $(TO
8960: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72  P)\ext\rtree\rtr
8970: 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ee.h \.  $(TOP)\
8980: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
8990: 62 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  bu.h \.  $(TOP)\
89a0: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
89b0: 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20  te3session.h..# 
89c0: 47 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65  Generated source
89d0: 20 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53 52   code files.#.SR
89e0: 43 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65  C10 = \.  opcode
89f0: 73 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a  s.c \.  parse.c.
8a00: 0a 23 20 47 65 6e 65 72 61 74 65 64 20 68 65 61  .# Generated hea
8a10: 64 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43 31  der files.#.SRC1
8a20: 31 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68  1 = \.  keywordh
8a30: 61 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65  ash.h \.  opcode
8a40: 73 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68 20  s.h \.  parse.h 
8a50: 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 48 29 0a  \.  $(SQLITE3H).
8a60: 0a 23 20 47 65 6e 65 72 61 74 65 64 20 54 63 6c  .# Generated Tcl
8a70: 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a 23 0a   header files.#.
8a80: 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c  !IF $(USE_STDCAL
8a90: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W
8aa0: 49 4e 31 30 29 21 3d 30 0a 53 52 43 31 32 20 3d  IN10)!=0.SRC12 =
8ab0: 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 43 4c   \.  $(SQLITETCL
8ac0: 48 29 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 54  H) \.  $(SQLITET
8ad0: 43 4c 44 45 43 4c 53 48 29 0a 21 45 4c 53 45 0a  CLDECLSH).!ELSE.
8ae0: 53 52 43 31 32 20 3d 0a 21 45 4e 44 49 46 0a 0a  SRC12 =.!ENDIF..
8af0: 23 20 41 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64  # All source cod
8b00: 65 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 20 3d  e files..#.SRC =
8b10: 20 24 28 53 52 43 30 30 29 20 24 28 53 52 43 30   $(SRC00) $(SRC0
8b20: 31 29 20 24 28 53 52 43 30 32 29 20 24 28 53 52  1) $(SRC02) $(SR
8b30: 43 30 33 29 20 24 28 53 52 43 30 34 29 20 24 28  C03) $(SRC04) $(
8b40: 53 52 43 30 35 29 20 24 28 53 52 43 30 36 29 20  SRC05) $(SRC06) 
8b50: 24 28 53 52 43 30 37 29 20 24 28 53 52 43 30 38  $(SRC07) $(SRC08
8b60: 29 20 24 28 53 52 43 30 39 29 20 24 28 53 52 43  ) $(SRC09) $(SRC
8b70: 31 30 29 20 24 28 53 52 43 31 31 29 0a 0a 23 20  10) $(SRC11)..# 
8b80: 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f 20 74  Source code to t
8b90: 68 65 20 74 65 73 74 20 66 69 6c 65 73 2e 0a 23  he test files..#
8ba0: 0a 54 45 53 54 53 52 43 20 3d 20 5c 0a 20 20 24  .TESTSRC = \.  $
8bb0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 31 2e  (TOP)\src\test1.
8bc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8bd0: 5c 74 65 73 74 32 2e 63 20 5c 0a 20 20 24 28 54  \test2.c \.  $(T
8be0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 33 2e 63 20  OP)\src\test3.c 
8bf0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8c00: 65 73 74 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est4.c \.  $(TOP
8c10: 29 5c 73 72 63 5c 74 65 73 74 35 2e 63 20 5c 0a  )\src\test5.c \.
8c20: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8c30: 74 36 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t6.c \.  $(TOP)\
8c40: 73 72 63 5c 74 65 73 74 37 2e 63 20 5c 0a 20 20  src\test7.c \.  
8c50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 38  $(TOP)\src\test8
8c60: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8c70: 63 5c 74 65 73 74 39 2e 63 20 5c 0a 20 20 24 28  c\test9.c \.  $(
8c80: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 75  TOP)\src\test_au
8c90: 74 6f 65 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f  toext.c \.  $(TO
8ca0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 73 79 6e  P)\src\test_asyn
8cb0: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s
8cc0: 72 63 5c 74 65 73 74 5f 62 61 63 6b 75 70 2e 63  rc\test_backup.c
8cd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8ce0: 74 65 73 74 5f 62 65 73 74 69 6e 64 65 78 2e 63  test_bestindex.c
8cf0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8d00: 74 65 73 74 5f 62 6c 6f 62 2e 63 20 5c 0a 20 20  test_blob.c \.  
8d10: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
8d20: 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f  btree.c \.  $(TO
8d30: 50 29 5c 73 72 63 5c 74 65 73 74 5f 63 6f 6e 66  P)\src\test_conf
8d40: 69 67 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ig.c \.  $(TOP)\
8d50: 73 72 63 5c 74 65 73 74 5f 64 65 6c 65 74 65 2e  src\test_delete.
8d60: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8d70: 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73 2e 63 20  \test_demovfs.c 
8d80: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8d90: 65 73 74 5f 64 65 76 73 79 6d 2e 63 20 5c 0a 20  est_devsym.c \. 
8da0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8db0: 5f 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  _fs.c \.  $(TOP)
8dc0: 5c 73 72 63 5c 74 65 73 74 5f 66 75 6e 63 2e 63  \src\test_func.c
8dd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8de0: 74 65 73 74 5f 68 65 78 69 6f 2e 63 20 5c 0a 20  test_hexio.c \. 
8df0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8e00: 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 24 28 54 4f  _init.c \.  $(TO
8e10: 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 74 61  P)\src\test_inta
8e20: 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rray.c \.  $(TOP
8e30: 29 5c 73 72 63 5c 74 65 73 74 5f 6a 6f 75 72 6e  )\src\test_journ
8e40: 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  al.c \.  $(TOP)\
8e50: 73 72 63 5c 74 65 73 74 5f 6d 61 6c 6c 6f 63 2e  src\test_malloc.
8e60: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8e70: 5c 74 65 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e  \test_multiplex.
8e80: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8e90: 5c 74 65 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a  \test_mutex.c \.
8ea0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8eb0: 74 5f 6f 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20  t_onefile.c \.  
8ec0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
8ed0: 6f 73 69 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54  osinst.c \.  $(T
8ee0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 70 63 61  OP)\src\test_pca
8ef0: 63 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  che.c \.  $(TOP)
8f00: 5c 73 72 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e  \src\test_quota.
8f10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8f20: 5c 74 65 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a  \test_rtree.c \.
8f30: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8f40: 74 5f 73 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24  t_schema.c \.  $
8f50: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
8f60: 65 72 76 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  erver.c \.  $(TO
8f70: 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 75 70 65  P)\src\test_supe
8f80: 72 6c 6f 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f  rlock.c \.  $(TO
8f90: 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 79 73 63  P)\src\test_sysc
8fa0: 61 6c 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  all.c \.  $(TOP)
8fb0: 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 72  \src\test_tclvar
8fc0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8fd0: 63 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63 20  c\test_thread.c 
8fe0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8ff0: 65 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28  est_vfs.c \.  $(
9000: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69  TOP)\src\test_wi
9010: 6e 64 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28  ndirent.c \.  $(
9020: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 73  TOP)\src\test_ws
9030: 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  d.c \.  $(TOP)\e
9040: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 65 72  xt\fts3\fts3_ter
9050: 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  m.c \.  $(TOP)\e
9060: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 65 73  xt\fts3\fts3_tes
9070: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  t.c \.  $(TOP)\e
9080: 78 74 5c 72 62 75 5c 74 65 73 74 5f 72 62 75 2e  xt\rbu\test_rbu.
9090: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
90a0: 5c 73 65 73 73 69 6f 6e 5c 74 65 73 74 5f 73 65  \session\test_se
90b0: 73 73 69 6f 6e 2e 63 0a 0a 23 20 53 74 61 74 69  ssion.c..# Stati
90c0: 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 20 65 78 74  cally linked ext
90d0: 65 6e 73 69 6f 6e 73 2e 0a 23 0a 54 45 53 54 45  ensions..#.TESTE
90e0: 58 54 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  XT = \.  $(TOP)\
90f0: 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74  ext\expert\sqlit
9100: 65 33 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24  e3expert.c \.  $
9110: 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74  (TOP)\ext\expert
9120: 5c 74 65 73 74 5f 65 78 70 65 72 74 2e 63 20 5c  \test_expert.c \
9130: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9140: 73 63 5c 61 6d 61 74 63 68 2e 63 20 5c 0a 20 20  sc\amatch.c \.  
9150: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9160: 63 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54  carray.c \.  $(T
9170: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6c 6f  OP)\ext\misc\clo
9180: 73 75 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sure.c \.  $(TOP
9190: 29 5c 65 78 74 5c 6d 69 73 63 5c 63 73 76 2e 63  )\ext\misc\csv.c
91a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
91b0: 6d 69 73 63 5c 65 76 61 6c 2e 63 20 5c 0a 20 20  misc\eval.c \.  
91c0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
91d0: 66 69 6c 65 69 6f 2e 63 20 5c 0a 20 20 24 28 54  fileio.c \.  $(T
91e0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 75 7a  OP)\ext\misc\fuz
91f0: 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  zer.c \.  $(TOP)
9200: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74  \ext\fts5\fts5_t
9210: 63 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cl.c \.  $(TOP)\
9220: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 65  ext\fts5\fts5_te
9230: 73 74 5f 6d 69 2e 63 20 5c 0a 20 20 24 28 54 4f  st_mi.c \.  $(TO
9240: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
9250: 5f 74 65 73 74 5f 74 6f 6b 2e 63 20 5c 0a 20 20  _test_tok.c \.  
9260: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9270: 69 65 65 65 37 35 34 2e 63 20 5c 0a 20 20 24 28  ieee754.c \.  $(
9280: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e 65  TOP)\ext\misc\ne
9290: 78 74 63 68 61 72 2e 63 20 5c 0a 20 20 24 28 54  xtchar.c \.  $(T
92a0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 70 65 72  OP)\ext\misc\per
92b0: 63 65 6e 74 69 6c 65 2e 63 20 5c 0a 20 20 24 28  centile.c \.  $(
92c0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65  TOP)\ext\misc\re
92d0: 67 65 78 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50  gexp.c \.  $(TOP
92e0: 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65 6d 65 6d  )\ext\misc\remem
92f0: 62 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ber.c \.  $(TOP)
9300: 5c 65 78 74 5c 6d 69 73 63 5c 73 65 72 69 65 73  \ext\misc\series
9310: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
9320: 74 5c 6d 69 73 63 5c 73 70 65 6c 6c 66 69 78 2e  t\misc\spellfix.
9330: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9340: 5c 6d 69 73 63 5c 74 6f 74 79 70 65 2e 63 20 5c  \misc\totype.c \
9350: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9360: 73 63 5c 77 68 6f 6c 65 6e 75 6d 62 65 72 2e 63  sc\wholenumber.c
9370: 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20  ..# Source code 
9380: 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 20 66  to the library f
9390: 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79 20 74  iles needed by t
93a0: 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65 0a  he test fixture.
93b0: 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74  # (non-amalgamat
93c0: 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43 32 20  ion).#.TESTSRC2 
93d0: 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29 20 5c  = \.  $(SRC00) \
93e0: 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a 20 20  .  $(SRC01) \.  
93f0: 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24 28 53  $(SRC06) \.  $(S
9400: 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52 43 31  RC07) \.  $(SRC1
9410: 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  0) \.  $(TOP)\ex
9420: 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65 33 61  t\async\sqlite3a
9430: 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64 65 72  sync.c..# Header
9440: 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 61   files used by a
9450: 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75 72 63  ll library sourc
9460: 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20 3d  e files..#.HDR =
9470: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9480: 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20 24 28  \btree.h \.   $(
9490: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e  TOP)\src\btreeIn
94a0: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.h \.   $(TOP)\
94b0: 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 20  src\hash.h \.   
94c0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d  $(TOP)\src\hwtim
94d0: 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f 72 64  e.h \.   keyword
94e0: 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f  hash.h \.   $(TO
94f0: 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a  P)\src\msvc.h \.
9500: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75     $(TOP)\src\mu
9510: 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63 6f 64  tex.h \.   opcod
9520: 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  es.h \.   $(TOP)
9530: 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 20 24  \src\os.h \.   $
9540: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d  (TOP)\src\os_com
9550: 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  mon.h \.   $(TOP
9560: 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68  )\src\os_setup.h
9570: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9580: 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 24  \os_win.h \.   $
9590: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
95a0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
95b0: 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 20  c\pcache.h \.   
95c0: 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54  parse.h \.   $(T
95d0: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68  OP)\src\pragma.h
95e0: 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45 33 48   \.   $(SQLITE3H
95f0: 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 33 65 78  ) \.   sqlite3ex
9600: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.h \.   $(TOP)\
9610: 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20  src\sqliteInt.h 
9620: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
9630: 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a  sqliteLimit.h \.
9640: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64     $(TOP)\src\vd
9650: 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  be.h \.   $(TOP)
9660: 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c  \src\vdbeInt.h \
9670: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  .   $(TOP)\src\v
9680: 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28  xworks.h \.   $(
9690: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e  TOP)\src\whereIn
96a0: 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20 66 69  t.h..# Header fi
96b0: 6c 65 73 20 75 73 65 64 20 62 79 20 65 78 74 65  les used by exte
96c0: 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20  nsions.#.EXTHDR 
96d0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
96e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\
96f0: 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts1.h \.  $(TOP
9700: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f  )\ext\fts1\fts1_
9710: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50  hash.h \.  $(TOP
9720: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f  )\ext\fts1\fts1_
9730: 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48  tokenizer.h.EXTH
9740: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
9750: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9760: 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28  s2\fts2.h \.  $(
9770: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
9780: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s2_hash.h \.  $(
9790: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
97a0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45  s2_tokenizer.h.E
97b0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
97c0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
97d0: 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20  \fts3\fts3.h \. 
97e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
97f0: 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24  \fts3Int.h \.  $
9800: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9810: 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts3_hash.h \.  $
9820: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9830: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a  ts3_tokenizer.h.
9840: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD
9850: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  R) \.  $(TOP)\ex
9860: 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 68 0a  t\rtree\rtree.h.
9870: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD
9880: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  R) \.  $(TOP)\ex
9890: 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e  t\icu\sqliteicu.
98a0: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
98b0: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
98c0: 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 74 65  ext\rtree\sqlite
98d0: 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52 20  3rtree.h.EXTHDR 
98e0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
98f0: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi
9900: 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f  on\sqlite3sessio
9910: 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 62 6c  n.h..# executabl
9920: 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74 65  es needed for te
9930: 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 4f 47  sting.#.TESTPROG
9940: 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 78 74  S = \.  testfixt
9950: 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 53 51  ure.exe \.  $(SQ
9960: 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20 73 71  LITE3EXE) \.  sq
9970: 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65  lite3_analyzer.e
9980: 78 65 20 5c 0a 20 20 73 71 6c 64 69 66 66 2e 65  xe \.  sqldiff.e
9990: 78 65 20 5c 0a 20 20 64 62 68 61 73 68 2e 65 78  xe \.  dbhash.ex
99a0: 65 0a 0a 23 20 44 61 74 61 62 61 73 65 73 20 63  e..# Databases c
99b0: 6f 6e 74 61 69 6e 69 6e 67 20 66 75 7a 7a 65 72  ontaining fuzzer
99c0: 20 74 65 73 74 20 63 61 73 65 73 0a 23 0a 46 55   test cases.#.FU
99d0: 5a 5a 44 41 54 41 20 3d 20 5c 0a 20 20 24 28 54  ZZDATA = \.  $(T
99e0: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74  OP)\test\fuzzdat
99f0: 61 31 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29  a1.db \.  $(TOP)
9a00: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 32 2e  \test\fuzzdata2.
9a10: 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65  db \.  $(TOP)\te
9a20: 73 74 5c 66 75 7a 7a 64 61 74 61 33 2e 64 62 20  st\fuzzdata3.db 
9a30: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\
9a40: 66 75 7a 7a 64 61 74 61 34 2e 64 62 20 5c 0a 20  fuzzdata4.db \. 
9a50: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a   $(TOP)\test\fuz
9a60: 7a 64 61 74 61 35 2e 64 62 0a 23 20 3c 3c 2f 6d  zdata5.db.# <</m
9a70: 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 69 74 69 6f  ark>>..# Additio
9a80: 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74  nal compiler opt
9a90: 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 73 68 65  ions for the she
9aa0: 6c 6c 2e 20 20 54 68 65 73 65 20 61 72 65 20 6f  ll.  These are o
9ab0: 6e 6c 79 20 65 66 66 65 63 74 69 76 65 0a 23 20  nly effective.# 
9ac0: 77 68 65 6e 20 74 68 65 20 73 68 65 6c 6c 20 69  when the shell i
9ad0: 73 20 6e 6f 74 20 62 65 69 6e 67 20 64 79 6e 61  s not being dyna
9ae0: 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 2e 0a  mically linked..
9af0: 23 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f  #.!IF $(DYNAMIC_
9b00: 53 48 45 4c 4c 29 3d 3d 30 20 26 26 20 24 28 46  SHELL)==0 && $(F
9b10: 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 0a 53 48 45  OR_WIN10)==0.SHE
9b20: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  LL_COMPILE_OPTS 
9b30: 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  = $(SHELL_COMPIL
9b40: 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45  E_OPTS) -DSQLITE
9b50: 5f 53 48 45 4c 4c 5f 4a 53 4f 4e 31 20 2d 44 53  _SHELL_JSON1 -DS
9b60: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53  QLITE_ENABLE_FTS
9b70: 34 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  4 -DSQLITE_ENABL
9b80: 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e  E_EXPLAIN_COMMEN
9b90: 54 53 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d  TS.!ENDIF..# <<m
9ba0: 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20 63 6f  ark>>.# Extra co
9bb0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66  mpiler options f
9bc0: 6f 72 20 76 61 72 69 6f 75 73 20 74 65 73 74 20  or various test 
9bd0: 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53 54 45  tools..#.MPTESTE
9be0: 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  R_COMPILE_OPTS =
9bf0: 20 2d 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f   -DSQLITE_SHELL_
9c00: 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45  JSON1 -DSQLITE_E
9c10: 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55 5a 5a 45  NABLE_FTS5.FUZZE
9c20: 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  RSHELL_COMPILE_O
9c30: 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45  PTS = -DSQLITE_E
9c40: 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55 5a 5a  NABLE_JSON1.FUZZ
9c50: 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50  CHECK_COMPILE_OP
9c60: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TS = -DSQLITE_EN
9c70: 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c  ABLE_JSON1 -DSQL
9c80: 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d 53 59  ITE_ENABLE_MEMSY
9c90: 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f 53 53 5f  S5 -DSQLITE_OSS_
9ca0: 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45 5f 4d 41  FUZZ -DSQLITE_MA
9cb0: 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30 30 30 30  X_MEMORY=5000000
9cc0: 30 0a 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 20  0.FUZZCHECK_SRC 
9cd0: 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75  = $(TOP)\test\fu
9ce0: 7a 7a 63 68 65 63 6b 2e 63 20 24 28 54 4f 50 29  zzcheck.c $(TOP)
9cf0: 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a  \test\ossfuzz.c.
9d00: 4f 53 53 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24  OSSSHELL_SRC = $
9d10: 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 73 68  (TOP)\test\osssh
9d20: 65 6c 6c 2e 63 20 24 28 54 4f 50 29 5c 74 65 73  ell.c $(TOP)\tes
9d30: 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 44 42 46 55  t\ossfuzz.c.DBFU
9d40: 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  ZZ_COMPILE_OPTS 
9d50: 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  = -DSQLITE_THREA
9d60: 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
9d70: 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
9d80: 53 49 4f 4e 0a 4b 56 5f 43 4f 4d 50 49 4c 45 5f  SION.KV_COMPILE_
9d90: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
9da0: 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
9db0: 51 4c 49 54 45 5f 44 49 52 45 43 54 5f 4f 56 45  QLITE_DIRECT_OVE
9dc0: 52 46 4c 4f 57 5f 52 45 41 44 0a 44 42 53 45 4c  RFLOW_READ.DBSEL
9dd0: 46 54 45 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50  FTEST_COMPILE_OP
9de0: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48  TS = -DSQLITE_TH
9df0: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
9e00: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
9e10: 54 45 4e 53 49 4f 4e 20 2d 44 53 51 4c 49 54 45  TENSION -DSQLITE
9e20: 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 20 2d 44  _ENABLE_RTREE -D
9e30: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54  SQLITE_ENABLE_FT
9e40: 53 34 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S4 -DSQLITE_ENAB
9e50: 4c 45 5f 46 54 53 35 0a 53 54 5f 43 4f 4d 50 49  LE_FTS5.ST_COMPI
9e60: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  LE_OPTS = -DSQLI
9e70: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 0a  TE_THREADSAFE=0.
9e80: 0a 23 20 53 74 61 6e 64 61 72 64 20 6f 70 74 69  .# Standard opti
9e90: 6f 6e 73 20 74 6f 20 74 65 73 74 66 69 78 74 75  ons to testfixtu
9ea0: 72 65 2e 0a 23 0a 54 45 53 54 4f 50 54 53 20 3d  re..#.TESTOPTS =
9eb0: 20 2d 2d 76 65 72 62 6f 73 65 3d 66 69 6c 65 20   --verbose=file 
9ec0: 2d 2d 6f 75 74 70 75 74 3d 74 65 73 74 2d 6f 75  --output=test-ou
9ed0: 74 2e 74 78 74 0a 0a 23 20 45 78 74 72 61 20 74  t.txt..# Extra t
9ee0: 61 72 67 65 74 73 20 66 6f 72 20 74 68 65 20 22  argets for the "
9ef0: 61 6c 6c 22 20 74 61 72 67 65 74 20 74 68 61 74  all" target that
9f00: 20 72 65 71 75 69 72 65 20 54 63 6c 2e 0a 23 0a   require Tcl..#.
9f10: 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30  !IF $(NO_TCL)==0
9f20: 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53  .ALL_TCL_TARGETS
9f30: 20 3d 20 6c 69 62 74 63 6c 73 71 6c 69 74 65 33   = libtclsqlite3
9f40: 2e 6c 69 62 0a 21 45 4c 53 45 0a 41 4c 4c 5f 54  .lib.!ELSE.ALL_T
9f50: 43 4c 5f 54 41 52 47 45 54 53 20 3d 0a 21 45 4e  CL_TARGETS =.!EN
9f60: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
9f70: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 64  .# This is the d
9f80: 65 66 61 75 6c 74 20 4d 61 6b 65 66 69 6c 65 20  efault Makefile 
9f90: 74 61 72 67 65 74 2e 20 20 54 68 65 20 6f 62 6a  target.  The obj
9fa0: 65 63 74 73 20 6c 69 73 74 65 64 20 68 65 72 65  ects listed here
9fb0: 0a 23 20 61 72 65 20 77 68 61 74 20 67 65 74 20  .# are what get 
9fc0: 62 75 69 6c 64 20 77 68 65 6e 20 79 6f 75 20 74  build when you t
9fd0: 79 70 65 20 6a 75 73 74 20 22 6d 61 6b 65 22 20  ype just "make" 
9fe0: 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74  with no argument
9ff0: 73 2e 0a 23 0a 61 6c 6c 3a 09 64 6c 6c 20 6c 69  s..#.all:.dll li
a000: 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 73 68 65  bsqlite3.lib she
a010: 6c 6c 20 24 28 41 4c 4c 5f 54 43 4c 5f 54 41 52  ll $(ALL_TCL_TAR
a020: 47 45 54 53 29 0a 0a 23 20 44 79 6e 61 6d 69 63  GETS)..# Dynamic
a030: 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 73 65   link library se
a040: 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09 24 28  ction..#.dll:.$(
a050: 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23 20 53  SQLITE3DLL)..# S
a060: 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e  hell executable.
a070: 0a 23 0a 73 68 65 6c 6c 3a 09 24 28 53 51 4c 49  .#.shell:.$(SQLI
a080: 54 45 33 45 58 45 29 0a 0a 23 20 3c 3c 6d 61 72  TE3EXE)..# <<mar
a090: 6b 3e 3e 0a 6c 69 62 73 71 6c 69 74 65 33 2e 6c  k>>.libsqlite3.l
a0a0: 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a 09 24  ib:.$(LIBOBJ)..$
a0b0: 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f  (LTLIB) $(LTLIBO
a0c0: 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c  PTS) /OUT:$@ $(L
a0d0: 49 42 4f 42 4a 29 20 24 28 54 4c 49 42 53 29 0a  IBOBJ) $(TLIBS).
a0e0: 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c  .libtclsqlite3.l
a0f0: 69 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e 6c 6f  ib:.tclsqlite.lo
a100: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a   libsqlite3.lib.
a110: 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49  .$(LTLIB) $(LTLI
a120: 42 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  BOPTS) $(LTLIBPA
a130: 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c  THS) /OUT:$@ tcl
a140: 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c  sqlite.lo libsql
a150: 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 54 43  ite3.lib $(LIBTC
a160: 4c 53 54 55 42 29 20 24 28 54 4c 49 42 53 29 0a  LSTUB) $(TLIBS).
a170: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53  # <</mark>>..$(S
a180: 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28 4c 49  QLITE3DLL):.$(LI
a190: 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42  BOBJ) $(LIBRESOB
a1a0: 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f  JS) $(CORE_LINK_
a1b0: 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28 4c 44  DEP)..$(LD) $(LD
a1c0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
a1d0: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH
a1e0: 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45 5f 4c  S) /DLL $(CORE_L
a1f0: 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54 3a 24  INK_OPTS) /OUT:$
a200: 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49  @ $(LIBOBJ) $(LI
a210: 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI
a220: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20  BS) $(TLIBS)..# 
a230: 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74  <<block2>>.sqlit
a240: 65 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c 69 74  e3.def:.libsqlit
a250: 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45 58 50  e3.lib..echo EXP
a260: 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33 2e 64  ORTS > sqlite3.d
a270: 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c  ef..dumpbin /all
a280: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20   libsqlite3.lib 
a290: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
a2a0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
a2b0: 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75  eplace.tcl inclu
a2c0: 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c  de "^\s+1 _?(sql
a2d0: 69 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e 7c 63  ite3(?:session|c
a2e0: 68 61 6e 67 65 73 65 74 29 3f 5f 5b 5e 40 5d 2a  hangeset)?_[^@]*
a2f0: 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31  )(?:@\d+)?$$" \1
a300: 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20 73   \...| sort >> s
a310: 71 6c 69 74 65 33 2e 64 65 66 0a 23 20 3c 3c 2f  qlite3.def.# <</
a320: 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49  block2>>..$(SQLI
a330: 54 45 33 45 58 45 29 3a 09 24 28 54 4f 50 29 5c  TE3EXE):.$(TOP)\
a340: 73 72 63 5c 73 68 65 6c 6c 2e 63 20 24 28 53 48  src\shell.c $(SH
a350: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28  ELL_CORE_DEP) $(
a360: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 53 48  LIBRESOBJS) $(SH
a370: 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 24 28  ELL_CORE_SRC) $(
a380: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
a390: 49 4e 4b 29 20 24 28 53 48 45 4c 4c 5f 43 4f 4d  INK) $(SHELL_COM
a3a0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 52 45 41  PILE_OPTS) $(REA
a3b0: 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20 24 28 54  DLINE_FLAGS) $(T
a3c0: 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 20  OP)\src\shell.c 
a3d0: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43  $(SHELL_CORE_SRC
a3e0: 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51  ) \.../link $(SQ
a3f0: 4c 49 54 45 33 45 58 45 50 44 42 29 20 24 28 4c  LITE3EXEPDB) $(L
a400: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
a410: 4f 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49  OPTS) $(SHELL_LI
a420: 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  NK_OPTS) $(LTLIB
a430: 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO
a440: 42 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49  BJS) $(LIBREADLI
a450: 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  NE) $(LTLIBS) $(
a460: 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b  TLIBS)..# <<mark
a470: 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09  >>.sqldiff.exe:.
a480: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64  $(TOP)\tool\sqld
a490: 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iff.c $(SQLITE3C
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 4e 4f 5f 57 41  (LTLINK) $(NO_WA
a4c0: 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\
a4d0: 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49  sqldiff.c $(SQLI
a4e0: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
a4f0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
a500: 50 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65  PTS)..dbhash.exe
a510: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62  :.$(TOP)\tool\db
a520: 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33  hash.c $(SQLITE3
a530: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
a540: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
a550: 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  ARN) $(TOP)\tool
a560: 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49  \dbhash.c $(SQLI
a570: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
a580: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
a590: 50 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a  PTS)..scrub.exe:
a5a0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63  .$(TOP)\ext\misc
a5b0: 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54  \scrub.c $(SQLIT
a5c0: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
a5d0: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
a5e0: 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 65 78  _WARN) $(TOP)\ex
a5f0: 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24  t\misc\scrub.c $
a600: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
a610: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
a620: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b  LINKOPTS)..srcck
a630: 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  1.exe:.$(TOP)\to
a640: 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24 28 42  ol\srcck1.c..$(B
a650: 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  CC) $(NO_WARN) -
a660: 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  Fe$@ $(TOP)\tool
a670: 5c 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63  \srcck1.c..sourc
a680: 65 74 65 73 74 3a 09 73 72 63 63 6b 31 2e 65 78  etest:.srcck1.ex
a690: 65 20 73 71 6c 69 74 65 33 2e 63 0a 09 73 72 63  e sqlite3.c..src
a6a0: 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e  ck1.exe sqlite3.
a6b0: 63 0a 0a 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65  c..fuzzershell.e
a6c0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
a6d0: 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28  fuzzershell.c $(
a6e0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
a6f0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
a700: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55   $(NO_WARN) $(FU
a710: 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  ZZERSHELL_COMPIL
a720: 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74  E_OPTS) $(TOP)\t
a730: 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e  ool\fuzzershell.
a740: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
a750: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
a760: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62  (LTLINKOPTS)..db
a770: 66 75 7a 7a 2e 65 78 65 3a 09 24 28 54 4f 50 29  fuzz.exe:.$(TOP)
a780: 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24  \test\dbfuzz.c $
a790: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
a7a0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
a7b0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 44  ) $(NO_WARN) $(D
a7c0: 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50  BFUZZ_COMPILE_OP
a7d0: 54 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  TS) $(TOP)\test\
a7e0: 64 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54  dbfuzz.c $(SQLIT
a7f0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
a800: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
a810: 54 53 29 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e 65  TS)..fuzzcheck.e
a820: 78 65 3a 09 24 28 46 55 5a 5a 43 48 45 43 4b 5f  xe:.$(FUZZCHECK_
a830: 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29  SRC) $(SQLITE3C)
a840: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
a850: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
a860: 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43  N) $(FUZZCHECK_C
a870: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 46  OMPILE_OPTS) $(F
a880: 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28  UZZCHECK_SRC) $(
a890: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
a8a0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
a8b0: 49 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73 73 68 65  INKOPTS)..ossshe
a8c0: 6c 6c 2e 65 78 65 3a 09 24 28 4f 53 53 53 48 45  ll.exe:.$(OSSSHE
a8d0: 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45  LL_SRC) $(SQLITE
a8e0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
a8f0: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
a900: 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43  WARN) $(FUZZCHEC
a910: 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  K_COMPILE_OPTS) 
a920: 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29 20  $(OSSSHELL_SRC) 
a930: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
a940: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
a950: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6d 70 74 65  TLINKOPTS)..mpte
a960: 73 74 65 72 2e 65 78 65 3a 09 24 28 54 4f 50 29  ster.exe:.$(TOP)
a970: 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63  \mptest\mptest.c
a980: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
a990: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
a9a0: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
a9b0: 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c  (MPTESTER_COMPIL
a9c0: 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 6d  E_OPTS) $(TOP)\m
a9d0: 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24  ptest\mptest.c $
a9e0: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
a9f0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
aa00: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53  LINKOPTS)..MPTES
aa10: 54 31 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70  T1 = mptester mp
aa20: 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d  test.db $(TOP)\m
aa30: 70 74 65 73 74 5c 63 72 61 73 68 30 31 2e 74 65  ptest\crash01.te
aa40: 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d  st --repeat 20.M
aa50: 50 54 45 53 54 32 20 3d 20 6d 70 74 65 73 74 65  PTEST2 = mpteste
aa60: 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f  r mptest.db $(TO
aa70: 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77  P)\mptest\multiw
aa80: 72 69 74 65 30 31 2e 74 65 73 74 20 2d 2d 72 65  rite01.test --re
aa90: 70 65 61 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a  peat 20..mptest:
aaa0: 09 6d 70 74 65 73 74 65 72 2e 65 78 65 0a 09 64  .mptester.exe..d
aab0: 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e 64 62 20  el /Q mptest.db 
aac0: 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45 53 54 31  2>NUL..$(MPTEST1
aad0: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode 
aae0: 44 45 4c 45 54 45 0a 09 24 28 4d 50 54 45 53 54  DELETE..$(MPTEST
aaf0: 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65  2) --journalmode
ab00: 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 31 29   WAL..$(MPTEST1)
ab10: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57   --journalmode W
ab20: 41 4c 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d  AL..$(MPTEST2) -
ab30: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52  -journalmode PER
ab40: 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54 31 29  SIST..$(MPTEST1)
ab50: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50   --journalmode P
ab60: 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54  ERSIST..$(MPTEST
ab70: 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65  2) --journalmode
ab80: 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54   TRUNCATE..$(MPT
ab90: 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST1) --journalm
aba0: 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28  ode TRUNCATE..$(
abb0: 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e  MPTEST2) --journ
abc0: 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23  almode DELETE..#
abd0: 20 54 68 69 73 20 74 61 72 67 65 74 20 63 72 65   This target cre
abe0: 61 74 65 73 20 61 20 64 69 72 65 63 74 6f 72 79  ates a directory
abf0: 20 6e 61 6d 65 64 20 22 74 73 72 63 22 20 61 6e   named "tsrc" an
ac00: 64 20 66 69 6c 6c 73 20 69 74 20 77 69 74 68 0a  d fills it with.
ac10: 23 20 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20  # copies of all 
ac20: 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 20  of the C source 
ac30: 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 20  code and header 
ac40: 66 69 6c 65 73 20 6e 65 65 64 65 64 20 74 6f 0a  files needed to.
ac50: 23 20 62 75 69 6c 64 20 6f 6e 20 74 68 65 20 74  # build on the t
ac60: 61 72 67 65 74 20 73 79 73 74 65 6d 2e 20 20 53  arget system.  S
ac70: 6f 6d 65 20 6f 66 20 74 68 65 20 43 20 73 6f 75  ome of the C sou
ac80: 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61  rce code and hea
ac90: 64 65 72 0a 23 20 66 69 6c 65 73 20 61 72 65 20  der.# files are 
aca0: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65  automatically ge
acb0: 6e 65 72 61 74 65 64 2e 20 20 54 68 69 73 20 74  nerated.  This t
acc0: 61 72 67 65 74 20 74 61 6b 65 73 20 63 61 72 65  arget takes care
acd0: 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61 74 20 61   of.# all that a
ace0: 75 74 6f 6d 61 74 69 63 20 67 65 6e 65 72 61 74  utomatic generat
acf0: 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73  ion..#..target_s
ad00: 6f 75 72 63 65 3a 09 24 28 53 52 43 29 20 24 28  ource:.$(SRC) $(
ad10: 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63  TOP)\tool\vdbe-c
ad20: 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66 74 73 35  ompress.tcl fts5
ad30: 2e 63 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f  .c $(SQLITE_TCL_
ad40: 44 45 50 29 0a 09 2d 72 6d 64 69 72 20 2f 51 2f  DEP)..-rmdir /Q/
ad50: 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d 6d  S tsrc 2>NUL..-m
ad60: 6b 64 69 72 20 74 73 72 63 0a 09 66 6f 72 20 25  kdir tsrc..for %
ad70: 69 20 69 6e 20 28 24 28 53 52 43 30 30 29 29 20  i in ($(SRC00)) 
ad80: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
ad90: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
ada0: 28 53 52 43 30 31 29 29 20 64 6f 20 63 6f 70 79  (SRC01)) do copy
adb0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
adc0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 32 29   %i in ($(SRC02)
add0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
ade0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
adf0: 28 24 28 53 52 43 30 33 29 29 20 64 6f 20 63 6f  ($(SRC03)) do co
ae00: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
ae10: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
ae20: 34 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  4)) do copy /Y %
ae30: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
ae40: 6e 20 28 24 28 53 52 43 30 35 29 29 20 64 6f 20  n ($(SRC05)) do 
ae50: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
ae60: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
ae70: 43 30 36 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C06)) do copy /Y
ae80: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
ae90: 20 69 6e 20 28 24 28 53 52 43 30 37 29 29 20 64   in ($(SRC07)) d
aea0: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
aeb0: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
aec0: 53 52 43 30 38 29 29 20 64 6f 20 63 6f 70 79 20  SRC08)) do copy 
aed0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
aee0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 39 29 29  %i in ($(SRC09))
aef0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
af00: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
af10: 24 28 53 52 43 31 30 29 29 20 64 6f 20 63 6f 70  $(SRC10)) do cop
af20: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
af30: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 31  r %i in ($(SRC11
af40: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
af50: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
af60: 20 28 24 28 53 52 43 31 32 29 29 20 64 6f 20 63   ($(SRC12)) do c
af70: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
af80: 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 63 20 74  copy /Y fts5.c t
af90: 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73  src..copy /Y fts
afa0: 35 2e 68 20 74 73 72 63 0a 09 64 65 6c 20 2f 51  5.h tsrc..del /Q
afb0: 20 74 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69   tsrc\sqlite.h.i
afc0: 6e 20 74 73 72 63 5c 70 61 72 73 65 2e 79 20 32  n tsrc\parse.y 2
afd0: 3e 4e 55 4c 0a 09 24 28 54 43 4c 53 48 5f 43 4d  >NUL..$(TCLSH_CM
afe0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76  D) $(TOP)\tool\v
aff0: 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c  dbe-compress.tcl
b000: 20 24 28 4f 50 54 53 29 20 3c 20 74 73 72 63 5c   $(OPTS) < tsrc\
b010: 76 64 62 65 2e 63 20 3e 20 76 64 62 65 2e 6e 65  vdbe.c > vdbe.ne
b020: 77 0a 09 6d 6f 76 65 20 76 64 62 65 2e 6e 65 77  w..move vdbe.new
b030: 20 74 73 72 63 5c 76 64 62 65 2e 63 0a 09 65 63   tsrc\vdbe.c..ec
b040: 68 6f 20 3e 20 2e 74 61 72 67 65 74 5f 73 6f 75  ho > .target_sou
b050: 72 63 65 0a 0a 73 71 6c 69 74 65 33 2e 63 3a 09  rce..sqlite3.c:.
b060: 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20 73  .target_source s
b070: 71 6c 69 74 65 33 65 78 74 2e 68 20 24 28 4d 4b  qlite3ext.h $(MK
b080: 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 29 0a 09  SQLITE3C_TOOL)..
b090: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 4d  $(TCLSH_CMD) $(M
b0a0: 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 29 20  KSQLITE3C_TOOL) 
b0b0: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  $(MKSQLITE3C_ARG
b0c0: 53 29 0a 09 63 6f 70 79 20 74 73 72 63 5c 73 68  S)..copy tsrc\sh
b0d0: 65 6c 6c 2e 63 20 2e 0a 09 63 6f 70 79 20 24 28  ell.c ...copy $(
b0e0: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
b0f0: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
b100: 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61 6c 6c  h ...sqlite3-all
b110: 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63 20 24 28  .c:.sqlite3.c $(
b120: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d  TOP)\tool\split-
b130: 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 24 28  sqlite3c.tcl..$(
b140: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
b150: 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c  )\tool\split-sql
b160: 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d  ite3c.tcl.# <</m
b170: 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f  ark>>..# Rule to
b180: 20 62 75 69 6c 64 20 74 68 65 20 61 6d 61 6c 67   build the amalg
b190: 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 65  amation.#.sqlite
b1a0: 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 33 43  3.lo:.$(SQLITE3C
b1b0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
b1c0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
b1d0: 50 54 53 29 20 2d 63 20 24 28 53 51 4c 49 54 45  PTS) -c $(SQLITE
b1e0: 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  3C)..# <<mark>>.
b1f0: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
b200: 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69   the LEMON compi
b210: 6c 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 23 0a  ler generator.#.
b220: 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f 50 29  lempar.c:.$(TOP)
b230: 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09  \tool\lempar.c..
b240: 63 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  copy $(TOP)\tool
b250: 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d  \lempar.c ...lem
b260: 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  on.exe:.$(TOP)\t
b270: 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70  ool\lemon.c lemp
b280: 61 72 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e  ar.c..$(BCC) $(N
b290: 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63 65 73 73  O_WARN) -Daccess
b2a0: 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d 46 65  =_access \...-Fe
b2b0: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  $@ $(TOP)\tool\l
b2c0: 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c  emon.c /link $(L
b2d0: 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e  DFLAGS) $(NLTLIN
b2e0: 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50  KOPTS) $(NLTLIBP
b2f0: 41 54 48 53 29 0a 0a 23 20 52 75 6c 65 73 20 74  ATHS)..# Rules t
b300: 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75  o build individu
b310: 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72  al *.lo files fr
b320: 6f 6d 20 67 65 6e 65 72 61 74 65 64 20 2a 2e 63  om generated *.c
b330: 20 66 69 6c 65 73 2e 20 54 68 69 73 0a 23 20 61   files. This.# a
b340: 70 70 6c 69 65 73 20 74 6f 3a 0a 23 0a 23 20 20  pplies to:.#.#  
b350: 20 20 20 70 61 72 73 65 2e 6c 6f 0a 23 20 20 20     parse.lo.#   
b360: 20 20 6f 70 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70    opcodes.lo.#.p
b370: 61 72 73 65 2e 6c 6f 3a 09 70 61 72 73 65 2e 63  arse.lo:.parse.c
b380: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b390: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b3a0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 70 61  PILE_OPTS) -c pa
b3b0: 72 73 65 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c  rse.c..opcodes.l
b3c0: 6f 3a 09 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28  o:.opcodes.c..$(
b3d0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b3e0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b3f0: 2d 63 20 6f 70 63 6f 64 65 73 2e 63 0a 23 20 3c  -c opcodes.c.# <
b400: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65  </mark>>..# Rule
b410: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 57 69   to build the Wi
b420: 6e 33 32 20 72 65 73 6f 75 72 63 65 73 20 6f 62  n32 resources ob
b430: 6a 65 63 74 20 66 69 6c 65 2e 0a 23 0a 21 49 46  ject file..#.!IF
b440: 20 24 28 55 53 45 5f 52 43 29 21 3d 30 0a 23 20   $(USE_RC)!=0.# 
b450: 3c 3c 62 6c 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42  <<block1>>.$(LIB
b460: 52 45 53 4f 42 4a 53 29 3a 09 24 28 54 4f 50 29  RESOBJS):.$(TOP)
b470: 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 20  \src\sqlite3.rc 
b480: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 65 63 68  $(SQLITE3H)..ech
b490: 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45  o #ifndef SQLITE
b4a0: 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f  _RESOURCE_VERSIO
b4b0: 4e 20 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a  N > sqlite3rc.h.
b4c0: 09 66 6f 72 20 2f 46 20 25 25 56 20 69 6e 20 28  .for /F %%V in (
b4d0: 27 74 79 70 65 20 22 24 28 54 4f 50 29 5c 56 45  'type "$(TOP)\VE
b4e0: 52 53 49 4f 4e 22 27 29 20 64 6f 20 28 20 5c 0a  RSION"') do ( \.
b4f0: 09 09 65 63 68 6f 20 23 64 65 66 69 6e 65 20 53  ..echo #define S
b500: 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56  QLITE_RESOURCE_V
b510: 45 52 53 49 4f 4e 20 25 25 56 20 5c 0a 09 09 09  ERSION %%V \....
b520: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
b530: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
b540: 63 65 2e 74 63 6c 20 65 78 61 63 74 20 2e 20 5e  ce.tcl exact . ^
b550: 2c 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68  , >> sqlite3rc.h
b560: 20 5c 0a 09 29 0a 09 65 63 68 6f 20 23 65 6e 64   \..)..echo #end
b570: 69 66 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e  if >> sqlite3rc.
b580: 68 0a 09 24 28 4c 54 52 43 4f 4d 50 49 4c 45 29  h..$(LTRCOMPILE)
b590: 20 2d 66 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a   -fo $(LIBRESOBJ
b5a0: 53 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  S) $(TOP)\src\sq
b5b0: 6c 69 74 65 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c  lite3.rc.# <</bl
b5c0: 6f 63 6b 31 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23  ock1>>.!ENDIF..#
b5d0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65   <<mark>>.# Rule
b5e0: 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64 69 76  s to build indiv
b5f0: 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73  idual *.lo files
b600: 20 66 72 6f 6d 20 66 69 6c 65 73 20 69 6e 20 74   from files in t
b610: 68 65 20 73 72 63 20 64 69 72 65 63 74 6f 72 79  he src directory
b620: 2e 0a 23 0a 61 6c 74 65 72 2e 6c 6f 3a 09 24 28  ..#.alter.lo:.$(
b630: 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63  TOP)\src\alter.c
b640: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b650: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b660: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b670: 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63  TOP)\src\alter.c
b680: 0a 0a 61 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28  ..analyze.lo:.$(
b690: 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65  TOP)\src\analyze
b6a0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b6b0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b6c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b6d0: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79  $(TOP)\src\analy
b6e0: 7a 65 2e 63 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a  ze.c..attach.lo:
b6f0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61  .$(TOP)\src\atta
b700: 63 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ch.c $(HDR)..$(L
b710: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
b720: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b730: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74  c $(TOP)\src\att
b740: 61 63 68 2e 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09  ach.c..auth.lo:.
b750: 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e  $(TOP)\src\auth.
b760: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b770: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b780: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
b790: 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63  (TOP)\src\auth.c
b7a0: 0a 0a 62 61 63 6b 75 70 2e 6c 6f 3a 09 24 28 54  ..backup.lo:.$(T
b7b0: 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63  OP)\src\backup.c
b7c0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b7d0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b7e0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b7f0: 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e  TOP)\src\backup.
b800: 63 0a 0a 62 69 74 76 65 63 2e 6c 6f 3a 09 24 28  c..bitvec.lo:.$(
b810: 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e  TOP)\src\bitvec.
b820: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b830: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b840: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
b850: 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63  (TOP)\src\bitvec
b860: 2e 63 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f 3a 09  .c..btmutex.lo:.
b870: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74  $(TOP)\src\btmut
b880: 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ex.c $(HDR)..$(L
b890: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
b8a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b8b0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d  c $(TOP)\src\btm
b8c0: 75 74 65 78 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f  utex.c..btree.lo
b8d0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72  :.$(TOP)\src\btr
b8e0: 65 65 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  ee.c $(HDR) $(TO
b8f0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09  P)\src\pager.h..
b900: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
b910: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b920: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
b930: 62 74 72 65 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c  btree.c..build.l
b940: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 75  o:.$(TOP)\src\bu
b950: 69 6c 64 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ild.c $(HDR)..$(
b960: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b970: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b980: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75  -c $(TOP)\src\bu
b990: 69 6c 64 2e 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e  ild.c..callback.
b9a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63  lo:.$(TOP)\src\c
b9b0: 61 6c 6c 62 61 63 6b 2e 63 20 24 28 48 44 52 29  allback.c $(HDR)
b9c0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
b9d0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b9e0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
b9f0: 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f  c\callback.c..co
ba00: 6d 70 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50  mplete.lo:.$(TOP
ba10: 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63  )\src\complete.c
ba20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
ba30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
ba40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
ba50: 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74  TOP)\src\complet
ba60: 65 2e 63 0a 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24  e.c..ctime.lo:.$
ba70: 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e  (TOP)\src\ctime.
ba80: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ba90: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
baa0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
bab0: 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e  (TOP)\src\ctime.
bac0: 63 0a 0a 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f  c..date.lo:.$(TO
bad0: 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 24 28  P)\src\date.c $(
bae0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
baf0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
bb00: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
bb10: 29 5c 73 72 63 5c 64 61 74 65 2e 63 0a 0a 64 62  )\src\date.c..db
bb20: 73 74 61 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  stat.lo:.$(TOP)\
bb30: 73 72 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52  src\date.c $(HDR
bb40: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
bb50: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
bb60: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
bb70: 72 63 5c 64 62 73 74 61 74 2e 63 0a 0a 64 65 6c  rc\dbstat.c..del
bb80: 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ete.lo:.$(TOP)\s
bb90: 72 63 5c 64 65 6c 65 74 65 2e 63 20 24 28 48 44  rc\delete.c $(HD
bba0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
bbb0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
bbc0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
bbd0: 73 72 63 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 78  src\delete.c..ex
bbe0: 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  pr.lo:.$(TOP)\sr
bbf0: 63 5c 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a  c\expr.c $(HDR).
bc00: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
bc10: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
bc20: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
bc30: 5c 65 78 70 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c  \expr.c..fault.l
bc40: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 61  o:.$(TOP)\src\fa
bc50: 75 6c 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ult.c $(HDR)..$(
bc60: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
bc70: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
bc80: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61  -c $(TOP)\src\fa
bc90: 75 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09  ult.c..fkey.lo:.
bca0: 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e  $(TOP)\src\fkey.
bcb0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
bcc0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
bcd0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
bce0: 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63  (TOP)\src\fkey.c
bcf0: 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50  ..func.lo:.$(TOP
bd00: 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 24 28 48  )\src\func.c $(H
bd10: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
bd20: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
bd30: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
bd40: 5c 73 72 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f  \src\func.c..glo
bd50: 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  bal.lo:.$(TOP)\s
bd60: 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 48 44  rc\global.c $(HD
bd70: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
bd80: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
bd90: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
bda0: 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61  src\global.c..ha
bdb0: 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  sh.lo:.$(TOP)\sr
bdc0: 63 5c 68 61 73 68 2e 63 20 24 28 48 44 52 29 0a  c\hash.c $(HDR).
bdd0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
bde0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
bdf0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
be00: 5c 68 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e  \hash.c..insert.
be10: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 69  lo:.$(TOP)\src\i
be20: 6e 73 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09  nsert.c $(HDR)..
be30: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
be40: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
be50: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
be60: 69 6e 73 65 72 74 2e 63 0a 0a 6c 65 67 61 63 79  insert.c..legacy
be70: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
be80: 6c 65 67 61 63 79 2e 63 20 24 28 48 44 52 29 0a  legacy.c $(HDR).
be90: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
bea0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
beb0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
bec0: 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65  \legacy.c..loade
bed0: 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  xt.lo:.$(TOP)\sr
bee0: 63 5c 6c 6f 61 64 65 78 74 2e 63 20 24 28 48 44  c\loadext.c $(HD
bef0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
bf00: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
bf10: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
bf20: 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d  src\loadext.c..m
bf30: 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ain.lo:.$(TOP)\s
bf40: 72 63 5c 6d 61 69 6e 2e 63 20 24 28 48 44 52 29  rc\main.c $(HDR)
bf50: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
bf60: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
bf70: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
bf80: 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63  c\main.c..malloc
bf90: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
bfa0: 6d 61 6c 6c 6f 63 2e 63 20 24 28 48 44 52 29 0a  malloc.c $(HDR).
bfb0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
bfc0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
bfd0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
bfe0: 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e  \malloc.c..mem0.
bff0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
c000: 65 6d 30 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em0.c $(HDR)..$(
c010: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c020: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c030: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  -c $(TOP)\src\me
c040: 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24  m0.c..mem1.lo:.$
c050: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63  (TOP)\src\mem1.c
c060: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c070: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c080: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c090: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a  TOP)\src\mem1.c.
c0a0: 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50 29  .mem2.lo:.$(TOP)
c0b0: 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 24 28 48 44  \src\mem2.c $(HD
c0c0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c0d0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c0e0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c0f0: 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33  src\mem2.c..mem3
c100: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c110: 6d 65 6d 33 2e 63 20 24 28 48 44 52 29 0a 09 24  mem3.c $(HDR)..$
c120: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c130: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c140: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
c150: 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09  em3.c..mem5.lo:.
c160: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e  $(TOP)\src\mem5.
c170: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c180: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c190: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c1a0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63  (TOP)\src\mem5.c
c1b0: 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a  ..memjournal.lo:
c1c0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a  .$(TOP)\src\memj
c1d0: 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44 52 29 0a  ournal.c $(HDR).
c1e0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c1f0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c200: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c210: 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d  \memjournal.c..m
c220: 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  utex.lo:.$(TOP)\
c230: 73 72 63 5c 6d 75 74 65 78 2e 63 20 24 28 48 44  src\mutex.c $(HD
c240: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c250: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c260: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c270: 73 72 63 5c 6d 75 74 65 78 2e 63 0a 0a 6d 75 74  src\mutex.c..mut
c280: 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f  ex_noop.lo:.$(TO
c290: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f  P)\src\mutex_noo
c2a0: 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  p.c $(HDR)..$(LT
c2b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c2c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c2d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
c2e0: 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f  x_noop.c..mutex_
c2f0: 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  unix.lo:.$(TOP)\
c300: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
c310: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c320: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c330: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c340: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75  TOP)\src\mutex_u
c350: 6e 69 78 2e 63 0a 0a 6d 75 74 65 78 5f 77 33 32  nix.c..mutex_w32
c360: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c370: 6d 75 74 65 78 5f 77 33 32 2e 63 20 24 28 48 44  mutex_w32.c $(HD
c380: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c390: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c3a0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c3b0: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 0a  src\mutex_w32.c.
c3c0: 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24 28 54 4f  .notify.lo:.$(TO
c3d0: 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20  P)\src\notify.c 
c3e0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c3f0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c400: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c410: 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63  OP)\src\notify.c
c420: 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09 24 28 54 4f  ..pager.lo:.$(TO
c430: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 24  P)\src\pager.c $
c440: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63  (HDR) $(TOP)\src
c450: 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f  \pager.h..$(LTCO
c460: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c470: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c480: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
c490: 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a 09 24 28  c..pcache.lo:.$(
c4a0: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e  TOP)\src\pcache.
c4b0: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c  c $(HDR) $(TOP)\
c4c0: 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28  src\pcache.h..$(
c4d0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c4e0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c4f0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  -c $(TOP)\src\pc
c500: 61 63 68 65 2e 63 0a 0a 70 63 61 63 68 65 31 2e  ache.c..pcache1.
c510: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p
c520: 63 61 63 68 65 31 2e 63 20 24 28 48 44 52 29 20  cache1.c $(HDR) 
c530: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
c540: 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  e.h..$(LTCOMPILE
c550: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c560: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c570: 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 0a 0a  \src\pcache1.c..
c580: 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  os.lo:.$(TOP)\sr
c590: 63 5c 6f 73 2e 63 20 24 28 48 44 52 29 0a 09 24  c\os.c $(HDR)..$
c5a0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c5b0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c5c0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f   -c $(TOP)\src\o
c5d0: 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a  s.c..os_unix.lo:
c5e0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75  .$(TOP)\src\os_u
c5f0: 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28  nix.c $(HDR)..$(
c600: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c610: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c620: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  -c $(TOP)\src\os
c630: 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e  _unix.c..os_win.
c640: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f  lo:.$(TOP)\src\o
c650: 73 5f 77 69 6e 2e 63 20 24 28 48 44 52 29 0a 09  s_win.c $(HDR)..
c660: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c670: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c680: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c690: 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61 67 6d 61  os_win.c..pragma
c6a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c6b0: 70 72 61 67 6d 61 2e 63 20 24 28 48 44 52 29 0a  pragma.c $(HDR).
c6c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c6d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c6e0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c6f0: 5c 70 72 61 67 6d 61 2e 63 0a 0a 70 72 65 70 61  \pragma.c..prepa
c700: 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  re.lo:.$(TOP)\sr
c710: 63 5c 70 72 65 70 61 72 65 2e 63 20 24 28 48 44  c\prepare.c $(HD
c720: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c730: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c740: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c750: 73 72 63 5c 70 72 65 70 61 72 65 2e 63 0a 0a 70  src\prepare.c..p
c760: 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29  rintf.lo:.$(TOP)
c770: 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 24 28  \src\printf.c $(
c780: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c790: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c7a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c7b0: 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 0a 0a  )\src\printf.c..
c7c0: 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50  random.lo:.$(TOP
c7d0: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 24  )\src\random.c $
c7e0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c7f0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c800: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c810: 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a  P)\src\random.c.
c820: 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54  .resolve.lo:.$(T
c830: 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e  OP)\src\resolve.
c840: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c850: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c860: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c870: 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76  (TOP)\src\resolv
c880: 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09  e.c..rowset.lo:.
c890: 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65  $(TOP)\src\rowse
c8a0: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
c8b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c8c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c8d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73   $(TOP)\src\rows
c8e0: 65 74 2e 63 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a  et.c..select.lo:
c8f0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65  .$(TOP)\src\sele
c900: 63 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ct.c $(HDR)..$(L
c910: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c920: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c930: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c  c $(TOP)\src\sel
c940: 65 63 74 2e 63 0a 0a 73 74 61 74 75 73 2e 6c 6f  ect.c..status.lo
c950: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61  :.$(TOP)\src\sta
c960: 74 75 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tus.c $(HDR)..$(
c970: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c980: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c990: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 74  -c $(TOP)\src\st
c9a0: 61 74 75 73 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f  atus.c..table.lo
c9b0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62  :.$(TOP)\src\tab
c9c0: 6c 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  le.c $(HDR)..$(L
c9d0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c9e0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c9f0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62  c $(TOP)\src\tab
ca00: 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73 2e 6c 6f  le.c..threads.lo
ca10: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72  :.$(TOP)\src\thr
ca20: 65 61 64 73 2e 63 20 24 28 48 44 52 29 0a 09 24  eads.c $(HDR)..$
ca30: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
ca40: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ca50: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
ca60: 68 72 65 61 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69  hreads.c..tokeni
ca70: 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ze.lo:.$(TOP)\sr
ca80: 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 6b 65 79  c\tokenize.c key
ca90: 77 6f 72 64 68 61 73 68 2e 68 20 24 28 48 44 52  wordhash.h $(HDR
caa0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cab0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cac0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cad0: 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74  rc\tokenize.c..t
cae0: 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24 28 54 4f  reeview.lo:.$(TO
caf0: 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e  P)\src\treeview.
cb00: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cb10: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cb20: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
cb30: 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69  (TOP)\src\treevi
cb40: 65 77 2e 63 0a 0a 74 72 69 67 67 65 72 2e 6c 6f  ew.c..trigger.lo
cb50: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69  :.$(TOP)\src\tri
cb60: 67 67 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  gger.c $(HDR)..$
cb70: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cb80: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cb90: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
cba0: 72 69 67 67 65 72 2e 63 0a 0a 75 70 64 61 74 65  rigger.c..update
cbb0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cbc0: 75 70 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a  update.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 75 70 64 61 74 65 2e 63 0a 0a 75 74 66 2e 6c  \update.c..utf.l
cc10: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  o:.$(TOP)\src\ut
cc20: 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  f.c $(HDR)..$(LT
cc30: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cc40: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cc50: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e   $(TOP)\src\utf.
cc60: 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f  c..util.lo:.$(TO
cc70: 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 24 28  P)\src\util.c $(
cc80: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
cc90: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
cca0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
ccb0: 29 5c 73 72 63 5c 75 74 69 6c 2e 63 0a 0a 76 61  )\src\util.c..va
ccc0: 63 75 75 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  cuum.lo:.$(TOP)\
ccd0: 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 24 28 48  src\vacuum.c $(H
cce0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ccf0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cd00: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cd10: 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 0a 0a 76  \src\vacuum.c..v
cd20: 64 62 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  dbe.lo:.$(TOP)\s
cd30: 72 63 5c 76 64 62 65 2e 63 20 24 28 48 44 52 29  rc\vdbe.c $(HDR)
cd40: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cd50: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cd60: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cd70: 63 5c 76 64 62 65 2e 63 0a 0a 76 64 62 65 61 70  c\vdbe.c..vdbeap
cd80: 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  i.lo:.$(TOP)\src
cd90: 5c 76 64 62 65 61 70 69 2e 63 20 24 28 48 44 52  \vdbeapi.c $(HDR
cda0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cdb0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cdc0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cdd0: 72 63 5c 76 64 62 65 61 70 69 2e 63 0a 0a 76 64  rc\vdbeapi.c..vd
cde0: 62 65 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  beaux.lo:.$(TOP)
cdf0: 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20 24  \src\vdbeaux.c $
ce00: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
ce10: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ce20: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
ce30: 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63  P)\src\vdbeaux.c
ce40: 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24  ..vdbeblob.lo:.$
ce50: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c  (TOP)\src\vdbebl
ce60: 6f 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ob.c $(HDR)..$(L
ce70: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ce80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ce90: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb
cea0: 65 62 6c 6f 62 2e 63 0a 0a 76 64 62 65 6d 65 6d  eblob.c..vdbemem
ceb0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cec0: 76 64 62 65 6d 65 6d 2e 63 20 24 28 48 44 52 29  vdbemem.c $(HDR)
ced0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cee0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cef0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cf00: 63 5c 76 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 62  c\vdbemem.c..vdb
cf10: 65 73 6f 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  esort.lo:.$(TOP)
cf20: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20  \src\vdbesort.c 
cf30: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cf40: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cf50: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
cf60: 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74  OP)\src\vdbesort
cf70: 2e 63 0a 0a 76 64 62 65 74 72 61 63 65 2e 6c 6f  .c..vdbetrace.lo
cf80: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
cf90: 65 74 72 61 63 65 2e 63 20 24 28 48 44 52 29 0a  etrace.c $(HDR).
cfa0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cfb0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cfc0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cfd0: 5c 76 64 62 65 74 72 61 63 65 2e 63 0a 0a 76 74  \vdbetrace.c..vt
cfe0: 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ab.lo:.$(TOP)\sr
cff0: 63 5c 76 74 61 62 2e 63 20 24 28 48 44 52 29 0a  c\vtab.c $(HDR).
d000: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d010: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d020: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
d030: 5c 76 74 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a  \vtab.c..wal.lo:
d040: 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e  .$(TOP)\src\wal.
d050: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d060: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d070: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
d080: 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 0a  (TOP)\src\wal.c.
d090: 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f  .walker.lo:.$(TO
d0a0: 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20  P)\src\walker.c 
d0b0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d0c0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d0d0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
d0e0: 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63  OP)\src\walker.c
d0f0: 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09 24 28 54 4f  ..where.lo:.$(TO
d100: 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 24  P)\src\where.c $
d110: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d120: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d130: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d140: 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 0a 0a  P)\src\where.c..
d150: 77 68 65 72 65 63 6f 64 65 2e 6c 6f 3a 09 24 28  wherecode.lo:.$(
d160: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f  TOP)\src\whereco
d170: 64 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  de.c $(HDR)..$(L
d180: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d190: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d1a0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  c $(TOP)\src\whe
d1b0: 72 65 63 6f 64 65 2e 63 0a 0a 77 68 65 72 65 65  recode.c..wheree
d1c0: 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  xpr.lo:.$(TOP)\s
d1d0: 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 20 24  rc\whereexpr.c $
d1e0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
d1f0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d200: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
d210: 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72  P)\src\whereexpr
d220: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6c 6f  .c..tclsqlite.lo
d230: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  :.$(TOP)\src\tcl
d240: 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20  sqlite.c $(HDR) 
d250: 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  $(SQLITE_TCL_DEP
d260: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d270: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45  $(NO_WARN) -DUSE
d280: 5f 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42  _TCL_STUBS=1 -DB
d290: 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28  UILD_sqlite -I$(
d2a0: 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28  TCLINCDIR) -c $(
d2b0: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
d2c0: 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d  te.c..tclsqlite-
d2d0: 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29  shell.lo:.$(TOP)
d2e0: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
d2f0: 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45   $(HDR) $(SQLITE
d300: 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43  _TCL_DEP)..$(LTC
d310: 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52  OMPILE) $(NO_WAR
d320: 4e 29 20 2d 44 54 43 4c 53 48 3d 31 20 2d 44 42  N) -DTCLSH=1 -DB
d330: 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28  UILD_sqlite -I$(
d340: 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28  TCLINCDIR) -c $(
d350: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
d360: 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 33  te.c..tclsqlite3
d370: 2e 65 78 65 3a 09 74 63 6c 73 71 6c 69 74 65 2d  .exe:.tclsqlite-
d380: 73 68 65 6c 6c 2e 6c 6f 20 24 28 53 51 4c 49 54  shell.lo $(SQLIT
d390: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
d3a0: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09   $(LIBRESOBJS)..
d3b0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 51 4c 49  $(LTLINK) $(SQLI
d3c0: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
d3d0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
d3e0: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH
d3f0: 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71  S) /OUT:$@ tclsq
d400: 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28  lite-shell.lo $(
d410: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54  LIBRESOBJS) $(LT
d420: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
d430: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
d440: 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f   opcodes.c and o
d450: 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64  pcodes.h.#.opcod
d460: 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20  es.c:.opcodes.h 
d470: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70  $(TOP)\tool\mkop
d480: 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c  codec.tcl..$(TCL
d490: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
d4a0: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63  ool\mkopcodec.tc
d4b0: 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70  l opcodes.h > op
d4c0: 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73  codes.c..opcodes
d4d0: 2e 68 3a 09 70 61 72 73 65 2e 68 20 24 28 54 4f  .h:.parse.h $(TO
d4e0: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28  P)\src\vdbe.c $(
d4f0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
d500: 64 65 68 2e 74 63 6c 0a 09 74 79 70 65 20 70 61  deh.tcl..type pa
d510: 72 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63  rse.h $(TOP)\src
d520: 5c 76 64 62 65 2e 63 20 7c 20 24 28 54 43 4c 53  \vdbe.c | $(TCLS
d530: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
d540: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c  ol\mkopcodeh.tcl
d550: 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20   > opcodes.h..# 
d560: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 70  Rules to build p
d570: 61 72 73 65 2e 63 20 61 6e 64 20 70 61 72 73 65  arse.c and parse
d580: 2e 68 20 2d 20 74 68 65 20 6f 75 74 70 75 74 73  .h - the outputs
d590: 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72   of lemon..#.par
d5a0: 73 65 2e 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70  se.h:.parse.c..p
d5b0: 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73  arse.c:.$(TOP)\s
d5c0: 72 63 5c 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e  rc\parse.y lemon
d5d0: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  .exe $(TOP)\tool
d5e0: 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 0a  \addopcodes.tcl.
d5f0: 09 64 65 6c 20 2f 51 20 70 61 72 73 65 2e 79 20  .del /Q parse.y 
d600: 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e  parse.h parse.h.
d610: 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f 70 79  temp 2>NUL..copy
d620: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73   $(TOP)\src\pars
d630: 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65  e.y ....\lemon.e
d640: 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  xe $(REQ_FEATURE
d650: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE
d660: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E
d670: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
d680: 29 20 24 28 4f 50 54 53 29 20 70 61 72 73 65 2e  ) $(OPTS) parse.
d690: 79 0a 09 6d 6f 76 65 20 70 61 72 73 65 2e 68 20  y..move parse.h 
d6a0: 70 61 72 73 65 2e 68 2e 74 65 6d 70 0a 09 24 28  parse.h.temp..$(
d6b0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
d6c0: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65  )\tool\addopcode
d6d0: 73 2e 74 63 6c 20 70 61 72 73 65 2e 68 2e 74 65  s.tcl parse.h.te
d6e0: 6d 70 20 3e 20 70 61 72 73 65 2e 68 0a 0a 24 28  mp > parse.h..$(
d6f0: 53 51 4c 49 54 45 33 48 29 3a 09 24 28 54 4f 50  SQLITE3H):.$(TOP
d700: 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69  )\src\sqlite.h.i
d710: 6e 20 24 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73  n $(TOP)\manifes
d720: 74 2e 75 75 69 64 20 24 28 54 4f 50 29 5c 56 45  t.uuid $(TOP)\VE
d730: 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43  RSION..$(TCLSH_C
d740: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
d750: 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 24  mksqlite3h.tcl $
d760: 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51  (TOP:\=/) > $(SQ
d770: 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51 4c 49  LITE3H) $(MKSQLI
d780: 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71 6c 69  TE3H_ARGS)..sqli
d790: 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72 67 65  te3ext.h:..targe
d7a0: 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24 28 55  t_source.!IF $(U
d7b0: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
d7c0: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
d7d0: 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73 71 6c  0..type tsrc\sql
d7e0: 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28 54 43  ite3ext.h | $(TC
d7f0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
d800: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
d810: 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c 29 22   regsub "\(\*\)"
d820: 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   "(SQLITE_CALLBA
d830: 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24 28 54  CK *)" \...| $(T
d840: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
d850: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
d860: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20  l regsub "\(\*" 
d870: 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c  "(SQLITE_APICALL
d880: 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65 78 74   *" > sqlite3ext
d890: 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71 6c 69  .h..copy /Y sqli
d8a0: 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c 73 71  te3ext.h tsrc\sq
d8b0: 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c 53 45  lite3ext.h.!ELSE
d8c0: 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63 5c 73  ..copy /Y tsrc\s
d8d0: 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69  qlite3ext.h sqli
d8e0: 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49 46 0a  te3ext.h.!ENDIF.
d8f0: 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65  .mkkeywordhash.e
d900: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
d910: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 0a  mkkeywordhash.c.
d920: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC) $(NO_WAR
d930: 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f 46  N) -Fe$@ $(REQ_F
d940: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
d950: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
d960: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE
d970: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) 
d980: 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\
d990: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20  mkkeywordhash.c 
d9a0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
d9b0: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20   $(NLTLINKOPTS) 
d9c0: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a  $(NLTLIBPATHS)..
d9d0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09 24  keywordhash.h:.$
d9e0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79  (TOP)\tool\mkkey
d9f0: 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79  wordhash.c mkkey
da00: 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c  wordhash.exe...\
da10: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78  mkkeywordhash.ex
da20: 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  e > keywordhash.
da30: 68 0a 0a 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20  h....# Rules to 
da40: 62 75 69 6c 64 20 74 68 65 20 65 78 74 65 6e 73  build the extens
da50: 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a 23 0a 69  ion objects..#.i
da60: 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  cu.lo:.$(TOP)\ex
da70: 74 5c 69 63 75 5c 69 63 75 2e 63 20 24 28 48 44  t\icu\icu.c $(HD
da80: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
da90: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
daa0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
dab0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
dac0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
dad0: 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63  P)\ext\icu\icu.c
dae0: 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28 54 4f 50  ..fts2.lo:.$(TOP
daf0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e  )\ext\fts2\fts2.
db00: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
db10: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
db20: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
db30: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
db40: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
db50: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
db60: 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73 32 5f 68  2\fts2.c..fts2_h
db70: 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ash.lo:.$(TOP)\e
db80: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73  xt\fts2\fts2_has
db90: 68 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  h.c $(HDR) $(EXT
dba0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
dbb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
dbc0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
dbd0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
dbe0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
dbf0: 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 0a  ts2\fts2_hash.c.
dc00: 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a 09 24 28  .fts2_icu.lo:.$(
dc10: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
dc20: 73 32 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20  s2_icu.c $(HDR) 
dc30: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
dc40: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
dc50: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
dc60: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
dc70: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
dc80: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63  ext\fts2\fts2_ic
dc90: 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72 74 65 72  u.c..fts2_porter
dca0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
dcb0: 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72  fts2\fts2_porter
dcc0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
dcd0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
dce0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
dcf0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
dd00: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
dd10: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
dd20: 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63  s2\fts2_porter.c
dd30: 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  ..fts2_tokenizer
dd40: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
dd50: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
dd60: 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45  zer.c $(HDR) $(E
dd70: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
dd80: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
dd90: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
dda0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
ddb0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
ddc0: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
ddd0: 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b  izer.c..fts2_tok
dde0: 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f  enizer1.lo:.$(TO
ddf0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
de00: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28  _tokenizer1.c $(
de10: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
de20: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
de30: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
de40: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
de50: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
de60: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
de70: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a  s2_tokenizer1.c.
de80: 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54 4f 50 29  .fts3.lo:.$(TOP)
de90: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63  \ext\fts3\fts3.c
dea0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
deb0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
dec0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
ded0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
dee0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
def0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
df00: 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33 5f 61 75  \fts3.c..fts3_au
df10: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  x.lo:.$(TOP)\ext
df20: 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63  \fts3\fts3_aux.c
df30: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
df40: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
df50: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
df60: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
df70: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
df80: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
df90: 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a 66 74 73  \fts3_aux.c..fts
dfa0: 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50  3_expr.lo:.$(TOP
dfb0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
dfc0: 65 78 70 72 2e 63 20 24 28 48 44 52 29 20 24 28  expr.c $(HDR) $(
dfd0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
dfe0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dff0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
e000: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
e010: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
e020: 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72  t\fts3\fts3_expr
e030: 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68 2e 6c 6f  .c..fts3_hash.lo
e040: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
e050: 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 24 28  3\fts3_hash.c $(
e060: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
e070: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
e080: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e090: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
e0a0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
e0b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
e0c0: 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74 73 33 5f  s3_hash.c..fts3_
e0d0: 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  icu.lo:.$(TOP)\e
e0e0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75  xt\fts3\fts3_icu
e0f0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
e100: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e110: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e120: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
e130: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
e140: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
e150: 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 0a 0a 66  s3\fts3_icu.c..f
e160: 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a 09  ts3_snippet.lo:.
e170: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
e180: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 24  fts3_snippet.c $
e190: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
e1a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e1b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e1c0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
e1d0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
e1e0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
e1f0: 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 0a 0a 66  ts3_snippet.c..f
e200: 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24  ts3_porter.lo:.$
e210: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
e220: 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 24 28 48  ts3_porter.c $(H
e230: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
e240: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e250: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e260: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
e270: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
e280: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
e290: 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 33  3_porter.c..fts3
e2a0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24  _tokenizer.lo:.$
e2b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
e2c0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20  ts3_tokenizer.c 
e2d0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
e2e0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e2f0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e300: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
e310: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
e320: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
e330: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63  fts3_tokenizer.c
e340: 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  ..fts3_tokenizer
e350: 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  1.lo:.$(TOP)\ext
e360: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
e370: 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20 24  izer1.c $(HDR) $
e380: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
e390: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e3a0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
e3b0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
e3c0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
e3d0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
e3e0: 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 5f  enizer1.c..fts3_
e3f0: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f  tokenize_vtab.lo
e400: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
e410: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f  3\fts3_tokenize_
e420: 76 74 61 62 2e 63 20 24 28 48 44 52 29 20 24 28  vtab.c $(HDR) $(
e430: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
e440: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e450: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
e460: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
e470: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
e480: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
e490: 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a 66 74 73  nize_vtab.c..fts
e4a0: 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24 28  3_unicode.lo:.$(
e4b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
e4c0: 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 24 28 48  s3_unicode.c $(H
e4d0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
e4e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e4f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e500: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
e510: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
e520: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
e530: 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a 66 74 73  3_unicode.c..fts
e540: 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09 24  3_unicode2.lo:.$
e550: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
e560: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 24  ts3_unicode2.c $
e570: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
e580: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e590: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e5a0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
e5b0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
e5c0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
e5d0: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 0a 0a  ts3_unicode2.c..
e5e0: 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 3a 09 24  fts3_write.lo:.$
e5f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
e600: 74 73 33 5f 77 72 69 74 65 2e 63 20 24 28 48 44  ts3_write.c $(HD
e610: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
e620: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
e630: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
e640: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
e650: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
e660: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
e670: 5f 77 72 69 74 65 2e 63 0a 0a 72 74 72 65 65 2e  _write.c..rtree.
e680: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72  lo:.$(TOP)\ext\r
e690: 74 72 65 65 5c 72 74 72 65 65 2e 63 20 24 28 48  tree\rtree.c $(H
e6a0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
e6b0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
e6c0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e6d0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
e6e0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
e6f0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
e700: 72 65 65 2e 63 0a 0a 73 71 6c 69 74 65 33 73 65  ree.c..sqlite3se
e710: 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29  ssion.lo:.$(TOP)
e720: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c  \ext\session\sql
e730: 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 20 24 28  ite3session.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 73 65 73 73 69 6f 6e  TOP)\ext\session
e7a0: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
e7b0: 63 0a 0a 23 20 46 54 53 35 20 74 68 69 6e 67 73  c..# FTS5 things
e7c0: 0a 23 0a 46 54 53 35 5f 53 52 43 20 3d 20 5c 0a  .#.FTS5_SRC = \.
e7d0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
e7e0: 73 35 5c 66 74 73 35 2e 68 20 5c 0a 20 20 20 24  s5\fts5.h \.   $
e7f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
e800: 74 73 35 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28  ts5Int.h \.   $(
e810: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
e820: 73 35 5f 61 75 78 2e 63 20 5c 0a 20 20 20 24 28  s5_aux.c \.   $(
e830: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
e840: 73 35 5f 62 75 66 66 65 72 2e 63 20 5c 0a 20 20  s5_buffer.c \.  
e850: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
e860: 5c 66 74 73 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20  \fts5_main.c \. 
e870: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
e880: 35 5c 66 74 73 35 5f 63 6f 6e 66 69 67 2e 63 20  5\fts5_config.c 
e890: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
e8a0: 66 74 73 35 5c 66 74 73 35 5f 65 78 70 72 2e 63  fts5\fts5_expr.c
e8b0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
e8c0: 5c 66 74 73 35 5c 66 74 73 35 5f 68 61 73 68 2e  \fts5\fts5_hash.
e8d0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
e8e0: 74 5c 66 74 73 35 5c 66 74 73 35 5f 69 6e 64 65  t\fts5\fts5_inde
e8f0: 78 2e 63 20 5c 0a 20 20 20 66 74 73 35 70 61 72  x.c \.   fts5par
e900: 73 65 2e 63 20 66 74 73 35 70 61 72 73 65 2e 68  se.c fts5parse.h
e910: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
e920: 5c 66 74 73 35 5c 66 74 73 35 5f 73 74 6f 72 61  \fts5\fts5_stora
e930: 67 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ge.c \.   $(TOP)
e940: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74  \ext\fts5\fts5_t
e950: 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 20 24  okenize.c \.   $
e960: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
e970: 74 73 35 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c  ts5_unicode2.c \
e980: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
e990: 74 73 35 5c 66 74 73 35 5f 76 61 72 69 6e 74 2e  ts5\fts5_varint.
e9a0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
e9b0: 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 6f 63 61  t\fts5\fts5_voca
e9c0: 62 2e 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63  b.c..fts5parse.c
e9d0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
e9e0: 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65  5\fts5parse.y le
e9f0: 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28  mon.exe..copy $(
ea00: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
ea10: 73 35 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c  s5parse.y ...del
ea20: 20 2f 51 20 66 74 73 35 70 61 72 73 65 2e 68 20   /Q fts5parse.h 
ea30: 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65  2>NUL...\lemon.e
ea40: 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  xe $(REQ_FEATURE
ea50: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE
ea60: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E
ea70: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
ea80: 29 20 24 28 4f 50 54 53 29 20 66 74 73 35 70 61  ) $(OPTS) fts5pa
ea90: 72 73 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65  rse.y..fts5parse
eaa0: 2e 68 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a  .h:.fts5parse.c.
eab0: 0a 66 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f  .fts5.c:.$(FTS5_
eac0: 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d  SRC)..$(TCLSH_CM
ead0: 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  D) $(TOP)\ext\ft
eae0: 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e  s5\tool\mkfts5c.
eaf0: 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29  tcl..copy $(TOP)
eb00: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68  \ext\fts5\fts5.h
eb10: 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73   ...fts5.lo:.fts
eb20: 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  5.c $(HDR) $(EXT
eb30: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
eb40: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
eb50: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
eb60: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
eb70: 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35   -c fts5.c..fts5
eb80: 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20  _ext.lo:.fts5.c 
eb90: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
eba0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ebb0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74 73  (NO_WARN) -c fts
ebc0: 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66  5.c..fts5.dll:.f
ebd0: 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44  ts5_ext.lo..$(LD
ebe0: 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS) $(L
ebf0: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
ec00: 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f  IBPATHS) /DLL /O
ec10: 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 2e 6c  UT:$@ fts5_ext.l
ec20: 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f  o..sqlite3rbu.lo
ec30: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  :.$(TOP)\ext\rbu
ec40: 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28  \sqlite3rbu.c $(
ec50: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
ec60: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53  $(LTCOMPILE) -DS
ec70: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
ec80: 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
ec90: 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c  ite3rbu.c..# Rul
eca0: 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  es to build the 
ecb0: 27 74 65 73 74 66 69 78 74 75 72 65 27 20 61 70  'testfixture' ap
ecc0: 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49  plication..#.# I
ecd0: 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c  f using the amal
ece0: 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73 71  gamation, use sq
ecf0: 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 6c 79  lite3.c directly
ed00: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 74 65   to build the te
ed10: 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 20 4f  st.# fixture.  O
ed20: 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 61 67  therwise link ag
ed30: 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 65 33  ainst libsqlite3
ed40: 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 69 73  .lib.  (This dis
ed50: 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65  tinction is.# ne
ed60: 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65 20  cessary because 
ed70: 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65  the test fixture
ed80: 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50   requires non-AP
ed90: 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 68 20  I symbols which 
eda0: 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 68 65  are.# hidden whe
edb0: 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 69 73  n the library is
edc0: 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 20 61   built via the a
edd0: 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a  malgamation)..#.
ede0: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
edf0: 53 20 3d 20 2d 44 54 43 4c 53 48 3d 31 20 2d 44  S = -DTCLSH=1 -D
ee00: 53 51 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d 44  SQLITE_TEST=1 -D
ee10: 53 51 4c 49 54 45 5f 43 52 41 53 48 5f 54 45 53  SQLITE_CRASH_TES
ee20: 54 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f  T=1.TESTFIXTURE_
ee30: 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI
ee40: 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
ee50: 51 4c 49 54 45 5f 53 45 52 56 45 52 3d 31 20 2d  QLITE_SERVER=1 -
ee60: 44 53 51 4c 49 54 45 5f 50 52 49 56 41 54 45 3d  DSQLITE_PRIVATE=
ee70: 22 22 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  "".TESTFIXTURE_F
ee80: 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX
ee90: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
eea0: 4c 49 54 45 5f 43 4f 52 45 20 24 28 4e 4f 5f 57  LITE_CORE $(NO_W
eeb0: 41 52 4e 29 0a 54 45 53 54 46 49 58 54 55 52 45  ARN).TESTFIXTURE
eec0: 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF
eed0: 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
eee0: 53 51 4c 49 54 45 5f 53 45 52 49 45 53 5f 43 4f  SQLITE_SERIES_CO
eef0: 4e 53 54 52 41 49 4e 54 5f 56 45 52 49 46 59 3d  NSTRAINT_VERIFY=
ef00: 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  1.TESTFIXTURE_FL
ef10: 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT
ef20: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
ef30: 49 54 45 5f 44 45 46 41 55 4c 54 5f 50 41 47 45  ITE_DEFAULT_PAGE
ef40: 5f 53 49 5a 45 3d 31 30 32 34 0a 54 45 53 54 46  _SIZE=1024.TESTF
ef50: 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
ef60: 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
ef70: 47 53 29 20 24 28 54 45 53 54 5f 43 43 4f 4e 56  GS) $(TEST_CCONV
ef80: 5f 4f 50 54 53 29 0a 0a 54 45 53 54 46 49 58 54  _OPTS)..TESTFIXT
ef90: 55 52 45 5f 53 52 43 30 20 3d 20 24 28 54 45 53  URE_SRC0 = $(TES
efa0: 54 45 58 54 29 20 24 28 54 45 53 54 53 52 43 32  TEXT) $(TESTSRC2
efb0: 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  ).TESTFIXTURE_SR
efc0: 43 31 20 3d 20 24 28 54 45 53 54 45 58 54 29 20  C1 = $(TESTEXT) 
efd0: 24 28 53 51 4c 49 54 45 33 43 29 0a 21 49 46 20  $(SQLITE3C).!IF 
efe0: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI
eff0: 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 49 58 54 55  ON)==0.TESTFIXTU
f000: 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53  RE_SRC = $(TESTS
f010: 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  RC) $(TOP)\src\t
f020: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53  clsqlite.c $(TES
f030: 54 46 49 58 54 55 52 45 5f 53 52 43 30 29 0a 21  TFIXTURE_SRC0).!
f040: 45 4c 53 45 0a 54 45 53 54 46 49 58 54 55 52 45  ELSE.TESTFIXTURE
f050: 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43  _SRC = $(TESTSRC
f060: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  ) $(TOP)\src\tcl
f070: 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46  sqlite.c $(TESTF
f080: 49 58 54 55 52 45 5f 53 52 43 31 29 0a 21 45 4e  IXTURE_SRC1).!EN
f090: 44 49 46 0a 0a 21 49 46 20 24 28 55 53 45 5f 53  DIF..!IF $(USE_S
f0a0: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $(
f0b0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 73 71  FOR_WIN10)!=0.sq
f0c0: 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68 3a  lite_tclDecls.h:
f0d0: 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20 53  ..echo #ifndef S
f0e0: 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 20 24  QLITE_TCLAPI > $
f0f0: 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48  (SQLITETCLDECLSH
f100: 29 0a 09 65 63 68 6f 20 23 20 20 64 65 66 69 6e  )..echo #  defin
f110: 65 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  e SQLITE_TCLAPI 
f120: 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45  >> $(SQLITETCLDE
f130: 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 65 6e 64  CLSH)..echo #end
f140: 69 66 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43  if >> $(SQLITETC
f150: 4c 44 45 43 4c 53 48 29 0a 09 74 79 70 65 20 22  LDECLSH)..type "
f160: 24 28 54 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c  $(TCLINCDIR)\tcl
f170: 44 65 63 6c 73 2e 68 22 20 5c 0a 09 09 7c 20 24  Decls.h" \...| $
f180: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
f190: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
f1a0: 74 63 6c 20 72 65 67 73 75 62 20 22 5e 28 45 58  tcl regsub "^(EX
f1b0: 54 45 52 4e 28 3f 3a 20 43 4f 4e 53 54 5c 64 2b  TERN(?: CONST\d+
f1c0: 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73  ?)?\s+?[^\(]*?\s
f1d0: 2b 3f 29 54 63 6c 5f 22 20 22 5c 31 20 53 51 4c  +?)Tcl_" "\1 SQL
f1e0: 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22  ITE_TCLAPI Tcl_"
f1f0: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
f200: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
f210: 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
f220: 75 62 20 22 5e 28 45 58 54 45 52 4e 5c 73 2b 3f  ub "^(EXTERN\s+?
f230: 28 3f 3a 76 6f 69 64 7c 56 4f 49 44 29 5c 73 2b  (?:void|VOID)\s+
f240: 3f 29 54 63 6c 46 72 65 65 4f 62 6a 22 20 22 5c  ?)TclFreeObj" "\
f250: 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  1 SQLITE_TCLAPI 
f260: 54 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09  TclFreeObj" \...
f270: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
f280: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
f290: 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c  ce.tcl regsub "\
f2a0: 28 5c 2a 74 63 6c 5f 22 20 22 28 53 51 4c 49 54  (\*tcl_" "(SQLIT
f2b0: 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c 5f 22 20  E_TCLAPI *tcl_" 
f2c0: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
f2d0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
f2e0: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
f2f0: 62 20 22 5c 28 5c 2a 74 63 6c 46 72 65 65 4f 62  b "\(\*tclFreeOb
f300: 6a 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c 41  j" "(SQLITE_TCLA
f310: 50 49 20 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20  PI *tclFreeObj" 
f320: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
f330: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
f340: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
f350: 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54  b "\(\*" "(SQLIT
f360: 45 5f 54 43 4c 41 50 49 20 2a 22 20 3e 3e 20 24  E_TCLAPI *" >> $
f370: 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48  (SQLITETCLDECLSH
f380: 29 0a 0a 73 71 6c 69 74 65 5f 74 63 6c 2e 68 3a  )..sqlite_tcl.h:
f390: 0a 09 74 79 70 65 20 22 24 28 54 43 4c 49 4e 43  ..type "$(TCLINC
f3a0: 44 49 52 29 5c 74 63 6c 2e 68 22 20 7c 20 24 28  DIR)\tcl.h" | $(
f3b0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
f3c0: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
f3d0: 63 6c 20 65 78 61 63 74 20 74 63 6c 44 65 63 6c  cl exact tclDecl
f3e0: 73 2e 68 20 73 71 6c 69 74 65 5f 74 63 6c 44 65  s.h sqlite_tclDe
f3f0: 63 6c 73 2e 68 20 5c 0a 09 09 7c 20 24 28 54 43  cls.h \...| $(TC
f400: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
f410: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
f420: 20 72 65 67 73 75 62 20 22 74 79 70 65 64 65 66   regsub "typedef
f430: 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f 22 20 22 74   (.*?)\(Tcl_" "t
f440: 79 70 65 64 65 66 20 5c 31 20 28 53 51 4c 49 54  ypedef \1 (SQLIT
f450: 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c  E_TCLAPI Tcl_" \
f460: 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
f470: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
f480: 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20  place.tcl exact 
f490: 22 76 6f 69 64 20 28 2a 66 72 65 65 50 72 6f 63  "void (*freeProc
f4a0: 29 22 20 22 76 6f 69 64 20 28 53 51 4c 49 54 45  )" "void (SQLITE
f4b0: 5f 54 43 4c 41 50 49 20 2a 66 72 65 65 50 72 6f  _TCLAPI *freePro
f4c0: 63 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  c)" \...| $(TCLS
f4d0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
f4e0: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65  ol\replace.tcl e
f4f0: 78 61 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e  xact "Tcl_HashEn
f500: 74 72 79 20 2a 28 2a 66 69 6e 64 50 72 6f 63 29  try *(*findProc)
f510: 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79  " "Tcl_HashEntry
f520: 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49   *(SQLITE_TCLAPI
f530: 20 2a 66 69 6e 64 50 72 6f 63 29 22 20 5c 0a 09   *findProc)" \..
f540: 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
f550: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
f560: 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22 54  ace.tcl exact "T
f570: 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 2a  cl_HashEntry *(*
f580: 63 72 65 61 74 65 50 72 6f 63 29 22 20 22 54 63  createProc)" "Tc
f590: 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53 51  l_HashEntry *(SQ
f5a0: 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 63 72 65  LITE_TCLAPI *cre
f5b0: 61 74 65 50 72 6f 63 29 22 20 3e 3e 20 24 28 53  ateProc)" >> $(S
f5c0: 51 4c 49 54 45 54 43 4c 48 29 0a 21 45 4e 44 49  QLITETCLH).!ENDI
f5d0: 46 0a 0a 74 65 73 74 66 69 78 74 75 72 65 2e 65  F..testfixture.e
f5e0: 78 65 3a 09 24 28 54 45 53 54 46 49 58 54 55 52  xe:.$(TESTFIXTUR
f5f0: 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  E_SRC) $(SQLITE3
f600: 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  H) $(LIBRESOBJS)
f610: 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45   $(HDR) $(SQLITE
f620: 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 4c  _TCL_DEP)..$(LTL
f630: 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f  INK) -DSQLITE_NO
f640: 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49  _SYNC=1 $(TESTFI
f650: 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09  XTURE_FLAGS) \..
f660: 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20  .-DBUILD_sqlite 
f670: 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c  -I$(TCLINCDIR) \
f680: 0a 09 09 24 28 54 45 53 54 46 49 58 54 55 52 45  ...$(TESTFIXTURE
f690: 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20  _SRC) \.../link 
f6a0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
f6b0: 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  INKOPTS) $(LTLIB
f6c0: 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO
f6d0: 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24  BJS) $(LTLIBS) $
f6e0: 28 54 4c 49 42 53 29 0a 0a 65 78 74 65 6e 73 69  (TLIBS)..extensi
f6f0: 6f 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78 74  ontest:.testfixt
f700: 75 72 65 2e 65 78 65 20 74 65 73 74 6c 6f 61 64  ure.exe testload
f710: 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74 20 50 41  ext.dll..@set PA
f720: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
f730: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
f740: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
f750: 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65 78 74 2e  P)\test\loadext.
f760: 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS)
f770: 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24 28 54 45  ..fulltest:.$(TE
f780: 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73  STPROGS) fuzztes
f790: 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  t..@set PATH=$(L
f7a0: 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
f7b0: 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
f7c0: 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
f7d0: 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28 54 45 53  t\all.test $(TES
f7e0: 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74 65 73 74  TOPTS)..soaktest
f7f0: 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09  :.$(TESTPROGS)..
f800: 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT
f810: 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH).
f820: 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
f830: 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61  xe $(TOP)\test\a
f840: 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31 20  ll.test -soak=1 
f850: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c  $(TESTOPTS)..ful
f860: 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28 54 45 53  ltestonly:.$(TES
f870: 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74  TPROGS) fuzztest
f880: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
f890: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
f8a0: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
f8b0: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
f8c0: 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 65 72  \full.test..quer
f8d0: 79 70 6c 61 6e 74 65 73 74 3a 09 74 65 73 74 66  yplantest:.testf
f8e0: 69 78 74 75 72 65 2e 65 78 65 20 73 68 65 6c 6c  ixture.exe shell
f8f0: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
f900: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
f910: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
f920: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
f930: 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73 2e 74 65  \permutations.te
f940: 73 74 20 71 75 65 72 79 70 6c 61 6e 6e 65 72 20  st queryplanner 
f950: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 7a  $(TESTOPTS)..fuz
f960: 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b  ztest:.fuzzcheck
f970: 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63  .exe...\fuzzchec
f980: 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44 41 54 41  k.exe $(FUZZDATA
f990: 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65 73 74 3a  )..fastfuzztest:
f9a0: 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09  .fuzzcheck.exe..
f9b0: 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20  .\fuzzcheck.exe 
f9c0: 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31 30 30 4d  --limit-mem 100M
f9d0: 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 23 20   $(FUZZDATA)..# 
f9e0: 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69 6e 67 20  Minimal testing 
f9f0: 74 68 61 74 20 72 75 6e 73 20 69 6e 20 6c 65 73  that runs in les
fa00: 73 20 74 68 61 6e 20 33 20 6d 69 6e 75 74 65 73  s than 3 minutes
fa10: 20 28 6f 6e 20 61 20 66 61 73 74 20 6d 61 63 68   (on a fast mach
fa20: 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74 65 73 74  ine).#.quicktest
fa30: 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  :.testfixture.ex
fa40: 65 20 73 6f 75 72 63 65 74 65 73 74 0a 09 40 73  e sourcetest..@s
fa50: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
fa60: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
fa70: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
fa80: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 65 78 74   $(TOP)\test\ext
fa90: 72 61 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54  raquick.test $(T
faa0: 45 53 54 4f 50 54 53 29 0a 0a 23 20 54 68 69 73  ESTOPTS)..# This
fab0: 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 63   is the common c
fac0: 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e 79 20 74  ase.  Run many t
fad0: 65 73 74 73 20 74 68 61 74 20 64 6f 20 6e 6f 74  ests that do not
fae0: 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67 2c 0a   take too long,.
faf0: 23 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 7a 7a  # including fuzz
fb00: 63 68 65 63 6b 2c 20 73 71 6c 69 74 65 33 5f 61  check, sqlite3_a
fb10: 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20 73 71 6c  nalyzer, and sql
fb20: 64 69 66 66 20 74 65 73 74 73 2e 0a 23 0a 74 65  diff tests..#.te
fb30: 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS)
fb40: 20 73 6f 75 72 63 65 74 65 73 74 20 66 61 73 74   sourcetest fast
fb50: 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50  fuzztest..@set P
fb60: 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
fb70: 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
fb80: 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
fb90: 4f 50 29 5c 74 65 73 74 5c 76 65 72 79 71 75 69  OP)\test\veryqui
fba0: 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  ck.test $(TESTOP
fbb0: 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 3a 09  TS)..smoketest:.
fbc0: 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73  $(TESTPROGS)..@s
fbd0: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
fbe0: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
fbf0: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
fc00: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6d 61 69   $(TOP)\test\mai
fc10: 6e 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54  n.test $(TESTOPT
fc20: 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c  S)..sqlite3_anal
fc30: 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c 49 54 45  yzer.c:.$(SQLITE
fc40: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20  3C) $(SQLITE3H) 
fc50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
fc60: 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f  lite.c $(TOP)\to
fc70: 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c  ol\spaceanal.tcl
fc80: 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45   $(SQLITE_TCL_DE
fc90: 50 29 0a 09 65 63 68 6f 20 23 64 65 66 69 6e 65  P)..echo #define
fca0: 20 54 43 4c 53 48 20 32 20 3e 20 24 40 0a 09 65   TCLSH 2 > $@..e
fcb0: 63 68 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49  cho #define SQLI
fcc0: 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54  TE_ENABLE_DBSTAT
fcd0: 5f 56 54 41 42 20 31 20 3e 3e 20 24 40 0a 09 63  _VTAB 1 >> $@..c
fce0: 6f 70 79 20 24 40 20 2b 20 24 28 53 51 4c 49 54  opy $@ + $(SQLIT
fcf0: 45 33 43 29 20 2b 20 24 28 54 4f 50 29 5c 73 72  E3C) + $(TOP)\sr
fd00: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 40  c\tclsqlite.c $@
fd10: 0a 09 65 63 68 6f 20 73 74 61 74 69 63 20 63 6f  ..echo static co
fd20: 6e 73 74 20 63 68 61 72 20 2a 74 63 6c 73 68 5f  nst char *tclsh_
fd30: 6d 61 69 6e 5f 6c 6f 6f 70 28 76 6f 69 64 29 7b  main_loop(void){
fd40: 20 3e 3e 20 24 40 0a 09 65 63 68 6f 20 73 74 61   >> $@..echo sta
fd50: 74 69 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a  tic const char *
fd60: 7a 4d 61 69 6e 6c 6f 6f 70 20 3d 20 3e 3e 20 24  zMainloop = >> $
fd70: 40 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  @..$(TCLSH_CMD) 
fd80: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 74 6f 73 74  $(TOP)\tool\tost
fd90: 72 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f  r.tcl $(TOP)\too
fda0: 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c 20  l\spaceanal.tcl 
fdb0: 3e 3e 20 24 40 0a 09 65 63 68 6f 20 3b 20 72 65  >> $@..echo ; re
fdc0: 74 75 72 6e 20 7a 4d 61 69 6e 6c 6f 6f 70 3b 20  turn zMainloop; 
fdd0: 7d 20 3e 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33  } >> $@..sqlite3
fde0: 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73  _analyzer.exe:.s
fdf0: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
fe00: 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a  c $(LIBRESOBJS).
fe10: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
fe20: 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71  WARN) -DBUILD_sq
fe30: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD
fe40: 49 52 29 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c  IR) sqlite3_anal
fe50: 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b  yzer.c \.../link
fe60: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
fe70: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49  LINKOPTS) $(LTLI
fe80: 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES
fe90: 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20  OBJS) $(LTLIBS) 
fea0: 24 28 54 4c 49 42 53 29 0a 0a 73 71 6c 69 74 65  $(TLIBS)..sqlite
feb0: 33 5f 65 78 70 65 72 74 2e 65 78 65 3a 20 24 28  3_expert.exe: $(
fec0: 53 51 4c 49 54 45 33 43 29 20 24 28 54 4f 50 29  SQLITE3C) $(TOP)
fed0: 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69  \ext\expert\sqli
fee0: 74 65 33 65 78 70 65 72 74 2e 68 20 24 28 54 4f  te3expert.h $(TO
fef0: 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71  P)\ext\expert\sq
ff00: 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 24 28  lite3expert.c $(
ff10: 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c  TOP)\ext\expert\
ff20: 65 78 70 65 72 74 2e 63 0a 09 24 28 4c 54 4c 49  expert.c..$(LTLI
ff30: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24  NK) $(NO_WARN).$
ff40: 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74  (TOP)\ext\expert
ff50: 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63  \sqlite3expert.c
ff60: 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65   $(TOP)\ext\expe
ff70: 72 74 5c 65 78 70 65 72 74 2e 63 20 24 28 53 51  rt\expert.c $(SQ
ff80: 4c 49 54 45 33 43 29 20 24 28 54 4c 49 42 53 29  LITE3C) $(TLIBS)
ff90: 0a 0a 64 62 64 75 6d 70 2e 65 78 65 3a 09 24 28  ..dbdump.exe:.$(
ffa0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62  TOP)\ext\misc\db
ffb0: 64 75 6d 70 2e 63 20 24 28 53 51 4c 49 54 45 33  dump.c $(SQLITE3
ffc0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
ffd0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
ffe0: 41 52 4e 29 20 2d 44 44 42 44 55 4d 50 5f 53 54  ARN) -DDBDUMP_ST
fff0: 41 4e 44 41 4c 4f 4e 45 20 24 28 54 4f 50 29 5c  ANDALONE $(TOP)\
10000 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70 2e  ext\misc\dbdump.
10010 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 5c 0a  c $(SQLITE3C) \.
10020 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ../link $(LDFLAG
10030 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
10040 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24   $(LTLIBPATHS) $
10050 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c  (LIBRESOBJS) $(L
10060 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f 61 64  TLIBS)..testload
10070 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ext.lo:.$(TOP)\s
10080 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e  rc\test_loadext.
10090 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  c..$(LTCOMPILE) 
100a0 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28  $(NO_WARN) -c $(
100b0 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f  TOP)\src\test_lo
100c0 61 64 65 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61  adext.c..testloa
100d0 64 65 78 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f  dext.dll:.testlo
100e0 61 64 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20  adext.lo..$(LD) 
100f0 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
10100 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  INKOPTS) $(LTLIB
10110 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54  PATHS) /DLL /OUT
10120 3a 24 40 20 74 65 73 74 6c 6f 61 64 65 78 74 2e  :$@ testloadext.
10130 6c 6f 0a 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09  lo..showdb.exe:.
10140 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
10150 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  db.c $(SQLITE3C)
10160 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
10170 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
10180 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  N) -DSQLITE_THRE
10190 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54  ADSAFE=0 -DSQLIT
101a0 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
101b0 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29  NSION \...$(TOP)
101c0 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24  \tool\showdb.c $
101d0 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
101e0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
101f0 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73  LINKOPTS)..shows
10200 74 61 74 34 2e 65 78 65 3a 09 24 28 54 4f 50 29  tat4.exe:.$(TOP)
10210 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e  \tool\showstat4.
10220 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
10230 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
10240 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
10250 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
10260 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
10270 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
10280 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  ON \...$(TOP)\to
10290 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24  ol\showstat4.c $
102a0 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
102b0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
102c0 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 6a  LINKOPTS)..showj
102d0 6f 75 72 6e 61 6c 2e 65 78 65 3a 09 24 28 54 4f  ournal.exe:.$(TO
102e0 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72  P)\tool\showjour
102f0 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43  nal.c $(SQLITE3C
10300 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
10310 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
10320 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
10330 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
10340 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
10350 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP
10360 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e  )\tool\showjourn
10370 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  al.c $(SQLITE3C)
10380 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
10390 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
103a0 0a 73 68 6f 77 77 61 6c 2e 65 78 65 3a 09 24 28  .showwal.exe:.$(
103b0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61  TOP)\tool\showwa
103c0 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
103d0 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
103e0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
103f0 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
10400 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
10410 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
10420 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\
10430 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24  tool\showwal.c $
10440 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
10450 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
10460 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67  LINKOPTS)..chang
10470 65 73 65 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  eset.exe:.$(TOP)
10480 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61  \ext\session\cha
10490 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54  ngeset.c $(SQLIT
104a0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
104b0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
104c0 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
104d0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
104e0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
104f0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44  EXTENSION \...-D
10500 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45  SQLITE_ENABLE_SE
10510 53 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45  SSION=1 -DSQLITE
10520 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54  _ENABLE_PREUPDAT
10530 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54  E_HOOK=1 \...$(T
10540 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
10550 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53 51  changeset.c $(SQ
10560 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
10570 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
10580 4b 4f 50 54 53 29 0a 0a 66 74 73 33 76 69 65 77  KOPTS)..fts3view
10590 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74  .exe:.$(TOP)\ext
105a0 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76  \fts3\tool\fts3v
105b0 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iew.c $(SQLITE3C
105c0 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
105d0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
105e0 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
105f0 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
10600 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
10610 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP
10620 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c  )\ext\fts3\tool\
10630 66 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c  fts3view.c $(SQL
10640 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
10650 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
10660 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b 2d  OPTS)..rollback-
10670 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  test.exe:.$(TOP)
10680 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74  \tool\rollback-t
10690 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  est.c $(SQLITE3C
106a0 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
106b0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
106c0 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
106d0 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
106e0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
106f0 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP
10700 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d  )\tool\rollback-
10710 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3
10720 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
10730 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
10740 29 0a 0a 4c 6f 67 45 73 74 2e 65 78 65 3a 09 24  )..LogEst.exe:.$
10750 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65 73  (TOP)\tool\loges
10760 74 2e 63 20 24 28 53 51 4c 49 54 45 33 48 29 0a  t.c $(SQLITE3H).
10770 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
10780 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f  WARN) $(TOP)\too
10790 6c 5c 4c 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b  l\LogEst.c /link
107a0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
107b0 4c 49 4e 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63  LINKOPTS)..wordc
107c0 6f 75 6e 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  ount.exe:.$(TOP)
107d0 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e  \test\wordcount.
107e0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
107f0 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
10800 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
10810 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
10820 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
10830 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
10840 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65  ON \...$(TOP)\te
10850 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24  st\wordcount.c $
10860 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
10870 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
10880 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 70 65 65 64  LINKOPTS)..speed
10890 74 65 73 74 31 2e 65 78 65 3a 09 24 28 54 4f 50  test1.exe:.$(TOP
108a0 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74  )\test\speedtest
108b0 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  1.c $(SQLITE3C) 
108c0 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
108d0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
108e0 29 20 24 28 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f  ) $(ST_COMPILE_O
108f0 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  PTS) -DSQLITE_OM
10900 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
10910 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73  N \...$(TOP)\tes
10920 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 20 24  t\speedtest1.c $
10930 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
10940 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
10950 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6b 76 74 65 73  LINKOPTS)..kvtes
10960 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65  t.exe:.$(TOP)\te
10970 73 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51  st\kvtest.c $(SQ
10980 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
10990 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
109a0 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4b 56 5f 43  (NO_WARN) $(KV_C
109b0 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 5c 0a 09  OMPILE_OPTS) \..
109c0 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74  .$(TOP)\test\kvt
109d0 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  est.c $(SQLITE3C
109e0 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
109f0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
10a00 0a 0a 64 62 73 65 6c 66 74 65 73 74 2e 65 78 65  ..dbselftest.exe
10a10 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62  :.$(TOP)\test\db
10a20 73 65 6c 66 74 65 73 74 2e 63 20 24 28 53 51 4c  selftest.c $(SQL
10a30 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
10a40 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
10a50 4e 4f 5f 57 41 52 4e 29 20 24 28 44 42 53 45 4c  NO_WARN) $(DBSEL
10a60 46 54 45 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50  FTEST_COMPILE_OP
10a70 54 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  TS) $(TOP)\test\
10a80 64 62 73 65 6c 66 74 65 73 74 2e 63 20 24 28 53  dbselftest.c $(S
10a90 51 4c 49 54 45 33 43 29 0a 0a 72 62 75 2e 65 78  QLITE3C)..rbu.ex
10aa0 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  e:.$(TOP)\ext\rb
10ab0 75 5c 72 62 75 2e 63 20 24 28 54 4f 50 29 5c 65  u\rbu.c $(TOP)\e
10ac0 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62  xt\rbu\sqlite3rb
10ad0 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  u.c $(SQLITE3C) 
10ae0 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
10af0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
10b00 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
10b10 45 5f 52 42 55 20 5c 0a 09 09 24 28 54 4f 50 29  E_RBU \...$(TOP)
10b20 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24  \ext\rbu\rbu.c $
10b30 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
10b40 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
10b50 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6d 6f 72 65 63  LINKOPTS)..morec
10b60 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c  lean:.clean..del
10b70 20 2f 51 20 24 28 53 51 4c 49 54 45 33 43 29 20   /Q $(SQLITE3C) 
10b80 24 28 53 51 4c 49 54 45 33 48 29 20 32 3e 4e 55  $(SQLITE3H) 2>NU
10b90 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63  L.# <</mark>>..c
10ba0 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e  lean:..del /Q *.
10bb0 65 78 70 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a  exp *.lo *.ilk *
10bc0 2e 6c 69 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62  .lib *.obj *.ncb
10bd0 20 2a 2e 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73   *.pdb *.sdf *.s
10be0 75 6f 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  uo 2>NUL..del /Q
10bf0 20 2a 2e 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63   *.bsc *.def *.c
10c00 6f 64 20 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62  od *.da *.bb *.b
10c10 62 67 20 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74  bg *.vc gmon.out
10c20 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24   2>NUL..del /Q $
10c30 28 53 51 4c 49 54 45 33 45 58 45 29 20 24 28 53  (SQLITE3EXE) $(S
10c40 51 4c 49 54 45 33 44 4c 4c 29 20 52 65 70 6c 61  QLITE3DLL) Repla
10c50 63 65 2e 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c  ce.exe 2>NUL.# <
10c60 3c 6d 61 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20  <mark>>..del /Q 
10c70 73 71 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65  sqlite3.c sqlite
10c80 33 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  3.h 2>NUL..del /
10c90 51 20 6f 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f  Q opcodes.c opco
10ca0 64 65 73 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  des.h 2>NUL..del
10cb0 20 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70   /Q lemon.* lemp
10cc0 61 72 2e 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e  ar.c parse.* 2>N
10cd0 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b 6b 65 79  UL..del /Q mkkey
10ce0 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f  wordhash.* keywo
10cf0 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09  rdhash.h 2>NUL..
10d00 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61 72 65  del /Q notashare
10d10 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72  dlib.* 2>NUL..-r
10d20 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70 73 20  mdir /Q/S .deps 
10d30 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51  2>NUL..-rmdir /Q
10d40 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09  /S .libs 2>NUL..
10d50 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63  -rmdir /Q/S tsrc
10d60 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e   2>NUL..del /Q .
10d70 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e  target_source 2>
10d80 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73  NUL..del /Q tcls
10d90 71 6c 69 74 65 33 2e 65 78 65 20 24 28 53 51 4c  qlite3.exe $(SQL
10da0 49 54 45 54 43 4c 48 29 20 24 28 53 51 4c 49 54  ITETCLH) $(SQLIT
10db0 45 54 43 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55  ETCLDECLSH) 2>NU
10dc0 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 6c 6f  L..del /Q testlo
10dd0 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c 0a  adext.dll 2>NUL.
10de0 09 64 65 6c 20 2f 51 20 74 65 73 74 66 69 78 74  .del /Q testfixt
10df0 75 72 65 2e 65 78 65 20 74 65 73 74 2e 64 62 20  ure.exe test.db 
10e00 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 4c 6f  2>NUL..del /Q Lo
10e10 67 45 73 74 2e 65 78 65 20 66 74 73 33 76 69 65  gEst.exe fts3vie
10e20 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b 2d 74  w.exe rollback-t
10e30 65 73 74 2e 65 78 65 20 73 68 6f 77 64 62 2e 65  est.exe showdb.e
10e40 78 65 20 64 62 64 75 6d 70 2e 65 78 65 20 32 3e  xe dbdump.exe 2>
10e50 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68 61 6e  NUL..del /Q chan
10e60 67 65 73 65 74 2e 65 78 65 20 32 3e 4e 55 4c 0a  geset.exe 2>NUL.
10e70 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f 75 72  .del /Q showjour
10e80 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73 74 61 74  nal.exe showstat
10e90 34 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e 65 78  4.exe showwal.ex
10ea0 65 20 73 70 65 65 64 74 65 73 74 31 2e 65 78 65  e speedtest1.exe
10eb0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d   2>NUL..del /Q m
10ec0 70 74 65 73 74 65 72 2e 65 78 65 20 77 6f 72 64  ptester.exe word
10ed0 63 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e 65 78  count.exe rbu.ex
10ee0 65 20 73 72 63 63 6b 31 2e 65 78 65 20 32 3e 4e  e srcck1.exe 2>N
10ef0 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74  UL..del /Q sqlit
10f00 65 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a 2e 63  e3.c sqlite3-*.c
10f10 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
10f20 71 6c 69 74 65 33 72 63 2e 68 20 32 3e 4e 55 4c  qlite3rc.h 2>NUL
10f30 0a 09 64 65 6c 20 2f 51 20 73 68 65 6c 6c 2e 63  ..del /Q shell.c
10f40 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71   sqlite3ext.h sq
10f50 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 20 32  lite3session.h 2
10f60 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
10f70 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78  ite3_analyzer.ex
10f80 65 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  e sqlite3_analyz
10f90 65 72 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  er.c 2>NUL..del 
10fa0 2f 51 20 73 71 6c 69 74 65 2d 2a 2d 6f 75 74 70  /Q sqlite-*-outp
10fb0 75 74 2e 76 73 69 78 20 32 3e 4e 55 4c 0a 09 64  ut.vsix 2>NUL..d
10fc0 65 6c 20 2f 51 20 66 75 7a 7a 65 72 73 68 65 6c  el /Q fuzzershel
10fd0 6c 2e 65 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e  l.exe fuzzcheck.
10fe0 65 78 65 20 73 71 6c 64 69 66 66 2e 65 78 65 20  exe sqldiff.exe 
10ff0 64 62 68 61 73 68 2e 65 78 65 20 32 3e 4e 55 4c  dbhash.exe 2>NUL
11000 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 2e 2a 20  ..del /Q fts5.* 
11010 66 74 73 35 70 61 72 73 65 2e 2a 20 32 3e 4e 55  fts5parse.* 2>NU
11020 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a        L.# <</mark>>.