/ Hex Artifact Content
Login

Artifact eefec7a26bf73bb04f2241058e23a3ec8a43f656:


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 30  USE_FULLWARN = 0
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 75 73 65  his non-0 to use
02a0: 20 22 73 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69   "stdcall" calli
02b0: 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 66 6f  ng convention fo
02c0: 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  r the core libra
02d0: 72 79 0a 23 20 61 6e 64 20 73 68 65 6c 6c 20 65  ry.# and shell e
02e0: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46  xecutable..#.!IF
02f0: 4e 44 45 46 20 55 53 45 5f 53 54 44 43 41 4c 4c  NDEF USE_STDCALL
0300: 0a 55 53 45 5f 53 54 44 43 41 4c 4c 20 3d 20 30  .USE_STDCALL = 0
0310: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0320: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76  his non-0 to hav
0330: 65 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63  e the shell exec
0340: 75 74 61 62 6c 65 20 6c 69 6e 6b 20 61 67 61 69  utable link agai
0350: 6e 73 74 20 74 68 65 20 63 6f 72 65 20 64 79 6e  nst the core dyn
0360: 61 6d 69 63 0a 23 20 6c 69 6e 6b 20 6c 69 62 72  amic.# link libr
0370: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 44  ary..#.!IFNDEF D
0380: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 0a 44 59 4e  YNAMIC_SHELL.DYN
0390: 41 4d 49 43 5f 53 48 45 4c 4c 20 3d 20 30 0a 21  AMIC_SHELL = 0.!
03a0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
03b0: 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c  s non-0 to enabl
03c0: 65 20 65 78 74 72 61 20 63 6f 64 65 20 74 68 61  e extra code tha
03d0: 74 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64 65  t attempts to de
03e0: 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20 74  tect misuse of t
03f0: 68 65 0a 23 20 53 51 4c 69 74 65 20 41 50 49 2e  he.# SQLite API.
0400: 0a 23 0a 21 49 46 4e 44 45 46 20 41 50 49 5f 41  .#.!IFNDEF API_A
0410: 52 4d 4f 52 0a 41 50 49 5f 41 52 4d 4f 52 20 3d  RMOR.API_ARMOR =
0420: 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20   0.!ENDIF..# If 
0430: 6e 65 63 65 73 73 61 72 79 2c 20 63 72 65 61 74  necessary, creat
0440: 65 20 61 20 6c 69 73 74 20 6f 66 20 68 61 72 6d  e a list of harm
0450: 6c 65 73 73 20 63 6f 6d 70 69 6c 65 72 20 77 61  less compiler wa
0460: 72 6e 69 6e 67 73 20 74 6f 20 64 69 73 61 62 6c  rnings to disabl
0470: 65 20 77 68 65 6e 0a 23 20 63 6f 6d 70 69 6c 69  e when.# compili
0480: 6e 67 20 74 68 65 20 76 61 72 69 6f 75 73 20 74  ng the various t
0490: 6f 6f 6c 73 2e 20 20 46 6f 72 20 74 68 65 20 53  ools.  For the S
04a0: 51 4c 69 74 65 20 73 6f 75 72 63 65 20 63 6f 64  QLite source cod
04b0: 65 20 69 74 73 65 6c 66 2c 20 77 61 72 6e 69 6e  e itself, warnin
04c0: 67 73 2c 0a 23 20 69 66 20 61 6e 79 2c 20 77 69  gs,.# if any, wi
04d0: 6c 6c 20 62 65 20 64 69 73 61 62 6c 65 64 20 66  ll be disabled f
04e0: 72 6f 6d 20 77 69 74 68 69 6e 20 69 74 2e 0a 23  rom within it..#
04f0: 0a 21 49 46 4e 44 45 46 20 4e 4f 5f 57 41 52 4e  .!IFNDEF NO_WARN
0500: 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57  .!IF $(USE_FULLW
0510: 41 52 4e 29 21 3d 30 0a 4e 4f 5f 57 41 52 4e 20  ARN)!=0.NO_WARN 
0520: 3d 20 2d 77 64 34 30 35 34 20 2d 77 64 34 30 35  = -wd4054 -wd405
0530: 35 20 2d 77 64 34 31 30 30 20 2d 77 64 34 31 32  5 -wd4100 -wd412
0540: 37 20 2d 77 64 34 31 33 30 20 2d 77 64 34 31 35  7 -wd4130 -wd415
0550: 32 20 2d 77 64 34 31 38 39 20 2d 77 64 34 32 30  2 -wd4189 -wd420
0560: 36 0a 4e 4f 5f 57 41 52 4e 20 3d 20 24 28 4e 4f  6.NO_WARN = $(NO
0570: 5f 57 41 52 4e 29 20 2d 77 64 34 32 31 30 20 2d  _WARN) -wd4210 -
0580: 77 64 34 32 33 32 20 2d 77 64 34 33 30 35 20 2d  wd4232 -wd4305 -
0590: 77 64 34 33 30 36 20 2d 77 64 34 37 30 32 20 2d  wd4306 -wd4702 -
05a0: 77 64 34 37 30 36 0a 21 45 4e 44 49 46 0a 21 45  wd4706.!ENDIF.!E
05b0: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
05c0: 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20 74 68   non-0 to use th
05d0: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 20  e library paths 
05e0: 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e  and other option
05f0: 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 0a  s necessary for.
0600: 23 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  # Windows Phone 
0610: 38 2e 31 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55  8.1..#.!IFNDEF U
0620: 53 45 5f 57 50 38 31 5f 4f 50 54 53 0a 55 53 45  SE_WP81_OPTS.USE
0630: 5f 57 50 38 31 5f 4f 50 54 53 20 3d 20 30 0a 21  _WP81_OPTS = 0.!
0640: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0650: 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 70 6c 69 74  s non-0 to split
0660: 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d 61 6c   the SQLite amal
0670: 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20 69 6e  gamation file in
0680: 74 6f 20 63 68 75 6e 6b 73 20 74 6f 0a 23 20 62  to chunks to.# b
0690: 65 20 75 73 65 64 20 66 6f 72 20 64 65 62 75 67  e used for debug
06a0: 67 69 6e 67 20 77 69 74 68 20 56 69 73 75 61 6c  ging with Visual
06b0: 20 53 74 75 64 69 6f 2e 0a 23 0a 21 49 46 4e 44   Studio..#.!IFND
06c0: 45 46 20 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d  EF SPLIT_AMALGAM
06d0: 41 54 49 4f 4e 0a 53 50 4c 49 54 5f 41 4d 41 4c  ATION.SPLIT_AMAL
06e0: 47 41 4d 41 54 49 4f 4e 20 3d 20 30 0a 21 45 4e  GAMATION = 0.!EN
06f0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
0700: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0710: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0720: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0730: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0740: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0750: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0760: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0770: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set 
0780: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0790: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
07a0: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
07b0: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
07c0: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
07d0: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL = 
07e0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
07f0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0800: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0810: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0820: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0830: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0840: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..# 
0850: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0860: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0870: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0880: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0890: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
08a0: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
08b0: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
08c0: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
08d0: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
08e0: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
08f0: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0900: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0910: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0920: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0930: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0940: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during 
0950: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0960: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0970: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0980: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0990: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
09a0: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
09b0: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries 
09c0: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
09d0: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the 
09e0: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
09f0: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0a00: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0a10: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0a20: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0a30: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0a40: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0a50: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0a60: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0a70: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0a80: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0a90: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0aa0: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0ab0: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0ac0: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0ad0: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0ae0: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0af0: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0b00: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0b10: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does 
0b20: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0b30: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0b40: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0b50: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0b60: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text 
0b70: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
0b80: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
0b90: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
0ba0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0bb0: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
0bc0: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
0bd0: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
0be0: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
0bf0: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
0c00: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
0c10: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
0c20: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
0c30: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
0c40: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
0c50: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
0c60: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
0c70: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
0c80: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0c90: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
0ca0: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
0cb0: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
0cc0: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
0cd0: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
0ce0: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
0cf0: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..# 
0d00: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
0d10: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
0d20: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to 
0d30: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or 
0d40: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
0d50: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
0d60: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
0d70: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
0d80: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0d90: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
0da0: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
0db0: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
0dc0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
0dd0: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
0de0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0df0: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
0e00: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
0e10: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
0e20: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
0e30: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
0e40: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
0e50: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
0e60: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
0e70: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap 
0e80: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
0e90: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
0ea0: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
0eb0: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this 
0ec0: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
0ed0: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
0ee0: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
0ef0: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.# 
0f00: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
0f10: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
0f20: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
0f30: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
0f40: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
0f50: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
0f60: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
0f70: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
0f80: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
0f90: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
0fa0: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
0fb0: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
0fc0: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
0fd0: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
0fe0: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for 
0ff0: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1000: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1010: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
1020: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime 
1030: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
1040: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
1050: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
1060: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
1070: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of 
1080: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 == 
1090: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG 
10a0: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
10b0: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
10c0: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
10d0: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
10e0: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
10f0: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1100: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1110: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
1120: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
1130: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
1140: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native 
1150: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
1160: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
1170: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1180: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1190: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
11a0: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
11b0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
11c0: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
11d0: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
11e0: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
11f0: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1200: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1210: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
1220: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
1230: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
1240: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
1250: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
1260: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
1270: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero, 
1280: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1290: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
12a0: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
12b0: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
12c0: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
12d0: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
12e0: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS = 
12f0: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set 
1300: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1310: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support 
1320: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session 
1330: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
1340: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
1350: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
1360: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
1370: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1380: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1390: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
13a0: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they 
13b0: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
13c0: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
13d0: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $(
13e0: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49  SPLIT_AMALGAMATI
13f0: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20  ON)!=0.SQLITE3C 
1400: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a  = sqlite3-all.c.
1410: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d  !ELSE.SQLITE3C =
1420: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49   sqlite3.c.!ENDI
1430: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  F.!ENDIF..# Set 
1440: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65  the include code
1450: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64   file to be used
1460: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20   by executables 
1470: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68  and libraries wh
1480: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53  en.# they need S
1490: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46  QLite..#.!IFNDEF
14a0: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45   SQLITE3H.SQLITE
14b0: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21  3H = sqlite3.h.!
14c0: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
14d0: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
14e0: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
14f0: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62  dynamic link lib
1500: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49  rary (DLL)..#.!I
1510: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c  FNDEF SQLITE3DLL
1520: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  .!IF $(FOR_WIN10
1530: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL 
1540: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
1550: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
1560: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
1570: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1580: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1590: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
15a0: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
15b0: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
15c0: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
15d0: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN
15e0: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49  10)!=0.SQLITE3LI
15f0: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c  B = winsqlite3.l
1600: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33  ib.!ELSE.SQLITE3
1610: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69  LIB = sqlite3.li
1620: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  b.!ENDIF.!ENDIF.
1630: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e  .# This is the n
1640: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74  ame to use for t
1650: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20  he SQLite shell 
1660: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29  executable (EXE)
1670: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49  ..#.!IFNDEF SQLI
1680: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52  TE3EXE.!IF $(FOR
1690: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
16a0: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
16b0: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
16c0: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
16d0: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
16e0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
16f0: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1700: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1710: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1720: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1730: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1740: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1750: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF 
1760: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1770: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!=
1780: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20  0.SQLITE3EXEPDB 
1790: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45  =.!ELSE.SQLITE3E
17a0: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c  XEPDB = /pdb:sql
17b0: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49  ite3sh.pdb.!ENDI
17c0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  F.!ENDIF..# Thes
17d0: 65 20 61 72 65 20 74 68 65 20 22 73 74 61 6e 64  e are the "stand
17e0: 61 72 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70  ard" SQLite comp
17f0: 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20  ilation options 
1800: 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c  used when compil
1810: 69 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69  ing for.# the Wi
1820: 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a  ndows platform..
1830: 23 0a 21 49 46 4e 44 45 46 20 4f 50 54 5f 46 45  #.!IFNDEF OPT_FE
1840: 41 54 55 52 45 5f 46 4c 41 47 53 0a 4f 50 54 5f  ATURE_FLAGS.OPT_
1850: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS = 
1860: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
1870: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  AGS) -DSQLITE_EN
1880: 41 42 4c 45 5f 46 54 53 33 3d 31 0a 4f 50 54 5f  ABLE_FTS3=1.OPT_
1890: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS = 
18a0: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
18b0: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  AGS) -DSQLITE_EN
18c0: 41 42 4c 45 5f 52 54 52 45 45 3d 31 0a 4f 50 54  ABLE_RTREE=1.OPT
18d0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
18e0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
18f0: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  LAGS) -DSQLITE_E
1900: 4e 41 42 4c 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54  NABLE_COLUMN_MET
1910: 41 44 41 54 41 3d 31 0a 21 45 4e 44 49 46 0a 0a  ADATA=1.!ENDIF..
1920: 23 20 53 68 6f 75 6c 64 20 74 68 65 20 73 65 73  # Should the ses
1930: 73 69 6f 6e 20 65 78 74 65 6e 73 69 6f 6e 20 62  sion extension b
1940: 65 20 65 6e 61 62 6c 65 64 3f 20 20 49 66 20 73  e enabled?  If s
1950: 6f 2c 20 61 64 64 20 63 6f 6d 70 69 6c 61 74 69  o, add compilati
1960: 6f 6e 20 6f 70 74 69 6f 6e 73 0a 23 20 74 6f 20  on options.# to 
1970: 65 6e 61 62 6c 65 20 69 74 2e 0a 23 0a 21 49 46  enable it..#.!IF
1980: 20 24 28 53 45 53 53 49 4f 4e 29 21 3d 30 0a 4f   $(SESSION)!=0.O
1990: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
19a0: 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45   = $(OPT_FEATURE
19b0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
19c0: 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d  _ENABLE_SESSION=
19d0: 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  1.OPT_FEATURE_FL
19e0: 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54  AGS = $(OPT_FEAT
19f0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
1a00: 49 54 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50  ITE_ENABLE_PREUP
1a10: 44 41 54 45 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44  DATE_HOOK=1.!END
1a20: 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20  IF..# These are 
1a30: 74 68 65 20 22 65 78 74 65 6e 64 65 64 22 20 53  the "extended" S
1a40: 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f  QLite compilatio
1a50: 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 77  n options used w
1a60: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
1a70: 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 73 20  r.# the Windows 
1a80: 31 30 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21  10 platform..#.!
1a90: 49 46 4e 44 45 46 20 45 58 54 5f 46 45 41 54 55  IFNDEF EXT_FEATU
1aa0: 52 45 5f 46 4c 41 47 53 0a 21 49 46 20 24 28 46  RE_FLAGS.!IF $(F
1ab0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 45 58 54  OR_WIN10)!=0.EXT
1ac0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
1ad0: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46   $(EXT_FEATURE_F
1ae0: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  LAGS) -DSQLITE_E
1af0: 4e 41 42 4c 45 5f 46 54 53 34 3d 31 0a 45 58 54  NABLE_FTS4=1.EXT
1b00: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
1b10: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46   $(EXT_FEATURE_F
1b20: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53  LAGS) -DSQLITE_S
1b30: 59 53 54 45 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45  YSTEM_MALLOC=1.E
1b40: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
1b50: 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52 45   = $(EXT_FEATURE
1b60: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
1b70: 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d  _OMIT_LOCALTIME=
1b80: 31 0a 21 45 4c 53 45 0a 45 58 54 5f 46 45 41 54  1.!ELSE.EXT_FEAT
1b90: 55 52 45 5f 46 4c 41 47 53 20 3d 0a 21 45 4e 44  URE_FLAGS =.!END
1ba0: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 23 23 23 23  IF.!ENDIF..#####
1bb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1bc0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1bd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1be0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1bf0: 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23 23  ##########.#####
1c00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1c10: 23 23 23 23 23 23 23 23 23 23 20 45 4e 44 20 4f  ########## END O
1c20: 46 20 4f 50 54 49 4f 4e 53 20 23 23 23 23 23 23  F OPTIONS ######
1c30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1c40: 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23 23  ##########.#####
1c50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1c60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1c70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1c80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1c90: 23 23 23 23 23 23 23 23 23 23 0a 0a 23 20 57 68  ##########..# Wh
1ca0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
1cb0: 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20   the Windows 10 
1cc0: 70 6c 61 74 66 6f 72 6d 2c 20 74 68 65 20 50 4c  platform, the PL
1cd0: 41 54 46 4f 52 4d 20 6d 61 63 72 6f 20 6d 75 73  ATFORM macro mus
1ce0: 74 20 62 65 20 73 65 74 0a 23 20 74 6f 20 61 6e  t be set.# to an
1cf0: 20 61 70 70 72 6f 70 72 69 61 74 65 20 76 61 6c   appropriate val
1d00: 75 65 20 28 65 2e 67 2e 20 78 38 36 2c 20 78 36  ue (e.g. x86, x6
1d10: 34 2c 20 61 72 6d 2c 20 61 72 6d 36 34 2c 20 65  4, arm, arm64, e
1d20: 74 63 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52  tc)..#.!IF $(FOR
1d30: 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 46 4e 44  _WIN10)!=0.!IFND
1d40: 45 46 20 50 4c 41 54 46 4f 52 4d 0a 21 45 52 52  EF PLATFORM.!ERR
1d50: 4f 52 20 55 73 69 6e 67 20 74 68 65 20 46 4f 52  OR Using the FOR
1d60: 5f 57 49 4e 31 30 20 6f 70 74 69 6f 6e 20 72 65  _WIN10 option re
1d70: 71 75 69 72 65 73 20 61 20 76 61 6c 75 65 20 66  quires a value f
1d80: 6f 72 20 50 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e  or PLATFORM..!EN
1d90: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
1da0: 69 73 20 61 73 73 75 6d 65 73 20 74 68 61 74 20  is assumes that 
1db0: 4d 53 56 43 20 69 73 20 61 6c 77 61 79 73 20 69  MSVC is always i
1dc0: 6e 73 74 61 6c 6c 65 64 20 69 6e 20 33 32 2d 62  nstalled in 32-b
1dd0: 69 74 20 50 72 6f 67 72 61 6d 20 46 69 6c 65 73  it Program Files
1de0: 20 64 69 72 65 63 74 6f 72 79 0a 23 20 61 6e 64   directory.# and
1df0: 20 73 65 74 73 20 74 68 65 20 76 61 72 69 61 62   sets the variab
1e00: 6c 65 20 66 6f 72 20 75 73 65 20 69 6e 20 6c 6f  le for use in lo
1e10: 63 61 74 69 6e 67 20 6f 74 68 65 72 20 33 32 2d  cating other 32-
1e20: 62 69 74 20 69 6e 73 74 61 6c 6c 73 20 61 63 63  bit installs acc
1e30: 6f 72 64 69 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47  ordingly..#.PROG
1e40: 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d 20 24  RAMFILES_X86 = $
1e50: 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 2e  (VCINSTALLDIR)\.
1e60: 2e 5c 2e 2e 0a 50 52 4f 47 52 41 4d 46 49 4c 45  .\...PROGRAMFILE
1e70: 53 5f 58 38 36 20 3d 20 24 28 50 52 4f 47 52 41  S_X86 = $(PROGRA
1e80: 4d 46 49 4c 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29  MFILES_X86:\\=\)
1e90: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
1ea0: 65 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d  e predefined com
1eb0: 6d 61 6e 64 20 6d 61 63 72 6f 20 43 43 2e 20 20  mand macro CC.  
1ec0: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e  This should poin
1ed0: 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65  t to the compile
1ee0: 72 0a 23 20 62 69 6e 61 72 79 20 66 6f 72 20 74  r.# binary for t
1ef0: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
1f00: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
1f10: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
1f20: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 0a 23  y define it to.#
1f30: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61   the legacy defa
1f40: 75 6c 74 20 76 61 6c 75 65 20 27 63 6c 2e 65 78  ult value 'cl.ex
1f50: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 43  e'..#.!IFNDEF CC
1f60: 0a 43 43 20 3d 20 63 6c 2e 65 78 65 0a 21 45 4e  .CC = cl.exe.!EN
1f70: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  DIF..# Check for
1f80: 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20   the predefined 
1f90: 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 43 53  command macro CS
1fa0: 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20  C.  This should 
1fb0: 70 6f 69 6e 74 20 74 6f 20 61 20 77 6f 72 6b 69  point to a worki
1fc0: 6e 67 0a 23 20 43 20 53 68 61 72 70 20 63 6f 6d  ng.# C Sharp com
1fd0: 70 69 6c 65 72 20 62 69 6e 61 72 79 2e 20 20 49  piler binary.  I
1fe0: 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69  f it is not defi
1ff0: 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69  ned, simply defi
2000: 6e 65 20 69 74 20 74 6f 20 74 68 65 0a 23 20 6c  ne it to the.# l
2010: 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 61  egacy default va
2020: 6c 75 65 20 27 63 73 63 2e 65 78 65 27 2e 0a 23  lue 'csc.exe'..#
2030: 0a 21 49 46 4e 44 45 46 20 43 53 43 0a 43 53 43  .!IFNDEF CSC.CSC
2040: 20 3d 20 63 73 63 2e 65 78 65 0a 21 45 4e 44 49   = csc.exe.!ENDI
2050: 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74  F..# Check for t
2060: 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f  he command macro
2070: 20 4c 44 2e 20 20 54 68 69 73 20 73 68 6f 75 6c   LD.  This shoul
2080: 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 6c  d point to the l
2090: 69 6e 6b 65 72 20 62 69 6e 61 72 79 20 66 6f 72  inker binary for
20a0: 0a 23 20 74 68 65 20 74 61 72 67 65 74 20 70 6c  .# the target pl
20b0: 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20 69  atform.  If it i
20c0: 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73  s not defined, s
20d0: 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20  imply define it 
20e0: 74 6f 20 74 68 65 20 6c 65 67 61 63 79 0a 23 20  to the legacy.# 
20f0: 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 6c  default value 'l
2100: 69 6e 6b 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e  ink.exe'..#.!IFN
2110: 44 45 46 20 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b  DEF LD.LD = link
2120: 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43  .exe.!ENDIF..# C
2130: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65  heck for the pre
2140: 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20  defined command 
2150: 6d 61 63 72 6f 20 52 43 2e 20 20 54 68 69 73 20  macro RC.  This 
2160: 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20  should point to 
2170: 74 68 65 20 72 65 73 6f 75 72 63 65 0a 23 20 63  the resource.# c
2180: 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 20 66  ompiler binary f
2190: 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 70 6c  or the target pl
21a0: 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20 69  atform.  If it i
21b0: 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73  s not defined, s
21c0: 69 6d 70 6c 79 20 64 65 66 69 6e 65 0a 23 20 69  imply define.# i
21d0: 74 20 74 6f 20 74 68 65 20 6c 65 67 61 63 79 20  t to the legacy 
21e0: 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 72  default value 'r
21f0: 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45  c.exe'..#.!IFNDE
2200: 46 20 52 43 0a 52 43 20 3d 20 72 63 2e 65 78 65  F RC.RC = rc.exe
2210: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
2220: 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 72 75   for the MSVC ru
2230: 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 70 61  ntime library pa
2240: 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72  th macro.  Other
2250: 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c 75 65  wise, this value
2260: 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c 74 20   will.# default 
2270: 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69 72  to the 'lib' dir
2280: 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74  ectory underneat
2290: 68 20 74 68 65 20 4d 53 56 43 20 69 6e 73 74 61  h the MSVC insta
22a0: 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72  llation director
22b0: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 52 54  y..#.!IFNDEF CRT
22c0: 4c 49 42 50 41 54 48 0a 43 52 54 4c 49 42 50 41  LIBPATH.CRTLIBPA
22d0: 54 48 20 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c  TH = $(VCINSTALL
22e0: 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a  DIR)\lib.!ENDIF.
22f0: 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28  .CRTLIBPATH = $(
2300: 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29  CRTLIBPATH:\\=\)
2310: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
2320: 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20  e command macro 
2330: 4e 43 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c  NCC.  This shoul
2340: 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63  d point to the c
2350: 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 0a 23  ompiler binary.#
2360: 20 66 6f 72 20 74 68 65 20 70 6c 61 74 66 6f 72   for the platfor
2370: 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f  m the compilatio
2380: 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74 61 6b  n process is tak
2390: 69 6e 67 20 70 6c 61 63 65 20 6f 6e 2e 20 20 49  ing place on.  I
23a0: 66 20 69 74 20 69 73 20 6e 6f 74 0a 23 20 64 65  f it is not.# de
23b0: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65  fined, simply de
23c0: 66 69 6e 65 20 69 74 20 74 6f 20 68 61 76 65 20  fine it to have 
23d0: 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 61  the same value a
23e0: 73 20 74 68 65 20 43 43 20 6d 61 63 72 6f 2e 20  s the CC macro. 
23f0: 20 57 68 65 6e 0a 23 20 63 72 6f 73 73 2d 63 6f   When.# cross-co
2400: 6d 70 69 6c 69 6e 67 2c 20 69 74 20 69 73 20 73  mpiling, it is s
2410: 75 67 67 65 73 74 65 64 20 74 68 61 74 20 74 68  uggested that th
2420: 69 73 20 6d 61 63 72 6f 20 62 65 20 6d 6f 64 69  is macro be modi
2430: 66 69 65 64 20 76 69 61 20 74 68 65 20 63 6f 6d  fied via the com
2440: 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 28 73 69 6e  mand.# line (sin
2450: 63 65 20 6e 6d 61 6b 65 20 69 74 73 65 6c 66 20  ce nmake itself 
2460: 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 65  does not provide
2470: 20 61 20 62 75 69 6c 74 2d 69 6e 20 6d 65 74 68   a built-in meth
2480: 6f 64 20 74 6f 20 67 75 65 73 73 20 69 74 29 2e  od to guess it).
2490: 0a 23 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20  .# For example, 
24a0: 74 6f 20 75 73 65 20 74 68 65 20 78 38 36 20 63  to use the x86 c
24b0: 6f 6d 70 69 6c 65 72 20 77 68 65 6e 20 63 72 6f  ompiler when cro
24c0: 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  ss-compiling for
24d0: 20 78 36 34 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a   x64, a command.
24e0: 23 20 6c 69 6e 65 20 73 69 6d 69 6c 61 72 20 74  # line similar t
24f0: 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  o the following 
2500: 63 6f 75 6c 64 20 62 65 20 75 73 65 64 20 28 61  could be used (a
2510: 6c 6c 20 6f 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a  ll on one line):
2520: 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65 20 2f  .#.#     nmake /
2530: 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 73  f Makefile.msc s
2540: 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20 20 20  qlite3.dll.#    
2550: 20 20 20 20 20 20 20 58 43 4f 4d 50 49 4c 45 3d         XCOMPILE=
2560: 31 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42  1 USE_NATIVE_LIB
2570: 50 41 54 48 53 3d 31 0a 23 0a 23 20 41 6c 74 65  PATHS=1.#.# Alte
2580: 72 6e 61 74 69 76 65 6c 79 2c 20 74 68 65 20 66  rnatively, the f
2590: 75 6c 6c 20 70 61 74 68 20 61 6e 64 20 66 69 6c  ull path and fil
25a0: 65 20 6e 61 6d 65 20 74 6f 20 74 68 65 20 63 6f  e name to the co
25b0: 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 20 66 6f  mpiler binary fo
25c0: 72 20 74 68 65 0a 23 20 70 6c 61 74 66 6f 72 6d  r the.# platform
25d0: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
25e0: 20 70 72 6f 63 65 73 73 20 69 73 20 74 61 6b 69   process is taki
25f0: 6e 67 20 70 6c 61 63 65 20 6d 61 79 20 62 65 20  ng place may be 
2600: 73 70 65 63 69 66 69 65 64 20 28 61 6c 6c 20 6f  specified (all o
2610: 6e 0a 23 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23  n.# one line):.#
2620: 0a 23 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20  .#     nmake /f 
2630: 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c  Makefile.msc sql
2640: 69 74 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20  ite3.dll.#      
2650: 20 20 20 20 20 22 4e 43 43 3d 22 22 25 56 43 49       "NCC=""%VCI
2660: 4e 53 54 41 4c 4c 44 49 52 25 5c 62 69 6e 5c 63  NSTALLDIR%\bin\c
2670: 6c 2e 65 78 65 22 22 22 0a 23 20 20 20 20 20 20  l.exe""".#      
2680: 20 20 20 20 20 55 53 45 5f 4e 41 54 49 56 45 5f       USE_NATIVE_
2690: 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a 21 49 46  LIBPATHS=1.#.!IF
26a0: 44 45 46 20 4e 43 43 0a 4e 43 43 20 3d 20 24 28  DEF NCC.NCC = $(
26b0: 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49  NCC:\\=\).!ELSEI
26c0: 46 20 24 28 58 43 4f 4d 50 49 4c 45 29 21 3d 30  F $(XCOMPILE)!=0
26d0: 0a 4e 43 43 20 3d 20 22 24 28 56 43 49 4e 53 54  .NCC = "$(VCINST
26e0: 41 4c 4c 44 49 52 29 5c 62 69 6e 5c 24 28 43 43  ALLDIR)\bin\$(CC
26f0: 29 22 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a 5c  )".NCC = $(NCC:\
2700: 5c 3d 5c 29 0a 21 45 4c 53 45 0a 4e 43 43 20 3d  \=\).!ELSE.NCC =
2710: 20 24 28 43 43 29 0a 21 45 4e 44 49 46 0a 0a 23   $(CC).!ENDIF..#
2720: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 4d   Check for the M
2730: 53 56 43 20 6e 61 74 69 76 65 20 72 75 6e 74 69  SVC native runti
2740: 6d 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20  me library path 
2750: 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73  macro.  Otherwis
2760: 65 2c 0a 23 20 74 68 69 73 20 76 61 6c 75 65 20  e,.# this value 
2770: 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f 20  will default to 
2780: 74 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74  the 'lib' direct
2790: 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74  ory underneath t
27a0: 68 65 20 4d 53 56 43 0a 23 20 69 6e 73 74 61 6c  he MSVC.# instal
27b0: 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79  lation directory
27c0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 43 52 54  ..#.!IFNDEF NCRT
27d0: 4c 49 42 50 41 54 48 0a 4e 43 52 54 4c 49 42 50  LIBPATH.NCRTLIBP
27e0: 41 54 48 20 3d 20 24 28 56 43 49 4e 53 54 41 4c  ATH = $(VCINSTAL
27f0: 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46  LDIR)\lib.!ENDIF
2800: 0a 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d 20  ..NCRTLIBPATH = 
2810: 24 28 4e 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c  $(NCRTLIBPATH:\\
2820: 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  =\)..# Check for
2830: 20 74 68 65 20 50 6c 61 74 66 6f 72 6d 20 53 44   the Platform SD
2840: 4b 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  K library path m
2850: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
2860: 2c 20 74 68 69 73 0a 23 20 76 61 6c 75 65 20 77  , this.# value w
2870: 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f 20 74  ill default to t
2880: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f  he 'lib' directo
2890: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68  ry underneath th
28a0: 65 20 57 69 6e 64 6f 77 73 0a 23 20 53 44 4b 20  e Windows.# SDK 
28b0: 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72  installation dir
28c0: 65 63 74 6f 72 79 20 28 74 68 65 20 65 6e 76 69  ectory (the envi
28d0: 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65  ronment variable
28e0: 20 75 73 65 64 20 61 70 70 65 61 72 73 0a 23 20   used appears.# 
28f0: 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20  to be available 
2900: 77 68 65 6e 20 75 73 69 6e 67 20 56 69 73 75 61  when using Visua
2910: 6c 20 43 2b 2b 20 32 30 30 38 20 6f 72 20 6c 61  l C++ 2008 or la
2920: 74 65 72 20 76 69 61 20 74 68 65 0a 23 20 63 6f  ter via the.# co
2930: 6d 6d 61 6e 64 20 6c 69 6e 65 29 2e 0a 23 0a 21  mmand line)..#.!
2940: 49 46 4e 44 45 46 20 4e 53 44 4b 4c 49 42 50 41  IFNDEF NSDKLIBPA
2950: 54 48 0a 4e 53 44 4b 4c 49 42 50 41 54 48 20 3d  TH.NSDKLIBPATH =
2960: 20 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52   $(WINDOWSSDKDIR
2970: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 53  )\lib.!ENDIF..NS
2980: 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 53  DKLIBPATH = $(NS
2990: 44 4b 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  DKLIBPATH:\\=\).
29a0: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
29b0: 20 55 43 52 54 20 6c 69 62 72 61 72 79 20 70 61   UCRT library pa
29c0: 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72  th macro.  Other
29d0: 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c 75 65  wise, this value
29e0: 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c 74 20   will.# default 
29f0: 74 6f 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73  to the version-s
2a00: 70 65 63 69 66 69 63 2c 20 70 6c 61 74 66 6f 72  pecific, platfor
2a10: 6d 2d 73 70 65 63 69 66 69 63 20 27 6c 69 62 27  m-specific 'lib'
2a20: 20 64 69 72 65 63 74 6f 72 79 0a 23 20 75 6e 64   directory.# und
2a30: 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e 64  erneath the Wind
2a40: 6f 77 73 20 53 44 4b 20 69 6e 73 74 61 6c 6c 61  ows SDK installa
2a50: 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a  tion directory..
2a60: 23 0a 21 49 46 4e 44 45 46 20 55 43 52 54 4c 49  #.!IFNDEF UCRTLI
2a70: 42 50 41 54 48 0a 55 43 52 54 4c 49 42 50 41 54  BPATH.UCRTLIBPAT
2a80: 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 53 44 4b  H = $(WINDOWSSDK
2a90: 44 49 52 29 5c 6c 69 62 5c 24 28 57 49 4e 44 4f  DIR)\lib\$(WINDO
2aa0: 57 53 53 44 4b 4c 49 42 56 45 52 53 49 4f 4e 29  WSSDKLIBVERSION)
2ab0: 5c 75 63 72 74 5c 24 28 50 4c 41 54 46 4f 52 4d  \ucrt\$(PLATFORM
2ac0: 29 0a 21 45 4e 44 49 46 0a 0a 55 43 52 54 4c 49  ).!ENDIF..UCRTLI
2ad0: 42 50 41 54 48 20 3d 20 24 28 55 43 52 54 4c 49  BPATH = $(UCRTLI
2ae0: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  BPATH:\\=\)..# C
2af0: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
2b00: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
2b10: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
2b20: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
2b30: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 70 6c 61  l run on the pla
2b40: 74 66 6f 72 6d 20 74 68 61 74 20 69 73 20 64 6f  tform that is do
2b50: 69 6e 67 20 74 68 65 20 62 75 69 6c 64 2e 0a 23  ing the build..#
2b60: 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57  .!IF $(USE_FULLW
2b70: 41 52 4e 29 21 3d 30 0a 42 43 43 20 3d 20 24 28  ARN)!=0.BCC = $(
2b80: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34  NCC) -nologo -W4
2b90: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS) $(BCC
2ba0: 4f 50 54 53 29 0a 21 45 4c 53 45 0a 42 43 43 20  OPTS).!ELSE.BCC 
2bb0: 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f  = $(NCC) -nologo
2bc0: 20 2d 57 33 20 24 28 43 43 4f 50 54 53 29 20 24   -W3 $(CCOPTS) $
2bd0: 28 42 43 43 4f 50 54 53 29 0a 21 45 4e 44 49 46  (BCCOPTS).!ENDIF
2be0: 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 61 73 73  ..# Check if ass
2bf0: 65 6d 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69  embly code listi
2c00: 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20 67 65  ngs should be ge
2c10: 6e 65 72 61 74 65 64 20 66 6f 72 20 74 68 65 20  nerated for the 
2c20: 73 6f 75 72 63 65 0a 23 20 63 6f 64 65 20 66 69  source.# code fi
2c30: 6c 65 73 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c  les to be compil
2c40: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ed..#.!IF $(USE_
2c50: 4c 49 53 54 49 4e 47 53 29 21 3d 30 0a 42 43 43  LISTINGS)!=0.BCC
2c60: 20 3d 20 24 28 42 43 43 29 20 2d 46 41 63 73 0a   = $(BCC) -FAcs.
2c70: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check 
2c80: 69 66 20 74 68 65 20 6e 61 74 69 76 65 20 6c 69  if the native li
2c90: 62 72 61 72 79 20 70 61 74 68 73 20 73 68 6f 75  brary paths shou
2ca0: 6c 64 20 62 65 20 75 73 65 64 20 77 68 65 6e 20  ld be used when 
2cb0: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the 
2cc0: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
2cd0: 6c 73 20 75 73 65 64 20 64 75 72 69 6e 67 20 74  ls used during t
2ce0: 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70  he compilation p
2cf0: 72 6f 63 65 73 73 2e 20 20 49 66 0a 23 20 73 6f  rocess.  If.# so
2d00: 2c 20 73 65 74 20 74 68 65 20 6e 65 63 65 73 73  , set the necess
2d10: 61 72 79 20 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23  ary macro now..#
2d20: 0a 21 49 46 20 24 28 55 53 45 5f 4e 41 54 49 56  .!IF $(USE_NATIV
2d30: 45 5f 4c 49 42 50 41 54 48 53 29 21 3d 30 0a 4e  E_LIBPATHS)!=0.N
2d40: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 22 2f 4c  LTLIBPATHS = "/L
2d50: 49 42 50 41 54 48 3a 24 28 4e 43 52 54 4c 49 42  IBPATH:$(NCRTLIB
2d60: 50 41 54 48 29 22 20 22 2f 4c 49 42 50 41 54 48  PATH)" "/LIBPATH
2d70: 3a 24 28 4e 53 44 4b 4c 49 42 50 41 54 48 29 22  :$(NSDKLIBPATH)"
2d80: 0a 0a 21 49 46 44 45 46 20 4e 55 43 52 54 4c 49  ..!IFDEF NUCRTLI
2d90: 42 50 41 54 48 0a 4e 55 43 52 54 4c 49 42 50 41  BPATH.NUCRTLIBPA
2da0: 54 48 20 3d 20 24 28 4e 55 43 52 54 4c 49 42 50  TH = $(NUCRTLIBP
2db0: 41 54 48 3a 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42  ATH:\\=\).NLTLIB
2dc0: 50 41 54 48 53 20 3d 20 24 28 4e 4c 54 4c 49 42  PATHS = $(NLTLIB
2dd0: 50 41 54 48 53 29 20 22 2f 4c 49 42 50 41 54 48  PATHS) "/LIBPATH
2de0: 3a 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 29  :$(NUCRTLIBPATH)
2df0: 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ".!ENDIF.!ENDIF.
2e00: 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e  .# C compiler an
2e10: 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 73  d options for us
2e20: 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78  e in building ex
2e30: 65 63 75 74 61 62 6c 65 73 20 74 68 61 74 0a 23  ecutables that.#
2e40: 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65   will run on the
2e50: 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d   target platform
2e60: 2e 20 20 28 42 43 43 20 61 6e 64 20 54 43 43 20  .  (BCC and TCC 
2e70: 61 72 65 20 75 73 75 61 6c 6c 79 20 74 68 65 0a  are usually the.
2e80: 23 20 73 61 6d 65 20 75 6e 6c 65 73 73 20 79 6f  # same unless yo
2e90: 75 72 20 61 72 65 20 63 72 6f 73 73 2d 63 6f 6d  ur are cross-com
2ea0: 70 69 6c 69 6e 67 2e 29 0a 23 0a 21 49 46 20 24  piling.).#.!IF $
2eb0: 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d  (USE_FULLWARN)!=
2ec0: 30 0a 54 43 43 20 3d 20 24 28 43 43 29 20 2d 6e  0.TCC = $(CC) -n
2ed0: 6f 6c 6f 67 6f 20 2d 57 34 20 2d 44 49 4e 43 4c  ologo -W4 -DINCL
2ee0: 55 44 45 5f 4d 53 56 43 5f 48 3d 31 20 24 28 43  UDE_MSVC_H=1 $(C
2ef0: 43 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53  COPTS) $(TCCOPTS
2f00: 29 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28  ).!ELSE.TCC = $(
2f10: 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20  CC) -nologo -W3 
2f20: 24 28 43 43 4f 50 54 53 29 20 24 28 54 43 43 4f  $(CCOPTS) $(TCCO
2f30: 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 54 43 43  PTS).!ENDIF..TCC
2f40: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
2f50: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20  TE_OS_WIN=1 -I. 
2f60: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50  -I$(TOP) -I$(TOP
2f70: 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73  )\src -fp:precis
2f80: 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44  e.RCC = $(RC) -D
2f90: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20  SQLITE_OS_WIN=1 
2fa0: 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24  -I. -I$(TOP) -I$
2fb0: 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50  (TOP)\src $(RCOP
2fc0: 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a  TS) $(RCCOPTS)..
2fd0: 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61  # Check if we wa
2fe0: 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73  nt to use the "s
2ff0: 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20  tdcall" calling 
3000: 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20  convention when 
3010: 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69  compiling..# Thi
3020: 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74  s is not support
3030: 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c  ed by the compil
3040: 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20  ers for non-x86 
3050: 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73  platforms.  It s
3060: 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20  hould.# also be 
3070: 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20  noted here that 
3080: 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72  building any tar
3090: 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22  get with these "
30a0: 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73  stdcall" options
30b0: 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b  .# will most lik
30c0: 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20  ely fail if the 
30d0: 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61  Tcl library is a
30e0: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54  lso required.  T
30f0: 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20  his is due.# to 
3100: 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72  how the Tcl libr
3110: 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72  ary functions ar
3120: 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65  e declared and e
3130: 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69  xported (i.e. wi
3140: 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69  thout.# an expli
3150: 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76  cit calling conv
3160: 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65  ention, which re
3170: 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22  sults in "cdecl"
3180: 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53  )..#.!IF $(USE_S
3190: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $(
31a0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49  FOR_WIN10)!=0.!I
31b0: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"=
31c0: 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e  ="x86".CORE_CCON
31d0: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
31e0: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
31f0: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
3200: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3210: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
3220: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3230: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
3240: 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56  call.SHELL_CCONV
3250: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3260: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
3270: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3280: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3290: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
32a0: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
32b0: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
32c0: 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54  all.# <<mark>>.T
32d0: 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  EST_CCONV_OPTS =
32e0: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
32f0: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3300: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3310: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3320: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3330: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3340: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49  PI=__stdcall -DI
3350: 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43  NCLUDE_SQLITE_TC
3360: 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54  L_H=1 -DSQLITE_T
3370: 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20  CLAPI=__cdecl.# 
3380: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a  <</mark>>.!ELSE.
3390: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d  !IFNDEF PLATFORM
33a0: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
33b0: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
33c0: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
33d0: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
33e0: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
33f0: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
3400: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3410: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53  SAPI=__stdcall.S
3420: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS 
3430: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3440: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3450: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3460: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3470: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3480: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3490: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20  API=__stdcall.# 
34a0: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
34b0: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
34c0: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
34d0: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
34e0: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
34f0: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
3500: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
3510: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3520: 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45  tdcall -DINCLUDE
3530: 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20  _SQLITE_TCL_H=1 
3540: 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d  -DSQLITE_TCLAPI=
3550: 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72  __cdecl.# <</mar
3560: 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43  k>>.!ELSE.CORE_C
3570: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c  CONV_OPTS =.SHEL
3580: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23  L_CCONV_OPTS =.#
3590: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43   <<mark>>.TEST_C
35a0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c  CONV_OPTS =.# <<
35b0: 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21  /mark>>.!ENDIF.!
35c0: 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45  ENDIF.!ELSE.CORE
35d0: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48  _CCONV_OPTS =.SH
35e0: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
35f0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54  .# <<mark>>.TEST
3600: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.# 
3610: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46  <</mark>>.!ENDIF
3620: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
3630: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
3640: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66  r options used f
3650: 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  or the core libr
3660: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  ary..#.!IFNDEF C
3670: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
3680: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
3690: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  HELL)!=0 || $(FO
36a0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45  R_WIN10)!=0.CORE
36b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
36c0: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT
36d0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d  S) -DSQLITE_API=
36e0: 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78  __declspec(dllex
36f0: 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45  port).!ELSE.CORE
3700: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
3710: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT
3720: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  S).!ENDIF.!ENDIF
3730: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
3740: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72  e additional tar
3750: 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f  gets that the co
3760: 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c  re library shoul
3770: 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68  d depend on.# wh
3780: 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49  en linking..#.!I
3790: 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f  FNDEF CORE_LINK_
37a0: 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  DEP.!IF $(DYNAMI
37b0: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45  C_SHELL)!=0.CORE
37c0: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53  _LINK_DEP =.!ELS
37d0: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  EIF $(FOR_WIN10)
37e0: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f  ==0 || "$(PLATFO
37f0: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
3800: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69  _LINK_DEP = sqli
3810: 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f  te3.def.!ELSE.CO
3820: 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45  RE_LINK_DEP =.!E
3830: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
3840: 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f  hese are additio
3850: 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  nal linker optio
3860: 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20  ns used for the 
3870: 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a  core library..#.
3880: 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e  !IFNDEF CORE_LIN
3890: 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e  K_OPTS.!IF $(DYN
38a0: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43  AMIC_SHELL)!=0.C
38b0: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a  ORE_LINK_OPTS =.
38c0: 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49  !ELSEIF $(FOR_WI
38d0: 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c  N10)==0 || "$(PL
38e0: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
38f0: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
3900: 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65   /DEF:sqlite3.de
3910: 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e  f.!ELSE.CORE_LIN
3920: 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a  K_OPTS =.!ENDIF.
3930: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These 
3940: 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63  are additional c
3950: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
3960: 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65  used for the she
3970: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23  ll executable..#
3980: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
3990: 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20  OMPILE_OPTS.!IF 
39a0: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
39b0: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
39c0: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)!=0.SHELL_COM
39d0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH
39e0: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20  ELL_CCONV_OPTS) 
39f0: 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64  -DSQLITE_API=__d
3a00: 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72  eclspec(dllimpor
3a10: 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43  t).!ELSE.SHELL_C
3a20: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28  OMPILE_OPTS = $(
3a30: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53  SHELL_CCONV_OPTS
3a40: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
3a50: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73  .# This is the s
3a60: 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20  ource code that 
3a70: 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74  the shell execut
3a80: 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63  able should be c
3a90: 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a  ompiled.# with..
3aa0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
3ab0: 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44  CORE_SRC.!IF $(D
3ac0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30  YNAMIC_SHELL)!=0
3ad0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
3ae0: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  !=0.SHELL_CORE_S
3af0: 52 43 20 3d 0a 21 45 4c 53 45 0a 53 48 45 4c 4c  RC =.!ELSE.SHELL
3b00: 5f 43 4f 52 45 5f 53 52 43 20 3d 20 24 28 53 51  _CORE_SRC = $(SQ
3b10: 4c 49 54 45 33 43 29 0a 21 45 4e 44 49 46 0a 21  LITE3C).!ENDIF.!
3b20: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
3b30: 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72   the core librar
3b40: 79 20 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c  y that the shell
3b50: 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75   executable shou
3b60: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a  ld depend on..#.
3b70: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f  !IFNDEF SHELL_CO
3b80: 52 45 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e  RE_DEP.!IF $(DYN
3b90: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c  AMIC_SHELL)!=0 |
3ba0: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
3bb0: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  0.SHELL_CORE_DEP
3bc0: 20 3d 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29   = $(SQLITE3DLL)
3bd0: 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52  .!ELSE.SHELL_COR
3be0: 45 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21  E_DEP =.!ENDIF.!
3bf0: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
3c00: 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72   the core librar
3c10: 79 20 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c  y that the shell
3c20: 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75   executable shou
3c30: 6c 64 20 6c 69 6e 6b 20 77 69 74 68 2e 0a 23 0a  ld link with..#.
3c40: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f  !IFNDEF SHELL_CO
3c50: 52 45 5f 4c 49 42 0a 21 49 46 20 24 28 44 59 4e  RE_LIB.!IF $(DYN
3c60: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c  AMIC_SHELL)!=0 |
3c70: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
3c80: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42  0.SHELL_CORE_LIB
3c90: 20 3d 20 24 28 53 51 4c 49 54 45 33 4c 49 42 29   = $(SQLITE3LIB)
3ca0: 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52  .!ELSE.SHELL_COR
3cb0: 45 5f 4c 49 42 20 3d 0a 21 45 4e 44 49 46 0a 21  E_LIB =.!ENDIF.!
3cc0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
3cd0: 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69  re additional li
3ce0: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65  nker options use
3cf0: 64 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 20  d for the shell 
3d00: 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49  executable..#.!I
3d10: 46 4e 44 45 46 20 53 48 45 4c 4c 5f 4c 49 4e 4b  FNDEF SHELL_LINK
3d20: 5f 4f 50 54 53 0a 53 48 45 4c 4c 5f 4c 49 4e 4b  _OPTS.SHELL_LINK
3d30: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_
3d40: 43 4f 52 45 5f 4c 49 42 29 0a 21 45 4e 44 49 46  CORE_LIB).!ENDIF
3d50: 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 61 73 73  ..# Check if ass
3d60: 65 6d 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69  embly code listi
3d70: 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20 67 65  ngs should be ge
3d80: 6e 65 72 61 74 65 64 20 66 6f 72 20 74 68 65 20  nerated for the 
3d90: 73 6f 75 72 63 65 0a 23 20 63 6f 64 65 20 66 69  source.# code fi
3da0: 6c 65 73 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c  les to be compil
3db0: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ed..#.!IF $(USE_
3dc0: 4c 49 53 54 49 4e 47 53 29 21 3d 30 0a 54 43 43  LISTINGS)!=0.TCC
3dd0: 20 3d 20 24 28 54 43 43 29 20 2d 46 41 63 73 0a   = $(TCC) -FAcs.
3de0: 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63  !ENDIF..# When c
3df0: 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 6c 69 62  ompiling the lib
3e00: 72 61 72 79 20 66 6f 72 20 75 73 65 20 69 6e 20  rary for use in 
3e10: 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69 72 6f  the WinRT enviro
3e20: 6e 6d 65 6e 74 2c 0a 23 20 74 68 65 20 66 6f 6c  nment,.# the fol
3e30: 6c 6f 77 69 6e 67 20 63 6f 6d 70 69 6c 65 2d 74  lowing compile-t
3e40: 69 6d 65 20 6f 70 74 69 6f 6e 73 20 6d 75 73 74  ime options must
3e50: 20 62 65 20 75 73 65 64 20 61 73 20 77 65 6c 6c   be used as well
3e60: 20 74 6f 0a 23 20 64 69 73 61 62 6c 65 20 75 73   to.# disable us
3e70: 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20  e of Win32 APIs 
3e80: 74 68 61 74 20 61 72 65 20 6e 6f 74 20 61 76 61  that are not ava
3e90: 69 6c 61 62 6c 65 20 61 6e 64 20 74 6f 20 65 6e  ilable and to en
3ea0: 61 62 6c 65 0a 23 20 75 73 65 20 6f 66 20 57 69  able.# use of Wi
3eb0: 6e 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72  n32 APIs that ar
3ec0: 65 20 73 70 65 63 69 66 69 63 20 74 6f 20 57 69  e specific to Wi
3ed0: 6e 64 6f 77 73 20 38 20 61 6e 64 2f 6f 72 20 57  ndows 8 and/or W
3ee0: 69 6e 52 54 2e 0a 23 0a 21 49 46 20 24 28 46 4f  inRT..#.!IF $(FO
3ef0: 52 5f 57 49 4e 52 54 29 21 3d 30 0a 54 43 43 20  R_WINRT)!=0.TCC 
3f00: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
3f10: 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 52 43 43  E_OS_WINRT=1.RCC
3f20: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
3f30: 54 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 54 43  TE_OS_WINRT=1.TC
3f40: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 57 49 4e  C = $(TCC) -DWIN
3f50: 41 50 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50  API_FAMILY=WINAP
3f60: 49 5f 46 41 4d 49 4c 59 5f 41 50 50 0a 52 43 43  I_FAMILY_APP.RCC
3f70: 20 3d 20 24 28 52 43 43 29 20 2d 44 57 49 4e 41   = $(RCC) -DWINA
3f80: 50 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49  PI_FAMILY=WINAPI
3f90: 5f 46 41 4d 49 4c 59 5f 41 50 50 0a 21 45 4e 44  _FAMILY_APP.!END
3fa0: 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72  IF..# C compiler
3fb0: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65   options for the
3fc0: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
3fd0: 66 6f 72 6d 20 28 6e 65 65 64 73 20 4d 53 56 43  form (needs MSVC
3fe0: 20 32 30 31 35 29 2e 0a 23 0a 21 49 46 20 24 28   2015)..#.!IF $(
3ff0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43  FOR_WIN10)!=0.TC
4000: 43 20 3d 20 24 28 54 43 43 29 20 2f 64 32 67 75  C = $(TCC) /d2gu
4010: 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41  ard4 -D_ARM_WINA
4020: 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 53  PI_PARTITION_DES
4030: 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42  KTOP_SDK_AVAILAB
4040: 4c 45 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  LE.BCC = $(BCC) 
4050: 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41 52 4d  /d2guard4 -D_ARM
4060: 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54 49 4f  _WINAPI_PARTITIO
4070: 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56  N_DESKTOP_SDK_AV
4080: 41 49 4c 41 42 4c 45 0a 21 45 4e 44 49 46 0a 0a  AILABLE.!ENDIF..
4090: 23 20 41 6c 73 6f 2c 20 77 65 20 6e 65 65 64 20  # Also, we need 
40a0: 74 6f 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c  to dynamically l
40b0: 69 6e 6b 20 74 6f 20 74 68 65 20 63 6f 72 72 65  ink to the corre
40c0: 63 74 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 0a  ct MSVC runtime.
40d0: 23 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # when compiling
40e0: 20 66 6f 72 20 57 69 6e 52 54 20 28 65 2e 67 2e   for WinRT (e.g.
40f0: 20 64 65 62 75 67 20 6f 72 20 72 65 6c 65 61 73   debug or releas
4100: 65 29 20 4f 52 20 69 66 20 74 68 65 0a 23 20 55  e) OR if the.# U
4110: 53 45 5f 43 52 54 5f 44 4c 4c 20 6f 70 74 69 6f  SE_CRT_DLL optio
4120: 6e 20 69 73 20 73 65 74 20 74 6f 20 66 6f 72 63  n is set to forc
4130: 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69  e dynamically li
4140: 6e 6b 69 6e 67 20 74 6f 20 74 68 65 0a 23 20 4d  nking to the.# M
4150: 53 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  SVC runtime libr
4160: 61 72 79 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52  ary..#.!IF $(FOR
4170: 5f 57 49 4e 52 54 29 21 3d 30 20 7c 7c 20 24 28  _WINRT)!=0 || $(
4180: 55 53 45 5f 43 52 54 5f 44 4c 4c 29 21 3d 30 0a  USE_CRT_DLL)!=0.
4190: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54  !IF $(DEBUG)>1.T
41a0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 64  CC = $(TCC) -MDd
41b0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d  .BCC = $(BCC) -M
41c0: 44 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24  Dd.!ELSE.TCC = $
41d0: 28 54 43 43 29 20 2d 4d 44 0a 42 43 43 20 3d 20  (TCC) -MD.BCC = 
41e0: 24 28 42 43 43 29 20 2d 4d 44 0a 21 45 4e 44 49  $(BCC) -MD.!ENDI
41f0: 46 0a 21 45 4c 53 45 0a 21 49 46 20 24 28 44 45  F.!ELSE.!IF $(DE
4200: 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54  BUG)>1.TCC = $(T
4210: 43 43 29 20 2d 4d 54 64 0a 42 43 43 20 3d 20 24  CC) -MTd.BCC = $
4220: 28 42 43 43 29 20 2d 4d 54 64 0a 21 45 4c 53 45  (BCC) -MTd.!ELSE
4230: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d  .TCC = $(TCC) -M
4240: 54 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  T.BCC = $(BCC) -
4250: 4d 54 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  MT.!ENDIF.!ENDIF
4260: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54  ..# <<mark>>.# T
4270: 68 65 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63  he mksqlite3c.tc
4280: 6c 20 61 6e 64 20 6d 6b 73 71 6c 69 74 65 33 68  l and mksqlite3h
4290: 2e 74 63 6c 20 73 63 72 69 70 74 73 20 77 69 6c  .tcl scripts wil
42a0: 6c 20 70 75 6c 6c 20 69 6e 0a 23 20 61 6e 79 20  l pull in.# any 
42b0: 65 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72  extension header
42c0: 20 66 69 6c 65 73 20 62 79 20 64 65 66 61 75 6c   files by defaul
42d0: 74 2e 20 20 46 6f 72 20 6e 6f 6e 2d 61 6d 61 6c  t.  For non-amal
42e0: 67 61 6d 61 74 69 6f 6e 0a 23 20 62 75 69 6c 64  gamation.# build
42f0: 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 6d 61  s, we need to ma
4300: 6b 65 20 73 75 72 65 20 74 68 65 20 63 6f 6d 70  ke sure the comp
4310: 69 6c 65 72 20 63 61 6e 20 66 69 6e 64 20 74 68  iler can find th
4320: 65 73 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  ese..#.!IF $(USE
4330: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d  _AMALGAMATION)==
4340: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
4350: 49 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  I$(TOP)\ext\fts3
4360: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49  .RCC = $(RCC) -I
4370: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a  $(TOP)\ext\fts3.
4380: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24  TCC = $(TCC) -I$
4390: 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 0a  (TOP)\ext\rtree.
43a0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
43b0: 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 0a  (TOP)\ext\rtree.
43c0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24  TCC = $(TCC) -I$
43d0: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
43e0: 6e 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  n.RCC = $(RCC) -
43f0: 49 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73  I$(TOP)\ext\sess
4400: 69 6f 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  ion.!ENDIF..# Th
4410: 65 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c  e mksqlite3c.tcl
4420: 20 73 63 72 69 70 74 20 61 63 63 65 70 74 73 20   script accepts 
4430: 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20  some options on 
4440: 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69  the command.# li
4450: 6e 65 2e 20 20 57 68 65 6e 20 63 6f 6d 70 69 6c  ne.  When compil
4460: 69 6e 67 20 77 69 74 68 20 64 65 62 75 67 67 69  ing with debuggi
4470: 6e 67 20 65 6e 61 62 6c 65 64 2c 20 73 6f 6d 65  ng enabled, some
4480: 20 6f 66 20 74 68 65 73 65 0a 23 20 6f 70 74 69   of these.# opti
4490: 6f 6e 73 20 61 72 65 20 6e 65 63 65 73 73 61 72  ons are necessar
44a0: 79 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 61 6c  y in order to al
44b0: 6c 6f 77 20 64 65 62 75 67 67 69 6e 67 20 73 79  low debugging sy
44c0: 6d 62 6f 6c 73 20 74 6f 0a 23 20 77 6f 72 6b 20  mbols to.# work 
44d0: 63 6f 72 72 65 63 74 6c 79 20 77 69 74 68 20 56  correctly with V
44e0: 69 73 75 61 6c 20 53 74 75 64 69 6f 20 77 68 65  isual Studio whe
44f0: 6e 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c  n using the amal
4500: 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e  gamation..#.!IFN
4510: 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f 41  DEF MKSQLITE3C_A
4520: 52 47 53 0a 21 49 46 20 24 28 44 45 42 55 47 29  RGS.!IF $(DEBUG)
4530: 3e 31 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52  >1.MKSQLITE3C_AR
4540: 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d 61 63 72 6f  GS = --linemacro
4550: 73 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45  s.!ELSE.MKSQLITE
4560: 33 43 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49 46  3C_ARGS =.!ENDIF
4570: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
4580: 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65 20 2d 44  k>>..# Define -D
4590: 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d 70 69 6c  NDEBUG to compil
45a0: 65 20 77 69 74 68 6f 75 74 20 64 65 62 75 67 67  e without debugg
45b0: 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f 72 20 70  ing (i.e., for p
45c0: 72 6f 64 75 63 74 69 6f 6e 20 75 73 61 67 65 29  roduction usage)
45d0: 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74 68 65 20  .# Omitting the 
45e0: 64 65 66 69 6e 65 20 77 69 6c 6c 20 63 61 75 73  define will caus
45f0: 65 20 65 78 74 72 61 20 64 65 62 75 67 67 69 6e  e extra debuggin
4600: 67 20 63 6f 64 65 20 74 6f 20 62 65 20 69 6e 73  g code to be ins
4610: 65 72 74 65 64 20 61 6e 64 0a 23 20 69 6e 63 6c  erted and.# incl
4620: 75 64 65 73 20 65 78 74 72 61 20 63 6f 6d 6d 65  udes extra comme
4630: 6e 74 73 20 77 68 65 6e 20 22 45 58 50 4c 41 49  nts when "EXPLAI
4640: 4e 20 73 74 6d 74 22 20 69 73 20 75 73 65 64 2e  N stmt" is used.
4650: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3d  .#.!IF $(DEBUG)=
4660: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
4670: 2d 44 4e 44 45 42 55 47 0a 42 43 43 20 3d 20 24  -DNDEBUG.BCC = $
4680: 28 42 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 52  (BCC) -DNDEBUG.R
4690: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 4e 44  CC = $(RCC) -DND
46a0: 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 21 49 46  EBUG.!ENDIF..!IF
46b0: 20 24 28 44 45 42 55 47 29 3e 30 20 7c 7c 20 24   $(DEBUG)>0 || $
46c0: 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d 30 20 7c  (API_ARMOR)!=0 |
46d0: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
46e0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
46f0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41  DSQLITE_ENABLE_A
4700: 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43 43 20 3d  PI_ARMOR=1.RCC =
4710: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
4720: 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f  _ENABLE_API_ARMO
4730: 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20  R=1.!ENDIF..!IF 
4740: 24 28 44 45 42 55 47 29 3e 32 0a 54 43 43 20 3d  $(DEBUG)>2.TCC =
4750: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
4760: 5f 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20 24  _DEBUG=1.RCC = $
4770: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 44  (RCC) -DSQLITE_D
4780: 45 42 55 47 3d 31 0a 21 45 4e 44 49 46 0a 0a 21  EBUG=1.!ENDIF..!
4790: 49 46 20 24 28 44 45 42 55 47 29 3e 34 20 7c 7c  IF $(DEBUG)>4 ||
47a0: 20 24 28 4f 53 54 52 41 43 45 29 21 3d 30 0a 54   $(OSTRACE)!=0.T
47b0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
47c0: 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54 52  LITE_FORCE_OS_TR
47d0: 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f 44  ACE=1 -DSQLITE_D
47e0: 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31 0a  EBUG_OS_TRACE=1.
47f0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
4800: 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54  QLITE_FORCE_OS_T
4810: 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RACE=1 -DSQLITE_
4820: 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31  DEBUG_OS_TRACE=1
4830: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D
4840: 45 42 55 47 29 3e 35 0a 54 43 43 20 3d 20 24 28  EBUG)>5.TCC = $(
4850: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TCC) -DSQLITE_EN
4860: 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 52  ABLE_IOTRACE=1.R
4870: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
4880: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
4890: 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20  ACE=1.!ENDIF..# 
48a0: 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67 73  Prevent warnings
48b0: 20 61 62 6f 75 74 20 22 69 6e 73 65 63 75 72 65   about "insecure
48c0: 22 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c  " MSVC runtime l
48d0: 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73  ibrary functions
48e0: 0a 23 20 62 65 69 6e 67 20 75 73 65 64 2e 0a 23  .# being used..#
48f0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
4900: 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44  _CRT_SECURE_NO_D
4910: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
4920: 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e  SECURE_NO_WARNIN
4930: 47 53 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  GS.BCC = $(BCC) 
4940: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f  -D_CRT_SECURE_NO
4950: 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52  _DEPRECATE -D_CR
4960: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e  T_SECURE_NO_WARN
4970: 49 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43  INGS.RCC = $(RCC
4980: 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  ) -D_CRT_SECURE_
4990: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
49a0: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41  CRT_SECURE_NO_WA
49b0: 52 4e 49 4e 47 53 0a 0a 23 20 50 72 65 76 65 6e  RNINGS..# Preven
49c0: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74  t warnings about
49d0: 20 22 64 65 70 72 65 63 61 74 65 64 22 20 50 4f   "deprecated" PO
49e0: 53 49 58 20 66 75 6e 63 74 69 6f 6e 73 20 62 65  SIX functions be
49f0: 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20  ing used..#.TCC 
4a00: 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f  = $(TCC) -D_CRT_
4a10: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45  NONSTDC_NO_DEPRE
4a20: 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53  CATE -D_CRT_NONS
4a30: 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a  TDC_NO_WARNINGS.
4a40: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f  BCC = $(BCC) -D_
4a50: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44  CRT_NONSTDC_NO_D
4a60: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
4a70: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49  NONSTDC_NO_WARNI
4a80: 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43 29  NGS.RCC = $(RCC)
4a90: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f   -D_CRT_NONSTDC_
4aa0: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
4ab0: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57  CRT_NONSTDC_NO_W
4ac0: 41 52 4e 49 4e 47 53 0a 0a 23 20 55 73 65 20 74  ARNINGS..# Use t
4ad0: 68 65 20 53 51 4c 69 74 65 20 64 65 62 75 67 67  he SQLite debugg
4ae0: 69 6e 67 20 68 65 61 70 20 73 75 62 73 79 73 74  ing heap subsyst
4af0: 65 6d 3f 0a 23 0a 21 49 46 20 24 28 4d 45 4d 44  em?.#.!IF $(MEMD
4b00: 45 42 55 47 29 21 3d 30 0a 54 43 43 20 3d 20 24  EBUG)!=0.TCC = $
4b10: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4d  (TCC) -DSQLITE_M
4b20: 45 4d 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20  EMDEBUG=1.RCC = 
4b30: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_
4b40: 4d 45 4d 44 45 42 55 47 3d 31 0a 0a 23 20 55 73  MEMDEBUG=1..# Us
4b50: 65 20 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68  e native Win32 h
4b60: 65 61 70 20 73 75 62 73 79 73 74 65 6d 20 69 6e  eap subsystem in
4b70: 73 74 65 61 64 20 6f 66 20 6d 61 6c 6c 6f 63 2f  stead of malloc/
4b80: 66 72 65 65 3f 0a 23 0a 21 45 4c 53 45 49 46 20  free?.#.!ELSEIF 
4b90: 24 28 57 49 4e 33 32 48 45 41 50 29 21 3d 30 0a  $(WIN32HEAP)!=0.
4ba0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
4bb0: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c  QLITE_WIN32_MALL
4bc0: 4f 43 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  OC=1.RCC = $(RCC
4bd0: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32  ) -DSQLITE_WIN32
4be0: 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23 20 56 61 6c  _MALLOC=1..# Val
4bf0: 69 64 61 74 65 20 74 68 65 20 68 65 61 70 20 6f  idate the heap o
4c00: 6e 20 65 76 65 72 79 20 63 61 6c 6c 20 69 6e 74  n every call int
4c10: 6f 20 74 68 65 20 6e 61 74 69 76 65 20 57 69 6e  o the native Win
4c20: 33 32 20 68 65 61 70 20 73 75 62 73 79 73 74 65  32 heap subsyste
4c30: 6d 3f 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47  m?.#.!IF $(DEBUG
4c40: 29 3e 33 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>3.TCC = $(TCC)
4c50: 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f   -DSQLITE_WIN32_
4c60: 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d  MALLOC_VALIDATE=
4c70: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
4c80: 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41  DSQLITE_WIN32_MA
4c90: 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d 31 0a  LLOC_VALIDATE=1.
4ca0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
4cb0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20   <<mark>>.# The 
4cc0: 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65  locations of the
4cd0: 20 54 63 6c 20 68 65 61 64 65 72 20 61 6e 64 20   Tcl header and 
4ce0: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20  library files.  
4cf0: 41 6c 73 6f 2c 20 74 68 65 20 6c 69 62 72 61 72  Also, the librar
4d00: 79 20 74 68 61 74 0a 23 20 6e 6f 6e 2d 73 74 75  y that.# non-stu
4d10: 62 73 20 65 6e 61 62 6c 65 64 20 70 72 6f 67 72  bs enabled progr
4d20: 61 6d 73 20 75 73 69 6e 67 20 54 63 6c 20 6d 75  ams using Tcl mu
4d30: 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e  st link against.
4d40: 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65    These variable
4d50: 73 0a 23 20 28 54 43 4c 49 4e 43 44 49 52 2c 20  s.# (TCLINCDIR, 
4d60: 54 43 4c 4c 49 42 44 49 52 2c 20 61 6e 64 20 4c  TCLLIBDIR, and L
4d70: 49 42 54 43 4c 29 20 6d 61 79 20 62 65 20 6f 76  IBTCL) may be ov
4d80: 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65  erridden via the
4d90: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70   environment.# p
4da0: 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20  rior to running 
4db0: 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74  nmake in order t
4dc0: 6f 20 6d 61 74 63 68 20 74 68 65 20 61 63 74 75  o match the actu
4dd0: 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f 63  al installed loc
4de0: 61 74 69 6f 6e 20 61 6e 64 0a 23 20 76 65 72 73  ation and.# vers
4df0: 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63 68  ion on this mach
4e00: 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54  ine..#.!IFNDEF T
4e10: 43 4c 49 4e 43 44 49 52 0a 54 43 4c 49 4e 43 44  CLINCDIR.TCLINCD
4e20: 49 52 20 3d 20 63 3a 5c 74 63 6c 5c 69 6e 63 6c  IR = c:\tcl\incl
4e30: 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  ude.!ENDIF..!IFN
4e40: 44 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 43  DEF TCLLIBDIR.TC
4e50: 4c 4c 49 42 44 49 52 20 3d 20 63 3a 5c 74 63 6c  LLIBDIR = c:\tcl
4e60: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46  \lib.!ENDIF..!IF
4e70: 4e 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49 42 54  NDEF LIBTCL.LIBT
4e80: 43 4c 20 3d 20 74 63 6c 38 35 2e 6c 69 62 0a 21  CL = tcl85.lib.!
4e90: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c  ENDIF..!IFNDEF L
4ea0: 49 42 54 43 4c 53 54 55 42 0a 4c 49 42 54 43 4c  IBTCLSTUB.LIBTCL
4eb0: 53 54 55 42 20 3d 20 74 63 6c 73 74 75 62 38 35  STUB = tclstub85
4ec0: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46  .lib.!ENDIF..!IF
4ed0: 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54 48 0a  NDEF LIBTCLPATH.
4ee0: 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 63 3a 5c  LIBTCLPATH = c:\
4ef0: 74 63 6c 5c 62 69 6e 0a 21 45 4e 44 49 46 0a 0a  tcl\bin.!ENDIF..
4f00: 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20  # The locations 
4f10: 6f 66 20 74 68 65 20 49 43 55 20 68 65 61 64 65  of the ICU heade
4f20: 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69  r and library fi
4f30: 6c 65 73 2e 20 20 54 68 65 73 65 20 76 61 72 69  les.  These vari
4f40: 61 62 6c 65 73 0a 23 20 28 49 43 55 49 4e 43 44  ables.# (ICUINCD
4f50: 49 52 2c 20 49 43 55 4c 49 42 44 49 52 2c 20 61  IR, ICULIBDIR, a
4f60: 6e 64 20 4c 49 42 49 43 55 29 20 6d 61 79 20 62  nd LIBICU) may b
4f70: 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61  e overridden via
4f80: 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74   the environment
4f90: 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e  .# prior to runn
4fa0: 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64  ing nmake in ord
4fb0: 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20  er to match the 
4fc0: 61 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64  actual installed
4fd0: 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e 0a 23 20 74   location on.# t
4fe0: 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21  his machine..#.!
4ff0: 49 46 4e 44 45 46 20 49 43 55 49 4e 43 44 49 52  IFNDEF ICUINCDIR
5000: 0a 49 43 55 49 4e 43 44 49 52 20 3d 20 63 3a 5c  .ICUINCDIR = c:\
5010: 69 63 75 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44  icu\include.!END
5020: 49 46 0a 0a 21 49 46 4e 44 45 46 20 49 43 55 4c  IF..!IFNDEF ICUL
5030: 49 42 44 49 52 0a 49 43 55 4c 49 42 44 49 52 20  IBDIR.ICULIBDIR 
5040: 3d 20 63 3a 5c 69 63 75 5c 6c 69 62 0a 21 45 4e  = c:\icu\lib.!EN
5050: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
5060: 49 43 55 0a 4c 49 42 49 43 55 20 3d 20 69 63 75  ICU.LIBICU = icu
5070: 75 63 2e 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62  uc.lib icuin.lib
5080: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This 
5090: 69 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74  is the command t
50a0: 6f 20 75 73 65 20 66 6f 72 20 74 63 6c 73 68 20  o use for tclsh 
50b0: 2d 20 6e 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20  - normally just 
50c0: 22 74 63 6c 73 68 22 2c 20 62 75 74 20 77 65 20  "tclsh", but we 
50d0: 6d 61 79 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73  may.# know the s
50e0: 70 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20  pecific version 
50f0: 77 65 20 77 61 6e 74 20 74 6f 20 75 73 65 2e 20  we want to use. 
5100: 20 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 28   This variable (
5110: 54 43 4c 53 48 5f 43 4d 44 29 20 6d 61 79 20 62  TCLSH_CMD) may b
5120: 65 0a 23 20 6f 76 65 72 72 69 64 64 65 6e 20 76  e.# overridden v
5130: 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65  ia the environme
5140: 6e 74 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e  nt prior to runn
5150: 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64  ing nmake in ord
5160: 65 72 20 74 6f 20 73 65 6c 65 63 74 20 61 0a 23  er to select a.#
5170: 20 73 70 65 63 69 66 69 63 20 54 63 6c 20 73 68   specific Tcl sh
5180: 65 6c 6c 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49  ell to use..#.!I
5190: 46 4e 44 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a  FNDEF TCLSH_CMD.
51a0: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73  TCLSH_CMD = tcls
51b0: 68 38 35 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  h85.!ENDIF.# <</
51c0: 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c  mark>>..# Compil
51d0: 65 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65  er options neede
51e0: 64 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74  d for programs t
51f0: 68 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64  hat use the read
5200: 6c 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a  line() library..
5210: 23 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49  #.!IFNDEF READLI
5220: 4e 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e  NE_FLAGS.READLIN
5230: 45 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45  E_FLAGS = -DHAVE
5240: 5f 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44  _READLINE=0.!END
5250: 49 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72  IF..# The librar
5260: 79 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20  y that programs 
5270: 75 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29  using readline()
5280: 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e   must link again
5290: 73 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49  st..#.!IFNDEF LI
52a0: 42 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41  BREADLINE.LIBREA
52b0: 44 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a  DLINE =.!ENDIF..
52c0: 23 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74  # Should the dat
52d0: 61 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20  abase engine be 
52e0: 63 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73  compiled threads
52f0: 61 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  afe.#.TCC = $(TC
5300: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  C) -DSQLITE_THRE
5310: 41 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24  ADSAFE=1.RCC = $
5320: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54  (RCC) -DSQLITE_T
5330: 48 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44  HREADSAFE=1..# D
5340: 6f 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69  o threads overri
5350: 64 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c  de each others l
5360: 6f 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20  ocks by default 
5370: 28 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65  (1), or do we te
5380: 73 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20  st (-1).#.TCC = 
5390: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
53a0: 54 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f  THREAD_OVERRIDE_
53b0: 4c 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28  LOCK=-1.RCC = $(
53c0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  RCC) -DSQLITE_TH
53d0: 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f  READ_OVERRIDE_LO
53e0: 43 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72  CK=-1..# Any tar
53f0: 67 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68  get libraries wh
5400: 69 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75  ich libsqlite mu
5410: 73 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61  st be linked aga
5420: 69 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54  inst.#.!IFNDEF T
5430: 4c 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e  LIBS.TLIBS =.!EN
5440: 44 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e  DIF..# Flags con
5450: 74 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20  trolling use of 
5460: 74 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74  the in memory bt
5470: 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ree implementati
5480: 6f 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45  on.#.# SQLITE_TE
5490: 4d 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f  MP_STORE is 0 to
54a0: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79   force temporary
54b0: 20 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e   tables to be in
54c0: 20 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20   a file, 1 to.# 
54d0: 64 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c  default to file,
54e0: 20 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f   2 to default to
54f0: 20 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74   memory, and 3 t
5500: 6f 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72  o force temporar
5510: 79 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c  y.# tables to al
5520: 77 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72  ways be in memor
5530: 79 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  y..#.TCC = $(TCC
5540: 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f  ) -DSQLITE_TEMP_
5550: 53 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28  STORE=1.RCC = $(
5560: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45  RCC) -DSQLITE_TE
5570: 4d 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e  MP_STORE=1..# En
5580: 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61  able/disable loa
5590: 64 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73  dable extensions
55a0: 2c 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69  , and other opti
55b0: 6f 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20  onal features.# 
55c0: 62 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75  based on configu
55d0: 72 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54  ration. (-DSQLIT
55e0: 45 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54  E_OMIT*, -DSQLIT
55f0: 45 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68  E_ENABLE*)..# Th
5600: 65 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d  e same set of OM
5610: 49 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c  IT and ENABLE fl
5620: 61 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61  ags should be pa
5630: 73 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45  ssed to the.# LE
5640: 4d 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72  MON parser gener
5650: 61 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b  ator and the mkk
5660: 65 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20  eywordhash tool 
5670: 61 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73  as well...# Thes
5680: 65 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72  e are the requir
5690: 65 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c  ed SQLite compil
56a0: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73  ation options us
56b0: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  ed when compilin
56c0: 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64  g for.# the Wind
56d0: 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a  ows platform..#.
56e0: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
56f0: 53 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52  S = $(REQ_FEATUR
5700: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
5710: 45 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45  E_MAX_TRIGGER_DE
5720: 50 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65  PTH=100..# If we
5730: 20 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20   are linking to 
5740: 74 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61  the RPCRT4 libra
5750: 72 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75  ry, enable featu
5760: 72 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74  res that need it
5770: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50  ..#.!IF $(USE_RP
5780: 43 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51  CRT4_LIB)!=0.REQ
5790: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
57a0: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
57b0: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57  LAGS) -DSQLITE_W
57c0: 49 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a  IN32_USE_UUID=1.
57d0: 21 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68  !ENDIF..# Add th
57e0: 65 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f  e required and o
57f0: 70 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63  ptional SQLite c
5800: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f  ompilation optio
5810: 6e 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d  ns into the comm
5820: 61 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64  and.# lines used
5830: 20 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d   to invoke the M
5840: 53 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73  SVC code and res
5850: 6f 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e  ource compilers.
5860: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 
5870: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
5880: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55  AGS) $(OPT_FEATU
5890: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f  RE_FLAGS) $(EXT_
58a0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52  FEATURE_FLAGS).R
58b0: 43 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45  CC = $(RCC) $(RE
58c0: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
58d0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
58e0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT
58f0: 55 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64  URE_FLAGS)..# Ad
5900: 64 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61  d in any optiona
5910: 6c 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65  l parameters spe
5920: 63 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f  cified on the co
5930: 6d 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e  mmane line, e.g.
5940: 0a 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65  .# nmake /f Make
5950: 66 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50  file.msc all "OP
5960: 54 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  TS=-DSQLITE_ENAB
5970: 4c 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54  LE_FOO=1 -DSQLIT
5980: 45 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a  E_OMIT_FOO=1".#.
5990: 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f  TCC = $(TCC) $(O
59a0: 50 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43  PTS).RCC = $(RCC
59b0: 29 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20  ) $(OPTS)..# If 
59c0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65  compiling for de
59d0: 62 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d  bugging, add som
59e0: 65 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46  e defines..#.!IF
59f0: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20   $(DEBUG)>1.TCC 
5a00: 3d 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55  = $(TCC) -D_DEBU
5a10: 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  G.BCC = $(BCC) -
5a20: 44 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28  D_DEBUG.RCC = $(
5a30: 52 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45  RCC) -D_DEBUG.!E
5a40: 4e 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d  NDIF..# If optim
5a50: 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61  izations are ena
5a60: 62 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64  bled or disabled
5a70: 20 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69   (either implici
5a80: 74 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69  tly or.# explici
5a90: 74 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65  tly), add the ne
5aa0: 63 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23  cessary flags..#
5ab0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20  .!IF $(DEBUG)>1 
5ac0: 7c 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f  || $(OPTIMIZATIO
5ad0: 4e 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54  NS)==0.TCC = $(T
5ae0: 43 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28  CC) -Od.BCC = $(
5af0: 42 43 43 29 20 2d 4f 64 0a 21 45 4c 53 45 49 46  BCC) -Od.!ELSEIF
5b00: 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53   $(OPTIMIZATIONS
5b10: 29 3e 3d 33 0a 54 43 43 20 3d 20 24 28 54 43 43  )>=3.TCC = $(TCC
5b20: 29 20 2d 4f 78 0a 42 43 43 20 3d 20 24 28 42 43  ) -Ox.BCC = $(BC
5b30: 43 29 20 2d 4f 78 0a 21 45 4c 53 45 49 46 20 24  C) -Ox.!ELSEIF $
5b40: 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d  (OPTIMIZATIONS)=
5b50: 3d 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =2.TCC = $(TCC) 
5b60: 2d 4f 32 0a 42 43 43 20 3d 20 24 28 42 43 43 29  -O2.BCC = $(BCC)
5b70: 20 2d 4f 32 0a 21 45 4c 53 45 49 46 20 24 28 4f   -O2.!ELSEIF $(O
5b80: 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 31  PTIMIZATIONS)==1
5b90: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f  .TCC = $(TCC) -O
5ba0: 31 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  1.BCC = $(BCC) -
5bb0: 4f 31 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20  O1.!ENDIF..# If 
5bc0: 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62  symbols are enab
5bd0: 6c 65 64 20 28 6f 72 20 63 6f 6d 70 69 6c 69 6e  led (or compilin
5be0: 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 29  g for debugging)
5bf0: 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23  , enable PDBs..#
5c00: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20  .!IF $(DEBUG)>1 
5c10: 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30  || $(SYMBOLS)!=0
5c20: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 5a  .TCC = $(TCC) -Z
5c30: 69 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  i.BCC = $(BCC) -
5c40: 5a 69 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d  Zi.!ENDIF..# <<m
5c50: 61 72 6b 3e 3e 0a 23 20 49 66 20 49 43 55 20 73  ark>>.# If ICU s
5c60: 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65  upport is enable
5c70: 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d 70 69  d, add the compi
5c80: 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20  ler options for 
5c90: 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  it..#.!IF $(USE_
5ca0: 49 43 55 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  ICU)!=0.TCC = $(
5cb0: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TCC) -DSQLITE_EN
5cc0: 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43 43 20 3d  ABLE_ICU=1.RCC =
5cd0: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
5ce0: 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 54 43  _ENABLE_ICU=1.TC
5cf0: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
5d00: 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52 43 43 20  OP)\ext\icu.RCC 
5d10: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50  = $(RCC) -I$(TOP
5d20: 29 5c 65 78 74 5c 69 63 75 0a 54 43 43 20 3d 20  )\ext\icu.TCC = 
5d30: 24 28 54 43 43 29 20 2d 49 24 28 49 43 55 49 4e  $(TCC) -I$(ICUIN
5d40: 43 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43  CDIR).RCC = $(RC
5d50: 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52  C) -I$(ICUINCDIR
5d60: 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61  ).!ENDIF.# <</ma
5d70: 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 6e 64 20  rk>>..# Command 
5d80: 6c 69 6e 65 20 70 72 65 66 69 78 65 73 20 66 6f  line prefixes fo
5d90: 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 65  r compiling code
5da0: 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72 65 73 6f  , compiling reso
5db0: 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b 69 6e 67  urces,.# linking
5dc0: 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f 4d 50 49  , etc..#.LTCOMPI
5dd0: 4c 45 20 3d 20 24 28 54 43 43 29 20 2d 46 6f 24  LE = $(TCC) -Fo$
5de0: 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24  @.LTRCOMPILE = $
5df0: 28 52 43 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d  (RCC) -r.LTLIB =
5e00: 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20   lib.exe.LTLINK 
5e10: 3d 20 24 28 54 43 43 29 20 2d 46 65 24 40 0a 0a  = $(TCC) -Fe$@..
5e20: 23 20 49 66 20 72 65 71 75 65 73 74 65 64 2c 20  # If requested, 
5e30: 6c 69 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52  link to the RPCR
5e40: 54 34 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  T4 library..#.!I
5e50: 46 20 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c  F $(USE_RPCRT4_L
5e60: 49 42 29 21 3d 30 0a 4c 54 4c 49 4e 4b 20 3d 20  IB)!=0.LTLINK = 
5e70: 24 28 4c 54 4c 49 4e 4b 29 20 72 70 63 72 74 34  $(LTLINK) rpcrt4
5e80: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49  .lib.!ENDIF..# I
5e90: 66 20 61 20 70 6c 61 74 66 6f 72 6d 20 77 61 73  f a platform was
5ea0: 20 73 65 74 2c 20 66 6f 72 63 65 20 74 68 65 20   set, force the 
5eb0: 6c 69 6e 6b 65 72 20 74 6f 20 74 61 72 67 65 74  linker to target
5ec0: 20 74 68 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68   that..# Note th
5ed0: 61 74 20 74 68 65 20 76 63 76 61 72 73 2a 2e 62  at the vcvars*.b
5ee0: 61 74 20 66 61 6d 69 6c 79 20 6f 66 20 62 61 74  at family of bat
5ef0: 63 68 20 66 69 6c 65 73 20 74 79 70 69 63 61 6c  ch files typical
5f00: 6c 79 0a 23 20 73 65 74 20 74 68 69 73 20 66 6f  ly.# set this fo
5f10: 72 20 79 6f 75 2e 20 20 4f 74 68 65 72 77 69 73  r you.  Otherwis
5f20: 65 2c 20 74 68 65 20 6c 69 6e 6b 65 72 20 77 69  e, the linker wi
5f30: 6c 6c 20 61 74 74 65 6d 70 74 0a 23 20 74 6f 20  ll attempt.# to 
5f40: 64 65 64 75 63 65 20 74 68 65 20 62 69 6e 61 72  deduce the binar
5f50: 79 20 74 79 70 65 20 62 61 73 65 64 20 6f 6e 20  y type based on 
5f60: 74 68 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 73  the object files
5f70: 2e 0a 21 49 46 44 45 46 20 50 4c 41 54 46 4f 52  ..!IFDEF PLATFOR
5f80: 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f  M.LTLINKOPTS = /
5f90: 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a  NOLOGO /MACHINE:
5fa0: 24 28 50 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49  $(PLATFORM).LTLI
5fb0: 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20  BOPTS = /NOLOGO 
5fc0: 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 46  /MACHINE:$(PLATF
5fd0: 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e  ORM).!ELSE.LTLIN
5fe0: 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a  KOPTS = /NOLOGO.
5ff0: 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c  LTLIBOPTS = /NOL
6000: 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68  OGO.!ENDIF..# Wh
6010: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
6020: 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52   use in the WinR
6030: 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 74  T environment, t
6040: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20 6c  he following.# l
6050: 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20 6d 75 73  inker option mus
6060: 74 20 62 65 20 75 73 65 64 20 74 6f 20 6d 61 72  t be used to mar
6070: 6b 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65  k the executable
6080: 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a 23 20 6f   as runnable.# o
6090: 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f 6e 74 65  nly in the conte
60a0: 78 74 20 6f 66 20 61 6e 20 61 70 70 6c 69 63 61  xt of an applica
60b0: 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65 72 2e 0a  tion container..
60c0: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52  #.!IF $(FOR_WINR
60d0: 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53  T)!=0.LTLINKOPTS
60e0: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
60f0: 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45 52 0a 21   /APPCONTAINER.!
6100: 49 46 20 22 24 28 56 49 53 55 41 4c 53 54 55 44  IF "$(VISUALSTUD
6110: 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32  IOVERSION)"=="12
6120: 2e 30 22 20 7c 7c 20 22 24 28 56 49 53 55 41 4c  .0" || "$(VISUAL
6130: 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d  STUDIOVERSION)"=
6140: 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44 45 46 20  ="14.0".!IFNDEF 
6150: 53 54 4f 52 45 4c 49 42 50 41 54 48 0a 21 49 46  STORELIBPATH.!IF
6160: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
6170: 22 78 38 36 22 0a 53 54 4f 52 45 4c 49 42 50 41  "x86".STORELIBPA
6180: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT
6190: 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53 45 49 46  H)\store.!ELSEIF
61a0: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
61b0: 22 78 36 34 22 0a 53 54 4f 52 45 4c 49 42 50 41  "x64".STORELIBPA
61c0: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT
61d0: 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36 34 0a 21  H)\store\amd64.!
61e0: 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f  ELSEIF "$(PLATFO
61f0: 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 54 4f 52  RM)"=="ARM".STOR
6200: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54  ELIBPATH = $(CRT
6210: 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61  LIBPATH)\store\a
6220: 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52 45 4c 49  rm.!ELSE.STORELI
6230: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB
6240: 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4e 44  PATH)\store.!END
6250: 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f 52 45 4c  IF.!ENDIF.STOREL
6260: 49 42 50 41 54 48 20 3d 20 24 28 53 54 4f 52 45  IBPATH = $(STORE
6270: 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c 54  LIBPATH:\\=\).LT
6280: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
6290: 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41  INKOPTS) "/LIBPA
62a0: 54 48 3a 24 28 53 54 4f 52 45 4c 49 42 50 41 54  TH:$(STORELIBPAT
62b0: 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  H)".!ENDIF.!ENDI
62c0: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c  F..# When compil
62d0: 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20  ing for Windows 
62e0: 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e 20 65 78  Phone 8.1, an ex
62f0: 74 72 61 20 6c 69 62 72 61 72 79 20 70 61 74 68  tra library path
6300: 20 69 73 0a 23 20 72 65 71 75 69 72 65 64 2e 0a   is.# required..
6310: 23 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38 31  #.!IF $(USE_WP81
6320: 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 4e 44 45  _OPTS)!=0.!IFNDE
6330: 46 20 57 50 38 31 4c 49 42 50 41 54 48 0a 21 49  F WP81LIBPATH.!I
6340: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"=
6350: 3d 22 78 38 36 22 0a 57 50 38 31 4c 49 42 50 41  ="x86".WP81LIBPA
6360: 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49  TH = $(PROGRAMFI
6370: 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73  LES_X86)\Windows
6380: 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c   Phone Kits\8.1\
6390: 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45 49 46 20  lib\x86.!ELSEIF 
63a0: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22  "$(PLATFORM)"=="
63b0: 41 52 4d 22 0a 57 50 38 31 4c 49 42 50 41 54 48  ARM".WP81LIBPATH
63c0: 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45   = $(PROGRAMFILE
63d0: 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50  S_X86)\Windows P
63e0: 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69  hone Kits\8.1\li
63f0: 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 50 38 31  b\ARM.!ELSE.WP81
6400: 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47  LIBPATH = $(PROG
6410: 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69  RAMFILES_X86)\Wi
6420: 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73  ndows Phone Kits
6430: 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4e  \8.1\lib\x86.!EN
6440: 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  DIF.!ENDIF.!ENDI
6450: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c  F..# When compil
6460: 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20  ing for Windows 
6470: 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f 6d 65 20  Phone 8.1, some 
6480: 65 78 74 72 61 20 6c 69 6e 6b 65 72 20 6f 70 74  extra linker opt
6490: 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c 73 6f 20  ions.# are also 
64a0: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20  required..#.!IF 
64b0: 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29  $(USE_WP81_OPTS)
64c0: 21 3d 30 0a 21 49 46 44 45 46 20 57 50 38 31 4c  !=0.!IFDEF WP81L
64d0: 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54  IBPATH.LTLINKOPT
64e0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
64f0: 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 57 50  ) "/LIBPATH:$(WP
6500: 38 31 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44  81LIBPATH)".!END
6510: 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  IF.LTLINKOPTS = 
6520: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44  $(LTLINKOPTS) /D
6530: 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54 4c 49 4e  YNAMICBASE.LTLIN
6540: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
6550: 4f 50 54 53 29 20 57 69 6e 64 6f 77 73 50 68 6f  OPTS) WindowsPho
6560: 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75 6e 74 69  neCore.lib Runti
6570: 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20 50 68 6f  meObject.lib Pho
6580: 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73 74 2e 6c  neAppModelHost.l
6590: 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  ib.LTLINKOPTS = 
65a0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e  $(LTLINKOPTS) /N
65b0: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e  ODEFAULTLIB:kern
65c0: 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44 45 46 41  el32.lib /NODEFA
65d0: 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69 62  ULTLIB:ole32.lib
65e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20  .!ENDIF..# When 
65f0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 55 57  compiling for UW
6600: 50 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73  P or the Windows
6610: 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f   10 platform, so
6620: 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 0a  me extra linker.
6630: 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 61 6c  # options are al
6640: 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  so required..#.!
6650: 49 46 20 24 28 46 4f 52 5f 55 57 50 29 21 3d 30  IF $(FOR_UWP)!=0
6660: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10)
6670: 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  !=0.LTLINKOPTS =
6680: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f   $(LTLINKOPTS) /
6690: 44 59 4e 41 4d 49 43 42 41 53 45 20 2f 4e 4f 44  DYNAMICBASE /NOD
66a0: 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c  EFAULTLIB:kernel
66b0: 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54  32.lib.LTLINKOPT
66c0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
66d0: 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62 0a 21 49  ) mincore.lib.!I
66e0: 46 44 45 46 20 50 53 44 4b 4c 49 42 50 41 54 48  FDEF PSDKLIBPATH
66f0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
6700: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49  LTLINKOPTS) "/LI
6710: 42 50 41 54 48 3a 24 28 50 53 44 4b 4c 49 42 50  BPATH:$(PSDKLIBP
6720: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e  ATH)".!ENDIF.!EN
6730: 44 49 46 0a 0a 21 49 46 20 24 28 46 4f 52 5f 57  DIF..!IF $(FOR_W
6740: 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f  IN10)!=0.LTLINKO
6750: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
6760: 54 53 29 20 2f 67 75 61 72 64 3a 63 66 20 22 2f  TS) /guard:cf "/
6770: 4c 49 42 50 41 54 48 3a 24 28 55 43 52 54 4c 49  LIBPATH:$(UCRTLI
6780: 42 50 41 54 48 29 22 0a 21 49 46 20 24 28 44 45  BPATH)".!IF $(DE
6790: 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54  BUG)>1.LTLINKOPT
67a0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
67b0: 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a  ) /NODEFAULTLIB:
67c0: 6c 69 62 75 63 72 74 64 2e 6c 69 62 20 2f 44 45  libucrtd.lib /DE
67d0: 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c  FAULTLIB:ucrtd.l
67e0: 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f  ib.!ELSE.LTLINKO
67f0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
6800: 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49  TS) /NODEFAULTLI
6810: 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62 20 2f 44  B:libucrt.lib /D
6820: 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c  EFAULTLIB:ucrt.l
6830: 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  ib.!ENDIF.!ENDIF
6840: 0a 0a 23 20 49 66 20 65 69 74 68 65 72 20 64 65  ..# If either de
6850: 62 75 67 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f  bugging or symbo
6860: 6c 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2c 20  ls are enabled, 
6870: 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21  enable PDBs..#.!
6880: 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c  IF $(DEBUG)>1 ||
6890: 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c   $(SYMBOLS)!=0.L
68a0: 44 46 4c 41 47 53 20 3d 20 2f 44 45 42 55 47 20  DFLAGS = /DEBUG 
68b0: 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a  $(LDOPTS).!ELSE.
68c0: 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50  LDFLAGS = $(LDOP
68d0: 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c  TS).!ENDIF..# <<
68e0: 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77  mark>>.# Start w
68f0: 69 74 68 20 74 68 65 20 54 63 6c 20 72 65 6c 61  ith the Tcl rela
6900: 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  ted linker optio
6910: 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54  ns..#.!IF $(NO_T
6920: 43 4c 29 3d 3d 30 0a 4c 54 4c 49 42 50 41 54 48  CL)==0.LTLIBPATH
6930: 53 20 3d 20 2f 4c 49 42 50 41 54 48 3a 24 28 54  S = /LIBPATH:$(T
6940: 43 4c 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53  CLLIBDIR).LTLIBS
6950: 20 3d 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e   = $(LIBTCL).!EN
6960: 44 49 46 0a 0a 23 20 49 66 20 49 43 55 20 73 75  DIF..# If ICU su
6970: 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64  pport is enabled
6980: 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72  , add the linker
6990: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e   options for it.
69a0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 49 43 55  .#.!IF $(USE_ICU
69b0: 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53 20  )!=0.LTLIBPATHS 
69c0: 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  = $(LTLIBPATHS) 
69d0: 2f 4c 49 42 50 41 54 48 3a 24 28 49 43 55 4c 49  /LIBPATH:$(ICULI
69e0: 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24  BDIR).LTLIBS = $
69f0: 28 4c 54 4c 49 42 53 29 20 24 28 4c 49 42 49 43  (LTLIBS) $(LIBIC
6a00: 55 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d  U).!ENDIF.# <</m
6a10: 61 72 6b 3e 3e 0a 0a 23 20 59 6f 75 20 73 68 6f  ark>>..# You sho
6a20: 75 6c 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20  uld not have to 
6a30: 63 68 61 6e 67 65 20 61 6e 79 74 68 69 6e 67 20  change anything 
6a40: 62 65 6c 6f 77 20 74 68 69 73 20 6c 69 6e 65 0a  below this line.
6a50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
6a60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
6a70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
6a80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
6a90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
6aa0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 4f 62  .# <<mark>>.# Ob
6ab0: 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74  ject files for t
6ac0: 68 65 20 53 51 4c 69 74 65 20 6c 69 62 72 61 72  he SQLite librar
6ad0: 79 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74  y (non-amalgamat
6ae0: 69 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42 4a 53 30  ion)..#.LIBOBJS0
6af0: 20 3d 20 76 64 62 65 2e 6c 6f 20 70 61 72 73 65   = vdbe.lo parse
6b00: 2e 6c 6f 20 61 6c 74 65 72 2e 6c 6f 20 61 6e 61  .lo alter.lo ana
6b10: 6c 79 7a 65 2e 6c 6f 20 61 74 74 61 63 68 2e 6c  lyze.lo attach.l
6b20: 6f 20 61 75 74 68 2e 6c 6f 20 5c 0a 20 20 20 20  o auth.lo \.    
6b30: 20 20 20 20 20 62 61 63 6b 75 70 2e 6c 6f 20 62       backup.lo b
6b40: 69 74 76 65 63 2e 6c 6f 20 62 74 6d 75 74 65 78  itvec.lo btmutex
6b50: 2e 6c 6f 20 62 74 72 65 65 2e 6c 6f 20 62 75 69  .lo btree.lo bui
6b60: 6c 64 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  ld.lo \.        
6b70: 20 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20 63 6f 6d   callback.lo com
6b80: 70 6c 65 74 65 2e 6c 6f 20 63 74 69 6d 65 2e 6c  plete.lo ctime.l
6b90: 6f 20 64 61 74 65 2e 6c 6f 20 64 62 73 74 61 74  o date.lo dbstat
6ba0: 2e 6c 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a  .lo delete.lo \.
6bb0: 20 20 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f           expr.lo
6bc0: 20 66 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c   fault.lo fkey.l
6bd0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73  o \.         fts
6be0: 33 2e 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f  3.lo fts3_aux.lo
6bf0: 20 66 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74   fts3_expr.lo ft
6c00: 73 33 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f  s3_hash.lo fts3_
6c10: 69 63 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  icu.lo \.       
6c20: 20 20 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f    fts3_porter.lo
6c30: 20 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f   fts3_snippet.lo
6c40: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e   fts3_tokenizer.
6c50: 6c 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  lo fts3_tokenize
6c60: 72 31 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  r1.lo \.        
6c70: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76   fts3_tokenize_v
6c80: 74 61 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63  tab.lo fts3_unic
6c90: 6f 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63  ode.lo fts3_unic
6ca0: 6f 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69  ode2.lo fts3_wri
6cb0: 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  te.lo \.        
6cc0: 20 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20   fts5.lo \.     
6cd0: 20 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62      func.lo glob
6ce0: 61 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a  al.lo hash.lo \.
6cf0: 20 20 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20           icu.lo 
6d00: 69 6e 73 65 72 74 2e 6c 6f 20 6c 65 67 61 63 79  insert.lo legacy
6d10: 2e 6c 6f 20 6c 6f 61 64 65 78 74 2e 6c 6f 20 5c  .lo loadext.lo \
6d20: 0a 20 20 20 20 20 20 20 20 20 6d 61 69 6e 2e 6c  .         main.l
6d30: 6f 20 6d 61 6c 6c 6f 63 2e 6c 6f 20 6d 65 6d 30  o malloc.lo mem0
6d40: 2e 6c 6f 20 6d 65 6d 31 2e 6c 6f 20 6d 65 6d 32  .lo mem1.lo mem2
6d50: 2e 6c 6f 20 6d 65 6d 33 2e 6c 6f 20 6d 65 6d 35  .lo mem3.lo mem5
6d60: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6d  .lo \.         m
6d70: 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a 20  emjournal.lo \. 
6d80: 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c 6f          mutex.lo
6d90: 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d   mutex_noop.lo m
6da0: 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 74  utex_unix.lo mut
6db0: 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 20  ex_w32.lo \.    
6dc0: 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 6f       notify.lo o
6dd0: 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f 20  pcodes.lo os.lo 
6de0: 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69  os_unix.lo os_wi
6df0: 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  n.lo \.         
6e00: 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65 2e  pager.lo pcache.
6e10: 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70 72  lo pcache1.lo pr
6e20: 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65 2e  agma.lo prepare.
6e30: 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a 20  lo printf.lo \. 
6e40: 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e 6c          random.l
6e50: 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f 77  o resolve.lo row
6e60: 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f 20  set.lo rtree.lo 
6e70: 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69 74  \.         sqlit
6e80: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 6c  e3session.lo sel
6e90: 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72 62  ect.lo sqlite3rb
6ea0: 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20 5c  u.lo status.lo \
6eb0: 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 2e  .         table.
6ec0: 6c 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20 74 6f  lo threads.lo to
6ed0: 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65 76 69  kenize.lo treevi
6ee0: 65 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e 6c 6f  ew.lo trigger.lo
6ef0: 20 5c 0a 20 20 20 20 20 20 20 20 20 75 70 64 61   \.         upda
6f00: 74 65 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20 76 61  te.lo util.lo va
6f10: 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  cuum.lo \.      
6f20: 20 20 20 76 64 62 65 61 70 69 2e 6c 6f 20 76 64     vdbeapi.lo vd
6f30: 62 65 61 75 78 2e 6c 6f 20 76 64 62 65 62 6c 6f  beaux.lo vdbeblo
6f40: 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c 6f 20  b.lo vdbemem.lo 
6f50: 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a 20 20  vdbesort.lo \.  
6f60: 20 20 20 20 20 20 20 76 64 62 65 74 72 61 63 65         vdbetrace
6f70: 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c 6b 65  .lo wal.lo walke
6f80: 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20 77 68  r.lo where.lo wh
6f90: 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65 72 65  erecode.lo where
6fa0: 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  expr.lo \.      
6fb0: 20 20 20 75 74 66 2e 6c 6f 20 76 74 61 62 2e 6c     utf.lo vtab.l
6fc0: 6f 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  o.# <</mark>>..#
6fd0: 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f   Object files fo
6fe0: 72 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69  r the amalgamati
6ff0: 6f 6e 2e 0a 23 0a 4c 49 42 4f 42 4a 53 31 20 3d  on..#.LIBOBJS1 =
7000: 20 73 71 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20 44   sqlite3.lo..# D
7010: 65 74 65 72 6d 69 6e 65 20 74 68 65 20 72 65 61  etermine the rea
7020: 6c 20 76 61 6c 75 65 20 6f 66 20 4c 49 42 4f 42  l value of LIBOB
7030: 4a 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 27  J based on the '
7040: 63 6f 6e 66 69 67 75 72 65 27 20 73 63 72 69 70  configure' scrip
7050: 74 0a 23 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21  t.#.# <<mark>>.!
7060: 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d  IF $(USE_AMALGAM
7070: 41 54 49 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a  ATION)==0.LIBOBJ
7080: 20 3d 20 24 28 4c 49 42 4f 42 4a 53 30 29 0a 21   = $(LIBOBJS0).!
7090: 45 4c 53 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  ELSE.# <</mark>>
70a0: 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f  .LIBOBJ = $(LIBO
70b0: 42 4a 53 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  BJS1).# <<mark>>
70c0: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
70d0: 6b 3e 3e 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65  k>>..# Determine
70e0: 20 69 66 20 65 6d 62 65 64 64 65 64 20 72 65 73   if embedded res
70f0: 6f 75 72 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f  ource compilatio
7100: 6e 20 61 6e 64 20 75 73 61 67 65 20 61 72 65 20  n and usage are 
7110: 65 6e 61 62 6c 65 64 2e 0a 23 0a 21 49 46 20 24  enabled..#.!IF $
7120: 28 55 53 45 5f 52 43 29 21 3d 30 0a 4c 49 42 52  (USE_RC)!=0.LIBR
7130: 45 53 4f 42 4a 53 20 3d 20 73 71 6c 69 74 65 33  ESOBJS = sqlite3
7140: 72 65 73 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42  res.lo.!ELSE.LIB
7150: 52 45 53 4f 42 4a 53 20 3d 0a 21 45 4e 44 49 46  RESOBJS =.!ENDIF
7160: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43  ..# <<mark>>.# C
7170: 6f 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20  ore source code 
7180: 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23  files, part 1..#
7190: 0a 53 52 43 30 30 20 3d 20 5c 0a 20 20 24 28 54  .SRC00 = \.  $(T
71a0: 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20  OP)\src\alter.c 
71b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61  \.  $(TOP)\src\a
71c0: 6e 61 6c 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54  nalyze.c \.  $(T
71d0: 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63  OP)\src\attach.c
71e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
71f0: 61 75 74 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50  auth.c \.  $(TOP
7200: 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c  )\src\backup.c \
7210: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69  .  $(TOP)\src\bi
7220: 74 76 65 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50  tvec.c \.  $(TOP
7230: 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20  )\src\btmutex.c 
7240: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62  \.  $(TOP)\src\b
7250: 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  tree.c \.  $(TOP
7260: 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 5c 0a  )\src\build.c \.
7270: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c    $(TOP)\src\cal
7280: 6c 62 61 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f  lback.c \.  $(TO
7290: 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e  P)\src\complete.
72a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
72b0: 5c 63 74 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54  \ctime.c \.  $(T
72c0: 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 5c  OP)\src\date.c \
72d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62  .  $(TOP)\src\db
72e0: 73 74 61 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  stat.c \.  $(TOP
72f0: 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 20 5c  )\src\delete.c \
7300: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78  .  $(TOP)\src\ex
7310: 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  pr.c \.  $(TOP)\
7320: 73 72 63 5c 66 61 75 6c 74 2e 63 20 5c 0a 20 20  src\fault.c \.  
7330: 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e  $(TOP)\src\fkey.
7340: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7350: 5c 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f  \func.c \.  $(TO
7360: 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20  P)\src\global.c 
7370: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68  \.  $(TOP)\src\h
7380: 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ash.c \.  $(TOP)
7390: 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 5c 0a  \src\insert.c \.
73a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67    $(TOP)\src\leg
73b0: 61 63 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  acy.c \.  $(TOP)
73c0: 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 5c  \src\loadext.c \
73d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  .  $(TOP)\src\ma
73e0: 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  in.c \.  $(TOP)\
73f0: 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20  src\malloc.c \. 
7400: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30   $(TOP)\src\mem0
7410: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7420: 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20 20 24 28 54  c\mem1.c \.  $(T
7430: 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 5c  OP)\src\mem2.c \
7440: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me
7450: 6d 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  m3.c \.  $(TOP)\
7460: 73 72 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20 24  src\mem5.c \.  $
7470: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75  (TOP)\src\memjou
7480: 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rnal.c \.  $(TOP
7490: 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 5c 0a  )\src\mutex.c \.
74a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74    $(TOP)\src\mut
74b0: 65 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20 20 24 28  ex_noop.c \.  $(
74c0: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75  TOP)\src\mutex_u
74d0: 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nix.c \.  $(TOP)
74e0: 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63  \src\mutex_w32.c
74f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7500: 6e 6f 74 69 66 79 2e 63 20 5c 0a 20 20 24 28 54  notify.c \.  $(T
7510: 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 5c 0a 20  OP)\src\os.c \. 
7520: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75   $(TOP)\src\os_u
7530: 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nix.c \.  $(TOP)
7540: 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 23  \src\os_win.c..#
7550: 20 43 6f 72 65 20 73 6f 75 72 63 65 20 63 6f 64   Core source cod
7560: 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e  e files, part 2.
7570: 0a 23 0a 53 52 43 30 31 20 3d 20 5c 0a 20 20 24  .#.SRC01 = \.  $
7580: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
7590: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
75a0: 5c 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28  \pcache.c \.  $(
75b0: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31  TOP)\src\pcache1
75c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
75d0: 63 5c 70 72 61 67 6d 61 2e 63 20 5c 0a 20 20 24  c\pragma.c \.  $
75e0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72  (TOP)\src\prepar
75f0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
7600: 72 63 5c 70 72 69 6e 74 66 2e 63 20 5c 0a 20 20  rc\printf.c \.  
7610: 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f  $(TOP)\src\rando
7620: 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  m.c \.  $(TOP)\s
7630: 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 5c 0a 20  rc\resolve.c \. 
7640: 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73   $(TOP)\src\rows
7650: 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  et.c \.  $(TOP)\
7660: 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 5c 0a 20  src\select.c \. 
7670: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74   $(TOP)\src\stat
7680: 75 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  us.c \.  $(TOP)\
7690: 73 72 63 5c 74 61 62 6c 65 2e 63 20 5c 0a 20 20  src\table.c \.  
76a0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61  $(TOP)\src\threa
76b0: 64 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ds.c \.  $(TOP)\
76c0: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20  src\tclsqlite.c 
76d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
76e0: 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 24 28  okenize.c \.  $(
76f0: 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65  TOP)\src\treevie
7700: 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  w.c \.  $(TOP)\s
7710: 72 63 5c 74 72 69 67 67 65 72 2e 63 20 5c 0a 20  rc\trigger.c \. 
7720: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e   $(TOP)\src\utf.
7730: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7740: 5c 75 70 64 61 74 65 2e 63 20 5c 0a 20 20 24 28  \update.c \.  $(
7750: 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20  TOP)\src\util.c 
7760: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
7770: 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  acuum.c \.  $(TO
7780: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 5c 0a  P)\src\vdbe.c \.
7790: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
77a0: 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50  eapi.c \.  $(TOP
77b0: 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20  )\src\vdbeaux.c 
77c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
77d0: 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28  dbeblob.c \.  $(
77e0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d  TOP)\src\vdbemem
77f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7800: 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 5c 0a 20  c\vdbesort.c \. 
7810: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
7820: 74 72 61 63 65 2e 63 20 5c 0a 20 20 24 28 54 4f  trace.c \.  $(TO
7830: 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 5c 0a  P)\src\vtab.c \.
7840: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c    $(TOP)\src\wal
7850: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7860: 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a 20 20 24  c\walker.c \.  $
7870: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e  (TOP)\src\where.
7880: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7890: 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 5c 0a 20  \wherecode.c \. 
78a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher
78b0: 65 65 78 70 72 2e 63 0a 0a 23 20 53 68 65 6c 6c  eexpr.c..# Shell
78c0: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
78d0: 65 73 2e 0a 23 0a 53 52 43 30 32 20 3d 20 5c 0a  es..#.SRC02 = \.
78e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65    $(TOP)\src\she
78f0: 6c 6c 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73  ll.c..# Core mis
7900: 63 65 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73  cellaneous files
7910: 2e 0a 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20  ..#.SRC03 = \.  
7920: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65  $(TOP)\src\parse
7930: 2e 79 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65  .y..# Core heade
7940: 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e  r files, part 1.
7950: 0a 23 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24  .#.SRC04 = \.  $
7960: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
7970: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
7980: 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20  \btreeInt.h \.  
7990: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e  $(TOP)\src\hash.
79a0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
79b0: 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28  \hwtime.h \.  $(
79c0: 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20  TOP)\src\msvc.h 
79d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
79e0: 75 74 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50  utex.h \.  $(TOP
79f0: 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24  )\src\os.h \.  $
7a00: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d  (TOP)\src\os_com
7a10: 6d 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  mon.h \.  $(TOP)
7a20: 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20  \src\os_setup.h 
7a30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o
7a40: 73 5f 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20  s_win.h..# Core 
7a50: 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61  header files, pa
7a60: 72 74 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20  rt 2..#.SRC05 = 
7a70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
7a80: 61 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50  ager.h \.  $(TOP
7a90: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c  )\src\pcache.h \
7aa0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  .  $(TOP)\src\pr
7ab0: 61 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50  agma.h \.  $(TOP
7ac0: 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69  )\src\sqlite.h.i
7ad0: 6e 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  n \.  $(TOP)\src
7ae0: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a  \sqlite3ext.h \.
7af0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql
7b00: 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54  iteInt.h \.  $(T
7b10: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69  OP)\src\sqliteLi
7b20: 6d 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  mit.h \.  $(TOP)
7b30: 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20  \src\vdbe.h \.  
7b40: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49  $(TOP)\src\vdbeI
7b50: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\
7b60: 73 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a  src\vxworks.h \.
7b70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c    $(TOP)\src\wal
7b80: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
7b90: 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20  c\whereInt.h..# 
7ba0: 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65  Extension source
7bb0: 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72   code files, par
7bc0: 74 20 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c  t 1..#.SRC06 = \
7bd0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
7be0: 73 31 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28  s1\fts1.c \.  $(
7bf0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
7c00: 73 31 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28  s1_hash.c \.  $(
7c10: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
7c20: 73 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s1_porter.c \.  
7c30: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\
7c40: 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts1_tokenizer1.
7c50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
7c60: 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20  \fts2\fts2.c \. 
7c70: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
7c80: 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20  \fts2_hash.c \. 
7c90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
7ca0: 5c 66 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20  \fts2_icu.c \.  
7cb0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
7cc0: 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a  fts2_porter.c \.
7cd0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
7ce0: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
7cf0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
7d00: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
7d10: 6e 69 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65  nizer1.c..# Exte
7d20: 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64  nsion source cod
7d30: 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e  e files, part 2.
7d40: 0a 23 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24  .#.SRC07 = \.  $
7d50: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
7d60: 74 73 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ts3.c \.  $(TOP)
7d70: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61  \ext\fts3\fts3_a
7d80: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ux.c \.  $(TOP)\
7d90: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78  ext\fts3\fts3_ex
7da0: 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  pr.c \.  $(TOP)\
7db0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
7dc0: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\
7dd0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63  ext\fts3\fts3_ic
7de0: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e
7df0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72  xt\fts3\fts3_por
7e00: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ter.c \.  $(TOP)
7e10: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73  \ext\fts3\fts3_s
7e20: 6e 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54  nippet.c \.  $(T
7e30: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
7e40: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a  3_tokenizer.c \.
7e50: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
7e60: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
7e70: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.c \.  $(TOP)\e
7e80: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
7e90: 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20  enize_vtab.c \. 
7ea0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
7eb0: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20  \fts3_unicode.c 
7ec0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
7ed0: 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65  ts3\fts3_unicode
7ee0: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  2.c \.  $(TOP)\e
7ef0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69  xt\fts3\fts3_wri
7f00: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
7f10: 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a  ext\icu\icu.c \.
7f20: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72    $(TOP)\ext\rtr
7f30: 65 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24  ee\rtree.c \.  $
7f40: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
7f50: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
7f60: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
7f70: 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75  t\rbu\sqlite3rbu
7f80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
7f90: 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 0a 0a  t\misc\json1.c..
7fa0: 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64  # Extension head
7fb0: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31  er files, part 1
7fc0: 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a 20 20  ..#.SRC08 = \.  
7fd0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\
7fe0: 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts1.h \.  $(TOP
7ff0: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f  )\ext\fts1\fts1_
8000: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50  hash.h \.  $(TOP
8010: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f  )\ext\fts1\fts1_
8020: 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20  tokenizer.h \.  
8030: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
8040: 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts2.h \.  $(TOP
8050: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
8060: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50  hash.h \.  $(TOP
8070: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
8080: 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23 20 45  tokenizer.h..# E
8090: 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20  xtension header 
80a0: 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23  files, part 2..#
80b0: 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20 24 28 54  .SRC09 = \.  $(T
80c0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
80d0: 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  3.h \.  $(TOP)\e
80e0: 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74 2e  xt\fts3\fts3Int.
80f0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
8100: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
8110: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
8120: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
8130: 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50  izer.h \.  $(TOP
8140: 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65  )\ext\icu\sqlite
8150: 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  icu.h \.  $(TOP)
8160: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
8170: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
8180: 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75  t\rbu\sqlite3rbu
8190: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
81a0: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65  t\session\sqlite
81b0: 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 47 65  3session.h..# Ge
81c0: 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65 20 63  nerated source c
81d0: 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43 31  ode files.#.SRC1
81e0: 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e  0 = \.  opcodes.
81f0: 63 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a 0a 23  c \.  parse.c..#
8200: 20 47 65 6e 65 72 61 74 65 64 20 68 65 61 64 65   Generated heade
8210: 72 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 31 20  r files.#.SRC11 
8220: 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61 73  = \.  keywordhas
8230: 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e  h.h \.  opcodes.
8240: 68 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 5c 0a  h \.  parse.h \.
8250: 20 20 24 28 53 51 4c 49 54 45 33 48 29 0a 0a 23    $(SQLITE3H)..#
8260: 20 47 65 6e 65 72 61 74 65 64 20 54 63 6c 20 68   Generated Tcl h
8270: 65 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 53 52  eader files.#.SR
8280: 43 31 32 20 3d 20 5c 0a 20 20 73 71 6c 69 74 65  C12 = \.  sqlite
8290: 5f 74 63 6c 2e 68 20 5c 0a 20 20 73 71 6c 69 74  _tcl.h \.  sqlit
82a0: 65 5f 74 63 6c 44 65 63 6c 73 2e 68 0a 0a 23 20  e_tclDecls.h..# 
82b0: 41 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  All source code 
82c0: 66 69 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24  files..#.SRC = $
82d0: 28 53 52 43 30 30 29 20 24 28 53 52 43 30 31 29  (SRC00) $(SRC01)
82e0: 20 24 28 53 52 43 30 32 29 20 24 28 53 52 43 30   $(SRC02) $(SRC0
82f0: 33 29 20 24 28 53 52 43 30 34 29 20 24 28 53 52  3) $(SRC04) $(SR
8300: 43 30 35 29 20 24 28 53 52 43 30 36 29 20 24 28  C05) $(SRC06) $(
8310: 53 52 43 30 37 29 20 24 28 53 52 43 30 38 29 20  SRC07) $(SRC08) 
8320: 24 28 53 52 43 30 39 29 20 24 28 53 52 43 31 30  $(SRC09) $(SRC10
8330: 29 20 24 28 53 52 43 31 31 29 0a 0a 23 20 53 6f  ) $(SRC11)..# So
8340: 75 72 63 65 20 63 6f 64 65 20 74 6f 20 74 68 65  urce code to the
8350: 20 74 65 73 74 20 66 69 6c 65 73 2e 0a 23 0a 54   test files..#.T
8360: 45 53 54 53 52 43 20 3d 20 5c 0a 20 20 24 28 54  ESTSRC = \.  $(T
8370: 4f 50 29 5c 73 72 63 5c 74 65 73 74 31 2e 63 20  OP)\src\test1.c 
8380: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8390: 65 73 74 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est2.c \.  $(TOP
83a0: 29 5c 73 72 63 5c 74 65 73 74 33 2e 63 20 5c 0a  )\src\test3.c \.
83b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
83c0: 74 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t4.c \.  $(TOP)\
83d0: 73 72 63 5c 74 65 73 74 35 2e 63 20 5c 0a 20 20  src\test5.c \.  
83e0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 36  $(TOP)\src\test6
83f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8400: 63 5c 74 65 73 74 37 2e 63 20 5c 0a 20 20 24 28  c\test7.c \.  $(
8410: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 38 2e 63  TOP)\src\test8.c
8420: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8430: 74 65 73 74 39 2e 63 20 5c 0a 20 20 24 28 54 4f  test9.c \.  $(TO
8440: 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 75 74 6f  P)\src\test_auto
8450: 65 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ext.c \.  $(TOP)
8460: 5c 73 72 63 5c 74 65 73 74 5f 61 73 79 6e 63 2e  \src\test_async.
8470: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8480: 5c 74 65 73 74 5f 62 61 63 6b 75 70 2e 63 20 5c  \test_backup.c \
8490: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
84a0: 73 74 5f 62 65 73 74 69 6e 64 65 78 2e 63 20 5c  st_bestindex.c \
84b0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
84c0: 73 74 5f 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28  st_blob.c \.  $(
84d0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 74  TOP)\src\test_bt
84e0: 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ree.c \.  $(TOP)
84f0: 5c 73 72 63 5c 74 65 73 74 5f 63 6f 6e 66 69 67  \src\test_config
8500: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8510: 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73 2e 63  c\test_demovfs.c
8520: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8530: 74 65 73 74 5f 64 65 76 73 79 6d 2e 63 20 5c 0a  test_devsym.c \.
8540: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8550: 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  t_fs.c \.  $(TOP
8560: 29 5c 73 72 63 5c 74 65 73 74 5f 66 75 6e 63 2e  )\src\test_func.
8570: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8580: 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63 20 5c 0a  \test_hexio.c \.
8590: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
85a0: 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 24 28 54  t_init.c \.  $(T
85b0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 74  OP)\src\test_int
85c0: 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f  array.c \.  $(TO
85d0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a 6f 75 72  P)\src\test_jour
85e0: 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nal.c \.  $(TOP)
85f0: 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c 6c 6f 63  \src\test_malloc
8600: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8610: 63 5c 74 65 73 74 5f 6d 75 6c 74 69 70 6c 65 78  c\test_multiplex
8620: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8630: 63 5c 74 65 73 74 5f 6d 75 74 65 78 2e 63 20 5c  c\test_mutex.c \
8640: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8650: 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 20 5c 0a 20  st_onefile.c \. 
8660: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8670: 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a 20 20 24 28  _osinst.c \.  $(
8680: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 70 63  TOP)\src\test_pc
8690: 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ache.c \.  $(TOP
86a0: 29 5c 73 72 63 5c 74 65 73 74 5f 71 75 6f 74 61  )\src\test_quota
86b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
86c0: 63 5c 74 65 73 74 5f 72 74 72 65 65 2e 63 20 5c  c\test_rtree.c \
86d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
86e0: 73 74 5f 73 63 68 65 6d 61 2e 63 20 5c 0a 20 20  st_schema.c \.  
86f0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
8700: 73 65 72 76 65 72 2e 63 20 5c 0a 20 20 24 28 54  server.c \.  $(T
8710: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 75 70  OP)\src\test_sup
8720: 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20 20 24 28 54  erlock.c \.  $(T
8730: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 79 73  OP)\src\test_sys
8740: 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  call.c \.  $(TOP
8750: 29 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61  )\src\test_tclva
8760: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
8770: 72 63 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63  rc\test_thread.c
8780: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8790: 74 65 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24  test_vfs.c \.  $
87a0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77  (TOP)\src\test_w
87b0: 69 6e 64 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24  indirent.c \.  $
87c0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77  (TOP)\src\test_w
87d0: 73 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sd.c \.  $(TOP)\
87e0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 65  ext\fts3\fts3_te
87f0: 72 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  rm.c \.  $(TOP)\
8800: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 65  ext\fts3\fts3_te
8810: 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  st.c \.  $(TOP)\
8820: 65 78 74 5c 72 62 75 5c 74 65 73 74 5f 72 62 75  ext\rbu\test_rbu
8830: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8840: 74 5c 73 65 73 73 69 6f 6e 5c 74 65 73 74 5f 73  t\session\test_s
8850: 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 53 74 61 74  ession.c..# Stat
8860: 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 20 65 78  ically linked ex
8870: 74 65 6e 73 69 6f 6e 73 2e 0a 23 0a 54 45 53 54  tensions..#.TEST
8880: 45 58 54 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  EXT = \.  $(TOP)
8890: 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61 74 63 68  \ext\misc\amatch
88a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
88b0: 74 5c 6d 69 73 63 5c 63 61 72 72 61 79 2e 63 20  t\misc\carray.c 
88c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
88d0: 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63 20 5c 0a  isc\closure.c \.
88e0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
88f0: 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24 28 54 4f  c\csv.c \.  $(TO
8900: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 76 61 6c  P)\ext\misc\eval
8910: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8920: 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20  t\misc\fileio.c 
8930: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
8940: 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a 20  isc\fuzzer.c \. 
8950: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
8960: 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20 20  \fts5_tcl.c \.  
8970: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
8980: 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20 5c  fts5_test_mi.c \
8990: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
89a0: 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f 6b  s5\fts5_test_tok
89b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
89c0: 74 5c 6d 69 73 63 5c 69 65 65 65 37 35 34 2e 63  t\misc\ieee754.c
89d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
89e0: 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e 63 20  misc\nextchar.c 
89f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
8a00: 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63  isc\percentile.c
8a10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8a20: 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a  misc\regexp.c \.
8a30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
8a40: 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24  c\series.c \.  $
8a50: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
8a60: 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28  pellfix.c \.  $(
8a70: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f  TOP)\ext\misc\to
8a80: 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  type.c \.  $(TOP
8a90: 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65  )\ext\misc\whole
8aa0: 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 53 6f 75 72  number.c..# Sour
8ab0: 63 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20 6c  ce code to the l
8ac0: 69 62 72 61 72 79 20 66 69 6c 65 73 20 6e 65 65  ibrary files nee
8ad0: 64 65 64 20 62 79 20 74 68 65 20 74 65 73 74 20  ded by the test 
8ae0: 66 69 78 74 75 72 65 0a 23 20 28 6e 6f 6e 2d 61  fixture.# (non-a
8af0: 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 0a 23 0a 54  malgamation).#.T
8b00: 45 53 54 53 52 43 32 20 3d 20 5c 0a 20 20 24 28  ESTSRC2 = \.  $(
8b10: 53 52 43 30 30 29 20 5c 0a 20 20 24 28 53 52 43  SRC00) \.  $(SRC
8b20: 30 31 29 20 5c 0a 20 20 24 28 53 52 43 30 36 29  01) \.  $(SRC06)
8b30: 20 5c 0a 20 20 24 28 53 52 43 30 37 29 20 5c 0a   \.  $(SRC07) \.
8b40: 20 20 24 28 53 52 43 31 30 29 20 5c 0a 20 20 24    $(SRC10) \.  $
8b50: 28 54 4f 50 29 5c 65 78 74 5c 61 73 79 6e 63 5c  (TOP)\ext\async\
8b60: 73 71 6c 69 74 65 33 61 73 79 6e 63 2e 63 0a 0a  sqlite3async.c..
8b70: 23 20 48 65 61 64 65 72 20 66 69 6c 65 73 20 75  # Header files u
8b80: 73 65 64 20 62 79 20 61 6c 6c 20 6c 69 62 72 61  sed by all libra
8b90: 72 79 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e  ry source files.
8ba0: 0a 23 0a 48 44 52 20 3d 20 5c 0a 20 20 20 24 28  .#.HDR = \.   $(
8bb0: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68  TOP)\src\btree.h
8bc0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
8bd0: 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20  \btreeInt.h \.  
8be0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68   $(TOP)\src\hash
8bf0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
8c00: 72 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20  rc\hwtime.h \.  
8c10: 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c   keywordhash.h \
8c20: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  .   $(TOP)\src\m
8c30: 73 76 63 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  svc.h \.   $(TOP
8c40: 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a  )\src\mutex.h \.
8c50: 20 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20     opcodes.h \. 
8c60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e    $(TOP)\src\os.
8c70: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
8c80: 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a  c\os_common.h \.
8c90: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73     $(TOP)\src\os
8ca0: 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 20 24 28  _setup.h \.   $(
8cb0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e  TOP)\src\os_win.
8cc0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
8cd0: 63 5c 70 61 67 65 72 2e 68 20 5c 0a 20 20 20 24  c\pager.h \.   $
8ce0: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
8cf0: 2e 68 20 5c 0a 20 20 20 70 61 72 73 65 2e 68 20  .h \.   parse.h 
8d00: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
8d10: 70 72 61 67 6d 61 2e 68 20 5c 0a 20 20 20 24 28  pragma.h \.   $(
8d20: 53 51 4c 49 54 45 33 48 29 20 5c 0a 20 20 20 73  SQLITE3H) \.   s
8d30: 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 20  qlite3ext.h \.  
8d40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69   $(TOP)\src\sqli
8d50: 74 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54  teInt.h \.   $(T
8d60: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69  OP)\src\sqliteLi
8d70: 6d 69 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  mit.h \.   $(TOP
8d80: 29 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20  )\src\vdbe.h \. 
8d90: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
8da0: 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  eInt.h \.   $(TO
8db0: 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73 2e 68  P)\src\vxworks.h
8dc0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
8dd0: 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 48  \whereInt.h..# H
8de0: 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 65 64  eader files used
8df0: 20 62 79 20 65 78 74 65 6e 73 69 6f 6e 73 0a 23   by extensions.#
8e00: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
8e10: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
8e20: 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20 5c  xt\fts1\fts1.h \
8e30: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8e40: 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20 5c  s1\fts1_hash.h \
8e50: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8e60: 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65  s1\fts1_tokenize
8e70: 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45  r.h.EXTHDR = $(E
8e80: 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50  XTHDR) \.  $(TOP
8e90: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e  )\ext\fts2\fts2.
8ea0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
8eb0: 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e  \fts2\fts2_hash.
8ec0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
8ed0: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
8ee0: 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20  izer.h.EXTHDR = 
8ef0: 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28  $(EXTHDR) \.  $(
8f00: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8f10: 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s3.h \.  $(TOP)\
8f20: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74  ext\fts3\fts3Int
8f30: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
8f40: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
8f50: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
8f60: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
8f70: 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d  nizer.h.EXTHDR =
8f80: 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24   $(EXTHDR) \.  $
8f90: 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c  (TOP)\ext\rtree\
8fa0: 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d  rtree.h.EXTHDR =
8fb0: 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24   $(EXTHDR) \.  $
8fc0: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71  (TOP)\ext\icu\sq
8fd0: 6c 69 74 65 69 63 75 2e 68 0a 45 58 54 48 44 52  liteicu.h.EXTHDR
8fe0: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. 
8ff0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
9000: 65 5c 73 71 6c 69 74 65 33 72 74 72 65 65 2e 68  e\sqlite3rtree.h
9010: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
9020: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
9030: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
9040: 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 65  e3session.h..# e
9050: 78 65 63 75 74 61 62 6c 65 73 20 6e 65 65 64 65  xecutables neede
9060: 64 20 66 6f 72 20 74 65 73 74 69 6e 67 0a 23 0a  d for testing.#.
9070: 54 45 53 54 50 52 4f 47 53 20 3d 20 5c 0a 20 20  TESTPROGS = \.  
9080: 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
9090: 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 45 58 45  \.  $(SQLITE3EXE
90a0: 29 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f 61 6e  ) \.  sqlite3_an
90b0: 61 6c 79 7a 65 72 2e 65 78 65 20 5c 0a 20 20 73  alyzer.exe \.  s
90c0: 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20 20 64  qldiff.exe \.  d
90d0: 62 68 61 73 68 2e 65 78 65 0a 0a 23 20 44 61 74  bhash.exe..# Dat
90e0: 61 62 61 73 65 73 20 63 6f 6e 74 61 69 6e 69 6e  abases containin
90f0: 67 20 66 75 7a 7a 65 72 20 74 65 73 74 20 63 61  g fuzzer test ca
9100: 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54 41 20 3d  ses.#.FUZZDATA =
9110: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test
9120: 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 20 5c 0a  \fuzzdata1.db \.
9130: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu
9140: 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a 20 20 24  zzdata2.db \.  $
9150: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
9160: 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata3.db \.  $(TO
9170: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
9180: 34 2e 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  4.db.# <</mark>>
9190: 0a 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 63  ..# Additional c
91a0: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
91b0: 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 2e 20 20  for the shell.  
91c0: 54 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65  These are only e
91d0: 66 66 65 63 74 69 76 65 0a 23 20 77 68 65 6e 20  ffective.# when 
91e0: 74 68 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74  the shell is not
91f0: 20 62 65 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c   being dynamical
9200: 6c 79 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46  ly linked..#.!IF
9210: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL
9220: 29 3d 3d 30 20 26 26 20 24 28 46 4f 52 5f 57 49  )==0 && $(FOR_WI
9230: 4e 31 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f  N10)==0.SHELL_CO
9240: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53  MPILE_OPTS = $(S
9250: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
9260: 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 48 45 4c  S) -DSQLITE_SHEL
9270: 4c 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45  L_JSON1 -DSQLITE
9280: 5f 45 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 53  _ENABLE_FTS4 -DS
9290: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50  QLITE_ENABLE_EXP
92a0: 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 0a 21 45  LAIN_COMMENTS.!E
92b0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
92c0: 0a 23 20 45 78 74 72 61 20 63 6f 6d 70 69 6c 65  .# Extra compile
92d0: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 76 61  r options for va
92e0: 72 69 6f 75 73 20 74 65 73 74 20 74 6f 6f 6c 73  rious test tools
92f0: 2e 0a 23 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d  ..#.MPTESTER_COM
9300: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51  PILE_OPTS = -DSQ
9310: 4c 49 54 45 5f 53 48 45 4c 4c 5f 4a 53 4f 4e 31  LITE_SHELL_JSON1
9320: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
9330: 5f 46 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c  _FTS5.FUZZERSHEL
9340: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  L_COMPILE_OPTS =
9350: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
9360: 5f 4a 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b  _JSON1.FUZZCHECK
9370: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS = 
9380: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
9390: 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45  JSON1 -DSQLITE_E
93a0: 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 35 0a 0a 23  NABLE_MEMSYS5..#
93b0: 20 53 74 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e   Standard option
93c0: 73 20 74 6f 20 74 65 73 74 66 69 78 74 75 72 65  s to testfixture
93d0: 2e 0a 23 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d  ..#.TESTOPTS = -
93e0: 2d 76 65 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d  -verbose=file --
93f0: 6f 75 74 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e  output=test-out.
9400: 74 78 74 0a 0a 23 20 45 78 74 72 61 20 74 61 72  txt..# Extra tar
9410: 67 65 74 73 20 66 6f 72 20 74 68 65 20 22 61 6c  gets for the "al
9420: 6c 22 20 74 61 72 67 65 74 20 74 68 61 74 20 72  l" target that r
9430: 65 71 75 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49  equire Tcl..#.!I
9440: 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41  F $(NO_TCL)==0.A
9450: 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d  LL_TCL_TARGETS =
9460: 20 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c   libtclsqlite3.l
9470: 69 62 0a 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c  ib.!ELSE.ALL_TCL
9480: 5f 54 41 52 47 45 54 53 20 3d 0a 21 45 4e 44 49  _TARGETS =.!ENDI
9490: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
94a0: 20 54 68 69 73 20 69 73 20 74 68 65 20 64 65 66   This is the def
94b0: 61 75 6c 74 20 4d 61 6b 65 66 69 6c 65 20 74 61  ault Makefile ta
94c0: 72 67 65 74 2e 20 20 54 68 65 20 6f 62 6a 65 63  rget.  The objec
94d0: 74 73 20 6c 69 73 74 65 64 20 68 65 72 65 0a 23  ts listed here.#
94e0: 20 61 72 65 20 77 68 61 74 20 67 65 74 20 62 75   are what get bu
94f0: 69 6c 64 20 77 68 65 6e 20 79 6f 75 20 74 79 70  ild when you typ
9500: 65 20 6a 75 73 74 20 22 6d 61 6b 65 22 20 77 69  e just "make" wi
9510: 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e  th no arguments.
9520: 0a 23 0a 61 6c 6c 3a 09 64 6c 6c 20 6c 69 62 73  .#.all:.dll libs
9530: 71 6c 69 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c  qlite3.lib shell
9540: 20 24 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45   $(ALL_TCL_TARGE
9550: 54 53 29 0a 0a 23 20 44 79 6e 61 6d 69 63 20 6c  TS)..# Dynamic l
9560: 69 6e 6b 20 6c 69 62 72 61 72 79 20 73 65 63 74  ink library sect
9570: 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09 24 28 53 51  ion..#.dll:.$(SQ
9580: 4c 49 54 45 33 44 4c 4c 29 0a 0a 23 20 53 68 65  LITE3DLL)..# She
9590: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23  ll executable..#
95a0: 0a 73 68 65 6c 6c 3a 09 24 28 53 51 4c 49 54 45  .shell:.$(SQLITE
95b0: 33 45 58 45 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  3EXE)..# <<mark>
95c0: 3e 0a 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62  >.libsqlite3.lib
95d0: 3a 09 24 28 4c 49 42 4f 42 4a 29 0a 09 24 28 4c  :.$(LIBOBJ)..$(L
95e0: 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54  TLIB) $(LTLIBOPT
95f0: 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42  S) /OUT:$@ $(LIB
9600: 4f 42 4a 29 20 24 28 54 4c 49 42 53 29 0a 0a 6c  OBJ) $(TLIBS)..l
9610: 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62  ibtclsqlite3.lib
9620: 3a 09 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c  :.tclsqlite.lo l
9630: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 24  ibsqlite3.lib..$
9640: 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f  (LTLIB) $(LTLIBO
9650: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH
9660: 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71  S) /OUT:$@ tclsq
9670: 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74  lite.lo libsqlit
9680: 65 33 2e 6c 69 62 20 24 28 4c 49 42 54 43 4c 53  e3.lib $(LIBTCLS
9690: 54 55 42 29 20 24 28 54 4c 49 42 53 29 0a 23 20  TUB) $(TLIBS).# 
96a0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53 51 4c  <</mark>>..$(SQL
96b0: 49 54 45 33 44 4c 4c 29 3a 09 24 28 4c 49 42 4f  ITE3DLL):.$(LIBO
96c0: 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  BJ) $(LIBRESOBJS
96d0: 29 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45  ) $(CORE_LINK_DE
96e0: 50 29 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c  P)..$(LD) $(LDFL
96f0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
9700: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
9710: 20 2f 44 4c 4c 20 24 28 43 4f 52 45 5f 4c 49 4e   /DLL $(CORE_LIN
9720: 4b 5f 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20  K_OPTS) /OUT:$@ 
9730: 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52  $(LIBOBJ) $(LIBR
9740: 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53  ESOBJS) $(LTLIBS
9750: 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c  ) $(TLIBS)..# <<
9760: 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74 65 33  block2>>.sqlite3
9770: 2e 64 65 66 3a 09 6c 69 62 73 71 6c 69 74 65 33  .def:.libsqlite3
9780: 2e 6c 69 62 0a 09 65 63 68 6f 20 45 58 50 4f 52  .lib..echo EXPOR
9790: 54 53 20 3e 20 73 71 6c 69 74 65 33 2e 64 65 66  TS > sqlite3.def
97a0: 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 6c  ..dumpbin /all l
97b0: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 5c 0a  ibsqlite3.lib \.
97c0: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
97d0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
97e0: 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64 65  lace.tcl include
97f0: 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c 69 74   "^\s+1 _?(sqlit
9800: 65 33 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b  e3_[^@]*)(?:@\d+
9810: 29 3f 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73  )?$$" \1 \...| s
9820: 6f 72 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64  ort >> sqlite3.d
9830: 65 66 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e  ef.# <</block2>>
9840: 0a 0a 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a  ..$(SQLITE3EXE):
9850: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c  .$(TOP)\src\shel
9860: 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  l.c $(SHELL_CORE
9870: 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42  _DEP) $(LIBRESOB
9880: 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  JS) $(SHELL_CORE
9890: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 48  _SRC) $(SQLITE3H
98a0: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53  )..$(LTLINK) $(S
98b0: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
98c0: 53 29 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c  S) $(READLINE_FL
98d0: 41 47 53 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  AGS) $(TOP)\src\
98e0: 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f  shell.c $(SHELL_
98f0: 43 4f 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c  CORE_SRC) \.../l
9900: 69 6e 6b 20 24 28 53 51 4c 49 54 45 33 45 58 45  ink $(SQLITE3EXE
9910: 50 44 42 29 20 24 28 4c 44 46 4c 41 47 53 29 20  PDB) $(LDFLAGS) 
9920: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
9930: 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29  SHELL_LINK_OPTS)
9940: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24   $(LTLIBPATHS) $
9950: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c  (LIBRESOBJS) $(L
9960: 49 42 52 45 41 44 4c 49 4e 45 29 20 24 28 4c 54  IBREADLINE) $(LT
9970: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
9980: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69  # <<mark>>.sqldi
9990: 66 66 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  ff.exe:.$(TOP)\t
99a0: 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28  ool\sqldiff.c $(
99b0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
99c0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
99d0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f   $(NO_WARN) $(TO
99e0: 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e  P)\tool\sqldiff.
99f0: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
9a00: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
9a10: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62  (LTLINKOPTS)..db
9a20: 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29  hash.exe:.$(TOP)
9a30: 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24  \tool\dbhash.c $
9a40: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
9a50: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
9a60: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54  ) $(NO_WARN) $(T
9a70: 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e  OP)\tool\dbhash.
9a80: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
9a90: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
9aa0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 63  (LTLINKOPTS)..sc
9ab0: 72 75 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  rub.exe:.$(TOP)\
9ac0: 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63  ext\misc\scrub.c
9ad0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
9ae0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
9af0: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN) $
9b00: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
9b10: 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33  crub.c $(SQLITE3
9b20: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
9b30: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
9b40: 29 0a 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09 24  )..srcck1.exe:.$
9b50: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b  (TOP)\tool\srcck
9b60: 31 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f  1.c..$(BCC) $(NO
9b70: 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54  _WARN) -Fe$@ $(T
9b80: 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e  OP)\tool\srcck1.
9b90: 63 0a 0a 73 6f 75 72 63 65 74 65 73 74 3a 09 73  c..sourcetest:.s
9ba0: 72 63 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 65  rcck1.exe sqlite
9bb0: 33 2e 63 0a 09 73 72 63 63 6b 31 2e 65 78 65 20  3.c..srcck1.exe 
9bc0: 73 71 6c 69 74 65 33 2e 63 0a 0a 66 75 7a 7a 65  sqlite3.c..fuzze
9bd0: 72 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 4f  rshell.exe:.$(TO
9be0: 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68  P)\tool\fuzzersh
9bf0: 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43  ell.c $(SQLITE3C
9c00: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
9c10: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
9c20: 52 4e 29 20 24 28 46 55 5a 5a 45 52 53 48 45 4c  RN) $(FUZZERSHEL
9c30: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  L_COMPILE_OPTS) 
9c40: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a  $(TOP)\tool\fuzz
9c50: 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49  ershell.c $(SQLI
9c60: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
9c70: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
9c80: 50 54 53 29 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e  PTS)..fuzzcheck.
9c90: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74  exe:.$(TOP)\test
9ca0: 5c 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 53  \fuzzcheck.c $(S
9cb0: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
9cc0: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
9cd0: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a  $(NO_WARN) $(FUZ
9ce0: 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f  ZCHECK_COMPILE_O
9cf0: 50 54 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74  PTS) $(TOP)\test
9d00: 5c 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 53  \fuzzcheck.c $(S
9d10: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
9d20: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
9d30: 4e 4b 4f 50 54 53 29 0a 0a 6d 70 74 65 73 74 65  NKOPTS)..mpteste
9d40: 72 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d 70  r.exe:.$(TOP)\mp
9d50: 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28  test\mptest.c $(
9d60: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
9d70: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
9d80: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d 50   $(NO_WARN) $(MP
9d90: 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f  TESTER_COMPILE_O
9da0: 50 54 53 29 20 24 28 54 4f 50 29 5c 6d 70 74 65  PTS) $(TOP)\mpte
9db0: 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51  st\mptest.c $(SQ
9dc0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
9dd0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
9de0: 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53 54 31 20  KOPTS)..MPTEST1 
9df0: 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73  = mptester mptes
9e00: 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65  t.db $(TOP)\mpte
9e10: 73 74 5c 63 72 61 73 68 30 31 2e 74 65 73 74 20  st\crash01.test 
9e20: 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d 50 54 45  --repeat 20.MPTE
9e30: 53 54 32 20 3d 20 6d 70 74 65 73 74 65 72 20 6d  ST2 = mptester m
9e40: 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c  ptest.db $(TOP)\
9e50: 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77 72 69 74  mptest\multiwrit
9e60: 65 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61  e01.test --repea
9e70: 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d 70  t 20..mptest:.mp
9e80: 74 65 73 74 65 72 2e 65 78 65 0a 09 64 65 6c 20  tester.exe..del 
9e90: 2f 51 20 6d 70 74 65 73 74 2e 64 62 20 32 3e 4e  /Q mptest.db 2>N
9ea0: 55 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  UL..$(MPTEST1) -
9eb0: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c  -journalmode DEL
9ec0: 45 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20  ETE..$(MPTEST2) 
9ed0: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41  --journalmode WA
9ee0: 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d  L..$(MPTEST1) --
9ef0: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a  journalmode WAL.
9f00: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f  .$(MPTEST2) --jo
9f10: 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53  urnalmode PERSIS
9f20: 54 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d  T..$(MPTEST1) --
9f30: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53  journalmode PERS
9f40: 49 53 54 0a 09 24 28 4d 50 54 45 53 54 32 29 20  IST..$(MPTEST2) 
9f50: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52  --journalmode TR
9f60: 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53 54  UNCATE..$(MPTEST
9f70: 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65  1) --journalmode
9f80: 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54   TRUNCATE..$(MPT
9f90: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
9fa0: 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23 20 54 68  ode DELETE..# Th
9fb0: 69 73 20 74 61 72 67 65 74 20 63 72 65 61 74 65  is target create
9fc0: 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61  s a directory na
9fd0: 6d 65 64 20 22 74 73 72 63 22 20 61 6e 64 20 66  med "tsrc" and f
9fe0: 69 6c 6c 73 20 69 74 20 77 69 74 68 0a 23 20 63  ills it with.# c
9ff0: 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66 20  opies of all of 
a000: 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64  the C source cod
a010: 65 20 61 6e 64 20 68 65 61 64 65 72 20 66 69 6c  e and header fil
a020: 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 23 20 62  es needed to.# b
a030: 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 61 72 67  uild on the targ
a040: 65 74 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d 65  et system.  Some
a050: 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63 65   of the C source
a060: 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72   code and header
a070: 0a 23 20 66 69 6c 65 73 20 61 72 65 20 61 75 74  .# files are aut
a080: 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72  omatically gener
a090: 61 74 65 64 2e 20 20 54 68 69 73 20 74 61 72 67  ated.  This targ
a0a0: 65 74 20 74 61 6b 65 73 20 63 61 72 65 20 6f 66  et takes care of
a0b0: 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 75 74 6f  .# all that auto
a0c0: 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e  matic generation
a0d0: 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75 72  ..#..target_sour
a0e0: 63 65 3a 09 24 28 53 52 43 29 20 24 28 54 4f 50  ce:.$(SRC) $(TOP
a0f0: 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70  )\tool\vdbe-comp
a100: 72 65 73 73 2e 74 63 6c 20 66 74 73 35 2e 63 20  ress.tcl fts5.c 
a110: 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 09 2d 72  sqlite_tcl.h..-r
a120: 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32  mdir /Q/S tsrc 2
a130: 3e 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72  >NUL..-mkdir tsr
a140: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
a150: 53 52 43 30 30 29 29 20 64 6f 20 63 6f 70 79 20  SRC00)) do copy 
a160: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
a170: 25 69 20 69 6e 20 28 24 28 53 52 43 30 31 29 29  %i in ($(SRC01))
a180: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
a190: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
a1a0: 24 28 53 52 43 30 32 29 29 20 64 6f 20 63 6f 70  $(SRC02)) do cop
a1b0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
a1c0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 33  r %i in ($(SRC03
a1d0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
a1e0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
a1f0: 20 28 24 28 53 52 43 30 34 29 29 20 64 6f 20 63   ($(SRC04)) do c
a200: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
a210: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
a220: 30 35 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  05)) do copy /Y 
a230: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
a240: 69 6e 20 28 24 28 53 52 43 30 36 29 29 20 64 6f  in ($(SRC06)) do
a250: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
a260: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
a270: 52 43 30 37 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC07)) do copy /
a280: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
a290: 69 20 69 6e 20 28 24 28 53 52 43 30 38 29 29 20  i in ($(SRC08)) 
a2a0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
a2b0: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
a2c0: 28 53 52 43 30 39 29 29 20 64 6f 20 63 6f 70 79  (SRC09)) do copy
a2d0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
a2e0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 30 29   %i in ($(SRC10)
a2f0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
a300: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
a310: 28 24 28 53 52 43 31 31 29 29 20 64 6f 20 63 6f  ($(SRC11)) do co
a320: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
a330: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31  or %i in ($(SRC1
a340: 32 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  2)) do copy /Y %
a350: 69 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20  i tsrc..copy /Y 
a360: 66 74 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70  fts5.c tsrc..cop
a370: 79 20 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63  y /Y fts5.h tsrc
a380: 0a 09 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71  ..del /Q tsrc\sq
a390: 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70  lite.h.in tsrc\p
a3a0: 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28  arse.y 2>NUL..$(
a3b0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
a3c0: 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70  )\tool\vdbe-comp
a3d0: 72 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29  ress.tcl $(OPTS)
a3e0: 20 3c 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e   < tsrc\vdbe.c >
a3f0: 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20   vdbe.new..move 
a400: 76 64 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64  vdbe.new tsrc\vd
a410: 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61  be.c..echo > .ta
a420: 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c  rget_source..sql
a430: 69 74 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f  ite3.c:..target_
a440: 73 6f 75 72 63 65 20 73 71 6c 69 74 65 33 65 78  source sqlite3ex
a450: 74 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  t.h $(TOP)\tool\
a460: 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09  mksqlite3c.tcl..
a470: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
a480: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74  OP)\tool\mksqlit
a490: 65 33 63 2e 74 63 6c 20 24 28 4d 4b 53 51 4c 49  e3c.tcl $(MKSQLI
a4a0: 54 45 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79  TE3C_ARGS)..copy
a4b0: 20 74 73 72 63 5c 73 68 65 6c 6c 2e 63 20 2e 0a   tsrc\shell.c ..
a4c0: 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74  .copy $(TOP)\ext
a4d0: 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33  \session\sqlite3
a4e0: 73 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c  session.h ...sql
a4f0: 69 74 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69  ite3-all.c:.sqli
a500: 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f  te3.c $(TOP)\too
a510: 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63  l\split-sqlite3c
a520: 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d  .tcl..$(TCLSH_CM
a530: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  D) $(TOP)\tool\s
a540: 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63  plit-sqlite3c.tc
a550: 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  l.# <</mark>>..#
a560: 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74   Rule to build t
a570: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a  he amalgamation.
a580: 23 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28  #.sqlite3.lo:.$(
a590: 53 51 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 43  SQLITE3C)..$(LTC
a5a0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
a5b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
a5c0: 24 28 53 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c  $(SQLITE3C)..# <
a5d0: 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20  <mark>>.# Rules 
a5e0: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 4c 45 4d  to build the LEM
a5f0: 4f 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65  ON compiler gene
a600: 72 61 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63  rator.#.lempar.c
a610: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65  :.$(TOP)\tool\le
a620: 6d 70 61 72 2e 63 0a 09 63 6f 70 79 20 24 28 54  mpar.c..copy $(T
a630: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e  OP)\tool\lempar.
a640: 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09  c ...lemon.exe:.
a650: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f  $(TOP)\tool\lemo
a660: 6e 2e 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28  n.c lempar.c..$(
a670: 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  BCC) $(NO_WARN) 
a680: 2d 44 61 63 63 65 73 73 3d 5f 61 63 63 65 73 73  -Daccess=_access
a690: 20 5c 0a 09 09 2d 46 65 24 40 20 24 28 54 4f 50   \...-Fe$@ $(TOP
a6a0: 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f  )\tool\lemon.c /
a6b0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
a6c0: 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24  $(NLTLINKOPTS) $
a6d0: 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23  (NLTLIBPATHS)..#
a6e0: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
a6f0: 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20  individual *.lo 
a700: 66 69 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72  files from gener
a710: 61 74 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20  ated *.c files. 
a720: 54 68 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74  This.# applies t
a730: 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65  o:.#.#     parse
a740: 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65  .lo.#     opcode
a750: 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a  s.lo.#.parse.lo:
a760: 09 70 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a  .parse.c $(HDR).
a770: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
a780: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
a790: 53 29 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f  S) -c parse.c..o
a7a0: 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64  pcodes.lo:.opcod
a7b0: 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  es.c..$(LTCOMPIL
a7c0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
a7d0: 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f 64  E_OPTS) -c opcod
a7e0: 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  es.c.# <</mark>>
a7f0: 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c  ..# Rule to buil
a800: 64 20 74 68 65 20 57 69 6e 33 32 20 72 65 73 6f  d the Win32 reso
a810: 75 72 63 65 73 20 6f 62 6a 65 63 74 20 66 69 6c  urces object fil
a820: 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52  e..#.!IF $(USE_R
a830: 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31  C)!=0.# <<block1
a840: 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  >>.$(LIBRESOBJS)
a850: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c  :.$(TOP)\src\sql
a860: 69 74 65 33 2e 72 63 20 24 28 53 51 4c 49 54 45  ite3.rc $(SQLITE
a870: 33 48 29 0a 09 65 63 68 6f 20 23 69 66 6e 64 65  3H)..echo #ifnde
a880: 66 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43  f SQLITE_RESOURC
a890: 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69  E_VERSION > sqli
a8a0: 74 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20  te3rc.h..for /F 
a8b0: 25 25 56 20 69 6e 20 28 27 74 79 70 65 20 22 24  %%V in ('type "$
a8c0: 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29  (TOP)\VERSION"')
a8d0: 20 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23   do ( \...echo #
a8e0: 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45  define SQLITE_RE
a8f0: 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25  SOURCE_VERSION %
a900: 25 56 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53  %V \....| $(TCLS
a910: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
a920: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65  ol\replace.tcl e
a930: 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c  xact . ^, >> sql
a940: 69 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65  ite3rc.h \..)..e
a950: 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71  cho #endif >> sq
a960: 6c 69 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52  lite3rc.h..$(LTR
a970: 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c  COMPILE) -fo $(L
a980: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50  IBRESOBJS) $(TOP
a990: 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63  )\src\sqlite3.rc
a9a0: 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21  .# <</block1>>.!
a9b0: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
a9c0: 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  >.# Rules to bui
a9d0: 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e  ld individual *.
a9e0: 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69  lo files from fi
a9f0: 6c 65 73 20 69 6e 20 74 68 65 20 73 72 63 20 64  les in the src d
aa00: 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65  irectory..#.alte
aa10: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src
aa20: 5c 61 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a  \alter.c $(HDR).
aa30: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
aa40: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
aa50: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
aa60: 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a  \alter.c..analyz
aa70: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
aa80: 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52  \analyze.c $(HDR
aa90: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
aaa0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
aab0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
aac0: 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74  rc\analyze.c..at
aad0: 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tach.lo:.$(TOP)\
aae0: 73 72 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48  src\attach.c $(H
aaf0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ab00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ab10: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
ab20: 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61  \src\attach.c..a
ab30: 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  uth.lo:.$(TOP)\s
ab40: 72 63 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29  rc\auth.c $(HDR)
ab50: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ab60: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ab70: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
ab80: 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70  c\auth.c..backup
ab90: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
aba0: 62 61 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a  backup.c $(HDR).
abb0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
abc0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
abd0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
abe0: 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65  \backup.c..bitve
abf0: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  c.lo:.$(TOP)\src
ac00: 5c 62 69 74 76 65 63 2e 63 20 24 28 48 44 52 29  \bitvec.c $(HDR)
ac10: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ac20: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ac30: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
ac40: 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75  c\bitvec.c..btmu
ac50: 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  tex.lo:.$(TOP)\s
ac60: 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48  rc\btmutex.c $(H
ac70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ac80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ac90: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
aca0: 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a  \src\btmutex.c..
acb0: 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  btree.lo:.$(TOP)
acc0: 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48  \src\btree.c $(H
acd0: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  DR) $(TOP)\src\p
ace0: 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50  ager.h..$(LTCOMP
acf0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ad00: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
ad10: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a  OP)\src\btree.c.
ad20: 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50  .build.lo:.$(TOP
ad30: 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28  )\src\build.c $(
ad40: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
ad50: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
ad60: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
ad70: 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63  )\src\build.c..c
ad80: 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f  allback.lo:.$(TO
ad90: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e  P)\src\callback.
ada0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
adb0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
adc0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
add0: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
ade0: 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c  ck.c..complete.l
adf0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  o:.$(TOP)\src\co
ae00: 6d 70 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a  mplete.c $(HDR).
ae10: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
ae20: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
ae30: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
ae40: 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69  \complete.c..cti
ae50: 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  me.lo:.$(TOP)\sr
ae60: 63 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29  c\ctime.c $(HDR)
ae70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ae80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ae90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
aea0: 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e  c\ctime.c..date.
aeb0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64  lo:.$(TOP)\src\d
aec0: 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ate.c $(HDR)..$(
aed0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
aee0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
aef0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61  -c $(TOP)\src\da
af00: 74 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a  te.c..dbstat.lo:
af10: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65  .$(TOP)\src\date
af20: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
af30: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
af40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
af50: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61  $(TOP)\src\dbsta
af60: 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09  t.c..delete.lo:.
af70: 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74  $(TOP)\src\delet
af80: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
af90: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
afa0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
afb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65   $(TOP)\src\dele
afc0: 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24  te.c..expr.lo:.$
afd0: 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63  (TOP)\src\expr.c
afe0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
aff0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b000: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b010: 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 0a  TOP)\src\expr.c.
b020: 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50  .fault.lo:.$(TOP
b030: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 24 28  )\src\fault.c $(
b040: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
b050: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
b060: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
b070: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a 0a 66  )\src\fault.c..f
b080: 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  key.lo:.$(TOP)\s
b090: 72 63 5c 66 6b 65 79 2e 63 20 24 28 48 44 52 29  rc\fkey.c $(HDR)
b0a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
b0b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b0c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
b0d0: 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c  c\fkey.c..func.l
b0e0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 75  o:.$(TOP)\src\fu
b0f0: 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  nc.c $(HDR)..$(L
b100: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
b110: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b120: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e  c $(TOP)\src\fun
b130: 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09  c.c..global.lo:.
b140: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61  $(TOP)\src\globa
b150: 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  l.c $(HDR)..$(LT
b160: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
b170: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b180: 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62   $(TOP)\src\glob
b190: 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24  al.c..hash.lo:.$
b1a0: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63  (TOP)\src\hash.c
b1b0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b1c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b1d0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b1e0: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 0a  TOP)\src\hash.c.
b1f0: 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f  .insert.lo:.$(TO
b200: 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20  P)\src\insert.c 
b210: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b220: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b230: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b240: 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63  OP)\src\insert.c
b250: 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24 28 54  ..legacy.lo:.$(T
b260: 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63  OP)\src\legacy.c
b270: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b280: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b290: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b2a0: 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e  TOP)\src\legacy.
b2b0: 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24  c..loadext.lo:.$
b2c0: 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78  (TOP)\src\loadex
b2d0: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
b2e0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
b2f0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b300: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64   $(TOP)\src\load
b310: 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09  ext.c..main.lo:.
b320: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e  $(TOP)\src\main.
b330: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b340: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b350: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
b360: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63  (TOP)\src\main.c
b370: 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54  ..malloc.lo:.$(T
b380: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63  OP)\src\malloc.c
b390: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b3a0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b3b0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b3c0: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e  TOP)\src\malloc.
b3d0: 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f  c..mem0.lo:.$(TO
b3e0: 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 24 28  P)\src\mem0.c $(
b3f0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
b400: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
b410: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
b420: 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65  )\src\mem0.c..me
b430: 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m1.lo:.$(TOP)\sr
b440: 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52 29 0a  c\mem1.c $(HDR).
b450: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
b460: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b470: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
b480: 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f  \mem1.c..mem2.lo
b490: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  :.$(TOP)\src\mem
b4a0: 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  2.c $(HDR)..$(LT
b4b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
b4c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b4d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32   $(TOP)\src\mem2
b4e0: 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54  .c..mem3.lo:.$(T
b4f0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 24  OP)\src\mem3.c $
b500: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
b510: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
b520: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
b530: 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d  P)\src\mem3.c..m
b540: 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  em5.lo:.$(TOP)\s
b550: 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44 52 29  rc\mem5.c $(HDR)
b560: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
b570: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b580: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
b590: 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 6a 6f 75  c\mem5.c..memjou
b5a0: 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  rnal.lo:.$(TOP)\
b5b0: 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63  src\memjournal.c
b5c0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b5d0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b5e0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b5f0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72  TOP)\src\memjour
b600: 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a  nal.c..mutex.lo:
b610: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65  .$(TOP)\src\mute
b620: 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  x.c $(HDR)..$(LT
b630: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
b640: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b650: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
b660: 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e  x.c..mutex_noop.
b670: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
b680: 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 44  utex_noop.c $(HD
b690: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
b6a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
b6b0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
b6c0: 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63  src\mutex_noop.c
b6d0: 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a  ..mutex_unix.lo:
b6e0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65  .$(TOP)\src\mute
b6f0: 78 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a  x_unix.c $(HDR).
b700: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
b710: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b720: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
b730: 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d  \mutex_unix.c..m
b740: 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 54  utex_w32.lo:.$(T
b750: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33  OP)\src\mutex_w3
b760: 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  2.c $(HDR)..$(LT
b770: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
b780: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b790: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
b7a0: 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e  x_w32.c..notify.
b7b0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6e  lo:.$(TOP)\src\n
b7c0: 6f 74 69 66 79 2e 63 20 24 28 48 44 52 29 0a 09  otify.c $(HDR)..
b7d0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
b7e0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b7f0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
b800: 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 2e  notify.c..pager.
b810: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p
b820: 61 67 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  ager.c $(HDR) $(
b830: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68  TOP)\src\pager.h
b840: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
b850: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b860: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
b870: 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 68  c\pager.c..pcach
b880: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
b890: 5c 70 63 61 63 68 65 2e 63 20 24 28 48 44 52 29  \pcache.c $(HDR)
b8a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
b8b0: 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  he.h..$(LTCOMPIL
b8c0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
b8d0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
b8e0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 0a 0a  )\src\pcache.c..
b8f0: 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 4f  pcache1.lo:.$(TO
b900: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63  P)\src\pcache1.c
b910: 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73   $(HDR) $(TOP)\s
b920: 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c  rc\pcache.h..$(L
b930: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
b940: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b950: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61  c $(TOP)\src\pca
b960: 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24  che1.c..os.lo:.$
b970: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 24  (TOP)\src\os.c $
b980: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
b990: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
b9a0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
b9b0: 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f  P)\src\os.c..os_
b9c0: 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  unix.lo:.$(TOP)\
b9d0: 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 28  src\os_unix.c $(
b9e0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
b9f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
ba00: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
ba10: 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a  )\src\os_unix.c.
ba20: 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f  .os_win.lo:.$(TO
ba30: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 20  P)\src\os_win.c 
ba40: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
ba50: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ba60: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
ba70: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63  OP)\src\os_win.c
ba80: 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28 54  ..pragma.lo:.$(T
ba90: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63  OP)\src\pragma.c
baa0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
bab0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
bac0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
bad0: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e  TOP)\src\pragma.
bae0: 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24  c..prepare.lo:.$
baf0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72  (TOP)\src\prepar
bb00: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
bb10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
bb20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
bb30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70   $(TOP)\src\prep
bb40: 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f  are.c..printf.lo
bb50: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69  :.$(TOP)\src\pri
bb60: 6e 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ntf.c $(HDR)..$(
bb70: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
bb80: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
bb90: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  -c $(TOP)\src\pr
bba0: 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c  intf.c..random.l
bbb0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 61  o:.$(TOP)\src\ra
bbc0: 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09 24  ndom.c $(HDR)..$
bbd0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
bbe0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
bbf0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72   -c $(TOP)\src\r
bc00: 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65  andom.c..resolve
bc10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
bc20: 72 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 29  resolve.c $(HDR)
bc30: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
bc40: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
bc50: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
bc60: 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77  c\resolve.c..row
bc70: 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  set.lo:.$(TOP)\s
bc80: 72 63 5c 72 6f 77 73 65 74 2e 63 20 24 28 48 44  rc\rowset.c $(HD
bc90: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
bca0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
bcb0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
bcc0: 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73 65  src\rowset.c..se
bcd0: 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lect.lo:.$(TOP)\
bce0: 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 48  src\select.c $(H
bcf0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
bd00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
bd10: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
bd20: 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a 73  \src\select.c..s
bd30: 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 29  tatus.lo:.$(TOP)
bd40: 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24 28  \src\status.c $(
bd50: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
bd60: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
bd70: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
bd80: 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 0a 0a  )\src\status.c..
bd90: 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  table.lo:.$(TOP)
bda0: 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 48  \src\table.c $(H
bdb0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
bdc0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
bdd0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
bde0: 5c 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 68  \src\table.c..th
bdf0: 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 29  reads.lo:.$(TOP)
be00: 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 24  \src\threads.c $
be10: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
be20: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
be30: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
be40: 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63  P)\src\threads.c
be50: 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24  ..tokenize.lo:.$
be60: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
be70: 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 68  ze.c keywordhash
be80: 2e 68 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .h $(HDR)..$(LTC
be90: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
bea0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
beb0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e  $(TOP)\src\token
bec0: 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 2e  ize.c..treeview.
bed0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t
bee0: 72 65 65 76 69 65 77 2e 63 20 24 28 48 44 52 29  reeview.c $(HDR)
bef0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
bf00: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
bf10: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
bf20: 63 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a 74 72  c\treeview.c..tr
bf30: 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  igger.lo:.$(TOP)
bf40: 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 24  \src\trigger.c $
bf50: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
bf60: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
bf70: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
bf80: 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63  P)\src\trigger.c
bf90: 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54  ..update.lo:.$(T
bfa0: 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63  OP)\src\update.c
bfb0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
bfc0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
bfd0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
bfe0: 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e  TOP)\src\update.
bff0: 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50  c..utf.lo:.$(TOP
c000: 29 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 48 44  )\src\utf.c $(HD
c010: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c020: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c030: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c040: 73 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 6c 2e  src\utf.c..util.
c050: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75  lo:.$(TOP)\src\u
c060: 74 69 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28  til.c $(HDR)..$(
c070: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c080: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c090: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  -c $(TOP)\src\ut
c0a0: 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a  il.c..vacuum.lo:
c0b0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75  .$(TOP)\src\vacu
c0c0: 75 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  um.c $(HDR)..$(L
c0d0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c0e0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c0f0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63  c $(TOP)\src\vac
c100: 75 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09  uum.c..vdbe.lo:.
c110: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe.
c120: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c130: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c140: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c150: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
c160: 0a 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09 24 28  ..vdbeapi.lo:.$(
c170: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69  TOP)\src\vdbeapi
c180: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c190: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c1a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c1b0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
c1c0: 70 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e 6c 6f  pi.c..vdbeaux.lo
c1d0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
c1e0: 65 61 75 78 2e 63 20 24 28 48 44 52 29 0a 09 24  eaux.c $(HDR)..$
c1f0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c200: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c210: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
c220: 64 62 65 61 75 78 2e 63 0a 0a 76 64 62 65 62 6c  dbeaux.c..vdbebl
c230: 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ob.lo:.$(TOP)\sr
c240: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 48  c\vdbeblob.c $(H
c250: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c260: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c270: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c280: 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 0a  \src\vdbeblob.c.
c290: 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54  .vdbemem.lo:.$(T
c2a0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e  OP)\src\vdbemem.
c2b0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c2c0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c2d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c2e0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65  (TOP)\src\vdbeme
c2f0: 6d 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e 6c 6f  m.c..vdbesort.lo
c300: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
c310: 65 73 6f 72 74 2e 63 20 24 28 48 44 52 29 0a 09  esort.c $(HDR)..
c320: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c330: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c340: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c350: 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 65  vdbesort.c..vdbe
c360: 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  trace.lo:.$(TOP)
c370: 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63  \src\vdbetrace.c
c380: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c390: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c3a0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c3b0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61  TOP)\src\vdbetra
c3c0: 63 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24  ce.c..vtab.lo:.$
c3d0: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63  (TOP)\src\vtab.c
c3e0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c3f0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c400: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c410: 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 0a  TOP)\src\vtab.c.
c420: 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  .wal.lo:.$(TOP)\
c430: 73 72 63 5c 77 61 6c 2e 63 20 24 28 48 44 52 29  src\wal.c $(HDR)
c440: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c450: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c460: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c470: 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e  c\wal.c..walker.
c480: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77  lo:.$(TOP)\src\w
c490: 61 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 0a 09  alker.c $(HDR)..
c4a0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c4b0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c4c0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c4d0: 77 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 65 2e  walker.c..where.
c4e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77  lo:.$(TOP)\src\w
c4f0: 68 65 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24  here.c $(HDR)..$
c500: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c510: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c520: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77   -c $(TOP)\src\w
c530: 68 65 72 65 2e 63 0a 0a 77 68 65 72 65 63 6f 64  here.c..wherecod
c540: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
c550: 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 24 28 48  \wherecode.c $(H
c560: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c570: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c580: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c590: 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63  \src\wherecode.c
c5a0: 0a 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f 3a 09  ..whereexpr.lo:.
c5b0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
c5c0: 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24  expr.c $(HDR)..$
c5d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c5e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c5f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77   -c $(TOP)\src\w
c600: 68 65 72 65 65 78 70 72 2e 63 0a 0a 74 63 6c 73  hereexpr.c..tcls
c610: 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  qlite.lo:.$(TOP)
c620: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
c630: 20 24 28 48 44 52 29 20 73 71 6c 69 74 65 5f 74   $(HDR) sqlite_t
c640: 63 6c 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  cl.h..$(LTCOMPIL
c650: 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  E) $(NO_WARN) -D
c660: 55 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 20  USE_TCL_STUBS=1 
c670: 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
c680: 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63  I$(TCLINCDIR) -c
c690: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls
c6a0: 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69  qlite.c..tclsqli
c6b0: 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54  te-shell.lo:.$(T
c6c0: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
c6d0: 65 2e 63 20 24 28 48 44 52 29 20 73 71 6c 69 74  e.c $(HDR) sqlit
c6e0: 65 5f 74 63 6c 2e 68 0a 09 24 28 4c 54 43 4f 4d  e_tcl.h..$(LTCOM
c6f0: 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN)
c700: 20 2d 44 54 43 4c 53 48 3d 31 20 2d 44 42 55 49   -DTCLSH=1 -DBUI
c710: 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43  LD_sqlite -I$(TC
c720: 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f  LINCDIR) -c $(TO
c730: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
c740: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65  .c..tclsqlite3.e
c750: 78 65 3a 09 74 63 6c 73 71 6c 69 74 65 2d 73 68  xe:.tclsqlite-sh
c760: 65 6c 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33  ell.lo $(SQLITE3
c770: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 24  C) $(SQLITE3H) $
c780: 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28  (LIBRESOBJS)..$(
c790: 4c 54 4c 49 4e 4b 29 20 24 28 53 51 4c 49 54 45  LTLINK) $(SQLITE
c7a0: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
c7b0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
c7c0: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
c7d0: 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69   /OUT:$@ tclsqli
c7e0: 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49  te-shell.lo $(LI
c7f0: 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI
c800: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20  BS) $(TLIBS)..# 
c810: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 6f  Rules to build o
c820: 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f 70 63  pcodes.c and opc
c830: 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64 65 73  odes.h.#.opcodes
c840: 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20 24 28  .c:.opcodes.h $(
c850: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
c860: 64 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48  dec.tcl..$(TCLSH
c870: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
c880: 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 20  l\mkopcodec.tcl 
c890: 6f 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70 63 6f  opcodes.h > opco
c8a0: 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 68  des.c..opcodes.h
c8b0: 3a 09 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29  :.parse.h $(TOP)
c8c0: 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28 54 4f  \src\vdbe.c $(TO
c8d0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65  P)\tool\mkopcode
c8e0: 68 2e 74 63 6c 0a 09 74 79 70 65 20 70 61 72 73  h.tcl..type pars
c8f0: 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  e.h $(TOP)\src\v
c900: 64 62 65 2e 63 20 7c 20 24 28 54 43 4c 53 48 5f  dbe.c | $(TCLSH_
c910: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
c920: 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 20 3e  \mkopcodeh.tcl >
c930: 20 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20 52 75   opcodes.h..# Ru
c940: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 70 61 72  les to build par
c950: 73 65 2e 63 20 61 6e 64 20 70 61 72 73 65 2e 68  se.c and parse.h
c960: 20 2d 20 74 68 65 20 6f 75 74 70 75 74 73 20 6f   - the outputs o
c970: 66 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72 73 65  f lemon..#.parse
c980: 2e 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70 61 72  .h:.parse.c..par
c990: 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73 72 63  se.c:.$(TOP)\src
c9a0: 5c 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65  \parse.y lemon.e
c9b0: 78 65 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61  xe $(TOP)\tool\a
c9c0: 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 0a 09 64  ddopcodes.tcl..d
c9d0: 65 6c 20 2f 51 20 70 61 72 73 65 2e 79 20 70 61  el /Q parse.y pa
c9e0: 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65  rse.h parse.h.te
c9f0: 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f 70 79 20 24  mp 2>NUL..copy $
ca00: 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e  (TOP)\src\parse.
ca10: 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65  y ....\lemon.exe
ca20: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
ca30: 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54  LAGS) $(OPT_FEAT
ca40: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54  URE_FLAGS) $(EXT
ca50: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
ca60: 24 28 4f 50 54 53 29 20 70 61 72 73 65 2e 79 0a  $(OPTS) parse.y.
ca70: 09 6d 6f 76 65 20 70 61 72 73 65 2e 68 20 70 61  .move parse.h pa
ca80: 72 73 65 2e 68 2e 74 65 6d 70 0a 09 24 28 54 43  rse.h.temp..$(TC
ca90: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
caa0: 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 73 2e  tool\addopcodes.
cab0: 74 63 6c 20 70 61 72 73 65 2e 68 2e 74 65 6d 70  tcl parse.h.temp
cac0: 20 3e 20 70 61 72 73 65 2e 68 0a 0a 24 28 53 51   > parse.h..$(SQ
cad0: 4c 49 54 45 33 48 29 3a 09 24 28 54 4f 50 29 5c  LITE3H):.$(TOP)\
cae0: 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20  src\sqlite.h.in 
caf0: 24 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73 74 2e  $(TOP)\manifest.
cb00: 75 75 69 64 20 24 28 54 4f 50 29 5c 56 45 52 53  uuid $(TOP)\VERS
cb10: 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  ION..$(TCLSH_CMD
cb20: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk
cb30: 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 24 28 54  sqlite3h.tcl $(T
cb40: 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51 4c 49  OP:\=/) > $(SQLI
cb50: 54 45 33 48 29 0a 0a 73 71 6c 69 74 65 33 65 78  TE3H)..sqlite3ex
cb60: 74 2e 68 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75  t.h:..target_sou
cb70: 72 63 65 0a 09 74 79 70 65 20 74 73 72 63 5c 73  rce..type tsrc\s
cb80: 71 6c 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28  qlite3ext.h | $(
cb90: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
cba0: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
cbb0: 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c  cl regsub "\(\*\
cbc0: 29 22 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c  )" "(SQLITE_CALL
cbd0: 42 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24  BACK *)" \...| $
cbe0: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
cbf0: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
cc00: 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a  tcl regsub "\(\*
cc10: 22 20 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41  " "(SQLITE_APICA
cc20: 4c 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65  LL *" > sqlite3e
cc30: 78 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71  xt.h..copy /Y sq
cc40: 6c 69 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c  lite3ext.h tsrc\
cc50: 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 0a 6d 6b  sqlite3ext.h..mk
cc60: 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 3a  keywordhash.exe:
cc70: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b  .$(TOP)\tool\mkk
cc80: 65 79 77 6f 72 64 68 61 73 68 2e 63 0a 09 24 28  eywordhash.c..$(
cc90: 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  BCC) $(NO_WARN) 
cca0: 2d 46 65 24 40 20 24 28 52 45 51 5f 46 45 41 54  -Fe$@ $(REQ_FEAT
ccb0: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
ccc0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
ccd0: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(EXT_FEATURE_FL
cce0: 41 47 53 29 20 24 28 4f 50 54 53 29 20 5c 0a 09  AGS) $(OPTS) \..
ccf0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b  .$(TOP)\tool\mkk
cd00: 65 79 77 6f 72 64 68 61 73 68 2e 63 20 2f 6c 69  eywordhash.c /li
cd10: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
cd20: 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e  NLTLINKOPTS) $(N
cd30: 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 6b 65 79  LTLIBPATHS)..key
cd40: 77 6f 72 64 68 61 73 68 2e 68 3a 09 24 28 54 4f  wordhash.h:.$(TO
cd50: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72  P)\tool\mkkeywor
cd60: 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79 77 6f 72  dhash.c mkkeywor
cd70: 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b  dhash.exe...\mkk
cd80: 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 20 3e  eywordhash.exe >
cd90: 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 0a 0a   keywordhash.h..
cda0: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
cdb0: 6c 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e  ld the extension
cdc0: 20 6f 62 6a 65 63 74 73 2e 0a 23 0a 69 63 75 2e   objects..#.icu.
cdd0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 69  lo:.$(TOP)\ext\i
cde0: 63 75 5c 69 63 75 2e 63 20 24 28 48 44 52 29 20  cu\icu.c $(HDR) 
cdf0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
ce00: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
ce10: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
ce20: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
ce30: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
ce40: 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 0a 0a 66  ext\icu\icu.c..f
ce50: 74 73 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ts2.lo:.$(TOP)\e
ce60: 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 24  xt\fts2\fts2.c $
ce70: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
ce80: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
ce90: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cea0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
ceb0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
cec0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
ced0: 74 73 32 2e 63 0a 0a 66 74 73 32 5f 68 61 73 68  ts2.c..fts2_hash
cee0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
cef0: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63  fts2\fts2_hash.c
cf00: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
cf10: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cf20: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cf30: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
cf40: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
cf50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
cf60: 5c 66 74 73 32 5f 68 61 73 68 2e 63 0a 0a 66 74  \fts2_hash.c..ft
cf70: 73 32 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50  s2_icu.lo:.$(TOP
cf80: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
cf90: 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45  icu.c $(HDR) $(E
cfa0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
cfb0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cfc0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
cfd0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
cfe0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
cff0: 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63  \fts2\fts2_icu.c
d000: 0a 0a 66 74 73 32 5f 70 6f 72 74 65 72 2e 6c 6f  ..fts2_porter.lo
d010: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
d020: 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20  2\fts2_porter.c 
d030: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
d040: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d050: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d060: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
d070: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
d080: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
d090: 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 0a 0a 66  fts2_porter.c..f
d0a0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f  ts2_tokenizer.lo
d0b0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
d0c0: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
d0d0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
d0e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d0f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d100: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
d110: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
d120: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
d130: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  s2\fts2_tokenize
d140: 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69  r.c..fts2_tokeni
d150: 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  zer1.lo:.$(TOP)\
d160: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
d170: 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52  kenizer1.c $(HDR
d180: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
d190: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d1a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
d1b0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
d1c0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
d1d0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
d1e0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74  tokenizer1.c..ft
d1f0: 73 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  s3.lo:.$(TOP)\ex
d200: 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 24 28  t\fts3\fts3.c $(
d210: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
d220: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d230: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d240: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
d250: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
d260: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
d270: 73 33 2e 63 0a 0a 66 74 73 33 5f 61 75 78 2e 6c  s3.c..fts3_aux.l
d280: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
d290: 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 24 28  s3\fts3_aux.c $(
d2a0: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
d2b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d2c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d2d0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
d2e0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
d2f0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
d300: 73 33 5f 61 75 78 2e 63 0a 0a 66 74 73 33 5f 65  s3_aux.c..fts3_e
d310: 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  xpr.lo:.$(TOP)\e
d320: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70  xt\fts3\fts3_exp
d330: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR) $(EXT
d340: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d350: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d360: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
d370: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
d380: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
d390: 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 0a  ts3\fts3_expr.c.
d3a0: 0a 66 74 73 33 5f 68 61 73 68 2e 6c 6f 3a 09 24  .fts3_hash.lo:.$
d3b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
d3c0: 74 73 33 5f 68 61 73 68 2e 63 20 24 28 48 44 52  ts3_hash.c $(HDR
d3d0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
d3e0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d3f0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
d400: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
d410: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
d420: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
d430: 68 61 73 68 2e 63 0a 0a 66 74 73 33 5f 69 63 75  hash.c..fts3_icu
d440: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
d450: 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20  fts3\fts3_icu.c 
d460: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
d470: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d480: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d490: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
d4a0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
d4b0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
d4c0: 66 74 73 33 5f 69 63 75 2e 63 0a 0a 66 74 73 33  fts3_icu.c..fts3
d4d0: 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a 09 24 28 54  _snippet.lo:.$(T
d4e0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
d4f0: 33 5f 73 6e 69 70 70 65 74 2e 63 20 24 28 48 44  3_snippet.c $(HD
d500: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
d510: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d520: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d530: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
d540: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
d550: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
d560: 5f 73 6e 69 70 70 65 74 2e 63 0a 0a 66 74 73 33  _snippet.c..fts3
d570: 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f  _porter.lo:.$(TO
d580: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
d590: 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29  _porter.c $(HDR)
d5a0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
d5b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d5c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
d5d0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
d5e0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
d5f0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70  \ext\fts3\fts3_p
d600: 6f 72 74 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f  orter.c..fts3_to
d610: 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f  kenizer.lo:.$(TO
d620: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
d630: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48  _tokenizer.c $(H
d640: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
d650: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d660: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d670: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
d680: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
d690: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
d6a0: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66  3_tokenizer.c..f
d6b0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c  ts3_tokenizer1.l
d6c0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
d6d0: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
d6e0: 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  r1.c $(HDR) $(EX
d6f0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
d700: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d710: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
d720: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
d730: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
d740: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
d750: 7a 65 72 31 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b  zer1.c..fts3_tok
d760: 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 3a 09 24  enize_vtab.lo:.$
d770: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
d780: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
d790: 62 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  b.c $(HDR) $(EXT
d7a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d7b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d7c0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
d7d0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
d7e0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
d7f0: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
d800: 65 5f 76 74 61 62 2e 63 0a 0a 66 74 73 33 5f 75  e_vtab.c..fts3_u
d810: 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50  nicode.lo:.$(TOP
d820: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
d830: 75 6e 69 63 6f 64 65 2e 63 20 24 28 48 44 52 29  unicode.c $(HDR)
d840: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
d850: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d860: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
d870: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
d880: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
d890: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75  \ext\fts3\fts3_u
d8a0: 6e 69 63 6f 64 65 2e 63 0a 0a 66 74 73 33 5f 75  nicode.c..fts3_u
d8b0: 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09 24 28 54 4f  nicode2.lo:.$(TO
d8c0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
d8d0: 5f 75 6e 69 63 6f 64 65 32 2e 63 20 24 28 48 44  _unicode2.c $(HD
d8e0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
d8f0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d900: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d910: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
d920: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
d930: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
d940: 5f 75 6e 69 63 6f 64 65 32 2e 63 0a 0a 66 74 73  _unicode2.c..fts
d950: 33 5f 77 72 69 74 65 2e 6c 6f 3a 09 24 28 54 4f  3_write.lo:.$(TO
d960: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
d970: 5f 77 72 69 74 65 2e 63 20 24 28 48 44 52 29 20  _write.c $(HDR) 
d980: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
d990: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d9a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
d9b0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
d9c0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
d9d0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72  ext\fts3\fts3_wr
d9e0: 69 74 65 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f 3a  ite.c..rtree.lo:
d9f0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65  .$(TOP)\ext\rtre
da00: 65 5c 72 74 72 65 65 2e 63 20 24 28 48 44 52 29  e\rtree.c $(HDR)
da10: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
da20: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
da30: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
da40: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
da50: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
da60: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
da70: 2e 63 0a 0a 73 71 6c 69 74 65 33 73 65 73 73 69  .c..sqlite3sessi
da80: 6f 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  on.lo:.$(TOP)\ex
da90: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65  t\session\sqlite
daa0: 33 73 65 73 73 69 6f 6e 2e 63 20 24 28 48 44 52  3session.c $(HDR
dab0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
dac0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
dad0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
dae0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
daf0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
db00: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71  )\ext\session\sq
db10: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 0a 0a  lite3session.c..
db20: 23 20 46 54 53 35 20 74 68 69 6e 67 73 0a 23 0a  # FTS5 things.#.
db30: 46 54 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20 20  FTS5_SRC = \.   
db40: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
db50: 66 74 73 35 2e 68 20 5c 0a 20 20 20 24 28 54 4f  fts5.h \.   $(TO
db60: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
db70: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  Int.h \.   $(TOP
db80: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
db90: 61 75 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  aux.c \.   $(TOP
dba0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
dbb0: 62 75 66 66 65 72 2e 63 20 5c 0a 20 20 20 24 28  buffer.c \.   $(
dbc0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
dbd0: 73 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24  s5_main.c \.   $
dbe0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
dbf0: 74 73 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20  ts5_config.c \. 
dc00: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
dc10: 35 5c 66 74 73 35 5f 65 78 70 72 2e 63 20 5c 0a  5\fts5_expr.c \.
dc20: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
dc30: 73 35 5c 66 74 73 35 5f 68 61 73 68 2e 63 20 5c  s5\fts5_hash.c \
dc40: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
dc50: 74 73 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e 63  ts5\fts5_index.c
dc60: 20 5c 0a 20 20 20 66 74 73 35 70 61 72 73 65 2e   \.   fts5parse.
dc70: 63 20 66 74 73 35 70 61 72 73 65 2e 68 20 5c 0a  c fts5parse.h \.
dc80: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
dc90: 73 35 5c 66 74 73 35 5f 73 74 6f 72 61 67 65 2e  s5\fts5_storage.
dca0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
dcb0: 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b 65  t\fts5\fts5_toke
dcc0: 6e 69 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f  nize.c \.   $(TO
dcd0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
dce0: 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20  _unicode2.c \.  
dcf0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
dd00: 5c 66 74 73 35 5f 76 61 72 69 6e 74 2e 63 20 5c  \fts5_varint.c \
dd10: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
dd20: 74 73 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e 63  ts5\fts5_vocab.c
dd30: 0a 0a 66 74 73 35 70 61 72 73 65 2e 63 3a 09 24  ..fts5parse.c:.$
dd40: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
dd50: 74 73 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e  ts5parse.y lemon
dd60: 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 54 4f 50  .exe..copy $(TOP
dd70: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70  )\ext\fts5\fts5p
dd80: 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f 51  arse.y ...del /Q
dd90: 20 66 74 73 35 70 61 72 73 65 2e 68 20 32 3e 4e   fts5parse.h 2>N
dda0: 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20  UL...\lemon.exe 
ddb0: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
ddc0: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55  AGS) $(OPT_FEATU
ddd0: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f  RE_FLAGS) $(EXT_
dde0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
ddf0: 28 4f 50 54 53 29 20 66 74 73 35 70 61 72 73 65  (OPTS) fts5parse
de00: 2e 79 0a 0a 66 74 73 35 70 61 72 73 65 2e 68 3a  .y..fts5parse.h:
de10: 09 66 74 73 35 70 61 72 73 65 2e 63 0a 0a 66 74  .fts5parse.c..ft
de20: 73 35 2e 63 3a 09 24 28 46 54 53 35 5f 53 52 43  s5.c:.$(FTS5_SRC
de30: 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  )..$(TCLSH_CMD) 
de40: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
de50: 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63 6c  tool\mkfts5c.tcl
de60: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78  ..copy $(TOP)\ex
de70: 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 2e 0a  t\fts5\fts5.h ..
de80: 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73 35 2e 63  .fts5.lo:.fts5.c
de90: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
dea0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
deb0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
dec0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
ded0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
dee0: 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 5f 65 78   fts5.c..fts5_ex
def0: 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48  t.lo:.fts5.c $(H
df00: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
df10: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f  (LTCOMPILE) $(NO
df20: 5f 57 41 52 4e 29 20 2d 63 20 66 74 73 35 2e 63  _WARN) -c fts5.c
df30: 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66 74 73 35  ..fts5.dll:.fts5
df40: 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24  _ext.lo..$(LD) $
df50: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
df60: 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  NKOPTS) $(LTLIBP
df70: 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a  ATHS) /DLL /OUT:
df80: 24 40 20 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a  $@ fts5_ext.lo..
df90: 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24  sqlite3rbu.lo:.$
dfa0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
dfb0: 6c 69 74 65 33 72 62 75 2e 63 20 24 28 48 44 52  lite3rbu.c $(HDR
dfc0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
dfd0: 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49  TCOMPILE) -DSQLI
dfe0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
dff0: 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65  )\ext\rbu\sqlite
e000: 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c 65 73 20  3rbu.c..# Rules 
e010: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 27 74 65  to build the 'te
e020: 73 74 66 69 78 74 75 72 65 27 20 61 70 70 6c 69  stfixture' appli
e030: 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75  cation..#.# If u
e040: 73 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d  sing the amalgam
e050: 61 74 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74  ation, use sqlit
e060: 65 33 2e 63 20 64 69 72 65 63 74 6c 79 20 74 6f  e3.c directly to
e070: 20 62 75 69 6c 64 20 74 68 65 20 74 65 73 74 0a   build the test.
e080: 23 20 66 69 78 74 75 72 65 2e 20 20 4f 74 68 65  # fixture.  Othe
e090: 72 77 69 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e  rwise link again
e0a0: 73 74 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  st libsqlite3.li
e0b0: 62 2e 20 20 28 54 68 69 73 20 64 69 73 74 69 6e  b.  (This distin
e0c0: 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73  ction is.# neces
e0d0: 73 61 72 79 20 62 65 63 61 75 73 65 20 74 68 65  sary because the
e0e0: 20 74 65 73 74 20 66 69 78 74 75 72 65 20 72 65   test fixture re
e0f0: 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73  quires non-API s
e100: 79 6d 62 6f 6c 73 20 77 68 69 63 68 20 61 72 65  ymbols which are
e110: 0a 23 20 68 69 64 64 65 6e 20 77 68 65 6e 20 74  .# hidden when t
e120: 68 65 20 6c 69 62 72 61 72 79 20 69 73 20 62 75  he library is bu
e130: 69 6c 74 20 76 69 61 20 74 68 65 20 61 6d 61 6c  ilt via the amal
e140: 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53  gamation)..#.TES
e150: 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
e160: 20 2d 44 54 43 4c 53 48 3d 31 20 2d 44 53 51 4c   -DTCLSH=1 -DSQL
e170: 49 54 45 5f 54 45 53 54 3d 31 20 2d 44 53 51 4c  ITE_TEST=1 -DSQL
e180: 49 54 45 5f 43 52 41 53 48 5f 54 45 53 54 3d 31  ITE_CRASH_TEST=1
e190: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
e1a0: 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU
e1b0: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
e1c0: 54 45 5f 53 45 52 56 45 52 3d 31 20 2d 44 53 51  TE_SERVER=1 -DSQ
e1d0: 4c 49 54 45 5f 50 52 49 56 41 54 45 3d 22 22 0a  LITE_PRIVATE="".
e1e0: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
e1f0: 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR
e200: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
e210: 45 5f 43 4f 52 45 20 24 28 4e 4f 5f 57 41 52 4e  E_CORE $(NO_WARN
e220: 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  ).TESTFIXTURE_FL
e230: 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT
e240: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
e250: 49 54 45 5f 53 45 52 49 45 53 5f 43 4f 4e 53 54  ITE_SERIES_CONST
e260: 52 41 49 4e 54 5f 56 45 52 49 46 59 3d 31 0a 54  RAINT_VERIFY=1.T
e270: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
e280: 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
e290: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
e2a0: 5f 44 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 49  _DEFAULT_PAGE_SI
e2b0: 5a 45 3d 31 30 32 34 0a 54 45 53 54 46 49 58 54  ZE=1024.TESTFIXT
e2c0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE
e2d0: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
e2e0: 20 24 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50   $(TEST_CCONV_OP
e2f0: 54 53 29 0a 0a 54 45 53 54 46 49 58 54 55 52 45  TS)..TESTFIXTURE
e300: 5f 53 52 43 30 20 3d 20 24 28 54 45 53 54 45 58  _SRC0 = $(TESTEX
e310: 54 29 20 24 28 54 45 53 54 53 52 43 32 29 0a 54  T) $(TESTSRC2).T
e320: 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 20  ESTFIXTURE_SRC1 
e330: 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28 53  = $(TESTEXT) $(S
e340: 51 4c 49 54 45 33 43 29 0a 21 49 46 20 24 28 55  QLITE3C).!IF $(U
e350: 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29  SE_AMALGAMATION)
e360: 3d 3d 30 0a 54 45 53 54 46 49 58 54 55 52 45 5f  ==0.TESTFIXTURE_
e370: 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29  SRC = $(TESTSRC)
e380: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls
e390: 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49  qlite.c $(TESTFI
e3a0: 58 54 55 52 45 5f 53 52 43 30 29 0a 21 45 4c 53  XTURE_SRC0).!ELS
e3b0: 45 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  E.TESTFIXTURE_SR
e3c0: 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24  C = $(TESTSRC) $
e3d0: 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
e3e0: 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54  ite.c $(TESTFIXT
e3f0: 55 52 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 46  URE_SRC1).!ENDIF
e400: 0a 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c  ..sqlite_tclDecl
e410: 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64  s.h:..echo #ifnd
e420: 65 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  ef SQLITE_TCLAPI
e430: 20 3e 20 73 71 6c 69 74 65 5f 74 63 6c 44 65 63   > sqlite_tclDec
e440: 6c 73 2e 68 0a 09 65 63 68 6f 20 23 20 20 64 65  ls.h..echo #  de
e450: 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c 41  fine SQLITE_TCLA
e460: 50 49 20 3e 3e 20 73 71 6c 69 74 65 5f 74 63 6c  PI >> sqlite_tcl
e470: 44 65 63 6c 73 2e 68 0a 09 65 63 68 6f 20 23 65  Decls.h..echo #e
e480: 6e 64 69 66 20 3e 3e 20 73 71 6c 69 74 65 5f 74  ndif >> sqlite_t
e490: 63 6c 44 65 63 6c 73 2e 68 0a 09 74 79 70 65 20  clDecls.h..type 
e4a0: 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c 74 63  "$(TCLINCDIR)\tc
e4b0: 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09 09 7c 20  lDecls.h" \...| 
e4c0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
e4d0: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
e4e0: 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e 28 45  .tcl regsub "^(E
e4f0: 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53 54 5c 64  XTERN(?: CONST\d
e500: 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c  +?)?\s+?[^\(]*?\
e510: 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31 20 53 51  s+?)Tcl_" "\1 SQ
e520: 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f  LITE_TCLAPI Tcl_
e530: 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  " \...| $(TCLSH_
e540: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
e550: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67  \replace.tcl reg
e560: 73 75 62 20 22 5e 28 45 58 54 45 52 4e 5c 73 2b  sub "^(EXTERN\s+
e570: 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44 29 5c 73  ?(?:void|VOID)\s
e580: 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a 22 20 22  +?)TclFreeObj" "
e590: 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  \1 SQLITE_TCLAPI
e5a0: 20 54 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09   TclFreeObj" \..
e5b0: 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
e5c0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
e5d0: 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
e5e0: 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53 51 4c 49  \(\*tcl_" "(SQLI
e5f0: 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c 5f 22  TE_TCLAPI *tcl_"
e600: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
e610: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
e620: 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
e630: 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72 65 65 4f  ub "\(\*tclFreeO
e640: 62 6a 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c  bj" "(SQLITE_TCL
e650: 41 50 49 20 2a 74 63 6c 46 72 65 65 4f 62 6a 22  API *tclFreeObj"
e660: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
e670: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
e680: 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
e690: 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49  ub "\(\*" "(SQLI
e6a0: 54 45 5f 54 43 4c 41 50 49 20 2a 22 20 3e 3e 20  TE_TCLAPI *" >> 
e6b0: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e  sqlite_tclDecls.
e6c0: 68 0a 0a 73 71 6c 69 74 65 5f 74 63 6c 2e 68 3a  h..sqlite_tcl.h:
e6d0: 09 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73  .sqlite_tclDecls
e6e0: 2e 68 0a 09 74 79 70 65 20 22 24 28 54 43 4c 49  .h..type "$(TCLI
e6f0: 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 20 7c 20  NCDIR)\tcl.h" | 
e700: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
e710: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
e720: 2e 74 63 6c 20 65 78 61 63 74 20 74 63 6c 44 65  .tcl exact tclDe
e730: 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74 63 6c  cls.h sqlite_tcl
e740: 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20 24 28  Decls.h \...| $(
e750: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
e760: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
e770: 63 6c 20 72 65 67 73 75 62 20 22 74 79 70 65 64  cl regsub "typed
e780: 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f 22 20  ef (.*?)\(Tcl_" 
e790: 22 74 79 70 65 64 65 66 20 5c 31 20 28 53 51 4c  "typedef \1 (SQL
e7a0: 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22  ITE_TCLAPI Tcl_"
e7b0: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
e7c0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
e7d0: 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
e7e0: 74 20 22 76 6f 69 64 20 28 2a 66 72 65 65 50 72  t "void (*freePr
e7f0: 6f 63 29 22 20 22 76 6f 69 64 20 28 53 51 4c 49  oc)" "void (SQLI
e800: 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 65 65 50  TE_TCLAPI *freeP
e810: 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28 54 43  roc)" \...| $(TC
e820: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
e830: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
e840: 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61 73 68   exact "Tcl_Hash
e850: 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50 72 6f  Entry *(*findPro
e860: 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74  c)" "Tcl_HashEnt
e870: 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41  ry *(SQLITE_TCLA
e880: 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 22 20 5c  PI *findProc)" \
e890: 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
e8a0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
e8b0: 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20  place.tcl exact 
e8c0: 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a  "Tcl_HashEntry *
e8d0: 28 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 22  (*createProc)" "
e8e0: 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28  Tcl_HashEntry *(
e8f0: 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 63  SQLITE_TCLAPI *c
e900: 72 65 61 74 65 50 72 6f 63 29 22 20 3e 3e 20 73  reateProc)" >> s
e910: 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 0a 74 65 73  qlite_tcl.h..tes
e920: 74 66 69 78 74 75 72 65 2e 65 78 65 3a 09 24 28  tfixture.exe:.$(
e930: 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 29  TESTFIXTURE_SRC)
e940: 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c   $(SQLITE3H) $(L
e950: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 48 44 52  IBRESOBJS) $(HDR
e960: 29 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 09  ) sqlite_tcl.h..
e970: 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49  $(LTLINK) -DSQLI
e980: 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54  TE_NO_SYNC=1 $(T
e990: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
e9a0: 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71  ) \...-DBUILD_sq
e9b0: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD
e9c0: 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46 49  IR) \...$(TESTFI
e9d0: 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f  XTURE_SRC) \.../
e9e0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
e9f0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
ea00: 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49  LTLIBPATHS) $(LI
ea10: 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI
ea20: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 65 78  BS) $(TLIBS)..ex
ea30: 74 65 6e 73 69 6f 6e 74 65 73 74 3a 09 74 65 73  tensiontest:.tes
ea40: 74 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73  tfixture.exe tes
ea50: 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40 73  tloadext.dll..@s
ea60: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
ea70: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
ea80: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
ea90: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f 61   $(TOP)\test\loa
eaa0: 64 65 78 74 2e 74 65 73 74 20 24 28 54 45 53 54  dext.test $(TEST
eab0: 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 3a  OPTS)..fulltest:
eac0: 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75  .$(TESTPROGS) fu
ead0: 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54  zztest..@set PAT
eae0: 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH);
eaf0: 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf
eb00: 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP
eb10: 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20  )\test\all.test 
eb20: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f 61  $(TESTOPTS)..soa
eb30: 6b 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f  ktest:.$(TESTPRO
eb40: 47 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24  GS)..@set PATH=$
eb50: 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P
eb60: 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
eb70: 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t
eb80: 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73 6f  est\all.test -so
eb90: 61 6b 3d 31 20 24 28 54 45 53 54 4f 50 54 53 29  ak=1 $(TESTOPTS)
eba0: 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09  ..fulltestonly:.
ebb0: 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a  $(TESTPROGS) fuz
ebc0: 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48  ztest..@set PATH
ebd0: 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
ebe0: 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
ebf0: 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP)
ec00: 5c 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74 0a  \test\full.test.
ec10: 0a 71 75 65 72 79 70 6c 61 6e 74 65 73 74 3a 09  .queryplantest:.
ec20: 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
ec30: 73 68 65 6c 6c 0a 09 40 73 65 74 20 50 41 54 48  shell..@set PATH
ec40: 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
ec50: 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
ec60: 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP)
ec70: 5c 74 65 73 74 5c 70 65 72 6d 75 74 61 74 69 6f  \test\permutatio
ec80: 6e 73 2e 74 65 73 74 20 71 75 65 72 79 70 6c 61  ns.test querypla
ec90: 6e 6e 65 72 20 24 28 54 45 53 54 4f 50 54 53 29  nner $(TESTOPTS)
eca0: 0a 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a  ..fuzztest:.fuzz
ecb0: 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a  check.exe...\fuz
ecc0: 7a 63 68 65 63 6b 2e 65 78 65 20 24 28 46 55 5a  zcheck.exe $(FUZ
ecd0: 5a 44 41 54 41 29 0a 0a 66 61 73 74 66 75 7a 7a  ZDATA)..fastfuzz
ece0: 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e  test:.fuzzcheck.
ecf0: 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b  exe...\fuzzcheck
ed00: 2e 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d  .exe --limit-mem
ed10: 20 31 30 30 4d 20 24 28 46 55 5a 5a 44 41 54 41   100M $(FUZZDATA
ed20: 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73  )..# Minimal tes
ed30: 74 69 6e 67 20 74 68 61 74 20 72 75 6e 73 20 69  ting that runs i
ed40: 6e 20 6c 65 73 73 20 74 68 61 6e 20 33 20 6d 69  n less than 3 mi
ed50: 6e 75 74 65 73 20 28 6f 6e 20 61 20 66 61 73 74  nutes (on a fast
ed60: 20 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 69 63   machine).#.quic
ed70: 6b 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75  ktest:.testfixtu
ed80: 72 65 2e 65 78 65 20 73 6f 75 72 63 65 74 65 73  re.exe sourcetes
ed90: 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  t..@set PATH=$(L
eda0: 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
edb0: 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
edc0: 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
edd0: 74 5c 65 78 74 72 61 71 75 69 63 6b 2e 74 65 73  t\extraquick.tes
ede0: 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 23  t $(TESTOPTS)..#
edf0: 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d   This is the com
ee00: 6d 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e 20 6d  mon case.  Run m
ee10: 61 6e 79 20 74 65 73 74 73 20 74 68 61 74 20 64  any tests that d
ee20: 6f 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c  o not take too l
ee30: 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67  ong,.# including
ee40: 20 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69   fuzzcheck, sqli
ee50: 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e  te3_analyzer, an
ee60: 64 20 73 71 6c 64 69 66 66 20 74 65 73 74 73 2e  d sqldiff tests.
ee70: 0a 23 0a 74 65 73 74 3a 09 24 28 54 45 53 54 50  .#.test:.$(TESTP
ee80: 52 4f 47 53 29 20 73 6f 75 72 63 65 74 65 73 74  ROGS) sourcetest
ee90: 20 66 61 73 74 66 75 7a 7a 74 65 73 74 0a 09 40   fastfuzztest..@
eea0: 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43  set PATH=$(LIBTC
eeb0: 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09  LPATH);$(PATH)..
eec0: 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  .\testfixture.ex
eed0: 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 76 65  e $(TOP)\test\ve
eee0: 72 79 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54  ryquick.test $(T
eef0: 45 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65 74  ESTOPTS)..smoket
ef00: 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53  est:.$(TESTPROGS
ef10: 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  )..@set PATH=$(L
ef20: 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
ef30: 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
ef40: 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
ef50: 74 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28 54 45  t\main.test $(TE
ef60: 53 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65 33  STOPTS)..sqlite3
ef70: 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 28 53  _analyzer.c:.$(S
ef80: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
ef90: 45 33 48 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  E3H) $(TOP)\src\
efa0: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f  tclsqlite.c $(TO
efb0: 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61  P)\tool\spaceana
efc0: 6c 2e 74 63 6c 20 73 71 6c 69 74 65 5f 74 63 6c  l.tcl sqlite_tcl
efd0: 2e 68 0a 09 65 63 68 6f 20 23 64 65 66 69 6e 65  .h..echo #define
efe0: 20 54 43 4c 53 48 20 32 20 3e 20 24 40 0a 09 65   TCLSH 2 > $@..e
eff0: 63 68 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49  cho #define SQLI
f000: 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54  TE_ENABLE_DBSTAT
f010: 5f 56 54 41 42 20 31 20 3e 3e 20 24 40 0a 09 63  _VTAB 1 >> $@..c
f020: 6f 70 79 20 24 40 20 2b 20 24 28 53 51 4c 49 54  opy $@ + $(SQLIT
f030: 45 33 43 29 20 2b 20 24 28 54 4f 50 29 5c 73 72  E3C) + $(TOP)\sr
f040: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 40  c\tclsqlite.c $@
f050: 0a 09 65 63 68 6f 20 73 74 61 74 69 63 20 63 6f  ..echo static co
f060: 6e 73 74 20 63 68 61 72 20 2a 74 63 6c 73 68 5f  nst char *tclsh_
f070: 6d 61 69 6e 5f 6c 6f 6f 70 28 76 6f 69 64 29 7b  main_loop(void){
f080: 20 3e 3e 20 24 40 0a 09 65 63 68 6f 20 73 74 61   >> $@..echo sta
f090: 74 69 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a  tic const char *
f0a0: 7a 4d 61 69 6e 6c 6f 6f 70 20 3d 20 3e 3e 20 24  zMainloop = >> $
f0b0: 40 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  @..$(TCLSH_CMD) 
f0c0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 74 6f 73 74  $(TOP)\tool\tost
f0d0: 72 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f  r.tcl $(TOP)\too
f0e0: 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c 20  l\spaceanal.tcl 
f0f0: 3e 3e 20 24 40 0a 09 65 63 68 6f 20 3b 20 72 65  >> $@..echo ; re
f100: 74 75 72 6e 20 7a 4d 61 69 6e 6c 6f 6f 70 3b 20  turn zMainloop; 
f110: 7d 20 3e 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33  } >> $@..sqlite3
f120: 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73  _analyzer.exe:.s
f130: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
f140: 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a  c $(LIBRESOBJS).
f150: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
f160: 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71  WARN) -DBUILD_sq
f170: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD
f180: 49 52 29 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c  IR) sqlite3_anal
f190: 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b  yzer.c \.../link
f1a0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
f1b0: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49  LINKOPTS) $(LTLI
f1c0: 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES
f1d0: 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20  OBJS) $(LTLIBS) 
f1e0: 24 28 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f  $(TLIBS)..testlo
f1f0: 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  adext.lo:.$(TOP)
f200: 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78  \src\test_loadex
f210: 74 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  t.c..$(LTCOMPILE
f220: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20  ) $(NO_WARN) -c 
f230: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
f240: 6c 6f 61 64 65 78 74 2e 63 0a 0a 74 65 73 74 6c  loadext.c..testl
f250: 6f 61 64 65 78 74 2e 64 6c 6c 3a 09 74 65 73 74  oadext.dll:.test
f260: 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09 24 28 4c 44  loadext.lo..$(LD
f270: 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS) $(L
f280: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL
f290: 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f  IBPATHS) /DLL /O
f2a0: 55 54 3a 24 40 20 74 65 73 74 6c 6f 61 64 65 78  UT:$@ testloadex
f2b0: 74 2e 6c 6f 0a 0a 73 68 6f 77 64 62 2e 65 78 65  t.lo..showdb.exe
f2c0: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh
f2d0: 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33  owdb.c $(SQLITE3
f2e0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
f2f0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
f300: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
f310: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
f320: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
f330: 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a  TENSION -Fe$@ \.
f340: 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ..$(TOP)\tool\sh
f350: 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33  owdb.c $(SQLITE3
f360: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
f370: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
f380: 29 0a 0a 73 68 6f 77 73 74 61 74 34 2e 65 78 65  )..showstat4.exe
f390: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh
f3a0: 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49  owstat4.c $(SQLI
f3b0: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
f3c0: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
f3d0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
f3e0: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
f3f0: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
f400: 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40  _EXTENSION -Fe$@
f410: 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool
f420: 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53  \showstat4.c $(S
f430: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
f440: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
f450: 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75  NKOPTS)..showjou
f460: 72 6e 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  rnal.exe:.$(TOP)
f470: 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61  \tool\showjourna
f480: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
f490: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
f4a0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
f4b0: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
f4c0: 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
f4d0: 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
f4e0: 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24  SION -Fe$@ \...$
f4f0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a  (TOP)\tool\showj
f500: 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54  ournal.c $(SQLIT
f510: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
f520: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
f530: 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78 65  TS)..showwal.exe
f540: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh
f550: 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45  owwal.c $(SQLITE
f560: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
f570: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
f580: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
f590: 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
f5a0: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
f5b0: 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c  XTENSION -Fe$@ \
f5c0: 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s
f5d0: 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54  howwal.c $(SQLIT
f5e0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
f5f0: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
f600: 54 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65  TS)..changeset.e
f610: 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73  xe:.$(TOP)\ext\s
f620: 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74  ession\changeset
f630: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 0a 09  .c $(SQLITE3C)..
f640: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
f650: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
f660: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
f670: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
f680: 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a  TENSION -Fe$@ \.
f690: 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73  ..$(TOP)\ext\ses
f6a0: 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63  sion\changeset.c
f6b0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
f6c0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
f6d0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73  LTLINKOPTS)..fts
f6e0: 33 76 69 65 77 2e 65 78 65 3a 09 24 28 54 4f 50  3view.exe:.$(TOP
f6f0: 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c  )\ext\fts3\tool\
f700: 66 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c  fts3view.c $(SQL
f710: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
f720: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
f730: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f740: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
f750: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
f760: 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24  D_EXTENSION -Fe$
f770: 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74  @ \...$(TOP)\ext
f780: 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76  \fts3\tool\fts3v
f790: 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iew.c $(SQLITE3C
f7a0: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
f7b0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
f7c0: 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e  ..rollback-test.
f7d0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
f7e0: 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63  \rollback-test.c
f7f0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
f800: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
f810: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
f820: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
f830: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
f840: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
f850: 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f  N -Fe$@ \...$(TO
f860: 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b  P)\tool\rollback
f870: 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  -test.c $(SQLITE
f880: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
f890: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
f8a0: 53 29 0a 0a 4c 6f 67 45 73 74 2e 65 78 65 3a 09  S)..LogEst.exe:.
f8b0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65  $(TOP)\tool\loge
f8c0: 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 48 29  st.c $(SQLITE3H)
f8d0: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
f8e0: 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54  _WARN) -Fe$@ $(T
f8f0: 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e  OP)\tool\LogEst.
f900: 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG
f910: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
f920: 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a  ..wordcount.exe:
f930: 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72  .$(TOP)\test\wor
f940: 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54  dcount.c $(SQLIT
f950: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
f960: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
f970: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f980: 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
f990: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
f9a0: 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20  EXTENSION -Fe$@ 
f9b0: 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c  \...$(TOP)\test\
f9c0: 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51  wordcount.c $(SQ
f9d0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
f9e0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
f9f0: 4b 4f 50 54 53 29 0a 0a 73 70 65 65 64 74 65 73  KOPTS)..speedtes
fa00: 74 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  t1.exe:.$(TOP)\t
fa10: 65 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63  est\speedtest1.c
fa20: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
fa30: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
fa40: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
fa50: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
fa60: 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24  D_EXTENSION -Fe$
fa70: 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73  @ \...$(TOP)\tes
fa80: 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 20 24  t\speedtest1.c $
fa90: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
faa0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
fab0: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 62 75 2e 65  LINKOPTS)..rbu.e
fac0: 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72  xe:.$(TOP)\ext\r
fad0: 62 75 5c 72 62 75 2e 63 20 24 28 54 4f 50 29 5c  bu\rbu.c $(TOP)\
fae0: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
faf0: 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  bu.c $(SQLITE3C)
fb00: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
fb10: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
fb20: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  N) -DSQLITE_ENAB
fb30: 4c 45 5f 52 42 55 20 2d 46 65 24 40 20 5c 0a 09  LE_RBU -Fe$@ \..
fb40: 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c  .$(TOP)\ext\rbu\
fb50: 72 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43  rbu.c $(SQLITE3C
fb60: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
fb70: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
fb80: 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65  ..moreclean:.cle
fb90: 61 6e 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c  an..del /Q $(SQL
fba0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
fbb0: 48 29 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61  H) 2>NUL.# <</ma
fbc0: 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65  rk>>..clean:..de
fbd0: 6c 20 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20  l /Q *.exp *.lo 
fbe0: 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62  *.ilk *.lib *.ob
fbf0: 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e  j *.ncb *.pdb *.
fc00: 73 64 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a  sdf *.suo 2>NUL.
fc10: 09 64 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e  .del /Q *.bsc *.
fc20: 64 65 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a  def *.cod *.da *
fc30: 2e 62 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67  .bb *.bbg *.vc g
fc40: 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64  mon.out 2>NUL..d
fc50: 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45  el /Q $(SQLITE3E
fc60: 58 45 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c  XE) $(SQLITE3DLL
fc70: 29 20 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e  ) Replace.exe 2>
fc80: 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09  NUL.# <<mark>>..
fc90: 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63  del /Q sqlite3.c
fca0: 20 73 71 6c 69 74 65 33 2e 68 20 32 3e 4e 55 4c   sqlite3.h 2>NUL
fcb0: 0a 09 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65 73  ..del /Q opcodes
fcc0: 2e 63 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e 4e  .c opcodes.h 2>N
fcd0: 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e  UL..del /Q lemon
fce0: 2e 2a 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73  .* lempar.c pars
fcf0: 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  e.* 2>NUL..del /
fd00: 51 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  Q mkkeywordhash.
fd10: 2a 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20  * keywordhash.h 
fd20: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6e 6f  2>NUL..del /Q no
fd30: 74 61 73 68 61 72 65 64 6c 69 62 2e 2a 20 32 3e  tasharedlib.* 2>
fd40: 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53  NUL..-rmdir /Q/S
fd50: 20 2e 64 65 70 73 20 32 3e 4e 55 4c 0a 09 2d 72   .deps 2>NUL..-r
fd60: 6d 64 69 72 20 2f 51 2f 53 20 2e 6c 69 62 73 20  mdir /Q/S .libs 
fd70: 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51  2>NUL..-rmdir /Q
fd80: 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 64  /S tsrc 2>NUL..d
fd90: 65 6c 20 2f 51 20 2e 74 61 72 67 65 74 5f 73 6f  el /Q .target_so
fda0: 75 72 63 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  urce 2>NUL..del 
fdb0: 2f 51 20 74 63 6c 73 71 6c 69 74 65 33 2e 65 78  /Q tclsqlite3.ex
fdc0: 65 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 20 73  e sqlite_tcl.h s
fdd0: 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68  qlite_tclDecls.h
fde0: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74   2>NUL..del /Q t
fdf0: 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32  estloadext.dll 2
fe00: 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73  >NUL..del /Q tes
fe10: 74 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73  tfixture.exe tes
fe20: 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  t.db 2>NUL..del 
fe30: 2f 51 20 4c 6f 67 45 73 74 2e 65 78 65 20 66 74  /Q LogEst.exe ft
fe40: 73 33 76 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62  s3view.exe rollb
fe50: 61 63 6b 2d 74 65 73 74 2e 65 78 65 20 73 68 6f  ack-test.exe sho
fe60: 77 64 62 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  wdb.exe 2>NUL..d
fe70: 65 6c 20 2f 51 20 63 68 61 6e 67 65 73 65 74 2e  el /Q changeset.
fe80: 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
fe90: 51 20 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78  Q showjournal.ex
fea0: 65 20 73 68 6f 77 73 74 61 74 34 2e 65 78 65 20  e showstat4.exe 
feb0: 73 68 6f 77 77 61 6c 2e 65 78 65 20 73 70 65 65  showwal.exe spee
fec0: 64 74 65 73 74 31 2e 65 78 65 20 32 3e 4e 55 4c  dtest1.exe 2>NUL
fed0: 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 65  ..del /Q mpteste
fee0: 72 2e 65 78 65 20 77 6f 72 64 63 6f 75 6e 74 2e  r.exe wordcount.
fef0: 65 78 65 20 72 62 75 2e 65 78 65 20 73 72 63 63  exe rbu.exe srcc
ff00: 6b 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  k1.exe 2>NUL..de
ff10: 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63 20 73  l /Q sqlite3.c s
ff20: 71 6c 69 74 65 33 2d 2a 2e 63 20 32 3e 4e 55 4c  qlite3-*.c 2>NUL
ff30: 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33  ..del /Q sqlite3
ff40: 72 63 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  rc.h 2>NUL..del 
ff50: 2f 51 20 73 68 65 6c 6c 2e 63 20 73 71 6c 69 74  /Q shell.c sqlit
ff60: 65 33 65 78 74 2e 68 20 73 71 6c 69 74 65 33 73  e3ext.h sqlite3s
ff70: 65 73 73 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a 09  ession.h 2>NUL..
ff80: 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 5f 61  del /Q sqlite3_a
ff90: 6e 61 6c 79 7a 65 72 2e 65 78 65 20 73 71 6c 69  nalyzer.exe sqli
ffa0: 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 32  te3_analyzer.c 2
ffb0: 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
ffc0: 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e 76 73 69  ite-*-output.vsi
ffd0: 78 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  x 2>NUL..del /Q 
ffe0: 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 20  fuzzershell.exe 
fff0: 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 73 71  fuzzcheck.exe sq
10000 6c 64 69 66 66 2e 65 78 65 20 64 62 68 61 73 68  ldiff.exe dbhash
10010 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del 
10020 2f 51 20 66 74 73 35 2e 2a 20 66 74 73 35 70 61  /Q fts5.* fts5pa
10030 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 23 20 3c 3c  rse.* 2>NUL.# <<
10040 2f 6d 61 72 6b 3e 3e 0a                          /mark>>.