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

Artifact 836dde6df991bd855e93db1721f9347678cb9cda:


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 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 66 75 6c 6c 20 72 75 6e 74 69 6d 65  ble full runtime
02b0: 20 65 72 72 6f 72 20 63 68 65 63 6b 73 20 28 2d   error checks (-
02c0: 52 54 43 31 2c 20 65 74 63 29 2e 20 20 54 68 69  RTC1, etc).  Thi
02d0: 73 0a 23 20 68 61 73 20 6e 6f 20 65 66 66 65 63  s.# has no effec
02e0: 74 20 69 66 20 28 61 6e 79 29 20 6f 70 74 69 6d  t if (any) optim
02f0: 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61  izations are ena
0300: 62 6c 65 64 2e 0a 23 0a 21 49 46 4e 44 45 46 20  bled..#.!IFNDEF 
0310: 55 53 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43  USE_RUNTIME_CHEC
0320: 4b 53 0a 55 53 45 5f 52 55 4e 54 49 4d 45 5f 43  KS.USE_RUNTIME_C
0330: 48 45 43 4b 53 20 3d 20 30 0a 21 45 4e 44 49 46  HECKS = 0.!ENDIF
0340: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0350: 2d 30 20 74 6f 20 63 72 65 61 74 65 20 61 20 53  -0 to create a S
0360: 51 4c 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69  QLite amalgamati
0370: 6f 6e 20 66 69 6c 65 20 74 68 61 74 20 65 78 63  on file that exc
0380: 6c 75 64 65 73 20 74 68 65 0a 23 20 76 61 72 69  ludes the.# vari
0390: 6f 75 73 20 62 75 69 6c 74 2d 69 6e 20 65 78 74  ous built-in ext
03a0: 65 6e 73 69 6f 6e 73 2e 0a 23 0a 21 49 46 4e 44  ensions..#.!IFND
03b0: 45 46 20 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47  EF MINIMAL_AMALG
03c0: 41 4d 41 54 49 4f 4e 0a 4d 49 4e 49 4d 41 4c 5f  AMATION.MINIMAL_
03d0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 30  AMALGAMATION = 0
03e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
03f0: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65  his non-0 to use
0400: 20 22 73 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69   "stdcall" calli
0410: 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 66 6f  ng convention fo
0420: 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  r the core libra
0430: 72 79 0a 23 20 61 6e 64 20 73 68 65 6c 6c 20 65  ry.# and shell e
0440: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46  xecutable..#.!IF
0450: 4e 44 45 46 20 55 53 45 5f 53 54 44 43 41 4c 4c  NDEF USE_STDCALL
0460: 0a 55 53 45 5f 53 54 44 43 41 4c 4c 20 3d 20 30  .USE_STDCALL = 0
0470: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0480: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76  his non-0 to hav
0490: 65 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63  e the shell exec
04a0: 75 74 61 62 6c 65 20 6c 69 6e 6b 20 61 67 61 69  utable link agai
04b0: 6e 73 74 20 74 68 65 20 63 6f 72 65 20 64 79 6e  nst the core dyn
04c0: 61 6d 69 63 0a 23 20 6c 69 6e 6b 20 6c 69 62 72  amic.# link libr
04d0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 44  ary..#.!IFNDEF D
04e0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 0a 44 59 4e  YNAMIC_SHELL.DYN
04f0: 41 4d 49 43 5f 53 48 45 4c 4c 20 3d 20 30 0a 21  AMIC_SHELL = 0.!
0500: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0510: 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c  s non-0 to enabl
0520: 65 20 65 78 74 72 61 20 63 6f 64 65 20 74 68 61  e extra code tha
0530: 74 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64 65  t attempts to de
0540: 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20 74  tect misuse of t
0550: 68 65 0a 23 20 53 51 4c 69 74 65 20 41 50 49 2e  he.# SQLite API.
0560: 0a 23 0a 21 49 46 4e 44 45 46 20 41 50 49 5f 41  .#.!IFNDEF API_A
0570: 52 4d 4f 52 0a 41 50 49 5f 41 52 4d 4f 52 20 3d  RMOR.API_ARMOR =
0580: 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20   0.!ENDIF..# If 
0590: 6e 65 63 65 73 73 61 72 79 2c 20 63 72 65 61 74  necessary, creat
05a0: 65 20 61 20 6c 69 73 74 20 6f 66 20 68 61 72 6d  e a list of harm
05b0: 6c 65 73 73 20 63 6f 6d 70 69 6c 65 72 20 77 61  less compiler wa
05c0: 72 6e 69 6e 67 73 20 74 6f 20 64 69 73 61 62 6c  rnings to disabl
05d0: 65 20 77 68 65 6e 0a 23 20 63 6f 6d 70 69 6c 69  e when.# compili
05e0: 6e 67 20 74 68 65 20 76 61 72 69 6f 75 73 20 74  ng the various t
05f0: 6f 6f 6c 73 2e 20 20 46 6f 72 20 74 68 65 20 53  ools.  For the S
0600: 51 4c 69 74 65 20 73 6f 75 72 63 65 20 63 6f 64  QLite source cod
0610: 65 20 69 74 73 65 6c 66 2c 20 77 61 72 6e 69 6e  e itself, warnin
0620: 67 73 2c 0a 23 20 69 66 20 61 6e 79 2c 20 77 69  gs,.# if any, wi
0630: 6c 6c 20 62 65 20 64 69 73 61 62 6c 65 64 20 66  ll be disabled f
0640: 72 6f 6d 20 77 69 74 68 69 6e 20 69 74 2e 0a 23  rom within it..#
0650: 0a 21 49 46 4e 44 45 46 20 4e 4f 5f 57 41 52 4e  .!IFNDEF NO_WARN
0660: 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57  .!IF $(USE_FULLW
0670: 41 52 4e 29 21 3d 30 0a 4e 4f 5f 57 41 52 4e 20  ARN)!=0.NO_WARN 
0680: 3d 20 2d 77 64 34 30 35 34 20 2d 77 64 34 30 35  = -wd4054 -wd405
0690: 35 20 2d 77 64 34 31 30 30 20 2d 77 64 34 31 32  5 -wd4100 -wd412
06a0: 37 20 2d 77 64 34 31 33 30 20 2d 77 64 34 31 35  7 -wd4130 -wd415
06b0: 32 20 2d 77 64 34 31 38 39 20 2d 77 64 34 32 30  2 -wd4189 -wd420
06c0: 36 0a 4e 4f 5f 57 41 52 4e 20 3d 20 24 28 4e 4f  6.NO_WARN = $(NO
06d0: 5f 57 41 52 4e 29 20 2d 77 64 34 32 31 30 20 2d  _WARN) -wd4210 -
06e0: 77 64 34 32 33 32 20 2d 77 64 34 33 30 35 20 2d  wd4232 -wd4305 -
06f0: 77 64 34 33 30 36 20 2d 77 64 34 37 30 32 20 2d  wd4306 -wd4702 -
0700: 77 64 34 37 30 36 0a 21 45 4e 44 49 46 0a 21 45  wd4706.!ENDIF.!E
0710: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
0720: 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20 74 68   non-0 to use th
0730: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 20  e library paths 
0740: 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e  and other option
0750: 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 0a  s necessary for.
0760: 23 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  # Windows Phone 
0770: 38 2e 31 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55  8.1..#.!IFNDEF U
0780: 53 45 5f 57 50 38 31 5f 4f 50 54 53 0a 55 53 45  SE_WP81_OPTS.USE
0790: 5f 57 50 38 31 5f 4f 50 54 53 20 3d 20 30 0a 21  _WP81_OPTS = 0.!
07a0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
07b0: 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 70 6c 69 74  s non-0 to split
07c0: 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d 61 6c   the SQLite amal
07d0: 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20 69 6e  gamation file in
07e0: 74 6f 20 63 68 75 6e 6b 73 20 74 6f 0a 23 20 62  to chunks to.# b
07f0: 65 20 75 73 65 64 20 66 6f 72 20 64 65 62 75 67  e used for debug
0800: 67 69 6e 67 20 77 69 74 68 20 56 69 73 75 61 6c  ging with Visual
0810: 20 53 74 75 64 69 6f 2e 0a 23 0a 21 49 46 4e 44   Studio..#.!IFND
0820: 45 46 20 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d  EF SPLIT_AMALGAM
0830: 41 54 49 4f 4e 0a 53 50 4c 49 54 5f 41 4d 41 4c  ATION.SPLIT_AMAL
0840: 47 41 4d 41 54 49 4f 4e 20 3d 20 30 0a 21 45 4e  GAMATION = 0.!EN
0850: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
0860: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0870: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0880: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0890: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
08a0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
08b0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
08c0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
08d0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set 
08e0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
08f0: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0900: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0910: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0920: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0930: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL = 
0940: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
0950: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0960: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0970: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0980: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0990: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
09a0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..# 
09b0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
09c0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
09d0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
09e0: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
09f0: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0a00: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0a10: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0a20: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0a30: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0a40: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0a50: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0a60: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0a70: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0a80: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0a90: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0aa0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during 
0ab0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0ac0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0ad0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0ae0: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0af0: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0b00: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0b10: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries 
0b20: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0b30: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the 
0b40: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0b50: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0b60: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0b70: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0b80: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0b90: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ba0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0bb0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0bc0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0bd0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0be0: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0bf0: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0c00: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0c10: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0c20: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0c30: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0c40: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0c50: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0c60: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0c70: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does 
0c80: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0c90: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0ca0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0cb0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0cc0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text 
0cd0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
0ce0: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
0cf0: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
0d00: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0d10: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
0d20: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
0d30: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
0d40: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
0d50: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
0d60: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
0d70: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
0d80: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
0d90: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
0da0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
0db0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
0dc0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
0dd0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
0de0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0df0: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
0e00: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
0e10: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
0e20: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
0e30: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
0e40: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
0e50: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..# 
0e60: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
0e70: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
0e80: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to 
0e90: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or 
0ea0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
0eb0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
0ec0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
0ed0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
0ee0: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0ef0: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
0f00: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
0f10: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
0f20: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
0f30: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
0f40: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0f50: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
0f60: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
0f70: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
0f80: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
0f90: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
0fa0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
0fb0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
0fc0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
0fd0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap 
0fe0: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
0ff0: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1000: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1010: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this 
1020: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1030: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1040: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1050: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.# 
1060: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1070: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
1080: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
1090: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
10a0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
10b0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
10c0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
10d0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
10e0: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
10f0: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1100: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1110: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1120: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1130: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1140: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for 
1150: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1160: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1170: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
1180: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime 
1190: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
11a0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
11b0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
11c0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
11d0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of 
11e0: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 == 
11f0: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG 
1200: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1210: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1220: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1230: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1240: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1250: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1260: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1270: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
1280: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
1290: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
12a0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native 
12b0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
12c0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
12d0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
12e0: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
12f0: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1300: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1310: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1320: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1330: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1340: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1350: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1360: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1370: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
1380: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
1390: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
13a0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
13b0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
13c0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
13d0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero, 
13e0: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
13f0: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1400: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1410: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1420: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1430: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1440: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS = 
1450: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set 
1460: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1470: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support 
1480: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session 
1490: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
14a0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
14b0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
14c0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
14d0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
14e0: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
14f0: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1500: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they 
1510: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1520: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1530: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $(
1540: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49  SPLIT_AMALGAMATI
1550: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20  ON)!=0.SQLITE3C 
1560: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a  = sqlite3-all.c.
1570: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d  !ELSE.SQLITE3C =
1580: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49   sqlite3.c.!ENDI
1590: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  F.!ENDIF..# Set 
15a0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65  the include code
15b0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64   file to be used
15c0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20   by executables 
15d0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68  and libraries wh
15e0: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53  en.# they need S
15f0: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46  QLite..#.!IFNDEF
1600: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45   SQLITE3H.SQLITE
1610: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21  3H = sqlite3.h.!
1620: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1630: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1640: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
1650: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62  dynamic link lib
1660: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49  rary (DLL)..#.!I
1670: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c  FNDEF SQLITE3DLL
1680: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  .!IF $(FOR_WIN10
1690: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL 
16a0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
16b0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
16c0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
16d0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
16e0: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
16f0: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1700: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1710: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1720: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1730: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN
1740: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49  10)!=0.SQLITE3LI
1750: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c  B = winsqlite3.l
1760: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33  ib.!ELSE.SQLITE3
1770: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69  LIB = sqlite3.li
1780: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  b.!ENDIF.!ENDIF.
1790: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e  .# This is the n
17a0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74  ame to use for t
17b0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20  he SQLite shell 
17c0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29  executable (EXE)
17d0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49  ..#.!IFNDEF SQLI
17e0: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52  TE3EXE.!IF $(FOR
17f0: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1800: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1810: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1820: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1830: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1840: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1850: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1860: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1870: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1880: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1890: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
18a0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
18b0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF 
18c0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
18d0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!=
18e0: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20  0.SQLITE3EXEPDB 
18f0: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45  =.!ELSE.SQLITE3E
1900: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c  XEPDB = /pdb:sql
1910: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49  ite3sh.pdb.!ENDI
1920: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
1930: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65  rk>>.# These are
1940: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68   the names of th
1950: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c  e customized Tcl
1960: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73   header files us
1970: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61  ed by various pa
1980: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61  rts.# of this ma
1990: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20  kefile when the 
19a0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20  stdcall calling 
19b0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e  convention is in
19c0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74   use.  It is not
19d0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20  .# used for any 
19e0: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23  other purpose..#
19f0: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54  .!IFNDEF SQLITET
1a00: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d  CLH.SQLITETCLH =
1a10: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45   sqlite_tcl.h.!E
1a20: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51  NDIF..!IFNDEF SQ
1a30: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51  LITETCLDECLSH.SQ
1a40: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20  LITETCLDECLSH = 
1a50: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e  sqlite_tclDecls.
1a60: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  h.!ENDIF..# Thes
1a70: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69  e are the additi
1a80: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61  onal targets tha
1a90: 74 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68  t the targets th
1aa0: 61 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74  at integrate wit
1ab0: 68 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72  h the.# Tcl libr
1ac0: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e  ary should depen
1ad0: 64 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c  d on when compil
1ae0: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e  ing, etc..#.!IFN
1af0: 44 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44  DEF SQLITE_TCL_D
1b00: 45 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  EP.!IF $(USE_STD
1b10: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
1b20: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49  R_WIN10)!=0.SQLI
1b30: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53  TE_TCL_DEP = $(S
1b40: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH) 
1b50: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E
1b60: 4c 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44  LSE.SQLITE_TCL_D
1b70: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  EP =.!ENDIF.!END
1b80: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
1b90: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
1ba0: 22 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74  "standard" SQLit
1bb0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
1bc0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
1bd0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
1be0: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74  the Windows plat
1bf0: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20  form..#.!IFNDEF 
1c00: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1c10: 53 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f  S.!IF $(MINIMAL_
1c20: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
1c30: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1c40: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1c50: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1c60: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31  TE_ENABLE_FTS3=1
1c70: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1c80: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1c90: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1ca0: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d  TE_ENABLE_RTREE=
1cb0: 31 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41  1.!ENDIF.OPT_FEA
1cc0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O
1cd0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
1ce0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
1cf0: 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54  E_COLUMN_METADAT
1d00: 41 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68  A=1.!ENDIF..# Sh
1d10: 6f 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e  ould the session
1d20: 20 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e   extension be en
1d30: 61 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61  abled?  If so, a
1d40: 64 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f  dd compilation o
1d50: 70 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62  ptions.# to enab
1d60: 6c 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53  le it..#.!IF $(S
1d70: 45 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46  ESSION)!=0.OPT_F
1d80: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
1d90: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
1da0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
1db0: 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50  BLE_SESSION=1.OP
1dc0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
1dd0: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  = $(OPT_FEATURE_
1de0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
1df0: 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
1e00: 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a  _HOOK=1.!ENDIF..
1e10: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
1e20: 22 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74  "extended" SQLit
1e30: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
1e40: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
1e50: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
1e60: 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70  the Windows 10 p
1e70: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44  latform..#.!IFND
1e80: 45 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46  EF EXT_FEATURE_F
1e90: 4c 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57  LAGS.!IF $(FOR_W
1ea0: 49 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41  IN10)!=0.EXT_FEA
1eb0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
1ec0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
1ed0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
1ee0: 45 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41  E_FTS4=1.EXT_FEA
1ef0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
1f00: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
1f10: 29 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45  ) -DSQLITE_SYSTE
1f20: 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46  M_MALLOC=1.EXT_F
1f30: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
1f40: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
1f50: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  GS) -DSQLITE_OMI
1f60: 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45  T_LOCALTIME=1.!E
1f70: 4c 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  LSE.EXT_FEATURE_
1f80: 46 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  FLAGS =.!ENDIF.!
1f90: 45 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23  ENDIF..#########
1fa0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fc0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fe0: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
1ff0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2000: 23 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50  ###### END OF OP
2010: 54 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23  TIONS ##########
2020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2030: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2080: 23 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63  ######..# When c
2090: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65  ompiling for the
20a0: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
20b0: 66 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f  form, the PLATFO
20c0: 52 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65  RM macro must be
20d0: 20 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70   set.# to an app
20e0: 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28  ropriate value (
20f0: 65 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61  e.g. x86, x64, a
2100: 72 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e  rm, arm64, etc).
2110: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
2120: 31 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50  10)!=0.!IFNDEF P
2130: 4c 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55  LATFORM.!ERROR U
2140: 73 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e  sing the FOR_WIN
2150: 31 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72  10 option requir
2160: 65 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50  es a value for P
2170: 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a  LATFORM..!ENDIF.
2180: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61  !ENDIF..# This a
2190: 73 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43  ssumes that MSVC
21a0: 20 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61   is always insta
21b0: 6c 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50  lled in 32-bit P
21c0: 72 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72  rogram Files dir
21d0: 65 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74  ectory.# and set
21e0: 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66  s the variable f
21f0: 6f 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69  or use in locati
2200: 6e 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20  ng other 32-bit 
2210: 69 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69  installs accordi
2220: 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46  ngly..#.PROGRAMF
2230: 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49  ILES_X86 = $(VCI
2240: 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e  NSTALLDIR)\..\..
2250: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  .PROGRAMFILES_X8
2260: 36 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  6 = $(PROGRAMFIL
2270: 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20  ES_X86:\\=\)..# 
2280: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
2290: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
22a0: 20 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73   macro CC.  This
22b0: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f   should point to
22c0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20   the compiler.# 
22d0: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74  binary for the t
22e0: 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20  arget platform. 
22f0: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65   If it is not de
2300: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65  fined, simply de
2310: 66 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65  fine it to.# the
2320: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20   legacy default 
2330: 76 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a  value 'cl.exe'..
2340: 23 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20  #.!IFNDEF CC.CC 
2350: 3d 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a  = cl.exe.!ENDIF.
2360: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
2370: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d   predefined comm
2380: 61 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20  and macro CSC.  
2390: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e  This should poin
23a0: 74 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23  t to a working.#
23b0: 20 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65   C Sharp compile
23c0: 72 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74  r binary.  If it
23d0: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c   is not defined,
23e0: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69   simply define i
23f0: 74 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63  t to the.# legac
2400: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20  y default value 
2410: 27 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46  'csc.exe'..#.!IF
2420: 4e 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63  NDEF CSC.CSC = c
2430: 73 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23  sc.exe.!ENDIF..#
2440: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63   Check for the c
2450: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e  ommand macro LD.
2460: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2470: 69 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65  int to the linke
2480: 72 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74  r binary for.# t
2490: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
24a0: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
24b0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
24c0: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74  y define it to t
24d0: 68 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61  he legacy.# defa
24e0: 75 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e  ult value 'link.
24f0: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20  exe'..#.!IFNDEF 
2500: 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65  LD.LD = link.exe
2510: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
2520: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69   for the predefi
2530: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  ned command macr
2540: 6f 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75  o RC.  This shou
2550: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20  ld point to the 
2560: 72 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69  resource.# compi
2570: 6c 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74  ler binary for t
2580: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
2590: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
25a0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
25b0: 79 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f  y define.# it to
25c0: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61   the legacy defa
25d0: 75 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78  ult value 'rc.ex
25e0: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43  e'..#.!IFNDEF RC
25f0: 0a 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e  .RC = rc.exe.!EN
2600: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  DIF..# Check for
2610: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d   the MSVC runtim
2620: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  e library path m
2630: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
2640: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
2650: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
2660: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f  he 'lib' directo
2670: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68  ry underneath th
2680: 65 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74  e MSVC installat
2690: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23  ion directory..#
26a0: 0a 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50  .!IFNDEF CRTLIBP
26b0: 41 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d  ATH.CRTLIBPATH =
26c0: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29   $(VCINSTALLDIR)
26d0: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54  \lib.!ENDIF..CRT
26e0: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL
26f0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..# 
2700: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f  Check for the co
2710: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e  mmand macro NCC.
2720: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2730: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69  int to the compi
2740: 6c 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72  ler binary.# for
2750: 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68   the platform th
2760: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72  e compilation pr
2770: 6f 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20  ocess is taking 
2780: 70 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74  place on.  If it
2790: 20 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65   is not.# define
27a0: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65  d, simply define
27b0: 20 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20   it to have the 
27c0: 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68  same value as th
27d0: 65 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65  e CC macro.  Whe
27e0: 6e 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c  n.# cross-compil
27f0: 69 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65  ing, it is sugge
2800: 73 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d  sted that this m
2810: 61 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64  acro be modified
2820: 20 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64   via the command
2830: 0a 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e  .# line (since n
2840: 6d 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73  make itself does
2850: 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62   not provide a b
2860: 75 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74  uilt-in method t
2870: 6f 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46  o guess it)..# F
2880: 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75  or example, to u
2890: 73 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69  se the x86 compi
28a0: 6c 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63  ler when cross-c
28b0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34  ompiling for x64
28c0: 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69  , a command.# li
28d0: 6e 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68  ne similar to th
28e0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c  e following coul
28f0: 64 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f  d be used (all o
2900: 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23  n one line):.#.#
2910: 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61       nmake /f Ma
2920: 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74  kefile.msc sqlit
2930: 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20  e3.dll.#        
2940: 20 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53     XCOMPILE=1 US
2950: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48  E_NATIVE_LIBPATH
2960: 53 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74  S=1.#.# Alternat
2970: 69 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20  ively, the full 
2980: 70 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61  path and file na
2990: 6d 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c  me to the compil
29a0: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68  er binary for th
29b0: 65 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65  e.# platform the
29c0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f   compilation pro
29d0: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70  cess is taking p
29e0: 6c 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63  lace may be spec
29f0: 69 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20  ified (all on.# 
2a00: 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20  one line):.#.#  
2a10: 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65     nmake /f Make
2a20: 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33  file.msc sqlite3
2a30: 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20  .dll.#          
2a40: 20 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41   "NCC=""%VCINSTA
2a50: 4c 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78  LLDIR%\bin\cl.ex
2a60: 65 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20  e""".#          
2a70: 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50   USE_NATIVE_LIBP
2a80: 41 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20  ATHS=1.#.!IFDEF 
2a90: 4e 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a  NCC.NCC = $(NCC:
2aa0: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28  \\=\).!ELSEIF $(
2ab0: 58 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43  XCOMPILE)!=0.NCC
2ac0: 20 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44   = "$(VCINSTALLD
2ad0: 49 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e  IR)\bin\$(CC)".N
2ae0: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29  CC = $(NCC:\\=\)
2af0: 0a 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43  .!ELSE.NCC = $(C
2b00: 43 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  C).!ENDIF..# Che
2b10: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20  ck for the MSVC 
2b20: 6e 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c  native runtime l
2b30: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
2b40: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23  o.  Otherwise,.#
2b50: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c   this value will
2b60: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the 
2b70: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20  'lib' directory 
2b80: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d  underneath the M
2b90: 53 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69  SVC.# installati
2ba0: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a  on directory..#.
2bb0: 21 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50  !IFNDEF NCRTLIBP
2bc0: 41 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20  ATH.NCRTLIBPATH 
2bd0: 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52  = $(VCINSTALLDIR
2be0: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43  )\lib.!ENDIF..NC
2bf0: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43  RTLIBPATH = $(NC
2c00: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  RTLIBPATH:\\=\).
2c10: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
2c20: 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69   Platform SDK li
2c30: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f  brary path macro
2c40: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68  .  Otherwise, th
2c50: 69 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20  is.# value will 
2c60: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27  default to the '
2c70: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75  lib' directory u
2c80: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69  nderneath the Wi
2c90: 6e 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74  ndows.# SDK inst
2ca0: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f  allation directo
2cb0: 72 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d  ry (the environm
2cc0: 65 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65  ent variable use
2cd0: 64 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62  d appears.# to b
2ce0: 65 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e  e available when
2cf0: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b   using Visual C+
2d00: 2b 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20  + 2008 or later 
2d10: 76 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e  via the.# comman
2d20: 64 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44  d line)..#.!IFND
2d30: 45 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e  EF NSDKLIBPATH.N
2d40: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57  SDKLIBPATH = $(W
2d50: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
2d60: 62 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49  b.!ENDIF..NSDKLI
2d70: 42 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49  BPATH = $(NSDKLI
2d80: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  BPATH:\\=\)..# C
2d90: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52  heck for the UCR
2da0: 54 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  T library path m
2db0: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
2dc0: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
2dd0: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
2de0: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69  he version-speci
2df0: 66 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70  fic, platform-sp
2e00: 65 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72  ecific 'lib' dir
2e10: 65 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65  ectory.# underne
2e20: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20  ath the Windows 
2e30: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  SDK installation
2e40: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49   directory..#.!I
2e50: 46 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54  FNDEF UCRTLIBPAT
2e60: 48 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20  H.UCRTLIBPATH = 
2e70: 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29  $(WINDOWSSDKDIR)
2e80: 5c 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44  \lib\$(WINDOWSSD
2e90: 4b 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72  KLIBVERSION)\ucr
2ea0: 74 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45  t\$(PLATFORM).!E
2eb0: 4e 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54  NDIF..UCRTLIBPAT
2ec0: 48 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54  H = $(UCRTLIBPAT
2ed0: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d  H:\\=\)..# C com
2ee0: 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e  piler and option
2ef0: 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69  s for use in bui
2f00: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65  lding executable
2f10: 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75  s that.# will ru
2f20: 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72  n on the platfor
2f30: 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20  m that is doing 
2f40: 74 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46  the build..#.!IF
2f50: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29   $(USE_FULLWARN)
2f60: 21 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29  !=0.BCC = $(NCC)
2f70: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43   -nologo -W4 $(C
2f80: 43 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53  COPTS) $(BCCOPTS
2f90: 29 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28  ).!ELSE.BCC = $(
2fa0: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33  NCC) -nologo -W3
2fb0: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS) $(BCC
2fc0: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..# 
2fd0: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
2fe0: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings 
2ff0: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
3000: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
3010: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files 
3020: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
3030: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST
3040: 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24  INGS)!=0.BCC = $
3050: 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (BCC) -FAcs.!END
3060: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74  IF..# Check if t
3070: 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72  he native librar
3080: 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62  y paths should b
3090: 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70  e used when comp
30a0: 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d  iling.# the comm
30b0: 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75  and line tools u
30c0: 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63  sed during the c
30d0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
30e0: 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65  ss.  If.# so, se
30f0: 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  t the necessary 
3100: 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46  macro now..#.!IF
3110: 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49   $(USE_NATIVE_LI
3120: 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49  BPATHS)!=0.NLTLI
3130: 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41  BPATHS = "/LIBPA
3140: 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48  TH:$(NCRTLIBPATH
3150: 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  )" "/LIBPATH:$(N
3160: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49  SDKLIBPATH)"..!I
3170: 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54  FDEF NUCRTLIBPAT
3180: 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d  H.NUCRTLIBPATH =
3190: 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a   $(NUCRTLIBPATH:
31a0: 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48  \\=\).NLTLIBPATH
31b0: 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  S = $(NLTLIBPATH
31c0: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  S) "/LIBPATH:$(N
31d0: 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45  UCRTLIBPATH)".!E
31e0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43  NDIF.!ENDIF..# C
31f0: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
3200: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
3210: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
3220: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
3230: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72  l run on the tar
3240: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28  get platform.  (
3250: 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20  BCC and TCC are 
3260: 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61  usually the.# sa
3270: 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61  me unless your a
3280: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
3290: 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45  ng.).#.!IF $(USE
32a0: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43  _FULLWARN)!=0.TC
32b0: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67  C = $(CC) -nolog
32c0: 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f  o -W4 -DINCLUDE_
32d0: 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54  MSVC_H=1 $(CCOPT
32e0: 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45  S) $(TCCOPTS).!E
32f0: 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20  LSE.TCC = $(CC) 
3300: 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43  -nologo -W3 $(CC
3310: 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29  OPTS) $(TCCOPTS)
3320: 0a 21 45 4e 44 49 46 0a 0a 54 43 43 20 3d 20 24  .!ENDIF..TCC = $
3330: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f  (TCC) -DSQLITE_O
3340: 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28  S_WIN=1 -I. -I$(
3350: 54 4f 50 29 20 2d 49 24 28 54 4f 50 29 5c 73 72  TOP) -I$(TOP)\sr
3360: 63 20 2d 66 70 3a 70 72 65 63 69 73 65 0a 52 43  c -fp:precise.RC
3370: 43 20 3d 20 24 28 52 43 29 20 2d 44 53 51 4c 49  C = $(RC) -DSQLI
3380: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20  TE_OS_WIN=1 -I. 
3390: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50  -I$(TOP) -I$(TOP
33a0: 29 5c 73 72 63 20 24 28 52 43 4f 50 54 53 29 20  )\src $(RCOPTS) 
33b0: 24 28 52 43 43 4f 50 54 53 29 0a 0a 23 20 43 68  $(RCCOPTS)..# Ch
33c0: 65 63 6b 20 69 66 20 77 65 20 77 61 6e 74 20 74  eck if we want t
33d0: 6f 20 75 73 65 20 74 68 65 20 22 73 74 64 63 61  o use the "stdca
33e0: 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76  ll" calling conv
33f0: 65 6e 74 69 6f 6e 20 77 68 65 6e 20 63 6f 6d 70  ention when comp
3400: 69 6c 69 6e 67 2e 0a 23 20 54 68 69 73 20 69 73  iling..# This is
3410: 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62   not supported b
3420: 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 73 20  y the compilers 
3430: 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 70 6c 61 74  for non-x86 plat
3440: 66 6f 72 6d 73 2e 20 20 49 74 20 73 68 6f 75 6c  forms.  It shoul
3450: 64 0a 23 20 61 6c 73 6f 20 62 65 20 6e 6f 74 65  d.# also be note
3460: 64 20 68 65 72 65 20 74 68 61 74 20 62 75 69 6c  d here that buil
3470: 64 69 6e 67 20 61 6e 79 20 74 61 72 67 65 74 20  ding any target 
3480: 77 69 74 68 20 74 68 65 73 65 20 22 73 74 64 63  with these "stdc
3490: 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 0a 23 20 77  all" options.# w
34a0: 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20  ill most likely 
34b0: 66 61 69 6c 20 69 66 20 74 68 65 20 54 63 6c 20  fail if the Tcl 
34c0: 6c 69 62 72 61 72 79 20 69 73 20 61 6c 73 6f 20  library is also 
34d0: 72 65 71 75 69 72 65 64 2e 20 20 54 68 69 73 20  required.  This 
34e0: 69 73 20 64 75 65 0a 23 20 74 6f 20 68 6f 77 20  is due.# to how 
34f0: 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 20  the Tcl library 
3500: 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65  functions are de
3510: 63 6c 61 72 65 64 20 61 6e 64 20 65 78 70 6f 72  clared and expor
3520: 74 65 64 20 28 69 2e 65 2e 20 77 69 74 68 6f 75  ted (i.e. withou
3530: 74 0a 23 20 61 6e 20 65 78 70 6c 69 63 69 74 20  t.# an explicit 
3540: 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69  calling conventi
3550: 6f 6e 2c 20 77 68 69 63 68 20 72 65 73 75 6c 74  on, which result
3560: 73 20 69 6e 20 22 63 64 65 63 6c 22 29 2e 0a 23  s in "cdecl")..#
3570: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA
3580: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
3590: 57 49 4e 31 30 29 21 3d 30 0a 21 49 46 20 22 24  WIN10)!=0.!IF "$
35a0: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38  (PLATFORM)"=="x8
35b0: 36 22 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50  6".CORE_CCONV_OP
35c0: 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54  TS = -Gz -DSQLIT
35d0: 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20  E_CDECL=__cdecl 
35e0: 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c  -DSQLITE_APICALL
35f0: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3600: 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73  ITE_CALLBACK=__s
3610: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3620: 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c  SYSAPI=__stdcall
3630: 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54  .SHELL_CCONV_OPT
3640: 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45  S = -Gz -DSQLITE
3650: 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d  _CDECL=__cdecl -
3660: 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d  DSQLITE_APICALL=
3670: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3680: 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74  TE_CALLBACK=__st
3690: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53  dcall -DSQLITE_S
36a0: 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a  YSAPI=__stdcall.
36b0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f  # <<mark>>.TEST_
36c0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a  CCONV_OPTS = -Gz
36d0: 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d   -DSQLITE_CDECL=
36e0: 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45  __cdecl -DSQLITE
36f0: 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61  _APICALL=__stdca
3700: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c  ll -DSQLITE_CALL
3710: 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  BACK=__stdcall -
3720: 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f  DSQLITE_SYSAPI=_
3730: 5f 73 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55  _stdcall -DINCLU
3740: 44 45 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d  DE_SQLITE_TCL_H=
3750: 31 20 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50  1 -DSQLITE_TCLAP
3760: 49 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d  I=__cdecl.# <</m
3770: 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 21 49 46 4e  ark>>.!ELSE.!IFN
3780: 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 43 4f 52  DEF PLATFORM.COR
3790: 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d  E_CCONV_OPTS = -
37a0: 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43  Gz -DSQLITE_CDEC
37b0: 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49  L=__cdecl -DSQLI
37c0: 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64  TE_APICALL=__std
37d0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41  call -DSQLITE_CA
37e0: 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c  LLBACK=__stdcall
37f0: 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49   -DSQLITE_SYSAPI
3800: 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c  =__stdcall.SHELL
3810: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47  _CCONV_OPTS = -G
3820: 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c  z -DSQLITE_CDECL
3830: 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54  =__cdecl -DSQLIT
3840: 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63  E_APICALL=__stdc
3850: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c  all -DSQLITE_CAL
3860: 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20  LBACK=__stdcall 
3870: 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d  -DSQLITE_SYSAPI=
3880: 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c 3c 6d 61  __stdcall.# <<ma
3890: 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f  rk>>.TEST_CCONV_
38a0: 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c  OPTS = -Gz -DSQL
38b0: 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63  ITE_CDECL=__cdec
38c0: 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41  l -DSQLITE_APICA
38d0: 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  LL=__stdcall -DS
38e0: 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f  QLITE_CALLBACK=_
38f0: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3900: 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61  E_SYSAPI=__stdca
3910: 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f 53 51 4c  ll -DINCLUDE_SQL
3920: 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d 44 53 51  ITE_TCL_H=1 -DSQ
3930: 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f 5f 63 64  LITE_TCLAPI=__cd
3940: 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  ecl.# <</mark>>.
3950: 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56  !ELSE.CORE_CCONV
3960: 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43  _OPTS =.SHELL_CC
3970: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d  ONV_OPTS =.# <<m
3980: 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56  ark>>.TEST_CCONV
3990: 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72  _OPTS =.# <</mar
39a0: 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  k>>.!ENDIF.!ENDI
39b0: 46 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f  F.!ELSE.CORE_CCO
39c0: 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f  NV_OPTS =.SHELL_
39d0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c  CCONV_OPTS =.# <
39e0: 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f  <mark>>.TEST_CCO
39f0: 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d  NV_OPTS =.# <</m
3a00: 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20  ark>>.!ENDIF..# 
3a10: 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69  These are additi
3a20: 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70  onal compiler op
3a30: 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74  tions used for t
3a40: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e  he core library.
3a50: 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f  .#.!IFNDEF CORE_
3a60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46  COMPILE_OPTS.!IF
3a70: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL
3a80: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
3a90: 4e 31 30 29 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d  N10)!=0.CORE_COM
3aa0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f  PILE_OPTS = $(CO
3ab0: 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d  RE_CCONV_OPTS) -
3ac0: 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65  DSQLITE_API=__de
3ad0: 63 6c 73 70 65 63 28 64 6c 6c 65 78 70 6f 72 74  clspec(dllexport
3ae0: 29 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d  ).!ELSE.CORE_COM
3af0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f  PILE_OPTS = $(CO
3b00: 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21  RE_CCONV_OPTS).!
3b10: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
3b20: 54 68 65 73 65 20 61 72 65 20 74 68 65 20 61 64  These are the ad
3b30: 64 69 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 73  ditional targets
3b40: 20 74 68 61 74 20 74 68 65 20 63 6f 72 65 20 6c   that the core l
3b50: 69 62 72 61 72 79 20 73 68 6f 75 6c 64 20 64 65  ibrary should de
3b60: 70 65 6e 64 20 6f 6e 0a 23 20 77 68 65 6e 20 6c  pend on.# when l
3b70: 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  inking..#.!IFNDE
3b80: 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a  F CORE_LINK_DEP.
3b90: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH
3ba0: 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e  ELL)!=0.CORE_LIN
3bb0: 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 45 49 46 20  K_DEP =.!ELSEIF 
3bc0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20  $(FOR_WIN10)==0 
3bd0: 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  || "$(PLATFORM)"
3be0: 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e  =="x86".CORE_LIN
3bf0: 4b 5f 44 45 50 20 3d 20 73 71 6c 69 74 65 33 2e  K_DEP = sqlite3.
3c00: 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c  def.!ELSE.CORE_L
3c10: 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46  INK_DEP =.!ENDIF
3c20: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
3c30: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20   are additional 
3c40: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75  linker options u
3c50: 73 65 64 20 66 6f 72 20 74 68 65 20 63 6f 72 65  sed for the core
3c60: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
3c70: 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50  DEF CORE_LINK_OP
3c80: 54 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  TS.!IF $(DYNAMIC
3c90: 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f  _SHELL)!=0.CORE_
3ca0: 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4c 53  LINK_OPTS =.!ELS
3cb0: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  EIF $(FOR_WIN10)
3cc0: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f  ==0 || "$(PLATFO
3cd0: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
3ce0: 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 2f 44 45  _LINK_OPTS = /DE
3cf0: 46 3a 73 71 6c 69 74 65 33 2e 64 65 66 0a 21 45  F:sqlite3.def.!E
3d00: 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50  LSE.CORE_LINK_OP
3d10: 54 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  TS =.!ENDIF.!END
3d20: 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20  IF..# These are 
3d30: 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69  additional compi
3d40: 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64  ler options used
3d50: 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65   for the shell e
3d60: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46  xecutable..#.!IF
3d70: 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 4d 50 49  NDEF SHELL_COMPI
3d80: 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59  LE_OPTS.!IF $(DY
3d90: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20  NAMIC_SHELL)!=0 
3da0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
3db0: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  =0.SHELL_COMPILE
3dc0: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_
3dd0: 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51  CCONV_OPTS) -DSQ
3de0: 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73  LITE_API=__decls
3df0: 70 65 63 28 64 6c 6c 69 6d 70 6f 72 74 29 0a 21  pec(dllimport).!
3e00: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  ELSE.SHELL_COMPI
3e10: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL
3e20: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45  L_CCONV_OPTS).!E
3e30: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
3e40: 68 69 73 20 69 73 20 74 68 65 20 73 6f 75 72 63  his is the sourc
3e50: 65 20 63 6f 64 65 20 74 68 61 74 20 74 68 65 20  e code that the 
3e60: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  shell executable
3e70: 20 73 68 6f 75 6c 64 20 62 65 20 63 6f 6d 70 69   should be compi
3e80: 6c 65 64 0a 23 20 77 69 74 68 2e 0a 23 0a 21 49  led.# with..#.!I
3e90: 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45  FNDEF SHELL_CORE
3ea0: 5f 53 52 43 0a 21 49 46 20 24 28 44 59 4e 41 4d  _SRC.!IF $(DYNAM
3eb0: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20  IC_SHELL)!=0 || 
3ec0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
3ed0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d  SHELL_CORE_SRC =
3ee0: 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52  .!ELSE.SHELL_COR
3ef0: 45 5f 53 52 43 20 3d 20 24 28 53 51 4c 49 54 45  E_SRC = $(SQLITE
3f00: 33 43 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  3C).!ENDIF.!ENDI
3f10: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  F..# This is the
3f20: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68   core library th
3f30: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  at the shell exe
3f40: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 64  cutable should d
3f50: 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e  epend on..#.!IFN
3f60: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  DEF SHELL_CORE_D
3f70: 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  EP.!IF $(DYNAMIC
3f80: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $(
3f90: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
3fa0: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 24  ELL_CORE_DEP = $
3fb0: 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 21 45 4c  (SQLITE3DLL).!EL
3fc0: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  SE.SHELL_CORE_DE
3fd0: 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  P =.!ENDIF.!ENDI
3fe0: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  F..# This is the
3ff0: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68   core library th
4000: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  at the shell exe
4010: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c  cutable should l
4020: 69 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e  ink with..#.!IFN
4030: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  DEF SHELL_CORE_L
4040: 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  IB.!IF $(DYNAMIC
4050: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $(
4060: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
4070: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24  ELL_CORE_LIB = $
4080: 28 53 51 4c 49 54 45 33 4c 49 42 29 0a 21 45 4c  (SQLITE3LIB).!EL
4090: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49  SE.SHELL_CORE_LI
40a0: 42 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  B =.!ENDIF.!ENDI
40b0: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61  F..# These are a
40c0: 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72  dditional linker
40d0: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f   options used fo
40e0: 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63  r the shell exec
40f0: 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45  utable..#.!IFNDE
4100: 46 20 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54  F SHELL_LINK_OPT
4110: 53 0a 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54  S.SHELL_LINK_OPT
4120: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  S = $(SHELL_CORE
4130: 5f 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20  _LIB).!ENDIF..# 
4140: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
4150: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings 
4160: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
4170: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
4180: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files 
4190: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
41a0: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST
41b0: 49 4e 47 53 29 21 3d 30 0a 54 43 43 20 3d 20 24  INGS)!=0.TCC = $
41c0: 28 54 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (TCC) -FAcs.!END
41d0: 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69  IF..# When compi
41e0: 6c 69 6e 67 20 74 68 65 20 6c 69 62 72 61 72 79  ling the library
41f0: 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20   for use in the 
4200: 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e  WinRT environmen
4210: 74 2c 0a 23 20 74 68 65 20 66 6f 6c 6c 6f 77 69  t,.# the followi
4220: 6e 67 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20  ng compile-time 
4230: 6f 70 74 69 6f 6e 73 20 6d 75 73 74 20 62 65 20  options must be 
4240: 75 73 65 64 20 61 73 20 77 65 6c 6c 20 74 6f 0a  used as well to.
4250: 23 20 64 69 73 61 62 6c 65 20 75 73 65 20 6f 66  # disable use of
4260: 20 57 69 6e 33 32 20 41 50 49 73 20 74 68 61 74   Win32 APIs that
4270: 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c 61 62   are not availab
4280: 6c 65 20 61 6e 64 20 74 6f 20 65 6e 61 62 6c 65  le and to enable
4290: 0a 23 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20  .# use of Win32 
42a0: 41 50 49 73 20 74 68 61 74 20 61 72 65 20 73 70  APIs that are sp
42b0: 65 63 69 66 69 63 20 74 6f 20 57 69 6e 64 6f 77  ecific to Window
42c0: 73 20 38 20 61 6e 64 2f 6f 72 20 57 69 6e 52 54  s 8 and/or WinRT
42d0: 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  ..#.!IF $(FOR_WI
42e0: 4e 52 54 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  NRT)!=0.TCC = $(
42f0: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53  TCC) -DSQLITE_OS
4300: 5f 57 49 4e 52 54 3d 31 0a 52 43 43 20 3d 20 24  _WINRT=1.RCC = $
4310: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f  (RCC) -DSQLITE_O
4320: 53 5f 57 49 4e 52 54 3d 31 0a 54 43 43 20 3d 20  S_WINRT=1.TCC = 
4330: 24 28 54 43 43 29 20 2d 44 57 49 4e 41 50 49 5f  $(TCC) -DWINAPI_
4340: 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41  FAMILY=WINAPI_FA
4350: 4d 49 4c 59 5f 41 50 50 0a 52 43 43 20 3d 20 24  MILY_APP.RCC = $
4360: 28 52 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46  (RCC) -DWINAPI_F
4370: 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d  AMILY=WINAPI_FAM
4380: 49 4c 59 5f 41 50 50 0a 21 45 4e 44 49 46 0a 0a  ILY_APP.!ENDIF..
4390: 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74  # C compiler opt
43a0: 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 57 69 6e  ions for the Win
43b0: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d  dows 10 platform
43c0: 20 28 6e 65 65 64 73 20 4d 53 56 43 20 32 30 31   (needs MSVC 201
43d0: 35 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f  5)..#.!IF $(FOR_
43e0: 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20  WIN10)!=0.TCC = 
43f0: 24 28 54 43 43 29 20 2f 64 32 67 75 61 72 64 34  $(TCC) /d2guard4
4400: 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50   -D_ARM_WINAPI_P
4410: 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50  ARTITION_DESKTOP
4420: 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 42  _SDK_AVAILABLE.B
4430: 43 43 20 3d 20 24 28 42 43 43 29 20 2f 64 32 67  CC = $(BCC) /d2g
4440: 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e  uard4 -D_ARM_WIN
4450: 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45  API_PARTITION_DE
4460: 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41  SKTOP_SDK_AVAILA
4470: 42 4c 45 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c  BLE.!ENDIF..# Al
4480: 73 6f 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 64  so, we need to d
4490: 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20  ynamically link 
44a0: 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74 20 4d  to the correct M
44b0: 53 56 43 20 72 75 6e 74 69 6d 65 0a 23 20 77 68  SVC runtime.# wh
44c0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
44d0: 20 57 69 6e 52 54 20 28 65 2e 67 2e 20 64 65 62   WinRT (e.g. deb
44e0: 75 67 20 6f 72 20 72 65 6c 65 61 73 65 29 20 4f  ug or release) O
44f0: 52 20 69 66 20 74 68 65 0a 23 20 55 53 45 5f 43  R if the.# USE_C
4500: 52 54 5f 44 4c 4c 20 6f 70 74 69 6f 6e 20 69 73  RT_DLL option is
4510: 20 73 65 74 20 74 6f 20 66 6f 72 63 65 20 64 79   set to force dy
4520: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e  namically linkin
4530: 67 20 74 6f 20 74 68 65 0a 23 20 4d 53 56 43 20  g to the.# MSVC 
4540: 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 2e  runtime library.
4550: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
4560: 52 54 29 21 3d 30 20 7c 7c 20 24 28 55 53 45 5f  RT)!=0 || $(USE_
4570: 43 52 54 5f 44 4c 4c 29 21 3d 30 0a 21 49 46 20  CRT_DLL)!=0.!IF 
4580: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d  $(DEBUG)>1.TCC =
4590: 20 24 28 54 43 43 29 20 2d 4d 44 64 0a 42 43 43   $(TCC) -MDd.BCC
45a0: 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 64 0a 21   = $(BCC) -MDd.!
45b0: 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54 43 43  ELSE.TCC = $(TCC
45c0: 29 20 2d 4d 44 0a 42 43 43 20 3d 20 24 28 42 43  ) -MD.BCC = $(BC
45d0: 43 29 20 2d 4d 44 0a 21 45 4e 44 49 46 0a 21 45  C) -MD.!ENDIF.!E
45e0: 4c 53 45 0a 21 49 46 20 24 28 44 45 42 55 47 29  LSE.!IF $(DEBUG)
45f0: 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >1.TCC = $(TCC) 
4600: 2d 4d 54 64 0a 42 43 43 20 3d 20 24 28 42 43 43  -MTd.BCC = $(BCC
4610: 29 20 2d 4d 54 64 0a 21 45 4c 53 45 0a 54 43 43  ) -MTd.!ELSE.TCC
4620: 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 0a 42 43   = $(TCC) -MT.BC
4630: 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54 0a 21  C = $(BCC) -MT.!
4640: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
4650: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20 6d  <<mark>>.# The m
4660: 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 61 6e  ksqlite3c.tcl an
4670: 64 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  d mksqlite3h.tcl
4680: 20 73 63 72 69 70 74 73 20 77 69 6c 6c 20 70 75   scripts will pu
4690: 6c 6c 20 69 6e 0a 23 20 61 6e 79 20 65 78 74 65  ll in.# any exte
46a0: 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c  nsion header fil
46b0: 65 73 20 62 79 20 64 65 66 61 75 6c 74 2e 20 20  es by default.  
46c0: 46 6f 72 20 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61  For non-amalgama
46d0: 74 69 6f 6e 0a 23 20 62 75 69 6c 64 73 2c 20 77  tion.# builds, w
46e0: 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 73  e need to make s
46f0: 75 72 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72  ure the compiler
4700: 20 63 61 6e 20 66 69 6e 64 20 74 68 65 73 65 2e   can find these.
4710: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41  .#.!IF $(USE_AMA
4720: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 43  LGAMATION)==0.TC
4730: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
4740: 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 52 43 43  OP)\ext\fts3.RCC
4750: 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f   = $(RCC) -I$(TO
4760: 50 29 5c 65 78 74 5c 66 74 73 33 0a 54 43 43 20  P)\ext\fts3.TCC 
4770: 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50  = $(TCC) -I$(TOP
4780: 29 5c 65 78 74 5c 72 74 72 65 65 0a 52 43 43 20  )\ext\rtree.RCC 
4790: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50  = $(RCC) -I$(TOP
47a0: 29 5c 65 78 74 5c 72 74 72 65 65 0a 54 43 43 20  )\ext\rtree.TCC 
47b0: 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50  = $(TCC) -I$(TOP
47c0: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a 52 43  )\ext\session.RC
47d0: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54  C = $(RCC) -I$(T
47e0: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a  OP)\ext\session.
47f0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b  !ENDIF..# The mk
4800: 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 73 63 72  sqlite3c.tcl scr
4810: 69 70 74 20 61 63 63 65 70 74 73 20 73 6f 6d 65  ipt accepts some
4820: 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20   options on the 
4830: 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 2e 20  command.# line. 
4840: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   When compiling 
4850: 77 69 74 68 20 64 65 62 75 67 67 69 6e 67 20 65  with debugging e
4860: 6e 61 62 6c 65 64 2c 20 73 6f 6d 65 20 6f 66 20  nabled, some of 
4870: 74 68 65 73 65 0a 23 20 6f 70 74 69 6f 6e 73 20  these.# options 
4880: 61 72 65 20 6e 65 63 65 73 73 61 72 79 20 69 6e  are necessary in
4890: 20 6f 72 64 65 72 20 74 6f 20 61 6c 6c 6f 77 20   order to allow 
48a0: 64 65 62 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c  debugging symbol
48b0: 73 20 74 6f 0a 23 20 77 6f 72 6b 20 63 6f 72 72  s to.# work corr
48c0: 65 63 74 6c 79 20 77 69 74 68 20 56 69 73 75 61  ectly with Visua
48d0: 6c 20 53 74 75 64 69 6f 20 77 68 65 6e 20 75 73  l Studio when us
48e0: 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61  ing the amalgama
48f0: 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20  tion..#.!IFNDEF 
4900: 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a  MKSQLITE3C_TOOL.
4910: 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d  !IF $(MINIMAL_AM
4920: 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d  ALGAMATION)!=0.M
4930: 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 20 3d  KSQLITE3C_TOOL =
4940: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73   $(TOP)\tool\mks
4950: 71 6c 69 74 65 33 63 2d 6e 6f 65 78 74 2e 74 63  qlite3c-noext.tc
4960: 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45  l.!ELSE.MKSQLITE
4970: 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29  3C_TOOL = $(TOP)
4980: 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63  \tool\mksqlite3c
4990: 2e 74 63 6c 0a 21 45 4e 44 49 46 0a 21 45 4e 44  .tcl.!ENDIF.!END
49a0: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51  IF..!IFNDEF MKSQ
49b0: 4c 49 54 45 33 43 5f 41 52 47 53 0a 21 49 46 20  LITE3C_ARGS.!IF 
49c0: 24 28 44 45 42 55 47 29 3e 31 0a 4d 4b 53 51 4c  $(DEBUG)>1.MKSQL
49d0: 49 54 45 33 43 5f 41 52 47 53 20 3d 20 2d 2d 6c  ITE3C_ARGS = --l
49e0: 69 6e 65 6d 61 63 72 6f 73 0a 21 45 4c 53 45 0a  inemacros.!ELSE.
49f0: 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20  MKSQLITE3C_ARGS 
4a00: 3d 0a 21 45 4e 44 49 46 0a 21 49 46 20 24 28 55  =.!ENDIF.!IF $(U
4a10: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
4a20: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
4a30: 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  0.MKSQLITE3C_ARG
4a40: 53 20 3d 20 24 28 4d 4b 53 51 4c 49 54 45 33 43  S = $(MKSQLITE3C
4a50: 5f 41 52 47 53 29 20 2d 2d 75 73 65 61 70 69 63  _ARGS) --useapic
4a60: 61 6c 6c 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  all.!ENDIF.!ENDI
4a70: 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74  F..# The mksqlit
4a80: 65 33 68 2e 74 63 6c 20 73 63 72 69 70 74 20 61  e3h.tcl script a
4a90: 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 69  ccepts some opti
4aa0: 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61  ons on the comma
4ab0: 6e 64 20 6c 69 6e 65 2e 0a 23 20 57 68 65 6e 20  nd line..# When 
4ac0: 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20 73  compiling with s
4ad0: 74 64 63 61 6c 6c 20 73 75 70 70 6f 72 74 2c 20  tdcall support, 
4ae0: 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 20 6f 70  some of these op
4af0: 74 69 6f 6e 73 20 61 72 65 0a 23 20 6e 65 63 65  tions are.# nece
4b00: 73 73 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46  ssary..#.!IFNDEF
4b10: 20 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53   MKSQLITE3H_ARGS
4b20: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA
4b30: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
4b40: 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53 51 4c 49  WIN10)!=0.MKSQLI
4b50: 54 45 33 48 5f 41 52 47 53 20 3d 20 2d 2d 75 73  TE3H_ARGS = --us
4b60: 65 61 70 69 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d  eapicall.!ELSE.M
4b70: 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53 20 3d  KSQLITE3H_ARGS =
4b80: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 23  .!ENDIF.!ENDIF.#
4b90: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65   <</mark>>..# De
4ba0: 66 69 6e 65 20 2d 44 4e 44 45 42 55 47 20 74 6f  fine -DNDEBUG to
4bb0: 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 6f 75 74   compile without
4bc0: 20 64 65 62 75 67 67 69 6e 67 20 28 69 2e 65 2e   debugging (i.e.
4bd0: 2c 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e  , for production
4be0: 20 75 73 61 67 65 29 0a 23 20 4f 6d 69 74 74 69   usage).# Omitti
4bf0: 6e 67 20 74 68 65 20 64 65 66 69 6e 65 20 77 69  ng the define wi
4c00: 6c 6c 20 63 61 75 73 65 20 65 78 74 72 61 20 64  ll cause extra d
4c10: 65 62 75 67 67 69 6e 67 20 63 6f 64 65 20 74 6f  ebugging code to
4c20: 20 62 65 20 69 6e 73 65 72 74 65 64 20 61 6e 64   be inserted and
4c30: 0a 23 20 69 6e 63 6c 75 64 65 73 20 65 78 74 72  .# includes extr
4c40: 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68 65 6e 20  a comments when 
4c50: 22 45 58 50 4c 41 49 4e 20 73 74 6d 74 22 20 69  "EXPLAIN stmt" i
4c60: 73 20 75 73 65 64 2e 0a 23 0a 21 49 46 20 24 28  s used..#.!IF $(
4c70: 44 45 42 55 47 29 3d 3d 30 0a 54 43 43 20 3d 20  DEBUG)==0.TCC = 
4c80: 24 28 54 43 43 29 20 2d 44 4e 44 45 42 55 47 0a  $(TCC) -DNDEBUG.
4c90: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 4e  BCC = $(BCC) -DN
4ca0: 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52 43  DEBUG.RCC = $(RC
4cb0: 43 29 20 2d 44 4e 44 45 42 55 47 0a 21 45 4e 44  C) -DNDEBUG.!END
4cc0: 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29  IF..!IF $(DEBUG)
4cd0: 3e 30 20 7c 7c 20 24 28 41 50 49 5f 41 52 4d 4f  >0 || $(API_ARMO
4ce0: 52 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  R)!=0 || $(FOR_W
4cf0: 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20 24  IN10)!=0.TCC = $
4d00: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (TCC) -DSQLITE_E
4d10: 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d  NABLE_API_ARMOR=
4d20: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
4d30: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41  DSQLITE_ENABLE_A
4d40: 50 49 5f 41 52 4d 4f 52 3d 31 0a 21 45 4e 44 49  PI_ARMOR=1.!ENDI
4d50: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  F..!IF $(DEBUG)>
4d60: 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  2.TCC = $(TCC) -
4d70: 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a  DSQLITE_DEBUG=1.
4d80: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
4d90: 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a 21 45  QLITE_DEBUG=1.!E
4da0: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55  NDIF..!IF $(DEBU
4db0: 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 52 41 43  G)>4 || $(OSTRAC
4dc0: 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  E)!=0.TCC = $(TC
4dd0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43  C) -DSQLITE_FORC
4de0: 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 53  E_OS_TRACE=1 -DS
4df0: 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54  QLITE_DEBUG_OS_T
4e00: 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  RACE=1.RCC = $(R
4e10: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52  CC) -DSQLITE_FOR
4e20: 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44  CE_OS_TRACE=1 -D
4e30: 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f  SQLITE_DEBUG_OS_
4e40: 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a  TRACE=1.!ENDIF..
4e50: 21 49 46 20 24 28 44 45 42 55 47 29 3e 35 0a 54  !IF $(DEBUG)>5.T
4e60: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
4e70: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
4e80: 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  ACE=1.RCC = $(RC
4e90: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
4ea0: 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 21 45 4e  LE_IOTRACE=1.!EN
4eb0: 44 49 46 0a 0a 23 20 50 72 65 76 65 6e 74 20 77  DIF..# Prevent w
4ec0: 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 69  arnings about "i
4ed0: 6e 73 65 63 75 72 65 22 20 4d 53 56 43 20 72 75  nsecure" MSVC ru
4ee0: 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 66 75  ntime library fu
4ef0: 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 6e 67 20  nctions.# being 
4f00: 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28  used..#.TCC = $(
4f10: 54 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55  TCC) -D_CRT_SECU
4f20: 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  RE_NO_DEPRECATE 
4f30: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f  -D_CRT_SECURE_NO
4f40: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20  _WARNINGS.BCC = 
4f50: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 53 45  $(BCC) -D_CRT_SE
4f60: 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54  CURE_NO_DEPRECAT
4f70: 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  E -D_CRT_SECURE_
4f80: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20  NO_WARNINGS.RCC 
4f90: 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f  = $(RCC) -D_CRT_
4fa0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43  SECURE_NO_DEPREC
4fb0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52  ATE -D_CRT_SECUR
4fc0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23  E_NO_WARNINGS..#
4fd0: 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67   Prevent warning
4fe0: 73 20 61 62 6f 75 74 20 22 64 65 70 72 65 63 61  s about "depreca
4ff0: 74 65 64 22 20 50 4f 53 49 58 20 66 75 6e 63 74  ted" POSIX funct
5000: 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 65 64 2e  ions being used.
5010: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 
5020: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
5030: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43  O_DEPRECATE -D_C
5040: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41  RT_NONSTDC_NO_WA
5050: 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28 42  RNINGS.BCC = $(B
5060: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  CC) -D_CRT_NONST
5070: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  DC_NO_DEPRECATE 
5080: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
5090: 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d  O_WARNINGS.RCC =
50a0: 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f 4e   $(RCC) -D_CRT_N
50b0: 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43  ONSTDC_NO_DEPREC
50c0: 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  ATE -D_CRT_NONST
50d0: 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a  DC_NO_WARNINGS..
50e0: 23 20 55 73 65 20 74 68 65 20 53 51 4c 69 74 65  # Use the SQLite
50f0: 20 64 65 62 75 67 67 69 6e 67 20 68 65 61 70 20   debugging heap 
5100: 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46  subsystem?.#.!IF
5110: 20 24 28 4d 45 4d 44 45 42 55 47 29 21 3d 30 0a   $(MEMDEBUG)!=0.
5120: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
5130: 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31  QLITE_MEMDEBUG=1
5140: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
5150: 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d  SQLITE_MEMDEBUG=
5160: 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 76 65 20  1..# Use native 
5170: 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73 79  Win32 heap subsy
5180: 73 74 65 6d 20 69 6e 73 74 65 61 64 20 6f 66 20  stem instead of 
5190: 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a 23 0a 21  malloc/free?.#.!
51a0: 45 4c 53 45 49 46 20 24 28 57 49 4e 33 32 48 45  ELSEIF $(WIN32HE
51b0: 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  AP)!=0.TCC = $(T
51c0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e  CC) -DSQLITE_WIN
51d0: 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 43 43 20  32_MALLOC=1.RCC 
51e0: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
51f0: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31  E_WIN32_MALLOC=1
5200: 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 74 68 65  ..# Validate the
5210: 20 68 65 61 70 20 6f 6e 20 65 76 65 72 79 20 63   heap on every c
5220: 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 6e 61 74  all into the nat
5230: 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73  ive Win32 heap s
5240: 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20  ubsystem?.#.!IF 
5250: 24 28 44 45 42 55 47 29 3e 33 0a 54 43 43 20 3d  $(DEBUG)>3.TCC =
5260: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
5270: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41  _WIN32_MALLOC_VA
5280: 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 3d 20 24  LIDATE=1.RCC = $
5290: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57  (RCC) -DSQLITE_W
52a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
52b0: 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a 21 45  DATE=1.!ENDIF.!E
52c0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
52d0: 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73  .# The locations
52e0: 20 6f 66 20 74 68 65 20 54 63 6c 20 68 65 61 64   of the Tcl head
52f0: 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66  er and library f
5300: 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65  iles.  Also, the
5310: 20 6c 69 62 72 61 72 79 20 74 68 61 74 0a 23 20   library that.# 
5320: 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 62 6c 65  non-stubs enable
5330: 64 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67  d programs using
5340: 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e 6b 20 61   Tcl must link a
5350: 67 61 69 6e 73 74 2e 20 20 54 68 65 73 65 20 76  gainst.  These v
5360: 61 72 69 61 62 6c 65 73 0a 23 20 28 54 43 4c 49  ariables.# (TCLI
5370: 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 44 49 52  NCDIR, TCLLIBDIR
5380: 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 20 6d 61  , and LIBTCL) ma
5390: 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20  y be overridden 
53a0: 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d  via the environm
53b0: 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72  ent.# prior to r
53c0: 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20  unning nmake in 
53d0: 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74  order to match t
53e0: 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c  he actual instal
53f0: 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64  led location and
5400: 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e 20 74 68  .# version on th
5410: 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49  is machine..#.!I
5420: 46 4e 44 45 46 20 54 43 4c 49 4e 43 44 49 52 0a  FNDEF TCLINCDIR.
5430: 54 43 4c 49 4e 43 44 49 52 20 3d 20 63 3a 5c 74  TCLINCDIR = c:\t
5440: 63 6c 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49  cl\include.!ENDI
5450: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 4c 49  F..!IFNDEF TCLLI
5460: 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 52 20 3d  BDIR.TCLLIBDIR =
5470: 20 63 3a 5c 74 63 6c 5c 6c 69 62 0a 21 45 4e 44   c:\tcl\lib.!END
5480: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54  IF..!IFNDEF LIBT
5490: 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 63 6c 38  CL.LIBTCL = tcl8
54a0: 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49  6.lib.!ENDIF..!I
54b0: 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54 55 42  FNDEF LIBTCLSTUB
54c0: 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20 74 63  .LIBTCLSTUB = tc
54d0: 6c 73 74 75 62 38 36 2e 6c 69 62 0a 21 45 4e 44  lstub86.lib.!END
54e0: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54  IF..!IFNDEF LIBT
54f0: 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c 50 41 54  CLPATH.LIBTCLPAT
5500: 48 20 3d 20 63 3a 5c 74 63 6c 5c 62 69 6e 0a 21  H = c:\tcl\bin.!
5510: 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63  ENDIF..# The loc
5520: 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43  ations of the IC
5530: 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62  U header and lib
5540: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65  rary files.  The
5550: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28  se variables.# (
5560: 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49  ICUINCDIR, ICULI
5570: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55  BDIR, and LIBICU
5580: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
5590: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
55a0: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior 
55b0: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
55c0: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
55d0: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
55e0: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e  stalled location
55f0: 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69   on.# this machi
5600: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43  ne..#.!IFNDEF IC
5610: 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 44 49  UINCDIR.ICUINCDI
5620: 52 20 3d 20 63 3a 5c 69 63 75 5c 69 6e 63 6c 75  R = c:\icu\inclu
5630: 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  de.!ENDIF..!IFND
5640: 45 46 20 49 43 55 4c 49 42 44 49 52 0a 49 43 55  EF ICULIBDIR.ICU
5650: 4c 49 42 44 49 52 20 3d 20 63 3a 5c 69 63 75 5c  LIBDIR = c:\icu\
5660: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
5670: 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 42 49 43  DEF LIBICU.LIBIC
5680: 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 20 69 63  U = icuuc.lib ic
5690: 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  uin.lib.!ENDIF..
56a0: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f  # This is the co
56b0: 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 66 6f 72  mmand to use for
56c0: 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c 6c   tclsh - normall
56d0: 79 20 6a 75 73 74 20 22 74 63 6c 73 68 22 2c 20  y just "tclsh", 
56e0: 62 75 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e 6f  but we may.# kno
56f0: 77 20 74 68 65 20 73 70 65 63 69 66 69 63 20 76  w the specific v
5700: 65 72 73 69 6f 6e 20 77 65 20 77 61 6e 74 20 74  ersion we want t
5710: 6f 20 75 73 65 2e 20 20 54 68 69 73 20 76 61 72  o use.  This var
5720: 69 61 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d 44  iable (TCLSH_CMD
5730: 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 65 72 72  ) may be.# overr
5740: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e  idden via the en
5750: 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72 20  vironment prior 
5760: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
5770: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 65 6c   in order to sel
5780: 65 63 74 20 61 0a 23 20 73 70 65 63 69 66 69 63  ect a.# specific
5790: 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75 73   Tcl shell to us
57a0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54 43 4c  e..#.!IFNDEF TCL
57b0: 53 48 5f 43 4d 44 0a 54 43 4c 53 48 5f 43 4d 44  SH_CMD.TCLSH_CMD
57c0: 20 3d 20 74 63 6c 73 68 0a 21 45 4e 44 49 46 0a   = tclsh.!ENDIF.
57d0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43  # <</mark>>..# C
57e0: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
57f0: 6e 65 65 64 65 64 20 66 6f 72 20 70 72 6f 67 72  needed for progr
5800: 61 6d 73 20 74 68 61 74 20 75 73 65 20 74 68 65  ams that use the
5810: 20 72 65 61 64 6c 69 6e 65 28 29 20 6c 69 62 72   readline() libr
5820: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52  ary..#.!IFNDEF R
5830: 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 0a 52 45  EADLINE_FLAGS.RE
5840: 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20 3d 20 2d  ADLINE_FLAGS = -
5850: 44 48 41 56 45 5f 52 45 41 44 4c 49 4e 45 3d 30  DHAVE_READLINE=0
5860: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c  .!ENDIF..# The l
5870: 69 62 72 61 72 79 20 74 68 61 74 20 70 72 6f 67  ibrary that prog
5880: 72 61 6d 73 20 75 73 69 6e 67 20 72 65 61 64 6c  rams using readl
5890: 69 6e 65 28 29 20 6d 75 73 74 20 6c 69 6e 6b 20  ine() must link 
58a0: 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49 46 4e 44  against..#.!IFND
58b0: 45 46 20 4c 49 42 52 45 41 44 4c 49 4e 45 0a 4c  EF LIBREADLINE.L
58c0: 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a 21 45 4e  IBREADLINE =.!EN
58d0: 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 74 68  DIF..# Should th
58e0: 65 20 64 61 74 61 62 61 73 65 20 65 6e 67 69 6e  e database engin
58f0: 65 20 62 65 20 63 6f 6d 70 69 6c 65 64 20 74 68  e be compiled th
5900: 72 65 61 64 73 61 66 65 0a 23 0a 54 43 43 20 3d  readsafe.#.TCC =
5910: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
5920: 5f 54 48 52 45 41 44 53 41 46 45 3d 31 0a 52 43  _THREADSAFE=1.RC
5930: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL
5940: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31  ITE_THREADSAFE=1
5950: 0a 0a 23 20 44 6f 20 74 68 72 65 61 64 73 20 6f  ..# Do threads o
5960: 76 65 72 72 69 64 65 20 65 61 63 68 20 6f 74 68  verride each oth
5970: 65 72 73 20 6c 6f 63 6b 73 20 62 79 20 64 65 66  ers locks by def
5980: 61 75 6c 74 20 28 31 29 2c 20 6f 72 20 64 6f 20  ault (1), or do 
5990: 77 65 20 74 65 73 74 20 28 2d 31 29 0a 23 0a 54  we test (-1).#.T
59a0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
59b0: 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 52  LITE_THREAD_OVER
59c0: 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 52 43 43  RIDE_LOCK=-1.RCC
59d0: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
59e0: 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 52 52 49  TE_THREAD_OVERRI
59f0: 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23 20 41 6e  DE_LOCK=-1..# An
5a00: 79 20 74 61 72 67 65 74 20 6c 69 62 72 61 72 69  y target librari
5a10: 65 73 20 77 68 69 63 68 20 6c 69 62 73 71 6c 69  es which libsqli
5a20: 74 65 20 6d 75 73 74 20 62 65 20 6c 69 6e 6b 65  te must be linke
5a30: 64 20 61 67 61 69 6e 73 74 0a 23 0a 21 49 46 4e  d against.#.!IFN
5a40: 44 45 46 20 54 4c 49 42 53 0a 54 4c 49 42 53 20  DEF TLIBS.TLIBS 
5a50: 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46 6c 61 67  =.!ENDIF..# Flag
5a60: 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 75 73  s controlling us
5a70: 65 20 6f 66 20 74 68 65 20 69 6e 20 6d 65 6d 6f  e of the in memo
5a80: 72 79 20 62 74 72 65 65 20 69 6d 70 6c 65 6d 65  ry btree impleme
5a90: 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53 51 4c 49  ntation.#.# SQLI
5aa0: 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 20 69 73  TE_TEMP_STORE is
5ab0: 20 30 20 74 6f 20 66 6f 72 63 65 20 74 65 6d 70   0 to force temp
5ac0: 6f 72 61 72 79 20 74 61 62 6c 65 73 20 74 6f 20  orary tables to 
5ad0: 62 65 20 69 6e 20 61 20 66 69 6c 65 2c 20 31 20  be in a file, 1 
5ae0: 74 6f 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20  to.# default to 
5af0: 66 69 6c 65 2c 20 32 20 74 6f 20 64 65 66 61 75  file, 2 to defau
5b00: 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c 20 61 6e  lt to memory, an
5b10: 64 20 33 20 74 6f 20 66 6f 72 63 65 20 74 65 6d  d 3 to force tem
5b20: 70 6f 72 61 72 79 0a 23 20 74 61 62 6c 65 73 20  porary.# tables 
5b30: 74 6f 20 61 6c 77 61 79 73 20 62 65 20 69 6e 20  to always be in 
5b40: 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43 20 3d 20  memory..#.TCC = 
5b50: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
5b60: 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a 52 43 43  TEMP_STORE=1.RCC
5b70: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI
5b80: 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a  TE_TEMP_STORE=1.
5b90: 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73 61 62 6c  .# Enable/disabl
5ba0: 65 20 6c 6f 61 64 61 62 6c 65 20 65 78 74 65 6e  e loadable exten
5bb0: 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74 68 65 72  sions, and other
5bc0: 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74 75 72   optional featur
5bd0: 65 73 0a 23 20 62 61 73 65 64 20 6f 6e 20 63 6f  es.# based on co
5be0: 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 28 2d 44  nfiguration. (-D
5bf0: 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c 20 2d 44  SQLITE_OMIT*, -D
5c00: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 2a 29 2e  SQLITE_ENABLE*).
5c10: 0a 23 20 54 68 65 20 73 61 6d 65 20 73 65 74 20  .# The same set 
5c20: 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45 4e 41 42  of OMIT and ENAB
5c30: 4c 45 20 66 6c 61 67 73 20 73 68 6f 75 6c 64 20  LE flags should 
5c40: 62 65 20 70 61 73 73 65 64 20 74 6f 20 74 68 65  be passed to the
5c50: 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73 65 72 20  .# LEMON parser 
5c60: 67 65 6e 65 72 61 74 6f 72 20 61 6e 64 20 74 68  generator and th
5c70: 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 20  e mkkeywordhash 
5c80: 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e 0a 0a 23  tool as well...#
5c90: 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 72   These are the r
5ca0: 65 71 75 69 72 65 64 20 53 51 4c 69 74 65 20 63  equired SQLite c
5cb0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f  ompilation optio
5cc0: 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d  ns used when com
5cd0: 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68 65  piling for.# the
5ce0: 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72   Windows platfor
5cf0: 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54 55 52 45  m..#.REQ_FEATURE
5d00: 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46  _FLAGS = $(REQ_F
5d10: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
5d20: 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52 49 47 47  SQLITE_MAX_TRIGG
5d30: 45 52 5f 44 45 50 54 48 3d 31 30 30 0a 0a 23 20  ER_DEPTH=100..# 
5d40: 49 66 20 77 65 20 61 72 65 20 6c 69 6e 6b 69 6e  If we are linkin
5d50: 67 20 74 6f 20 74 68 65 20 52 50 43 52 54 34 20  g to the RPCRT4 
5d60: 6c 69 62 72 61 72 79 2c 20 65 6e 61 62 6c 65 20  library, enable 
5d70: 66 65 61 74 75 72 65 73 20 74 68 61 74 20 6e 65  features that ne
5d80: 65 64 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55  ed it..#.!IF $(U
5d90: 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 21 3d  SE_RPCRT4_LIB)!=
5da0: 30 0a 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  0.REQ_FEATURE_FL
5db0: 41 47 53 20 3d 20 24 28 52 45 51 5f 46 45 41 54  AGS = $(REQ_FEAT
5dc0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
5dd0: 49 54 45 5f 57 49 4e 33 32 5f 55 53 45 5f 55 55  ITE_WIN32_USE_UU
5de0: 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 41  ID=1.!ENDIF..# A
5df0: 64 64 20 74 68 65 20 72 65 71 75 69 72 65 64 20  dd the required 
5e00: 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20 53 51 4c  and optional SQL
5e10: 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20  ite compilation 
5e20: 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20 74 68 65  options into the
5e30: 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 73   command.# lines
5e40: 20 75 73 65 64 20 74 6f 20 69 6e 76 6f 6b 65 20   used to invoke 
5e50: 74 68 65 20 4d 53 56 43 20 63 6f 64 65 20 61 6e  the MSVC code an
5e60: 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d 70 69  d resource compi
5e70: 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d 20 24 28  lers..#.TCC = $(
5e80: 54 43 43 29 20 24 28 52 45 51 5f 46 45 41 54 55  TCC) $(REQ_FEATU
5e90: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f  RE_FLAGS) $(OPT_
5ea0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
5eb0: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
5ec0: 47 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29  GS).RCC = $(RCC)
5ed0: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
5ee0: 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54  LAGS) $(OPT_FEAT
5ef0: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54  URE_FLAGS) $(EXT
5f00: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a  _FEATURE_FLAGS).
5f10: 0a 23 20 41 64 64 20 69 6e 20 61 6e 79 20 6f 70  .# Add in any op
5f20: 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72  tional parameter
5f30: 73 20 73 70 65 63 69 66 69 65 64 20 6f 6e 20 74  s specified on t
5f40: 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69 6e 65 2c  he commane line,
5f50: 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65 20 2f 66   e.g..# nmake /f
5f60: 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 61 6c   Makefile.msc al
5f70: 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c 49 54 45  l "OPTS=-DSQLITE
5f80: 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31 20 2d 44  _ENABLE_FOO=1 -D
5f90: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f 4f 3d  SQLITE_OMIT_FOO=
5fa0: 31 22 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  1".#.TCC = $(TCC
5fb0: 29 20 24 28 4f 50 54 53 29 0a 52 43 43 20 3d 20  ) $(OPTS).RCC = 
5fc0: 24 28 52 43 43 29 20 24 28 4f 50 54 53 29 0a 0a  $(RCC) $(OPTS)..
5fd0: 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e 67 20 66  # If compiling f
5fe0: 6f 72 20 64 65 62 75 67 67 69 6e 67 2c 20 61 64  or debugging, ad
5ff0: 64 20 73 6f 6d 65 20 64 65 66 69 6e 65 73 2e 0a  d some defines..
6000: 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  #.!IF $(DEBUG)>1
6010: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
6020: 5f 44 45 42 55 47 0a 42 43 43 20 3d 20 24 28 42  _DEBUG.BCC = $(B
6030: 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 52 43 43  CC) -D_DEBUG.RCC
6040: 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 44 45 42   = $(RCC) -D_DEB
6050: 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20  UG.!ENDIF..# If 
6060: 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72  optimizations ar
6070: 65 20 65 6e 61 62 6c 65 64 20 6f 72 20 64 69 73  e enabled or dis
6080: 61 62 6c 65 64 20 28 65 69 74 68 65 72 20 69 6d  abled (either im
6090: 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23 20 65 78  plicitly or.# ex
60a0: 70 6c 69 63 69 74 6c 79 29 2c 20 61 64 64 20 74  plicitly), add t
60b0: 68 65 20 6e 65 63 65 73 73 61 72 79 20 66 6c 61  he necessary fla
60c0: 67 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55  gs..#.!IF $(DEBU
60d0: 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54 49 4d 49  G)>1 || $(OPTIMI
60e0: 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54 43 43 20  ZATIONS)==0.TCC 
60f0: 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a 42 43 43  = $(TCC) -Od.BCC
6100: 20 3d 20 24 28 42 43 43 29 20 2d 4f 64 0a 21 49   = $(BCC) -Od.!I
6110: 46 20 24 28 55 53 45 5f 52 55 4e 54 49 4d 45 5f  F $(USE_RUNTIME_
6120: 43 48 45 43 4b 53 29 21 3d 30 0a 54 43 43 20 3d  CHECKS)!=0.TCC =
6130: 20 24 28 54 43 43 29 20 2d 52 54 43 31 0a 42 43   $(TCC) -RTC1.BC
6140: 43 20 3d 20 24 28 42 43 43 29 20 2d 52 54 43 31  C = $(BCC) -RTC1
6150: 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 49 46 20  .!ENDIF.!ELSEIF 
6160: 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29  $(OPTIMIZATIONS)
6170: 3e 3d 33 0a 54 43 43 20 3d 20 24 28 54 43 43 29  >=3.TCC = $(TCC)
6180: 20 2d 4f 78 0a 42 43 43 20 3d 20 24 28 42 43 43   -Ox.BCC = $(BCC
6190: 29 20 2d 4f 78 0a 21 45 4c 53 45 49 46 20 24 28  ) -Ox.!ELSEIF $(
61a0: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d  OPTIMIZATIONS)==
61b0: 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  2.TCC = $(TCC) -
61c0: 4f 32 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  O2.BCC = $(BCC) 
61d0: 2d 4f 32 0a 21 45 4c 53 45 49 46 20 24 28 4f 50  -O2.!ELSEIF $(OP
61e0: 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 31 0a  TIMIZATIONS)==1.
61f0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 31  TCC = $(TCC) -O1
6200: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f  .BCC = $(BCC) -O
6210: 31 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 73  1.!ENDIF..# If s
6220: 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c  ymbols are enabl
6230: 65 64 20 28 6f 72 20 63 6f 6d 70 69 6c 69 6e 67  ed (or compiling
6240: 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 29 2c   for debugging),
6250: 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23 0a   enable PDBs..#.
6260: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c  !IF $(DEBUG)>1 |
6270: 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30 0a  | $(SYMBOLS)!=0.
6280: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 5a 69  TCC = $(TCC) -Zi
6290: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 5a  .BCC = $(BCC) -Z
62a0: 69 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  i.!ENDIF..# <<ma
62b0: 72 6b 3e 3e 0a 23 20 49 66 20 49 43 55 20 73 75  rk>>.# If ICU su
62c0: 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64  pport is enabled
62d0: 2c 20 61 64 64 20 74 68 65 20 63 6f 6d 70 69 6c  , add the compil
62e0: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69  er options for i
62f0: 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 49  t..#.!IF $(USE_I
6300: 43 55 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  CU)!=0.TCC = $(T
6310: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  CC) -DSQLITE_ENA
6320: 42 4c 45 5f 49 43 55 3d 31 0a 52 43 43 20 3d 20  BLE_ICU=1.RCC = 
6330: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_
6340: 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 54 43 43  ENABLE_ICU=1.TCC
6350: 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f   = $(TCC) -I$(TO
6360: 50 29 5c 65 78 74 5c 69 63 75 0a 52 43 43 20 3d  P)\ext\icu.RCC =
6370: 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29   $(RCC) -I$(TOP)
6380: 5c 65 78 74 5c 69 63 75 0a 54 43 43 20 3d 20 24  \ext\icu.TCC = $
6390: 28 54 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43  (TCC) -I$(ICUINC
63a0: 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43  DIR).RCC = $(RCC
63b0: 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52 29  ) -I$(ICUINCDIR)
63c0: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
63d0: 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 6e 64 20 6c  k>>..# Command l
63e0: 69 6e 65 20 70 72 65 66 69 78 65 73 20 66 6f 72  ine prefixes for
63f0: 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 65 2c   compiling code,
6400: 20 63 6f 6d 70 69 6c 69 6e 67 20 72 65 73 6f 75   compiling resou
6410: 72 63 65 73 2c 0a 23 20 6c 69 6e 6b 69 6e 67 2c  rces,.# linking,
6420: 20 65 74 63 2e 0a 23 0a 4c 54 43 4f 4d 50 49 4c   etc..#.LTCOMPIL
6430: 45 20 3d 20 24 28 54 43 43 29 20 2d 46 6f 24 40  E = $(TCC) -Fo$@
6440: 0a 4c 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24 28  .LTRCOMPILE = $(
6450: 52 43 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d 20  RCC) -r.LTLIB = 
6460: 6c 69 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20 3d  lib.exe.LTLINK =
6470: 20 24 28 54 43 43 29 20 2d 46 65 24 40 0a 0a 23   $(TCC) -Fe$@..#
6480: 20 49 66 20 72 65 71 75 65 73 74 65 64 2c 20 6c   If requested, l
6490: 69 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54  ink to the RPCRT
64a0: 34 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46  4 library..#.!IF
64b0: 20 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49   $(USE_RPCRT4_LI
64c0: 42 29 21 3d 30 0a 4c 54 4c 49 4e 4b 20 3d 20 24  B)!=0.LTLINK = $
64d0: 28 4c 54 4c 49 4e 4b 29 20 72 70 63 72 74 34 2e  (LTLINK) rpcrt4.
64e0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66  lib.!ENDIF..# If
64f0: 20 61 20 70 6c 61 74 66 6f 72 6d 20 77 61 73 20   a platform was 
6500: 73 65 74 2c 20 66 6f 72 63 65 20 74 68 65 20 6c  set, force the l
6510: 69 6e 6b 65 72 20 74 6f 20 74 61 72 67 65 74 20  inker to target 
6520: 74 68 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68 61  that..# Note tha
6530: 74 20 74 68 65 20 76 63 76 61 72 73 2a 2e 62 61  t the vcvars*.ba
6540: 74 20 66 61 6d 69 6c 79 20 6f 66 20 62 61 74 63  t family of batc
6550: 68 20 66 69 6c 65 73 20 74 79 70 69 63 61 6c 6c  h files typicall
6560: 79 0a 23 20 73 65 74 20 74 68 69 73 20 66 6f 72  y.# set this for
6570: 20 79 6f 75 2e 20 20 4f 74 68 65 72 77 69 73 65   you.  Otherwise
6580: 2c 20 74 68 65 20 6c 69 6e 6b 65 72 20 77 69 6c  , the linker wil
6590: 6c 20 61 74 74 65 6d 70 74 0a 23 20 74 6f 20 64  l attempt.# to d
65a0: 65 64 75 63 65 20 74 68 65 20 62 69 6e 61 72 79  educe the binary
65b0: 20 74 79 70 65 20 62 61 73 65 64 20 6f 6e 20 74   type based on t
65c0: 68 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e  he object files.
65d0: 0a 21 49 46 44 45 46 20 50 4c 41 54 46 4f 52 4d  .!IFDEF PLATFORM
65e0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e  .LTLINKOPTS = /N
65f0: 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24  OLOGO /MACHINE:$
6600: 28 50 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49 42  (PLATFORM).LTLIB
6610: 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f  OPTS = /NOLOGO /
6620: 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f  MACHINE:$(PLATFO
6630: 52 4d 29 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b  RM).!ELSE.LTLINK
6640: 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c  OPTS = /NOLOGO.L
6650: 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f  TLIBOPTS = /NOLO
6660: 47 4f 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65  GO.!ENDIF..# Whe
6670: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  n compiling for 
6680: 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54  use in the WinRT
6690: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 74 68   environment, th
66a0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20 6c 69  e following.# li
66b0: 6e 6b 65 72 20 6f 70 74 69 6f 6e 20 6d 75 73 74  nker option must
66c0: 20 62 65 20 75 73 65 64 20 74 6f 20 6d 61 72 6b   be used to mark
66d0: 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20   the executable 
66e0: 61 73 20 72 75 6e 6e 61 62 6c 65 0a 23 20 6f 6e  as runnable.# on
66f0: 6c 79 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78  ly in the contex
6700: 74 20 6f 66 20 61 6e 20 61 70 70 6c 69 63 61 74  t of an applicat
6710: 69 6f 6e 20 63 6f 6e 74 61 69 6e 65 72 2e 0a 23  ion container..#
6720: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54  .!IF $(FOR_WINRT
6730: 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  )!=0.LTLINKOPTS 
6740: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
6750: 2f 41 50 50 43 4f 4e 54 41 49 4e 45 52 0a 21 49  /APPCONTAINER.!I
6760: 46 20 22 24 28 56 49 53 55 41 4c 53 54 55 44 49  F "$(VISUALSTUDI
6770: 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32 2e  OVERSION)"=="12.
6780: 30 22 20 7c 7c 20 22 24 28 56 49 53 55 41 4c 53  0" || "$(VISUALS
6790: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d  TUDIOVERSION)"==
67a0: 22 31 34 2e 30 22 0a 21 49 46 4e 44 45 46 20 53  "14.0".!IFNDEF S
67b0: 54 4f 52 45 4c 49 42 50 41 54 48 0a 21 49 46 20  TORELIBPATH.!IF 
67c0: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22  "$(PLATFORM)"=="
67d0: 78 38 36 22 0a 53 54 4f 52 45 4c 49 42 50 41 54  x86".STORELIBPAT
67e0: 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48  H = $(CRTLIBPATH
67f0: 29 5c 73 74 6f 72 65 0a 21 45 4c 53 45 49 46 20  )\store.!ELSEIF 
6800: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22  "$(PLATFORM)"=="
6810: 78 36 34 22 0a 53 54 4f 52 45 4c 49 42 50 41 54  x64".STORELIBPAT
6820: 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48  H = $(CRTLIBPATH
6830: 29 5c 73 74 6f 72 65 5c 61 6d 64 36 34 0a 21 45  )\store\amd64.!E
6840: 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52  LSEIF "$(PLATFOR
6850: 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 54 4f 52 45  M)"=="ARM".STORE
6860: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL
6870: 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 72  IBPATH)\store\ar
6880: 6d 0a 21 45 4c 53 45 0a 53 54 4f 52 45 4c 49 42  m.!ELSE.STORELIB
6890: 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50  PATH = $(CRTLIBP
68a0: 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4e 44 49  ATH)\store.!ENDI
68b0: 46 0a 21 45 4e 44 49 46 0a 53 54 4f 52 45 4c 49  F.!ENDIF.STORELI
68c0: 42 50 41 54 48 20 3d 20 24 28 53 54 4f 52 45 4c  BPATH = $(STOREL
68d0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c 54 4c  IBPATH:\\=\).LTL
68e0: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
68f0: 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54  NKOPTS) "/LIBPAT
6900: 48 3a 24 28 53 54 4f 52 45 4c 49 42 50 41 54 48  H:$(STORELIBPATH
6910: 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  )".!ENDIF.!ENDIF
6920: 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69  ..# When compili
6930: 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50  ng for Windows P
6940: 68 6f 6e 65 20 38 2e 31 2c 20 61 6e 20 65 78 74  hone 8.1, an ext
6950: 72 61 20 6c 69 62 72 61 72 79 20 70 61 74 68 20  ra library path 
6960: 69 73 0a 23 20 72 65 71 75 69 72 65 64 2e 0a 23  is.# required..#
6970: 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f  .!IF $(USE_WP81_
6980: 4f 50 54 53 29 21 3d 30 0a 21 49 46 4e 44 45 46  OPTS)!=0.!IFNDEF
6990: 20 57 50 38 31 4c 49 42 50 41 54 48 0a 21 49 46   WP81LIBPATH.!IF
69a0: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
69b0: 22 78 38 36 22 0a 57 50 38 31 4c 49 42 50 41 54  "x86".WP81LIBPAT
69c0: 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  H = $(PROGRAMFIL
69d0: 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20  ES_X86)\Windows 
69e0: 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c  Phone Kits\8.1\l
69f0: 69 62 5c 78 38 36 0a 21 45 4c 53 45 49 46 20 22  ib\x86.!ELSEIF "
6a00: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41  $(PLATFORM)"=="A
6a10: 52 4d 22 0a 57 50 38 31 4c 49 42 50 41 54 48 20  RM".WP81LIBPATH 
6a20: 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53  = $(PROGRAMFILES
6a30: 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68  _X86)\Windows Ph
6a40: 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62  one Kits\8.1\lib
6a50: 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 50 38 31 4c  \ARM.!ELSE.WP81L
6a60: 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52  IBPATH = $(PROGR
6a70: 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e  AMFILES_X86)\Win
6a80: 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c  dows Phone Kits\
6a90: 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4e 44  8.1\lib\x86.!END
6aa0: 49 46 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  IF.!ENDIF.!ENDIF
6ab0: 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69  ..# When compili
6ac0: 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50  ng for Windows P
6ad0: 68 6f 6e 65 20 38 2e 31 2c 20 73 6f 6d 65 20 65  hone 8.1, some e
6ae0: 78 74 72 61 20 6c 69 6e 6b 65 72 20 6f 70 74 69  xtra linker opti
6af0: 6f 6e 73 0a 23 20 61 72 65 20 61 6c 73 6f 20 72  ons.# are also r
6b00: 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24  equired..#.!IF $
6b10: 28 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29 21  (USE_WP81_OPTS)!
6b20: 3d 30 0a 21 49 46 44 45 46 20 57 50 38 31 4c 49  =0.!IFDEF WP81LI
6b30: 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53  BPATH.LTLINKOPTS
6b40: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
6b50: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 57 50 38   "/LIBPATH:$(WP8
6b60: 31 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49  1LIBPATH)".!ENDI
6b70: 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24  F.LTLINKOPTS = $
6b80: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59  (LTLINKOPTS) /DY
6b90: 4e 41 4d 49 43 42 41 53 45 0a 4c 54 4c 49 4e 4b  NAMICBASE.LTLINK
6ba0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
6bb0: 50 54 53 29 20 57 69 6e 64 6f 77 73 50 68 6f 6e  PTS) WindowsPhon
6bc0: 65 43 6f 72 65 2e 6c 69 62 20 52 75 6e 74 69 6d  eCore.lib Runtim
6bd0: 65 4f 62 6a 65 63 74 2e 6c 69 62 20 50 68 6f 6e  eObject.lib Phon
6be0: 65 41 70 70 4d 6f 64 65 6c 48 6f 73 74 2e 6c 69  eAppModelHost.li
6bf0: 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24  b.LTLINKOPTS = $
6c00: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f  (LTLINKOPTS) /NO
6c10: 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65  DEFAULTLIB:kerne
6c20: 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44 45 46 41 55  l32.lib /NODEFAU
6c30: 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69 62 0a  LTLIB:ole32.lib.
6c40: 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63  !ENDIF..# When c
6c50: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 55 57 50  ompiling for UWP
6c60: 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20   or the Windows 
6c70: 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f 6d  10 platform, som
6c80: 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 0a 23  e extra linker.#
6c90: 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 61 6c 73   options are als
6ca0: 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49  o required..#.!I
6cb0: 46 20 24 28 46 4f 52 5f 55 57 50 29 21 3d 30 20  F $(FOR_UWP)!=0 
6cc0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
6cd0: 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  =0.LTLINKOPTS = 
6ce0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44  $(LTLINKOPTS) /D
6cf0: 59 4e 41 4d 49 43 42 41 53 45 20 2f 4e 4f 44 45  YNAMICBASE /NODE
6d00: 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33  FAULTLIB:kernel3
6d10: 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53  2.lib.LTLINKOPTS
6d20: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
6d30: 20 6d 69 6e 63 6f 72 65 2e 6c 69 62 0a 21 49 46   mincore.lib.!IF
6d40: 44 45 46 20 50 53 44 4b 4c 49 42 50 41 54 48 0a  DEF PSDKLIBPATH.
6d50: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L
6d60: 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42  TLINKOPTS) "/LIB
6d70: 50 41 54 48 3a 24 28 50 53 44 4b 4c 49 42 50 41  PATH:$(PSDKLIBPA
6d80: 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44  TH)".!ENDIF.!END
6d90: 49 46 0a 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  IF..!IF $(FOR_WI
6da0: 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50  N10)!=0.LTLINKOP
6db0: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
6dc0: 53 29 20 2f 67 75 61 72 64 3a 63 66 20 22 2f 4c  S) /guard:cf "/L
6dd0: 49 42 50 41 54 48 3a 24 28 55 43 52 54 4c 49 42  IBPATH:$(UCRTLIB
6de0: 50 41 54 48 29 22 0a 21 49 46 20 24 28 44 45 42  PATH)".!IF $(DEB
6df0: 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54 53  UG)>1.LTLINKOPTS
6e00: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS)
6e10: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c   /NODEFAULTLIB:l
6e20: 69 62 75 63 72 74 64 2e 6c 69 62 20 2f 44 45 46  ibucrtd.lib /DEF
6e30: 41 55 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c 69  AULTLIB:ucrtd.li
6e40: 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50  b.!ELSE.LTLINKOP
6e50: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
6e60: 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42  S) /NODEFAULTLIB
6e70: 3a 6c 69 62 75 63 72 74 2e 6c 69 62 20 2f 44 45  :libucrt.lib /DE
6e80: 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c 69  FAULTLIB:ucrt.li
6e90: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  b.!ENDIF.!ENDIF.
6ea0: 0a 23 20 49 66 20 65 69 74 68 65 72 20 64 65 62  .# If either deb
6eb0: 75 67 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f 6c  ugging or symbol
6ec0: 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2c 20 65  s are enabled, e
6ed0: 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49  nable PDBs..#.!I
6ee0: 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20  F $(DEBUG)>1 || 
6ef0: 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c 44  $(SYMBOLS)!=0.LD
6f00: 46 4c 41 47 53 20 3d 20 2f 44 45 42 55 47 20 24  FLAGS = /DEBUG $
6f10: 28 4c 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a 4c  (LDOPTS).!ELSE.L
6f20: 44 46 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50 54  DFLAGS = $(LDOPT
6f30: 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d  S).!ENDIF..# <<m
6f40: 61 72 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77 69  ark>>.# Start wi
6f50: 74 68 20 74 68 65 20 54 63 6c 20 72 65 6c 61 74  th the Tcl relat
6f60: 65 64 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  ed linker option
6f70: 73 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43  s..#.!IF $(NO_TC
6f80: 4c 29 3d 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53  L)==0.LTLIBPATHS
6f90: 20 3d 20 2f 4c 49 42 50 41 54 48 3a 24 28 54 43   = /LIBPATH:$(TC
6fa0: 4c 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20  LLIBDIR).LTLIBS 
6fb0: 3d 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44  = $(LIBTCL).!END
6fc0: 49 46 0a 0a 23 20 49 66 20 49 43 55 20 73 75 70  IF..# If ICU sup
6fd0: 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c  port is enabled,
6fe0: 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 20   add the linker 
6ff0: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a  options for it..
7000: 23 0a 21 49 46 20 24 28 55 53 45 5f 49 43 55 29  #.!IF $(USE_ICU)
7010: 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d  !=0.LTLIBPATHS =
7020: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) /
7030: 4c 49 42 50 41 54 48 3a 24 28 49 43 55 4c 49 42  LIBPATH:$(ICULIB
7040: 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28  DIR).LTLIBS = $(
7050: 4c 54 4c 49 42 53 29 20 24 28 4c 49 42 49 43 55  LTLIBS) $(LIBICU
7060: 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61  ).!ENDIF.# <</ma
7070: 72 6b 3e 3e 0a 0a 23 20 59 6f 75 20 73 68 6f 75  rk>>..# You shou
7080: 6c 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 63  ld not have to c
7090: 68 61 6e 67 65 20 61 6e 79 74 68 69 6e 67 20 62  hange anything b
70a0: 65 6c 6f 77 20 74 68 69 73 20 6c 69 6e 65 0a 23  elow this line.#
70b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
70c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
70d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
70e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
70f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a  ##############..
7100: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 4f 62 6a  # <<mark>>.# Obj
7110: 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68  ect files for th
7120: 65 20 53 51 4c 69 74 65 20 6c 69 62 72 61 72 79  e SQLite library
7130: 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69   (non-amalgamati
7140: 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42 4a 53 30 20  on)..#.LIBOBJS0 
7150: 3d 20 76 64 62 65 2e 6c 6f 20 70 61 72 73 65 2e  = vdbe.lo parse.
7160: 6c 6f 20 61 6c 74 65 72 2e 6c 6f 20 61 6e 61 6c  lo alter.lo anal
7170: 79 7a 65 2e 6c 6f 20 61 74 74 61 63 68 2e 6c 6f  yze.lo attach.lo
7180: 20 61 75 74 68 2e 6c 6f 20 5c 0a 20 20 20 20 20   auth.lo \.     
7190: 20 20 20 20 62 61 63 6b 75 70 2e 6c 6f 20 62 69      backup.lo bi
71a0: 74 76 65 63 2e 6c 6f 20 62 74 6d 75 74 65 78 2e  tvec.lo btmutex.
71b0: 6c 6f 20 62 74 72 65 65 2e 6c 6f 20 62 75 69 6c  lo btree.lo buil
71c0: 64 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  d.lo \.         
71d0: 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20 63 6f 6d 70  callback.lo comp
71e0: 6c 65 74 65 2e 6c 6f 20 63 74 69 6d 65 2e 6c 6f  lete.lo ctime.lo
71f0: 20 64 61 74 65 2e 6c 6f 20 64 62 73 74 61 74 2e   date.lo dbstat.
7200: 6c 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20  lo delete.lo \. 
7210: 20 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20          expr.lo 
7220: 66 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f  fault.lo fkey.lo
7230: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33   \.         fts3
7240: 2e 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20  .lo fts3_aux.lo 
7250: 66 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73  fts3_expr.lo fts
7260: 33 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69  3_hash.lo fts3_i
7270: 63 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  cu.lo \.        
7280: 20 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20   fts3_porter.lo 
7290: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20  fts3_snippet.lo 
72a0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c  fts3_tokenizer.l
72b0: 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  o fts3_tokenizer
72c0: 31 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  1.lo \.         
72d0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
72e0: 61 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f  ab.lo fts3_unico
72f0: 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f  de.lo fts3_unico
7300: 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74  de2.lo fts3_writ
7310: 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  e.lo \.         
7320: 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  fts5.lo \.      
7330: 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61     func.lo globa
7340: 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20  l.lo hash.lo \. 
7350: 20 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69          icu.lo i
7360: 6e 73 65 72 74 2e 6c 6f 20 6b 76 61 70 69 2e 6c  nsert.lo kvapi.l
7370: 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64  o legacy.lo load
7380: 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ext.lo \.       
7390: 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63    main.lo malloc
73a0: 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31  .lo mem0.lo mem1
73b0: 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33  .lo mem2.lo mem3
73c0: 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20  .lo mem5.lo \.  
73d0: 20 20 20 20 20 20 20 6d 65 6d 6a 6f 75 72 6e 61         memjourna
73e0: 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  l.lo \.         
73f0: 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78 5f 6e  mutex.lo mutex_n
7400: 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75 6e 69  oop.lo mutex_uni
7410: 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32 2e 6c  x.lo mutex_w32.l
7420: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6e 6f 74  o \.         not
7430: 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73 2e 6c  ify.lo opcodes.l
7440: 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69 78 2e  o os.lo os_unix.
7450: 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c 0a 20  lo os_win.lo \. 
7460: 20 20 20 20 20 20 20 20 70 61 67 65 72 2e 6c 6f          pager.lo
7470: 20 70 63 61 63 68 65 2e 6c 6f 20 70 63 61 63 68   pcache.lo pcach
7480: 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c 6f 20  e1.lo pragma.lo 
7490: 70 72 65 70 61 72 65 2e 6c 6f 20 70 72 69 6e 74  prepare.lo print
74a0: 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  f.lo \.         
74b0: 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f 6c 76  random.lo resolv
74c0: 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f 20 72  e.lo rowset.lo r
74d0: 74 72 65 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  tree.lo \.      
74e0: 20 20 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f     sqlite3sessio
74f0: 6e 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c 6f 20 73  n.lo select.lo s
7500: 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20 73 74 61  qlite3rbu.lo sta
7510: 74 75 73 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  tus.lo \.       
7520: 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 65 61    table.lo threa
7530: 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 2e 6c  ds.lo tokenize.l
7540: 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 74 72  o treeview.lo tr
7550: 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 20 20  igger.lo \.     
7560: 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 75 74      update.lo ut
7570: 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e 6c 6f 20  il.lo vacuum.lo 
7580: 5c 0a 20 20 20 20 20 20 20 20 20 76 64 62 65 61  \.         vdbea
7590: 70 69 2e 6c 6f 20 76 64 62 65 61 75 78 2e 6c 6f  pi.lo vdbeaux.lo
75a0: 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20 76 64 62   vdbeblob.lo vdb
75b0: 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73 6f 72 74  emem.lo vdbesort
75c0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76  .lo \.         v
75d0: 64 62 65 74 72 61 63 65 2e 6c 6f 20 77 61 6c 2e  dbetrace.lo wal.
75e0: 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20 77 68 65  lo walker.lo whe
75f0: 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f 64 65 2e  re.lo wherecode.
7600: 6c 6f 20 77 68 65 72 65 65 78 70 72 2e 6c 6f 20  lo whereexpr.lo 
7610: 5c 0a 20 20 20 20 20 20 20 20 20 75 74 66 2e 6c  \.         utf.l
7620: 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 3c 3c 2f 6d  o vtab.lo.# <</m
7630: 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65 63 74 20  ark>>..# Object 
7640: 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20 61 6d  files for the am
7650: 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 4c 49  algamation..#.LI
7660: 42 4f 42 4a 53 31 20 3d 20 73 71 6c 69 74 65 33  BOBJS1 = sqlite3
7670: 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65  .lo..# Determine
7680: 20 74 68 65 20 72 65 61 6c 20 76 61 6c 75 65 20   the real value 
7690: 6f 66 20 4c 49 42 4f 42 4a 20 62 61 73 65 64 20  of LIBOBJ based 
76a0: 6f 6e 20 74 68 65 20 27 63 6f 6e 66 69 67 75 72  on the 'configur
76b0: 65 27 20 73 63 72 69 70 74 0a 23 0a 23 20 3c 3c  e' script.#.# <<
76c0: 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 28 55 53 45  mark>>.!IF $(USE
76d0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d  _AMALGAMATION)==
76e0: 30 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42  0.LIBOBJ = $(LIB
76f0: 4f 42 4a 53 30 29 0a 21 45 4c 53 45 0a 23 20 3c  OBJS0).!ELSE.# <
7700: 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f 42 4a 20  </mark>>.LIBOBJ 
7710: 3d 20 24 28 4c 49 42 4f 42 4a 53 31 29 0a 23 20  = $(LIBOBJS1).# 
7720: 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a  <<mark>>.!ENDIF.
7730: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44  # <</mark>>..# D
7740: 65 74 65 72 6d 69 6e 65 20 69 66 20 65 6d 62 65  etermine if embe
7750: 64 64 65 64 20 72 65 73 6f 75 72 63 65 20 63 6f  dded resource co
7760: 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 75 73  mpilation and us
7770: 61 67 65 20 61 72 65 20 65 6e 61 62 6c 65 64 2e  age are enabled.
7780: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29  .#.!IF $(USE_RC)
7790: 21 3d 30 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d  !=0.LIBRESOBJS =
77a0: 20 73 71 6c 69 74 65 33 72 65 73 2e 6c 6f 0a 21   sqlite3res.lo.!
77b0: 45 4c 53 45 0a 4c 49 42 52 45 53 4f 42 4a 53 20  ELSE.LIBRESOBJS 
77c0: 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  =.!ENDIF..# <<ma
77d0: 72 6b 3e 3e 0a 23 20 43 6f 72 65 20 73 6f 75 72  rk>>.# Core sour
77e0: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70  ce code files, p
77f0: 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 30 20 3d  art 1..#.SRC00 =
7800: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7810: 61 6c 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  alter.c \.  $(TO
7820: 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63  P)\src\analyze.c
7830: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7840: 61 74 74 61 63 68 2e 63 20 5c 0a 20 20 24 28 54  attach.c \.  $(T
7850: 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 5c  OP)\src\auth.c \
7860: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61  .  $(TOP)\src\ba
7870: 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ckup.c \.  $(TOP
7880: 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20 5c  )\src\bitvec.c \
7890: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74  .  $(TOP)\src\bt
78a0: 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f  mutex.c \.  $(TO
78b0: 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 5c  P)\src\btree.c \
78c0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75  .  $(TOP)\src\bu
78d0: 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ild.c \.  $(TOP)
78e0: 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20  \src\callback.c 
78f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63  \.  $(TOP)\src\c
7900: 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28  omplete.c \.  $(
7910: 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63  TOP)\src\ctime.c
7920: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7930: 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  date.c \.  $(TOP
7940: 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 20 5c  )\src\dbstat.c \
7950: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65  .  $(TOP)\src\de
7960: 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lete.c \.  $(TOP
7970: 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20  )\src\expr.c \. 
7980: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c   $(TOP)\src\faul
7990: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
79a0: 72 63 5c 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28  rc\fkey.c \.  $(
79b0: 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20  TOP)\src\func.c 
79c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 67  \.  $(TOP)\src\g
79d0: 6c 6f 62 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  lobal.c \.  $(TO
79e0: 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20 5c 0a  P)\src\hash.c \.
79f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73    $(TOP)\src\ins
7a00: 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ert.c \.  $(TOP)
7a10: 5c 73 72 63 5c 6b 76 61 70 69 2e 63 20 5c 0a 20  \src\kvapi.c \. 
7a20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61   $(TOP)\src\lega
7a30: 63 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cy.c \.  $(TOP)\
7a40: 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 5c 0a  src\loadext.c \.
7a50: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69    $(TOP)\src\mai
7a60: 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  n.c \.  $(TOP)\s
7a70: 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20  rc\malloc.c \.  
7a80: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e  $(TOP)\src\mem0.
7a90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7aa0: 5c 6d 65 6d 31 2e 63 20 5c 0a 20 20 24 28 54 4f  \mem1.c \.  $(TO
7ab0: 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a  P)\src\mem2.c \.
7ac0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem
7ad0: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3.c \.  $(TOP)\s
7ae0: 72 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 28  rc\mem5.c \.  $(
7af0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72  TOP)\src\memjour
7b00: 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nal.c \.  $(TOP)
7b10: 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 5c 0a 20  \src\mutex.c \. 
7b20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
7b30: 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20 20 24 28 54  x_noop.c \.  $(T
7b40: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e  OP)\src\mutex_un
7b50: 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ix.c \.  $(TOP)\
7b60: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20  src\mutex_w32.c 
7b70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e  \.  $(TOP)\src\n
7b80: 6f 74 69 66 79 2e 63 20 5c 0a 20 20 24 28 54 4f  otify.c \.  $(TO
7b90: 50 29 5c 73 72 63 5c 6f 73 2e 63 20 5c 0a 20 20  P)\src\os.c \.  
7ba0: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e  $(TOP)\src\os_un
7bb0: 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ix.c \.  $(TOP)\
7bc0: 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20  src\os_win.c..# 
7bd0: 43 6f 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65  Core source code
7be0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a   files, part 2..
7bf0: 23 0a 53 52 43 30 31 20 3d 20 5c 0a 20 20 24 28  #.SRC01 = \.  $(
7c00: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63  TOP)\src\pager.c
7c10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7c20: 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54  pcache.c \.  $(T
7c30: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e  OP)\src\pcache1.
7c40: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7c50: 5c 70 72 61 67 6d 61 2e 63 20 5c 0a 20 20 24 28  \pragma.c \.  $(
7c60: 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65  TOP)\src\prepare
7c70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7c80: 63 5c 70 72 69 6e 74 66 2e 63 20 5c 0a 20 20 24  c\printf.c \.  $
7c90: 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d  (TOP)\src\random
7ca0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7cb0: 63 5c 72 65 73 6f 6c 76 65 2e 63 20 5c 0a 20 20  c\resolve.c \.  
7cc0: 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65  $(TOP)\src\rowse
7cd0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
7ce0: 72 63 5c 73 65 6c 65 63 74 2e 63 20 5c 0a 20 20  rc\select.c \.  
7cf0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75  $(TOP)\src\statu
7d00: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s
7d10: 72 63 5c 74 61 62 6c 65 2e 63 20 5c 0a 20 20 24  rc\table.c \.  $
7d20: 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64  (TOP)\src\thread
7d30: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s
7d40: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c  rc\tclsqlite.c \
7d50: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f  .  $(TOP)\src\to
7d60: 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 24 28 54  kenize.c \.  $(T
7d70: 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77  OP)\src\treeview
7d80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7d90: 63 5c 74 72 69 67 67 65 72 2e 63 20 5c 0a 20 20  c\trigger.c \.  
7da0: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63  $(TOP)\src\utf.c
7db0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7dc0: 75 70 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54  update.c \.  $(T
7dd0: 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 5c  OP)\src\util.c \
7de0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61  .  $(TOP)\src\va
7df0: 63 75 75 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50  cuum.c \.  $(TOP
7e00: 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 5c 0a 20  )\src\vdbe.c \. 
7e10: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
7e20: 61 70 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  api.c \.  $(TOP)
7e30: 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20 5c  \src\vdbeaux.c \
7e40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd
7e50: 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54  beblob.c \.  $(T
7e60: 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e  OP)\src\vdbemem.
7e70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7e80: 5c 76 64 62 65 73 6f 72 74 2e 63 20 5c 0a 20 20  \vdbesort.c \.  
7e90: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74  $(TOP)\src\vdbet
7ea0: 72 61 63 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  race.c \.  $(TOP
7eb0: 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 5c 0a 20  )\src\vtab.c \. 
7ec0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e   $(TOP)\src\wal.
7ed0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7ee0: 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a 20 20 24 28  \walker.c \.  $(
7ef0: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63  TOP)\src\where.c
7f00: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7f10: 77 68 65 72 65 63 6f 64 65 2e 63 20 5c 0a 20 20  wherecode.c \.  
7f20: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
7f30: 65 78 70 72 2e 63 0a 0a 23 20 53 68 65 6c 6c 20  expr.c..# Shell 
7f40: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
7f50: 73 2e 0a 23 0a 53 52 43 30 32 20 3d 20 5c 0a 20  s..#.SRC02 = \. 
7f60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c   $(TOP)\src\shel
7f70: 6c 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73 63  l.c..# Core misc
7f80: 65 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73 2e  ellaneous files.
7f90: 0a 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20 24  .#.SRC03 = \.  $
7fa0: 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e  (TOP)\src\parse.
7fb0: 79 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72  y..# Core header
7fc0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a   files, part 1..
7fd0: 23 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 28  #.SRC04 = \.  $(
7fe0: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68  TOP)\src\btree.h
7ff0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8000: 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 24  btreeInt.h \.  $
8010: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68  (TOP)\src\hash.h
8020: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8030: 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 54  hwtime.h \.  $(T
8040: 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c  OP)\src\msvc.h \
8050: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu
8060: 74 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  tex.h \.  $(TOP)
8070: 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24 28  \src\os.h \.  $(
8080: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d  TOP)\src\os_comm
8090: 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  on.h \.  $(TOP)\
80a0: 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c  src\os_setup.h \
80b0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os
80c0: 5f 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 68  _win.h..# Core h
80d0: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72  eader files, par
80e0: 74 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 5c  t 2..#.SRC05 = \
80f0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  .  $(TOP)\src\pa
8100: 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ger.h \.  $(TOP)
8110: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a  \src\pcache.h \.
8120: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61    $(TOP)\src\pra
8130: 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  gma.h \.  $(TOP)
8140: 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e  \src\sqlite.h.in
8150: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8160: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20  sqlite3ext.h \. 
8170: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69   $(TOP)\src\sqli
8180: 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f  teInt.h \.  $(TO
8190: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d  P)\src\sqliteLim
81a0: 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  it.h \.  $(TOP)\
81b0: 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 24  src\vdbe.h \.  $
81c0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e  (TOP)\src\vdbeIn
81d0: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s
81e0: 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20  rc\vxworks.h \. 
81f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e   $(TOP)\src\wal.
8200: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8210: 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 45  \whereInt.h..# E
8220: 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20  xtension source 
8230: 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74  code files, part
8240: 20 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c 0a   1..#.SRC06 = \.
8250: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8260: 31 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28 54  1\fts1.c \.  $(T
8270: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
8280: 31 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54  1_hash.c \.  $(T
8290: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
82a0: 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24  1_porter.c \.  $
82b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
82c0: 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts1_tokenizer1.c
82d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
82e0: 66 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20 20  fts2\fts2.c \.  
82f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
8300: 66 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20  fts2_hash.c \.  
8310: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
8320: 66 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24  fts2_icu.c \.  $
8330: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
8340: 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20  ts2_porter.c \. 
8350: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
8360: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
8370: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8380: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
8390: 69 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 6e  izer1.c..# Exten
83a0: 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65  sion source code
83b0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a   files, part 2..
83c0: 23 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 28  #.SRC07 = \.  $(
83d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
83e0: 73 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s3.c \.  $(TOP)\
83f0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75  ext\fts3\fts3_au
8400: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  x.c \.  $(TOP)\e
8410: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70  xt\fts3\fts3_exp
8420: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
8430: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73  xt\fts3\fts3_has
8440: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.c \.  $(TOP)\e
8450: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75  xt\fts3\fts3_icu
8460: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8470: 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74  t\fts3\fts3_port
8480: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
8490: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e  ext\fts3\fts3_sn
84a0: 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f  ippet.c \.  $(TO
84b0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
84c0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20  _tokenizer.c \. 
84d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
84e0: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts3_tokenizer1
84f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8500: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
8510: 6e 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 20  nize_vtab.c \.  
8520: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8530: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 5c  fts3_unicode.c \
8540: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8550: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32  s3\fts3_unicode2
8560: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8570: 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74  t\fts3\fts3_writ
8580: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.c \.  $(TOP)\e
8590: 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a 20  xt\icu\icu.c \. 
85a0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
85b0: 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  e\rtree.c \.  $(
85c0: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
85d0: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
85e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
85f0: 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e  \rbu\sqlite3rbu.
8600: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8610: 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 0a 0a 23  \misc\json1.c..#
8620: 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65   Extension heade
8630: 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e  r files, part 1.
8640: 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a 20 20 24  .#.SRC08 = \.  $
8650: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
8660: 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ts1.h \.  $(TOP)
8670: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68  \ext\fts1\fts1_h
8680: 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ash.h \.  $(TOP)
8690: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74  \ext\fts1\fts1_t
86a0: 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24  okenizer.h \.  $
86b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
86c0: 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ts2.h \.  $(TOP)
86d0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68  \ext\fts2\fts2_h
86e0: 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ash.h \.  $(TOP)
86f0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
8700: 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23 20 45 78  okenizer.h..# Ex
8710: 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66  tension header f
8720: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a  iles, part 2..#.
8730: 53 52 43 30 39 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC09 = \.  $(TO
8740: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
8750: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
8760: 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74 2e 68  t\fts3\fts3Int.h
8770: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8780: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 68  fts3\fts3_hash.h
8790: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
87a0: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
87b0: 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  zer.h \.  $(TOP)
87c0: 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69  \ext\icu\sqlitei
87d0: 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cu.h \.  $(TOP)\
87e0: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
87f0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
8800: 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e  \rbu\sqlite3rbu.
8810: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext
8820: 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33  \session\sqlite3
8830: 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 47 65 6e  session.h..# Gen
8840: 65 72 61 74 65 64 20 73 6f 75 72 63 65 20 63 6f  erated source co
8850: 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 30  de files.#.SRC10
8860: 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 63   = \.  opcodes.c
8870: 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a 0a 23 20   \.  parse.c..# 
8880: 47 65 6e 65 72 61 74 65 64 20 68 65 61 64 65 72  Generated header
8890: 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 31 20 3d   files.#.SRC11 =
88a0: 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61 73 68   \.  keywordhash
88b0: 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 68  .h \.  opcodes.h
88c0: 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 5c 0a 20   \.  parse.h \. 
88d0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20   $(SQLITE3H)..# 
88e0: 47 65 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65  Generated Tcl he
88f0: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46  ader files.#.!IF
8900: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)!
8910: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
8920: 30 29 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a  0)!=0.SRC12 = \.
8930: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20    $(SQLITETCLH) 
8940: 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44  \.  $(SQLITETCLD
8950: 45 43 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43  ECLSH).!ELSE.SRC
8960: 31 32 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41  12 =.!ENDIF..# A
8970: 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ll source code f
8980: 69 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28  iles..#.SRC = $(
8990: 53 52 43 30 30 29 20 24 28 53 52 43 30 31 29 20  SRC00) $(SRC01) 
89a0: 24 28 53 52 43 30 32 29 20 24 28 53 52 43 30 33  $(SRC02) $(SRC03
89b0: 29 20 24 28 53 52 43 30 34 29 20 24 28 53 52 43  ) $(SRC04) $(SRC
89c0: 30 35 29 20 24 28 53 52 43 30 36 29 20 24 28 53  05) $(SRC06) $(S
89d0: 52 43 30 37 29 20 24 28 53 52 43 30 38 29 20 24  RC07) $(SRC08) $
89e0: 28 53 52 43 30 39 29 20 24 28 53 52 43 31 30 29  (SRC09) $(SRC10)
89f0: 20 24 28 53 52 43 31 31 29 0a 0a 23 20 53 6f 75   $(SRC11)..# Sou
8a00: 72 63 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20  rce code to the 
8a10: 74 65 73 74 20 66 69 6c 65 73 2e 0a 23 0a 54 45  test files..#.TE
8a20: 53 54 53 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f  STSRC = \.  $(TO
8a30: 50 29 5c 73 72 63 5c 74 65 73 74 31 2e 63 20 5c  P)\src\test1.c \
8a40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8a50: 73 74 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st2.c \.  $(TOP)
8a60: 5c 73 72 63 5c 74 65 73 74 33 2e 63 20 5c 0a 20  \src\test3.c \. 
8a70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8a80: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  4.c \.  $(TOP)\s
8a90: 72 63 5c 74 65 73 74 35 2e 63 20 5c 0a 20 20 24  rc\test5.c \.  $
8aa0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 36 2e  (TOP)\src\test6.
8ab0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8ac0: 5c 74 65 73 74 37 2e 63 20 5c 0a 20 20 24 28 54  \test7.c \.  $(T
8ad0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 38 2e 63 20  OP)\src\test8.c 
8ae0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8af0: 65 73 74 39 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est9.c \.  $(TOP
8b00: 29 5c 73 72 63 5c 74 65 73 74 5f 61 75 74 6f 65  )\src\test_autoe
8b10: 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  xt.c \.  $(TOP)\
8b20: 73 72 63 5c 74 65 73 74 5f 61 73 79 6e 63 2e 63  src\test_async.c
8b30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b40: 74 65 73 74 5f 62 61 63 6b 75 70 2e 63 20 5c 0a  test_backup.c \.
8b50: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8b60: 74 5f 62 65 73 74 69 6e 64 65 78 2e 63 20 5c 0a  t_bestindex.c \.
8b70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8b80: 74 5f 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54  t_blob.c \.  $(T
8b90: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 74 72  OP)\src\test_btr
8ba0: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ee.c \.  $(TOP)\
8bb0: 73 72 63 5c 74 65 73 74 5f 63 6f 6e 66 69 67 2e  src\test_config.
8bc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8bd0: 5c 74 65 73 74 5f 64 65 6c 65 74 65 2e 63 20 5c  \test_delete.c \
8be0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8bf0: 73 74 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20  st_demovfs.c \. 
8c00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8c10: 5f 64 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28  _devsym.c \.  $(
8c20: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 73  TOP)\src\test_fs
8c30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8c40: 63 5c 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a  c\test_func.c \.
8c50: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8c60: 74 5f 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28  t_hexio.c \.  $(
8c70: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e  TOP)\src\test_in
8c80: 69 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  it.c \.  $(TOP)\
8c90: 73 72 63 5c 74 65 73 74 5f 69 6e 74 61 72 72 61  src\test_intarra
8ca0: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s
8cb0: 72 63 5c 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e  rc\test_journal.
8cc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8cd0: 5c 74 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c  \test_malloc.c \
8ce0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8cf0: 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c  st_multiplex.c \
8d00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8d10: 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24  st_mutex.c \.  $
8d20: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f  (TOP)\src\test_o
8d30: 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54  nefile.c \.  $(T
8d40: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69  OP)\src\test_osi
8d50: 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nst.c \.  $(TOP)
8d60: 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65  \src\test_pcache
8d70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8d80: 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c  c\test_quota.c \
8d90: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8da0: 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24  st_rtree.c \.  $
8db0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
8dc0: 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f  chema.c \.  $(TO
8dd0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76  P)\src\test_serv
8de0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
8df0: 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f  src\test_superlo
8e00: 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ck.c \.  $(TOP)\
8e10: 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c  src\test_syscall
8e20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8e30: 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e 63 20  c\test_tclvar.c 
8e40: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8e50: 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20  est_thread.c \. 
8e60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8e70: 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _vfs.c \.  $(TOP
8e80: 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69  )\src\test_windi
8e90: 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rent.c \.  $(TOP
8ea0: 29 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63  )\src\test_wsd.c
8eb0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8ec0: 66 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63  fts3\fts3_term.c
8ed0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8ee0: 66 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63  fts3\fts3_test.c
8ef0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8f00: 72 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c  rbu\test_rbu.c \
8f10: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  .  $(TOP)\ext\se
8f20: 73 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69  ssion\test_sessi
8f30: 6f 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c  on.c..# Statical
8f40: 6c 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73  ly linked extens
8f50: 69 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20  ions..#.TESTEXT 
8f60: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  = \.  $(TOP)\ext
8f70: 5c 6d 69 73 63 5c 61 6d 61 74 63 68 2e 63 20 5c  \misc\amatch.c \
8f80: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
8f90: 73 63 5c 63 61 72 72 61 79 2e 63 20 5c 0a 20 20  sc\carray.c \.  
8fa0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
8fb0: 63 6c 6f 73 75 72 65 2e 63 20 5c 0a 20 20 24 28  closure.c \.  $(
8fc0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 73  TOP)\ext\misc\cs
8fd0: 76 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  v.c \.  $(TOP)\e
8fe0: 78 74 5c 6d 69 73 63 5c 65 76 61 6c 2e 63 20 5c  xt\misc\eval.c \
8ff0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
9000: 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 20 20  sc\fileio.c \.  
9010: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9020: 66 75 7a 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54  fuzzer.c \.  $(T
9030: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
9040: 35 5f 74 63 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  5_tcl.c \.  $(TO
9050: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
9060: 5f 74 65 73 74 5f 6d 69 2e 63 20 5c 0a 20 20 24  _test_mi.c \.  $
9070: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
9080: 74 73 35 5f 74 65 73 74 5f 74 6f 6b 2e 63 20 5c  ts5_test_tok.c \
9090: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
90a0: 73 63 5c 69 65 65 65 37 35 34 2e 63 20 5c 0a 20  sc\ieee754.c \. 
90b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
90c0: 5c 6e 65 78 74 63 68 61 72 2e 63 20 5c 0a 20 20  \nextchar.c \.  
90d0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
90e0: 70 65 72 63 65 6e 74 69 6c 65 2e 63 20 5c 0a 20  percentile.c \. 
90f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9100: 5c 72 65 67 65 78 70 2e 63 20 5c 0a 20 20 24 28  \regexp.c \.  $(
9110: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65  TOP)\ext\misc\re
9120: 6d 65 6d 62 65 72 2e 63 20 5c 0a 20 20 24 28 54  member.c \.  $(T
9130: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 65 72  OP)\ext\misc\ser
9140: 69 65 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ies.c \.  $(TOP)
9150: 5c 65 78 74 5c 6d 69 73 63 5c 73 70 65 6c 6c 66  \ext\misc\spellf
9160: 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ix.c \.  $(TOP)\
9170: 65 78 74 5c 6d 69 73 63 5c 74 6f 74 79 70 65 2e  ext\misc\totype.
9180: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
9190: 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e 75 6d 62 65  \misc\wholenumbe
91a0: 72 2e 63 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f  r.c..# Source co
91b0: 64 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72  de to the librar
91c0: 79 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62  y files needed b
91d0: 79 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75  y the test fixtu
91e0: 72 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61  re.# (non-amalga
91f0: 6d 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52  mation).#.TESTSR
9200: 43 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30  C2 = \.  $(SRC00
9210: 29 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c  ) \.  $(SRC01) \
9220: 0a 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20  .  $(SRC06) \.  
9230: 24 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53  $(SRC07) \.  $(S
9240: 52 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29  RC10) \.  $(TOP)
9250: 5c 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74  \ext\async\sqlit
9260: 65 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61  e3async.c..# Hea
9270: 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62  der files used b
9280: 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f  y all library so
9290: 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44  urce files..#.HD
92a0: 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  R = \.   $(TOP)\
92b0: 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20  src\btree.h \.  
92c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre
92d0: 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  eInt.h \.   $(TO
92e0: 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a  P)\src\hash.h \.
92f0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77     $(TOP)\src\hw
9300: 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77  time.h \.   keyw
9310: 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24  ordhash.h \.   $
9320: 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68  (TOP)\src\msvc.h
9330: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9340: 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70  \mutex.h \.   op
9350: 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54  codes.h \.   $(T
9360: 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20  OP)\src\os.h \. 
9370: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
9380: 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28  common.h \.   $(
9390: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75  TOP)\src\os_setu
93a0: 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  p.h \.   $(TOP)\
93b0: 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20  src\os_win.h \. 
93c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag
93d0: 65 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  er.h \.   $(TOP)
93e0: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a  \src\pcache.h \.
93f0: 20 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20     parse.h \.   
9400: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d  $(TOP)\src\pragm
9410: 61 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54  a.h \.   $(SQLIT
9420: 45 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65  E3H) \.   sqlite
9430: 33 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  3ext.h \.   $(TO
9440: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74  P)\src\sqliteInt
9450: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
9460: 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68  rc\sqliteLimit.h
9470: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9480: 5c 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54  \vdbe.h \.   $(T
9490: 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e  OP)\src\vdbeInt.
94a0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
94b0: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.  
94c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher
94d0: 65 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72  eInt.h..# Header
94e0: 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 65   files used by e
94f0: 78 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48  xtensions.#.EXTH
9500: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
9510: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
9520: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28  s1\fts1.h \.  $(
9530: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9540: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $(
9550: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9560: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45  s1_tokenizer.h.E
9570: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
9580: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
9590: 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20  \fts2\fts2.h \. 
95a0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
95b0: 5c 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts2_hash.h \. 
95c0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
95d0: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
95e0: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
95f0: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
9600: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20  ext\fts3\fts3.h 
9610: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9620: 74 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a  ts3\fts3Int.h \.
9630: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9640: 33 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a  3\fts3_hash.h \.
9650: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
9660: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
9670: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX
9680: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
9690: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
96a0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX
96b0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP)
96c0: 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69  \ext\icu\sqlitei
96d0: 63 75 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28  cu.h.EXTHDR = $(
96e0: 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f  EXTHDR) \.  $(TO
96f0: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c  P)\ext\rtree\sql
9700: 69 74 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48  ite3rtree.h.EXTH
9710: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \
9720: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  .  $(TOP)\ext\se
9730: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73  ssion\sqlite3ses
9740: 73 69 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74  sion.h..# execut
9750: 61 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72  ables needed for
9760: 20 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50   testing.#.TESTP
9770: 52 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66  ROGS = \.  testf
9780: 69 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24  ixture.exe \.  $
9790: 28 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20  (SQLITE3EXE) \. 
97a0: 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
97b0: 72 2e 65 78 65 20 5c 0a 20 20 73 71 6c 64 69 66  r.exe \.  sqldif
97c0: 66 2e 65 78 65 20 5c 0a 20 20 64 62 68 61 73 68  f.exe \.  dbhash
97d0: 2e 65 78 65 0a 0a 23 20 44 61 74 61 62 61 73 65  .exe..# Database
97e0: 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 66 75 7a  s containing fuz
97f0: 7a 65 72 20 74 65 73 74 20 63 61 73 65 73 0a 23  zer test cases.#
9800: 0a 46 55 5a 5a 44 41 54 41 20 3d 20 5c 0a 20 20  .FUZZDATA = \.  
9810: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz
9820: 64 61 74 61 31 2e 64 62 20 5c 0a 20 20 24 28 54  data1.db \.  $(T
9830: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74  OP)\test\fuzzdat
9840: 61 32 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29  a2.db \.  $(TOP)
9850: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 33 2e  \test\fuzzdata3.
9860: 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65  db \.  $(TOP)\te
9870: 73 74 5c 66 75 7a 7a 64 61 74 61 34 2e 64 62 20  st\fuzzdata4.db 
9880: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\
9890: 66 75 7a 7a 64 61 74 61 35 2e 64 62 0a 23 20 3c  fuzzdata5.db.# <
98a0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 69  </mark>>..# Addi
98b0: 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20  tional compiler 
98c0: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20  options for the 
98d0: 73 68 65 6c 6c 2e 20 20 54 68 65 73 65 20 61 72  shell.  These ar
98e0: 65 20 6f 6e 6c 79 20 65 66 66 65 63 74 69 76 65  e only effective
98f0: 0a 23 20 77 68 65 6e 20 74 68 65 20 73 68 65 6c  .# when the shel
9900: 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 64  l is not being d
9910: 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65  ynamically linke
9920: 64 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e 41 4d  d..#.!IF $(DYNAM
9930: 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26 26 20  IC_SHELL)==0 && 
9940: 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 0a  $(FOR_WIN10)==0.
9950: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
9960: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d  TS = $(SHELL_COM
9970: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c  PILE_OPTS) -DSQL
9980: 49 54 45 5f 53 48 45 4c 4c 5f 4a 53 4f 4e 31 20  ITE_SHELL_JSON1 
9990: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
99a0: 46 54 53 34 20 2d 44 53 51 4c 49 54 45 5f 45 4e  FTS4 -DSQLITE_EN
99b0: 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d  ABLE_EXPLAIN_COM
99c0: 4d 45 4e 54 53 0a 21 45 4e 44 49 46 0a 0a 23 20  MENTS.!ENDIF..# 
99d0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61  <<mark>>.# Extra
99e0: 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e   compiler option
99f0: 73 20 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65  s for various te
9a00: 73 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45  st tools..#.MPTE
9a10: 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  STER_COMPILE_OPT
9a20: 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 53 48 45  S = -DSQLITE_SHE
9a30: 4c 4c 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54  LL_JSON1 -DSQLIT
9a40: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55  E_ENABLE_FTS5.FU
9a50: 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  ZZERSHELL_COMPIL
9a60: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
9a70: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46  E_ENABLE_JSON1.F
9a80: 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45  UZZCHECK_COMPILE
9a90: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
9aa0: 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44  _ENABLE_JSON1 -D
9ab0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45  SQLITE_ENABLE_ME
9ac0: 4d 53 59 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f  MSYS5 -DSQLITE_O
9ad0: 53 53 5f 46 55 5a 5a 0a 46 55 5a 5a 43 48 45 43  SS_FUZZ.FUZZCHEC
9ae0: 4b 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74  K_SRC = $(TOP)\t
9af0: 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e 63 20  est\fuzzcheck.c 
9b00: 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66  $(TOP)\test\ossf
9b10: 75 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c 5f 53  uzz.c.OSSSHELL_S
9b20: 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74  RC = $(TOP)\test
9b30: 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28 54 4f  \ossshell.c $(TO
9b40: 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e  P)\test\ossfuzz.
9b50: 63 0a 0a 23 20 53 74 61 6e 64 61 72 64 20 6f 70  c..# Standard op
9b60: 74 69 6f 6e 73 20 74 6f 20 74 65 73 74 66 69 78  tions to testfix
9b70: 74 75 72 65 2e 0a 23 0a 54 45 53 54 4f 50 54 53  ture..#.TESTOPTS
9b80: 20 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66 69 6c   = --verbose=fil
9b90: 65 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73 74 2d  e --output=test-
9ba0: 6f 75 74 2e 74 78 74 0a 0a 23 20 45 78 74 72 61  out.txt..# Extra
9bb0: 20 74 61 72 67 65 74 73 20 66 6f 72 20 74 68 65   targets for the
9bc0: 20 22 61 6c 6c 22 20 74 61 72 67 65 74 20 74 68   "all" target th
9bd0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 2e 0a  at require Tcl..
9be0: 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d  #.!IF $(NO_TCL)=
9bf0: 3d 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45  =0.ALL_TCL_TARGE
9c00: 54 53 20 3d 20 6c 69 62 74 63 6c 73 71 6c 69 74  TS = libtclsqlit
9c10: 65 33 2e 6c 69 62 0a 21 45 4c 53 45 0a 41 4c 4c  e3.lib.!ELSE.ALL
9c20: 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 0a 21  _TCL_TARGETS =.!
9c30: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  ENDIF.# <</mark>
9c40: 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  >..# This is the
9c50: 20 64 65 66 61 75 6c 74 20 4d 61 6b 65 66 69 6c   default Makefil
9c60: 65 20 74 61 72 67 65 74 2e 20 20 54 68 65 20 6f  e target.  The o
9c70: 62 6a 65 63 74 73 20 6c 69 73 74 65 64 20 68 65  bjects listed he
9c80: 72 65 0a 23 20 61 72 65 20 77 68 61 74 20 67 65  re.# are what ge
9c90: 74 20 62 75 69 6c 64 20 77 68 65 6e 20 79 6f 75  t build when you
9ca0: 20 74 79 70 65 20 6a 75 73 74 20 22 6d 61 6b 65   type just "make
9cb0: 22 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65  " with no argume
9cc0: 6e 74 73 2e 0a 23 0a 61 6c 6c 3a 09 64 6c 6c 20  nts..#.all:.dll 
9cd0: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 73  libsqlite3.lib s
9ce0: 68 65 6c 6c 20 24 28 41 4c 4c 5f 54 43 4c 5f 54  hell $(ALL_TCL_T
9cf0: 41 52 47 45 54 53 29 0a 0a 23 20 44 79 6e 61 6d  ARGETS)..# Dynam
9d00: 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20  ic link library 
9d10: 73 65 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09  section..#.dll:.
9d20: 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23  $(SQLITE3DLL)..#
9d30: 20 53 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   Shell executabl
9d40: 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09 24 28 53 51  e..#.shell:.$(SQ
9d50: 4c 49 54 45 33 45 58 45 29 0a 0a 23 20 3c 3c 6d  LITE3EXE)..# <<m
9d60: 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c 69 74 65 33  ark>>.libsqlite3
9d70: 2e 6c 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a  .lib:.$(LIBOBJ).
9d80: 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49  .$(LTLIB) $(LTLI
9d90: 42 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24  BOPTS) /OUT:$@ $
9da0: 28 4c 49 42 4f 42 4a 29 20 24 28 54 4c 49 42 53  (LIBOBJ) $(TLIBS
9db0: 29 0a 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65 33  )..libtclsqlite3
9dc0: 2e 6c 69 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e  .lib:.tclsqlite.
9dd0: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  lo libsqlite3.li
9de0: 62 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54  b..$(LTLIB) $(LT
9df0: 4c 49 42 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  LIBOPTS) $(LTLIB
9e00: 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74  PATHS) /OUT:$@ t
9e10: 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73  clsqlite.lo libs
9e20: 71 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42  qlite3.lib $(LIB
9e30: 54 43 4c 53 54 55 42 29 20 24 28 54 4c 49 42 53  TCLSTUB) $(TLIBS
9e40: 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24  ).# <</mark>>..$
9e50: 28 53 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28  (SQLITE3DLL):.$(
9e60: 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53  LIBOBJ) $(LIBRES
9e70: 4f 42 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e  OBJS) $(CORE_LIN
9e80: 4b 5f 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28  K_DEP)..$(LD) $(
9e90: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
9ea0: 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA
9eb0: 54 48 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45  THS) /DLL $(CORE
9ec0: 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54  _LINK_OPTS) /OUT
9ed0: 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28  :$@ $(LIBOBJ) $(
9ee0: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54  LIBRESOBJS) $(LT
9ef0: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
9f00: 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c  # <<block2>>.sql
9f10: 69 74 65 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c  ite3.def:.libsql
9f20: 69 74 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45  ite3.lib..echo E
9f30: 58 50 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33  XPORTS > sqlite3
9f40: 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61  .def..dumpbin /a
9f50: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  ll libsqlite3.li
9f60: 62 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  b \...| $(TCLSH_
9f70: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
9f80: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63  \replace.tcl inc
9f90: 6c 75 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73  lude "^\s+1 _?(s
9fa0: 71 6c 69 74 65 33 5f 5b 5e 40 5d 2a 29 28 3f 3a  qlite3_[^@]*)(?:
9fb0: 40 5c 64 2b 29 3f 24 24 22 20 5c 31 20 5c 0a 09  @\d+)?$$" \1 \..
9fc0: 09 7c 20 73 6f 72 74 20 3e 3e 20 73 71 6c 69 74  .| sort >> sqlit
9fd0: 65 33 2e 64 65 66 0a 23 20 3c 3c 2f 62 6c 6f 63  e3.def.# <</bloc
9fe0: 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 45  k2>>..$(SQLITE3E
9ff0: 58 45 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  XE):.$(TOP)\src\
a000: 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f  shell.c $(SHELL_
a010: 43 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52  CORE_DEP) $(LIBR
a020: 45 53 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f  ESOBJS) $(SHELL_
a030: 43 4f 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49  CORE_SRC) $(SQLI
a040: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
a050: 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45   $(SHELL_COMPILE
a060: 5f 4f 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e  _OPTS) $(READLIN
a070: 45 5f 46 4c 41 47 53 29 20 24 28 54 4f 50 29 5c  E_FLAGS) $(TOP)\
a080: 73 72 63 5c 73 68 65 6c 6c 2e 63 20 24 28 53 48  src\shell.c $(SH
a090: 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 5c 0a  ELL_CORE_SRC) \.
a0a0: 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c 49 54 45  ../link $(SQLITE
a0b0: 33 45 58 45 50 44 42 29 20 24 28 4c 44 46 4c 41  3EXEPDB) $(LDFLA
a0c0: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
a0d0: 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f  ) $(SHELL_LINK_O
a0e0: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH
a0f0: 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  S) $(LIBRESOBJS)
a100: 20 24 28 4c 49 42 52 45 41 44 4c 49 4e 45 29 20   $(LIBREADLINE) 
a110: 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS) $(TLIB
a120: 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 73  S)..# <<mark>>.s
a130: 71 6c 64 69 66 66 2e 65 78 65 3a 09 24 28 54 4f  qldiff.exe:.$(TO
a140: 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e  P)\tool\sqldiff.
a150: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
a160: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
a170: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
a180: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64  $(TOP)\tool\sqld
a190: 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iff.c $(SQLITE3C
a1a0: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
a1b0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
a1c0: 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a 09 24 28  ..dbhash.exe:.$(
a1d0: 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68  TOP)\tool\dbhash
a1e0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
a1f0: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
a200: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
a210: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68   $(TOP)\tool\dbh
a220: 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43  ash.c $(SQLITE3C
a230: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
a240: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
a250: 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09 24 28 54  ..scrub.exe:.$(T
a260: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72  OP)\ext\misc\scr
a270: 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ub.c $(SQLITE3C)
a280: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
a290: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
a2a0: 4e 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  N) $(TOP)\ext\mi
a2b0: 73 63 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c  sc\scrub.c $(SQL
a2c0: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
a2d0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
a2e0: 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31 2e 65 78  OPTS)..srcck1.ex
a2f0: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  e:.$(TOP)\tool\s
a300: 72 63 63 6b 31 2e 63 0a 09 24 28 42 43 43 29 20  rcck1.c..$(BCC) 
a310: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40  $(NO_WARN) -Fe$@
a320: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63   $(TOP)\tool\src
a330: 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65 74 65 73  ck1.c..sourcetes
a340: 74 3a 09 73 72 63 63 6b 31 2e 65 78 65 20 73 71  t:.srcck1.exe sq
a350: 6c 69 74 65 33 2e 63 0a 09 73 72 63 63 6b 31 2e  lite3.c..srcck1.
a360: 65 78 65 20 73 71 6c 69 74 65 33 2e 63 0a 0a 66  exe sqlite3.c..f
a370: 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 3a 09  uzzershell.exe:.
a380: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a  $(TOP)\tool\fuzz
a390: 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49  ershell.c $(SQLI
a3a0: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
a3b0: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
a3c0: 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 45 52  O_WARN) $(FUZZER
a3d0: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
a3e0: 54 53 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  TS) $(TOP)\tool\
a3f0: 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28  fuzzershell.c $(
a400: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
a410: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
a420: 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63 68  INKOPTS)..fuzzch
a430: 65 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a 43  eck.exe:.$(FUZZC
a440: 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c 49  HECK_SRC) $(SQLI
a450: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
a460: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
a470: 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48  O_WARN) $(FUZZCH
a480: 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ECK_COMPILE_OPTS
a490: 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52  ) $(FUZZCHECK_SR
a4a0: 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  C) $(SQLITE3C) /
a4b0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
a4c0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6f  $(LTLINKOPTS)..o
a4d0: 73 73 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 4f  ssshell.exe:.$(O
a4e0: 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53  SSSHELL_SRC) $(S
a4f0: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
a500: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
a510: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a  $(NO_WARN) $(FUZ
a520: 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f  ZCHECK_COMPILE_O
a530: 50 54 53 29 20 24 28 4f 53 53 53 48 45 4c 4c 5f  PTS) $(OSSSHELL_
a540: 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29  SRC) $(SQLITE3C)
a550: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
a560: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
a570: 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24  .mptester.exe:.$
a580: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74  (TOP)\mptest\mpt
a590: 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  est.c $(SQLITE3C
a5a0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
a5b0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
a5c0: 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43  RN) $(MPTESTER_C
a5d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54  OMPILE_OPTS) $(T
a5e0: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73  OP)\mptest\mptes
a5f0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
a600: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
a610: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
a620: 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74  MPTEST1 = mptest
a630: 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54  er mptest.db $(T
a640: 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68  OP)\mptest\crash
a650: 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74  01.test --repeat
a660: 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70   20.MPTEST2 = mp
a670: 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62  tester mptest.db
a680: 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d   $(TOP)\mptest\m
a690: 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65 73 74  ultiwrite01.test
a6a0: 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70   --repeat 20..mp
a6b0: 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65  test:.mptester.e
a6c0: 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73  xe..del /Q mptes
a6d0: 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50  t.db 2>NUL..$(MP
a6e0: 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST1) --journal
a6f0: 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d  mode DELETE..$(M
a700: 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST2) --journa
a710: 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54  lmode WAL..$(MPT
a720: 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST1) --journalm
a730: 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53  ode WAL..$(MPTES
a740: 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T2) --journalmod
a750: 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54  e PERSIST..$(MPT
a760: 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST1) --journalm
a770: 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d  ode PERSIST..$(M
a780: 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST2) --journa
a790: 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09  lmode TRUNCATE..
a7a0: 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75  $(MPTEST1) --jou
a7b0: 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54  rnalmode TRUNCAT
a7c0: 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d  E..$(MPTEST2) --
a7d0: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45  journalmode DELE
a7e0: 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65  TE..# This targe
a7f0: 74 20 63 72 65 61 74 65 73 20 61 20 64 69 72 65  t creates a dire
a800: 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72  ctory named "tsr
a810: 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20  c" and fills it 
a820: 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66  with.# copies of
a830: 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f   all of the C so
a840: 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65  urce code and he
a850: 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65  ader files neede
a860: 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20  d to.# build on 
a870: 74 68 65 20 74 61 72 67 65 74 20 73 79 73 74 65  the target syste
a880: 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20  m.  Some of the 
a890: 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e  C source code an
a8a0: 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73  d header.# files
a8b0: 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c   are automatical
a8c0: 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54  ly generated.  T
a8d0: 68 69 73 20 74 61 72 67 65 74 20 74 61 6b 65 73  his target takes
a8e0: 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74   care of.# all t
a8f0: 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65  hat automatic ge
a900: 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72  neration..#..tar
a910: 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52  get_source:.$(SR
a920: 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76  C) $(TOP)\tool\v
a930: 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c  dbe-compress.tcl
a940: 20 66 74 73 35 2e 63 20 24 28 53 51 4c 49 54 45   fts5.c $(SQLITE
a950: 5f 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 69  _TCL_DEP)..-rmdi
a960: 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55  r /Q/S tsrc 2>NU
a970: 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09  L..-mkdir tsrc..
a980: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
a990: 30 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  00)) do copy /Y 
a9a0: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
a9b0: 69 6e 20 28 24 28 53 52 43 30 31 29 29 20 64 6f  in ($(SRC01)) do
a9c0: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
a9d0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
a9e0: 52 43 30 32 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC02)) do copy /
a9f0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
aa00: 69 20 69 6e 20 28 24 28 53 52 43 30 33 29 29 20  i in ($(SRC03)) 
aa10: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
aa20: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
aa30: 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f 70 79  (SRC04)) do copy
aa40: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
aa50: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 35 29   %i in ($(SRC05)
aa60: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
aa70: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
aa80: 28 24 28 53 52 43 30 36 29 29 20 64 6f 20 63 6f  ($(SRC06)) do co
aa90: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
aaa0: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
aab0: 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  7)) do copy /Y %
aac0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
aad0: 6e 20 28 24 28 53 52 43 30 38 29 29 20 64 6f 20  n ($(SRC08)) do 
aae0: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
aaf0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
ab00: 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C09)) do copy /Y
ab10: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
ab20: 20 69 6e 20 28 24 28 53 52 43 31 30 29 29 20 64   in ($(SRC10)) d
ab30: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
ab40: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
ab50: 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70 79 20  SRC11)) do copy 
ab60: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
ab70: 25 69 20 69 6e 20 28 24 28 53 52 43 31 32 29 29  %i in ($(SRC12))
ab80: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
ab90: 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73  src..copy /Y fts
aba0: 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 20 2f  5.c tsrc..copy /
abb0: 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a 09 64  Y fts5.h tsrc..d
abc0: 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69 74  el /Q tsrc\sqlit
abd0: 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72 73  e.h.in tsrc\pars
abe0: 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c  e.y 2>NUL..$(TCL
abf0: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
ac00: 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73  ool\vdbe-compres
ac10: 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 3c 20  s.tcl $(OPTS) < 
ac20: 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 64  tsrc\vdbe.c > vd
ac30: 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62  be.new..move vdb
ac40: 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65 2e  e.new tsrc\vdbe.
ac50: 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 65  c..echo > .targe
ac60: 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65  t_source..sqlite
ac70: 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75  3.c:..target_sou
ac80: 72 63 65 20 73 71 6c 69 74 65 33 65 78 74 2e 68  rce sqlite3ext.h
ac90: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f   $(MKSQLITE3C_TO
aca0: 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  OL)..$(TCLSH_CMD
acb0: 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54  ) $(MKSQLITE3C_T
acc0: 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45 33  OOL) $(MKSQLITE3
acd0: 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 74 73  C_ARGS)..copy ts
ace0: 72 63 5c 73 68 65 6c 6c 2e 63 20 2e 0a 09 63 6f  rc\shell.c ...co
acf0: 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  py $(TOP)\ext\se
ad00: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73  ssion\sqlite3ses
ad10: 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65  sion.h ...sqlite
ad20: 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33  3-all.c:.sqlite3
ad30: 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  .c $(TOP)\tool\s
ad40: 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63  plit-sqlite3c.tc
ad50: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  l..$(TCLSH_CMD) 
ad60: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69  $(TOP)\tool\spli
ad70: 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23  t-sqlite3c.tcl.#
ad80: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75   <</mark>>..# Ru
ad90: 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  le to build the 
ada0: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73  amalgamation.#.s
adb0: 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c  qlite3.lo:.$(SQL
adc0: 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50  ITE3C)..$(LTCOMP
add0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ade0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 53  ILE_OPTS) -c $(S
adf0: 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61  QLITE3C)..# <<ma
ae00: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to 
ae10: 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20  build the LEMON 
ae20: 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 74  compiler generat
ae30: 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24  or.#.lempar.c:.$
ae40: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61  (TOP)\tool\lempa
ae50: 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f 50 29  r.c..copy $(TOP)
ae60: 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e  \tool\lempar.c .
ae70: 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54  ..lemon.exe:.$(T
ae80: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63  OP)\tool\lemon.c
ae90: 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43   lempar.c..$(BCC
aea0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61  ) $(NO_WARN) -Da
aeb0: 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a  ccess=_access \.
aec0: 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74  ..-Fe$@ $(TOP)\t
aed0: 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e  ool\lemon.c /lin
aee0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e  k $(LDFLAGS) $(N
aef0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c  LTLINKOPTS) $(NL
af00: 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 52 75  TLIBPATHS)..# Ru
af10: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64  les to build ind
af20: 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c  ividual *.lo fil
af30: 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 74 65  es from generate
af40: 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68 69  d *.c files. Thi
af50: 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f 3a 0a  s.# applies to:.
af60: 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e 6c 6f  #.#     parse.lo
af70: 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73 2e 6c  .#     opcodes.l
af80: 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 61  o.#.parse.lo:.pa
af90: 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  rse.c $(HDR)..$(
afa0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
afb0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
afc0: 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70 63 6f  -c parse.c..opco
afd0: 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73 2e  des.lo:.opcodes.
afe0: 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  c..$(LTCOMPILE) 
aff0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
b000: 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65 73 2e  PTS) -c opcodes.
b010: 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  c.# <</mark>>..#
b020: 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74   Rule to build t
b030: 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75 72 63  he Win32 resourc
b040: 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a  es object file..
b050: 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29 21  #.!IF $(USE_RC)!
b060: 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e 0a  =0.# <<block1>>.
b070: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a 09 24  $(LIBRESOBJS):.$
b080: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
b090: 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33 48 29  3.rc $(SQLITE3H)
b0a0: 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20 53  ..echo #ifndef S
b0b0: 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56  QLITE_RESOURCE_V
b0c0: 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74 65 33  ERSION > sqlite3
b0d0: 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25 25 56  rc.h..for /F %%V
b0e0: 20 69 6e 20 28 27 74 79 70 65 20 22 24 28 54 4f   in ('type "$(TO
b0f0: 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 64 6f  P)\VERSION"') do
b100: 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64 65 66   ( \...echo #def
b110: 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53 4f 55  ine SQLITE_RESOU
b120: 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25 56 20  RCE_VERSION %%V 
b130: 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 5f 43  \....| $(TCLSH_C
b140: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
b150: 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
b160: 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69 74 65  t . ^, >> sqlite
b170: 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63 68 6f  3rc.h \..)..echo
b180: 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c 69 74   #endif >> sqlit
b190: 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43 4f 4d  e3rc.h..$(LTRCOM
b1a0: 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49 42 52  PILE) -fo $(LIBR
b1b0: 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29 5c 73  ESOBJS) $(TOP)\s
b1c0: 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a 23 20  rc\sqlite3.rc.# 
b1d0: 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e 44  <</block1>>.!END
b1e0: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
b1f0: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
b200: 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20  individual *.lo 
b210: 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c 65 73  files from files
b220: 20 69 6e 20 74 68 65 20 73 72 63 20 64 69 72 65   in the src dire
b230: 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72 2e 6c  ctory..#.alter.l
b240: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c  o:.$(TOP)\src\al
b250: 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ter.c $(HDR)..$(
b260: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b270: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b280: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c  -c $(TOP)\src\al
b290: 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e 6c  ter.c..analyze.l
b2a0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e  o:.$(TOP)\src\an
b2b0: 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29 0a 09  alyze.c $(HDR)..
b2c0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
b2d0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b2e0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
b2f0: 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74 61 63  analyze.c..attac
b300: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  h.lo:.$(TOP)\src
b310: 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44 52 29  \attach.c $(HDR)
b320: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
b330: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b340: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
b350: 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75 74 68  c\attach.c..auth
b360: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
b370: 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a 09 24  auth.c $(HDR)..$
b380: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
b390: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b3a0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a
b3b0: 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c 6f  uth.c..backup.lo
b3c0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63  :.$(TOP)\src\bac
b3d0: 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28  kup.c $(HDR)..$(
b3e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b3f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b400: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61  -c $(TOP)\src\ba
b410: 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 2e 6c  ckup.c..bitvec.l
b420: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 69  o:.$(TOP)\src\bi
b430: 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a 09 24  tvec.c $(HDR)..$
b440: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
b450: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b460: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b
b470: 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74 65 78  itvec.c..btmutex
b480: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
b490: 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29  btmutex.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 62 74 6d 75 74 65 78 2e 63 0a 0a 62 74 72  c\btmutex.c..btr
b4e0: 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ee.lo:.$(TOP)\sr
b4f0: 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44 52 29  c\btree.c $(HDR)
b500: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page
b510: 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  r.h..$(LTCOMPILE
b520: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
b530: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
b540: 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a 62 75  \src\btree.c..bu
b550: 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ild.lo:.$(TOP)\s
b560: 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48 44 52  rc\build.c $(HDR
b570: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
b580: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
b590: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
b5a0: 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61 6c 6c  rc\build.c..call
b5b0: 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  back.lo:.$(TOP)\
b5c0: 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 24  src\callback.c $
b5d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
b5e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
b5f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
b600: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e  P)\src\callback.
b610: 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a 09  c..complete.lo:.
b620: 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c  $(TOP)\src\compl
b630: 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ete.c $(HDR)..$(
b640: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b650: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b660: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  -c $(TOP)\src\co
b670: 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d 65 2e  mplete.c..ctime.
b680: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63  lo:.$(TOP)\src\c
b690: 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a 09 24  time.c $(HDR)..$
b6a0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
b6b0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b6c0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63   -c $(TOP)\src\c
b6d0: 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f 3a  time.c..date.lo:
b6e0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65  .$(TOP)\src\date
b6f0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b700: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b710: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b720: 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e  $(TOP)\src\date.
b730: 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a 09 24 28  c..dbstat.lo:.$(
b740: 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20  TOP)\src\date.c 
b750: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b760: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b770: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b780: 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63  OP)\src\dbstat.c
b790: 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09 24 28 54  ..delete.lo:.$(T
b7a0: 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63  OP)\src\delete.c
b7b0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b7c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b7d0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b7e0: 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e  TOP)\src\delete.
b7f0: 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f  c..expr.lo:.$(TO
b800: 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 24 28  P)\src\expr.c $(
b810: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
b820: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
b830: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
b840: 29 5c 73 72 63 5c 65 78 70 72 2e 63 0a 0a 66 61  )\src\expr.c..fa
b850: 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ult.lo:.$(TOP)\s
b860: 72 63 5c 66 61 75 6c 74 2e 63 20 24 28 48 44 52  rc\fault.c $(HDR
b870: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
b880: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
b890: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
b8a0: 72 63 5c 66 61 75 6c 74 2e 63 0a 0a 66 6b 65 79  rc\fault.c..fkey
b8b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
b8c0: 66 6b 65 79 2e 63 20 24 28 48 44 52 29 0a 09 24  fkey.c $(HDR)..$
b8d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
b8e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b8f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66   -c $(TOP)\src\f
b900: 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c 6f 3a 09  key.c..func.lo:.
b910: 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e  $(TOP)\src\func.
b920: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b930: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b940: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
b950: 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63  (TOP)\src\func.c
b960: 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54  ..global.lo:.$(T
b970: 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63  OP)\src\global.c
b980: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b990: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b9a0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b9b0: 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e  TOP)\src\global.
b9c0: 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f  c..hash.lo:.$(TO
b9d0: 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20 24 28  P)\src\hash.c $(
b9e0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
b9f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
ba00: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
ba10: 29 5c 73 72 63 5c 68 61 73 68 2e 63 0a 0a 69 6e  )\src\hash.c..in
ba20: 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  sert.lo:.$(TOP)\
ba30: 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 24 28 48  src\insert.c $(H
ba40: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ba50: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ba60: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
ba70: 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 0a 0a 6b  \src\insert.c..k
ba80: 76 61 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  vapi.lo:.$(TOP)\
ba90: 73 72 63 5c 6b 76 61 70 69 2e 63 20 24 28 48 44  src\kvapi.c $(HD
baa0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
bab0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
bac0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
bad0: 73 72 63 5c 6b 76 61 70 69 2e 63 0a 0a 6c 65 67  src\kvapi.c..leg
bae0: 61 63 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  acy.lo:.$(TOP)\s
baf0: 72 63 5c 6c 65 67 61 63 79 2e 63 20 24 28 48 44  rc\legacy.c $(HD
bb00: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
bb10: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
bb20: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
bb30: 73 72 63 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f  src\legacy.c..lo
bb40: 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  adext.lo:.$(TOP)
bb50: 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 24  \src\loadext.c $
bb60: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
bb70: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
bb80: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
bb90: 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63  P)\src\loadext.c
bba0: 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50  ..main.lo:.$(TOP
bbb0: 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 24 28 48  )\src\main.c $(H
bbc0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
bbd0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
bbe0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
bbf0: 5c 73 72 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61 6c  \src\main.c..mal
bc00: 6c 6f 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  loc.lo:.$(TOP)\s
bc10: 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 24 28 48 44  rc\malloc.c $(HD
bc20: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
bc30: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
bc40: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
bc50: 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65  src\malloc.c..me
bc60: 6d 30 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m0.lo:.$(TOP)\sr
bc70: 63 5c 6d 65 6d 30 2e 63 20 24 28 48 44 52 29 0a  c\mem0.c $(HDR).
bc80: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
bc90: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
bca0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
bcb0: 5c 6d 65 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f  \mem0.c..mem1.lo
bcc0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  :.$(TOP)\src\mem
bcd0: 31 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  1.c $(HDR)..$(LT
bce0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
bcf0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
bd00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31   $(TOP)\src\mem1
bd10: 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54  .c..mem2.lo:.$(T
bd20: 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 24  OP)\src\mem2.c $
bd30: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
bd40: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
bd50: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
bd60: 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d  P)\src\mem2.c..m
bd70: 65 6d 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  em3.lo:.$(TOP)\s
bd80: 72 63 5c 6d 65 6d 33 2e 63 20 24 28 48 44 52 29  rc\mem3.c $(HDR)
bd90: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
bda0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
bdb0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
bdc0: 63 5c 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e 6c  c\mem3.c..mem5.l
bdd0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me
bde0: 6d 35 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  m5.c $(HDR)..$(L
bdf0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
be00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
be10: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem
be20: 35 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  5.c..memjournal.
be30: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
be40: 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44  emjournal.c $(HD
be50: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
be60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
be70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
be80: 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63  src\memjournal.c
be90: 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f  ..mutex.lo:.$(TO
bea0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 24  P)\src\mutex.c $
beb0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
bec0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
bed0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
bee0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 0a 0a  P)\src\mutex.c..
bef0: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24  mutex_noop.lo:.$
bf00: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
bf10: 6e 6f 6f 70 2e 63 20 24 28 48 44 52 29 0a 09 24  noop.c $(HDR)..$
bf20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
bf30: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
bf40: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
bf50: 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74  utex_noop.c..mut
bf60: 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f  ex_unix.lo:.$(TO
bf70: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69  P)\src\mutex_uni
bf80: 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  x.c $(HDR)..$(LT
bf90: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
bfa0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
bfb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
bfc0: 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74 65 78 5f  x_unix.c..mutex_
bfd0: 77 33 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  w32.lo:.$(TOP)\s
bfe0: 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 24  rc\mutex_w32.c $
bff0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c000: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c010: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c020: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32  P)\src\mutex_w32
c030: 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24  .c..notify.lo:.$
c040: 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79  (TOP)\src\notify
c050: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c060: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c070: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c080: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66  $(TOP)\src\notif
c090: 79 2e 63 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09 24  y.c..pager.lo:.$
c0a0: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
c0b0: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c  c $(HDR) $(TOP)\
c0c0: 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c  src\pager.h..$(L
c0d0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c0e0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c0f0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67  c $(TOP)\src\pag
c100: 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a  er.c..pcache.lo:
c110: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63  .$(TOP)\src\pcac
c120: 68 65 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  he.c $(HDR) $(TO
c130: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a  P)\src\pcache.h.
c140: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c150: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c160: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c170: 5c 70 63 61 63 68 65 2e 63 0a 0a 70 63 61 63 68  \pcache.c..pcach
c180: 65 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  e1.lo:.$(TOP)\sr
c190: 63 5c 70 63 61 63 68 65 31 2e 63 20 24 28 48 44  c\pcache1.c $(HD
c1a0: 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  R) $(TOP)\src\pc
c1b0: 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50  ache.h..$(LTCOMP
c1c0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c1d0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c1e0: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e  OP)\src\pcache1.
c1f0: 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50 29  c..os.lo:.$(TOP)
c200: 5c 73 72 63 5c 6f 73 2e 63 20 24 28 48 44 52 29  \src\os.c $(HDR)
c210: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c220: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c230: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c240: 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 2e  c\os.c..os_unix.
c250: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f  lo:.$(TOP)\src\o
c260: 73 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a  s_unix.c $(HDR).
c270: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c280: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c290: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c2a0: 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77  \os_unix.c..os_w
c2b0: 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  in.lo:.$(TOP)\sr
c2c0: 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 28 48 44 52  c\os_win.c $(HDR
c2d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c2e0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c2f0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c300: 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61  rc\os_win.c..pra
c310: 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  gma.lo:.$(TOP)\s
c320: 72 63 5c 70 72 61 67 6d 61 2e 63 20 24 28 48 44  rc\pragma.c $(HD
c330: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c340: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c350: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c360: 73 72 63 5c 70 72 61 67 6d 61 2e 63 0a 0a 70 72  src\pragma.c..pr
c370: 65 70 61 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  epare.lo:.$(TOP)
c380: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 24  \src\prepare.c $
c390: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c3a0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c3b0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c3c0: 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63  P)\src\prepare.c
c3d0: 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54  ..printf.lo:.$(T
c3e0: 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63  OP)\src\printf.c
c3f0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c400: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c410: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c420: 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e  TOP)\src\printf.
c430: 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24 28  c..random.lo:.$(
c440: 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e  TOP)\src\random.
c450: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c460: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c470: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c480: 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d  (TOP)\src\random
c490: 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a 09  .c..resolve.lo:.
c4a0: 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c  $(TOP)\src\resol
c4b0: 76 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ve.c $(HDR)..$(L
c4c0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c4d0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c4e0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73  c $(TOP)\src\res
c4f0: 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c  olve.c..rowset.l
c500: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f  o:.$(TOP)\src\ro
c510: 77 73 65 74 2e 63 20 24 28 48 44 52 29 0a 09 24  wset.c $(HDR)..$
c520: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c530: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c540: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72   -c $(TOP)\src\r
c550: 6f 77 73 65 74 2e 63 0a 0a 73 65 6c 65 63 74 2e  owset.c..select.
c560: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73  lo:.$(TOP)\src\s
c570: 65 6c 65 63 74 2e 63 20 24 28 48 44 52 29 0a 09  elect.c $(HDR)..
c580: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c590: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c5a0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c5b0: 73 65 6c 65 63 74 2e 63 0a 0a 73 74 61 74 75 73  select.c..status
c5c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c5d0: 73 74 61 74 75 73 2e 63 20 24 28 48 44 52 29 0a  status.c $(HDR).
c5e0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c5f0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c600: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c610: 5c 73 74 61 74 75 73 2e 63 0a 0a 74 61 62 6c 65  \status.c..table
c620: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c630: 74 61 62 6c 65 2e 63 20 24 28 48 44 52 29 0a 09  table.c $(HDR)..
c640: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c650: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c660: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c670: 74 61 62 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73  table.c..threads
c680: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c690: 74 68 72 65 61 64 73 2e 63 20 24 28 48 44 52 29  threads.c $(HDR)
c6a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c6b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c6c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c6d0: 63 5c 74 68 72 65 61 64 73 2e 63 0a 0a 74 6f 6b  c\threads.c..tok
c6e0: 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  enize.lo:.$(TOP)
c6f0: 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20  \src\tokenize.c 
c700: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 24 28  keywordhash.h $(
c710: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c720: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c730: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c740: 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63  )\src\tokenize.c
c750: 0a 0a 74 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24  ..treeview.lo:.$
c760: 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69  (TOP)\src\treevi
c770: 65 77 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ew.c $(HDR)..$(L
c780: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c790: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c7a0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65  c $(TOP)\src\tre
c7b0: 65 76 69 65 77 2e 63 0a 0a 74 72 69 67 67 65 72  eview.c..trigger
c7c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c7d0: 74 72 69 67 67 65 72 2e 63 20 24 28 48 44 52 29  trigger.c $(HDR)
c7e0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c7f0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c800: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c810: 63 5c 74 72 69 67 67 65 72 2e 63 0a 0a 75 70 64  c\trigger.c..upd
c820: 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ate.lo:.$(TOP)\s
c830: 72 63 5c 75 70 64 61 74 65 2e 63 20 24 28 48 44  rc\update.c $(HD
c840: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c850: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c860: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c870: 73 72 63 5c 75 70 64 61 74 65 2e 63 0a 0a 75 74  src\update.c..ut
c880: 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  f.lo:.$(TOP)\src
c890: 5c 75 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24  \utf.c $(HDR)..$
c8a0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c8b0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c8c0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75   -c $(TOP)\src\u
c8d0: 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24  tf.c..util.lo:.$
c8e0: 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63  (TOP)\src\util.c
c8f0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c900: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c910: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c920: 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 0a  TOP)\src\util.c.
c930: 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09 24 28 54 4f  .vacuum.lo:.$(TO
c940: 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 20  P)\src\vacuum.c 
c950: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c960: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c970: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c980: 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63  OP)\src\vacuum.c
c990: 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f 50  ..vdbe.lo:.$(TOP
c9a0: 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28 48  )\src\vdbe.c $(H
c9b0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c9c0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c9d0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c9e0: 5c 73 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64 62  \src\vdbe.c..vdb
c9f0: 65 61 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  eapi.lo:.$(TOP)\
ca00: 73 72 63 5c 76 64 62 65 61 70 69 2e 63 20 24 28  src\vdbeapi.c $(
ca10: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
ca20: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
ca30: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
ca40: 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63 0a  )\src\vdbeapi.c.
ca50: 0a 76 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28 54  .vdbeaux.lo:.$(T
ca60: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e  OP)\src\vdbeaux.
ca70: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ca80: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ca90: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
caa0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75  (TOP)\src\vdbeau
cab0: 78 2e 63 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c 6f  x.c..vdbeblob.lo
cac0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb
cad0: 65 62 6c 6f 62 2e 63 20 24 28 48 44 52 29 0a 09  eblob.c $(HDR)..
cae0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
caf0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
cb00: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
cb10: 76 64 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62 65  vdbeblob.c..vdbe
cb20: 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  mem.lo:.$(TOP)\s
cb30: 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28 48  rc\vdbemem.c $(H
cb40: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cb50: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cb60: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cb70: 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 0a 0a  \src\vdbemem.c..
cb80: 76 64 62 65 73 6f 72 74 2e 6c 6f 3a 09 24 28 54  vdbesort.lo:.$(T
cb90: 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74  OP)\src\vdbesort
cba0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cbb0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cbc0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cbd0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73  $(TOP)\src\vdbes
cbe0: 6f 72 74 2e 63 0a 0a 76 64 62 65 74 72 61 63 65  ort.c..vdbetrace
cbf0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cc00: 76 64 62 65 74 72 61 63 65 2e 63 20 24 28 48 44  vdbetrace.c $(HD
cc10: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cc20: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cc30: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cc40: 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 0a  src\vdbetrace.c.
cc50: 0a 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29  .vtab.lo:.$(TOP)
cc60: 5c 73 72 63 5c 76 74 61 62 2e 63 20 24 28 48 44  \src\vtab.c $(HD
cc70: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cc80: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cc90: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cca0: 73 72 63 5c 76 74 61 62 2e 63 0a 0a 77 61 6c 2e  src\vtab.c..wal.
ccb0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77  lo:.$(TOP)\src\w
ccc0: 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  al.c $(HDR)..$(L
ccd0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
cce0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ccf0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c  c $(TOP)\src\wal
cd00: 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09 24  .c..walker.lo:.$
cd10: 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72  (TOP)\src\walker
cd20: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cd30: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cd40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cd50: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65  $(TOP)\src\walke
cd60: 72 2e 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09 24  r.c..where.lo:.$
cd70: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e  (TOP)\src\where.
cd80: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cd90: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
cda0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
cdb0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e  (TOP)\src\where.
cdc0: 63 0a 0a 77 68 65 72 65 63 6f 64 65 2e 6c 6f 3a  c..wherecode.lo:
cdd0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72  .$(TOP)\src\wher
cde0: 65 63 6f 64 65 2e 63 20 24 28 48 44 52 29 0a 09  ecode.c $(HDR)..
cdf0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
ce00: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ce10: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
ce20: 77 68 65 72 65 63 6f 64 65 2e 63 0a 0a 77 68 65  wherecode.c..whe
ce30: 72 65 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50  reexpr.lo:.$(TOP
ce40: 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e  )\src\whereexpr.
ce50: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ce60: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ce70: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
ce80: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65  (TOP)\src\wheree
ce90: 78 70 72 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65  xpr.c..tclsqlite
cea0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
ceb0: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44  tclsqlite.c $(HD
cec0: 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f  R) $(SQLITE_TCL_
ced0: 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  DEP)..$(LTCOMPIL
cee0: 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  E) $(NO_WARN) -D
cef0: 55 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 20  USE_TCL_STUBS=1 
cf00: 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
cf10: 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63  I$(TCLINCDIR) -c
cf20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls
cf30: 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69  qlite.c..tclsqli
cf40: 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54  te-shell.lo:.$(T
cf50: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
cf60: 65 2e 63 20 24 28 48 44 52 29 20 24 28 53 51 4c  e.c $(HDR) $(SQL
cf70: 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28  ITE_TCL_DEP)..$(
cf80: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f  LTCOMPILE) $(NO_
cf90: 57 41 52 4e 29 20 2d 44 54 43 4c 53 48 3d 31 20  WARN) -DTCLSH=1 
cfa0: 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
cfb0: 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63  I$(TCLINCDIR) -c
cfc0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls
cfd0: 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69  qlite.c..tclsqli
cfe0: 74 65 33 2e 65 78 65 3a 09 74 63 6c 73 71 6c 69  te3.exe:.tclsqli
cff0: 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 53 51  te-shell.lo $(SQ
d000: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
d010: 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  3H) $(LIBRESOBJS
d020: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53  )..$(LTLINK) $(S
d030: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
d040: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
d050: 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  NKOPTS) $(LTLIBP
d060: 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63  ATHS) /OUT:$@ tc
d070: 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f  lsqlite-shell.lo
d080: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
d090: 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS
d0a0: 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  )..# Rules to bu
d0b0: 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e  ild opcodes.c an
d0c0: 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70  d opcodes.h.#.op
d0d0: 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73  codes.c:.opcodes
d0e0: 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  .h $(TOP)\tool\m
d0f0: 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28  kopcodec.tcl..$(
d100: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
d110: 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63  )\tool\mkopcodec
d120: 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e  .tcl opcodes.h >
d130: 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f   opcodes.c..opco
d140: 64 65 73 2e 68 3a 09 70 61 72 73 65 2e 68 20 24  des.h:.parse.h $
d150: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
d160: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f   $(TOP)\tool\mko
d170: 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74 79 70 65  pcodeh.tcl..type
d180: 20 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29 5c   parse.h $(TOP)\
d190: 73 72 63 5c 76 64 62 65 2e 63 20 7c 20 24 28 54  src\vdbe.c | $(T
d1a0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
d1b0: 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e  \tool\mkopcodeh.
d1c0: 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a  tcl > opcodes.h.
d1d0: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
d1e0: 64 20 70 61 72 73 65 2e 63 20 61 6e 64 20 70 61  d parse.c and pa
d1f0: 72 73 65 2e 68 20 2d 20 74 68 65 20 6f 75 74 70  rse.h - the outp
d200: 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a  uts of lemon..#.
d210: 70 61 72 73 65 2e 68 3a 09 70 61 72 73 65 2e 63  parse.h:.parse.c
d220: 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50  ..parse.c:.$(TOP
d230: 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 6c 65  )\src\parse.y le
d240: 6d 6f 6e 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  mon.exe $(TOP)\t
d250: 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74  ool\addopcodes.t
d260: 63 6c 0a 09 64 65 6c 20 2f 51 20 70 61 72 73 65  cl..del /Q parse
d270: 2e 79 20 70 61 72 73 65 2e 68 20 70 61 72 73 65  .y parse.h parse
d280: 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63  .h.temp 2>NUL..c
d290: 6f 70 79 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  opy $(TOP)\src\p
d2a0: 61 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f  arse.y ....\lemo
d2b0: 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41 54  n.exe $(REQ_FEAT
d2c0: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
d2d0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
d2e0: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(EXT_FEATURE_FL
d2f0: 41 47 53 29 20 24 28 4f 50 54 53 29 20 70 61 72  AGS) $(OPTS) par
d300: 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61 72 73 65  se.y..move parse
d310: 2e 68 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 0a  .h parse.h.temp.
d320: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
d330: 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63  TOP)\tool\addopc
d340: 6f 64 65 73 2e 74 63 6c 20 70 61 72 73 65 2e 68  odes.tcl parse.h
d350: 2e 74 65 6d 70 20 3e 20 70 61 72 73 65 2e 68 0a  .temp > parse.h.
d360: 0a 24 28 53 51 4c 49 54 45 33 48 29 3a 09 24 28  .$(SQLITE3H):.$(
d370: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e  TOP)\src\sqlite.
d380: 68 2e 69 6e 20 24 28 54 4f 50 29 5c 6d 61 6e 69  h.in $(TOP)\mani
d390: 66 65 73 74 2e 75 75 69 64 20 24 28 54 4f 50 29  fest.uuid $(TOP)
d3a0: 5c 56 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53  \VERSION..$(TCLS
d3b0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
d3c0: 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63  ol\mksqlite3h.tc
d3d0: 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24  l $(TOP:\=/) > $
d3e0: 28 53 51 4c 49 54 45 33 48 29 20 24 28 4d 4b 53  (SQLITE3H) $(MKS
d3f0: 51 4c 49 54 45 33 48 5f 41 52 47 53 29 0a 0a 73  QLITE3H_ARGS)..s
d400: 71 6c 69 74 65 33 65 78 74 2e 68 3a 09 2e 74 61  qlite3ext.h:..ta
d410: 72 67 65 74 5f 73 6f 75 72 63 65 0a 21 49 46 20  rget_source.!IF 
d420: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d  $(USE_STDCALL)!=
d430: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
d440: 29 21 3d 30 0a 09 74 79 70 65 20 74 73 72 63 5c  )!=0..type tsrc\
d450: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 7c 20 24  sqlite3ext.h | $
d460: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
d470: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
d480: 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a  tcl regsub "\(\*
d490: 5c 29 22 20 22 28 53 51 4c 49 54 45 5f 43 41 4c  \)" "(SQLITE_CAL
d4a0: 4c 42 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20  LBACK *)" \...| 
d4b0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
d4c0: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
d4d0: 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c  .tcl regsub "\(\
d4e0: 2a 22 20 22 28 53 51 4c 49 54 45 5f 41 50 49 43  *" "(SQLITE_APIC
d4f0: 41 4c 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65 33  ALL *" > sqlite3
d500: 65 78 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73  ext.h..copy /Y s
d510: 71 6c 69 74 65 33 65 78 74 2e 68 20 74 73 72 63  qlite3ext.h tsrc
d520: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45  \sqlite3ext.h.!E
d530: 4c 53 45 0a 09 63 6f 70 79 20 2f 59 20 74 73 72  LSE..copy /Y tsr
d540: 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73  c\sqlite3ext.h s
d550: 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4e 44  qlite3ext.h.!END
d560: 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73  IF..mkkeywordhas
d570: 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  h.exe:.$(TOP)\to
d580: 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68  ol\mkkeywordhash
d590: 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f  .c..$(BCC) $(NO_
d5a0: 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 52 45  WARN) -Fe$@ $(RE
d5b0: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
d5c0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
d5d0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT
d5e0: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
d5f0: 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  S) \...$(TOP)\to
d600: 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68  ol\mkkeywordhash
d610: 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .c /link $(LDFLA
d620: 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54  GS) $(NLTLINKOPT
d630: 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53  S) $(NLTLIBPATHS
d640: 29 0a 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e 68  )..keywordhash.h
d650: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  :.$(TOP)\tool\mk
d660: 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b  keywordhash.c mk
d670: 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 0a  keywordhash.exe.
d680: 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68  ..\mkkeywordhash
d690: 2e 65 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 61  .exe > keywordha
d6a0: 73 68 2e 68 0a 0a 0a 0a 23 20 52 75 6c 65 73 20  sh.h....# Rules 
d6b0: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78 74  to build the ext
d6c0: 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a  ension objects..
d6d0: 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29  #.icu.lo:.$(TOP)
d6e0: 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 24  \ext\icu\icu.c $
d6f0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
d700: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d710: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d720: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
d730: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
d740: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63  (TOP)\ext\icu\ic
d750: 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28  u.c..fts2.lo:.$(
d760: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
d770: 73 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s2.c $(HDR) $(EX
d780: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
d790: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d7a0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
d7b0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
d7c0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
d7d0: 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73  fts2\fts2.c..fts
d7e0: 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50  2_hash.lo:.$(TOP
d7f0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
d800: 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28  hash.c $(HDR) $(
d810: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
d820: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d830: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
d840: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
d850: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
d860: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68  t\fts2\fts2_hash
d870: 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a  .c..fts2_icu.lo:
d880: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32  .$(TOP)\ext\fts2
d890: 5c 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48 44  \fts2_icu.c $(HD
d8a0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
d8b0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d8c0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d8d0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
d8e0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
d8f0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
d900: 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72  _icu.c..fts2_por
d910: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ter.lo:.$(TOP)\e
d920: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72  xt\fts2\fts2_por
d930: 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45  ter.c $(HDR) $(E
d940: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
d950: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d960: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
d970: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
d980: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
d990: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65  \fts2\fts2_porte
d9a0: 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69  r.c..fts2_tokeni
d9b0: 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  zer.lo:.$(TOP)\e
d9c0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
d9d0: 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20  enizer.c $(HDR) 
d9e0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
d9f0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
da00: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
da10: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
da20: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
da30: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
da40: 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f  kenizer.c..fts2_
da50: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24  tokenizer1.lo:.$
da60: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
da70: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts2_tokenizer1.c
da80: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
da90: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
daa0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
dab0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
dac0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
dad0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
dae0: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts2_tokenizer1
daf0: 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54  .c..fts3.lo:.$(T
db00: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
db10: 33 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  3.c $(HDR) $(EXT
db20: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
db30: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
db40: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
db50: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
db60: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
db70: 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33  ts3\fts3.c..fts3
db80: 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  _aux.lo:.$(TOP)\
db90: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75  ext\fts3\fts3_au
dba0: 78 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  x.c $(HDR) $(EXT
dbb0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
dbc0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
dbd0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
dbe0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
dbf0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
dc00: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a  ts3\fts3_aux.c..
dc10: 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28  fts3_expr.lo:.$(
dc20: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
dc30: 73 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52 29  s3_expr.c $(HDR)
dc40: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
dc50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
dc60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
dc70: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
dc80: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
dc90: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65  \ext\fts3\fts3_e
dca0: 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68  xpr.c..fts3_hash
dcb0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
dcc0: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63  fts3\fts3_hash.c
dcd0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
dce0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
dcf0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
dd00: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
dd10: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
dd20: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
dd30: 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74  \fts3_hash.c..ft
dd40: 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50  s3_icu.lo:.$(TOP
dd50: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
dd60: 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45  icu.c $(HDR) $(E
dd70: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
dd80: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
dd90: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
dda0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
ddb0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
ddc0: 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63  \fts3\fts3_icu.c
ddd0: 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c  ..fts3_snippet.l
dde0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
ddf0: 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  s3\fts3_snippet.
de00: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
de10: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
de20: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
de30: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
de40: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
de50: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
de60: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
de70: 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f  ..fts3_porter.lo
de80: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
de90: 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20  3\fts3_porter.c 
dea0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
deb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
dec0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ded0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
dee0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
def0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
df00: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66  fts3_porter.c..f
df10: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f  ts3_tokenizer.lo
df20: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
df30: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
df40: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
df50: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
df60: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
df70: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
df80: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
df90: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
dfa0: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
dfb0: 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69  r.c..fts3_tokeni
dfc0: 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  zer1.lo:.$(TOP)\
dfd0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
dfe0: 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52  kenizer1.c $(HDR
dff0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
e000: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
e010: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
e020: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
e030: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
e040: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
e050: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74  tokenizer1.c..ft
e060: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
e070: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
e080: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
e090: 7a 65 5f 76 74 61 62 2e 63 20 24 28 48 44 52 29  ze_vtab.c $(HDR)
e0a0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
e0b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e0c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
e0d0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
e0e0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
e0f0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
e100: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a  okenize_vtab.c..
e110: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a  fts3_unicode.lo:
e120: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
e130: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20  \fts3_unicode.c 
e140: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
e150: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e160: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e170: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
e180: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
e190: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
e1a0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a  fts3_unicode.c..
e1b0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f  fts3_unicode2.lo
e1c0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
e1d0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
e1e0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
e1f0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e200: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e210: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
e220: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
e230: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
e240: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
e250: 63 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f  c..fts3_write.lo
e260: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
e270: 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 24  3\fts3_write.c $
e280: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
e290: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e2a0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e2b0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
e2c0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
e2d0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
e2e0: 74 73 33 5f 77 72 69 74 65 2e 63 0a 0a 72 74 72  ts3_write.c..rtr
e2f0: 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  ee.lo:.$(TOP)\ex
e300: 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63 20  t\rtree\rtree.c 
e310: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
e320: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e330: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e340: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
e350: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
e360: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree
e370: 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69 74 65  \rtree.c..sqlite
e380: 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28 54  3session.lo:.$(T
e390: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
e3a0: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63  sqlite3session.c
e3b0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
e3c0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e3d0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
e3e0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
e3f0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
e400: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess
e410: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
e420: 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74 68 69  on.c..# FTS5 thi
e430: 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43 20 3d  ngs.#.FTS5_SRC =
e440: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
e450: 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a 20  \fts5\fts5.h \. 
e460: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
e470: 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20 20  5\fts5Int.h \.  
e480: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
e490: 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20 20  \fts5_aux.c \.  
e4a0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
e4b0: 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63 20 5c  \fts5_buffer.c \
e4c0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f
e4d0: 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63 20  ts5\fts5_main.c 
e4e0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
e4f0: 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69 67  fts5\fts5_config
e500: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
e510: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65 78 70  xt\fts5\fts5_exp
e520: 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  r.c \.   $(TOP)\
e530: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 68 61  ext\fts5\fts5_ha
e540: 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  sh.c \.   $(TOP)
e550: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 69  \ext\fts5\fts5_i
e560: 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74 73 35  ndex.c \.   fts5
e570: 70 61 72 73 65 2e 63 20 66 74 73 35 70 61 72 73  parse.c fts5pars
e580: 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  e.h \.   $(TOP)\
e590: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 73 74  ext\fts5\fts5_st
e5a0: 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24 28 54  orage.c \.   $(T
e5b0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
e5c0: 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20  5_tokenize.c \. 
e5d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
e5e0: 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65 32 2e  5\fts5_unicode2.
e5f0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex
e600: 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61 72 69  t\fts5\fts5_vari
e610: 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  nt.c \.   $(TOP)
e620: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76  \ext\fts5\fts5_v
e630: 6f 63 61 62 2e 63 0a 0a 66 74 73 35 70 61 72 73  ocab.c..fts5pars
e640: 65 2e 63 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  e.c:.$(TOP)\ext\
e650: 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79  fts5\fts5parse.y
e660: 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70 79   lemon.exe..copy
e670: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
e680: 5c 66 74 73 35 70 61 72 73 65 2e 79 20 2e 0a 09  \fts5parse.y ...
e690: 64 65 6c 20 2f 51 20 66 74 73 35 70 61 72 73 65  del /Q fts5parse
e6a0: 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f  .h 2>NUL...\lemo
e6b0: 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41 54  n.exe $(REQ_FEAT
e6c0: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT
e6d0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
e6e0: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(EXT_FEATURE_FL
e6f0: 41 47 53 29 20 24 28 4f 50 54 53 29 20 66 74 73  AGS) $(OPTS) fts
e700: 35 70 61 72 73 65 2e 79 0a 0a 66 74 73 35 70 61  5parse.y..fts5pa
e710: 72 73 65 2e 68 3a 09 66 74 73 35 70 61 72 73 65  rse.h:.fts5parse
e720: 2e 63 0a 0a 66 74 73 35 2e 63 3a 09 24 28 46 54  .c..fts5.c:.$(FT
e730: 53 35 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48  S5_SRC)..$(TCLSH
e740: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74  _CMD) $(TOP)\ext
e750: 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73  \fts5\tool\mkfts
e760: 35 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54  5c.tcl..copy $(T
e770: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
e780: 35 2e 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09  5.h ...fts5.lo:.
e790: 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24 28  fts5.c $(HDR) $(
e7a0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
e7b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e7c0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
e7d0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
e7e0: 4f 52 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66  ORE -c fts5.c..f
e7f0: 74 73 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35  ts5_ext.lo:.fts5
e800: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
e810: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e820: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20  ) $(NO_WARN) -c 
e830: 66 74 73 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c  fts5.c..fts5.dll
e840: 3a 09 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24  :.fts5_ext.lo..$
e850: 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20  (LD) $(LDFLAGS) 
e860: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
e870: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c  LTLIBPATHS) /DLL
e880: 20 2f 4f 55 54 3a 24 40 20 66 74 73 35 5f 65 78   /OUT:$@ fts5_ex
e890: 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75  t.lo..sqlite3rbu
e8a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
e8b0: 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
e8c0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
e8d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e8e0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
e8f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c   $(TOP)\ext\rbu\
e900: 73 71 6c 69 74 65 33 72 62 75 2e 63 0a 0a 23 20  sqlite3rbu.c..# 
e910: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74  Rules to build t
e920: 68 65 20 27 74 65 73 74 66 69 78 74 75 72 65 27  he 'testfixture'
e930: 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a   application..#.
e940: 23 20 49 66 20 75 73 69 6e 67 20 74 68 65 20 61  # If using the a
e950: 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65  malgamation, use
e960: 20 73 71 6c 69 74 65 33 2e 63 20 64 69 72 65 63   sqlite3.c direc
e970: 74 6c 79 20 74 6f 20 62 75 69 6c 64 20 74 68 65  tly to build the
e980: 20 74 65 73 74 0a 23 20 66 69 78 74 75 72 65 2e   test.# fixture.
e990: 20 20 4f 74 68 65 72 77 69 73 65 20 6c 69 6e 6b    Otherwise link
e9a0: 20 61 67 61 69 6e 73 74 20 6c 69 62 73 71 6c 69   against libsqli
e9b0: 74 65 33 2e 6c 69 62 2e 20 20 28 54 68 69 73 20  te3.lib.  (This 
e9c0: 64 69 73 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23  distinction is.#
e9d0: 20 6e 65 63 65 73 73 61 72 79 20 62 65 63 61 75   necessary becau
e9e0: 73 65 20 74 68 65 20 74 65 73 74 20 66 69 78 74  se the test fixt
e9f0: 75 72 65 20 72 65 71 75 69 72 65 73 20 6e 6f 6e  ure requires non
ea00: 2d 41 50 49 20 73 79 6d 62 6f 6c 73 20 77 68 69  -API symbols whi
ea10: 63 68 20 61 72 65 0a 23 20 68 69 64 64 65 6e 20  ch are.# hidden 
ea20: 77 68 65 6e 20 74 68 65 20 6c 69 62 72 61 72 79  when the library
ea30: 20 69 73 20 62 75 69 6c 74 20 76 69 61 20 74 68   is built via th
ea40: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e  e amalgamation).
ea50: 0a 23 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  .#.TESTFIXTURE_F
ea60: 4c 41 47 53 20 3d 20 2d 44 54 43 4c 53 48 3d 31  LAGS = -DTCLSH=1
ea70: 20 2d 44 53 51 4c 49 54 45 5f 54 45 53 54 3d 31   -DSQLITE_TEST=1
ea80: 20 2d 44 53 51 4c 49 54 45 5f 43 52 41 53 48 5f   -DSQLITE_CRASH_
ea90: 54 45 53 54 3d 31 0a 54 45 53 54 46 49 58 54 55  TEST=1.TESTFIXTU
eaa0: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES
eab0: 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
eac0: 2d 44 53 51 4c 49 54 45 5f 53 45 52 56 45 52 3d  -DSQLITE_SERVER=
ead0: 31 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 56 41  1 -DSQLITE_PRIVA
eae0: 54 45 3d 22 22 0a 54 45 53 54 46 49 58 54 55 52  TE="".TESTFIXTUR
eaf0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST
eb00: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FIXTURE_FLAGS) -
eb10: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 24 28 4e  DSQLITE_CORE $(N
eb20: 4f 5f 57 41 52 4e 29 0a 54 45 53 54 46 49 58 54  O_WARN).TESTFIXT
eb30: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE
eb40: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
eb50: 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 49 45 53   -DSQLITE_SERIES
eb60: 5f 43 4f 4e 53 54 52 41 49 4e 54 5f 56 45 52 49  _CONSTRAINT_VERI
eb70: 46 59 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45  FY=1.TESTFIXTURE
eb80: 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF
eb90: 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
eba0: 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 50  SQLITE_DEFAULT_P
ebb0: 41 47 45 5f 53 49 5a 45 3d 31 30 32 34 0a 54 45  AGE_SIZE=1024.TE
ebc0: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
ebd0: 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
ebe0: 46 4c 41 47 53 29 20 24 28 54 45 53 54 5f 43 43  FLAGS) $(TEST_CC
ebf0: 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45 53 54 46  ONV_OPTS)..TESTF
ec00: 49 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24 28  IXTURE_SRC0 = $(
ec10: 54 45 53 54 45 58 54 29 20 24 28 54 45 53 54 53  TESTEXT) $(TESTS
ec20: 52 43 32 29 0a 54 45 53 54 46 49 58 54 55 52 45  RC2).TESTFIXTURE
ec30: 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54 45 58  _SRC1 = $(TESTEX
ec40: 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21  T) $(SQLITE3C).!
ec50: 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d  IF $(USE_AMALGAM
ec60: 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 49  ATION)==0.TESTFI
ec70: 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45  XTURE_SRC = $(TE
ec80: 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72  STSRC) $(TOP)\sr
ec90: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $(
eca0: 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 30  TESTFIXTURE_SRC0
ecb0: 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49 58 54  ).!ELSE.TESTFIXT
ecc0: 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54  URE_SRC = $(TEST
ecd0: 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  SRC) $(TOP)\src\
ece0: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45  tclsqlite.c $(TE
ecf0: 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 29 0a  STFIXTURE_SRC1).
ed00: 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 55 53  !ENDIF..!IF $(US
ed10: 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c  E_STDCALL)!=0 ||
ed20: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
ed30: 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73  .sqlite_tclDecls
ed40: 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64 65  .h:..echo #ifnde
ed50: 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  f SQLITE_TCLAPI 
ed60: 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  > $(SQLITETCLDEC
ed70: 4c 53 48 29 0a 09 65 63 68 6f 20 23 20 20 64 65  LSH)..echo #  de
ed80: 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c 41  fine SQLITE_TCLA
ed90: 50 49 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43  PI >> $(SQLITETC
eda0: 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23  LDECLSH)..echo #
edb0: 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 4c 49 54  endif >> $(SQLIT
edc0: 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 74 79 70  ETCLDECLSH)..typ
edd0: 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c  e "$(TCLINCDIR)\
ede0: 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09 09  tclDecls.h" \...
edf0: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
ee00: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
ee10: 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e  ce.tcl regsub "^
ee20: 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53 54  (EXTERN(?: CONST
ee30: 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a  \d+?)?\s+?[^\(]*
ee40: 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31 20  ?\s+?)Tcl_" "\1 
ee50: 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63  SQLITE_TCLAPI Tc
ee60: 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  l_" \...| $(TCLS
ee70: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
ee80: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
ee90: 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e 5c  egsub "^(EXTERN\
eea0: 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44 29  s+?(?:void|VOID)
eeb0: 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a 22  \s+?)TclFreeObj"
eec0: 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41   "\1 SQLITE_TCLA
eed0: 50 49 20 54 63 6c 46 72 65 65 4f 62 6a 22 20 5c  PI TclFreeObj" \
eee0: 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
eef0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
ef00: 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
ef10: 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53 51   "\(\*tcl_" "(SQ
ef20: 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c  LITE_TCLAPI *tcl
ef30: 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  _" \...| $(TCLSH
ef40: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
ef50: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
ef60: 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72 65  gsub "\(\*tclFre
ef70: 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 45 5f 54  eObj" "(SQLITE_T
ef80: 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 65 4f 62  CLAPI *tclFreeOb
ef90: 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  j" \...| $(TCLSH
efa0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
efb0: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
efc0: 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51  gsub "\(\*" "(SQ
efd0: 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 22 20 3e  LITE_TCLAPI *" >
efe0: 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  > $(SQLITETCLDEC
eff0: 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f 74 63 6c  LSH)..sqlite_tcl
f000: 2e 68 3a 0a 09 74 79 70 65 20 22 24 28 54 43 4c  .h:..type "$(TCL
f010: 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 20 7c  INCDIR)\tcl.h" |
f020: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
f030: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
f040: 65 2e 74 63 6c 20 65 78 61 63 74 20 74 63 6c 44  e.tcl exact tclD
f050: 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74 63  ecls.h sqlite_tc
f060: 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20 24  lDecls.h \...| $
f070: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
f080: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
f090: 74 63 6c 20 72 65 67 73 75 62 20 22 74 79 70 65  tcl regsub "type
f0a0: 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f 22  def (.*?)\(Tcl_"
f0b0: 20 22 74 79 70 65 64 65 66 20 5c 31 20 28 53 51   "typedef \1 (SQ
f0c0: 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f  LITE_TCLAPI Tcl_
f0d0: 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  " \...| $(TCLSH_
f0e0: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
f0f0: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61  \replace.tcl exa
f100: 63 74 20 22 76 6f 69 64 20 28 2a 66 72 65 65 50  ct "void (*freeP
f110: 72 6f 63 29 22 20 22 76 6f 69 64 20 28 53 51 4c  roc)" "void (SQL
f120: 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 65 65  ITE_TCLAPI *free
f130: 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28 54  Proc)" \...| $(T
f140: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
f150: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
f160: 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61 73  l exact "Tcl_Has
f170: 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50 72  hEntry *(*findPr
f180: 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e  oc)" "Tcl_HashEn
f190: 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c  try *(SQLITE_TCL
f1a0: 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 22 20  API *findProc)" 
f1b0: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
f1c0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
f1d0: 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74  eplace.tcl exact
f1e0: 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20   "Tcl_HashEntry 
f1f0: 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20  *(*createProc)" 
f200: 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a  "Tcl_HashEntry *
f210: 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
f220: 63 72 65 61 74 65 50 72 6f 63 29 22 20 3e 3e 20  createProc)" >> 
f230: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E
f240: 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75 72  NDIF..testfixtur
f250: 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49 58  e.exe:.$(TESTFIX
f260: 54 55 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49  TURE_SRC) $(SQLI
f270: 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42  TE3H) $(LIBRESOB
f280: 4a 53 29 20 24 28 48 44 52 29 20 24 28 53 51 4c  JS) $(HDR) $(SQL
f290: 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28  ITE_TCL_DEP)..$(
f2a0: 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45  LTLINK) -DSQLITE
f2b0: 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45 53  _NO_SYNC=1 $(TES
f2c0: 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
f2d0: 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69  \...-DBUILD_sqli
f2e0: 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52  te -I$(TCLINCDIR
f2f0: 29 20 5c 0a 09 09 24 28 54 45 53 54 46 49 58 54  ) \...$(TESTFIXT
f300: 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69  URE_SRC) \.../li
f310: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
f320: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54  LTLINKOPTS) $(LT
f330: 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR
f340: 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53  ESOBJS) $(LTLIBS
f350: 29 20 24 28 54 4c 49 42 53 29 0a 0a 65 78 74 65  ) $(TLIBS)..exte
f360: 6e 73 69 6f 6e 74 65 73 74 3a 09 74 65 73 74 66  nsiontest:.testf
f370: 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 6c  ixture.exe testl
f380: 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74  oadext.dll..@set
f390: 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA
f3a0: 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t
f3b0: 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $
f3c0: 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65  (TOP)\test\loade
f3d0: 78 74 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  xt.test $(TESTOP
f3e0: 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24  TS)..fulltest:.$
f3f0: 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a  (TESTPROGS) fuzz
f400: 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d  test..@set PATH=
f410: 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
f420: 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
f430: 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
f440: 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28  test\all.test $(
f450: 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74  TESTOPTS)..soakt
f460: 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53  est:.$(TESTPROGS
f470: 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  )..@set PATH=$(L
f480: 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT
f490: 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
f4a0: 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes
f4b0: 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b  t\all.test -soak
f4c0: 3d 31 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  =1 $(TESTOPTS)..
f4d0: 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28  fulltestonly:.$(
f4e0: 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74  TESTPROGS) fuzzt
f4f0: 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24  est..@set PATH=$
f500: 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P
f510: 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
f520: 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t
f530: 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71  est\full.test..q
f540: 75 65 72 79 70 6c 61 6e 74 65 73 74 3a 09 74 65  ueryplantest:.te
f550: 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 68  stfixture.exe sh
f560: 65 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24  ell..@set PATH=$
f570: 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P
f580: 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
f590: 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t
f5a0: 65 73 74 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73  est\permutations
f5b0: 2e 74 65 73 74 20 71 75 65 72 79 70 6c 61 6e 6e  .test queryplann
f5c0: 65 72 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  er $(TESTOPTS)..
f5d0: 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68  fuzztest:.fuzzch
f5e0: 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63  eck.exe...\fuzzc
f5f0: 68 65 63 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44  heck.exe $(FUZZD
f600: 41 54 41 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65  ATA)..fastfuzzte
f610: 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78  st:.fuzzcheck.ex
f620: 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65  e...\fuzzcheck.e
f630: 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31  xe --limit-mem 1
f640: 30 30 4d 20 24 28 46 55 5a 5a 44 41 54 41 29 0a  00M $(FUZZDATA).
f650: 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69  .# Minimal testi
f660: 6e 67 20 74 68 61 74 20 72 75 6e 73 20 69 6e 20  ng that runs in 
f670: 6c 65 73 73 20 74 68 61 6e 20 33 20 6d 69 6e 75  less than 3 minu
f680: 74 65 73 20 28 6f 6e 20 61 20 66 61 73 74 20 6d  tes (on a fast m
f690: 61 63 68 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74  achine).#.quickt
f6a0: 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65  est:.testfixture
f6b0: 2e 65 78 65 20 73 6f 75 72 63 65 74 65 73 74 0a  .exe sourcetest.
f6c0: 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB
f6d0: 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29  TCLPATH);$(PATH)
f6e0: 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
f6f0: 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\
f700: 65 78 74 72 61 71 75 69 63 6b 2e 74 65 73 74 20  extraquick.test 
f710: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 23 20 54  $(TESTOPTS)..# T
f720: 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f  his is the commo
f730: 6e 20 63 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e  n case.  Run man
f740: 79 20 74 65 73 74 73 20 74 68 61 74 20 64 6f 20  y tests that do 
f750: 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e  not take too lon
f760: 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67 20 66  g,.# including f
f770: 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69 74 65  uzzcheck, sqlite
f780: 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20  3_analyzer, and 
f790: 73 71 6c 64 69 66 66 20 74 65 73 74 73 2e 0a 23  sqldiff tests..#
f7a0: 0a 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f  .test:.$(TESTPRO
f7b0: 47 53 29 20 73 6f 75 72 63 65 74 65 73 74 20 66  GS) sourcetest f
f7c0: 61 73 74 66 75 7a 7a 74 65 73 74 0a 09 40 73 65  astfuzztest..@se
f7d0: 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
f7e0: 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
f7f0: 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
f800: 24 28 54 4f 50 29 5c 74 65 73 74 5c 76 65 72 79  $(TOP)\test\very
f810: 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 45 53  quick.test $(TES
f820: 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73  TOPTS)..smoketes
f830: 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a  t:.$(TESTPROGS).
f840: 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB
f850: 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29  TCLPATH);$(PATH)
f860: 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
f870: 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\
f880: 6d 61 69 6e 2e 74 65 73 74 20 24 28 54 45 53 54  main.test $(TEST
f890: 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61  OPTS)..sqlite3_a
f8a0: 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c  nalyzer.c:.$(SQL
f8b0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
f8c0: 48 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  H) $(TOP)\src\tc
f8d0: 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50 29  lsqlite.c $(TOP)
f8e0: 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e  \tool\spaceanal.
f8f0: 74 63 6c 20 24 28 53 51 4c 49 54 45 5f 54 43 4c  tcl $(SQLITE_TCL
f900: 5f 44 45 50 29 0a 09 65 63 68 6f 20 23 64 65 66  _DEP)..echo #def
f910: 69 6e 65 20 54 43 4c 53 48 20 32 20 3e 20 24 40  ine TCLSH 2 > $@
f920: 0a 09 65 63 68 6f 20 23 64 65 66 69 6e 65 20 53  ..echo #define S
f930: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53  QLITE_ENABLE_DBS
f940: 54 41 54 5f 56 54 41 42 20 31 20 3e 3e 20 24 40  TAT_VTAB 1 >> $@
f950: 0a 09 63 6f 70 79 20 24 40 20 2b 20 24 28 53 51  ..copy $@ + $(SQ
f960: 4c 49 54 45 33 43 29 20 2b 20 24 28 54 4f 50 29  LITE3C) + $(TOP)
f970: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
f980: 20 24 40 0a 09 65 63 68 6f 20 73 74 61 74 69 63   $@..echo static
f990: 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 63 6c   const char *tcl
f9a0: 73 68 5f 6d 61 69 6e 5f 6c 6f 6f 70 28 76 6f 69  sh_main_loop(voi
f9b0: 64 29 7b 20 3e 3e 20 24 40 0a 09 65 63 68 6f 20  d){ >> $@..echo 
f9c0: 73 74 61 74 69 63 20 63 6f 6e 73 74 20 63 68 61  static const cha
f9d0: 72 20 2a 7a 4d 61 69 6e 6c 6f 6f 70 20 3d 20 3e  r *zMainloop = >
f9e0: 3e 20 24 40 0a 09 24 28 54 43 4c 53 48 5f 43 4d  > $@..$(TCLSH_CM
f9f0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 74  D) $(TOP)\tool\t
fa00: 6f 73 74 72 2e 74 63 6c 20 24 28 54 4f 50 29 5c  ostr.tcl $(TOP)\
fa10: 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74  tool\spaceanal.t
fa20: 63 6c 20 3e 3e 20 24 40 0a 09 65 63 68 6f 20 3b  cl >> $@..echo ;
fa30: 20 72 65 74 75 72 6e 20 7a 4d 61 69 6e 6c 6f 6f   return zMainloo
fa40: 70 3b 20 7d 20 3e 3e 20 24 40 0a 0a 73 71 6c 69  p; } >> $@..sqli
fa50: 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65  te3_analyzer.exe
fa60: 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  :.sqlite3_analyz
fa70: 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a  er.c $(LIBRESOBJ
fa80: 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  S)..$(LTLINK) $(
fa90: 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44  NO_WARN) -DBUILD
faa0: 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49  _sqlite -I$(TCLI
fab0: 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f 61  NCDIR) sqlite3_a
fac0: 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c  nalyzer.c \.../l
fad0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
fae0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L
faf0: 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB
fb00: 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42  RESOBJS) $(LTLIB
fb10: 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 74 65 73  S) $(TLIBS)..tes
fb20: 74 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54  tloadext.lo:.$(T
fb30: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61  OP)\src\test_loa
fb40: 64 65 78 74 2e 63 0a 09 24 28 4c 54 43 4f 4d 50  dext.c..$(LTCOMP
fb50: 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  ILE) $(NO_WARN) 
fb60: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  -c $(TOP)\src\te
fb70: 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a 74 65  st_loadext.c..te
fb80: 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a 09 74  stloadext.dll:.t
fb90: 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09 24  estloadext.lo..$
fba0: 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20  (LD) $(LDFLAGS) 
fbb0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
fbc0: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c  LTLIBPATHS) /DLL
fbd0: 20 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c 6f 61   /OUT:$@ testloa
fbe0: 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f 77 64 62 2e  dext.lo..showdb.
fbf0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
fc00: 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49  \showdb.c $(SQLI
fc10: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H
fc20: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
fc30: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
fc40: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
fc50: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
fc60: 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40  _EXTENSION -Fe$@
fc70: 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool
fc80: 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49  \showdb.c $(SQLI
fc90: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
fca0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
fcb0: 50 54 53 29 0a 0a 73 68 6f 77 73 74 61 74 34 2e  PTS)..showstat4.
fcc0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
fcd0: 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53  \showstat4.c $(S
fce0: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
fcf0: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
fd00: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
fd10: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
fd20: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
fd30: 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46  OAD_EXTENSION -F
fd40: 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  e$@ \...$(TOP)\t
fd50: 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20  ool\showstat4.c 
fd60: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
fd70: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
fd80: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77  TLINKOPTS)..show
fd90: 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a 09 24 28 54  journal.exe:.$(T
fda0: 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75  OP)\tool\showjou
fdb0: 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  rnal.c $(SQLITE3
fdc0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
fdd0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
fde0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
fdf0: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
fe00: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
fe10: 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a  TENSION -Fe$@ \.
fe20: 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ..$(TOP)\tool\sh
fe30: 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51  owjournal.c $(SQ
fe40: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
fe50: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
fe60: 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e  KOPTS)..showwal.
fe70: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
fe80: 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c  \showwal.c $(SQL
fe90: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
fea0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
feb0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
fec0: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
fed0: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
fee0: 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24  D_EXTENSION -Fe$
fef0: 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  @ \...$(TOP)\too
ff00: 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51  l\showwal.c $(SQ
ff10: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
ff20: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
ff30: 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67 65 73 65  KOPTS)..changese
ff40: 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  t.exe:.$(TOP)\ex
ff50: 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65  t\session\change
ff60: 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  set.c $(SQLITE3C
ff70: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK) $(N
ff80: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
ff90: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
ffa0: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
ffb0: 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40  _EXTENSION -Fe$@
ffc0: 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c   \...$(TOP)\ext\
ffd0: 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
ffe0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
fff0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
10000 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
10010 66 74 73 33 76 69 65 77 2e 65 78 65 3a 09 24 28  fts3view.exe:.$(
10020 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f  TOP)\ext\fts3\to
10030 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28  ol\fts3view.c $(
10040 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
10050 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
10060 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
10070 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
10080 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
10090 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d  LOAD_EXTENSION -
100a0 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c  Fe$@ \...$(TOP)\
100b0 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74  ext\fts3\tool\ft
100c0 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54  s3view.c $(SQLIT
100d0 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
100e0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
100f0 54 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65  TS)..rollback-te
10100 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  st.exe:.$(TOP)\t
10110 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  ool\rollback-tes
10120 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
10130 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
10140 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
10150 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
10160 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
10170 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
10180 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24  SION -Fe$@ \...$
10190 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62  (TOP)\tool\rollb
101a0 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c  ack-test.c $(SQL
101b0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
101c0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
101d0 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65 78  OPTS)..LogEst.ex
101e0 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  e:.$(TOP)\tool\l
101f0 6f 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ogest.c $(SQLITE
10200 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
10210 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40 20  (NO_WARN) -Fe$@ 
10220 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67 45  $(TOP)\tool\LogE
10230 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  st.c /link $(LDF
10240 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
10250 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e 65  TS)..wordcount.e
10260 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c  xe:.$(TOP)\test\
10270 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51  wordcount.c $(SQ
10280 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
10290 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
102a0 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
102b0 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0 
102c0 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
102d0 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65  AD_EXTENSION -Fe
102e0 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65  $@ \...$(TOP)\te
102f0 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24  st\wordcount.c $
10300 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
10310 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
10320 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 70 65 65 64  LINKOPTS)..speed
10330 74 65 73 74 31 2e 65 78 65 3a 09 24 28 54 4f 50  test1.exe:.$(TOP
10340 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74  )\test\speedtest
10350 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  1.c $(SQLITE3C) 
10360 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
10370 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
10380 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  ) -DSQLITE_OMIT_
10390 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d  LOAD_EXTENSION -
103a0 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c  Fe$@ \...$(TOP)\
103b0 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e  test\speedtest1.
103c0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
103d0 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
103e0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 62  (LTLINKOPTS)..rb
103f0 75 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  u.exe:.$(TOP)\ex
10400 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 54 4f  t\rbu\rbu.c $(TO
10410 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74  P)\ext\rbu\sqlit
10420 65 33 72 62 75 2e 63 20 24 28 53 51 4c 49 54 45  e3rbu.c $(SQLITE
10430 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
10440 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
10450 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 45  WARN) -DSQLITE_E
10460 4e 41 42 4c 45 5f 52 42 55 20 2d 46 65 24 40 20  NABLE_RBU -Fe$@ 
10470 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 72  \...$(TOP)\ext\r
10480 62 75 5c 72 62 75 2e 63 20 24 28 53 51 4c 49 54  bu\rbu.c $(SQLIT
10490 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
104a0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
104b0 54 53 29 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a 09  TS)..moreclean:.
104c0 63 6c 65 61 6e 0a 09 64 65 6c 20 2f 51 20 24 28  clean..del /Q $(
104d0 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
104e0 54 45 33 48 29 20 32 3e 4e 55 4c 0a 23 20 3c 3c  TE3H) 2>NUL.# <<
104f0 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a  /mark>>..clean:.
10500 09 64 65 6c 20 2f 51 20 2a 2e 65 78 70 20 2a 2e  .del /Q *.exp *.
10510 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20 2a  lo *.ilk *.lib *
10520 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64 62  .obj *.ncb *.pdb
10530 20 2a 2e 73 64 66 20 2a 2e 73 75 6f 20 32 3e 4e   *.sdf *.suo 2>N
10540 55 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e 62 73 63  UL..del /Q *.bsc
10550 20 2a 2e 64 65 66 20 2a 2e 63 6f 64 20 2a 2e 64   *.def *.cod *.d
10560 61 20 2a 2e 62 62 20 2a 2e 62 62 67 20 2a 2e 76  a *.bb *.bbg *.v
10570 63 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55 4c  c gmon.out 2>NUL
10580 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54  ..del /Q $(SQLIT
10590 45 33 45 58 45 29 20 24 28 53 51 4c 49 54 45 33  E3EXE) $(SQLITE3
105a0 44 4c 4c 29 20 52 65 70 6c 61 63 65 2e 65 78 65  DLL) Replace.exe
105b0 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b 3e   2>NUL.# <<mark>
105c0 3e 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  >..del /Q sqlite
105d0 33 2e 63 20 73 71 6c 69 74 65 33 2e 68 20 32 3e  3.c sqlite3.h 2>
105e0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6f 70 63 6f  NUL..del /Q opco
105f0 64 65 73 2e 63 20 6f 70 63 6f 64 65 73 2e 68 20  des.c opcodes.h 
10600 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 65  2>NUL..del /Q le
10610 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e 63 20 70  mon.* lempar.c p
10620 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65  arse.* 2>NUL..de
10630 6c 20 2f 51 20 6d 6b 6b 65 79 77 6f 72 64 68 61  l /Q mkkeywordha
10640 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68 61 73 68  sh.* keywordhash
10650 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
10660 20 6e 6f 74 61 73 68 61 72 65 64 6c 69 62 2e 2a   notasharedlib.*
10670 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f   2>NUL..-rmdir /
10680 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e 55 4c 0a  Q/S .deps 2>NUL.
10690 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 6c 69  .-rmdir /Q/S .li
106a0 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72  bs 2>NUL..-rmdir
106b0 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c   /Q/S tsrc 2>NUL
106c0 0a 09 64 65 6c 20 2f 51 20 2e 74 61 72 67 65 74  ..del /Q .target
106d0 5f 73 6f 75 72 63 65 20 32 3e 4e 55 4c 0a 09 64  _source 2>NUL..d
106e0 65 6c 20 2f 51 20 74 63 6c 73 71 6c 69 74 65 33  el /Q tclsqlite3
106f0 2e 65 78 65 20 24 28 53 51 4c 49 54 45 54 43 4c  .exe $(SQLITETCL
10700 48 29 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45  H) $(SQLITETCLDE
10710 43 4c 53 48 29 20 32 3e 4e 55 4c 0a 09 64 65 6c  CLSH) 2>NUL..del
10720 20 2f 51 20 74 65 73 74 6c 6f 61 64 65 78 74 2e   /Q testloadext.
10730 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  dll 2>NUL..del /
10740 51 20 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  Q testfixture.ex
10750 65 20 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a  e test.db 2>NUL.
10760 09 64 65 6c 20 2f 51 20 4c 6f 67 45 73 74 2e 65  .del /Q LogEst.e
10770 78 65 20 66 74 73 33 76 69 65 77 2e 65 78 65 20  xe fts3view.exe 
10780 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78  rollback-test.ex
10790 65 20 73 68 6f 77 64 62 2e 65 78 65 20 32 3e 4e  e showdb.exe 2>N
107a0 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68 61 6e 67  UL..del /Q chang
107b0 65 73 65 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  eset.exe 2>NUL..
107c0 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f 75 72 6e  del /Q showjourn
107d0 61 6c 2e 65 78 65 20 73 68 6f 77 73 74 61 74 34  al.exe showstat4
107e0 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e 65 78 65  .exe showwal.exe
107f0 20 73 70 65 65 64 74 65 73 74 31 2e 65 78 65 20   speedtest1.exe 
10800 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 70  2>NUL..del /Q mp
10810 74 65 73 74 65 72 2e 65 78 65 20 77 6f 72 64 63  tester.exe wordc
10820 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e 65 78 65  ount.exe rbu.exe
10830 20 73 72 63 63 6b 31 2e 65 78 65 20 32 3e 4e 55   srcck1.exe 2>NU
10840 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
10850 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a 2e 63 20  3.c sqlite3-*.c 
10860 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
10870 6c 69 74 65 33 72 63 2e 68 20 32 3e 4e 55 4c 0a  lite3rc.h 2>NUL.
10880 09 64 65 6c 20 2f 51 20 73 68 65 6c 6c 2e 63 20  .del /Q shell.c 
10890 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c  sqlite3ext.h sql
108a0 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 20 32 3e  ite3session.h 2>
108b0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69  NUL..del /Q sqli
108c0 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65  te3_analyzer.exe
108d0 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
108e0 72 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  r.c 2>NUL..del /
108f0 51 20 73 71 6c 69 74 65 2d 2a 2d 6f 75 74 70 75  Q sqlite-*-outpu
10900 74 2e 76 73 69 78 20 32 3e 4e 55 4c 0a 09 64 65  t.vsix 2>NUL..de
10910 6c 20 2f 51 20 66 75 7a 7a 65 72 73 68 65 6c 6c  l /Q fuzzershell
10920 2e 65 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65  .exe fuzzcheck.e
10930 78 65 20 73 71 6c 64 69 66 66 2e 65 78 65 20 64  xe sqldiff.exe d
10940 62 68 61 73 68 2e 65 78 65 20 32 3e 4e 55 4c 0a  bhash.exe 2>NUL.
10950 09 64 65 6c 20 2f 51 20 66 74 73 35 2e 2a 20 66  .del /Q fts5.* f
10960 74 73 35 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c  ts5parse.* 2>NUL
10970 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a           .# <</mark>>.