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

Artifact b00bcf0ec7001857aea81ee39fae45d20f5f4e59:


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 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20  the source code 
1310: 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20  file to be used 
1320: 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 61  by executables a
1330: 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 65  nd libraries whe
1340: 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 74 68  n.# they need th
1350: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a  e amalgamation..
1360: 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45  #.!IFNDEF SQLITE
1370: 33 43 0a 21 49 46 20 24 28 53 50 4c 49 54 5f 41  3C.!IF $(SPLIT_A
1380: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 0a  MALGAMATION)!=0.
1390: 53 51 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74  SQLITE3C = sqlit
13a0: 65 33 2d 61 6c 6c 2e 63 0a 21 45 4c 53 45 0a 53  e3-all.c.!ELSE.S
13b0: 51 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65  QLITE3C = sqlite
13c0: 33 2e 63 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  3.c.!ENDIF.!ENDI
13d0: 46 0a 0a 23 20 53 65 74 20 74 68 65 20 69 6e 63  F..# Set the inc
13e0: 6c 75 64 65 20 63 6f 64 65 20 66 69 6c 65 20 74  lude code file t
13f0: 6f 20 62 65 20 75 73 65 64 20 62 79 20 65 78 65  o be used by exe
1400: 63 75 74 61 62 6c 65 73 20 61 6e 64 20 6c 69 62  cutables and lib
1410: 72 61 72 69 65 73 20 77 68 65 6e 0a 23 20 74 68  raries when.# th
1420: 65 79 20 6e 65 65 64 20 53 51 4c 69 74 65 2e 0a  ey need SQLite..
1430: 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45  #.!IFNDEF SQLITE
1440: 33 48 0a 53 51 4c 49 54 45 33 48 20 3d 20 73 71  3H.SQLITE3H = sq
1450: 6c 69 74 65 33 2e 68 0a 21 45 4e 44 49 46 0a 0a  lite3.h.!ENDIF..
1460: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61  # This is the na
1470: 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68  me to use for th
1480: 65 20 53 51 4c 69 74 65 20 64 79 6e 61 6d 69 63  e SQLite dynamic
1490: 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 28 44   link library (D
14a0: 4c 4c 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53  LL)..#.!IFNDEF S
14b0: 51 4c 49 54 45 33 44 4c 4c 0a 21 49 46 20 24 28  QLITE3DLL.!IF $(
14c0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51  FOR_WIN10)!=0.SQ
14d0: 4c 49 54 45 33 44 4c 4c 20 3d 20 77 69 6e 73 71  LITE3DLL = winsq
14e0: 6c 69 74 65 33 2e 64 6c 6c 0a 21 45 4c 53 45 0a  lite3.dll.!ELSE.
14f0: 53 51 4c 49 54 45 33 44 4c 4c 20 3d 20 73 71 6c  SQLITE3DLL = sql
1500: 69 74 65 33 2e 64 6c 6c 0a 21 45 4e 44 49 46 0a  ite3.dll.!ENDIF.
1510: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69  !ENDIF..# This i
1520: 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73  s the name to us
1530: 65 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65  e for the SQLite
1540: 20 69 6d 70 6f 72 74 20 6c 69 62 72 61 72 79 20   import library 
1550: 28 4c 49 42 29 2e 0a 23 0a 21 49 46 4e 44 45 46  (LIB)..#.!IFNDEF
1560: 20 53 51 4c 49 54 45 33 4c 49 42 0a 21 49 46 20   SQLITE3LIB.!IF 
1570: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
1580: 53 51 4c 49 54 45 33 4c 49 42 20 3d 20 77 69 6e  SQLITE3LIB = win
1590: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53  sqlite3.lib.!ELS
15a0: 45 0a 53 51 4c 49 54 45 33 4c 49 42 20 3d 20 73  E.SQLITE3LIB = s
15b0: 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4e 44 49  qlite3.lib.!ENDI
15c0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
15d0: 20 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20   is the name to 
15e0: 75 73 65 20 66 6f 72 20 74 68 65 20 53 51 4c 69  use for the SQLi
15f0: 74 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  te shell executa
1600: 62 6c 65 20 28 45 58 45 29 2e 0a 23 0a 21 49 46  ble (EXE)..#.!IF
1610: 4e 44 45 46 20 53 51 4c 49 54 45 33 45 58 45 0a  NDEF SQLITE3EXE.
1620: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  !IF $(FOR_WIN10)
1630: 21 3d 30 0a 53 51 4c 49 54 45 33 45 58 45 20 3d  !=0.SQLITE3EXE =
1640: 20 77 69 6e 73 71 6c 69 74 65 33 73 68 65 6c 6c   winsqlite3shell
1650: 2e 65 78 65 0a 21 45 4c 53 45 0a 53 51 4c 49 54  .exe.!ELSE.SQLIT
1660: 45 33 45 58 45 20 3d 20 73 71 6c 69 74 65 33 2e  E3EXE = sqlite3.
1670: 65 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  exe.!ENDIF.!ENDI
1680: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  F..# This is the
1690: 20 61 72 67 75 6d 65 6e 74 20 75 73 65 64 20 74   argument used t
16a0: 6f 20 73 65 74 20 74 68 65 20 70 72 6f 67 72 61  o set the progra
16b0: 6d 20 64 61 74 61 62 61 73 65 20 28 50 44 42 29  m database (PDB)
16c0: 20 66 69 6c 65 20 66 6f 72 20 74 68 65 0a 23 20   file for the.# 
16d0: 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 65 78 65  SQLite shell exe
16e0: 63 75 74 61 62 6c 65 20 28 45 58 45 29 2e 0a 23  cutable (EXE)..#
16f0: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33  .!IFNDEF SQLITE3
1700: 45 58 45 50 44 42 0a 21 49 46 20 24 28 46 4f 52  EXEPDB.!IF $(FOR
1710: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1720: 45 33 45 58 45 50 44 42 20 3d 0a 21 45 4c 53 45  E3EXEPDB =.!ELSE
1730: 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 3d  .SQLITE3EXEPDB =
1740: 20 2f 70 64 62 3a 73 71 6c 69 74 65 33 73 68 2e   /pdb:sqlite3sh.
1750: 70 64 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  pdb.!ENDIF.!ENDI
1760: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74  F..# These are t
1770: 68 65 20 22 73 74 61 6e 64 61 72 64 22 20 53 51  he "standard" SQ
1780: 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e  Lite compilation
1790: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 77 68   options used wh
17a0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
17b0: 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 73 20 70  .# the Windows p
17c0: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44  latform..#.!IFND
17d0: 45 46 20 4f 50 54 5f 46 45 41 54 55 52 45 5f 46  EF OPT_FEATURE_F
17e0: 4c 41 47 53 0a 4f 50 54 5f 46 45 41 54 55 52 45  LAGS.OPT_FEATURE
17f0: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46  _FLAGS = $(OPT_F
1800: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
1810: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54  SQLITE_ENABLE_FT
1820: 53 33 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45  S3=1.OPT_FEATURE
1830: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46  _FLAGS = $(OPT_F
1840: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
1850: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 54  SQLITE_ENABLE_RT
1860: 52 45 45 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52  REE=1.OPT_FEATUR
1870: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_
1880: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
1890: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43  DSQLITE_ENABLE_C
18a0: 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41 3d 31  OLUMN_METADATA=1
18b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
18c0: 20 61 72 65 20 74 68 65 20 22 65 78 74 65 6e 64   are the "extend
18d0: 65 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 69  ed" SQLite compi
18e0: 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75  lation options u
18f0: 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69  sed when compili
1900: 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e  ng for.# the Win
1910: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d  dows 10 platform
1920: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 45 58 54 5f  ..#.!IFNDEF EXT_
1930: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 0a 21 49  FEATURE_FLAGS.!I
1940: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!=
1950: 30 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  0.EXT_FEATURE_FL
1960: 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54  AGS = $(EXT_FEAT
1970: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
1980: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 41 54 34  ITE_ENABLE_STAT4
1990: 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46  =1.EXT_FEATURE_F
19a0: 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41  LAGS = $(EXT_FEA
19b0: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
19c0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33  LITE_ENABLE_FTS3
19d0: 5f 50 41 52 45 4e 54 48 45 53 49 53 3d 31 0a 45  _PARENTHESIS=1.E
19e0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
19f0: 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52 45   = $(EXT_FEATURE
1a00: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
1a10: 5f 45 4e 41 42 4c 45 5f 46 54 53 34 3d 31 0a 45  _ENABLE_FTS4=1.E
1a20: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
1a30: 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52 45   = $(EXT_FEATURE
1a40: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
1a50: 5f 53 59 53 54 45 4d 5f 4d 41 4c 4c 4f 43 3d 31  _SYSTEM_MALLOC=1
1a60: 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .EXT_FEATURE_FLA
1a70: 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55  GS = $(EXT_FEATU
1a80: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1a90: 54 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d  TE_OMIT_LOCALTIM
1aa0: 45 3d 31 0a 21 45 4c 53 45 0a 45 58 54 5f 46 45  E=1.!ELSE.EXT_FE
1ab0: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 0a 21 45  ATURE_FLAGS =.!E
1ac0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 23 23  NDIF.!ENDIF..###
1ad0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1ae0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1af0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b10: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23  ############.###
1b20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b30: 23 23 23 23 23 23 23 23 23 23 23 23 20 45 4e 44  ############ END
1b40: 20 4f 46 20 4f 50 54 49 4f 4e 53 20 23 23 23 23   OF OPTIONS ####
1b50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b60: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23  ############.###
1b70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1ba0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1bb0: 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a 23 20  ############..# 
1bc0: 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66  When compiling f
1bd0: 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31  or the Windows 1
1be0: 30 20 70 6c 61 74 66 6f 72 6d 2c 20 74 68 65 20  0 platform, the 
1bf0: 50 4c 41 54 46 4f 52 4d 20 6d 61 63 72 6f 20 6d  PLATFORM macro m
1c00: 75 73 74 20 62 65 20 73 65 74 0a 23 20 74 6f 20  ust be set.# to 
1c10: 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 76  an appropriate v
1c20: 61 6c 75 65 20 28 65 2e 67 2e 20 78 38 36 2c 20  alue (e.g. x86, 
1c30: 78 36 34 2c 20 61 72 6d 2c 20 61 72 6d 36 34 2c  x64, arm, arm64,
1c40: 20 65 74 63 29 2e 0a 23 0a 21 49 46 20 24 28 46   etc)..#.!IF $(F
1c50: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 46  OR_WIN10)!=0.!IF
1c60: 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 21 45  NDEF PLATFORM.!E
1c70: 52 52 4f 52 20 55 73 69 6e 67 20 74 68 65 20 46  RROR Using the F
1c80: 4f 52 5f 57 49 4e 31 30 20 6f 70 74 69 6f 6e 20  OR_WIN10 option 
1c90: 72 65 71 75 69 72 65 73 20 61 20 76 61 6c 75 65  requires a value
1ca0: 20 66 6f 72 20 50 4c 41 54 46 4f 52 4d 2e 0a 21   for PLATFORM..!
1cb0: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
1cc0: 54 68 69 73 20 61 73 73 75 6d 65 73 20 74 68 61  This assumes tha
1cd0: 74 20 4d 53 56 43 20 69 73 20 61 6c 77 61 79 73  t MSVC is always
1ce0: 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 33 32   installed in 32
1cf0: 2d 62 69 74 20 50 72 6f 67 72 61 6d 20 46 69 6c  -bit Program Fil
1d00: 65 73 20 64 69 72 65 63 74 6f 72 79 0a 23 20 61  es directory.# a
1d10: 6e 64 20 73 65 74 73 20 74 68 65 20 76 61 72 69  nd sets the vari
1d20: 61 62 6c 65 20 66 6f 72 20 75 73 65 20 69 6e 20  able for use in 
1d30: 6c 6f 63 61 74 69 6e 67 20 6f 74 68 65 72 20 33  locating other 3
1d40: 32 2d 62 69 74 20 69 6e 73 74 61 6c 6c 73 20 61  2-bit installs a
1d50: 63 63 6f 72 64 69 6e 67 6c 79 2e 0a 23 0a 50 52  ccordingly..#.PR
1d60: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d  OGRAMFILES_X86 =
1d70: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29   $(VCINSTALLDIR)
1d80: 5c 2e 2e 5c 2e 2e 0a 50 52 4f 47 52 41 4d 46 49  \..\...PROGRAMFI
1d90: 4c 45 53 5f 58 38 36 20 3d 20 24 28 50 52 4f 47  LES_X86 = $(PROG
1da0: 52 41 4d 46 49 4c 45 53 5f 58 38 36 3a 5c 5c 3d  RAMFILES_X86:\\=
1db0: 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20  \)..# Check for 
1dc0: 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 63  the predefined c
1dd0: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 43 43 2e  ommand macro CC.
1de0: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
1df0: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69  int to the compi
1e00: 6c 65 72 0a 23 20 62 69 6e 61 72 79 20 66 6f 72  ler.# binary for
1e10: 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74   the target plat
1e20: 66 6f 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20  form.  If it is 
1e30: 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d  not defined, sim
1e40: 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f  ply define it to
1e50: 0a 23 20 74 68 65 20 6c 65 67 61 63 79 20 64 65  .# the legacy de
1e60: 66 61 75 6c 74 20 76 61 6c 75 65 20 27 63 6c 2e  fault value 'cl.
1e70: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20  exe'..#.!IFNDEF 
1e80: 43 43 0a 43 43 20 3d 20 63 6c 2e 65 78 65 0a 21  CC.CC = cl.exe.!
1e90: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66  ENDIF..# Check f
1ea0: 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65  or the predefine
1eb0: 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20  d command macro 
1ec0: 43 53 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c  CSC.  This shoul
1ed0: 64 20 70 6f 69 6e 74 20 74 6f 20 61 20 77 6f 72  d point to a wor
1ee0: 6b 69 6e 67 0a 23 20 43 20 53 68 61 72 70 20 63  king.# C Sharp c
1ef0: 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 2e 20  ompiler binary. 
1f00: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65   If it is not de
1f10: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65  fined, simply de
1f20: 66 69 6e 65 20 69 74 20 74 6f 20 74 68 65 0a 23  fine it to the.#
1f30: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20   legacy default 
1f40: 76 61 6c 75 65 20 27 63 73 63 2e 65 78 65 27 2e  value 'csc.exe'.
1f50: 0a 23 0a 21 49 46 4e 44 45 46 20 43 53 43 0a 43  .#.!IFNDEF CSC.C
1f60: 53 43 20 3d 20 63 73 63 2e 65 78 65 0a 21 45 4e  SC = csc.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 63 6f 6d 6d 61 6e 64 20 6d 61 63   the command mac
1f90: 72 6f 20 4c 44 2e 20 20 54 68 69 73 20 73 68 6f  ro LD.  This sho
1fa0: 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65  uld point to the
1fb0: 20 6c 69 6e 6b 65 72 20 62 69 6e 61 72 79 20 66   linker binary f
1fc0: 6f 72 0a 23 20 74 68 65 20 74 61 72 67 65 74 20  or.# the target 
1fd0: 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74  platform.  If it
1fe0: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c   is not defined,
1ff0: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69   simply define i
2000: 74 20 74 6f 20 74 68 65 20 6c 65 67 61 63 79 0a  t to the legacy.
2010: 23 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20  # default value 
2020: 27 6c 69 6e 6b 2e 65 78 65 27 2e 0a 23 0a 21 49  'link.exe'..#.!I
2030: 46 4e 44 45 46 20 4c 44 0a 4c 44 20 3d 20 6c 69  FNDEF LD.LD = li
2040: 6e 6b 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23  nk.exe.!ENDIF..#
2050: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70   Check for the p
2060: 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e  redefined comman
2070: 64 20 6d 61 63 72 6f 20 52 43 2e 20 20 54 68 69  d macro RC.  Thi
2080: 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74  s should point t
2090: 6f 20 74 68 65 20 72 65 73 6f 75 72 63 65 0a 23  o the resource.#
20a0: 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79   compiler binary
20b0: 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 20   for the target 
20c0: 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74  platform.  If it
20d0: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c   is not defined,
20e0: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 0a 23   simply define.#
20f0: 20 69 74 20 74 6f 20 74 68 65 20 6c 65 67 61 63   it to the legac
2100: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20  y default value 
2110: 27 72 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e  'rc.exe'..#.!IFN
2120: 44 45 46 20 52 43 0a 52 43 20 3d 20 72 63 2e 65  DEF RC.RC = rc.e
2130: 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  xe.!ENDIF..# Che
2140: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20  ck for the MSVC 
2150: 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20  runtime library 
2160: 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68  path macro.  Oth
2170: 65 72 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c  erwise, this val
2180: 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c  ue will.# defaul
2190: 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64  t to the 'lib' d
21a0: 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65  irectory underne
21b0: 61 74 68 20 74 68 65 20 4d 53 56 43 20 69 6e 73  ath the MSVC ins
21c0: 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74  tallation direct
21d0: 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  ory..#.!IFNDEF C
21e0: 52 54 4c 49 42 50 41 54 48 0a 43 52 54 4c 49 42  RTLIBPATH.CRTLIB
21f0: 50 41 54 48 20 3d 20 24 28 56 43 49 4e 53 54 41  PATH = $(VCINSTA
2200: 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49  LLDIR)\lib.!ENDI
2210: 46 0a 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20  F..CRTLIBPATH = 
2220: 24 28 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d  $(CRTLIBPATH:\\=
2230: 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20  \)..# Check for 
2240: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  the command macr
2250: 6f 20 4e 43 43 2e 20 20 54 68 69 73 20 73 68 6f  o NCC.  This sho
2260: 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65  uld point to the
2270: 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79   compiler binary
2280: 0a 23 20 66 6f 72 20 74 68 65 20 70 6c 61 74 66  .# for the platf
2290: 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74  orm the compilat
22a0: 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74  ion process is t
22b0: 61 6b 69 6e 67 20 70 6c 61 63 65 20 6f 6e 2e 20  aking place on. 
22c0: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 0a 23 20   If it is not.# 
22d0: 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20  defined, simply 
22e0: 64 65 66 69 6e 65 20 69 74 20 74 6f 20 68 61 76  define it to hav
22f0: 65 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65  e the same value
2300: 20 61 73 20 74 68 65 20 43 43 20 6d 61 63 72 6f   as the CC macro
2310: 2e 20 20 57 68 65 6e 0a 23 20 63 72 6f 73 73 2d  .  When.# cross-
2320: 63 6f 6d 70 69 6c 69 6e 67 2c 20 69 74 20 69 73  compiling, it is
2330: 20 73 75 67 67 65 73 74 65 64 20 74 68 61 74 20   suggested that 
2340: 74 68 69 73 20 6d 61 63 72 6f 20 62 65 20 6d 6f  this macro be mo
2350: 64 69 66 69 65 64 20 76 69 61 20 74 68 65 20 63  dified via the c
2360: 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 28 73  ommand.# line (s
2370: 69 6e 63 65 20 6e 6d 61 6b 65 20 69 74 73 65 6c  ince nmake itsel
2380: 66 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69  f does not provi
2390: 64 65 20 61 20 62 75 69 6c 74 2d 69 6e 20 6d 65  de a built-in me
23a0: 74 68 6f 64 20 74 6f 20 67 75 65 73 73 20 69 74  thod to guess it
23b0: 29 2e 0a 23 20 46 6f 72 20 65 78 61 6d 70 6c 65  )..# For example
23c0: 2c 20 74 6f 20 75 73 65 20 74 68 65 20 78 38 36  , to use the x86
23d0: 20 63 6f 6d 70 69 6c 65 72 20 77 68 65 6e 20 63   compiler when c
23e0: 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 20 66  ross-compiling f
23f0: 6f 72 20 78 36 34 2c 20 61 20 63 6f 6d 6d 61 6e  or x64, a comman
2400: 64 0a 23 20 6c 69 6e 65 20 73 69 6d 69 6c 61 72  d.# line similar
2410: 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e   to the followin
2420: 67 20 63 6f 75 6c 64 20 62 65 20 75 73 65 64 20  g could be used 
2430: 28 61 6c 6c 20 6f 6e 20 6f 6e 65 20 6c 69 6e 65  (all on one line
2440: 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65  ):.#.#     nmake
2450: 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63   /f Makefile.msc
2460: 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20   sqlite3.dll.#  
2470: 20 20 20 20 20 20 20 20 20 58 43 4f 4d 50 49 4c           XCOMPIL
2480: 45 3d 31 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  E=1 USE_NATIVE_L
2490: 49 42 50 41 54 48 53 3d 31 0a 23 0a 23 20 41 6c  IBPATHS=1.#.# Al
24a0: 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 74 68 65  ternatively, the
24b0: 20 66 75 6c 6c 20 70 61 74 68 20 61 6e 64 20 66   full path and f
24c0: 69 6c 65 20 6e 61 6d 65 20 74 6f 20 74 68 65 20  ile name to the 
24d0: 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 20  compiler binary 
24e0: 66 6f 72 20 74 68 65 0a 23 20 70 6c 61 74 66 6f  for the.# platfo
24f0: 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69  rm the compilati
2500: 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74 61  on process is ta
2510: 6b 69 6e 67 20 70 6c 61 63 65 20 6d 61 79 20 62  king place may b
2520: 65 20 73 70 65 63 69 66 69 65 64 20 28 61 6c 6c  e specified (all
2530: 20 6f 6e 0a 23 20 6f 6e 65 20 6c 69 6e 65 29 3a   on.# one line):
2540: 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65 20 2f  .#.#     nmake /
2550: 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 73  f Makefile.msc s
2560: 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20 20 20  qlite3.dll.#    
2570: 20 20 20 20 20 20 20 22 4e 43 43 3d 22 22 25 56         "NCC=""%V
2580: 43 49 4e 53 54 41 4c 4c 44 49 52 25 5c 62 69 6e  CINSTALLDIR%\bin
2590: 5c 63 6c 2e 65 78 65 22 22 22 0a 23 20 20 20 20  \cl.exe""".#    
25a0: 20 20 20 20 20 20 20 55 53 45 5f 4e 41 54 49 56         USE_NATIV
25b0: 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a 21  E_LIBPATHS=1.#.!
25c0: 49 46 44 45 46 20 4e 43 43 0a 4e 43 43 20 3d 20  IFDEF NCC.NCC = 
25d0: 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53  $(NCC:\\=\).!ELS
25e0: 45 49 46 20 24 28 58 43 4f 4d 50 49 4c 45 29 21  EIF $(XCOMPILE)!
25f0: 3d 30 0a 4e 43 43 20 3d 20 22 24 28 56 43 49 4e  =0.NCC = "$(VCIN
2600: 53 54 41 4c 4c 44 49 52 29 5c 62 69 6e 5c 24 28  STALLDIR)\bin\$(
2610: 43 43 29 22 0a 4e 43 43 20 3d 20 24 28 4e 43 43  CC)".NCC = $(NCC
2620: 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45 0a 4e 43 43  :\\=\).!ELSE.NCC
2630: 20 3d 20 24 28 43 43 29 0a 21 45 4e 44 49 46 0a   = $(CC).!ENDIF.
2640: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
2650: 20 4d 53 56 43 20 6e 61 74 69 76 65 20 72 75 6e   MSVC native run
2660: 74 69 6d 65 20 6c 69 62 72 61 72 79 20 70 61 74  time library pat
2670: 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 77  h macro.  Otherw
2680: 69 73 65 2c 0a 23 20 74 68 69 73 20 76 61 6c 75  ise,.# this valu
2690: 65 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74  e will default t
26a0: 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69 72 65  o the 'lib' dire
26b0: 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 68  ctory underneath
26c0: 20 74 68 65 20 4d 53 56 43 0a 23 20 69 6e 73 74   the MSVC.# inst
26d0: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f  allation directo
26e0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 43  ry..#.!IFNDEF NC
26f0: 52 54 4c 49 42 50 41 54 48 0a 4e 43 52 54 4c 49  RTLIBPATH.NCRTLI
2700: 42 50 41 54 48 20 3d 20 24 28 56 43 49 4e 53 54  BPATH = $(VCINST
2710: 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44  ALLDIR)\lib.!END
2720: 49 46 0a 0a 4e 43 52 54 4c 49 42 50 41 54 48 20  IF..NCRTLIBPATH 
2730: 3d 20 24 28 4e 43 52 54 4c 49 42 50 41 54 48 3a  = $(NCRTLIBPATH:
2740: 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66  \\=\)..# Check f
2750: 6f 72 20 74 68 65 20 50 6c 61 74 66 6f 72 6d 20  or the Platform 
2760: 53 44 4b 20 6c 69 62 72 61 72 79 20 70 61 74 68  SDK library path
2770: 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69   macro.  Otherwi
2780: 73 65 2c 20 74 68 69 73 0a 23 20 76 61 6c 75 65  se, this.# value
2790: 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f   will default to
27a0: 20 74 68 65 20 27 6c 69 62 27 20 64 69 72 65 63   the 'lib' direc
27b0: 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20  tory underneath 
27c0: 74 68 65 20 57 69 6e 64 6f 77 73 0a 23 20 53 44  the Windows.# SD
27d0: 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64  K installation d
27e0: 69 72 65 63 74 6f 72 79 20 28 74 68 65 20 65 6e  irectory (the en
27f0: 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62  vironment variab
2800: 6c 65 20 75 73 65 64 20 61 70 70 65 61 72 73 0a  le used appears.
2810: 23 20 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c  # to be availabl
2820: 65 20 77 68 65 6e 20 75 73 69 6e 67 20 56 69 73  e when using Vis
2830: 75 61 6c 20 43 2b 2b 20 32 30 30 38 20 6f 72 20  ual C++ 2008 or 
2840: 6c 61 74 65 72 20 76 69 61 20 74 68 65 0a 23 20  later via the.# 
2850: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 29 2e 0a 23  command line)..#
2860: 0a 21 49 46 4e 44 45 46 20 4e 53 44 4b 4c 49 42  .!IFNDEF NSDKLIB
2870: 50 41 54 48 0a 4e 53 44 4b 4c 49 42 50 41 54 48  PATH.NSDKLIBPATH
2880: 20 3d 20 24 28 57 49 4e 44 4f 57 53 53 44 4b 44   = $(WINDOWSSDKD
2890: 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  IR)\lib.!ENDIF..
28a0: 4e 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28  NSDKLIBPATH = $(
28b0: 4e 53 44 4b 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c  NSDKLIBPATH:\\=\
28c0: 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74  )..# Check for t
28d0: 68 65 20 55 43 52 54 20 6c 69 62 72 61 72 79 20  he UCRT library 
28e0: 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68  path macro.  Oth
28f0: 65 72 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c  erwise, this val
2900: 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c  ue will.# defaul
2910: 74 20 74 6f 20 74 68 65 20 76 65 72 73 69 6f 6e  t to the version
2920: 2d 73 70 65 63 69 66 69 63 2c 20 70 6c 61 74 66  -specific, platf
2930: 6f 72 6d 2d 73 70 65 63 69 66 69 63 20 27 6c 69  orm-specific 'li
2940: 62 27 20 64 69 72 65 63 74 6f 72 79 0a 23 20 75  b' directory.# u
2950: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69  nderneath the Wi
2960: 6e 64 6f 77 73 20 53 44 4b 20 69 6e 73 74 61 6c  ndows SDK instal
2970: 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79  lation directory
2980: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 43 52 54  ..#.!IFNDEF UCRT
2990: 4c 49 42 50 41 54 48 0a 55 43 52 54 4c 49 42 50  LIBPATH.UCRTLIBP
29a0: 41 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 53  ATH = $(WINDOWSS
29b0: 44 4b 44 49 52 29 5c 6c 69 62 5c 24 28 57 49 4e  DKDIR)\lib\$(WIN
29c0: 44 4f 57 53 53 44 4b 4c 49 42 56 45 52 53 49 4f  DOWSSDKLIBVERSIO
29d0: 4e 29 5c 75 63 72 74 5c 24 28 50 4c 41 54 46 4f  N)\ucrt\$(PLATFO
29e0: 52 4d 29 0a 21 45 4e 44 49 46 0a 0a 55 43 52 54  RM).!ENDIF..UCRT
29f0: 4c 49 42 50 41 54 48 20 3d 20 24 28 55 43 52 54  LIBPATH = $(UCRT
2a00: 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23  LIBPATH:\\=\)..#
2a10: 20 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20   C compiler and 
2a20: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20  options for use 
2a30: 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63  in building exec
2a40: 75 74 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77  utables that.# w
2a50: 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 70  ill run on the p
2a60: 6c 61 74 66 6f 72 6d 20 74 68 61 74 20 69 73 20  latform that is 
2a70: 64 6f 69 6e 67 20 74 68 65 20 62 75 69 6c 64 2e  doing the build.
2a80: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c  .#.!IF $(USE_FUL
2a90: 4c 57 41 52 4e 29 21 3d 30 0a 42 43 43 20 3d 20  LWARN)!=0.BCC = 
2aa0: 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d  $(NCC) -nologo -
2ab0: 57 34 20 24 28 43 43 4f 50 54 53 29 20 24 28 42  W4 $(CCOPTS) $(B
2ac0: 43 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 42 43  CCOPTS).!ELSE.BC
2ad0: 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f  C = $(NCC) -nolo
2ae0: 67 6f 20 2d 57 33 20 24 28 43 43 4f 50 54 53 29  go -W3 $(CCOPTS)
2af0: 20 24 28 42 43 43 4f 50 54 53 29 0a 21 45 4e 44   $(BCCOPTS).!END
2b00: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 61  IF..# Check if a
2b10: 73 73 65 6d 62 6c 79 20 63 6f 64 65 20 6c 69 73  ssembly code lis
2b20: 74 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20  tings should be 
2b30: 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 74 68  generated for th
2b40: 65 20 73 6f 75 72 63 65 0a 23 20 63 6f 64 65 20  e source.# code 
2b50: 66 69 6c 65 73 20 74 6f 20 62 65 20 63 6f 6d 70  files to be comp
2b60: 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53  iled..#.!IF $(US
2b70: 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d 30 0a 42  E_LISTINGS)!=0.B
2b80: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 46 41 63  CC = $(BCC) -FAc
2b90: 73 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  s.!ENDIF..# Chec
2ba0: 6b 20 69 66 20 74 68 65 20 6e 61 74 69 76 65 20  k if the native 
2bb0: 6c 69 62 72 61 72 79 20 70 61 74 68 73 20 73 68  library paths sh
2bc0: 6f 75 6c 64 20 62 65 20 75 73 65 64 20 77 68 65  ould be used whe
2bd0: 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68  n compiling.# th
2be0: 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74  e command line t
2bf0: 6f 6f 6c 73 20 75 73 65 64 20 64 75 72 69 6e 67  ools used during
2c00: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
2c10: 20 70 72 6f 63 65 73 73 2e 20 20 49 66 0a 23 20   process.  If.# 
2c20: 73 6f 2c 20 73 65 74 20 74 68 65 20 6e 65 63 65  so, set the nece
2c30: 73 73 61 72 79 20 6d 61 63 72 6f 20 6e 6f 77 2e  ssary macro now.
2c40: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4e 41 54  .#.!IF $(USE_NAT
2c50: 49 56 45 5f 4c 49 42 50 41 54 48 53 29 21 3d 30  IVE_LIBPATHS)!=0
2c60: 0a 4e 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 22  .NLTLIBPATHS = "
2c70: 2f 4c 49 42 50 41 54 48 3a 24 28 4e 43 52 54 4c  /LIBPATH:$(NCRTL
2c80: 49 42 50 41 54 48 29 22 20 22 2f 4c 49 42 50 41  IBPATH)" "/LIBPA
2c90: 54 48 3a 24 28 4e 53 44 4b 4c 49 42 50 41 54 48  TH:$(NSDKLIBPATH
2ca0: 29 22 0a 0a 21 49 46 44 45 46 20 4e 55 43 52 54  )"..!IFDEF NUCRT
2cb0: 4c 49 42 50 41 54 48 0a 4e 55 43 52 54 4c 49 42  LIBPATH.NUCRTLIB
2cc0: 50 41 54 48 20 3d 20 24 28 4e 55 43 52 54 4c 49  PATH = $(NUCRTLI
2cd0: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4e 4c 54 4c  BPATH:\\=\).NLTL
2ce0: 49 42 50 41 54 48 53 20 3d 20 24 28 4e 4c 54 4c  IBPATHS = $(NLTL
2cf0: 49 42 50 41 54 48 53 29 20 22 2f 4c 49 42 50 41  IBPATHS) "/LIBPA
2d00: 54 48 3a 24 28 4e 55 43 52 54 4c 49 42 50 41 54  TH:$(NUCRTLIBPAT
2d10: 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  H)".!ENDIF.!ENDI
2d20: 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20  F..# C compiler 
2d30: 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20  and options for 
2d40: 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20  use in building 
2d50: 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74  executables that
2d60: 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74  .# will run on t
2d70: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
2d80: 72 6d 2e 20 20 28 42 43 43 20 61 6e 64 20 54 43  rm.  (BCC and TC
2d90: 43 20 61 72 65 20 75 73 75 61 6c 6c 79 20 74 68  C are usually th
2da0: 65 0a 23 20 73 61 6d 65 20 75 6e 6c 65 73 73 20  e.# same unless 
2db0: 79 6f 75 72 20 61 72 65 20 63 72 6f 73 73 2d 63  your are cross-c
2dc0: 6f 6d 70 69 6c 69 6e 67 2e 29 0a 23 0a 21 49 46  ompiling.).#.!IF
2dd0: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29   $(USE_FULLWARN)
2de0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 43 43 29 20  !=0.TCC = $(CC) 
2df0: 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 2d 44 49 4e  -nologo -W4 -DIN
2e00: 43 4c 55 44 45 5f 4d 53 56 43 5f 48 3d 31 20 24  CLUDE_MSVC_H=1 $
2e10: 28 43 43 4f 50 54 53 29 20 24 28 54 43 43 4f 50  (CCOPTS) $(TCCOP
2e20: 54 53 29 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20  TS).!ELSE.TCC = 
2e30: 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57  $(CC) -nologo -W
2e40: 33 20 24 28 43 43 4f 50 54 53 29 20 24 28 54 43  3 $(CCOPTS) $(TC
2e50: 43 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 54  COPTS).!ENDIF..T
2e60: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
2e70: 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49  LITE_OS_WIN=1 -I
2e80: 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54  . -I$(TOP) -I$(T
2e90: 4f 50 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63  OP)\src -fp:prec
2ea0: 69 73 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20  ise.RCC = $(RC) 
2eb0: 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d  -DSQLITE_OS_WIN=
2ec0: 31 20 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d  1 -I. -I$(TOP) -
2ed0: 49 24 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43  I$(TOP)\src $(RC
2ee0: 4f 50 54 53 29 20 24 28 52 43 43 4f 50 54 53 29  OPTS) $(RCCOPTS)
2ef0: 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 77 65 20  ..# Check if we 
2f00: 77 61 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20  want to use the 
2f10: 22 73 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e  "stdcall" callin
2f20: 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65  g convention whe
2f30: 6e 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54  n compiling..# T
2f40: 68 69 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f  his is not suppo
2f50: 72 74 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70  rted by the comp
2f60: 69 6c 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38  ilers for non-x8
2f70: 36 20 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74  6 platforms.  It
2f80: 20 73 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62   should.# also b
2f90: 65 20 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61  e noted here tha
2fa0: 74 20 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74  t building any t
2fb0: 61 72 67 65 74 20 77 69 74 68 20 74 68 65 73 65  arget with these
2fc0: 20 22 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f   "stdcall" optio
2fd0: 6e 73 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c  ns.# will most l
2fe0: 69 6b 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68  ikely fail if th
2ff0: 65 20 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73  e Tcl library is
3000: 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20   also required. 
3010: 20 54 68 69 73 20 69 73 20 64 75 65 0a 23 20 74   This is due.# t
3020: 6f 20 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69  o how the Tcl li
3030: 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20  brary functions 
3040: 61 72 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64  are declared and
3050: 20 65 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20   exported (i.e. 
3060: 77 69 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70  without.# an exp
3070: 6c 69 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f  licit calling co
3080: 6e 76 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20  nvention, which 
3090: 72 65 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63  results in "cdec
30a0: 6c 22 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  l")..#.!IF $(USE
30b0: 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20  _STDCALL)!=0 || 
30c0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
30d0: 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  !IF "$(PLATFORM)
30e0: 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43  "=="x86".CORE_CC
30f0: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3100: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3110: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 53  cdecl -DSQLITE_S
3120: 54 44 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  TDCALL=__stdcall
3130: 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54  .SHELL_CCONV_OPT
3140: 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45  S = -Gz -DSQLITE
3150: 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d  _CDECL=__cdecl -
3160: 44 53 51 4c 49 54 45 5f 53 54 44 43 41 4c 4c 3d  DSQLITE_STDCALL=
3170: 5f 5f 73 74 64 63 61 6c 6c 0a 21 45 4c 53 45 0a  __stdcall.!ELSE.
3180: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d  !IFNDEF PLATFORM
3190: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
31a0: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
31b0: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
31c0: 53 51 4c 49 54 45 5f 53 54 44 43 41 4c 4c 3d 5f  SQLITE_STDCALL=_
31d0: 5f 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43  _stdcall.SHELL_C
31e0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20  CONV_OPTS = -Gz 
31f0: 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f  -DSQLITE_CDECL=_
3200: 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f  _cdecl -DSQLITE_
3210: 53 54 44 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c  STDCALL=__stdcal
3220: 6c 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f  l.!ELSE.CORE_CCO
3230: 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f  NV_OPTS =.SHELL_
3240: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 21 45 4e  CCONV_OPTS =.!EN
3250: 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45  DIF.!ENDIF.!ELSE
3260: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3270: 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f   =.SHELL_CCONV_O
3280: 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20  PTS =.!ENDIF..# 
3290: 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69  These are additi
32a0: 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70  onal compiler op
32b0: 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74  tions used for t
32c0: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e  he core library.
32d0: 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f  .#.!IFNDEF CORE_
32e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46  COMPILE_OPTS.!IF
32f0: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL
3300: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
3310: 4e 31 30 29 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d  N10)!=0.CORE_COM
3320: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f  PILE_OPTS = $(CO
3330: 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d  RE_CCONV_OPTS) -
3340: 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65  DSQLITE_API=__de
3350: 63 6c 73 70 65 63 28 64 6c 6c 65 78 70 6f 72 74  clspec(dllexport
3360: 29 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d  ).!ELSE.CORE_COM
3370: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f  PILE_OPTS = $(CO
3380: 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21  RE_CCONV_OPTS).!
3390: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
33a0: 54 68 65 73 65 20 61 72 65 20 74 68 65 20 61 64  These are the ad
33b0: 64 69 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 73  ditional targets
33c0: 20 74 68 61 74 20 74 68 65 20 63 6f 72 65 20 6c   that the core l
33d0: 69 62 72 61 72 79 20 73 68 6f 75 6c 64 20 64 65  ibrary should de
33e0: 70 65 6e 64 20 6f 6e 0a 23 20 77 68 65 6e 20 6c  pend on.# when l
33f0: 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  inking..#.!IFNDE
3400: 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a  F CORE_LINK_DEP.
3410: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH
3420: 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e  ELL)!=0.CORE_LIN
3430: 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 45 49 46 20  K_DEP =.!ELSEIF 
3440: 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20  $(FOR_WIN10)==0 
3450: 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  || "$(PLATFORM)"
3460: 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e  =="x86".CORE_LIN
3470: 4b 5f 44 45 50 20 3d 20 73 71 6c 69 74 65 33 2e  K_DEP = sqlite3.
3480: 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c  def.!ELSE.CORE_L
3490: 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46  INK_DEP =.!ENDIF
34a0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
34b0: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20   are additional 
34c0: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75  linker options u
34d0: 73 65 64 20 66 6f 72 20 74 68 65 20 63 6f 72 65  sed for the core
34e0: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
34f0: 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50  DEF CORE_LINK_OP
3500: 54 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  TS.!IF $(DYNAMIC
3510: 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f  _SHELL)!=0.CORE_
3520: 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4c 53  LINK_OPTS =.!ELS
3530: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  EIF $(FOR_WIN10)
3540: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f  ==0 || "$(PLATFO
3550: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
3560: 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 2f 44 45  _LINK_OPTS = /DE
3570: 46 3a 73 71 6c 69 74 65 33 2e 64 65 66 0a 21 45  F:sqlite3.def.!E
3580: 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50  LSE.CORE_LINK_OP
3590: 54 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  TS =.!ENDIF.!END
35a0: 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20  IF..# These are 
35b0: 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69  additional compi
35c0: 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64  ler options used
35d0: 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65   for the shell e
35e0: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46  xecutable..#.!IF
35f0: 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 4d 50 49  NDEF SHELL_COMPI
3600: 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59  LE_OPTS.!IF $(DY
3610: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20  NAMIC_SHELL)!=0 
3620: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
3630: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  =0.SHELL_COMPILE
3640: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_
3650: 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51  CCONV_OPTS) -DSQ
3660: 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73  LITE_API=__decls
3670: 70 65 63 28 64 6c 6c 69 6d 70 6f 72 74 29 0a 21  pec(dllimport).!
3680: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  ELSE.SHELL_COMPI
3690: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL
36a0: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45  L_CCONV_OPTS).!E
36b0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
36c0: 68 69 73 20 69 73 20 74 68 65 20 73 6f 75 72 63  his is the sourc
36d0: 65 20 63 6f 64 65 20 74 68 61 74 20 74 68 65 20  e code that the 
36e0: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  shell executable
36f0: 20 73 68 6f 75 6c 64 20 62 65 20 63 6f 6d 70 69   should be compi
3700: 6c 65 64 0a 23 20 77 69 74 68 2e 0a 23 0a 21 49  led.# with..#.!I
3710: 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45  FNDEF SHELL_CORE
3720: 5f 53 52 43 0a 21 49 46 20 24 28 44 59 4e 41 4d  _SRC.!IF $(DYNAM
3730: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20  IC_SHELL)!=0 || 
3740: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
3750: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d  SHELL_CORE_SRC =
3760: 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52  .!ELSE.SHELL_COR
3770: 45 5f 53 52 43 20 3d 20 24 28 53 51 4c 49 54 45  E_SRC = $(SQLITE
3780: 33 43 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  3C).!ENDIF.!ENDI
3790: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  F..# This is the
37a0: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68   core library th
37b0: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  at the shell exe
37c0: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 64  cutable should d
37d0: 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e  epend on..#.!IFN
37e0: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  DEF SHELL_CORE_D
37f0: 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  EP.!IF $(DYNAMIC
3800: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $(
3810: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
3820: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 24  ELL_CORE_DEP = $
3830: 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 21 45 4c  (SQLITE3DLL).!EL
3840: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  SE.SHELL_CORE_DE
3850: 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  P =.!ENDIF.!ENDI
3860: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  F..# This is the
3870: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68   core library th
3880: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  at the shell exe
3890: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c  cutable should l
38a0: 69 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e  ink with..#.!IFN
38b0: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  DEF SHELL_CORE_L
38c0: 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  IB.!IF $(DYNAMIC
38d0: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $(
38e0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
38f0: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24  ELL_CORE_LIB = $
3900: 28 53 51 4c 49 54 45 33 4c 49 42 29 0a 21 45 4c  (SQLITE3LIB).!EL
3910: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49  SE.SHELL_CORE_LI
3920: 42 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  B =.!ENDIF.!ENDI
3930: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61  F..# These are a
3940: 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72  dditional linker
3950: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f   options used fo
3960: 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63  r the shell exec
3970: 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45  utable..#.!IFNDE
3980: 46 20 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54  F SHELL_LINK_OPT
3990: 53 0a 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54  S.SHELL_LINK_OPT
39a0: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  S = $(SHELL_CORE
39b0: 5f 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20  _LIB).!ENDIF..# 
39c0: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
39d0: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings 
39e0: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
39f0: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
3a00: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files 
3a10: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
3a20: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST
3a30: 49 4e 47 53 29 21 3d 30 0a 54 43 43 20 3d 20 24  INGS)!=0.TCC = $
3a40: 28 54 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (TCC) -FAcs.!END
3a50: 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69  IF..# When compi
3a60: 6c 69 6e 67 20 74 68 65 20 6c 69 62 72 61 72 79  ling the library
3a70: 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20   for use in the 
3a80: 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e  WinRT environmen
3a90: 74 2c 0a 23 20 74 68 65 20 66 6f 6c 6c 6f 77 69  t,.# the followi
3aa0: 6e 67 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20  ng compile-time 
3ab0: 6f 70 74 69 6f 6e 73 20 6d 75 73 74 20 62 65 20  options must be 
3ac0: 75 73 65 64 20 61 73 20 77 65 6c 6c 20 74 6f 0a  used as well to.
3ad0: 23 20 64 69 73 61 62 6c 65 20 75 73 65 20 6f 66  # disable use of
3ae0: 20 57 69 6e 33 32 20 41 50 49 73 20 74 68 61 74   Win32 APIs that
3af0: 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c 61 62   are not availab
3b00: 6c 65 20 61 6e 64 20 74 6f 20 65 6e 61 62 6c 65  le and to enable
3b10: 0a 23 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20  .# use of Win32 
3b20: 41 50 49 73 20 74 68 61 74 20 61 72 65 20 73 70  APIs that are sp
3b30: 65 63 69 66 69 63 20 74 6f 20 57 69 6e 64 6f 77  ecific to Window
3b40: 73 20 38 20 61 6e 64 2f 6f 72 20 57 69 6e 52 54  s 8 and/or WinRT
3b50: 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  ..#.!IF $(FOR_WI
3b60: 4e 52 54 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  NRT)!=0.TCC = $(
3b70: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53  TCC) -DSQLITE_OS
3b80: 5f 57 49 4e 52 54 3d 31 0a 52 43 43 20 3d 20 24  _WINRT=1.RCC = $
3b90: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f  (RCC) -DSQLITE_O
3ba0: 53 5f 57 49 4e 52 54 3d 31 0a 54 43 43 20 3d 20  S_WINRT=1.TCC = 
3bb0: 24 28 54 43 43 29 20 2d 44 57 49 4e 41 50 49 5f  $(TCC) -DWINAPI_
3bc0: 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41  FAMILY=WINAPI_FA
3bd0: 4d 49 4c 59 5f 41 50 50 0a 52 43 43 20 3d 20 24  MILY_APP.RCC = $
3be0: 28 52 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46  (RCC) -DWINAPI_F
3bf0: 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d  AMILY=WINAPI_FAM
3c00: 49 4c 59 5f 41 50 50 0a 21 45 4e 44 49 46 0a 0a  ILY_APP.!ENDIF..
3c10: 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74  # C compiler opt
3c20: 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 57 69 6e  ions for the Win
3c30: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d  dows 10 platform
3c40: 20 28 6e 65 65 64 73 20 4d 53 56 43 20 32 30 31   (needs MSVC 201
3c50: 35 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f  5)..#.!IF $(FOR_
3c60: 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20  WIN10)!=0.TCC = 
3c70: 24 28 54 43 43 29 20 2f 64 32 67 75 61 72 64 34  $(TCC) /d2guard4
3c80: 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50   -D_ARM_WINAPI_P
3c90: 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50  ARTITION_DESKTOP
3ca0: 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 42  _SDK_AVAILABLE.B
3cb0: 43 43 20 3d 20 24 28 42 43 43 29 20 2f 64 32 67  CC = $(BCC) /d2g
3cc0: 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e  uard4 -D_ARM_WIN
3cd0: 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45  API_PARTITION_DE
3ce0: 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41  SKTOP_SDK_AVAILA
3cf0: 42 4c 45 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c  BLE.!ENDIF..# Al
3d00: 73 6f 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 64  so, we need to d
3d10: 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20  ynamically link 
3d20: 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74 20 4d  to the correct M
3d30: 53 56 43 20 72 75 6e 74 69 6d 65 0a 23 20 77 68  SVC runtime.# wh
3d40: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
3d50: 20 57 69 6e 52 54 20 28 65 2e 67 2e 20 64 65 62   WinRT (e.g. deb
3d60: 75 67 20 6f 72 20 72 65 6c 65 61 73 65 29 20 4f  ug or release) O
3d70: 52 20 69 66 20 74 68 65 0a 23 20 55 53 45 5f 43  R if the.# USE_C
3d80: 52 54 5f 44 4c 4c 20 6f 70 74 69 6f 6e 20 69 73  RT_DLL option is
3d90: 20 73 65 74 20 74 6f 20 66 6f 72 63 65 20 64 79   set to force dy
3da0: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e  namically linkin
3db0: 67 20 74 6f 20 74 68 65 0a 23 20 4d 53 56 43 20  g to the.# MSVC 
3dc0: 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 2e  runtime library.
3dd0: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
3de0: 52 54 29 21 3d 30 20 7c 7c 20 24 28 55 53 45 5f  RT)!=0 || $(USE_
3df0: 43 52 54 5f 44 4c 4c 29 21 3d 30 0a 21 49 46 20  CRT_DLL)!=0.!IF 
3e00: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d  $(DEBUG)>1.TCC =
3e10: 20 24 28 54 43 43 29 20 2d 4d 44 64 0a 42 43 43   $(TCC) -MDd.BCC
3e20: 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 64 0a 21   = $(BCC) -MDd.!
3e30: 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54 43 43  ELSE.TCC = $(TCC
3e40: 29 20 2d 4d 44 0a 42 43 43 20 3d 20 24 28 42 43  ) -MD.BCC = $(BC
3e50: 43 29 20 2d 4d 44 0a 21 45 4e 44 49 46 0a 21 45  C) -MD.!ENDIF.!E
3e60: 4c 53 45 0a 21 49 46 20 24 28 44 45 42 55 47 29  LSE.!IF $(DEBUG)
3e70: 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >1.TCC = $(TCC) 
3e80: 2d 4d 54 64 0a 42 43 43 20 3d 20 24 28 42 43 43  -MTd.BCC = $(BCC
3e90: 29 20 2d 4d 54 64 0a 21 45 4c 53 45 0a 54 43 43  ) -MTd.!ELSE.TCC
3ea0: 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 0a 42 43   = $(TCC) -MT.BC
3eb0: 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54 0a 21  C = $(BCC) -MT.!
3ec0: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
3ed0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20 6d  <<mark>>.# The m
3ee0: 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 61 6e  ksqlite3c.tcl an
3ef0: 64 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  d mksqlite3h.tcl
3f00: 20 73 63 72 69 70 74 73 20 77 69 6c 6c 20 70 75   scripts will pu
3f10: 6c 6c 20 69 6e 0a 23 20 61 6e 79 20 65 78 74 65  ll in.# any exte
3f20: 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c  nsion header fil
3f30: 65 73 20 62 79 20 64 65 66 61 75 6c 74 2e 20 20  es by default.  
3f40: 46 6f 72 20 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61  For non-amalgama
3f50: 74 69 6f 6e 0a 23 20 62 75 69 6c 64 73 2c 20 77  tion.# builds, w
3f60: 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 73  e need to make s
3f70: 75 72 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72  ure the compiler
3f80: 20 63 61 6e 20 66 69 6e 64 20 74 68 65 73 65 2e   can find these.
3f90: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41  .#.!IF $(USE_AMA
3fa0: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 43  LGAMATION)==0.TC
3fb0: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
3fc0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 52 43 43  OP)\ext\fts3.RCC
3fd0: 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f   = $(RCC) -I$(TO
3fe0: 50 29 5c 65 78 74 5c 66 74 73 33 0a 54 43 43 20  P)\ext\fts3.TCC 
3ff0: 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50  = $(TCC) -I$(TOP
4000: 29 5c 65 78 74 5c 72 74 72 65 65 0a 52 43 43 20  )\ext\rtree.RCC 
4010: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50  = $(RCC) -I$(TOP
4020: 29 5c 65 78 74 5c 72 74 72 65 65 0a 21 45 4e 44  )\ext\rtree.!END
4030: 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69  IF..# The mksqli
4040: 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 20  te3c.tcl script 
4050: 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74  accepts some opt
4060: 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d  ions on the comm
4070: 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65  and.# line.  Whe
4080: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68  n compiling with
4090: 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 6c   debugging enabl
40a0: 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73  ed, some of thes
40b0: 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20  e.# options are 
40c0: 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64  necessary in ord
40d0: 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75  er to allow debu
40e0: 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f  gging symbols to
40f0: 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c  .# work correctl
4100: 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74  y with Visual St
4110: 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 20  udio when using 
4120: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
4130: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51  ..#.!IFNDEF MKSQ
4140: 4c 49 54 45 33 43 5f 41 52 47 53 0a 21 49 46 20  LITE3C_ARGS.!IF 
4150: 24 28 44 45 42 55 47 29 3e 31 0a 4d 4b 53 51 4c  $(DEBUG)>1.MKSQL
4160: 49 54 45 33 43 5f 41 52 47 53 20 3d 20 2d 2d 6c  ITE3C_ARGS = --l
4170: 69 6e 65 6d 61 63 72 6f 73 0a 21 45 4c 53 45 0a  inemacros.!ELSE.
4180: 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20  MKSQLITE3C_ARGS 
4190: 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  =.!ENDIF.!ENDIF.
41a0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44  # <</mark>>..# D
41b0: 65 66 69 6e 65 20 2d 44 4e 44 45 42 55 47 20 74  efine -DNDEBUG t
41c0: 6f 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 6f 75  o compile withou
41d0: 74 20 64 65 62 75 67 67 69 6e 67 20 28 69 2e 65  t debugging (i.e
41e0: 2e 2c 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f  ., for productio
41f0: 6e 20 75 73 61 67 65 29 0a 23 20 4f 6d 69 74 74  n usage).# Omitt
4200: 69 6e 67 20 74 68 65 20 64 65 66 69 6e 65 20 77  ing the define w
4210: 69 6c 6c 20 63 61 75 73 65 20 65 78 74 72 61 20  ill cause extra 
4220: 64 65 62 75 67 67 69 6e 67 20 63 6f 64 65 20 74  debugging code t
4230: 6f 20 62 65 20 69 6e 73 65 72 74 65 64 20 61 6e  o be inserted an
4240: 64 0a 23 20 69 6e 63 6c 75 64 65 73 20 65 78 74  d.# includes ext
4250: 72 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68 65 6e  ra comments when
4260: 20 22 45 58 50 4c 41 49 4e 20 73 74 6d 74 22 20   "EXPLAIN stmt" 
4270: 69 73 20 75 73 65 64 2e 0a 23 0a 21 49 46 20 24  is used..#.!IF $
4280: 28 44 45 42 55 47 29 3d 3d 30 0a 54 43 43 20 3d  (DEBUG)==0.TCC =
4290: 20 24 28 54 43 43 29 20 2d 44 4e 44 45 42 55 47   $(TCC) -DNDEBUG
42a0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44  .BCC = $(BCC) -D
42b0: 4e 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52  NDEBUG.RCC = $(R
42c0: 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 21 45 4e  CC) -DNDEBUG.!EN
42d0: 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47  DIF..!IF $(DEBUG
42e0: 29 3e 30 20 7c 7c 20 24 28 41 50 49 5f 41 52 4d  )>0 || $(API_ARM
42f0: 4f 52 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  OR)!=0 || $(FOR_
4300: 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20  WIN10)!=0.TCC = 
4310: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
4320: 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f 52  ENABLE_API_ARMOR
4330: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 
4340: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
4350: 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 21 45 4e 44  API_ARMOR=1.!END
4360: 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29  IF..!IF $(DEBUG)
4370: 3e 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >2.TCC = $(TCC) 
4380: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31  -DSQLITE_DEBUG=1
4390: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
43a0: 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a 21  SQLITE_DEBUG=1.!
43b0: 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42  ENDIF..!IF $(DEB
43c0: 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 52 41  UG)>4 || $(OSTRA
43d0: 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  CE)!=0.TCC = $(T
43e0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52  CC) -DSQLITE_FOR
43f0: 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44  CE_OS_TRACE=1 -D
4400: 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f  SQLITE_DEBUG_OS_
4410: 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28  TRACE=1.RCC = $(
4420: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f  RCC) -DSQLITE_FO
4430: 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d  RCE_OS_TRACE=1 -
4440: 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53  DSQLITE_DEBUG_OS
4450: 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a  _TRACE=1.!ENDIF.
4460: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 35 0a  .!IF $(DEBUG)>5.
4470: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
4480: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54  QLITE_ENABLE_IOT
4490: 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  RACE=1.RCC = $(R
44a0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  CC) -DSQLITE_ENA
44b0: 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 21 45  BLE_IOTRACE=1.!E
44c0: 4e 44 49 46 0a 0a 23 20 50 72 65 76 65 6e 74 20  NDIF..# Prevent 
44d0: 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 20 22  warnings about "
44e0: 69 6e 73 65 63 75 72 65 22 20 4d 53 56 43 20 72  insecure" MSVC r
44f0: 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 66  untime library f
4500: 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 6e 67  unctions.# being
4510: 20 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24   used..#.TCC = $
4520: 28 54 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43  (TCC) -D_CRT_SEC
4530: 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45  URE_NO_DEPRECATE
4540: 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e   -D_CRT_SECURE_N
4550: 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d  O_WARNINGS.BCC =
4560: 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 53   $(BCC) -D_CRT_S
4570: 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41  ECURE_NO_DEPRECA
4580: 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45  TE -D_CRT_SECURE
4590: 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43  _NO_WARNINGS.RCC
45a0: 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54   = $(RCC) -D_CRT
45b0: 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45  _SECURE_NO_DEPRE
45c0: 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55  CATE -D_CRT_SECU
45d0: 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a  RE_NO_WARNINGS..
45e0: 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e  # Prevent warnin
45f0: 67 73 20 61 62 6f 75 74 20 22 64 65 70 72 65 63  gs about "deprec
4600: 61 74 65 64 22 20 50 4f 53 49 58 20 66 75 6e 63  ated" POSIX func
4610: 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 65 64  tions being used
4620: 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ..#.TCC = $(TCC)
4630: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f   -D_CRT_NONSTDC_
4640: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
4650: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57  CRT_NONSTDC_NO_W
4660: 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28  ARNINGS.BCC = $(
4670: 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53  BCC) -D_CRT_NONS
4680: 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45  TDC_NO_DEPRECATE
4690: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f   -D_CRT_NONSTDC_
46a0: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20  NO_WARNINGS.RCC 
46b0: 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f  = $(RCC) -D_CRT_
46c0: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45  NONSTDC_NO_DEPRE
46d0: 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53  CATE -D_CRT_NONS
46e0: 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a  TDC_NO_WARNINGS.
46f0: 0a 23 20 55 73 65 20 74 68 65 20 53 51 4c 69 74  .# Use the SQLit
4700: 65 20 64 65 62 75 67 67 69 6e 67 20 68 65 61 70  e debugging heap
4710: 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49   subsystem?.#.!I
4720: 46 20 24 28 4d 45 4d 44 45 42 55 47 29 21 3d 30  F $(MEMDEBUG)!=0
4730: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
4740: 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d  SQLITE_MEMDEBUG=
4750: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
4760: 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47  DSQLITE_MEMDEBUG
4770: 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 76 65  =1..# Use native
4780: 20 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73   Win32 heap subs
4790: 79 73 74 65 6d 20 69 6e 73 74 65 61 64 20 6f 66  ystem instead of
47a0: 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a 23 0a   malloc/free?.#.
47b0: 21 45 4c 53 45 49 46 20 24 28 57 49 4e 33 32 48  !ELSEIF $(WIN32H
47c0: 45 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  EAP)!=0.TCC = $(
47d0: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49  TCC) -DSQLITE_WI
47e0: 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 43 43  N32_MALLOC=1.RCC
47f0: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
4800: 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d  TE_WIN32_MALLOC=
4810: 31 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 74 68  1..# Validate th
4820: 65 20 68 65 61 70 20 6f 6e 20 65 76 65 72 79 20  e heap on every 
4830: 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 6e 61  call into the na
4840: 74 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20  tive Win32 heap 
4850: 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46  subsystem?.#.!IF
4860: 20 24 28 44 45 42 55 47 29 3e 33 0a 54 43 43 20   $(DEBUG)>3.TCC 
4870: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
4880: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56  E_WIN32_MALLOC_V
4890: 41 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 3d 20  ALIDATE=1.RCC = 
48a0: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_
48b0: 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c  WIN32_MALLOC_VAL
48c0: 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a 21  IDATE=1.!ENDIF.!
48d0: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
48e0: 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e  >.# The location
48f0: 73 20 6f 66 20 74 68 65 20 54 63 6c 20 68 65 61  s of the Tcl hea
4900: 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20  der and library 
4910: 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 74 68  files.  Also, th
4920: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 0a 23  e library that.#
4930: 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 62 6c   non-stubs enabl
4940: 65 64 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e  ed programs usin
4950: 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e 6b 20  g Tcl must link 
4960: 61 67 61 69 6e 73 74 2e 20 20 54 68 65 73 65 20  against.  These 
4970: 76 61 72 69 61 62 6c 65 73 0a 23 20 28 54 43 4c  variables.# (TCL
4980: 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 44 49  INCDIR, TCLLIBDI
4990: 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 20 6d  R, and LIBTCL) m
49a0: 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e  ay be overridden
49b0: 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e   via the environ
49c0: 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20  ment.# prior to 
49d0: 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e  running nmake in
49e0: 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20   order to match 
49f0: 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61  the actual insta
4a00: 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 61 6e  lled location an
4a10: 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e 20 74  d.# version on t
4a20: 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21  his machine..#.!
4a30: 49 46 4e 44 45 46 20 54 43 4c 49 4e 43 44 49 52  IFNDEF TCLINCDIR
4a40: 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 63 3a 5c  .TCLINCDIR = c:\
4a50: 74 63 6c 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44  tcl\include.!END
4a60: 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 4c  IF..!IFNDEF TCLL
4a70: 49 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 52 20  IBDIR.TCLLIBDIR 
4a80: 3d 20 63 3a 5c 74 63 6c 5c 6c 69 62 0a 21 45 4e  = c:\tcl\lib.!EN
4a90: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
4aa0: 54 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 63 6c  TCL.LIBTCL = tcl
4ab0: 38 35 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  85.lib.!ENDIF..!
4ac0: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54 55  IFNDEF LIBTCLSTU
4ad0: 42 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20 74  B.LIBTCLSTUB = t
4ae0: 63 6c 73 74 75 62 38 35 2e 6c 69 62 0a 21 45 4e  clstub85.lib.!EN
4af0: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
4b00: 54 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c 50 41  TCLPATH.LIBTCLPA
4b10: 54 48 20 3d 20 63 3a 5c 74 63 6c 5c 62 69 6e 0a  TH = c:\tcl\bin.
4b20: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f  !ENDIF..# The lo
4b30: 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49  cations of the I
4b40: 43 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69  CU header and li
4b50: 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68  brary files.  Th
4b60: 65 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20  ese variables.# 
4b70: 28 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c  (ICUINCDIR, ICUL
4b80: 49 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43  IBDIR, and LIBIC
4b90: 55 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69  U) may be overri
4ba0: 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76  dden via the env
4bb0: 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72  ironment.# prior
4bc0: 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b   to running nmak
4bd0: 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61  e in order to ma
4be0: 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69  tch the actual i
4bf0: 6e 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f  nstalled locatio
4c00: 6e 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68  n on.# this mach
4c10: 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49  ine..#.!IFNDEF I
4c20: 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 44  CUINCDIR.ICUINCD
4c30: 49 52 20 3d 20 63 3a 5c 69 63 75 5c 69 6e 63 6c  IR = c:\icu\incl
4c40: 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  ude.!ENDIF..!IFN
4c50: 44 45 46 20 49 43 55 4c 49 42 44 49 52 0a 49 43  DEF ICULIBDIR.IC
4c60: 55 4c 49 42 44 49 52 20 3d 20 63 3a 5c 69 63 75  ULIBDIR = c:\icu
4c70: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46  \lib.!ENDIF..!IF
4c80: 4e 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 42 49  NDEF LIBICU.LIBI
4c90: 43 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 20 69  CU = icuuc.lib i
4ca0: 63 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a  cuin.lib.!ENDIF.
4cb0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63  .# This is the c
4cc0: 6f 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 66 6f  ommand to use fo
4cd0: 72 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c  r tclsh - normal
4ce0: 6c 79 20 6a 75 73 74 20 22 74 63 6c 73 68 22 2c  ly just "tclsh",
4cf0: 20 62 75 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e   but we may.# kn
4d00: 6f 77 20 74 68 65 20 73 70 65 63 69 66 69 63 20  ow the specific 
4d10: 76 65 72 73 69 6f 6e 20 77 65 20 77 61 6e 74 20  version we want 
4d20: 74 6f 20 75 73 65 2e 20 20 54 68 69 73 20 76 61  to use.  This va
4d30: 72 69 61 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d  riable (TCLSH_CM
4d40: 44 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 65 72  D) may be.# over
4d50: 72 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65  ridden via the e
4d60: 6e 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72  nvironment prior
4d70: 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b   to running nmak
4d80: 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 65  e in order to se
4d90: 6c 65 63 74 20 61 0a 23 20 73 70 65 63 69 66 69  lect a.# specifi
4da0: 63 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75  c Tcl shell to u
4db0: 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54 43  se..#.!IFNDEF TC
4dc0: 4c 53 48 5f 43 4d 44 0a 54 43 4c 53 48 5f 43 4d  LSH_CMD.TCLSH_CM
4dd0: 44 20 3d 20 74 63 6c 73 68 38 35 0a 21 45 4e 44  D = tclsh85.!END
4de0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
4df0: 23 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f  # Compiler optio
4e00: 6e 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72  ns needed for pr
4e10: 6f 67 72 61 6d 73 20 74 68 61 74 20 75 73 65 20  ograms that use 
4e20: 74 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20 6c  the readline() l
4e30: 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45  ibrary..#.!IFNDE
4e40: 46 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53  F READLINE_FLAGS
4e50: 0a 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20  .READLINE_FLAGS 
4e60: 3d 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49 4e  = -DHAVE_READLIN
4e70: 45 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  E=0.!ENDIF..# Th
4e80: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 70  e library that p
4e90: 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72 65  rograms using re
4ea0: 61 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c 69  adline() must li
4eb0: 6e 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49  nk against..#.!I
4ec0: 46 4e 44 45 46 20 4c 49 42 52 45 41 44 4c 49 4e  FNDEF LIBREADLIN
4ed0: 45 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a  E.LIBREADLINE =.
4ee0: 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64  !ENDIF..# Should
4ef0: 20 74 68 65 20 64 61 74 61 62 61 73 65 20 65 6e   the database en
4f00: 67 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65 64  gine be compiled
4f10: 20 74 68 72 65 61 64 73 61 66 65 0a 23 0a 54 43   threadsafe.#.TC
4f20: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL
4f30: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31  ITE_THREADSAFE=1
4f40: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
4f50: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
4f60: 45 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 61 64  E=1..# Do thread
4f70: 73 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 20  s override each 
4f80: 6f 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 79 20  others locks by 
4f90: 64 65 66 61 75 6c 74 20 28 31 29 2c 20 6f 72 20  default (1), or 
4fa0: 64 6f 20 77 65 20 74 65 73 74 20 28 2d 31 29 0a  do we test (-1).
4fb0: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  #.TCC = $(TCC) -
4fc0: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f  DSQLITE_THREAD_O
4fd0: 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a  VERRIDE_LOCK=-1.
4fe0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
4ff0: 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45  QLITE_THREAD_OVE
5000: 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23  RRIDE_LOCK=-1..#
5010: 20 41 6e 79 20 74 61 72 67 65 74 20 6c 69 62 72   Any target libr
5020: 61 72 69 65 73 20 77 68 69 63 68 20 6c 69 62 73  aries which libs
5030: 71 6c 69 74 65 20 6d 75 73 74 20 62 65 20 6c 69  qlite must be li
5040: 6e 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 0a 21  nked against.#.!
5050: 49 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c 49  IFNDEF TLIBS.TLI
5060: 42 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46  BS =.!ENDIF..# F
5070: 6c 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67  lags controlling
5080: 20 75 73 65 20 6f 66 20 74 68 65 20 69 6e 20 6d   use of the in m
5090: 65 6d 6f 72 79 20 62 74 72 65 65 20 69 6d 70 6c  emory btree impl
50a0: 65 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53  ementation.#.# S
50b0: 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45  QLITE_TEMP_STORE
50c0: 20 69 73 20 30 20 74 6f 20 66 6f 72 63 65 20 74   is 0 to force t
50d0: 65 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 73 20  emporary tables 
50e0: 74 6f 20 62 65 20 69 6e 20 61 20 66 69 6c 65 2c  to be in a file,
50f0: 20 31 20 74 6f 0a 23 20 64 65 66 61 75 6c 74 20   1 to.# default 
5100: 74 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 64 65  to file, 2 to de
5110: 66 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c  fault to memory,
5120: 20 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 65 20   and 3 to force 
5130: 74 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 62 6c  temporary.# tabl
5140: 65 73 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20  es to always be 
5150: 69 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43  in memory..#.TCC
5160: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
5170: 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a  TE_TEMP_STORE=1.
5180: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
5190: 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45  QLITE_TEMP_STORE
51a0: 3d 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73  =1..# Enable/dis
51b0: 61 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65 78  able loadable ex
51c0: 74 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74  tensions, and ot
51d0: 68 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61  her optional fea
51e0: 74 75 72 65 73 0a 23 20 62 61 73 65 64 20 6f 6e  tures.# based on
51f0: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20   configuration. 
5200: 28 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c  (-DSQLITE_OMIT*,
5210: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
5220: 2a 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 20 73  *)..# The same s
5230: 65 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45  et of OMIT and E
5240: 4e 41 42 4c 45 20 66 6c 61 67 73 20 73 68 6f 75  NABLE flags shou
5250: 6c 64 20 62 65 20 70 61 73 73 65 64 20 74 6f 20  ld be passed to 
5260: 74 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73  the.# LEMON pars
5270: 65 72 20 67 65 6e 65 72 61 74 6f 72 20 61 6e 64  er generator and
5280: 20 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61   the mkkeywordha
5290: 73 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e  sh tool as well.
52a0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
52b0: 65 20 72 65 71 75 69 72 65 64 20 53 51 4c 69 74  e required SQLit
52c0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
52d0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
52e0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
52f0: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74  the Windows plat
5300: 66 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54  form..#.REQ_FEAT
5310: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45  URE_FLAGS = $(RE
5320: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
5330: 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52   -DSQLITE_MAX_TR
5340: 49 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30 0a  IGGER_DEPTH=100.
5350: 0a 23 20 49 66 20 77 65 20 61 72 65 20 6c 69 6e  .# If we are lin
5360: 6b 69 6e 67 20 74 6f 20 74 68 65 20 52 50 43 52  king to the RPCR
5370: 54 34 20 6c 69 62 72 61 72 79 2c 20 65 6e 61 62  T4 library, enab
5380: 6c 65 20 66 65 61 74 75 72 65 73 20 74 68 61 74  le features that
5390: 20 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49 46 20   need it..#.!IF 
53a0: 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42  $(USE_RPCRT4_LIB
53b0: 29 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 52 45  )!=0.REQ_FEATURE
53c0: 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46  _FLAGS = $(REQ_F
53d0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
53e0: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53 45  SQLITE_WIN32_USE
53f0: 5f 55 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a  _UUID=1.!ENDIF..
5400: 23 20 41 64 64 20 74 68 65 20 72 65 71 75 69 72  # Add the requir
5410: 65 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20  ed and optional 
5420: 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69  SQLite compilati
5430: 6f 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20  on options into 
5440: 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69  the command.# li
5450: 6e 65 73 20 75 73 65 64 20 74 6f 20 69 6e 76 6f  nes used to invo
5460: 6b 65 20 74 68 65 20 4d 53 56 43 20 63 6f 64 65  ke the MSVC code
5470: 20 61 6e 64 20 72 65 73 6f 75 72 63 65 20 63 6f   and resource co
5480: 6d 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d  mpilers..#.TCC =
5490: 20 24 28 54 43 43 29 20 24 28 52 45 51 5f 46 45   $(TCC) $(REQ_FE
54a0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O
54b0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
54c0: 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f  ) $(EXT_FEATURE_
54d0: 46 4c 41 47 53 29 0a 52 43 43 20 3d 20 24 28 52  FLAGS).RCC = $(R
54e0: 43 43 29 20 24 28 52 45 51 5f 46 45 41 54 55 52  CC) $(REQ_FEATUR
54f0: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46  E_FLAGS) $(OPT_F
5500: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
5510: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
5520: 53 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e 79  S)..# Add in any
5530: 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65   optional parame
5540: 74 65 72 73 20 73 70 65 63 69 66 69 65 64 20 6f  ters specified o
5550: 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69  n the commane li
5560: 6e 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65  ne, e.g..# nmake
5570: 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63   /f Makefile.msc
5580: 20 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c   all "OPTS=-DSQL
5590: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31  ITE_ENABLE_FOO=1
55a0: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46   -DSQLITE_OMIT_F
55b0: 4f 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24 28  OO=1".#.TCC = $(
55c0: 54 43 43 29 20 24 28 4f 50 54 53 29 0a 52 43 43  TCC) $(OPTS).RCC
55d0: 20 3d 20 24 28 52 43 43 29 20 24 28 4f 50 54 53   = $(RCC) $(OPTS
55e0: 29 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e  )..# If compilin
55f0: 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2c  g for debugging,
5600: 20 61 64 64 20 73 6f 6d 65 20 64 65 66 69 6e 65   add some define
5610: 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47  s..#.!IF $(DEBUG
5620: 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>1.TCC = $(TCC)
5630: 20 2d 44 5f 44 45 42 55 47 0a 42 43 43 20 3d 20   -D_DEBUG.BCC = 
5640: 24 28 42 43 43 29 20 2d 44 5f 44 45 42 55 47 0a  $(BCC) -D_DEBUG.
5650: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f  RCC = $(RCC) -D_
5660: 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20  DEBUG.!ENDIF..# 
5670: 49 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  If optimizations
5680: 20 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 20   are enabled or 
5690: 64 69 73 61 62 6c 65 64 20 28 65 69 74 68 65 72  disabled (either
56a0: 20 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23   implicitly or.#
56b0: 20 65 78 70 6c 69 63 69 74 6c 79 29 2c 20 61 64   explicitly), ad
56c0: 64 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  d the necessary 
56d0: 66 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24 28 44  flags..#.!IF $(D
56e0: 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54  EBUG)>1 || $(OPT
56f0: 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54  IMIZATIONS)==0.T
5700: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a  CC = $(TCC) -Od.
5710: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 64  BCC = $(BCC) -Od
5720: 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d  .!ELSEIF $(OPTIM
5730: 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43 43  IZATIONS)>=3.TCC
5740: 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42 43   = $(TCC) -Ox.BC
5750: 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a 21  C = $(BCC) -Ox.!
5760: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a  ELSEIF $(OPTIMIZ
5770: 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20 3d  ATIONS)==2.TCC =
5780: 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43 20   $(TCC) -O2.BCC 
5790: 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45 4c  = $(BCC) -O2.!EL
57a0: 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54  SEIF $(OPTIMIZAT
57b0: 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20 24  IONS)==1.TCC = $
57c0: 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d 20  (TCC) -O1.BCC = 
57d0: 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44 49  $(BCC) -O1.!ENDI
57e0: 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73 20  F..# If symbols 
57f0: 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72 20  are enabled (or 
5800: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65  compiling for de
5810: 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c 65  bugging), enable
5820: 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44   PDBs..#.!IF $(D
5830: 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d  EBUG)>1 || $(SYM
5840: 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20 24  BOLS)!=0.TCC = $
5850: 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d 20  (TCC) -Zi.BCC = 
5860: 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44 49  $(BCC) -Zi.!ENDI
5870: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.# 
5880: 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69  If ICU support i
5890: 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74  s enabled, add t
58a0: 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  he compiler opti
58b0: 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49  ons for it..#.!I
58c0: 46 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a  F $(USE_ICU)!=0.
58d0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
58e0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55  QLITE_ENABLE_ICU
58f0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 
5900: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
5910: 49 43 55 3d 31 0a 54 43 43 20 3d 20 24 28 54 43  ICU=1.TCC = $(TC
5920: 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c  C) -I$(TOP)\ext\
5930: 69 63 75 0a 52 43 43 20 3d 20 24 28 52 43 43 29  icu.RCC = $(RCC)
5940: 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 69 63   -I$(TOP)\ext\ic
5950: 75 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  u.TCC = $(TCC) -
5960: 49 24 28 49 43 55 49 4e 43 44 49 52 29 0a 52 43  I$(ICUINCDIR).RC
5970: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 49  C = $(RCC) -I$(I
5980: 43 55 49 4e 43 44 49 52 29 0a 21 45 4e 44 49 46  CUINCDIR).!ENDIF
5990: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..# 
59a0: 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 72 65  Command line pre
59b0: 66 69 78 65 73 20 66 6f 72 20 63 6f 6d 70 69 6c  fixes for compil
59c0: 69 6e 67 20 63 6f 64 65 2c 20 63 6f 6d 70 69 6c  ing code, compil
59d0: 69 6e 67 20 72 65 73 6f 75 72 63 65 73 2c 0a 23  ing resources,.#
59e0: 20 6c 69 6e 6b 69 6e 67 2c 20 65 74 63 2e 0a 23   linking, etc..#
59f0: 0a 4c 54 43 4f 4d 50 49 4c 45 20 3d 20 24 28 54  .LTCOMPILE = $(T
5a00: 43 43 29 20 2d 46 6f 24 40 0a 4c 54 52 43 4f 4d  CC) -Fo$@.LTRCOM
5a10: 50 49 4c 45 20 3d 20 24 28 52 43 43 29 20 2d 72  PILE = $(RCC) -r
5a20: 0a 4c 54 4c 49 42 20 3d 20 6c 69 62 2e 65 78 65  .LTLIB = lib.exe
5a30: 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28 54 43 43 29  .LTLINK = $(TCC)
5a40: 20 2d 46 65 24 40 0a 0a 23 20 49 66 20 72 65 71   -Fe$@..# If req
5a50: 75 65 73 74 65 64 2c 20 6c 69 6e 6b 20 74 6f 20  uested, link to 
5a60: 74 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61  the RPCRT4 libra
5a70: 72 79 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ry..#.!IF $(USE_
5a80: 52 50 43 52 54 34 5f 4c 49 42 29 21 3d 30 0a 4c  RPCRT4_LIB)!=0.L
5a90: 54 4c 49 4e 4b 20 3d 20 24 28 4c 54 4c 49 4e 4b  TLINK = $(LTLINK
5aa0: 29 20 72 70 63 72 74 34 2e 6c 69 62 0a 21 45 4e  ) rpcrt4.lib.!EN
5ab0: 44 49 46 0a 0a 23 20 49 66 20 61 20 70 6c 61 74  DIF..# If a plat
5ac0: 66 6f 72 6d 20 77 61 73 20 73 65 74 2c 20 66 6f  form was set, fo
5ad0: 72 63 65 20 74 68 65 20 6c 69 6e 6b 65 72 20 74  rce the linker t
5ae0: 6f 20 74 61 72 67 65 74 20 74 68 61 74 2e 0a 23  o target that..#
5af0: 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 76   Note that the v
5b00: 63 76 61 72 73 2a 2e 62 61 74 20 66 61 6d 69 6c  cvars*.bat famil
5b10: 79 20 6f 66 20 62 61 74 63 68 20 66 69 6c 65 73  y of batch files
5b20: 20 74 79 70 69 63 61 6c 6c 79 0a 23 20 73 65 74   typically.# set
5b30: 20 74 68 69 73 20 66 6f 72 20 79 6f 75 2e 20 20   this for you.  
5b40: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 6c  Otherwise, the l
5b50: 69 6e 6b 65 72 20 77 69 6c 6c 20 61 74 74 65 6d  inker will attem
5b60: 70 74 0a 23 20 74 6f 20 64 65 64 75 63 65 20 74  pt.# to deduce t
5b70: 68 65 20 62 69 6e 61 72 79 20 74 79 70 65 20 62  he binary type b
5b80: 61 73 65 64 20 6f 6e 20 74 68 65 20 6f 62 6a 65  ased on the obje
5b90: 63 74 20 66 69 6c 65 73 2e 0a 21 49 46 44 45 46  ct files..!IFDEF
5ba0: 20 50 4c 41 54 46 4f 52 4d 0a 4c 54 4c 49 4e 4b   PLATFORM.LTLINK
5bb0: 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f  OPTS = /NOLOGO /
5bc0: 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f  MACHINE:$(PLATFO
5bd0: 52 4d 29 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20  RM).LTLIBOPTS = 
5be0: 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45  /NOLOGO /MACHINE
5bf0: 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4c  :$(PLATFORM).!EL
5c00: 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  SE.LTLINKOPTS = 
5c10: 2f 4e 4f 4c 4f 47 4f 0a 4c 54 4c 49 42 4f 50 54  /NOLOGO.LTLIBOPT
5c20: 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 21 45 4e 44  S = /NOLOGO.!END
5c30: 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69  IF..# When compi
5c40: 6c 69 6e 67 20 66 6f 72 20 75 73 65 20 69 6e 20  ling for use in 
5c50: 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69 72 6f  the WinRT enviro
5c60: 6e 6d 65 6e 74 2c 20 74 68 65 20 66 6f 6c 6c 6f  nment, the follo
5c70: 77 69 6e 67 0a 23 20 6c 69 6e 6b 65 72 20 6f 70  wing.# linker op
5c80: 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 75 73 65  tion must be use
5c90: 64 20 74 6f 20 6d 61 72 6b 20 74 68 65 20 65 78  d to mark the ex
5ca0: 65 63 75 74 61 62 6c 65 20 61 73 20 72 75 6e 6e  ecutable as runn
5cb0: 61 62 6c 65 0a 23 20 6f 6e 6c 79 20 69 6e 20 74  able.# only in t
5cc0: 68 65 20 63 6f 6e 74 65 78 74 20 6f 66 20 61 6e  he context of an
5cd0: 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6e   application con
5ce0: 74 61 69 6e 65 72 2e 0a 23 0a 21 49 46 20 24 28  tainer..#.!IF $(
5cf0: 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a 4c 54  FOR_WINRT)!=0.LT
5d00: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
5d10: 49 4e 4b 4f 50 54 53 29 20 2f 41 50 50 43 4f 4e  INKOPTS) /APPCON
5d20: 54 41 49 4e 45 52 0a 21 49 46 20 22 24 28 56 49  TAINER.!IF "$(VI
5d30: 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f  SUALSTUDIOVERSIO
5d40: 4e 29 22 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 22  N)"=="12.0" || "
5d50: 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56 45  $(VISUALSTUDIOVE
5d60: 52 53 49 4f 4e 29 22 3d 3d 22 31 34 2e 30 22 0a  RSION)"=="14.0".
5d70: 21 49 46 4e 44 45 46 20 53 54 4f 52 45 4c 49 42  !IFNDEF STORELIB
5d80: 50 41 54 48 0a 21 49 46 20 22 24 28 50 4c 41 54  PATH.!IF "$(PLAT
5d90: 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 53 54  FORM)"=="x86".ST
5da0: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43  ORELIBPATH = $(C
5db0: 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65  RTLIBPATH)\store
5dc0: 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54  .!ELSEIF "$(PLAT
5dd0: 46 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a 53 54  FORM)"=="x64".ST
5de0: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43  ORELIBPATH = $(C
5df0: 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65  RTLIBPATH)\store
5e00: 5c 61 6d 64 36 34 0a 21 45 4c 53 45 49 46 20 22  \amd64.!ELSEIF "
5e10: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41  $(PLATFORM)"=="A
5e20: 52 4d 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48  RM".STORELIBPATH
5e30: 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29   = $(CRTLIBPATH)
5e40: 5c 73 74 6f 72 65 5c 61 72 6d 0a 21 45 4c 53 45  \store\arm.!ELSE
5e50: 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20  .STORELIBPATH = 
5e60: 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74  $(CRTLIBPATH)\st
5e70: 6f 72 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  ore.!ENDIF.!ENDI
5e80: 46 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d  F.STORELIBPATH =
5e90: 20 24 28 53 54 4f 52 45 4c 49 42 50 41 54 48 3a   $(STORELIBPATH:
5ea0: 5c 5c 3d 5c 29 0a 4c 54 4c 49 4e 4b 4f 50 54 53  \\=\).LTLINKOPTS
5eb0: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
5ec0: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 53 54 4f   "/LIBPATH:$(STO
5ed0: 52 45 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44  RELIBPATH)".!END
5ee0: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65  IF.!ENDIF..# Whe
5ef0: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  n compiling for 
5f00: 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e  Windows Phone 8.
5f10: 31 2c 20 61 6e 20 65 78 74 72 61 20 6c 69 62 72  1, an extra libr
5f20: 61 72 79 20 70 61 74 68 20 69 73 0a 23 20 72 65  ary path is.# re
5f30: 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28  quired..#.!IF $(
5f40: 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d  USE_WP81_OPTS)!=
5f50: 30 0a 21 49 46 4e 44 45 46 20 57 50 38 31 4c 49  0.!IFNDEF WP81LI
5f60: 42 50 41 54 48 0a 21 49 46 20 22 24 28 50 4c 41  BPATH.!IF "$(PLA
5f70: 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 57  TFORM)"=="x86".W
5f80: 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50  P81LIBPATH = $(P
5f90: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29  ROGRAMFILES_X86)
5fa0: 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b  \Windows Phone K
5fb0: 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a  its\8.1\lib\x86.
5fc0: 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46  !ELSEIF "$(PLATF
5fd0: 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 57 50 38  ORM)"=="ARM".WP8
5fe0: 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f  1LIBPATH = $(PRO
5ff0: 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57  GRAMFILES_X86)\W
6000: 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74  indows Phone Kit
6010: 73 5c 38 2e 31 5c 6c 69 62 5c 41 52 4d 0a 21 45  s\8.1\lib\ARM.!E
6020: 4c 53 45 0a 57 50 38 31 4c 49 42 50 41 54 48 20  LSE.WP81LIBPATH 
6030: 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53  = $(PROGRAMFILES
6040: 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68  _X86)\Windows Ph
6050: 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62  one Kits\8.1\lib
6060: 5c 78 38 36 0a 21 45 4e 44 49 46 0a 21 45 4e 44  \x86.!ENDIF.!END
6070: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65  IF.!ENDIF..# Whe
6080: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  n compiling for 
6090: 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e  Windows Phone 8.
60a0: 31 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69  1, some extra li
60b0: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 0a 23 20 61  nker options.# a
60c0: 72 65 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64  re also required
60d0: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57 50  ..#.!IF $(USE_WP
60e0: 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 44  81_OPTS)!=0.!IFD
60f0: 45 46 20 57 50 38 31 4c 49 42 50 41 54 48 0a 4c  EF WP81LIBPATH.L
6100: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54  TLINKOPTS = $(LT
6110: 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50  LINKOPTS) "/LIBP
6120: 41 54 48 3a 24 28 57 50 38 31 4c 49 42 50 41 54  ATH:$(WP81LIBPAT
6130: 48 29 22 0a 21 45 4e 44 49 46 0a 4c 54 4c 49 4e  H)".!ENDIF.LTLIN
6140: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
6150: 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49 43 42 41  OPTS) /DYNAMICBA
6160: 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  SE.LTLINKOPTS = 
6170: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 57 69  $(LTLINKOPTS) Wi
6180: 6e 64 6f 77 73 50 68 6f 6e 65 43 6f 72 65 2e 6c  ndowsPhoneCore.l
6190: 69 62 20 52 75 6e 74 69 6d 65 4f 62 6a 65 63 74  ib RuntimeObject
61a0: 2e 6c 69 62 20 50 68 6f 6e 65 41 70 70 4d 6f 64  .lib PhoneAppMod
61b0: 65 6c 48 6f 73 74 2e 6c 69 62 0a 4c 54 4c 49 4e  elHost.lib.LTLIN
61c0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
61d0: 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54  OPTS) /NODEFAULT
61e0: 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62  LIB:kernel32.lib
61f0: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6f   /NODEFAULTLIB:o
6200: 6c 65 33 32 2e 6c 69 62 0a 21 45 4e 44 49 46 0a  le32.lib.!ENDIF.
6210: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# When compilin
6220: 67 20 66 6f 72 20 55 57 50 20 6f 72 20 74 68 65  g for UWP or the
6230: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
6240: 66 6f 72 6d 2c 20 73 6f 6d 65 20 65 78 74 72 61  form, some extra
6250: 20 6c 69 6e 6b 65 72 0a 23 20 6f 70 74 69 6f 6e   linker.# option
6260: 73 20 61 72 65 20 61 6c 73 6f 20 72 65 71 75 69  s are also requi
6270: 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52  red..#.!IF $(FOR
6280: 5f 55 57 50 29 21 3d 30 20 7c 7c 20 24 28 46 4f  _UWP)!=0 || $(FO
6290: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49  R_WIN10)!=0.LTLI
62a0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
62b0: 4b 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49 43 42  KOPTS) /DYNAMICB
62c0: 41 53 45 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49  ASE /NODEFAULTLI
62d0: 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 0a 4c  B:kernel32.lib.L
62e0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54  TLINKOPTS = $(LT
62f0: 4c 49 4e 4b 4f 50 54 53 29 20 6d 69 6e 63 6f 72  LINKOPTS) mincor
6300: 65 2e 6c 69 62 0a 21 49 46 44 45 46 20 50 53 44  e.lib.!IFDEF PSD
6310: 4b 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f  KLIBPATH.LTLINKO
6320: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP
6330: 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28  TS) "/LIBPATH:$(
6340: 50 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 21 45  PSDKLIBPATH)".!E
6350: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46  NDIF.!ENDIF..!IF
6360: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
6370: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
6380: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 67 75 61  LTLINKOPTS) /gua
6390: 72 64 3a 63 66 20 22 2f 4c 49 42 50 41 54 48 3a  rd:cf "/LIBPATH:
63a0: 24 28 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a  $(UCRTLIBPATH)".
63b0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 4c  !IF $(DEBUG)>1.L
63c0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54  TLINKOPTS = $(LT
63d0: 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46  LINKOPTS) /NODEF
63e0: 41 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72 74 64  AULTLIB:libucrtd
63f0: 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54 4c 49 42  .lib /DEFAULTLIB
6400: 3a 75 63 72 74 64 2e 6c 69 62 0a 21 45 4c 53 45  :ucrtd.lib.!ELSE
6410: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
6420: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44  LTLINKOPTS) /NOD
6430: 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72  EFAULTLIB:libucr
6440: 74 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54 4c 49  t.lib /DEFAULTLI
6450: 42 3a 75 63 72 74 2e 6c 69 62 0a 21 45 4e 44 49  B:ucrt.lib.!ENDI
6460: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 65  F.!ENDIF..# If e
6470: 69 74 68 65 72 20 64 65 62 75 67 67 69 6e 67 20  ither debugging 
6480: 6f 72 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 65  or symbols are e
6490: 6e 61 62 6c 65 64 2c 20 65 6e 61 62 6c 65 20 50  nabled, enable P
64a0: 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42  DBs..#.!IF $(DEB
64b0: 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d 42 4f  UG)>1 || $(SYMBO
64c0: 4c 53 29 21 3d 30 0a 4c 44 46 4c 41 47 53 20 3d  LS)!=0.LDFLAGS =
64d0: 20 2f 44 45 42 55 47 20 24 28 4c 44 4f 50 54 53   /DEBUG $(LDOPTS
64e0: 29 0a 21 45 4c 53 45 0a 4c 44 46 4c 41 47 53 20  ).!ELSE.LDFLAGS 
64f0: 3d 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4e 44  = $(LDOPTS).!END
6500: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
6510: 20 53 74 61 72 74 20 77 69 74 68 20 74 68 65 20   Start with the 
6520: 54 63 6c 20 72 65 6c 61 74 65 64 20 6c 69 6e 6b  Tcl related link
6530: 65 72 20 6f 70 74 69 6f 6e 73 2e 0a 23 0a 21 49  er options..#.!I
6540: 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 4c  F $(NO_TCL)==0.L
6550: 54 4c 49 42 50 41 54 48 53 20 3d 20 2f 4c 49 42  TLIBPATHS = /LIB
6560: 50 41 54 48 3a 24 28 54 43 4c 4c 49 42 44 49 52  PATH:$(TCLLIBDIR
6570: 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 49 42  ).LTLIBS = $(LIB
6580: 54 43 4c 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49  TCL).!ENDIF..# I
6590: 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69 73  f ICU support is
65a0: 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68   enabled, add th
65b0: 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73  e linker options
65c0: 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24   for it..#.!IF $
65d0: 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54 4c  (USE_ICU)!=0.LTL
65e0: 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c 49  IBPATHS = $(LTLI
65f0: 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48  BPATHS) /LIBPATH
6600: 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c 54  :$(ICULIBDIR).LT
6610: 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29  LIBS = $(LTLIBS)
6620: 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44 49   $(LIBICU).!ENDI
6630: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
6640: 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20   You should not 
6650: 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61  have to change a
6660: 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68  nything below th
6670: 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 23  is line.########
6680: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
6690: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
66a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
66b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
66c0: 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 72  #######..# <<mar
66d0: 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c  k>>.# Object fil
66e0: 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74  es for the SQLit
66f0: 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d 61  e library (non-a
6700: 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a  malgamation)..#.
6710: 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 2e  LIBOBJS0 = vdbe.
6720: 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 65  lo parse.lo alte
6730: 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f 20  r.lo analyze.lo 
6740: 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e 6c  attach.lo auth.l
6750: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61 63  o \.         bac
6760: 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c 6f  kup.lo bitvec.lo
6770: 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 65   btmutex.lo btre
6780: 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c 0a  e.lo build.lo \.
6790: 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63           callbac
67a0: 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c 6f  k.lo complete.lo
67b0: 20 63 74 69 6d 65 2e 6c 6f 20 64 61 74 65 2e 6c   ctime.lo date.l
67c0: 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64 65 6c 65  o dbstat.lo dele
67d0: 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  te.lo \.        
67e0: 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 2e 6c   expr.lo fault.l
67f0: 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 20 20  o fkey.lo \.    
6800: 20 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 74 73       fts3.lo fts
6810: 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f 65 78  3_aux.lo fts3_ex
6820: 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 68 2e  pr.lo fts3_hash.
6830: 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f 20 5c  lo fts3_icu.lo \
6840: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 70  .         fts3_p
6850: 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f 73 6e  orter.lo fts3_sn
6860: 69 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f 74 6f  ippet.lo fts3_to
6870: 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 33 5f  kenizer.lo fts3_
6880: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 5c 0a  tokenizer1.lo \.
6890: 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 74 6f           fts3_to
68a0: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 20 66  kenize_vtab.lo f
68b0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 20 66  ts3_unicode.lo f
68c0: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 20  ts3_unicode2.lo 
68d0: 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20 5c 0a  fts3_write.lo \.
68e0: 20 20 20 20 20 20 20 20 20 66 74 73 35 2e 6c 6f           fts5.lo
68f0: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63   \.         func
6900: 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20 68 61  .lo global.lo ha
6910: 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  sh.lo \.        
6920: 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74 2e 6c   icu.lo insert.l
6930: 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64  o legacy.lo load
6940: 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ext.lo \.       
6950: 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63    main.lo malloc
6960: 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31  .lo mem0.lo mem1
6970: 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33  .lo mem2.lo mem3
6980: 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20  .lo mem5.lo \.  
6990: 20 20 20 20 20 20 20 6d 65 6d 6a 6f 75 72 6e 61         memjourna
69a0: 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  l.lo \.         
69b0: 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78 5f 6e  mutex.lo mutex_n
69c0: 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75 6e 69  oop.lo mutex_uni
69d0: 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32 2e 6c  x.lo mutex_w32.l
69e0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6e 6f 74  o \.         not
69f0: 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73 2e 6c  ify.lo opcodes.l
6a00: 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69 78 2e  o os.lo os_unix.
6a10: 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c 0a 20  lo os_win.lo \. 
6a20: 20 20 20 20 20 20 20 20 70 61 67 65 72 2e 6c 6f          pager.lo
6a30: 20 70 63 61 63 68 65 2e 6c 6f 20 70 63 61 63 68   pcache.lo pcach
6a40: 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c 6f 20  e1.lo pragma.lo 
6a50: 70 72 65 70 61 72 65 2e 6c 6f 20 70 72 69 6e 74  prepare.lo print
6a60: 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  f.lo \.         
6a70: 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f 6c 76  random.lo resolv
6a80: 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f 20 72  e.lo rowset.lo r
6a90: 74 72 65 65 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c  tree.lo select.l
6aa0: 6f 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20  o sqlite3rbu.lo 
6ab0: 73 74 61 74 75 73 2e 6c 6f 20 5c 0a 20 20 20 20  status.lo \.    
6ac0: 20 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68       table.lo th
6ad0: 72 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a  reads.lo tokeniz
6ae0: 65 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f  e.lo treeview.lo
6af0: 20 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20   trigger.lo \.  
6b00: 20 20 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f         update.lo
6b10: 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e   util.lo vacuum.
6b20: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64  lo \.         vd
6b30: 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78  beapi.lo vdbeaux
6b40: 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20  .lo vdbeblob.lo 
6b50: 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73  vdbemem.lo vdbes
6b60: 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ort.lo \.       
6b70: 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77    vdbetrace.lo w
6b80: 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20  al.lo walker.lo 
6b90: 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f  where.lo whereco
6ba0: 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72 2e  de.lo whereexpr.
6bb0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 74  lo \.         ut
6bc0: 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 3c  f.lo vtab.lo.# <
6bd0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65  </mark>>..# Obje
6be0: 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65  ct files for the
6bf0: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
6c00: 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c 69  .LIBOBJS1 = sqli
6c10: 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 6d  te3.lo..# Determ
6c20: 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61 6c  ine the real val
6c30: 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61 73  ue of LIBOBJ bas
6c40: 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66 69  ed on the 'confi
6c50: 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a 23  gure' script.#.#
6c60: 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 28   <<mark>>.!IF $(
6c70: 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  USE_AMALGAMATION
6c80: 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24 28  )==0.LIBOBJ = $(
6c90: 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45 0a  LIBOBJS0).!ELSE.
6ca0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f  # <</mark>>.LIBO
6cb0: 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31 29  BJ = $(LIBOBJS1)
6cc0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44  .# <<mark>>.!END
6cd0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
6ce0: 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20 65  # Determine if e
6cf0: 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72 63 65  mbedded resource
6d00: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64   compilation and
6d10: 20 75 73 61 67 65 20 61 72 65 20 65 6e 61 62 6c   usage are enabl
6d20: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ed..#.!IF $(USE_
6d30: 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42 4a  RC)!=0.LIBRESOBJ
6d40: 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e 6c  S = sqlite3res.l
6d50: 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f 42  o.!ELSE.LIBRESOB
6d60: 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  JS =.!ENDIF..# <
6d70: 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20 73  <mark>>.# Core s
6d80: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73  ource code files
6d90: 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30  , part 1..#.SRC0
6da0: 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  0 = \.  $(TOP)\s
6db0: 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20 24  rc\alter.c \.  $
6dc0: 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a  (TOP)\src\analyz
6dd0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
6de0: 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20 20  rc\attach.c \.  
6df0: 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e  $(TOP)\src\auth.
6e00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
6e10: 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28  \backup.c \.  $(
6e20: 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e  TOP)\src\bitvec.
6e30: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
6e40: 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24  \btmutex.c \.  $
6e50: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
6e60: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
6e70: 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54  \build.c \.  $(T
6e80: 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b  OP)\src\callback
6e90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
6ea0: 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a 20  c\complete.c \. 
6eb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d   $(TOP)\src\ctim
6ec0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
6ed0: 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24 28  rc\date.c \.  $(
6ee0: 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e  TOP)\src\dbstat.
6ef0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
6f00: 5c 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28  \delete.c \.  $(
6f10: 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20  TOP)\src\expr.c 
6f20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66  \.  $(TOP)\src\f
6f30: 61 75 6c 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ault.c \.  $(TOP
6f40: 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 5c 0a 20  )\src\fkey.c \. 
6f50: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63   $(TOP)\src\func
6f60: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
6f70: 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20 20 24  c\global.c \.  $
6f80: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63  (TOP)\src\hash.c
6f90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
6fa0: 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54  insert.c \.  $(T
6fb0: 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63  OP)\src\legacy.c
6fc0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
6fd0: 6c 6f 61 64 65 78 74 2e 63 20 5c 0a 20 20 24 28  loadext.c \.  $(
6fe0: 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20  TOP)\src\main.c 
6ff0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
7000: 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f  alloc.c \.  $(TO
7010: 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 5c 0a  P)\src\mem0.c \.
7020: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem
7030: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  1.c \.  $(TOP)\s
7040: 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20 20 24 28  rc\mem2.c \.  $(
7050: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20  TOP)\src\mem3.c 
7060: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
7070: 65 6d 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  em5.c \.  $(TOP)
7080: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  \src\memjournal.
7090: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
70a0: 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54  \mutex.c \.  $(T
70b0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
70c0: 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  op.c \.  $(TOP)\
70d0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
70e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
70f0: 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20  mutex_w32.c \.  
7100: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66  $(TOP)\src\notif
7110: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s
7120: 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f  rc\os.c \.  $(TO
7130: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
7140: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7150: 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65  os_win.c..# Core
7160: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
7170: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52  es, part 2..#.SR
7180: 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C01 = \.  $(TOP)
7190: 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20  \src\pager.c \. 
71a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
71b0: 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  he.c \.  $(TOP)\
71c0: 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a  src\pcache1.c \.
71d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61    $(TOP)\src\pra
71e0: 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  gma.c \.  $(TOP)
71f0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c  \src\prepare.c \
7200: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  .  $(TOP)\src\pr
7210: 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50  intf.c \.  $(TOP
7220: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c  )\src\random.c \
7230: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  .  $(TOP)\src\re
7240: 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f  solve.c \.  $(TO
7250: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c 
7260: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
7270: 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f  elect.c \.  $(TO
7280: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20  P)\src\status.c 
7290: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
72a0: 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  able.c \.  $(TOP
72b0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20  )\src\threads.c 
72c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
72d0: 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24  clsqlite.c \.  $
72e0: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
72f0: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ze.c \.  $(TOP)\
7300: 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c  src\treeview.c \
7310: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  .  $(TOP)\src\tr
7320: 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  igger.c \.  $(TO
7330: 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20  P)\src\utf.c \. 
7340: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61   $(TOP)\src\upda
7350: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\
7360: 73 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 20 24  src\util.c \.  $
7370: 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d  (TOP)\src\vacuum
7380: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7390: 63 5c 76 64 62 65 2e 63 20 5c 0a 20 20 24 28 54  c\vdbe.c \.  $(T
73a0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e  OP)\src\vdbeapi.
73b0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
73c0: 5c 76 64 62 65 61 75 78 2e 63 20 5c 0a 20 20 24  \vdbeaux.c \.  $
73d0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c  (TOP)\src\vdbebl
73e0: 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ob.c \.  $(TOP)\
73f0: 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 5c 0a  src\vdbemem.c \.
7400: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
7410: 65 73 6f 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f  esort.c \.  $(TO
7420: 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65  P)\src\vdbetrace
7430: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7440: 63 5c 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54  c\vtab.c \.  $(T
7450: 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 5c 0a  OP)\src\wal.c \.
7460: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c    $(TOP)\src\wal
7470: 6b 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ker.c \.  $(TOP)
7480: 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 5c 0a 20  \src\where.c \. 
7490: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher
74a0: 65 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f  ecode.c \.  $(TO
74b0: 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72  P)\src\whereexpr
74c0: 2e 63 0a 0a 23 20 53 68 65 6c 6c 20 73 6f 75 72  .c..# Shell sour
74d0: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23  ce code files..#
74e0: 0a 53 52 43 30 32 20 3d 20 5c 0a 20 20 24 28 54  .SRC02 = \.  $(T
74f0: 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 0a  OP)\src\shell.c.
7500: 0a 23 20 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61  .# Core miscella
7510: 6e 65 6f 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53  neous files..#.S
7520: 52 43 30 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC03 = \.  $(TOP
7530: 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23  )\src\parse.y..#
7540: 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 69 6c   Core header fil
7550: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52  es, part 1..#.SR
7560: 43 30 34 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C04 = \.  $(TOP)
7570: 5c 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20  \src\btree.h \. 
7580: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre
7590: 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eInt.h \.  $(TOP
75a0: 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20  )\src\hash.h \. 
75b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69   $(TOP)\src\hwti
75c0: 6d 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  me.h \.  $(TOP)\
75d0: 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24  src\msvc.h \.  $
75e0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e  (TOP)\src\mutex.
75f0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
7600: 5c 6f 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  \os.h \.  $(TOP)
7610: 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68  \src\os_common.h
7620: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7630: 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 24  os_setup.h \.  $
7640: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
7650: 2e 68 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65  .h..# Core heade
7660: 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e  r files, part 2.
7670: 0a 23 0a 53 52 43 30 35 20 3d 20 5c 0a 20 20 24  .#.SRC05 = \.  $
7680: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
7690: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
76a0: 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 24 28  \pcache.h \.  $(
76b0: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e  TOP)\src\pragma.
76c0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
76d0: 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20  \sqlite.h.in \. 
76e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69   $(TOP)\src\sqli
76f0: 74 65 33 65 78 74 2e 68 20 5c 0a 20 20 24 28 54  te3ext.h \.  $(T
7700: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e  OP)\src\sqliteIn
7710: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
7720: 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68  rc\sqliteLimit.h
7730: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7740: 76 64 62 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50  vdbe.h \.  $(TOP
7750: 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20  )\src\vdbeInt.h 
7760: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
7770: 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54  xworks.h \.  $(T
7780: 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a  OP)\src\wal.h \.
7790: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65    $(TOP)\src\whe
77a0: 72 65 49 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e  reInt.h..# Exten
77b0: 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65  sion source code
77c0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a   files, part 1..
77d0: 23 0a 53 52 43 30 36 20 3d 20 5c 0a 20 20 24 28  #.SRC06 = \.  $(
77e0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
77f0: 73 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s1.c \.  $(TOP)\
7800: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61  ext\fts1\fts1_ha
7810: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\
7820: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f  ext\fts1\fts1_po
7830: 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rter.c \.  $(TOP
7840: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f  )\ext\fts1\fts1_
7850: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20  tokenizer1.c \. 
7860: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
7870: 5c 66 74 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f  \fts2.c \.  $(TO
7880: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
7890: 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f  _hash.c \.  $(TO
78a0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
78b0: 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _icu.c \.  $(TOP
78c0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
78d0: 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54  porter.c \.  $(T
78e0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
78f0: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a  2_tokenizer.c \.
7900: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
7910: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
7920: 31 2e 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e  1.c..# Extension
7930: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
7940: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52  es, part 2..#.SR
7950: 43 30 37 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C07 = \.  $(TOP)
7960: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63  \ext\fts3\fts3.c
7970: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
7980: 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20  fts3\fts3_aux.c 
7990: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
79a0: 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20  ts3\fts3_expr.c 
79b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
79c0: 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20  ts3\fts3_hash.c 
79d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
79e0: 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c  ts3\fts3_icu.c \
79f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
7a00: 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63  s3\fts3_porter.c
7a10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
7a20: 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65  fts3\fts3_snippe
7a30: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  t.c \.  $(TOP)\e
7a40: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
7a50: 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54  enizer.c \.  $(T
7a60: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
7a70: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c  3_tokenizer1.c \
7a80: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
7a90: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
7aa0: 5f 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  _vtab.c \.  $(TO
7ab0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
7ac0: 5f 75 6e 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24  _unicode.c \.  $
7ad0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
7ae0: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c  ts3_unicode2.c \
7af0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
7b00: 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20  s3\fts3_write.c 
7b10: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69  \.  $(TOP)\ext\i
7b20: 63 75 5c 69 63 75 2e 63 20 5c 0a 20 20 24 28 54  cu\icu.c \.  $(T
7b30: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
7b40: 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ree.c \.  $(TOP)
7b50: 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33  \ext\rbu\sqlite3
7b60: 72 62 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  rbu.c \.  $(TOP)
7b70: 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e  \ext\misc\json1.
7b80: 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68  c..# Extension h
7b90: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72  eader files, par
7ba0: 74 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c  t 1..#.SRC08 = \
7bb0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
7bc0: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28  s1\fts1.h \.  $(
7bd0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
7be0: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $(
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 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c  s1_tokenizer.h \
7c10: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
7c20: 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28  s2\fts2.h \.  $(
7c30: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
7c40: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s2_hash.h \.  $(
7c50: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
7c60: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a  s2_tokenizer.h..
7c70: 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64  # Extension head
7c80: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32  er files, part 2
7c90: 2e 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20  ..#.SRC09 = \.  
7ca0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
7cb0: 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts3.h \.  $(TOP
7cc0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49  )\ext\fts3\fts3I
7cd0: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\
7ce0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
7cf0: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.h \.  $(TOP)\
7d00: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
7d10: 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28  kenizer.h \.  $(
7d20: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c  TOP)\ext\icu\sql
7d30: 69 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54  iteicu.h \.  $(T
7d40: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
7d50: 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ree.h \.  $(TOP)
7d60: 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33  \ext\rbu\sqlite3
7d70: 72 62 75 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74  rbu.h..# Generat
7d80: 65 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ed source code f
7d90: 69 6c 65 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c  iles.#.SRC10 = \
7da0: 0a 20 20 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20  .  opcodes.c \. 
7db0: 20 70 61 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65   parse.c..# Gene
7dc0: 72 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c  rated header fil
7dd0: 65 73 0a 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20  es.#.SRC11 = \. 
7de0: 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c   keywordhash.h \
7df0: 0a 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20  .  opcodes.h \. 
7e00: 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 24 28 53   parse.h \.  $(S
7e10: 51 4c 49 54 45 33 48 29 0a 0a 23 20 41 6c 6c 20  QLITE3H)..# All 
7e20: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
7e30: 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 43  s..#.SRC = $(SRC
7e40: 30 30 29 20 24 28 53 52 43 30 31 29 20 24 28 53  00) $(SRC01) $(S
7e50: 52 43 30 32 29 20 24 28 53 52 43 30 33 29 20 24  RC02) $(SRC03) $
7e60: 28 53 52 43 30 34 29 20 24 28 53 52 43 30 35 29  (SRC04) $(SRC05)
7e70: 20 24 28 53 52 43 30 36 29 20 24 28 53 52 43 30   $(SRC06) $(SRC0
7e80: 37 29 20 24 28 53 52 43 30 38 29 20 24 28 53 52  7) $(SRC08) $(SR
7e90: 43 30 39 29 20 24 28 53 52 43 31 30 29 20 24 28  C09) $(SRC10) $(
7ea0: 53 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65  SRC11)..# Source
7eb0: 20 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73   code to the tes
7ec0: 74 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53  t files..#.TESTS
7ed0: 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  RC = \.  $(TOP)\
7ee0: 73 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20  src\test1.c \.  
7ef0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32  $(TOP)\src\test2
7f00: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7f10: 63 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28  c\test3.c \.  $(
7f20: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63  TOP)\src\test4.c
7f30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7f40: 74 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f  test5.c \.  $(TO
7f50: 50 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c  P)\src\test6.c \
7f60: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
7f70: 73 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st7.c \.  $(TOP)
7f80: 5c 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20  \src\test8.c \. 
7f90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
7fa0: 39 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  9.c \.  $(TOP)\s
7fb0: 72 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e  rc\test_autoext.
7fc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7fd0: 5c 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a  \test_async.c \.
7fe0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
7ff0: 74 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24  t_backup.c \.  $
8000: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62  (TOP)\src\test_b
8010: 65 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24  estindex.c \.  $
8020: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62  (TOP)\src\test_b
8030: 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  lob.c \.  $(TOP)
8040: 5c 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e  \src\test_btree.
8050: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8060: 5c 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c  \test_config.c \
8070: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8080: 73 74 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20  st_demovfs.c \. 
8090: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
80a0: 5f 64 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28  _devsym.c \.  $(
80b0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 73  TOP)\src\test_fs
80c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
80d0: 63 5c 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a  c\test_func.c \.
80e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
80f0: 74 5f 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28  t_hexio.c \.  $(
8100: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e  TOP)\src\test_in
8110: 69 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  it.c \.  $(TOP)\
8120: 73 72 63 5c 74 65 73 74 5f 69 6e 74 61 72 72 61  src\test_intarra
8130: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s
8140: 72 63 5c 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e  rc\test_journal.
8150: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8160: 5c 74 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c  \test_malloc.c \
8170: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8180: 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c  st_multiplex.c \
8190: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
81a0: 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24  st_mutex.c \.  $
81b0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f  (TOP)\src\test_o
81c0: 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54  nefile.c \.  $(T
81d0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69  OP)\src\test_osi
81e0: 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nst.c \.  $(TOP)
81f0: 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65  \src\test_pcache
8200: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8210: 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c  c\test_quota.c \
8220: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8230: 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24  st_rtree.c \.  $
8240: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
8250: 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f  chema.c \.  $(TO
8260: 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76  P)\src\test_serv
8270: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
8280: 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f  src\test_superlo
8290: 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ck.c \.  $(TOP)\
82a0: 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c  src\test_syscall
82b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
82c0: 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e 63 20  c\test_tclvar.c 
82d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
82e0: 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20  est_thread.c \. 
82f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8300: 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _vfs.c \.  $(TOP
8310: 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69  )\src\test_windi
8320: 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rent.c \.  $(TOP
8330: 29 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63  )\src\test_wsd.c
8340: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8350: 66 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63  fts3\fts3_term.c
8360: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8370: 66 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63  fts3\fts3_test.c
8380: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8390: 72 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 0a 0a  rbu\test_rbu.c..
83a0: 23 20 53 74 61 74 69 63 61 6c 6c 79 20 6c 69 6e  # Statically lin
83b0: 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a  ked extensions..
83c0: 23 0a 54 45 53 54 45 58 54 20 3d 20 5c 0a 20 20  #.TESTEXT = \.  
83d0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
83e0: 61 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28 54  amatch.c \.  $(T
83f0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6c 6f  OP)\ext\misc\clo
8400: 73 75 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sure.c \.  $(TOP
8410: 29 5c 65 78 74 5c 6d 69 73 63 5c 65 76 61 6c 2e  )\ext\misc\eval.
8420: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8430: 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c  \misc\fileio.c \
8440: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
8450: 73 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a 20 20  sc\fuzzer.c \.  
8460: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
8470: 66 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20 20 24  fts5_tcl.c \.  $
8480: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
8490: 74 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20 5c 0a  ts5_test_mi.c \.
84a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
84b0: 35 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f 6b 2e  5\fts5_test_tok.
84c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
84d0: 5c 6d 69 73 63 5c 69 65 65 65 37 35 34 2e 63 20  \misc\ieee754.c 
84e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
84f0: 69 73 63 5c 6e 65 78 74 63 68 61 72 2e 63 20 5c  isc\nextchar.c \
8500: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
8510: 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63 20  sc\percentile.c 
8520: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
8530: 69 73 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a 20  isc\regexp.c \. 
8540: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
8550: 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24 28  \series.c \.  $(
8560: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70  TOP)\ext\misc\sp
8570: 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28 54  ellfix.c \.  $(T
8580: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74  OP)\ext\misc\tot
8590: 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ype.c \.  $(TOP)
85a0: 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e  \ext\misc\wholen
85b0: 75 6d 62 65 72 2e 63 0a 0a 23 20 53 6f 75 72 63  umber.c..# Sourc
85c0: 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20 6c 69  e code to the li
85d0: 62 72 61 72 79 20 66 69 6c 65 73 20 6e 65 65 64  brary files need
85e0: 65 64 20 62 79 20 74 68 65 20 74 65 73 74 20 66  ed by the test f
85f0: 69 78 74 75 72 65 0a 23 0a 54 45 53 54 53 52 43  ixture.#.TESTSRC
8600: 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29  2 = \.  $(SRC00)
8610: 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a   \.  $(SRC01) \.
8620: 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24    $(SRC06) \.  $
8630: 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52  (SRC07) \.  $(SR
8640: 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  C10) \.  $(TOP)\
8650: 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65  ext\async\sqlite
8660: 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64  3async.c..# Head
8670: 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79  er files used by
8680: 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75   all library sou
8690: 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52  rce files..#.HDR
86a0: 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73   = \.   $(TOP)\s
86b0: 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20  rc\btree.h \.   
86c0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
86d0: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  Int.h \.   $(TOP
86e0: 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20  )\src\hash.h \. 
86f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74    $(TOP)\src\hwt
8700: 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f  ime.h \.   keywo
8710: 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28  rdhash.h \.   $(
8720: 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20  TOP)\src\msvc.h 
8730: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
8740: 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63  mutex.h \.   opc
8750: 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f  odes.h \.   $(TO
8760: 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20  P)\src\os.h \.  
8770: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63   $(TOP)\src\os_c
8780: 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54  ommon.h \.   $(T
8790: 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70  OP)\src\os_setup
87a0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
87b0: 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20  rc\os_win.h \.  
87c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page
87d0: 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  r.h \.   $(TOP)\
87e0: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20  src\pcache.h \. 
87f0: 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24    parse.h \.   $
8800: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61  (TOP)\src\pragma
8810: 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45  .h \.   $(SQLITE
8820: 33 48 29 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  3H) \.   $(TOP)\
8830: 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68  src\sqlite3ext.h
8840: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
8850: 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20  \sqliteInt.h \. 
8860: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql
8870: 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 20  iteLimit.h \.   
8880: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe.
8890: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
88a0: 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20  c\vdbeInt.h \.  
88b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f   $(TOP)\src\vxwo
88c0: 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  rks.h \.   $(TOP
88d0: 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74 2e 68  )\src\whereInt.h
88e0: 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65 73  ..# Header files
88f0: 20 75 73 65 64 20 62 79 20 65 78 74 65 6e 73 69   used by extensi
8900: 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20 3d 20 24  ons.#.EXTHDR = $
8910: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54  (EXTHDR) \.  $(T
8920: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
8930: 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.h \.  $(TOP)\e
8940: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73  xt\fts1\fts1_has
8950: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.h \.  $(TOP)\e
8960: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b  xt\fts1\fts1_tok
8970: 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20  enizer.h.EXTHDR 
8980: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \.  
8990: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
89a0: 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts2.h \.  $(TOP
89b0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
89c0: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50  hash.h \.  $(TOP
89d0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
89e0: 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48  tokenizer.h.EXTH
89f0: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
8a00: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8a10: 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24 28  s3\fts3.h \.  $(
8a20: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8a30: 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f  s3Int.h \.  $(TO
8a40: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
8a50: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
8a60: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
8a70: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54  _tokenizer.h.EXT
8a80: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) 
8a90: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r
8aa0: 74 72 65 65 5c 72 74 72 65 65 2e 68 0a 45 58 54  tree\rtree.h.EXT
8ab0: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) 
8ac0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69  \.  $(TOP)\ext\i
8ad0: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 0a 45  cu\sqliteicu.h.E
8ae0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
8af0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
8b00: 5c 72 74 72 65 65 5c 73 71 6c 69 74 65 33 72 74  \rtree\sqlite3rt
8b10: 72 65 65 2e 68 0a 0a 23 20 65 78 65 63 75 74 61  ree.h..# executa
8b20: 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20  bles needed for 
8b30: 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52  testing.#.TESTPR
8b40: 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69  OGS = \.  testfi
8b50: 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28  xture.exe \.  $(
8b60: 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20  SQLITE3EXE) \.  
8b70: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
8b80: 2e 65 78 65 20 5c 0a 20 20 73 71 6c 64 69 66 66  .exe \.  sqldiff
8b90: 2e 65 78 65 0a 0a 23 20 44 61 74 61 62 61 73 65  .exe..# Database
8ba0: 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 66 75 7a  s containing fuz
8bb0: 7a 65 72 20 74 65 73 74 20 63 61 73 65 73 0a 23  zer test cases.#
8bc0: 0a 46 55 5a 5a 44 41 54 41 20 3d 20 5c 0a 20 20  .FUZZDATA = \.  
8bd0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz
8be0: 64 61 74 61 31 2e 64 62 20 5c 0a 20 20 24 28 54  data1.db \.  $(T
8bf0: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74  OP)\test\fuzzdat
8c00: 61 32 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29  a2.db \.  $(TOP)
8c10: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 33 2e  \test\fuzzdata3.
8c20: 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65  db \.  $(TOP)\te
8c30: 73 74 5c 66 75 7a 7a 64 61 74 61 34 2e 64 62 0a  st\fuzzdata4.db.
8c40: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41  # <</mark>>..# A
8c50: 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c  dditional compil
8c60: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74  er options for t
8c70: 68 65 20 73 68 65 6c 6c 2e 20 20 54 68 65 73 65  he shell.  These
8c80: 20 61 72 65 20 6f 6e 6c 79 20 65 66 66 65 63 74   are only effect
8c90: 69 76 65 0a 23 20 77 68 65 6e 20 74 68 65 20 73  ive.# when the s
8ca0: 68 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e  hell is not bein
8cb0: 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69  g dynamically li
8cc0: 6e 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 59  nked..#.!IF $(DY
8cd0: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20  NAMIC_SHELL)==0 
8ce0: 26 26 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d  && $(FOR_WIN10)=
8cf0: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  =0.SHELL_COMPILE
8d00: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_
8d10: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44  COMPILE_OPTS) -D
8d20: 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 4a 53 4f  SQLITE_SHELL_JSO
8d30: 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  N1 -DSQLITE_ENAB
8d40: 4c 45 5f 46 54 53 34 20 2d 44 53 51 4c 49 54 45  LE_FTS4 -DSQLITE
8d50: 5f 45 4e 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f  _ENABLE_EXPLAIN_
8d60: 43 4f 4d 4d 45 4e 54 53 0a 21 45 4e 44 49 46 0a  COMMENTS.!ENDIF.
8d70: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78  .# <<mark>>.# Ex
8d80: 74 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74  tra compiler opt
8d90: 69 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f 75 73  ions for various
8da0: 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d   test tools..#.M
8db0: 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f  PTESTER_COMPILE_
8dc0: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
8dd0: 53 48 45 4c 4c 5f 4a 53 4f 4e 31 20 2d 44 53 51  SHELL_JSON1 -DSQ
8de0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35  LITE_ENABLE_FTS5
8df0: 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d  .FUZZERSHELL_COM
8e00: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51  PILE_OPTS = -DSQ
8e10: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  LITE_ENABLE_JSON
8e20: 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50  1.FUZZCHECK_COMP
8e30: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c  ILE_OPTS = -DSQL
8e40: 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31  ITE_ENABLE_JSON1
8e50: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
8e60: 5f 4d 45 4d 53 59 53 35 0a 0a 23 20 53 74 61 6e  _MEMSYS5..# Stan
8e70: 64 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20  dard options to 
8e80: 74 65 73 74 66 69 78 74 75 72 65 2e 0a 23 0a 54  testfixture..#.T
8e90: 45 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72 62  ESTOPTS = --verb
8ea0: 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70 75  ose=file --outpu
8eb0: 74 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a 0a  t=test-out.txt..
8ec0: 23 20 45 78 74 72 61 20 74 61 72 67 65 74 73 20  # Extra targets 
8ed0: 66 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 74 61  for the "all" ta
8ee0: 72 67 65 74 20 74 68 61 74 20 72 65 71 75 69 72  rget that requir
8ef0: 65 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28 4e  e Tcl..#.!IF $(N
8f00: 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43  O_TCL)==0.ALL_TC
8f10: 4c 5f 54 41 52 47 45 54 53 20 3d 20 6c 69 62 74  L_TARGETS = libt
8f20: 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45  clsqlite3.lib.!E
8f30: 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47  LSE.ALL_TCL_TARG
8f40: 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 3c  ETS =.!ENDIF.# <
8f50: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73  </mark>>..# This
8f60: 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20   is the default 
8f70: 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e  Makefile target.
8f80: 20 20 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69    The objects li
8f90: 73 74 65 64 20 68 65 72 65 0a 23 20 61 72 65 20  sted here.# are 
8fa0: 77 68 61 74 20 67 65 74 20 62 75 69 6c 64 20 77  what get build w
8fb0: 68 65 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73  hen you type jus
8fc0: 74 20 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f  t "make" with no
8fd0: 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c   arguments..#.al
8fe0: 6c 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69 74 65  l:.dll libsqlite
8ff0: 33 2e 6c 69 62 20 73 68 65 6c 6c 20 24 28 41 4c  3.lib shell $(AL
9000: 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 29 0a 0a  L_TCL_TARGETS)..
9010: 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c  # Dynamic link l
9020: 69 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a  ibrary section..
9030: 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33  #.dll:.$(SQLITE3
9040: 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78  DLL)..# Shell ex
9050: 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c  ecutable..#.shel
9060: 6c 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45 29  l:.$(SQLITE3EXE)
9070: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62  ..# <<mark>>.lib
9080: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c  sqlite3.lib:.$(L
9090: 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29  IBOBJ)..$(LTLIB)
90a0: 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f   $(LTLIBOPTS) /O
90b0: 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20  UT:$@ $(LIBOBJ) 
90c0: 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c  $(TLIBS)..libtcl
90d0: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c  sqlite3.lib:.tcl
90e0: 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c  sqlite.lo libsql
90f0: 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49  ite3.lib..$(LTLI
9100: 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20  B) $(LTLIBOPTS) 
9110: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f  $(LTLIBPATHS) /O
9120: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e  UT:$@ tclsqlite.
9130: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  lo libsqlite3.li
9140: 62 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20  b $(LIBTCLSTUB) 
9150: 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61  $(TLIBS).# <</ma
9160: 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44  rk>>..$(SQLITE3D
9170: 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24  LL):.$(LIBOBJ) $
9180: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 43  (LIBRESOBJS) $(C
9190: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24  ORE_LINK_DEP)..$
91a0: 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20  (LD) $(LDFLAGS) 
91b0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
91c0: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c  LTLIBPATHS) /DLL
91d0: 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54   $(CORE_LINK_OPT
91e0: 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42  S) /OUT:$@ $(LIB
91f0: 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  OBJ) $(LIBRESOBJ
9200: 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS) $(T
9210: 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b  LIBS)..# <<block
9220: 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a  2>>.sqlite3.def:
9230: 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a  .libsqlite3.lib.
9240: 09 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20  .echo EXPORTS > 
9250: 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 6d  sqlite3.def..dum
9260: 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c  pbin /all libsql
9270: 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24  ite3.lib \...| $
9280: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
9290: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
92a0: 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73  tcl include "^\s
92b0: 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33 5f 5b 5e  +1 _?(sqlite3_[^
92c0: 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22  @]*)(?:@\d+)?$$"
92d0: 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e   \1 \...| sort >
92e0: 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 23 20  > sqlite3.def.# 
92f0: 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53  <</block2>>..$(S
9300: 51 4c 49 54 45 33 45 58 45 29 3a 09 24 28 54 4f  QLITE3EXE):.$(TO
9310: 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 20 24  P)\src\shell.c $
9320: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29  (SHELL_CORE_DEP)
9330: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
9340: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29  (SHELL_CORE_SRC)
9350: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
9360: 4c 54 4c 49 4e 4b 29 20 24 28 53 48 45 4c 4c 5f  LTLINK) $(SHELL_
9370: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
9380: 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20  READLINE_FLAGS) 
9390: 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c  $(TOP)\src\shell
93a0: 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f  .c $(SHELL_CORE_
93b0: 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24  SRC) \.../link $
93c0: 28 53 51 4c 49 54 45 33 45 58 45 50 44 42 29 20  (SQLITE3EXEPDB) 
93d0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
93e0: 49 4e 4b 4f 50 54 53 29 20 24 28 53 48 45 4c 4c  INKOPTS) $(SHELL
93f0: 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54  _LINK_OPTS) $(LT
9400: 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR
9410: 45 53 4f 42 4a 53 29 20 24 28 4c 49 42 52 45 41  ESOBJS) $(LIBREA
9420: 44 4c 49 4e 45 29 20 24 28 4c 54 4c 49 42 53 29  DLINE) $(LTLIBS)
9430: 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d   $(TLIBS)..# <<m
9440: 61 72 6b 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78  ark>>.sqldiff.ex
9450: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  e:.$(TOP)\tool\s
9460: 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54  qldiff.c $(SQLIT
9470: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
9480: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
9490: 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f  _WARN) $(TOP)\to
94a0: 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53  ol\sqldiff.c $(S
94b0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
94c0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
94d0: 4e 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31 2e  NKOPTS)..srcck1.
94e0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
94f0: 5c 73 72 63 63 6b 31 2e 63 0a 09 24 28 42 43 43  \srcck1.c..$(BCC
9500: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65  ) $(NO_WARN) -Fe
9510: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  $@ $(TOP)\tool\s
9520: 72 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65 74  rcck1.c..sourcet
9530: 65 73 74 3a 09 73 72 63 63 6b 31 2e 65 78 65 20  est:.srcck1.exe 
9540: 73 71 6c 69 74 65 33 2e 63 0a 09 73 72 63 63 6b  sqlite3.c..srcck
9550: 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e 63 0a  1.exe sqlite3.c.
9560: 0a 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65  .fuzzershell.exe
9570: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75  :.$(TOP)\tool\fu
9580: 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51  zzershell.c $(SQ
9590: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
95a0: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
95b0: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a  (NO_WARN) $(FUZZ
95c0: 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  ERSHELL_COMPILE_
95d0: 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74 6f 6f  OPTS) $(TOP)\too
95e0: 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20  l\fuzzershell.c 
95f0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
9600: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
9610: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a  TLINKOPTS)..fuzz
9620: 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 54 4f 50  check.exe:.$(TOP
9630: 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b  )\test\fuzzcheck
9640: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
9650: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
9660: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
9670: 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d   $(FUZZCHECK_COM
9680: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50  PILE_OPTS) $(TOP
9690: 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b  )\test\fuzzcheck
96a0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
96b0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
96c0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6d  $(LTLINKOPTS)..m
96d0: 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24 28 54  ptester.exe:.$(T
96e0: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73  OP)\mptest\mptes
96f0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
9700: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
9710: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
9720: 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d  ) $(MPTESTER_COM
9730: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50  PILE_OPTS) $(TOP
9740: 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e  )\mptest\mptest.
9750: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
9760: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
9770: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50  (LTLINKOPTS)..MP
9780: 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74 65 72  TEST1 = mptester
9790: 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50   mptest.db $(TOP
97a0: 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68 30 31  )\mptest\crash01
97b0: 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20 32  .test --repeat 2
97c0: 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70 74 65  0.MPTEST2 = mpte
97d0: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24  ster mptest.db $
97e0: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c  (TOP)\mptest\mul
97f0: 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 20 2d  tiwrite01.test -
9800: 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70 74 65  -repeat 20..mpte
9810: 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65 78 65  st:.mptester.exe
9820: 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e  ..del /Q mptest.
9830: 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45  db 2>NUL..$(MPTE
9840: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
9850: 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d 50 54  de DELETE..$(MPT
9860: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
9870: 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53  ode WAL..$(MPTES
9880: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
9890: 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 32  e WAL..$(MPTEST2
98a0: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode 
98b0: 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53  PERSIST..$(MPTES
98c0: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
98d0: 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54  e PERSIST..$(MPT
98e0: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
98f0: 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28  ode TRUNCATE..$(
9900: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e  MPTEST1) --journ
9910: 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a  almode TRUNCATE.
9920: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f  .$(MPTEST2) --jo
9930: 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45  urnalmode DELETE
9940: 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65 74 20  ..# This target 
9950: 63 72 65 61 74 65 73 20 61 20 64 69 72 65 63 74  creates a direct
9960: 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72 63 22  ory named "tsrc"
9970: 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 77 69   and fills it wi
9980: 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 20 61  th.# copies of a
9990: 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72  ll of the C sour
99a0: 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64  ce code and head
99b0: 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20  er files needed 
99c0: 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74 68  to.# build on th
99d0: 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e  e target system.
99e0: 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 43 20    Some of the C 
99f0: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20  source code and 
9a00: 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73 20 61  header.# files a
9a10: 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  re automatically
9a20: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54 68 69   generated.  Thi
9a30: 73 20 74 61 72 67 65 74 20 74 61 6b 65 73 20 63  s target takes c
9a40: 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61  are of.# all tha
9a50: 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65 6e 65  t automatic gene
9a60: 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65  ration..#..targe
9a70: 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52 43 29  t_source:.$(SRC)
9a80: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62   $(TOP)\tool\vdb
9a90: 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66  e-compress.tcl f
9aa0: 74 73 35 2e 63 0a 09 2d 72 6d 64 69 72 20 2f 51  ts5.c..-rmdir /Q
9ab0: 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d  /S tsrc 2>NUL..-
9ac0: 6d 6b 64 69 72 20 74 73 72 63 0a 09 66 6f 72 20  mkdir tsrc..for 
9ad0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 30 29 29  %i in ($(SRC00))
9ae0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
9af0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
9b00: 24 28 53 52 43 30 31 29 29 20 64 6f 20 63 6f 70  $(SRC01)) do cop
9b10: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
9b20: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 32  r %i in ($(SRC02
9b30: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
9b40: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
9b50: 20 28 24 28 53 52 43 30 33 29 29 20 64 6f 20 63   ($(SRC03)) do c
9b60: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
9b70: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
9b80: 30 34 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  04)) do copy /Y 
9b90: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
9ba0: 69 6e 20 28 24 28 53 52 43 30 35 29 29 20 64 6f  in ($(SRC05)) do
9bb0: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
9bc0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
9bd0: 52 43 30 36 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC06)) do copy /
9be0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
9bf0: 69 20 69 6e 20 28 24 28 53 52 43 30 37 29 29 20  i in ($(SRC07)) 
9c00: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
9c10: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
9c20: 28 53 52 43 30 38 29 29 20 64 6f 20 63 6f 70 79  (SRC08)) do copy
9c30: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
9c40: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 39 29   %i in ($(SRC09)
9c50: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
9c60: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
9c70: 28 24 28 53 52 43 31 30 29 29 20 64 6f 20 63 6f  ($(SRC10)) do co
9c80: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
9c90: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31  or %i in ($(SRC1
9ca0: 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  1)) do copy /Y %
9cb0: 69 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20  i tsrc..copy /Y 
9cc0: 66 74 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70  fts5.c tsrc..cop
9cd0: 79 20 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63  y /Y fts5.h tsrc
9ce0: 0a 09 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71  ..del /Q tsrc\sq
9cf0: 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70  lite.h.in tsrc\p
9d00: 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28  arse.y 2>NUL..$(
9d10: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
9d20: 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70  )\tool\vdbe-comp
9d30: 72 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29  ress.tcl $(OPTS)
9d40: 20 3c 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e   < tsrc\vdbe.c >
9d50: 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20   vdbe.new..move 
9d60: 76 64 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64  vdbe.new tsrc\vd
9d70: 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61  be.c..echo > .ta
9d80: 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c  rget_source..sql
9d90: 69 74 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f  ite3.c:..target_
9da0: 73 6f 75 72 63 65 20 73 71 6c 69 74 65 33 65 78  source sqlite3ex
9db0: 74 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  t.h $(TOP)\tool\
9dc0: 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09  mksqlite3c.tcl..
9dd0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
9de0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74  OP)\tool\mksqlit
9df0: 65 33 63 2e 74 63 6c 20 24 28 4d 4b 53 51 4c 49  e3c.tcl $(MKSQLI
9e00: 54 45 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79  TE3C_ARGS)..copy
9e10: 20 74 73 72 63 5c 73 68 65 6c 6c 2e 63 20 2e 0a   tsrc\shell.c ..
9e20: 0a 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 3a 09  .sqlite3-all.c:.
9e30: 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29  sqlite3.c $(TOP)
9e40: 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69  \tool\split-sqli
9e50: 74 65 33 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53  te3c.tcl..$(TCLS
9e60: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
9e70: 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33  ol\split-sqlite3
9e80: 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  c.tcl.# <</mark>
9e90: 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69  >..# Rule to bui
9ea0: 6c 64 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74  ld the amalgamat
9eb0: 69 6f 6e 0a 23 0a 73 71 6c 69 74 65 33 2e 6c 6f  ion.#.sqlite3.lo
9ec0: 3a 09 24 28 53 51 4c 49 54 45 33 43 29 0a 09 24  :.$(SQLITE3C)..$
9ed0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
9ee0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
9ef0: 20 2d 63 20 24 28 53 51 4c 49 54 45 33 43 29 0a   -c $(SQLITE3C).
9f00: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75  .# <<mark>>.# Ru
9f10: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65  les to build the
9f20: 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72 20   LEMON compiler 
9f30: 67 65 6e 65 72 61 74 6f 72 0a 23 0a 6c 65 6d 70  generator.#.lemp
9f40: 61 72 2e 63 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  ar.c:.$(TOP)\too
9f50: 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09 63 6f 70 79  l\lempar.c..copy
9f60: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d   $(TOP)\tool\lem
9f70: 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65  par.c ...lemon.e
9f80: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
9f90: 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70 61 72 2e 63  lemon.c lempar.c
9fa0: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41  ..$(BCC) $(NO_WA
9fb0: 52 4e 29 20 2d 44 61 63 63 65 73 73 3d 5f 61 63  RN) -Daccess=_ac
9fc0: 63 65 73 73 20 5c 0a 09 09 2d 46 65 24 40 20 24  cess \...-Fe$@ $
9fd0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e  (TOP)\tool\lemon
9fe0: 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .c /link $(LDFLA
9ff0: 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54  GS) $(NLTLINKOPT
a000: 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53  S) $(NLTLIBPATHS
a010: 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  )..# Rules to bu
a020: 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a  ild individual *
a030: 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 67  .lo files from g
a040: 65 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69 6c  enerated *.c fil
a050: 65 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c 69  es. This.# appli
a060: 65 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70  es to:.#.#     p
a070: 61 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70  arse.lo.#     op
a080: 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65  codes.lo.#.parse
a090: 2e 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28 48  .lo:.parse.c $(H
a0a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
a0b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
a0c0: 5f 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65 2e  _OPTS) -c parse.
a0d0: 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f  c..opcodes.lo:.o
a0e0: 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f  pcodes.c..$(LTCO
a0f0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
a100: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f  MPILE_OPTS) -c o
a110: 70 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61  pcodes.c.# <</ma
a120: 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20  rk>>..# Rule to 
a130: 62 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32 20  build the Win32 
a140: 72 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63 74  resources object
a150: 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55   file..#.!IF $(U
a160: 53 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c  SE_RC)!=0.# <<bl
a170: 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f  ock1>>.$(LIBRESO
a180: 42 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72 63  BJS):.$(TOP)\src
a190: 5c 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53 51  \sqlite3.rc $(SQ
a1a0: 4c 49 54 45 33 48 29 0a 09 65 63 68 6f 20 23 69  LITE3H)..echo #i
a1b0: 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 52 45 53  fndef SQLITE_RES
a1c0: 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20  OURCE_VERSION > 
a1d0: 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f 72  sqlite3rc.h..for
a1e0: 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 70   /F %%V in ('typ
a1f0: 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f  e "$(TOP)\VERSIO
a200: 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63  N"') do ( \...ec
a210: 68 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54  ho #define SQLIT
a220: 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49  E_RESOURCE_VERSI
a230: 4f 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 24 28  ON %%V \....| $(
a240: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
a250: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
a260: 63 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e  cl exact . ^, >>
a270: 20 73 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09   sqlite3rc.h \..
a280: 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e  )..echo #endif >
a290: 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 24  > sqlite3rc.h..$
a2a0: 28 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f  (LTRCOMPILE) -fo
a2b0: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
a2c0: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
a2d0: 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31  3.rc.# <</block1
a2e0: 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d  >>.!ENDIF..# <<m
a2f0: 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f  ark>>.# Rules to
a300: 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61   build individua
a310: 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f  l *.lo files fro
a320: 6d 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73  m files in the s
a330: 72 63 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a  rc directory..#.
a340: 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  alter.lo:.$(TOP)
a350: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 28 48  \src\alter.c $(H
a360: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
a370: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
a380: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
a390: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e  \src\alter.c..an
a3a0: 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  alyze.lo:.$(TOP)
a3b0: 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24  \src\analyze.c $
a3c0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
a3d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
a3e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
a3f0: 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63  P)\src\analyze.c
a400: 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54  ..attach.lo:.$(T
a410: 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63  OP)\src\attach.c
a420: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
a430: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
a440: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
a450: 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e  TOP)\src\attach.
a460: 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f  c..auth.lo:.$(TO
a470: 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 28  P)\src\auth.c $(
a480: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
a490: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
a4a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
a4b0: 29 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61  )\src\auth.c..ba
a4c0: 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ckup.lo:.$(TOP)\
a4d0: 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48  src\backup.c $(H
a4e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
a4f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
a500: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
a510: 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62  \src\backup.c..b
a520: 69 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29  itvec.lo:.$(TOP)
a530: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20 24 28  \src\bitvec.c $(
a540: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
a550: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
a560: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
a570: 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a  )\src\bitvec.c..
a580: 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f  btmutex.lo:.$(TO
a590: 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63  P)\src\btmutex.c
a5a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
a5b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
a5c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
a5d0: 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78  TOP)\src\btmutex
a5e0: 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28  .c..btree.lo:.$(
a5f0: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63  TOP)\src\btree.c
a600: 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73   $(HDR) $(TOP)\s
a610: 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54  rc\pager.h..$(LT
a620: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
a630: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
a640: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre
a650: 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24  e.c..build.lo:.$
a660: 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e  (TOP)\src\build.
a670: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
a680: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
a690: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
a6a0: 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e  (TOP)\src\build.
a6b0: 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09  c..callback.lo:.
a6c0: 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62  $(TOP)\src\callb
a6d0: 61 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ack.c $(HDR)..$(
a6e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
a6f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
a700: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61  -c $(TOP)\src\ca
a710: 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65  llback.c..comple
a720: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  te.lo:.$(TOP)\sr
a730: 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48  c\complete.c $(H
a740: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
a750: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
a760: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
a770: 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a  \src\complete.c.
a780: 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50  .ctime.lo:.$(TOP
a790: 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 24 28  )\src\ctime.c $(
a7a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
a7b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
a7c0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
a7d0: 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64  )\src\ctime.c..d
a7e0: 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ate.lo:.$(TOP)\s
a7f0: 72 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52 29  rc\date.c $(HDR)
a800: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
a810: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
a820: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
a830: 63 5c 64 61 74 65 2e 63 0a 0a 64 62 73 74 61 74  c\date.c..dbstat
a840: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
a850: 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24  date.c $(HDR)..$
a860: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
a870: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
a880: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64   -c $(TOP)\src\d
a890: 62 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e  bstat.c..delete.
a8a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64  lo:.$(TOP)\src\d
a8b0: 65 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09  elete.c $(HDR)..
a8c0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
a8d0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
a8e0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
a8f0: 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c  delete.c..expr.l
a900: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 65 78  o:.$(TOP)\src\ex
a910: 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  pr.c $(HDR)..$(L
a920: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
a930: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
a940: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70  c $(TOP)\src\exp
a950: 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24  r.c..fault.lo:.$
a960: 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e  (TOP)\src\fault.
a970: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
a980: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
a990: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
a9a0: 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e  (TOP)\src\fault.
a9b0: 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f  c..fkey.lo:.$(TO
a9c0: 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24 28  P)\src\fkey.c $(
a9d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
a9e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
a9f0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
aa00: 29 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75  )\src\fkey.c..fu
aa10: 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  nc.lo:.$(TOP)\sr
aa20: 63 5c 66 75 6e 63 2e 63 20 24 28 48 44 52 29 0a  c\func.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 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e  \func.c..global.
aa70: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 67  lo:.$(TOP)\src\g
aa80: 6c 6f 62 61 6c 2e 63 20 24 28 48 44 52 29 0a 09  lobal.c $(HDR)..
aa90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
aaa0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
aab0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
aac0: 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c  global.c..hash.l
aad0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 68 61  o:.$(TOP)\src\ha
aae0: 73 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  sh.c $(HDR)..$(L
aaf0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ab00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ab10: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73  c $(TOP)\src\has
ab20: 68 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09  h.c..insert.lo:.
ab30: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72  $(TOP)\src\inser
ab40: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
ab50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
ab60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
ab70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65   $(TOP)\src\inse
ab80: 72 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a  rt.c..legacy.lo:
ab90: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61  .$(TOP)\src\lega
aba0: 63 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  cy.c $(HDR)..$(L
abb0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
abc0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
abd0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67  c $(TOP)\src\leg
abe0: 61 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c  acy.c..loadext.l
abf0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f  o:.$(TOP)\src\lo
ac00: 61 64 65 78 74 2e 63 20 24 28 48 44 52 29 0a 09  adext.c $(HDR)..
ac10: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
ac20: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ac30: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
ac40: 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e  loadext.c..main.
ac50: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
ac60: 61 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ain.c $(HDR)..$(
ac70: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ac80: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
ac90: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  -c $(TOP)\src\ma
aca0: 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a  in.c..malloc.lo:
acb0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c  .$(TOP)\src\mall
acc0: 6f 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  oc.c $(HDR)..$(L
acd0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ace0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
acf0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c  c $(TOP)\src\mal
ad00: 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09  loc.c..mem0.lo:.
ad10: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e  $(TOP)\src\mem0.
ad20: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ad30: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ad40: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
ad50: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63  (TOP)\src\mem0.c
ad60: 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50  ..mem1.lo:.$(TOP
ad70: 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48  )\src\mem1.c $(H
ad80: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ad90: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ada0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
adb0: 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d  \src\mem1.c..mem
adc0: 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  2.lo:.$(TOP)\src
add0: 5c 6d 65 6d 32 2e 63 20 24 28 48 44 52 29 0a 09  \mem2.c $(HDR)..
ade0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
adf0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ae00: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
ae10: 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a  mem2.c..mem3.lo:
ae20: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33  .$(TOP)\src\mem3
ae30: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
ae40: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
ae50: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
ae60: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e  $(TOP)\src\mem3.
ae70: 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f  c..mem5.lo:.$(TO
ae80: 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28  P)\src\mem5.c $(
ae90: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
aea0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
aeb0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
aec0: 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65  )\src\mem5.c..me
aed0: 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54  mjournal.lo:.$(T
aee0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e  OP)\src\memjourn
aef0: 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  al.c $(HDR)..$(L
af00: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
af10: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
af20: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem
af30: 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78  journal.c..mutex
af40: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
af50: 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09  mutex.c $(HDR)..
af60: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
af70: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
af80: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
af90: 6d 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e  mutex.c..mutex_n
afa0: 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  oop.lo:.$(TOP)\s
afb0: 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20  rc\mutex_noop.c 
afc0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
afd0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
afe0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
aff0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
b000: 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78  op.c..mutex_unix
b010: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
b020: 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 48  mutex_unix.c $(H
b030: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
b040: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
b050: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
b060: 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e  \src\mutex_unix.
b070: 63 0a 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a  c..mutex_w32.lo:
b080: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65  .$(TOP)\src\mute
b090: 78 5f 77 33 32 2e 63 20 24 28 48 44 52 29 0a 09  x_w32.c $(HDR)..
b0a0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
b0b0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b0c0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
b0d0: 6d 75 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74  mutex_w32.c..not
b0e0: 69 66 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ify.lo:.$(TOP)\s
b0f0: 72 63 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 44  rc\notify.c $(HD
b100: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
b110: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
b120: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
b130: 73 72 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61  src\notify.c..pa
b140: 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ger.lo:.$(TOP)\s
b150: 72 63 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52  rc\pager.c $(HDR
b160: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67  ) $(TOP)\src\pag
b170: 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  er.h..$(LTCOMPIL
b180: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
b190: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
b1a0: 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70  )\src\pager.c..p
b1b0: 63 61 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  cache.lo:.$(TOP)
b1c0: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 24 28  \src\pcache.c $(
b1d0: 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  HDR) $(TOP)\src\
b1e0: 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f  pcache.h..$(LTCO
b1f0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b200: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
b210: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
b220: 2e 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09  .c..pcache1.lo:.
b230: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
b240: 65 31 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  e1.c $(HDR) $(TO
b250: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a  P)\src\pcache.h.
b260: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
b270: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b280: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
b290: 5c 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c  \pcache1.c..os.l
b2a0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  o:.$(TOP)\src\os
b2b0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b2c0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b2d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b2e0: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a  $(TOP)\src\os.c.
b2f0: 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54  .os_unix.lo:.$(T
b300: 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e  OP)\src\os_unix.
b310: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b320: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b330: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
b340: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69  (TOP)\src\os_uni
b350: 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09  x.c..os_win.lo:.
b360: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi
b370: 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  n.c $(HDR)..$(LT
b380: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
b390: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b3a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77   $(TOP)\src\os_w
b3b0: 69 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a  in.c..pragma.lo:
b3c0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67  .$(TOP)\src\prag
b3d0: 6d 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ma.c $(HDR)..$(L
b3e0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
b3f0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b400: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61  c $(TOP)\src\pra
b410: 67 6d 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c  gma.c..prepare.l
b420: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  o:.$(TOP)\src\pr
b430: 65 70 61 72 65 2e 63 20 24 28 48 44 52 29 0a 09  epare.c $(HDR)..
b440: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
b450: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b460: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
b470: 70 72 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74  prepare.c..print
b480: 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  f.lo:.$(TOP)\src
b490: 5c 70 72 69 6e 74 66 2e 63 20 24 28 48 44 52 29  \printf.c $(HDR)
b4a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
b4b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b4c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
b4d0: 63 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64  c\printf.c..rand
b4e0: 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  om.lo:.$(TOP)\sr
b4f0: 63 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52  c\random.c $(HDR
b500: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
b510: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
b520: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
b530: 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73  rc\random.c..res
b540: 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  olve.lo:.$(TOP)\
b550: 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28  src\resolve.c $(
b560: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
b570: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
b580: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
b590: 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a  )\src\resolve.c.
b5a0: 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f  .rowset.lo:.$(TO
b5b0: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c 
b5c0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b5d0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b5e0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b5f0: 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63  OP)\src\rowset.c
b600: 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54  ..select.lo:.$(T
b610: 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63  OP)\src\select.c
b620: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b630: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b640: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b650: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e  TOP)\src\select.
b660: 63 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28  c..status.lo:.$(
b670: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e  TOP)\src\status.
b680: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b690: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b6a0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
b6b0: 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73  (TOP)\src\status
b6c0: 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28  .c..table.lo:.$(
b6d0: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
b6e0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b6f0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b700: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b710: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
b720: 0a 0a 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28  ..threads.lo:.$(
b730: 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73  TOP)\src\threads
b740: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b750: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b760: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b770: 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61  $(TOP)\src\threa
b780: 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c  ds.c..tokenize.l
b790: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f  o:.$(TOP)\src\to
b7a0: 6b 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64  kenize.c keyword
b7b0: 68 61 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24  hash.h $(HDR)..$
b7c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
b7d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b7e0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
b7f0: 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76  okenize.c..treev
b800: 69 65 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  iew.lo:.$(TOP)\s
b810: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 24 28  rc\treeview.c $(
b820: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
b830: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
b840: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
b850: 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63  )\src\treeview.c
b860: 0a 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28  ..trigger.lo:.$(
b870: 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72  TOP)\src\trigger
b880: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b890: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b8a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b8b0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67  $(TOP)\src\trigg
b8c0: 65 72 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a  er.c..update.lo:
b8d0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61  .$(TOP)\src\upda
b8e0: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
b8f0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
b900: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b910: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64  c $(TOP)\src\upd
b920: 61 74 65 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24  ate.c..utf.lo:.$
b930: 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20  (TOP)\src\utf.c 
b940: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b950: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b960: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b970: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75  OP)\src\utf.c..u
b980: 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  til.lo:.$(TOP)\s
b990: 72 63 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 29  rc\util.c $(HDR)
b9a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
b9b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b9c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
b9d0: 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d  c\util.c..vacuum
b9e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
b9f0: 76 61 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a  vacuum.c $(HDR).
ba00: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
ba10: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
ba20: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
ba30: 5c 76 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e  \vacuum.c..vdbe.
ba40: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
ba50: 64 62 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  dbe.c $(HDR)..$(
ba60: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ba70: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
ba80: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
ba90: 62 65 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f  be.c..vdbeapi.lo
baa0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
bab0: 65 61 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24  eapi.c $(HDR)..$
bac0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
bad0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
bae0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
baf0: 64 62 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75  dbeapi.c..vdbeau
bb00: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  x.lo:.$(TOP)\src
bb10: 5c 76 64 62 65 61 75 78 2e 63 20 24 28 48 44 52  \vdbeaux.c $(HDR
bb20: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
bb30: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
bb40: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
bb50: 72 63 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 64  rc\vdbeaux.c..vd
bb60: 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50  beblob.lo:.$(TOP
bb70: 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63  )\src\vdbeblob.c
bb80: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
bb90: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
bba0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
bbb0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f  TOP)\src\vdbeblo
bbc0: 62 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a  b.c..vdbemem.lo:
bbd0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
bbe0: 6d 65 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28  mem.c $(HDR)..$(
bbf0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
bc00: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
bc10: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
bc20: 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72  bemem.c..vdbesor
bc30: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src
bc40: 5c 76 64 62 65 73 6f 72 74 2e 63 20 24 28 48 44  \vdbesort.c $(HD
bc50: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
bc60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
bc70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
bc80: 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a  src\vdbesort.c..
bc90: 76 64 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28  vdbetrace.lo:.$(
bca0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61  TOP)\src\vdbetra
bcb0: 63 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ce.c $(HDR)..$(L
bcc0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
bcd0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
bce0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb
bcf0: 65 74 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c  etrace.c..vtab.l
bd00: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 74  o:.$(TOP)\src\vt
bd10: 61 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ab.c $(HDR)..$(L
bd20: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
bd30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
bd40: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61  c $(TOP)\src\vta
bd50: 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54  b.c..wal.lo:.$(T
bd60: 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28  OP)\src\wal.c $(
bd70: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
bd80: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
bd90: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
bda0: 29 5c 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c  )\src\wal.c..wal
bdb0: 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ker.lo:.$(TOP)\s
bdc0: 72 63 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48 44  rc\walker.c $(HD
bdd0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
bde0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
bdf0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
be00: 73 72 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68  src\walker.c..wh
be10: 65 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ere.lo:.$(TOP)\s
be20: 72 63 5c 77 68 65 72 65 2e 63 20 24 28 48 44 52  rc\where.c $(HDR
be30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
be40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
be50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
be60: 72 63 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 72  rc\where.c..wher
be70: 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  ecode.lo:.$(TOP)
be80: 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63  \src\wherecode.c
be90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
bea0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
beb0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
bec0: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f  TOP)\src\whereco
bed0: 64 65 2e 63 0a 0a 77 68 65 72 65 65 78 70 72 2e  de.c..whereexpr.
bee0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77  lo:.$(TOP)\src\w
bef0: 68 65 72 65 65 78 70 72 2e 63 20 24 28 48 44 52  hereexpr.c $(HDR
bf00: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
bf10: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
bf20: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
bf30: 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a  rc\whereexpr.c..
bf40: 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 28  tclsqlite.lo:.$(
bf50: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
bf60: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
bf70: 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57  TCOMPILE) $(NO_W
bf80: 41 52 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53  ARN) -DUSE_TCL_S
bf90: 54 55 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73  TUBS=1 -DBUILD_s
bfa0: 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43  qlite -I$(TCLINC
bfb0: 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  DIR) -c $(TOP)\s
bfc0: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a  rc\tclsqlite.c..
bfd0: 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e  tclsqlite-shell.
bfe0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t
bff0: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52  clsqlite.c $(HDR
c000: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c010: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c  $(NO_WARN) -DTCL
c020: 53 48 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c  SH=1 -DBUILD_sql
c030: 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI
c040: 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  R) -c $(TOP)\src
c050: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63  \tclsqlite.c..tc
c060: 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 63  lsqlite3.exe:.tc
c070: 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f  lsqlite-shell.lo
c080: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
c090: 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45  QLITE3H) $(LIBRE
c0a0: 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b  SOBJS)..$(LTLINK
c0b0: 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  ) $(SQLITE3C) /l
c0c0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
c0d0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L
c0e0: 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a  TLIBPATHS) /OUT:
c0f0: 24 40 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65  $@ tclsqlite-she
c100: 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42  ll.lo $(LIBRESOB
c110: 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  JS) $(LTLIBS) $(
c120: 54 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20  TLIBS)..# Rules 
c130: 74 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73  to build opcodes
c140: 2e 63 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68  .c and opcodes.h
c150: 0a 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70  .#.opcodes.c:.op
c160: 63 6f 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74  codes.h $(TOP)\t
c170: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63  ool\mkopcodec.tc
c180: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  l..$(TCLSH_CMD) 
c190: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70  $(TOP)\tool\mkop
c1a0: 63 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65  codec.tcl opcode
c1b0: 73 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a  s.h > opcodes.c.
c1c0: 0a 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73  .opcodes.h:.pars
c1d0: 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  e.h $(TOP)\src\v
c1e0: 64 62 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f  dbe.c $(TOP)\too
c1f0: 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a  l\mkopcodeh.tcl.
c200: 09 74 79 70 65 20 70 61 72 73 65 2e 68 20 24 28  .type parse.h $(
c210: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20  TOP)\src\vdbe.c 
c220: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
c230: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63  (TOP)\tool\mkopc
c240: 6f 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64  odeh.tcl > opcod
c250: 65 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f  es.h..# Rules to
c260: 20 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61   build parse.c a
c270: 6e 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65  nd parse.h - the
c280: 20 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f   outputs of lemo
c290: 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61  n..#.parse.h:.pa
c2a0: 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09  rse.c..parse.c:.
c2b0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65  $(TOP)\src\parse
c2c0: 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54  .y lemon.exe $(T
c2d0: 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f  OP)\tool\addopco
c2e0: 64 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20  des.tcl..del /Q 
c2f0: 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20  parse.y parse.h 
c300: 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e  parse.h.temp 2>N
c310: 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  UL..copy $(TOP)\
c320: 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e  src\parse.y ....
c330: 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51  \lemon.exe $(REQ
c340: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
c350: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL
c360: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU
c370: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53  RE_FLAGS) $(OPTS
c380: 29 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20  ) parse.y..move 
c390: 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e  parse.h parse.h.
c3a0: 74 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d  temp..$(TCLSH_CM
c3b0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61  D) $(TOP)\tool\a
c3c0: 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61  ddopcodes.tcl pa
c3d0: 72 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72  rse.h.temp > par
c3e0: 73 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48  se.h..$(SQLITE3H
c3f0: 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  ):.$(TOP)\src\sq
c400: 6c 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29  lite.h.in $(TOP)
c410: 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24  \manifest.uuid $
c420: 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 24  (TOP)\VERSION..$
c430: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
c440: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65  P)\tool\mksqlite
c450: 33 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c 3d 2f  3h.tcl $(TOP:\=/
c460: 29 20 3e 20 24 28 53 51 4c 49 54 45 33 48 29 0a  ) > $(SQLITE3H).
c470: 0a 73 71 6c 69 74 65 33 65 78 74 2e 68 3a 09 2e  .sqlite3ext.h:..
c480: 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 09 63  target_source..c
c490: 6f 70 79 20 74 73 72 63 5c 73 71 6c 69 74 65 33  opy tsrc\sqlite3
c4a0: 65 78 74 2e 68 20 2e 0a 0a 6d 6b 6b 65 79 77 6f  ext.h ...mkkeywo
c4b0: 72 64 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f  rdhash.exe:.$(TO
c4c0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72  P)\tool\mkkeywor
c4d0: 64 68 61 73 68 2e 63 0a 09 24 28 42 43 43 29 20  dhash.c..$(BCC) 
c4e0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40  $(NO_WARN) -Fe$@
c4f0: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
c500: 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54  LAGS) $(OPT_FEAT
c510: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54  URE_FLAGS) $(EXT
c520: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
c530: 24 28 4f 50 54 53 29 20 5c 0a 09 09 24 28 54 4f  $(OPTS) \...$(TO
c540: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72  P)\tool\mkkeywor
c550: 64 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20 24 28  dhash.c /link $(
c560: 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49  LDFLAGS) $(NLTLI
c570: 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42  NKOPTS) $(NLTLIB
c580: 50 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72 64 68  PATHS)..keywordh
c590: 61 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c 74 6f  ash.h:.$(TOP)\to
c5a0: 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68  ol\mkkeywordhash
c5b0: 2e 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68  .c mkkeywordhash
c5c0: 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77 6f 72  .exe...\mkkeywor
c5d0: 64 68 61 73 68 2e 65 78 65 20 3e 20 6b 65 79 77  dhash.exe > keyw
c5e0: 6f 72 64 68 61 73 68 2e 68 0a 0a 0a 0a 23 20 52  ordhash.h....# R
c5f0: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68  ules to build th
c600: 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65  e extension obje
c610: 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24  cts..#.icu.lo:.$
c620: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63  (TOP)\ext\icu\ic
c630: 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  u.c $(HDR) $(EXT
c640: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c650: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c660: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
c670: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
c680: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 69   -c $(TOP)\ext\i
c690: 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e 6c  cu\icu.c..fts2.l
c6a0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
c6b0: 73 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52 29  s2\fts2.c $(HDR)
c6c0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
c6d0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c6e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
c6f0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
c700: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
c710: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63  \ext\fts2\fts2.c
c720: 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a 09  ..fts2_hash.lo:.
c730: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
c740: 66 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48 44  fts2_hash.c $(HD
c750: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
c760: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c770: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c780: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
c790: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
c7a0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
c7b0: 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69 63  _hash.c..fts2_ic
c7c0: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext
c7d0: 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63  \fts2\fts2_icu.c
c7e0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
c7f0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c800: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c810: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
c820: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
c830: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
c840: 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74 73  \fts2_icu.c..fts
c850: 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54  2_porter.lo:.$(T
c860: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
c870: 32 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52  2_porter.c $(HDR
c880: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
c890: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c8a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
c8b0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
c8c0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
c8d0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
c8e0: 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f 74  porter.c..fts2_t
c8f0: 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54  okenizer.lo:.$(T
c900: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
c910: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28  2_tokenizer.c $(
c920: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
c930: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c940: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c950: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
c960: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
c970: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
c980: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a  s2_tokenizer.c..
c990: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts2_tokenizer1.
c9a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
c9b0: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
c9c0: 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45  er1.c $(HDR) $(E
c9d0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
c9e0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c9f0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
ca00: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
ca10: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
ca20: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
ca30: 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f  izer1.c..fts3.lo
ca40: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
ca50: 33 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29 20  3\fts3.c $(HDR) 
ca60: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
ca70: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
ca80: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
ca90: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
caa0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
cab0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 0a  ext\fts3\fts3.c.
cac0: 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 28  .fts3_aux.lo:.$(
cad0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
cae0: 73 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29 20  s3_aux.c $(HDR) 
caf0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
cb00: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cb10: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
cb20: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
cb30: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
cb40: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75  ext\fts3\fts3_au
cb50: 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e 6c  x.c..fts3_expr.l
cb60: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
cb70: 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 24  s3\fts3_expr.c $
cb80: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
cb90: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cba0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cbb0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
cbc0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
cbd0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
cbe0: 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73 33  ts3_expr.c..fts3
cbf0: 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29  _hash.lo:.$(TOP)
cc00: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68  \ext\fts3\fts3_h
cc10: 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45  ash.c $(HDR) $(E
cc20: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
cc30: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cc40: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
cc50: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
cc60: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
cc70: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
cc80: 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a 09  c..fts3_icu.lo:.
cc90: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
cca0: 66 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44 52  fts3_icu.c $(HDR
ccb0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
ccc0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ccd0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
cce0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
ccf0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
cd00: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
cd10: 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69 70  icu.c..fts3_snip
cd20: 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  pet.lo:.$(TOP)\e
cd30: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69  xt\fts3\fts3_sni
cd40: 70 70 65 74 2e 63 20 24 28 48 44 52 29 20 24 28  ppet.c $(HDR) $(
cd50: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
cd60: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
cd70: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
cd80: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
cd90: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
cda0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70  t\fts3\fts3_snip
cdb0: 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 74  pet.c..fts3_port
cdc0: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  er.lo:.$(TOP)\ex
cdd0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74  t\fts3\fts3_port
cde0: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  er.c $(HDR) $(EX
cdf0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
ce00: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ce10: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
ce20: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
ce30: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
ce40: 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72  fts3\fts3_porter
ce50: 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  .c..fts3_tokeniz
ce60: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  er.lo:.$(TOP)\ex
ce70: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
ce80: 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24  nizer.c $(HDR) $
ce90: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
cea0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ceb0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
cec0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
ced0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
cee0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
cef0: 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f 74  enizer.c..fts3_t
cf00: 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28  okenizer1.lo:.$(
cf10: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
cf20: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s3_tokenizer1.c 
cf30: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
cf40: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cf50: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cf60: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
cf70: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
cf80: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
cf90: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
cfa0: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  c..fts3_tokenize
cfb0: 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29  _vtab.lo:.$(TOP)
cfc0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
cfd0: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 24  okenize_vtab.c $
cfe0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
cff0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d000: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d010: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
d020: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
d030: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
d040: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
d050: 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64  b.c..fts3_unicod
d060: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  e.lo:.$(TOP)\ext
d070: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
d080: 64 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  de.c $(HDR) $(EX
d090: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
d0a0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d0b0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
d0c0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
d0d0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
d0e0: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64  fts3\fts3_unicod
d0f0: 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64  e.c..fts3_unicod
d100: 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  e2.lo:.$(TOP)\ex
d110: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
d120: 6f 64 65 32 2e 63 20 24 28 48 44 52 29 20 24 28  ode2.c $(HDR) $(
d130: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
d140: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d150: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
d160: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
d170: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
d180: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
d190: 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72 69  ode2.c..fts3_wri
d1a0: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  te.lo:.$(TOP)\ex
d1b0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74  t\fts3\fts3_writ
d1c0: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  e.c $(HDR) $(EXT
d1d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d1e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d1f0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
d200: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
d210: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
d220: 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63  ts3\fts3_write.c
d230: 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f  ..rtree.lo:.$(TO
d240: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72  P)\ext\rtree\rtr
d250: 65 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  ee.c $(HDR) $(EX
d260: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
d270: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d280: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
d290: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
d2a0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
d2b0: 72 74 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a 23  rtree\rtree.c..#
d2c0: 20 46 54 53 35 20 74 68 69 6e 67 73 0a 23 0a 46   FTS5 things.#.F
d2d0: 54 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24  TS5_SRC = \.   $
d2e0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
d2f0: 74 73 35 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  ts5.h \.   $(TOP
d300: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 49  )\ext\fts5\fts5I
d310: 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  nt.h \.   $(TOP)
d320: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 61  \ext\fts5\fts5_a
d330: 75 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ux.c \.   $(TOP)
d340: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 62  \ext\fts5\fts5_b
d350: 75 66 66 65 72 2e 63 20 5c 0a 20 20 20 24 28 54  uffer.c \.   $(T
d360: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
d370: 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28  5_main.c \.   $(
d380: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
d390: 73 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20  s5_config.c \.  
d3a0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
d3b0: 5c 66 74 73 35 5f 65 78 70 72 2e 63 20 5c 0a 20  \fts5_expr.c \. 
d3c0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
d3d0: 35 5c 66 74 73 35 5f 68 61 73 68 2e 63 20 5c 0a  5\fts5_hash.c \.
d3e0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
d3f0: 73 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e 63 20  s5\fts5_index.c 
d400: 5c 0a 20 20 20 66 74 73 35 70 61 72 73 65 2e 63  \.   fts5parse.c
d410: 20 66 74 73 35 70 61 72 73 65 2e 68 20 5c 0a 20   fts5parse.h \. 
d420: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
d430: 35 5c 66 74 73 35 5f 73 74 6f 72 61 67 65 2e 63  5\fts5_storage.c
d440: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
d450: 5c 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b 65 6e  \fts5\fts5_token
d460: 69 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ize.c \.   $(TOP
d470: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
d480: 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 20  unicode2.c \.   
d490: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
d4a0: 66 74 73 35 5f 76 61 72 69 6e 74 2e 63 20 5c 0a  fts5_varint.c \.
d4b0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
d4c0: 73 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e 63 0a  s5\fts5_vocab.c.
d4d0: 0a 66 74 73 35 70 61 72 73 65 2e 63 3a 09 24 28  .fts5parse.c:.$(
d4e0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
d4f0: 73 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e  s5parse.y lemon.
d500: 65 78 65 0a 09 63 6f 70 79 20 24 28 54 4f 50 29  exe..copy $(TOP)
d510: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61  \ext\fts5\fts5pa
d520: 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f 51 20  rse.y ...del /Q 
d530: 66 74 73 35 70 61 72 73 65 2e 68 20 32 3e 4e 55  fts5parse.h 2>NU
d540: 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24  L...\lemon.exe $
d550: 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41  (REQ_FEATURE_FLA
d560: 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52  GS) $(OPT_FEATUR
d570: 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46  E_FLAGS) $(EXT_F
d580: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
d590: 4f 50 54 53 29 20 66 74 73 35 70 61 72 73 65 2e  OPTS) fts5parse.
d5a0: 79 0a 0a 66 74 73 35 70 61 72 73 65 2e 68 3a 09  y..fts5parse.h:.
d5b0: 66 74 73 35 70 61 72 73 65 2e 63 0a 0a 66 74 73  fts5parse.c..fts
d5c0: 35 2e 63 3a 09 24 28 46 54 53 35 5f 53 52 43 29  5.c:.$(FTS5_SRC)
d5d0: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
d5e0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 74  (TOP)\ext\fts5\t
d5f0: 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63 6c 0a  ool\mkfts5c.tcl.
d600: 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74  .copy $(TOP)\ext
d610: 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 2e 0a 0a  \fts5\fts5.h ...
d620: 66 74 73 35 2e 6c 6f 3a 09 66 74 73 35 2e 63 20  fts5.lo:.fts5.c 
d630: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
d640: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d650: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d660: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
d670: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
d680: 66 74 73 35 2e 63 0a 0a 66 74 73 35 5f 65 78 74  fts5.c..fts5_ext
d690: 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44  .lo:.fts5.c $(HD
d6a0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
d6b0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f  LTCOMPILE) $(NO_
d6c0: 57 41 52 4e 29 20 2d 63 20 66 74 73 35 2e 63 0a  WARN) -c fts5.c.
d6d0: 0a 66 74 73 35 2e 64 6c 6c 3a 09 66 74 73 35 5f  .fts5.dll:.fts5_
d6e0: 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28  ext.lo..$(LD) $(
d6f0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
d700: 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA
d710: 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24  THS) /DLL /OUT:$
d720: 40 20 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a 73  @ fts5_ext.lo..s
d730: 71 6c 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24 28  qlite3rbu.lo:.$(
d740: 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
d750: 69 74 65 33 72 62 75 2e 63 20 24 28 48 44 52 29  ite3rbu.c $(HDR)
d760: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
d770: 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54  COMPILE) -DSQLIT
d780: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
d790: 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33  \ext\rbu\sqlite3
d7a0: 72 62 75 2e 63 0a 0a 23 20 52 75 6c 65 73 20 74  rbu.c..# Rules t
d7b0: 6f 20 62 75 69 6c 64 20 74 68 65 20 27 74 65 73  o build the 'tes
d7c0: 74 66 69 78 74 75 72 65 27 20 61 70 70 6c 69 63  tfixture' applic
d7d0: 61 74 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75 73  ation..#.# If us
d7e0: 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61  ing the amalgama
d7f0: 74 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74 65  tion, use sqlite
d800: 33 2e 63 20 64 69 72 65 63 74 6c 79 20 74 6f 20  3.c directly to 
d810: 62 75 69 6c 64 20 74 68 65 20 74 65 73 74 0a 23  build the test.#
d820: 20 66 69 78 74 75 72 65 2e 20 20 4f 74 68 65 72   fixture.  Other
d830: 77 69 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73  wise link agains
d840: 74 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62  t libsqlite3.lib
d850: 2e 20 20 28 54 68 69 73 20 64 69 73 74 69 6e 63  .  (This distinc
d860: 74 69 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73 73  tion is.# necess
d870: 61 72 79 20 62 65 63 61 75 73 65 20 74 68 65 20  ary because the 
d880: 74 65 73 74 20 66 69 78 74 75 72 65 20 72 65 71  test fixture req
d890: 75 69 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73 79  uires non-API sy
d8a0: 6d 62 6f 6c 73 20 77 68 69 63 68 20 61 72 65 0a  mbols which are.
d8b0: 23 20 68 69 64 64 65 6e 20 77 68 65 6e 20 74 68  # hidden when th
d8c0: 65 20 6c 69 62 72 61 72 79 20 69 73 20 62 75 69  e library is bui
d8d0: 6c 74 20 76 69 61 20 74 68 65 20 61 6d 61 6c 67  lt via the amalg
d8e0: 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53 54  amation)..#.TEST
d8f0: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
d900: 2d 44 54 43 4c 53 48 3d 31 20 2d 44 53 51 4c 49  -DTCLSH=1 -DSQLI
d910: 54 45 5f 54 45 53 54 3d 31 20 2d 44 53 51 4c 49  TE_TEST=1 -DSQLI
d920: 54 45 5f 43 52 41 53 48 5f 54 45 53 54 3d 31 0a  TE_CRASH_TEST=1.
d930: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
d940: 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR
d950: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
d960: 45 5f 53 45 52 56 45 52 3d 31 20 2d 44 53 51 4c  E_SERVER=1 -DSQL
d970: 49 54 45 5f 50 52 49 56 41 54 45 3d 22 22 0a 54  ITE_PRIVATE="".T
d980: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
d990: 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
d9a0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
d9b0: 5f 43 4f 52 45 20 24 28 4e 4f 5f 57 41 52 4e 29  _CORE $(NO_WARN)
d9c0: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
d9d0: 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU
d9e0: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
d9f0: 54 45 5f 53 45 52 49 45 53 5f 43 4f 4e 53 54 52  TE_SERIES_CONSTR
da00: 41 49 4e 54 5f 56 45 52 49 46 59 3d 31 0a 54 45  AINT_VERIFY=1.TE
da10: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
da20: 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
da30: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
da40: 44 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a  DEFAULT_PAGE_SIZ
da50: 45 3d 31 30 32 34 0a 0a 54 45 53 54 46 49 58 54  E=1024..TESTFIXT
da60: 55 52 45 5f 53 52 43 30 20 3d 20 24 28 54 45 53  URE_SRC0 = $(TES
da70: 54 45 58 54 29 20 24 28 54 45 53 54 53 52 43 32  TEXT) $(TESTSRC2
da80: 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  ).TESTFIXTURE_SR
da90: 43 31 20 3d 20 24 28 54 45 53 54 45 58 54 29 20  C1 = $(TESTEXT) 
daa0: 24 28 53 51 4c 49 54 45 33 43 29 0a 21 49 46 20  $(SQLITE3C).!IF 
dab0: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI
dac0: 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 49 58 54 55  ON)==0.TESTFIXTU
dad0: 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53  RE_SRC = $(TESTS
dae0: 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  RC) $(TOP)\src\t
daf0: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53  clsqlite.c $(TES
db00: 54 46 49 58 54 55 52 45 5f 53 52 43 30 29 0a 21  TFIXTURE_SRC0).!
db10: 45 4c 53 45 0a 54 45 53 54 46 49 58 54 55 52 45  ELSE.TESTFIXTURE
db20: 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43  _SRC = $(TESTSRC
db30: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  ) $(TOP)\src\tcl
db40: 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46  sqlite.c $(TESTF
db50: 49 58 54 55 52 45 5f 53 52 43 31 29 0a 21 45 4e  IXTURE_SRC1).!EN
db60: 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75 72 65  DIF..testfixture
db70: 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49 58 54  .exe:.$(TESTFIXT
db80: 55 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54  URE_SRC) $(SQLIT
db90: 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  E3H) $(LIBRESOBJ
dba0: 53 29 20 24 28 48 44 52 29 0a 09 24 28 4c 54 4c  S) $(HDR)..$(LTL
dbb0: 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f  INK) -DSQLITE_NO
dbc0: 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49  _SYNC=1 $(TESTFI
dbd0: 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09  XTURE_FLAGS) \..
dbe0: 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20  .-DBUILD_sqlite 
dbf0: 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c  -I$(TCLINCDIR) \
dc00: 0a 09 09 24 28 54 45 53 54 46 49 58 54 55 52 45  ...$(TESTFIXTURE
dc10: 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20  _SRC) \.../link 
dc20: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
dc30: 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  INKOPTS) $(LTLIB
dc40: 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO
dc50: 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24  BJS) $(LTLIBS) $
dc60: 28 54 4c 49 42 53 29 0a 0a 65 78 74 65 6e 73 69  (TLIBS)..extensi
dc70: 6f 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78 74  ontest:.testfixt
dc80: 75 72 65 2e 65 78 65 20 74 65 73 74 6c 6f 61 64  ure.exe testload
dc90: 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74 20 50 41  ext.dll..@set PA
dca0: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
dcb0: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
dcc0: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
dcd0: 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65 78 74 2e  P)\test\loadext.
dce0: 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS)
dcf0: 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24 28 54 45  ..fulltest:.$(TE
dd00: 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73  STPROGS) fuzztes
dd10: 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  t..@set PATH=$(L
dd20: 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
dd30: 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
dd40: 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
dd50: 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28 54 45 53  t\all.test $(TES
dd60: 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74 65 73 74  TOPTS)..soaktest
dd70: 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09  :.$(TESTPROGS)..
dd80: 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT
dd90: 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH).
dda0: 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
ddb0: 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61  xe $(TOP)\test\a
ddc0: 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31 20  ll.test -soak=1 
ddd0: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c  $(TESTOPTS)..ful
dde0: 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28 54 45 53  ltestonly:.$(TES
ddf0: 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74  TPROGS) fuzztest
de00: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
de10: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
de20: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
de30: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
de40: 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 65 72  \full.test..quer
de50: 79 70 6c 61 6e 74 65 73 74 3a 09 74 65 73 74 66  yplantest:.testf
de60: 69 78 74 75 72 65 2e 65 78 65 20 73 68 65 6c 6c  ixture.exe shell
de70: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
de80: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
de90: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
dea0: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
deb0: 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73 2e 74 65  \permutations.te
dec0: 73 74 20 71 75 65 72 79 70 6c 61 6e 6e 65 72 20  st queryplanner 
ded0: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 7a  $(TESTOPTS)..fuz
dee0: 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b  ztest:.fuzzcheck
def0: 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63  .exe...\fuzzchec
df00: 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44 41 54 41  k.exe $(FUZZDATA
df10: 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65 73 74 3a  )..fastfuzztest:
df20: 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09  .fuzzcheck.exe..
df30: 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20  .\fuzzcheck.exe 
df40: 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31 30 30 4d  --limit-mem 100M
df50: 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 23 20   $(FUZZDATA)..# 
df60: 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69 6e 67 20  Minimal testing 
df70: 74 68 61 74 20 72 75 6e 73 20 69 6e 20 6c 65 73  that runs in les
df80: 73 20 74 68 61 6e 20 33 20 6d 69 6e 75 74 65 73  s than 3 minutes
df90: 20 28 6f 6e 20 61 20 66 61 73 74 20 6d 61 63 68   (on a fast mach
dfa0: 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74 65 73 74  ine).#.quicktest
dfb0: 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  :.testfixture.ex
dfc0: 65 20 73 6f 75 72 63 65 74 65 73 74 0a 09 40 73  e sourcetest..@s
dfd0: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
dfe0: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
dff0: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
e000: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 65 78 74   $(TOP)\test\ext
e010: 72 61 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54  raquick.test $(T
e020: 45 53 54 4f 50 54 53 29 0a 0a 23 20 54 68 69 73  ESTOPTS)..# This
e030: 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 63   is the common c
e040: 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e 79 20 74  ase.  Run many t
e050: 65 73 74 73 20 74 68 61 74 20 64 6f 20 6e 6f 74  ests that do not
e060: 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67 2c 0a   take too long,.
e070: 23 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 7a 7a  # including fuzz
e080: 63 68 65 63 6b 2c 20 73 71 6c 69 74 65 33 5f 61  check, sqlite3_a
e090: 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20 73 71 6c  nalyzer, and sql
e0a0: 64 69 66 66 20 74 65 73 74 73 2e 0a 23 0a 74 65  diff tests..#.te
e0b0: 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS)
e0c0: 20 73 6f 75 72 63 65 74 65 73 74 20 66 61 73 74   sourcetest fast
e0d0: 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50  fuzztest..@set P
e0e0: 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
e0f0: 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
e100: 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
e110: 4f 50 29 5c 74 65 73 74 5c 76 65 72 79 71 75 69  OP)\test\veryqui
e120: 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  ck.test $(TESTOP
e130: 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 3a 09  TS)..smoketest:.
e140: 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73  $(TESTPROGS)..@s
e150: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
e160: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
e170: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
e180: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6d 61 69   $(TOP)\test\mai
e190: 6e 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54  n.test $(TESTOPT
e1a0: 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c  S)..sqlite3_anal
e1b0: 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c 49 54 45  yzer.c:.$(SQLITE
e1c0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20  3C) $(SQLITE3H) 
e1d0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
e1e0: 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f  lite.c $(TOP)\to
e1f0: 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c  ol\spaceanal.tcl
e200: 0a 09 65 63 68 6f 20 23 64 65 66 69 6e 65 20 54  ..echo #define T
e210: 43 4c 53 48 20 32 20 3e 20 24 40 0a 09 65 63 68  CLSH 2 > $@..ech
e220: 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45  o #define SQLITE
e230: 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56  _ENABLE_DBSTAT_V
e240: 54 41 42 20 31 20 3e 3e 20 24 40 0a 09 63 6f 70  TAB 1 >> $@..cop
e250: 79 20 24 40 20 2b 20 24 28 53 51 4c 49 54 45 33  y $@ + $(SQLITE3
e260: 43 29 20 2b 20 24 28 54 4f 50 29 5c 73 72 63 5c  C) + $(TOP)\src\
e270: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 40 0a 09  tclsqlite.c $@..
e280: 65 63 68 6f 20 73 74 61 74 69 63 20 63 6f 6e 73  echo static cons
e290: 74 20 63 68 61 72 20 2a 74 63 6c 73 68 5f 6d 61  t char *tclsh_ma
e2a0: 69 6e 5f 6c 6f 6f 70 28 76 6f 69 64 29 7b 20 3e  in_loop(void){ >
e2b0: 3e 20 24 40 0a 09 65 63 68 6f 20 73 74 61 74 69  > $@..echo stati
e2c0: 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 7a 4d  c const char *zM
e2d0: 61 69 6e 6c 6f 6f 70 20 3d 20 3e 3e 20 24 40 0a  ainloop = >> $@.
e2e0: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
e2f0: 54 4f 50 29 5c 74 6f 6f 6c 5c 74 6f 73 74 72 2e  TOP)\tool\tostr.
e300: 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  tcl $(TOP)\tool\
e310: 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c 20 3e 3e  spaceanal.tcl >>
e320: 20 24 40 0a 09 65 63 68 6f 20 3b 20 72 65 74 75   $@..echo ; retu
e330: 72 6e 20 7a 4d 61 69 6e 6c 6f 6f 70 3b 20 7d 20  rn zMainloop; } 
e340: 3e 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61  >> $@..sqlite3_a
e350: 6e 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c  nalyzer.exe:.sql
e360: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20  ite3_analyzer.c 
e370: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24  $(LIBRESOBJS)..$
e380: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
e390: 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69  RN) -DBUILD_sqli
e3a0: 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52  te -I$(TCLINCDIR
e3b0: 29 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  ) sqlite3_analyz
e3c0: 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24  er.c \.../link $
e3d0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
e3e0: 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  NKOPTS) $(LTLIBP
e3f0: 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42  ATHS) $(LIBRESOB
e400: 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  JS) $(LTLIBS) $(
e410: 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f 61 64  TLIBS)..testload
e420: 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ext.lo:.$(TOP)\s
e430: 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e  rc\test_loadext.
e440: 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  c..$(LTCOMPILE) 
e450: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28  $(NO_WARN) -c $(
e460: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f  TOP)\src\test_lo
e470: 61 64 65 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61  adext.c..testloa
e480: 64 65 78 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f  dext.dll:.testlo
e490: 61 64 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20  adext.lo..$(LD) 
e4a0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
e4b0: 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  INKOPTS) $(LTLIB
e4c0: 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54  PATHS) /DLL /OUT
e4d0: 3a 24 40 20 74 65 73 74 6c 6f 61 64 65 78 74 2e  :$@ testloadext.
e4e0: 6c 6f 0a 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09  lo..showdb.exe:.
e4f0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
e500: 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  db.c $(SQLITE3C)
e510: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
e520: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
e530: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  N) -DSQLITE_THRE
e540: 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54  ADSAFE=0 -DSQLIT
e550: 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
e560: 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09  NSION -Fe$@ \...
e570: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
e580: 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  db.c $(SQLITE3C)
e590: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
e5a0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
e5b0: 0a 73 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09  .showstat4.exe:.
e5c0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
e5d0: 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45  stat4.c $(SQLITE
e5e0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
e5f0: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
e600: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
e610: 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
e620: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
e630: 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c  XTENSION -Fe$@ \
e640: 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s
e650: 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c  howstat4.c $(SQL
e660: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
e670: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
e680: 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e  OPTS)..showjourn
e690: 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  al.exe:.$(TOP)\t
e6a0: 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e  ool\showjournal.
e6b0: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
e6c0: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
e6d0: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
e6e0: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
e6f0: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
e700: 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
e710: 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54  ON -Fe$@ \...$(T
e720: 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75  OP)\tool\showjou
e730: 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  rnal.c $(SQLITE3
e740: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
e750: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
e760: 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78 65 3a 09  )..showwal.exe:.
e770: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
e780: 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43  wal.c $(SQLITE3C
e790: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
e7a0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
e7b0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
e7c0: 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
e7d0: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
e7e0: 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09  ENSION -Fe$@ \..
e7f0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho
e800: 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  wwal.c $(SQLITE3
e810: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
e820: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
e830: 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65 3a  )..fts3view.exe:
e840: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
e850: 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63  \tool\fts3view.c
e860: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
e870: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
e880: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
e890: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
e8a0: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
e8b0: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
e8c0: 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f  N -Fe$@ \...$(TO
e8d0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c  P)\ext\fts3\tool
e8e0: 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53 51  \fts3view.c $(SQ
e8f0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
e900: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
e910: 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b  KOPTS)..rollback
e920: 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50  -test.exe:.$(TOP
e930: 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d  )\tool\rollback-
e940: 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3
e950: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
e960: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
e970: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
e980: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
e990: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
e9a0: 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a  TENSION -Fe$@ \.
e9b0: 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f  ..$(TOP)\tool\ro
e9c0: 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28  llback-test.c $(
e9d0: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
e9e0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
e9f0: 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74  INKOPTS)..LogEst
ea00: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
ea10: 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c  l\logest.c $(SQL
ea20: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
ea30: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65  ) $(NO_WARN) -Fe
ea40: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c  $@ $(TOP)\tool\L
ea50: 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28  ogEst.c /link $(
ea60: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
ea70: 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e  KOPTS)..wordcoun
ea80: 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65  t.exe:.$(TOP)\te
ea90: 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24  st\wordcount.c $
eaa0: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
eab0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
eac0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
ead0: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
eae0: 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
eaf0: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
eb00: 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29  -Fe$@ \...$(TOP)
eb10: 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e  \test\wordcount.
eb20: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
eb30: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
eb40: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 70  (LTLINKOPTS)..sp
eb50: 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09 24 28  eedtest1.exe:.$(
eb60: 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74  TOP)\test\speedt
eb70: 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33  est1.c $(SQLITE3
eb80: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
eb90: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
eba0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  ARN) -DSQLITE_OM
ebb0: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
ebc0: 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f  N -Fe$@ \...$(TO
ebd0: 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73  P)\test\speedtes
ebe0: 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  t1.c $(SQLITE3C)
ebf0: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
ec00: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
ec10: 0a 72 62 75 2e 65 78 65 3a 09 24 28 54 4f 50 29  .rbu.exe:.$(TOP)
ec20: 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24  \ext\rbu\rbu.c $
ec30: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
ec40: 6c 69 74 65 33 72 62 75 2e 63 20 24 28 53 51 4c  lite3rbu.c $(SQL
ec50: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
ec60: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
ec70: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
ec80: 45 5f 45 4e 41 42 4c 45 5f 52 42 55 20 2d 46 65  E_ENABLE_RBU -Fe
ec90: 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  $@ \...$(TOP)\ex
eca0: 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51  t\rbu\rbu.c $(SQ
ecb0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
ecc0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
ecd0: 4b 4f 50 54 53 29 0a 0a 6d 6f 72 65 63 6c 65 61  KOPTS)..moreclea
ece0: 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f 51  n:.clean..del /Q
ecf0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
ed00: 51 4c 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a 23  QLITE3H) 2>NUL.#
ed10: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61   <</mark>>..clea
ed20: 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78 70  n:..del /Q *.exp
ed30: 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69   *.lo *.ilk *.li
ed40: 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e  b *.obj *.ncb *.
ed50: 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f 20  pdb *.sdf *.suo 
ed60: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e  2>NUL..del /Q *.
ed70: 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64 20  bsc *.def *.cod 
ed80: 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67 20  *.da *.bb *.bbg 
ed90: 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e  *.vc gmon.out 2>
eda0: 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53 51  NUL..del /Q $(SQ
edb0: 4c 49 54 45 33 45 58 45 29 20 24 28 53 51 4c 49  LITE3EXE) $(SQLI
edc0: 54 45 33 44 4c 4c 29 20 52 65 70 6c 61 63 65 2e  TE3DLL) Replace.
edd0: 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61  exe 2>NUL.# <<ma
ede0: 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 73 71 6c  rk>>..del /Q sql
edf0: 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2e 68  ite3.c sqlite3.h
ee00: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6f   2>NUL..del /Q o
ee10: 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65 73  pcodes.c opcodes
ee20: 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
ee30: 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e   lemon.* lempar.
ee40: 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a  c parse.* 2>NUL.
ee50: 09 64 65 6c 20 2f 51 20 6d 6b 6b 65 79 77 6f 72  .del /Q mkkeywor
ee60: 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68  dhash.* keywordh
ee70: 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  ash.h 2>NUL..del
ee80: 20 2f 51 20 6e 6f 74 61 73 68 61 72 65 64 6c 69   /Q notasharedli
ee90: 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69  b.* 2>NUL..-rmdi
eea0: 72 20 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e  r /Q/S .deps 2>N
eeb0: 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20  UL..-rmdir /Q/S 
eec0: 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d  .libs 2>NUL..-rm
eed0: 64 69 72 20 2f 51 2f 53 20 71 75 6f 74 61 32 61  dir /Q/S quota2a
eee0: 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f   2>NUL..-rmdir /
eef0: 51 2f 53 20 71 75 6f 74 61 32 62 20 32 3e 4e 55  Q/S quota2b 2>NU
ef00: 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 71  L..-rmdir /Q/S q
ef10: 75 6f 74 61 32 63 20 32 3e 4e 55 4c 0a 09 2d 72  uota2c 2>NUL..-r
ef20: 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32  mdir /Q/S tsrc 2
ef30: 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61  >NUL..del /Q .ta
ef40: 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55  rget_source 2>NU
ef50: 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c  L..del /Q tclsql
ef60: 69 74 65 33 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  ite3.exe 2>NUL..
ef70: 64 65 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64 65  del /Q testloade
ef80: 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65  xt.dll 2>NUL..de
ef90: 6c 20 2f 51 20 74 65 73 74 66 69 78 74 75 72 65  l /Q testfixture
efa0: 2e 65 78 65 20 74 65 73 74 2e 64 62 20 32 3e 4e  .exe test.db 2>N
efb0: 55 4c 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45 73  UL..del /Q LogEs
efc0: 74 2e 65 78 65 20 66 74 73 33 76 69 65 77 2e 65  t.exe fts3view.e
efd0: 78 65 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74  xe rollback-test
efe0: 2e 65 78 65 20 73 68 6f 77 64 62 2e 65 78 65 20  .exe showdb.exe 
eff0: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68  2>NUL..del /Q sh
f000: 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 20 73 68  owjournal.exe sh
f010: 6f 77 73 74 61 74 34 2e 65 78 65 20 73 68 6f 77  owstat4.exe show
f020: 77 61 6c 2e 65 78 65 20 73 70 65 65 64 74 65 73  wal.exe speedtes
f030: 74 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  t1.exe 2>NUL..de
f040: 6c 20 2f 51 20 6d 70 74 65 73 74 65 72 2e 65 78  l /Q mptester.ex
f050: 65 20 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 20  e wordcount.exe 
f060: 72 62 75 2e 65 78 65 20 73 72 63 63 6b 31 2e 65  rbu.exe srcck1.e
f070: 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
f080: 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c 69 74   sqlite3.c sqlit
f090: 65 33 2d 2a 2e 63 20 32 3e 4e 55 4c 0a 09 64 65  e3-*.c 2>NUL..de
f0a0: 6c 20 2f 51 20 73 71 6c 69 74 65 33 72 63 2e 68  l /Q sqlite3rc.h
f0b0: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
f0c0: 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65 78  hell.c sqlite3ex
f0d0: 74 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  t.h 2>NUL..del /
f0e0: 51 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  Q sqlite3_analyz
f0f0: 65 72 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 61  er.exe sqlite3_a
f100: 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a  nalyzer.c 2>NUL.
f110: 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a  .del /Q sqlite-*
f120: 2d 6f 75 74 70 75 74 2e 76 73 69 78 20 32 3e 4e  -output.vsix 2>N
f130: 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65  UL..del /Q fuzze
f140: 72 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63  rshell.exe fuzzc
f150: 68 65 63 6b 2e 65 78 65 20 73 71 6c 64 69 66 66  heck.exe sqldiff
f160: 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del 
f170: 2f 51 20 66 74 73 35 2e 2a 20 66 74 73 35 70 61  /Q fts5.* fts5pa
f180: 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 23 20 3c 3c  rse.* 2>NUL.# <<
f190: 2f 6d 61 72 6b 3e 3e 0a                          /mark>>.