/ Hex Artifact Content
Login

Artifact 5151cc64c4c05f3455f4f692ad11410a810d937f:


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: 35 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49  5.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 35 2e 6c 69 62 0a 21 45 4e 44  lstub85.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 38 35 0a 21 45 4e 44 49   = tclsh85.!ENDI
57d0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
57e0: 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e   Compiler option
57f0: 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72 6f  s needed for pro
5800: 67 72 61 6d 73 20 74 68 61 74 20 75 73 65 20 74  grams that use t
5810: 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20 6c 69  he readline() li
5820: 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46  brary..#.!IFNDEF
5830: 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 0a   READLINE_FLAGS.
5840: 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20 3d  READLINE_FLAGS =
5850: 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49 4e 45   -DHAVE_READLINE
5860: 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65  =0.!ENDIF..# The
5870: 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 70 72   library that pr
5880: 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72 65 61  ograms using rea
5890: 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c 69 6e  dline() must lin
58a0: 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49 46  k against..#.!IF
58b0: 4e 44 45 46 20 4c 49 42 52 45 41 44 4c 49 4e 45  NDEF LIBREADLINE
58c0: 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a 21  .LIBREADLINE =.!
58d0: 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20  ENDIF..# Should 
58e0: 74 68 65 20 64 61 74 61 62 61 73 65 20 65 6e 67  the database eng
58f0: 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65 64 20  ine be compiled 
5900: 74 68 72 65 61 64 73 61 66 65 0a 23 0a 54 43 43  threadsafe.#.TCC
5910: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
5920: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31 0a  TE_THREADSAFE=1.
5930: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
5940: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
5950: 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 61 64 73  =1..# Do threads
5960: 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 20 6f   override each o
5970: 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 79 20 64  thers locks by d
5980: 65 66 61 75 6c 74 20 28 31 29 2c 20 6f 72 20 64  efault (1), or d
5990: 6f 20 77 65 20 74 65 73 74 20 28 2d 31 29 0a 23  o we test (-1).#
59a0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
59b0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56  SQLITE_THREAD_OV
59c0: 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 52  ERRIDE_LOCK=-1.R
59d0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
59e0: 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 52  LITE_THREAD_OVER
59f0: 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23 20  RIDE_LOCK=-1..# 
5a00: 41 6e 79 20 74 61 72 67 65 74 20 6c 69 62 72 61  Any target libra
5a10: 72 69 65 73 20 77 68 69 63 68 20 6c 69 62 73 71  ries which libsq
5a20: 6c 69 74 65 20 6d 75 73 74 20 62 65 20 6c 69 6e  lite must be lin
5a30: 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 0a 21 49  ked against.#.!I
5a40: 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c 49 42  FNDEF TLIBS.TLIB
5a50: 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46 6c  S =.!ENDIF..# Fl
5a60: 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20  ags controlling 
5a70: 75 73 65 20 6f 66 20 74 68 65 20 69 6e 20 6d 65  use of the in me
5a80: 6d 6f 72 79 20 62 74 72 65 65 20 69 6d 70 6c 65  mory btree imple
5a90: 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53 51  mentation.#.# SQ
5aa0: 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 20  LITE_TEMP_STORE 
5ab0: 69 73 20 30 20 74 6f 20 66 6f 72 63 65 20 74 65  is 0 to force te
5ac0: 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 73 20 74  mporary tables t
5ad0: 6f 20 62 65 20 69 6e 20 61 20 66 69 6c 65 2c 20  o be in a file, 
5ae0: 31 20 74 6f 0a 23 20 64 65 66 61 75 6c 74 20 74  1 to.# default t
5af0: 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 64 65 66  o file, 2 to def
5b00: 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c 20  ault to memory, 
5b10: 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 65 20 74  and 3 to force t
5b20: 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 62 6c 65  emporary.# table
5b30: 73 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 69  s to always be i
5b40: 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43 20  n memory..#.TCC 
5b50: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
5b60: 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a 52  E_TEMP_STORE=1.R
5b70: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
5b80: 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d  LITE_TEMP_STORE=
5b90: 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73 61  1..# Enable/disa
5ba0: 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65 78 74  ble loadable ext
5bb0: 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74 68  ensions, and oth
5bc0: 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74  er optional feat
5bd0: 75 72 65 73 0a 23 20 62 61 73 65 64 20 6f 6e 20  ures.# based on 
5be0: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 28  configuration. (
5bf0: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c 20  -DSQLITE_OMIT*, 
5c00: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 2a  -DSQLITE_ENABLE*
5c10: 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 20 73 65  )..# The same se
5c20: 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45 4e  t of OMIT and EN
5c30: 41 42 4c 45 20 66 6c 61 67 73 20 73 68 6f 75 6c  ABLE flags shoul
5c40: 64 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 74  d be passed to t
5c50: 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73 65  he.# LEMON parse
5c60: 72 20 67 65 6e 65 72 61 74 6f 72 20 61 6e 64 20  r generator and 
5c70: 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73  the mkkeywordhas
5c80: 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e 0a  h tool as well..
5c90: 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65  .# These are the
5ca0: 20 72 65 71 75 69 72 65 64 20 53 51 4c 69 74 65   required SQLite
5cb0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74   compilation opt
5cc0: 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63  ions used when c
5cd0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74  ompiling for.# t
5ce0: 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66  he Windows platf
5cf0: 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54 55  orm..#.REQ_FEATU
5d00: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51  RE_FLAGS = $(REQ
5d10: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
5d20: 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52 49  -DSQLITE_MAX_TRI
5d30: 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30 0a 0a  GGER_DEPTH=100..
5d40: 23 20 49 66 20 77 65 20 61 72 65 20 6c 69 6e 6b  # If we are link
5d50: 69 6e 67 20 74 6f 20 74 68 65 20 52 50 43 52 54  ing to the RPCRT
5d60: 34 20 6c 69 62 72 61 72 79 2c 20 65 6e 61 62 6c  4 library, enabl
5d70: 65 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20  e features that 
5d80: 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49 46 20 24  need it..#.!IF $
5d90: 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29  (USE_RPCRT4_LIB)
5da0: 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 52 45 5f  !=0.REQ_FEATURE_
5db0: 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46 45  FLAGS = $(REQ_FE
5dc0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
5dd0: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53 45 5f  QLITE_WIN32_USE_
5de0: 55 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a 23  UUID=1.!ENDIF..#
5df0: 20 41 64 64 20 74 68 65 20 72 65 71 75 69 72 65   Add the require
5e00: 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20 53  d and optional S
5e10: 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f  QLite compilatio
5e20: 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20 74  n options into t
5e30: 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e  he command.# lin
5e40: 65 73 20 75 73 65 64 20 74 6f 20 69 6e 76 6f 6b  es used to invok
5e50: 65 20 74 68 65 20 4d 53 56 43 20 63 6f 64 65 20  e the MSVC code 
5e60: 61 6e 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d  and resource com
5e70: 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d 20  pilers..#.TCC = 
5e80: 24 28 54 43 43 29 20 24 28 52 45 51 5f 46 45 41  $(TCC) $(REQ_FEA
5e90: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP
5ea0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
5eb0: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46   $(EXT_FEATURE_F
5ec0: 4c 41 47 53 29 0a 52 43 43 20 3d 20 24 28 52 43  LAGS).RCC = $(RC
5ed0: 43 29 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  C) $(REQ_FEATURE
5ee0: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE
5ef0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E
5f00: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
5f10: 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e 79 20  )..# Add in any 
5f20: 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74  optional paramet
5f30: 65 72 73 20 73 70 65 63 69 66 69 65 64 20 6f 6e  ers specified on
5f40: 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69 6e   the commane lin
5f50: 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65 20  e, e.g..# nmake 
5f60: 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20  /f Makefile.msc 
5f70: 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c 49  all "OPTS=-DSQLI
5f80: 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31 20  TE_ENABLE_FOO=1 
5f90: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f  -DSQLITE_OMIT_FO
5fa0: 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24 28 54  O=1".#.TCC = $(T
5fb0: 43 43 29 20 24 28 4f 50 54 53 29 0a 52 43 43 20  CC) $(OPTS).RCC 
5fc0: 3d 20 24 28 52 43 43 29 20 24 28 4f 50 54 53 29  = $(RCC) $(OPTS)
5fd0: 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e 67  ..# If compiling
5fe0: 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2c 20   for debugging, 
5ff0: 61 64 64 20 73 6f 6d 65 20 64 65 66 69 6e 65 73  add some defines
6000: 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29  ..#.!IF $(DEBUG)
6010: 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >1.TCC = $(TCC) 
6020: 2d 44 5f 44 45 42 55 47 0a 42 43 43 20 3d 20 24  -D_DEBUG.BCC = $
6030: 28 42 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 52  (BCC) -D_DEBUG.R
6040: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 44  CC = $(RCC) -D_D
6050: 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20 49  EBUG.!ENDIF..# I
6060: 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20  f optimizations 
6070: 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 20 64  are enabled or d
6080: 69 73 61 62 6c 65 64 20 28 65 69 74 68 65 72 20  isabled (either 
6090: 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23 20  implicitly or.# 
60a0: 65 78 70 6c 69 63 69 74 6c 79 29 2c 20 61 64 64  explicitly), add
60b0: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 66   the necessary f
60c0: 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24 28 44 45  lags..#.!IF $(DE
60d0: 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54 49  BUG)>1 || $(OPTI
60e0: 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54 43  MIZATIONS)==0.TC
60f0: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a 42  C = $(TCC) -Od.B
6100: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 64 0a  CC = $(BCC) -Od.
6110: 21 49 46 20 24 28 55 53 45 5f 52 55 4e 54 49 4d  !IF $(USE_RUNTIM
6120: 45 5f 43 48 45 43 4b 53 29 21 3d 30 0a 54 43 43  E_CHECKS)!=0.TCC
6130: 20 3d 20 24 28 54 43 43 29 20 2d 52 54 43 31 0a   = $(TCC) -RTC1.
6140: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 52 54  BCC = $(BCC) -RT
6150: 43 31 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 49  C1.!ENDIF.!ELSEI
6160: 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e  F $(OPTIMIZATION
6170: 53 29 3e 3d 33 0a 54 43 43 20 3d 20 24 28 54 43  S)>=3.TCC = $(TC
6180: 43 29 20 2d 4f 78 0a 42 43 43 20 3d 20 24 28 42  C) -Ox.BCC = $(B
6190: 43 43 29 20 2d 4f 78 0a 21 45 4c 53 45 49 46 20  CC) -Ox.!ELSEIF 
61a0: 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29  $(OPTIMIZATIONS)
61b0: 3d 3d 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ==2.TCC = $(TCC)
61c0: 20 2d 4f 32 0a 42 43 43 20 3d 20 24 28 42 43 43   -O2.BCC = $(BCC
61d0: 29 20 2d 4f 32 0a 21 45 4c 53 45 49 46 20 24 28  ) -O2.!ELSEIF $(
61e0: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d  OPTIMIZATIONS)==
61f0: 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  1.TCC = $(TCC) -
6200: 4f 31 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  O1.BCC = $(BCC) 
6210: 2d 4f 31 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66  -O1.!ENDIF..# If
6220: 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61   symbols are ena
6230: 62 6c 65 64 20 28 6f 72 20 63 6f 6d 70 69 6c 69  bled (or compili
6240: 6e 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67  ng for debugging
6250: 29 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a  ), enable PDBs..
6260: 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  #.!IF $(DEBUG)>1
6270: 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d   || $(SYMBOLS)!=
6280: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
6290: 5a 69 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  Zi.BCC = $(BCC) 
62a0: 2d 5a 69 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c  -Zi.!ENDIF..# <<
62b0: 6d 61 72 6b 3e 3e 0a 23 20 49 66 20 49 43 55 20  mark>>.# If ICU 
62c0: 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c  support is enabl
62d0: 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d 70  ed, add the comp
62e0: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72  iler options for
62f0: 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45   it..#.!IF $(USE
6300: 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d 20 24  _ICU)!=0.TCC = $
6310: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (TCC) -DSQLITE_E
6320: 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43 43 20  NABLE_ICU=1.RCC 
6330: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
6340: 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 54  E_ENABLE_ICU=1.T
6350: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28  CC = $(TCC) -I$(
6360: 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52 43 43  TOP)\ext\icu.RCC
6370: 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f   = $(RCC) -I$(TO
6380: 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43 20 3d  P)\ext\icu.TCC =
6390: 20 24 28 54 43 43 29 20 2d 49 24 28 49 43 55 49   $(TCC) -I$(ICUI
63a0: 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52  NCDIR).RCC = $(R
63b0: 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49  CC) -I$(ICUINCDI
63c0: 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d  R).!ENDIF.# <</m
63d0: 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 6e 64  ark>>..# Command
63e0: 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73 20 66   line prefixes f
63f0: 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64  or compiling cod
6400: 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72 65 73  e, compiling res
6410: 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b 69 6e  ources,.# linkin
6420: 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f 4d 50  g, etc..#.LTCOMP
6430: 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d 46 6f  ILE = $(TCC) -Fo
6440: 24 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 20 3d 20  $@.LTRCOMPILE = 
6450: 24 28 52 43 43 29 20 2d 72 0a 4c 54 4c 49 42 20  $(RCC) -r.LTLIB 
6460: 3d 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b  = lib.exe.LTLINK
6470: 20 3d 20 24 28 54 43 43 29 20 2d 46 65 24 40 0a   = $(TCC) -Fe$@.
6480: 0a 23 20 49 66 20 72 65 71 75 65 73 74 65 64 2c  .# If requested,
6490: 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 52 50 43   link to the RPC
64a0: 52 54 34 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  RT4 library..#.!
64b0: 49 46 20 24 28 55 53 45 5f 52 50 43 52 54 34 5f  IF $(USE_RPCRT4_
64c0: 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 4e 4b 20 3d  LIB)!=0.LTLINK =
64d0: 20 24 28 4c 54 4c 49 4e 4b 29 20 72 70 63 72 74   $(LTLINK) rpcrt
64e0: 34 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20  4.lib.!ENDIF..# 
64f0: 49 66 20 61 20 70 6c 61 74 66 6f 72 6d 20 77 61  If a platform wa
6500: 73 20 73 65 74 2c 20 66 6f 72 63 65 20 74 68 65  s set, force the
6510: 20 6c 69 6e 6b 65 72 20 74 6f 20 74 61 72 67 65   linker to targe
6520: 74 20 74 68 61 74 2e 0a 23 20 4e 6f 74 65 20 74  t that..# Note t
6530: 68 61 74 20 74 68 65 20 76 63 76 61 72 73 2a 2e  hat the vcvars*.
6540: 62 61 74 20 66 61 6d 69 6c 79 20 6f 66 20 62 61  bat family of ba
6550: 74 63 68 20 66 69 6c 65 73 20 74 79 70 69 63 61  tch files typica
6560: 6c 6c 79 0a 23 20 73 65 74 20 74 68 69 73 20 66  lly.# set this f
6570: 6f 72 20 79 6f 75 2e 20 20 4f 74 68 65 72 77 69  or you.  Otherwi
6580: 73 65 2c 20 74 68 65 20 6c 69 6e 6b 65 72 20 77  se, the linker w
6590: 69 6c 6c 20 61 74 74 65 6d 70 74 0a 23 20 74 6f  ill attempt.# to
65a0: 20 64 65 64 75 63 65 20 74 68 65 20 62 69 6e 61   deduce the bina
65b0: 72 79 20 74 79 70 65 20 62 61 73 65 64 20 6f 6e  ry type based on
65c0: 20 74 68 65 20 6f 62 6a 65 63 74 20 66 69 6c 65   the object file
65d0: 73 2e 0a 21 49 46 44 45 46 20 50 4c 41 54 46 4f  s..!IFDEF PLATFO
65e0: 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  RM.LTLINKOPTS = 
65f0: 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45  /NOLOGO /MACHINE
6600: 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c  :$(PLATFORM).LTL
6610: 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f  IBOPTS = /NOLOGO
6620: 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54   /MACHINE:$(PLAT
6630: 46 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c 54 4c 49  FORM).!ELSE.LTLI
6640: 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f  NKOPTS = /NOLOGO
6650: 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f  .LTLIBOPTS = /NO
6660: 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23 20 57  LOGO.!ENDIF..# W
6670: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
6680: 72 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e  r use in the Win
6690: 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20  RT environment, 
66a0: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20  the following.# 
66b0: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20 6d 75  linker option mu
66c0: 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 6d 61  st be used to ma
66d0: 72 6b 20 74 68 65 20 65 78 65 63 75 74 61 62 6c  rk the executabl
66e0: 65 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a 23 20  e as runnable.# 
66f0: 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f 6e 74  only in the cont
6700: 65 78 74 20 6f 66 20 61 6e 20 61 70 70 6c 69 63  ext of an applic
6710: 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65 72 2e  ation container.
6720: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
6730: 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54  RT)!=0.LTLINKOPT
6740: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS
6750: 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45 52 0a  ) /APPCONTAINER.
6760: 21 49 46 20 22 24 28 56 49 53 55 41 4c 53 54 55  !IF "$(VISUALSTU
6770: 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31  DIOVERSION)"=="1
6780: 32 2e 30 22 20 7c 7c 20 22 24 28 56 49 53 55 41  2.0" || "$(VISUA
6790: 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22  LSTUDIOVERSION)"
67a0: 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44 45 46  =="14.0".!IFNDEF
67b0: 20 53 54 4f 52 45 4c 49 42 50 41 54 48 0a 21 49   STORELIBPATH.!I
67c0: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"=
67d0: 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c 49 42 50  ="x86".STORELIBP
67e0: 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41  ATH = $(CRTLIBPA
67f0: 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53 45 49  TH)\store.!ELSEI
6800: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"=
6810: 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c 49 42 50  ="x64".STORELIBP
6820: 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41  ATH = $(CRTLIBPA
6830: 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36 34 0a  TH)\store\amd64.
6840: 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46  !ELSEIF "$(PLATF
6850: 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 54 4f  ORM)"=="ARM".STO
6860: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52  RELIBPATH = $(CR
6870: 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c  TLIBPATH)\store\
6880: 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52 45 4c  arm.!ELSE.STOREL
6890: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI
68a0: 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4e  BPATH)\store.!EN
68b0: 44 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f 52 45  DIF.!ENDIF.STORE
68c0: 4c 49 42 50 41 54 48 20 3d 20 24 28 53 54 4f 52  LIBPATH = $(STOR
68d0: 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c  ELIBPATH:\\=\).L
68e0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54  TLINKOPTS = $(LT
68f0: 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50  LINKOPTS) "/LIBP
6900: 41 54 48 3a 24 28 53 54 4f 52 45 4c 49 42 50 41  ATH:$(STORELIBPA
6910: 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44  TH)".!ENDIF.!END
6920: 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69  IF..# When compi
6930: 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73  ling for Windows
6940: 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e 20 65   Phone 8.1, an e
6950: 78 74 72 61 20 6c 69 62 72 61 72 79 20 70 61 74  xtra library pat
6960: 68 20 69 73 0a 23 20 72 65 71 75 69 72 65 64 2e  h is.# required.
6970: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38  .#.!IF $(USE_WP8
6980: 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 4e 44  1_OPTS)!=0.!IFND
6990: 45 46 20 57 50 38 31 4c 49 42 50 41 54 48 0a 21  EF WP81LIBPATH.!
69a0: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)"
69b0: 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c 49 42 50  =="x86".WP81LIBP
69c0: 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46  ATH = $(PROGRAMF
69d0: 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77  ILES_X86)\Window
69e0: 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31  s Phone Kits\8.1
69f0: 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45 49 46  \lib\x86.!ELSEIF
6a00: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
6a10: 22 41 52 4d 22 0a 57 50 38 31 4c 49 42 50 41 54  "ARM".WP81LIBPAT
6a20: 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  H = $(PROGRAMFIL
6a30: 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20  ES_X86)\Windows 
6a40: 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c  Phone Kits\8.1\l
6a50: 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 50 38  ib\ARM.!ELSE.WP8
6a60: 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f  1LIBPATH = $(PRO
6a70: 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57  GRAMFILES_X86)\W
6a80: 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74  indows Phone Kit
6a90: 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45  s\8.1\lib\x86.!E
6aa0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4e 44  NDIF.!ENDIF.!END
6ab0: 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69  IF..# When compi
6ac0: 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73  ling for Windows
6ad0: 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f 6d 65   Phone 8.1, some
6ae0: 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 20 6f 70   extra linker op
6af0: 74 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c 73 6f  tions.# are also
6b00: 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46   required..#.!IF
6b10: 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 54 53   $(USE_WP81_OPTS
6b20: 29 21 3d 30 0a 21 49 46 44 45 46 20 57 50 38 31  )!=0.!IFDEF WP81
6b30: 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50  LIBPATH.LTLINKOP
6b40: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
6b50: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 57  S) "/LIBPATH:$(W
6b60: 50 38 31 4c 49 42 50 41 54 48 29 22 0a 21 45 4e  P81LIBPATH)".!EN
6b70: 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  DIF.LTLINKOPTS =
6b80: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f   $(LTLINKOPTS) /
6b90: 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54 4c 49  DYNAMICBASE.LTLI
6ba0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN
6bb0: 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77 73 50 68  KOPTS) WindowsPh
6bc0: 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75 6e 74  oneCore.lib Runt
6bd0: 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20 50 68  imeObject.lib Ph
6be0: 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73 74 2e  oneAppModelHost.
6bf0: 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  lib.LTLINKOPTS =
6c00: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f   $(LTLINKOPTS) /
6c10: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72  NODEFAULTLIB:ker
6c20: 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44 45 46  nel32.lib /NODEF
6c30: 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69  AULTLIB:ole32.li
6c40: 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e  b.!ENDIF..# When
6c50: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 55   compiling for U
6c60: 57 50 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77  WP or the Window
6c70: 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 73  s 10 platform, s
6c80: 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72  ome extra linker
6c90: 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 61  .# options are a
6ca0: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a  lso required..#.
6cb0: 21 49 46 20 24 28 46 4f 52 5f 55 57 50 29 21 3d  !IF $(FOR_UWP)!=
6cc0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
6cd0: 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  )!=0.LTLINKOPTS 
6ce0: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
6cf0: 2f 44 59 4e 41 4d 49 43 42 41 53 45 20 2f 4e 4f  /DYNAMICBASE /NO
6d00: 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65  DEFAULTLIB:kerne
6d10: 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50  l32.lib.LTLINKOP
6d20: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
6d30: 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62 0a 21  S) mincore.lib.!
6d40: 49 46 44 45 46 20 50 53 44 4b 4c 49 42 50 41 54  IFDEF PSDKLIBPAT
6d50: 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24  H.LTLINKOPTS = $
6d60: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c  (LTLINKOPTS) "/L
6d70: 49 42 50 41 54 48 3a 24 28 50 53 44 4b 4c 49 42  IBPATH:$(PSDKLIB
6d80: 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45  PATH)".!ENDIF.!E
6d90: 4e 44 49 46 0a 0a 21 49 46 20 24 28 46 4f 52 5f  NDIF..!IF $(FOR_
6da0: 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b  WIN10)!=0.LTLINK
6db0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
6dc0: 50 54 53 29 20 2f 67 75 61 72 64 3a 63 66 20 22  PTS) /guard:cf "
6dd0: 2f 4c 49 42 50 41 54 48 3a 24 28 55 43 52 54 4c  /LIBPATH:$(UCRTL
6de0: 49 42 50 41 54 48 29 22 0a 21 49 46 20 24 28 44  IBPATH)".!IF $(D
6df0: 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50  EBUG)>1.LTLINKOP
6e00: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
6e10: 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42  S) /NODEFAULTLIB
6e20: 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62 20 2f 44  :libucrtd.lib /D
6e30: 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 64 2e  EFAULTLIB:ucrtd.
6e40: 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b  lib.!ELSE.LTLINK
6e50: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
6e60: 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c  PTS) /NODEFAULTL
6e70: 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62 20 2f  IB:libucrt.lib /
6e80: 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 2e  DEFAULTLIB:ucrt.
6e90: 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  lib.!ENDIF.!ENDI
6ea0: 46 0a 0a 23 20 49 66 20 65 69 74 68 65 72 20 64  F..# If either d
6eb0: 65 62 75 67 67 69 6e 67 20 6f 72 20 73 79 6d 62  ebugging or symb
6ec0: 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2c  ols are enabled,
6ed0: 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23 0a   enable PDBs..#.
6ee0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c  !IF $(DEBUG)>1 |
6ef0: 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30 0a  | $(SYMBOLS)!=0.
6f00: 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45 42 55 47  LDFLAGS = /DEBUG
6f10: 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c 53 45   $(LDOPTS).!ELSE
6f20: 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c 44 4f  .LDFLAGS = $(LDO
6f30: 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  PTS).!ENDIF..# <
6f40: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72 74 20  <mark>>.# Start 
6f50: 77 69 74 68 20 74 68 65 20 54 63 6c 20 72 65 6c  with the Tcl rel
6f60: 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70 74 69  ated linker opti
6f70: 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f  ons..#.!IF $(NO_
6f80: 54 43 4c 29 3d 3d 30 0a 4c 54 4c 49 42 50 41 54  TCL)==0.LTLIBPAT
6f90: 48 53 20 3d 20 2f 4c 49 42 50 41 54 48 3a 24 28  HS = /LIBPATH:$(
6fa0: 54 43 4c 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42  TCLLIBDIR).LTLIB
6fb0: 53 20 3d 20 24 28 4c 49 42 54 43 4c 29 0a 21 45  S = $(LIBTCL).!E
6fc0: 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55 20 73  NDIF..# If ICU s
6fd0: 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65  upport is enable
6fe0: 64 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65  d, add the linke
6ff0: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74  r options for it
7000: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 49 43  ..#.!IF $(USE_IC
7010: 55 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53  U)!=0.LTLIBPATHS
7020: 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29   = $(LTLIBPATHS)
7030: 20 2f 4c 49 42 50 41 54 48 3a 24 28 49 43 55 4c   /LIBPATH:$(ICUL
7040: 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20  IBDIR).LTLIBS = 
7050: 24 28 4c 54 4c 49 42 53 29 20 24 28 4c 49 42 49  $(LTLIBS) $(LIBI
7060: 43 55 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  CU).!ENDIF.# <</
7070: 6d 61 72 6b 3e 3e 0a 0a 23 20 59 6f 75 20 73 68  mark>>..# You sh
7080: 6f 75 6c 64 20 6e 6f 74 20 68 61 76 65 20 74 6f  ould not have to
7090: 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69 6e 67   change anything
70a0: 20 62 65 6c 6f 77 20 74 68 69 73 20 6c 69 6e 65   below this line
70b0: 0a 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 23 23  ################
7100: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 4f  ..# <<mark>>.# O
7110: 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20  bject files for 
7120: 74 68 65 20 53 51 4c 69 74 65 20 6c 69 62 72 61  the SQLite libra
7130: 72 79 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61  ry (non-amalgama
7140: 74 69 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42 4a 53  tion)..#.LIBOBJS
7150: 30 20 3d 20 76 64 62 65 2e 6c 6f 20 70 61 72 73  0 = vdbe.lo pars
7160: 65 2e 6c 6f 20 61 6c 74 65 72 2e 6c 6f 20 61 6e  e.lo alter.lo an
7170: 61 6c 79 7a 65 2e 6c 6f 20 61 74 74 61 63 68 2e  alyze.lo attach.
7180: 6c 6f 20 61 75 74 68 2e 6c 6f 20 5c 0a 20 20 20  lo auth.lo \.   
7190: 20 20 20 20 20 20 62 61 63 6b 75 70 2e 6c 6f 20        backup.lo 
71a0: 62 69 74 76 65 63 2e 6c 6f 20 62 74 6d 75 74 65  bitvec.lo btmute
71b0: 78 2e 6c 6f 20 62 74 72 65 65 2e 6c 6f 20 62 75  x.lo btree.lo bu
71c0: 69 6c 64 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ild.lo \.       
71d0: 20 20 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20 63 6f    callback.lo co
71e0: 6d 70 6c 65 74 65 2e 6c 6f 20 63 74 69 6d 65 2e  mplete.lo ctime.
71f0: 6c 6f 20 64 61 74 65 2e 6c 6f 20 64 62 73 74 61  lo date.lo dbsta
7200: 74 2e 6c 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c  t.lo delete.lo \
7210: 0a 20 20 20 20 20 20 20 20 20 65 78 70 72 2e 6c  .         expr.l
7220: 6f 20 66 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e  o fault.lo fkey.
7230: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74  lo \.         ft
7240: 73 33 2e 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c  s3.lo fts3_aux.l
7250: 6f 20 66 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66  o fts3_expr.lo f
7260: 74 73 33 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33  ts3_hash.lo fts3
7270: 5f 69 63 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  _icu.lo \.      
7280: 20 20 20 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c     fts3_porter.l
7290: 6f 20 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c  o fts3_snippet.l
72a0: 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  o fts3_tokenizer
72b0: 2e 6c 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  .lo fts3_tokeniz
72c0: 65 72 31 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  er1.lo \.       
72d0: 20 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f    fts3_tokenize_
72e0: 76 74 61 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69  vtab.lo fts3_uni
72f0: 63 6f 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69  code.lo fts3_uni
7300: 63 6f 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72  code2.lo fts3_wr
7310: 69 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ite.lo \.       
7320: 20 20 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20    fts5.lo \.    
7330: 20 20 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f       func.lo glo
7340: 62 61 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c  bal.lo hash.lo \
7350: 0a 20 20 20 20 20 20 20 20 20 69 63 75 2e 6c 6f  .         icu.lo
7360: 20 69 6e 73 65 72 74 2e 6c 6f 20 6c 65 67 61 63   insert.lo legac
7370: 79 2e 6c 6f 20 6c 6f 61 64 65 78 74 2e 6c 6f 20  y.lo loadext.lo 
7380: 5c 0a 20 20 20 20 20 20 20 20 20 6d 61 69 6e 2e  \.         main.
7390: 6c 6f 20 6d 61 6c 6c 6f 63 2e 6c 6f 20 6d 65 6d  lo malloc.lo mem
73a0: 30 2e 6c 6f 20 6d 65 6d 31 2e 6c 6f 20 6d 65 6d  0.lo mem1.lo mem
73b0: 32 2e 6c 6f 20 6d 65 6d 33 2e 6c 6f 20 6d 65 6d  2.lo mem3.lo mem
73c0: 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  5.lo \.         
73d0: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a  memjournal.lo \.
73e0: 20 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c           mutex.l
73f0: 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20  o mutex_noop.lo 
7400: 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75  mutex_unix.lo mu
7410: 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20  tex_w32.lo \.   
7420: 20 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20        notify.lo 
7430: 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f  opcodes.lo os.lo
7440: 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77   os_unix.lo os_w
7450: 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  in.lo \.        
7460: 20 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65   pager.lo pcache
7470: 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70  .lo pcache1.lo p
7480: 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65  ragma.lo prepare
7490: 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a  .lo printf.lo \.
74a0: 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e           random.
74b0: 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f  lo resolve.lo ro
74c0: 77 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f  wset.lo rtree.lo
74d0: 20 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69   \.         sqli
74e0: 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65  te3session.lo se
74f0: 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72  lect.lo sqlite3r
7500: 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20  bu.lo status.lo 
7510: 5c 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c 65  \.         table
7520: 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20 74  .lo threads.lo t
7530: 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65 76  okenize.lo treev
7540: 69 65 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e 6c  iew.lo trigger.l
7550: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 70 64  o \.         upd
7560: 61 74 65 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20 76  ate.lo util.lo v
7570: 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20  acuum.lo \.     
7580: 20 20 20 20 76 64 62 65 61 70 69 2e 6c 6f 20 76      vdbeapi.lo v
7590: 64 62 65 61 75 78 2e 6c 6f 20 76 64 62 65 62 6c  dbeaux.lo vdbebl
75a0: 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c 6f  ob.lo vdbemem.lo
75b0: 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a 20   vdbesort.lo \. 
75c0: 20 20 20 20 20 20 20 20 76 64 62 65 74 72 61 63          vdbetrac
75d0: 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c 6b  e.lo wal.lo walk
75e0: 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20 77  er.lo where.lo w
75f0: 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65 72  herecode.lo wher
7600: 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20 20  eexpr.lo \.     
7610: 20 20 20 20 75 74 66 2e 6c 6f 20 76 74 61 62 2e      utf.lo vtab.
7620: 6c 6f 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  lo.# <</mark>>..
7630: 23 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66  # Object files f
7640: 6f 72 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74  or the amalgamat
7650: 69 6f 6e 2e 0a 23 0a 4c 49 42 4f 42 4a 53 31 20  ion..#.LIBOBJS1 
7660: 3d 20 73 71 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20  = sqlite3.lo..# 
7670: 44 65 74 65 72 6d 69 6e 65 20 74 68 65 20 72 65  Determine the re
7680: 61 6c 20 76 61 6c 75 65 20 6f 66 20 4c 49 42 4f  al value of LIBO
7690: 42 4a 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20  BJ based on the 
76a0: 27 63 6f 6e 66 69 67 75 72 65 27 20 73 63 72 69  'configure' scri
76b0: 70 74 0a 23 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  pt.#.# <<mark>>.
76c0: 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  !IF $(USE_AMALGA
76d0: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42  MATION)==0.LIBOB
76e0: 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 30 29 0a  J = $(LIBOBJS0).
76f0: 21 45 4c 53 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  !ELSE.# <</mark>
7700: 3e 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42  >.LIBOBJ = $(LIB
7710: 4f 42 4a 53 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e  OBJS1).# <<mark>
7720: 3e 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61  >.!ENDIF.# <</ma
7730: 72 6b 3e 3e 0a 0a 23 20 44 65 74 65 72 6d 69 6e  rk>>..# Determin
7740: 65 20 69 66 20 65 6d 62 65 64 64 65 64 20 72 65  e if embedded re
7750: 73 6f 75 72 63 65 20 63 6f 6d 70 69 6c 61 74 69  source compilati
7760: 6f 6e 20 61 6e 64 20 75 73 61 67 65 20 61 72 65  on and usage are
7770: 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 21 49 46 20   enabled..#.!IF 
7780: 24 28 55 53 45 5f 52 43 29 21 3d 30 0a 4c 49 42  $(USE_RC)!=0.LIB
7790: 52 45 53 4f 42 4a 53 20 3d 20 73 71 6c 69 74 65  RESOBJS = sqlite
77a0: 33 72 65 73 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49  3res.lo.!ELSE.LI
77b0: 42 52 45 53 4f 42 4a 53 20 3d 0a 21 45 4e 44 49  BRESOBJS =.!ENDI
77c0: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.# 
77d0: 43 6f 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65  Core source code
77e0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a   files, part 1..
77f0: 23 0a 53 52 43 30 30 20 3d 20 5c 0a 20 20 24 28  #.SRC00 = \.  $(
7800: 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63  TOP)\src\alter.c
7810: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7820: 61 6e 61 6c 79 7a 65 2e 63 20 5c 0a 20 20 24 28  analyze.c \.  $(
7830: 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e  TOP)\src\attach.
7840: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7850: 5c 61 75 74 68 2e 63 20 5c 0a 20 20 24 28 54 4f  \auth.c \.  $(TO
7860: 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 20  P)\src\backup.c 
7870: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62  \.  $(TOP)\src\b
7880: 69 74 76 65 63 2e 63 20 5c 0a 20 20 24 28 54 4f  itvec.c \.  $(TO
7890: 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63  P)\src\btmutex.c
78a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
78b0: 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f  btree.c \.  $(TO
78c0: 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 5c  P)\src\build.c \
78d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61  .  $(TOP)\src\ca
78e0: 6c 6c 62 61 63 6b 2e 63 20 5c 0a 20 20 24 28 54  llback.c \.  $(T
78f0: 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65  OP)\src\complete
7900: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7910: 63 5c 63 74 69 6d 65 2e 63 20 5c 0a 20 20 24 28  c\ctime.c \.  $(
7920: 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20  TOP)\src\date.c 
7930: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64  \.  $(TOP)\src\d
7940: 62 73 74 61 74 2e 63 20 5c 0a 20 20 24 28 54 4f  bstat.c \.  $(TO
7950: 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 20  P)\src\delete.c 
7960: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 65  \.  $(TOP)\src\e
7970: 78 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  xpr.c \.  $(TOP)
7980: 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 5c 0a 20  \src\fault.c \. 
7990: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79   $(TOP)\src\fkey
79a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
79b0: 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54  c\func.c \.  $(T
79c0: 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63  OP)\src\global.c
79d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
79e0: 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50  hash.c \.  $(TOP
79f0: 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 5c  )\src\insert.c \
7a00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65  .  $(TOP)\src\le
7a10: 67 61 63 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50  gacy.c \.  $(TOP
7a20: 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20  )\src\loadext.c 
7a30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
7a40: 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ain.c \.  $(TOP)
7a50: 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a  \src\malloc.c \.
7a60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem
7a70: 30 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  0.c \.  $(TOP)\s
7a80: 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20 20 24 28  rc\mem1.c \.  $(
7a90: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20  TOP)\src\mem2.c 
7aa0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
7ab0: 65 6d 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  em3.c \.  $(TOP)
7ac0: 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20  \src\mem5.c \.  
7ad0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f  $(TOP)\src\memjo
7ae0: 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  urnal.c \.  $(TO
7af0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 5c  P)\src\mutex.c \
7b00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu
7b10: 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20 20 24  tex_noop.c \.  $
7b20: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
7b30: 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50  unix.c \.  $(TOP
7b40: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e  )\src\mutex_w32.
7b50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7b60: 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a 20 20 24 28  \notify.c \.  $(
7b70: 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 5c 0a  TOP)\src\os.c \.
7b80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_
7b90: 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50  unix.c \.  $(TOP
7ba0: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a  )\src\os_win.c..
7bb0: 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20 63 6f  # Core source co
7bc0: 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32  de files, part 2
7bd0: 2e 0a 23 0a 53 52 43 30 31 20 3d 20 5c 0a 20 20  ..#.SRC01 = \.  
7be0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager
7bf0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7c00: 63 5c 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24  c\pcache.c \.  $
7c10: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
7c20: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  1.c \.  $(TOP)\s
7c30: 72 63 5c 70 72 61 67 6d 61 2e 63 20 5c 0a 20 20  rc\pragma.c \.  
7c40: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61  $(TOP)\src\prepa
7c50: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\
7c60: 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 5c 0a 20  src\printf.c \. 
7c70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64   $(TOP)\src\rand
7c80: 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  om.c \.  $(TOP)\
7c90: 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 5c 0a  src\resolve.c \.
7ca0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77    $(TOP)\src\row
7cb0: 73 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  set.c \.  $(TOP)
7cc0: 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 5c 0a  \src\select.c \.
7cd0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61    $(TOP)\src\sta
7ce0: 74 75 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tus.c \.  $(TOP)
7cf0: 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 5c 0a 20  \src\table.c \. 
7d00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65   $(TOP)\src\thre
7d10: 61 64 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ads.c \.  $(TOP)
7d20: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
7d30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7d40: 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 24  tokenize.c \.  $
7d50: 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69  (TOP)\src\treevi
7d60: 65 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ew.c \.  $(TOP)\
7d70: 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 5c 0a  src\trigger.c \.
7d80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66    $(TOP)\src\utf
7d90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7da0: 63 5c 75 70 64 61 74 65 2e 63 20 5c 0a 20 20 24  c\update.c \.  $
7db0: 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63  (TOP)\src\util.c
7dc0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7dd0: 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24 28 54  vacuum.c \.  $(T
7de0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 5c  OP)\src\vdbe.c \
7df0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd
7e00: 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 54 4f  beapi.c \.  $(TO
7e10: 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63  P)\src\vdbeaux.c
7e20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7e30: 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 20 24  vdbeblob.c \.  $
7e40: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65  (TOP)\src\vdbeme
7e50: 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  m.c \.  $(TOP)\s
7e60: 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 5c 0a  rc\vdbesort.c \.
7e70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
7e80: 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24 28 54  etrace.c \.  $(T
7e90: 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 5c  OP)\src\vtab.c \
7ea0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  .  $(TOP)\src\wa
7eb0: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
7ec0: 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a 20 20  rc\walker.c \.  
7ed0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
7ee0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7ef0: 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 5c 0a  c\wherecode.c \.
7f00: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65    $(TOP)\src\whe
7f10: 72 65 65 78 70 72 2e 63 0a 0a 23 20 53 68 65 6c  reexpr.c..# Shel
7f20: 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  l source code fi
7f30: 6c 65 73 2e 0a 23 0a 53 52 43 30 32 20 3d 20 5c  les..#.SRC02 = \
7f40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 68  .  $(TOP)\src\sh
7f50: 65 6c 6c 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69  ell.c..# Core mi
7f60: 73 63 65 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65  scellaneous file
7f70: 73 2e 0a 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20  s..#.SRC03 = \. 
7f80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73   $(TOP)\src\pars
7f90: 65 2e 79 0a 0a 23 20 43 6f 72 65 20 68 65 61 64  e.y..# Core head
7fa0: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31  er files, part 1
7fb0: 2e 0a 23 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20  ..#.SRC04 = \.  
7fc0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
7fd0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
7fe0: 63 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20  c\btreeInt.h \. 
7ff0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68   $(TOP)\src\hash
8000: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8010: 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24  c\hwtime.h \.  $
8020: 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68  (TOP)\src\msvc.h
8030: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8040: 6d 75 74 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f  mutex.h \.  $(TO
8050: 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20  P)\src\os.h \.  
8060: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f  $(TOP)\src\os_co
8070: 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50  mmon.h \.  $(TOP
8080: 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68  )\src\os_setup.h
8090: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
80a0: 6f 73 5f 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65  os_win.h..# Core
80b0: 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70   header files, p
80c0: 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d  art 2..#.SRC05 =
80d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
80e0: 70 61 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f  pager.h \.  $(TO
80f0: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20  P)\src\pcache.h 
8100: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p
8110: 72 61 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f  ragma.h \.  $(TO
8120: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e  P)\src\sqlite.h.
8130: 69 6e 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  in \.  $(TOP)\sr
8140: 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c  c\sqlite3ext.h \
8150: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  .  $(TOP)\src\sq
8160: 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28  liteInt.h \.  $(
8170: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c  TOP)\src\sqliteL
8180: 69 6d 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  imit.h \.  $(TOP
8190: 29 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20  )\src\vdbe.h \. 
81a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
81b0: 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  Int.h \.  $(TOP)
81c0: 5c 73 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c  \src\vxworks.h \
81d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  .  $(TOP)\src\wa
81e0: 6c 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.h \.  $(TOP)\s
81f0: 72 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23  rc\whereInt.h..#
8200: 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63   Extension sourc
8210: 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61  e code files, pa
8220: 72 74 20 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20  rt 1..#.SRC06 = 
8230: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8240: 74 73 31 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24  ts1\fts1.c \.  $
8250: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
8260: 74 73 31 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24  ts1_hash.c \.  $
8270: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
8280: 74 73 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20  ts1_porter.c \. 
8290: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1
82a0: 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts1_tokenizer1
82b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
82c0: 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a  t\fts2\fts2.c \.
82d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
82e0: 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a  2\fts2_hash.c \.
82f0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8300: 32 5c 66 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20  2\fts2_icu.c \. 
8310: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
8320: 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c  \fts2_porter.c \
8330: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8340: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  s2\fts2_tokenize
8350: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
8360: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
8370: 65 6e 69 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74  enizer1.c..# Ext
8380: 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f  ension source co
8390: 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32  de files, part 2
83a0: 2e 0a 23 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20  ..#.SRC07 = \.  
83b0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
83c0: 66 74 73 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50  fts3.c \.  $(TOP
83d0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
83e0: 61 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  aux.c \.  $(TOP)
83f0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65  \ext\fts3\fts3_e
8400: 78 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  xpr.c \.  $(TOP)
8410: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68  \ext\fts3\fts3_h
8420: 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ash.c \.  $(TOP)
8430: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69  \ext\fts3\fts3_i
8440: 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cu.c \.  $(TOP)\
8450: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f  ext\fts3\fts3_po
8460: 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rter.c \.  $(TOP
8470: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
8480: 73 6e 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 28  snippet.c \.  $(
8490: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
84a0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c  s3_tokenizer.c \
84b0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
84c0: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
84d0: 72 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  r1.c \.  $(TOP)\
84e0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
84f0: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a  kenize_vtab.c \.
8500: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8510: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63  3\fts3_unicode.c
8520: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8530: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64  fts3\fts3_unicod
8540: 65 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  e2.c \.  $(TOP)\
8550: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72  ext\fts3\fts3_wr
8560: 69 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ite.c \.  $(TOP)
8570: 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c  \ext\icu\icu.c \
8580: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  .  $(TOP)\ext\rt
8590: 72 65 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20  ree\rtree.c \.  
85a0: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi
85b0: 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f  on\sqlite3sessio
85c0: 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  n.c \.  $(TOP)\e
85d0: 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62  xt\rbu\sqlite3rb
85e0: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e
85f0: 78 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 0a  xt\misc\json1.c.
8600: 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61  .# Extension hea
8610: 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20  der files, part 
8620: 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a 20  1..#.SRC08 = \. 
8630: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1
8640: 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts1.h \.  $(TO
8650: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
8660: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
8670: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
8680: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20  _tokenizer.h \. 
8690: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
86a0: 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts2.h \.  $(TO
86b0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
86c0: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO
86d0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
86e0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23 20  _tokenizer.h..# 
86f0: 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72  Extension header
8700: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a   files, part 2..
8710: 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20 24 28  #.SRC09 = \.  $(
8720: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8730: 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s3.h \.  $(TOP)\
8740: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74  ext\fts3\fts3Int
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 5f 68 61 73 68  t\fts3\fts3_hash
8770: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
8780: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
8790: 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f  nizer.h \.  $(TO
87a0: 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74  P)\ext\icu\sqlit
87b0: 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eicu.h \.  $(TOP
87c0: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65  )\ext\rtree\rtre
87d0: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.h \.  $(TOP)\e
87e0: 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62  xt\rbu\sqlite3rb
87f0: 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.h \.  $(TOP)\e
8800: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
8810: 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 47  e3session.h..# G
8820: 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65 20  enerated source 
8830: 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43  code files.#.SRC
8840: 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 73  10 = \.  opcodes
8850: 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a 0a  .c \.  parse.c..
8860: 23 20 47 65 6e 65 72 61 74 65 64 20 68 65 61 64  # Generated head
8870: 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 31  er files.#.SRC11
8880: 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61   = \.  keywordha
8890: 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73  sh.h \.  opcodes
88a0: 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 5c  .h \.  parse.h \
88b0: 0a 20 20 24 28 53 51 4c 49 54 45 33 48 29 0a 0a  .  $(SQLITE3H)..
88c0: 23 20 47 65 6e 65 72 61 74 65 64 20 54 63 6c 20  # Generated Tcl 
88d0: 68 65 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 21  header files.#.!
88e0: 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c  IF $(USE_STDCALL
88f0: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
8900: 4e 31 30 29 21 3d 30 0a 53 52 43 31 32 20 3d 20  N10)!=0.SRC12 = 
8910: 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 43 4c 48  \.  $(SQLITETCLH
8920: 29 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 43  ) \.  $(SQLITETC
8930: 4c 44 45 43 4c 53 48 29 0a 21 45 4c 53 45 0a 53  LDECLSH).!ELSE.S
8940: 52 43 31 32 20 3d 0a 21 45 4e 44 49 46 0a 0a 23  RC12 =.!ENDIF..#
8950: 20 41 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64 65   All source code
8960: 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20   files..#.SRC = 
8970: 24 28 53 52 43 30 30 29 20 24 28 53 52 43 30 31  $(SRC00) $(SRC01
8980: 29 20 24 28 53 52 43 30 32 29 20 24 28 53 52 43  ) $(SRC02) $(SRC
8990: 30 33 29 20 24 28 53 52 43 30 34 29 20 24 28 53  03) $(SRC04) $(S
89a0: 52 43 30 35 29 20 24 28 53 52 43 30 36 29 20 24  RC05) $(SRC06) $
89b0: 28 53 52 43 30 37 29 20 24 28 53 52 43 30 38 29  (SRC07) $(SRC08)
89c0: 20 24 28 53 52 43 30 39 29 20 24 28 53 52 43 31   $(SRC09) $(SRC1
89d0: 30 29 20 24 28 53 52 43 31 31 29 0a 0a 23 20 53  0) $(SRC11)..# S
89e0: 6f 75 72 63 65 20 63 6f 64 65 20 74 6f 20 74 68  ource code to th
89f0: 65 20 74 65 73 74 20 66 69 6c 65 73 2e 0a 23 0a  e test files..#.
8a00: 54 45 53 54 53 52 43 20 3d 20 5c 0a 20 20 24 28  TESTSRC = \.  $(
8a10: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 31 2e 63  TOP)\src\test1.c
8a20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8a30: 74 65 73 74 32 2e 63 20 5c 0a 20 20 24 28 54 4f  test2.c \.  $(TO
8a40: 50 29 5c 73 72 63 5c 74 65 73 74 33 2e 63 20 5c  P)\src\test3.c \
8a50: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8a60: 73 74 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st4.c \.  $(TOP)
8a70: 5c 73 72 63 5c 74 65 73 74 35 2e 63 20 5c 0a 20  \src\test5.c \. 
8a80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8a90: 36 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  6.c \.  $(TOP)\s
8aa0: 72 63 5c 74 65 73 74 37 2e 63 20 5c 0a 20 20 24  rc\test7.c \.  $
8ab0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 38 2e  (TOP)\src\test8.
8ac0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8ad0: 5c 74 65 73 74 39 2e 63 20 5c 0a 20 20 24 28 54  \test9.c \.  $(T
8ae0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 75 74  OP)\src\test_aut
8af0: 6f 65 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  oext.c \.  $(TOP
8b00: 29 5c 73 72 63 5c 74 65 73 74 5f 61 73 79 6e 63  )\src\test_async
8b10: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8b20: 63 5c 74 65 73 74 5f 62 61 63 6b 75 70 2e 63 20  c\test_backup.c 
8b30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8b40: 65 73 74 5f 62 65 73 74 69 6e 64 65 78 2e 63 20  est_bestindex.c 
8b50: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8b60: 65 73 74 5f 62 6c 6f 62 2e 63 20 5c 0a 20 20 24  est_blob.c \.  $
8b70: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62  (TOP)\src\test_b
8b80: 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  tree.c \.  $(TOP
8b90: 29 5c 73 72 63 5c 74 65 73 74 5f 63 6f 6e 66 69  )\src\test_confi
8ba0: 67 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  g.c \.  $(TOP)\s
8bb0: 72 63 5c 74 65 73 74 5f 64 65 6c 65 74 65 2e 63  rc\test_delete.c
8bc0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8bd0: 74 65 73 74 5f 64 65 6d 6f 76 66 73 2e 63 20 5c  test_demovfs.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 76 73 79 6d 2e 63 20 5c 0a 20 20  st_devsym.c \.  
8c00: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
8c10: 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  fs.c \.  $(TOP)\
8c20: 73 72 63 5c 74 65 73 74 5f 66 75 6e 63 2e 63 20  src\test_func.c 
8c30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8c40: 65 73 74 5f 68 65 78 69 6f 2e 63 20 5c 0a 20 20  est_hexio.c \.  
8c50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
8c60: 69 6e 69 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  init.c \.  $(TOP
8c70: 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 74 61 72  )\src\test_intar
8c80: 72 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ray.c \.  $(TOP)
8c90: 5c 73 72 63 5c 74 65 73 74 5f 6a 6f 75 72 6e 61  \src\test_journa
8ca0: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s
8cb0: 72 63 5c 74 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63  rc\test_malloc.c
8cc0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8cd0: 74 65 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63  test_multiplex.c
8ce0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8cf0: 74 65 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20  test_mutex.c \. 
8d00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8d10: 5f 6f 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24  _onefile.c \.  $
8d20: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f  (TOP)\src\test_o
8d30: 73 69 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f  sinst.c \.  $(TO
8d40: 50 29 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63  P)\src\test_pcac
8d50: 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  he.c \.  $(TOP)\
8d60: 73 72 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63  src\test_quota.c
8d70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8d80: 74 65 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20  test_rtree.c \. 
8d90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8da0: 5f 73 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28  _schema.c \.  $(
8db0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65  TOP)\src\test_se
8dc0: 72 76 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rver.c \.  $(TOP
8dd0: 29 5c 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72  )\src\test_super
8de0: 6c 6f 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lock.c \.  $(TOP
8df0: 29 5c 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61  )\src\test_sysca
8e00: 6c 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ll.c \.  $(TOP)\
8e10: 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e  src\test_tclvar.
8e20: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8e30: 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c  \test_thread.c \
8e40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8e50: 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  st_vfs.c \.  $(T
8e60: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
8e70: 64 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54  dirent.c \.  $(T
8e80: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 73 64  OP)\src\test_wsd
8e90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8ea0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 65 72 6d  t\fts3\fts3_term
8eb0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8ec0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 65 73 74  t\fts3\fts3_test
8ed0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8ee0: 74 5c 72 62 75 5c 74 65 73 74 5f 72 62 75 2e 63  t\rbu\test_rbu.c
8ef0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8f00: 73 65 73 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73  session\test_ses
8f10: 73 69 6f 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63  sion.c..# Static
8f20: 61 6c 6c 79 20 6c 69 6e 6b 65 64 20 65 78 74 65  ally linked exte
8f30: 6e 73 69 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58  nsions..#.TESTEX
8f40: 54 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  T = \.  $(TOP)\e
8f50: 78 74 5c 6d 69 73 63 5c 61 6d 61 74 63 68 2e 63  xt\misc\amatch.c
8f60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8f70: 6d 69 73 63 5c 63 61 72 72 61 79 2e 63 20 5c 0a  misc\carray.c \.
8f80: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
8f90: 63 5c 63 6c 6f 73 75 72 65 2e 63 20 5c 0a 20 20  c\closure.c \.  
8fa0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
8fb0: 63 73 76 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  csv.c \.  $(TOP)
8fc0: 5c 65 78 74 5c 6d 69 73 63 5c 65 76 61 6c 2e 63  \ext\misc\eval.c
8fd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8fe0: 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a  misc\fileio.c \.
8ff0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
9000: 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a 20 20 24  c\fuzzer.c \.  $
9010: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
9020: 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20 20 24 28  ts5_tcl.c \.  $(
9030: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
9040: 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20 5c 0a 20  s5_test_mi.c \. 
9050: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
9060: 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f 6b 2e 63  \fts5_test_tok.c
9070: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9080: 6d 69 73 63 5c 69 65 65 65 37 35 34 2e 63 20 5c  misc\ieee754.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 6e 65 78 74 63 68 61 72 2e 63 20 5c 0a  sc\nextchar.c \.
90b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
90c0: 63 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63 20 5c  c\percentile.c \
90d0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
90e0: 73 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a 20 20  sc\regexp.c \.  
90f0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
9100: 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24 28 54  series.c \.  $(T
9110: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70 65  OP)\ext\misc\spe
9120: 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f  llfix.c \.  $(TO
9130: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74 79  P)\ext\misc\toty
9140: 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  pe.c \.  $(TOP)\
9150: 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e 75  ext\misc\wholenu
9160: 6d 62 65 72 2e 63 0a 0a 23 20 53 6f 75 72 63 65  mber.c..# Source
9170: 20 63 6f 64 65 20 74 6f 20 74 68 65 20 6c 69 62   code to the lib
9180: 72 61 72 79 20 66 69 6c 65 73 20 6e 65 65 64 65  rary files neede
9190: 64 20 62 79 20 74 68 65 20 74 65 73 74 20 66 69  d by the test fi
91a0: 78 74 75 72 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61  xture.# (non-ama
91b0: 6c 67 61 6d 61 74 69 6f 6e 29 0a 23 0a 54 45 53  lgamation).#.TES
91c0: 54 53 52 43 32 20 3d 20 5c 0a 20 20 24 28 53 52  TSRC2 = \.  $(SR
91d0: 43 30 30 29 20 5c 0a 20 20 24 28 53 52 43 30 31  C00) \.  $(SRC01
91e0: 29 20 5c 0a 20 20 24 28 53 52 43 30 36 29 20 5c  ) \.  $(SRC06) \
91f0: 0a 20 20 24 28 53 52 43 30 37 29 20 5c 0a 20 20  .  $(SRC07) \.  
9200: 24 28 53 52 43 31 30 29 20 5c 0a 20 20 24 28 54  $(SRC10) \.  $(T
9210: 4f 50 29 5c 65 78 74 5c 61 73 79 6e 63 5c 73 71  OP)\ext\async\sq
9220: 6c 69 74 65 33 61 73 79 6e 63 2e 63 0a 0a 23 20  lite3async.c..# 
9230: 48 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 65  Header files use
9240: 64 20 62 79 20 61 6c 6c 20 6c 69 62 72 61 72 79  d by all library
9250: 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e 0a 23   source files..#
9260: 0a 48 44 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f  .HDR = \.   $(TO
9270: 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68 20 5c  P)\src\btree.h \
9280: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62  .   $(TOP)\src\b
9290: 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24  treeInt.h \.   $
92a0: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68  (TOP)\src\hash.h
92b0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
92c0: 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b  \hwtime.h \.   k
92d0: 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20  eywordhash.h \. 
92e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76    $(TOP)\src\msv
92f0: 63 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  c.h \.   $(TOP)\
9300: 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20  src\mutex.h \.  
9310: 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20   opcodes.h \.   
9320: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20  $(TOP)\src\os.h 
9330: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
9340: 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20  os_common.h \.  
9350: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73   $(TOP)\src\os_s
9360: 65 74 75 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f  etup.h \.   $(TO
9370: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 20  P)\src\os_win.h 
9380: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
9390: 70 61 67 65 72 2e 68 20 5c 0a 20 20 20 24 28 54  pager.h \.   $(T
93a0: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68  OP)\src\pcache.h
93b0: 20 5c 0a 20 20 20 70 61 72 73 65 2e 68 20 5c 0a   \.   parse.h \.
93c0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72     $(TOP)\src\pr
93d0: 61 67 6d 61 2e 68 20 5c 0a 20 20 20 24 28 53 51  agma.h \.   $(SQ
93e0: 4c 49 54 45 33 48 29 20 5c 0a 20 20 20 73 71 6c  LITE3H) \.   sql
93f0: 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 20 20 24  ite3ext.h \.   $
9400: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
9410: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  Int.h \.   $(TOP
9420: 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69  )\src\sqliteLimi
9430: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.h \.   $(TOP)\
9440: 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 20  src\vdbe.h \.   
9450: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49  $(TOP)\src\vdbeI
9460: 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  nt.h \.   $(TOP)
9470: 5c 73 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c  \src\vxworks.h \
9480: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  .   $(TOP)\src\w
9490: 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 48 65 61  hereInt.h..# Hea
94a0: 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62  der files used b
94b0: 79 20 65 78 74 65 6e 73 69 6f 6e 73 0a 23 0a 45  y extensions.#.E
94c0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
94d0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
94e0: 5c 66 74 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20  \fts1\fts1.h \. 
94f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1
9500: 5c 66 74 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts1_hash.h \. 
9510: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1
9520: 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts1_tokenizer.
9530: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
9540: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
9550: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 20  ext\fts2\fts2.h 
9560: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9570: 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 20  ts2\fts2_hash.h 
9580: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
9590: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
95a0: 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28  er.h.EXTHDR = $(
95b0: 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f  EXTHDR) \.  $(TO
95c0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
95d0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
95e0: 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74 2e 68  t\fts3\fts3Int.h
95f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9600: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 68  fts3\fts3_hash.h
9610: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9620: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
9630: 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24  zer.h.EXTHDR = $
9640: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54  (EXTHDR) \.  $(T
9650: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
9660: 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d 20 24  ree.h.EXTHDR = $
9670: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54  (EXTHDR) \.  $(T
9680: 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69  OP)\ext\icu\sqli
9690: 74 65 69 63 75 2e 68 0a 45 58 54 48 44 52 20 3d  teicu.h.EXTHDR =
96a0: 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24   $(EXTHDR) \.  $
96b0: 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c  (TOP)\ext\rtree\
96c0: 73 71 6c 69 74 65 33 72 74 72 65 65 2e 68 0a 45  sqlite3rtree.h.E
96d0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
96e0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
96f0: 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33  \session\sqlite3
9700: 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 65 78 65  session.h..# exe
9710: 63 75 74 61 62 6c 65 73 20 6e 65 65 64 65 64 20  cutables needed 
9720: 66 6f 72 20 74 65 73 74 69 6e 67 0a 23 0a 54 45  for testing.#.TE
9730: 53 54 50 52 4f 47 53 20 3d 20 5c 0a 20 20 74 65  STPROGS = \.  te
9740: 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 5c 0a  stfixture.exe \.
9750: 20 20 24 28 53 51 4c 49 54 45 33 45 58 45 29 20    $(SQLITE3EXE) 
9760: 5c 0a 20 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c  \.  sqlite3_anal
9770: 79 7a 65 72 2e 65 78 65 20 5c 0a 20 20 73 71 6c  yzer.exe \.  sql
9780: 64 69 66 66 2e 65 78 65 20 5c 0a 20 20 64 62 68  diff.exe \.  dbh
9790: 61 73 68 2e 65 78 65 0a 0a 23 20 44 61 74 61 62  ash.exe..# Datab
97a0: 61 73 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20  ases containing 
97b0: 66 75 7a 7a 65 72 20 74 65 73 74 20 63 61 73 65  fuzzer test case
97c0: 73 0a 23 0a 46 55 5a 5a 44 41 54 41 20 3d 20 5c  s.#.FUZZDATA = \
97d0: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  .  $(TOP)\test\f
97e0: 75 7a 7a 64 61 74 61 31 2e 64 62 20 5c 0a 20 20  uzzdata1.db \.  
97f0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz
9800: 64 61 74 61 32 2e 64 62 20 5c 0a 20 20 24 28 54  data2.db \.  $(T
9810: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74  OP)\test\fuzzdat
9820: 61 33 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29  a3.db \.  $(TOP)
9830: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 34 2e  \test\fuzzdata4.
9840: 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  db.# <</mark>>..
9850: 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d  # Additional com
9860: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
9870: 72 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54 68  r the shell.  Th
9880: 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66 66  ese are only eff
9890: 65 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74 68  ective.# when th
98a0: 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20 62  e shell is not b
98b0: 65 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79  eing dynamically
98c0: 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20 24   linked..#.!IF $
98d0: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d  (DYNAMIC_SHELL)=
98e0: 3d 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e 31  =0 && $(FOR_WIN1
98f0: 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50  0)==0.SHELL_COMP
9900: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45  ILE_OPTS = $(SHE
9910: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
9920: 20 2d 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f   -DSQLITE_SHELL_
9930: 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45  JSON1 -DSQLITE_E
9940: 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 53 51 4c  NABLE_FTS4 -DSQL
9950: 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50 4c 41  ITE_ENABLE_EXPLA
9960: 49 4e 5f 43 4f 4d 4d 45 4e 54 53 0a 21 45 4e 44  IN_COMMENTS.!END
9970: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
9980: 20 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 72 20   Extra compiler 
9990: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 69  options for vari
99a0: 6f 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a  ous test tools..
99b0: 23 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49  #.MPTESTER_COMPI
99c0: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  LE_OPTS = -DSQLI
99d0: 54 45 5f 53 48 45 4c 4c 5f 4a 53 4f 4e 31 20 2d  TE_SHELL_JSON1 -
99e0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
99f0: 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f  TS5.FUZZERSHELL_
9a00: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d  COMPILE_OPTS = -
9a10: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a  DSQLITE_ENABLE_J
9a20: 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 43  SON1.FUZZCHECK_C
9a30: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44  OMPILE_OPTS = -D
9a40: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53  SQLITE_ENABLE_JS
9a50: 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  ON1 -DSQLITE_ENA
9a60: 42 4c 45 5f 4d 45 4d 53 59 53 35 0a 0a 23 20 53  BLE_MEMSYS5..# S
9a70: 74 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e 73 20  tandard options 
9a80: 74 6f 20 74 65 73 74 66 69 78 74 75 72 65 2e 0a  to testfixture..
9a90: 23 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d 2d 76  #.TESTOPTS = --v
9aa0: 65 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f 75  erbose=file --ou
9ab0: 74 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e 74 78  tput=test-out.tx
9ac0: 74 0a 0a 23 20 45 78 74 72 61 20 74 61 72 67 65  t..# Extra targe
9ad0: 74 73 20 66 6f 72 20 74 68 65 20 22 61 6c 6c 22  ts for the "all"
9ae0: 20 74 61 72 67 65 74 20 74 68 61 74 20 72 65 71   target that req
9af0: 75 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49 46 20  uire Tcl..#.!IF 
9b00: 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c  $(NO_TCL)==0.ALL
9b10: 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 20 6c  _TCL_TARGETS = l
9b20: 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62  ibtclsqlite3.lib
9b30: 0a 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54  .!ELSE.ALL_TCL_T
9b40: 41 52 47 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a  ARGETS =.!ENDIF.
9b50: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54  # <</mark>>..# T
9b60: 68 69 73 20 69 73 20 74 68 65 20 64 65 66 61 75  his is the defau
9b70: 6c 74 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67  lt Makefile targ
9b80: 65 74 2e 20 20 54 68 65 20 6f 62 6a 65 63 74 73  et.  The objects
9b90: 20 6c 69 73 74 65 64 20 68 65 72 65 0a 23 20 61   listed here.# a
9ba0: 72 65 20 77 68 61 74 20 67 65 74 20 62 75 69 6c  re what get buil
9bb0: 64 20 77 68 65 6e 20 79 6f 75 20 74 79 70 65 20  d when you type 
9bc0: 6a 75 73 74 20 22 6d 61 6b 65 22 20 77 69 74 68  just "make" with
9bd0: 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23   no arguments..#
9be0: 0a 61 6c 6c 3a 09 64 6c 6c 20 6c 69 62 73 71 6c  .all:.dll libsql
9bf0: 69 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c 20 24  ite3.lib shell $
9c00: 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53  (ALL_TCL_TARGETS
9c10: 29 0a 0a 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e  )..# Dynamic lin
9c20: 6b 20 6c 69 62 72 61 72 79 20 73 65 63 74 69 6f  k library sectio
9c30: 6e 2e 0a 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49  n..#.dll:.$(SQLI
9c40: 54 45 33 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c  TE3DLL)..# Shell
9c50: 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73   executable..#.s
9c60: 68 65 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 45  hell:.$(SQLITE3E
9c70: 58 45 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  XE)..# <<mark>>.
9c80: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09  libsqlite3.lib:.
9c90: 24 28 4c 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c  $(LIBOBJ)..$(LTL
9ca0: 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29  IB) $(LTLIBOPTS)
9cb0: 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42   /OUT:$@ $(LIBOB
9cc0: 4a 29 20 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62  J) $(TLIBS)..lib
9cd0: 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09  tclsqlite3.lib:.
9ce0: 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62  tclsqlite.lo lib
9cf0: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c  sqlite3.lib..$(L
9d00: 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54  TLIB) $(LTLIBOPT
9d10: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS)
9d20: 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69   /OUT:$@ tclsqli
9d30: 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33  te.lo libsqlite3
9d40: 2e 6c 69 62 20 24 28 4c 49 42 54 43 4c 53 54 55  .lib $(LIBTCLSTU
9d50: 42 29 20 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c  B) $(TLIBS).# <<
9d60: 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54  /mark>>..$(SQLIT
9d70: 45 33 44 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a  E3DLL):.$(LIBOBJ
9d80: 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
9d90: 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29  $(CORE_LINK_DEP)
9da0: 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47  ..$(LD) $(LDFLAG
9db0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
9dc0: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) /
9dd0: 44 4c 4c 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f  DLL $(CORE_LINK_
9de0: 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24 28  OPTS) /OUT:$@ $(
9df0: 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53  LIBOBJ) $(LIBRES
9e00: 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20  OBJS) $(LTLIBS) 
9e10: 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c  $(TLIBS)..# <<bl
9e20: 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64  ock2>>.sqlite3.d
9e30: 65 66 3a 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c  ef:.libsqlite3.l
9e40: 69 62 0a 09 65 63 68 6f 20 45 58 50 4f 52 54 53  ib..echo EXPORTS
9e50: 20 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 09   > sqlite3.def..
9e60: 64 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62  dumpbin /all lib
9e70: 73 71 6c 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09  sqlite3.lib \...
9e80: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
9e90: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
9ea0: 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64 65 20 22  ce.tcl include "
9eb0: 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33  ^\s+1 _?(sqlite3
9ec0: 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f  _[^@]*)(?:@\d+)?
9ed0: 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72  $$" \1 \...| sor
9ee0: 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66  t >> sqlite3.def
9ef0: 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a  .# <</block2>>..
9f00: 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 24  $(SQLITE3EXE):.$
9f10: 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e  (TOP)\src\shell.
9f20: 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  c $(SHELL_CORE_D
9f30: 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  EP) $(LIBRESOBJS
9f40: 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  ) $(SHELL_CORE_S
9f50: 52 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  RC) $(SQLITE3H).
9f60: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 48 45  .$(LTLINK) $(SHE
9f70: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
9f80: 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47   $(READLINE_FLAG
9f90: 53 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 68  S) $(TOP)\src\sh
9fa0: 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f  ell.c $(SHELL_CO
9fb0: 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e  RE_SRC) \.../lin
9fc0: 6b 20 24 28 53 51 4c 49 54 45 33 45 58 45 50 44  k $(SQLITE3EXEPD
9fd0: 42 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  B) $(LDFLAGS) $(
9fe0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 53 48  LTLINKOPTS) $(SH
9ff0: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 24  ELL_LINK_OPTS) $
a000: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c  (LTLIBPATHS) $(L
a010: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 49 42  IBRESOBJS) $(LIB
a020: 52 45 41 44 4c 49 4e 45 29 20 24 28 4c 54 4c 49  READLINE) $(LTLI
a030: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20  BS) $(TLIBS)..# 
a040: 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69 66 66  <<mark>>.sqldiff
a050: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
a060: 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51  l\sqldiff.c $(SQ
a070: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
a080: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
a090: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29  (NO_WARN) $(TOP)
a0a0: 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20  \tool\sqldiff.c 
a0b0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
a0c0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
a0d0: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 68 61  TLINKOPTS)..dbha
a0e0: 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  sh.exe:.$(TOP)\t
a0f0: 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 53  ool\dbhash.c $(S
a100: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
a110: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
a120: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50  $(NO_WARN) $(TOP
a130: 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20  )\tool\dbhash.c 
a140: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
a150: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
a160: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 63 72 75  TLINKOPTS)..scru
a170: 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  b.exe:.$(TOP)\ex
a180: 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24  t\misc\scrub.c $
a190: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
a1a0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
a1b0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54  ) $(NO_WARN) $(T
a1c0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72  OP)\ext\misc\scr
a1d0: 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ub.c $(SQLITE3C)
a1e0: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
a1f0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
a200: 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54  .srcck1.exe:.$(T
a210: 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e  OP)\tool\srcck1.
a220: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57  c..$(BCC) $(NO_W
a230: 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50  ARN) -Fe$@ $(TOP
a240: 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a  )\tool\srcck1.c.
a250: 0a 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63  .sourcetest:.src
a260: 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e  ck1.exe sqlite3.
a270: 63 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 73 71  c..srcck1.exe sq
a280: 6c 69 74 65 33 2e 63 0a 0a 66 75 7a 7a 65 72 73  lite3.c..fuzzers
a290: 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  hell.exe:.$(TOP)
a2a0: 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c  \tool\fuzzershel
a2b0: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
a2c0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
a2d0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
a2e0: 29 20 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f  ) $(FUZZERSHELL_
a2f0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
a300: 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72  TOP)\tool\fuzzer
a310: 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45  shell.c $(SQLITE
a320: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
a330: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
a340: 53 29 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e 65 78  S)..fuzzcheck.ex
a350: 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  e:.$(TOP)\test\f
a360: 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 53 51 4c  uzzcheck.c $(SQL
a370: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
a380: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
a390: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43  NO_WARN) $(FUZZC
a3a0: 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HECK_COMPILE_OPT
a3b0: 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  S) $(TOP)\test\f
a3c0: 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 53 51 4c  uzzcheck.c $(SQL
a3d0: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
a3e0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
a3f0: 4f 50 54 53 29 0a 0a 6d 70 74 65 73 74 65 72 2e  OPTS)..mptester.
a400: 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d 70 74 65  exe:.$(TOP)\mpte
a410: 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51  st\mptest.c $(SQ
a420: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
a430: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
a440: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d 50 54 45  (NO_WARN) $(MPTE
a450: 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  STER_COMPILE_OPT
a460: 53 29 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74  S) $(TOP)\mptest
a470: 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49  \mptest.c $(SQLI
a480: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
a490: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
a4a0: 50 54 53 29 0a 0a 4d 50 54 45 53 54 31 20 3d 20  PTS)..MPTEST1 = 
a4b0: 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e  mptester mptest.
a4c0: 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74  db $(TOP)\mptest
a4d0: 5c 63 72 61 73 68 30 31 2e 74 65 73 74 20 2d 2d  \crash01.test --
a4e0: 72 65 70 65 61 74 20 32 30 0a 4d 50 54 45 53 54  repeat 20.MPTEST
a4f0: 32 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74  2 = mptester mpt
a500: 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70  est.db $(TOP)\mp
a510: 74 65 73 74 5c 6d 75 6c 74 69 77 72 69 74 65 30  test\multiwrite0
a520: 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20  1.test --repeat 
a530: 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d 70 74 65  20..mptest:.mpte
a540: 73 74 65 72 2e 65 78 65 0a 09 64 65 6c 20 2f 51  ster.exe..del /Q
a550: 20 6d 70 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c   mptest.db 2>NUL
a560: 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a  ..$(MPTEST1) --j
a570: 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54  ournalmode DELET
a580: 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d  E..$(MPTEST2) --
a590: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a  journalmode WAL.
a5a0: 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f  .$(MPTEST1) --jo
a5b0: 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24  urnalmode WAL..$
a5c0: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
a5d0: 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a  nalmode PERSIST.
a5e0: 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f  .$(MPTEST1) --jo
a5f0: 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53  urnalmode PERSIS
a600: 54 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d  T..$(MPTEST2) --
a610: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e  journalmode TRUN
a620: 43 41 54 45 0a 09 24 28 4d 50 54 45 53 54 31 29  CATE..$(MPTEST1)
a630: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54   --journalmode T
a640: 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53  RUNCATE..$(MPTES
a650: 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T2) --journalmod
a660: 65 20 44 45 4c 45 54 45 0a 0a 23 20 54 68 69 73  e DELETE..# This
a670: 20 74 61 72 67 65 74 20 63 72 65 61 74 65 73 20   target creates 
a680: 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65  a directory name
a690: 64 20 22 74 73 72 63 22 20 61 6e 64 20 66 69 6c  d "tsrc" and fil
a6a0: 6c 73 20 69 74 20 77 69 74 68 0a 23 20 63 6f 70  ls it with.# cop
a6b0: 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 68  ies of all of th
a6c0: 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20  e C source code 
a6d0: 61 6e 64 20 68 65 61 64 65 72 20 66 69 6c 65 73  and header files
a6e0: 20 6e 65 65 64 65 64 20 74 6f 0a 23 20 62 75 69   needed to.# bui
a6f0: 6c 64 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74  ld on the target
a700: 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d 65 20 6f   system.  Some o
a710: 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 63  f the C source c
a720: 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 0a 23  ode and header.#
a730: 20 66 69 6c 65 73 20 61 72 65 20 61 75 74 6f 6d   files are autom
a740: 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74  atically generat
a750: 65 64 2e 20 20 54 68 69 73 20 74 61 72 67 65 74  ed.  This target
a760: 20 74 61 6b 65 73 20 63 61 72 65 20 6f 66 0a 23   takes care of.#
a770: 20 61 6c 6c 20 74 68 61 74 20 61 75 74 6f 6d 61   all that automa
a780: 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e 2e 0a  tic generation..
a790: 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65  #..target_source
a7a0: 3a 09 24 28 53 52 43 29 20 24 28 54 4f 50 29 5c  :.$(SRC) $(TOP)\
a7b0: 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65  tool\vdbe-compre
a7c0: 73 73 2e 74 63 6c 20 66 74 73 35 2e 63 20 24 28  ss.tcl fts5.c $(
a7d0: 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a  SQLITE_TCL_DEP).
a7e0: 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72  .-rmdir /Q/S tsr
a7f0: 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20  c 2>NUL..-mkdir 
a800: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
a810: 28 24 28 53 52 43 30 30 29 29 20 64 6f 20 63 6f  ($(SRC00)) do co
a820: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
a830: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
a840: 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  1)) do copy /Y %
a850: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
a860: 6e 20 28 24 28 53 52 43 30 32 29 29 20 64 6f 20  n ($(SRC02)) do 
a870: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
a880: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
a890: 43 30 33 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C03)) do copy /Y
a8a0: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
a8b0: 20 69 6e 20 28 24 28 53 52 43 30 34 29 29 20 64   in ($(SRC04)) d
a8c0: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
a8d0: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
a8e0: 53 52 43 30 35 29 29 20 64 6f 20 63 6f 70 79 20  SRC05)) do copy 
a8f0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
a900: 25 69 20 69 6e 20 28 24 28 53 52 43 30 36 29 29  %i in ($(SRC06))
a910: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
a920: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
a930: 24 28 53 52 43 30 37 29 29 20 64 6f 20 63 6f 70  $(SRC07)) do cop
a940: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
a950: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 38  r %i in ($(SRC08
a960: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
a970: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
a980: 20 28 24 28 53 52 43 30 39 29 29 20 64 6f 20 63   ($(SRC09)) do c
a990: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
a9a0: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
a9b0: 31 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  10)) do copy /Y 
a9c0: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
a9d0: 69 6e 20 28 24 28 53 52 43 31 31 29 29 20 64 6f  in ($(SRC11)) do
a9e0: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
a9f0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
aa00: 52 43 31 32 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC12)) do copy /
aa10: 59 20 25 69 20 74 73 72 63 0a 09 63 6f 70 79 20  Y %i tsrc..copy 
aa20: 2f 59 20 66 74 73 35 2e 63 20 74 73 72 63 0a 09  /Y fts5.c tsrc..
aa30: 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 68 20 74  copy /Y fts5.h t
aa40: 73 72 63 0a 09 64 65 6c 20 2f 51 20 74 73 72 63  src..del /Q tsrc
aa50: 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72  \sqlite.h.in tsr
aa60: 63 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a  c\parse.y 2>NUL.
aa70: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
aa80: 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63  TOP)\tool\vdbe-c
aa90: 6f 6d 70 72 65 73 73 2e 74 63 6c 20 24 28 4f 50  ompress.tcl $(OP
aaa0: 54 53 29 20 3c 20 74 73 72 63 5c 76 64 62 65 2e  TS) < tsrc\vdbe.
aab0: 63 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f  c > vdbe.new..mo
aac0: 76 65 20 76 64 62 65 2e 6e 65 77 20 74 73 72 63  ve vdbe.new tsrc
aad0: 5c 76 64 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20  \vdbe.c..echo > 
aae0: 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a  .target_source..
aaf0: 73 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61 72 67  sqlite3.c:..targ
ab00: 65 74 5f 73 6f 75 72 63 65 20 73 71 6c 69 74 65  et_source sqlite
ab10: 33 65 78 74 2e 68 20 24 28 4d 4b 53 51 4c 49 54  3ext.h $(MKSQLIT
ab20: 45 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 54 43 4c  E3C_TOOL)..$(TCL
ab30: 53 48 5f 43 4d 44 29 20 24 28 4d 4b 53 51 4c 49  SH_CMD) $(MKSQLI
ab40: 54 45 33 43 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53  TE3C_TOOL) $(MKS
ab50: 51 4c 49 54 45 33 43 5f 41 52 47 53 29 0a 09 63  QLITE3C_ARGS)..c
ab60: 6f 70 79 20 74 73 72 63 5c 73 68 65 6c 6c 2e 63  opy tsrc\shell.c
ab70: 20 2e 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c   ...copy $(TOP)\
ab80: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
ab90: 74 65 33 73 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a  te3session.h ...
aba0: 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 3a 09 73  sqlite3-all.c:.s
abb0: 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29 5c  qlite3.c $(TOP)\
abc0: 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74  tool\split-sqlit
abd0: 65 33 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48  e3c.tcl..$(TCLSH
abe0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
abf0: 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63  l\split-sqlite3c
ac00: 2e 74 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  .tcl.# <</mark>>
ac10: 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c  ..# Rule to buil
ac20: 64 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69  d the amalgamati
ac30: 6f 6e 0a 23 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a  on.#.sqlite3.lo:
ac40: 09 24 28 53 51 4c 49 54 45 33 43 29 0a 09 24 28  .$(SQLITE3C)..$(
ac50: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ac60: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
ac70: 2d 63 20 24 28 53 51 4c 49 54 45 33 43 29 0a 0a  -c $(SQLITE3C)..
ac80: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c  # <<mark>>.# Rul
ac90: 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  es to build the 
aca0: 4c 45 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72 20 67  LEMON compiler g
acb0: 65 6e 65 72 61 74 6f 72 0a 23 0a 6c 65 6d 70 61  enerator.#.lempa
acc0: 72 2e 63 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  r.c:.$(TOP)\tool
acd0: 5c 6c 65 6d 70 61 72 2e 63 0a 09 63 6f 70 79 20  \lempar.c..copy 
ace0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70  $(TOP)\tool\lemp
acf0: 61 72 2e 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78  ar.c ...lemon.ex
ad00: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  e:.$(TOP)\tool\l
ad10: 65 6d 6f 6e 2e 63 20 6c 65 6d 70 61 72 2e 63 0a  emon.c lempar.c.
ad20: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC) $(NO_WAR
ad30: 4e 29 20 2d 44 61 63 63 65 73 73 3d 5f 61 63 63  N) -Daccess=_acc
ad40: 65 73 73 20 5c 0a 09 09 2d 46 65 24 40 20 24 28  ess \...-Fe$@ $(
ad50: 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e  TOP)\tool\lemon.
ad60: 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG
ad70: 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53  S) $(NLTLINKOPTS
ad80: 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29  ) $(NLTLIBPATHS)
ad90: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
ada0: 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e  ld individual *.
adb0: 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 67 65  lo files from ge
adc0: 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69 6c 65  nerated *.c file
add0: 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c 69 65  s. This.# applie
ade0: 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61  s to:.#.#     pa
adf0: 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63  rse.lo.#     opc
ae00: 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e  odes.lo.#.parse.
ae10: 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28 48 44  lo:.parse.c $(HD
ae20: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
ae30: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
ae40: 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65 2e 63  OPTS) -c parse.c
ae50: 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70  ..opcodes.lo:.op
ae60: 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d  codes.c..$(LTCOM
ae70: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
ae80: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70  PILE_OPTS) -c op
ae90: 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72  codes.c.# <</mar
aea0: 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62  k>>..# Rule to b
aeb0: 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32 20 72  uild the Win32 r
aec0: 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63 74 20  esources object 
aed0: 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53  file..#.!IF $(US
aee0: 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f  E_RC)!=0.# <<blo
aef0: 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42  ck1>>.$(LIBRESOB
af00: 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  JS):.$(TOP)\src\
af10: 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53 51 4c  sqlite3.rc $(SQL
af20: 49 54 45 33 48 29 0a 09 65 63 68 6f 20 23 69 66  ITE3H)..echo #if
af30: 6e 64 65 66 20 53 51 4c 49 54 45 5f 52 45 53 4f  ndef SQLITE_RESO
af40: 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73  URCE_VERSION > s
af50: 71 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f 72 20  qlite3rc.h..for 
af60: 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 65  /F %%V in ('type
af70: 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e   "$(TOP)\VERSION
af80: 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 68  "') do ( \...ech
af90: 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45  o #define SQLITE
afa0: 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f  _RESOURCE_VERSIO
afb0: 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 24 28 54  N %%V \....| $(T
afc0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
afd0: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
afe0: 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20  l exact . ^, >> 
aff0: 73 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09 29  sqlite3rc.h \..)
b000: 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e  ..echo #endif >>
b010: 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 24 28   sqlite3rc.h..$(
b020: 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20  LTRCOMPILE) -fo 
b030: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
b040: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33  TOP)\src\sqlite3
b050: 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e  .rc.# <</block1>
b060: 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  >.!ENDIF..# <<ma
b070: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to 
b080: 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c  build individual
b090: 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d   *.lo files from
b0a0: 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73 72   files in the sr
b0b0: 63 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61  c directory..#.a
b0c0: 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lter.lo:.$(TOP)\
b0d0: 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 28 48 44  src\alter.c $(HD
b0e0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
b0f0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
b100: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
b110: 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61  src\alter.c..ana
b120: 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lyze.lo:.$(TOP)\
b130: 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28  src\analyze.c $(
b140: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
b150: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
b160: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
b170: 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a  )\src\analyze.c.
b180: 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f  .attach.lo:.$(TO
b190: 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20  P)\src\attach.c 
b1a0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b1b0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b1c0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b1d0: 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63  OP)\src\attach.c
b1e0: 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50  ..auth.lo:.$(TOP
b1f0: 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 28 48  )\src\auth.c $(H
b200: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
b210: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
b220: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
b230: 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63  \src\auth.c..bac
b240: 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  kup.lo:.$(TOP)\s
b250: 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48 44  rc\backup.c $(HD
b260: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
b270: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
b280: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
b290: 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69  src\backup.c..bi
b2a0: 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tvec.lo:.$(TOP)\
b2b0: 73 72 63 5c 62 69 74 76 65 63 2e 63 20 24 28 48  src\bitvec.c $(H
b2c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
b2d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
b2e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
b2f0: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62  \src\bitvec.c..b
b300: 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50  tmutex.lo:.$(TOP
b310: 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20  )\src\btmutex.c 
b320: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b330: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b340: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b350: 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e  OP)\src\btmutex.
b360: 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54  c..btree.lo:.$(T
b370: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20  OP)\src\btree.c 
b380: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72  $(HDR) $(TOP)\sr
b390: 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43  c\pager.h..$(LTC
b3a0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b3b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b3c0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
b3d0: 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28  .c..build.lo:.$(
b3e0: 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63  TOP)\src\build.c
b3f0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b400: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b410: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b420: 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63  TOP)\src\build.c
b430: 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24  ..callback.lo:.$
b440: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
b450: 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ck.c $(HDR)..$(L
b460: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
b470: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b480: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c  c $(TOP)\src\cal
b490: 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74  lback.c..complet
b4a0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
b4b0: 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 44  \complete.c $(HD
b4c0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
b4d0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
b4e0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
b4f0: 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a  src\complete.c..
b500: 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  ctime.lo:.$(TOP)
b510: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 24 28 48  \src\ctime.c $(H
b520: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
b530: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
b540: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
b550: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61  \src\ctime.c..da
b560: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  te.lo:.$(TOP)\sr
b570: 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a  c\date.c $(HDR).
b580: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
b590: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b5a0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
b5b0: 5c 64 61 74 65 2e 63 0a 0a 64 62 73 74 61 74 2e  \date.c..dbstat.
b5c0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64  lo:.$(TOP)\src\d
b5d0: 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ate.c $(HDR)..$(
b5e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b5f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b600: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62  -c $(TOP)\src\db
b610: 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c  stat.c..delete.l
b620: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 65  o:.$(TOP)\src\de
b630: 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24  lete.c $(HDR)..$
b640: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
b650: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b660: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64   -c $(TOP)\src\d
b670: 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f  elete.c..expr.lo
b680: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70  :.$(TOP)\src\exp
b690: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  r.c $(HDR)..$(LT
b6a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
b6b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b6c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72   $(TOP)\src\expr
b6d0: 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28  .c..fault.lo:.$(
b6e0: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63  TOP)\src\fault.c
b6f0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b700: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b710: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b720: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63  TOP)\src\fault.c
b730: 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50  ..fkey.lo:.$(TOP
b740: 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24 28 48  )\src\fkey.c $(H
b750: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
b760: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
b770: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
b780: 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e  \src\fkey.c..fun
b790: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  c.lo:.$(TOP)\src
b7a0: 5c 66 75 6e 63 2e 63 20 24 28 48 44 52 29 0a 09  \func.c $(HDR)..
b7b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
b7c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b7d0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
b7e0: 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c  func.c..global.l
b7f0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c  o:.$(TOP)\src\gl
b800: 6f 62 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24  obal.c $(HDR)..$
b810: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
b820: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b830: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 67   -c $(TOP)\src\g
b840: 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f  lobal.c..hash.lo
b850: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73  :.$(TOP)\src\has
b860: 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.c $(HDR)..$(LT
b870: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
b880: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b890: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68   $(TOP)\src\hash
b8a0: 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24  .c..insert.lo:.$
b8b0: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74  (TOP)\src\insert
b8c0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b8d0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b8e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b8f0: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72  $(TOP)\src\inser
b900: 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09  t.c..legacy.lo:.
b910: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63  $(TOP)\src\legac
b920: 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  y.c $(HDR)..$(LT
b930: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
b940: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b950: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61   $(TOP)\src\lega
b960: 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f  cy.c..loadext.lo
b970: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61  :.$(TOP)\src\loa
b980: 64 65 78 74 2e 63 20 24 28 48 44 52 29 0a 09 24  dext.c $(HDR)..$
b990: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
b9a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b9b0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c   -c $(TOP)\src\l
b9c0: 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c  oadext.c..main.l
b9d0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  o:.$(TOP)\src\ma
b9e0: 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  in.c $(HDR)..$(L
b9f0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
ba00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ba10: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69  c $(TOP)\src\mai
ba20: 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09  n.c..malloc.lo:.
ba30: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f  $(TOP)\src\mallo
ba40: 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  c.c $(HDR)..$(LT
ba50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
ba60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
ba70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c   $(TOP)\src\mall
ba80: 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24  oc.c..mem0.lo:.$
ba90: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63  (TOP)\src\mem0.c
baa0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
bab0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
bac0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
bad0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a  TOP)\src\mem0.c.
bae0: 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  .mem1.lo:.$(TOP)
baf0: 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44  \src\mem1.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 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32  src\mem1.c..mem2
bb40: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
bb50: 6d 65 6d 32 2e 63 20 24 28 48 44 52 29 0a 09 24  mem2.c $(HDR)..$
bb60: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
bb70: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
bb80: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
bb90: 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09  em2.c..mem3.lo:.
bba0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e  $(TOP)\src\mem3.
bbb0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
bbc0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
bbd0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
bbe0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63  (TOP)\src\mem3.c
bbf0: 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50  ..mem5.lo:.$(TOP
bc00: 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48  )\src\mem5.c $(H
bc10: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
bc20: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
bc30: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
bc40: 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d  \src\mem5.c..mem
bc50: 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f  journal.lo:.$(TO
bc60: 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61  P)\src\memjourna
bc70: 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  l.c $(HDR)..$(LT
bc80: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
bc90: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
bca0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a   $(TOP)\src\memj
bcb0: 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e  ournal.c..mutex.
bcc0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
bcd0: 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24  utex.c $(HDR)..$
bce0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
bcf0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
bd00: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
bd10: 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f  utex.c..mutex_no
bd20: 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  op.lo:.$(TOP)\sr
bd30: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24  c\mutex_noop.c $
bd40: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
bd50: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
bd60: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
bd70: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f  P)\src\mutex_noo
bd80: 70 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e  p.c..mutex_unix.
bd90: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
bda0: 75 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 44  utex_unix.c $(HD
bdb0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
bdc0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
bdd0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
bde0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
bdf0: 0a 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09  ..mutex_w32.lo:.
be00: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
be10: 5f 77 33 32 2e 63 20 24 28 48 44 52 29 0a 09 24  _w32.c $(HDR)..$
be20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
be30: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
be40: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m
be50: 75 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69  utex_w32.c..noti
be60: 66 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  fy.lo:.$(TOP)\sr
be70: 63 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 44 52  c\notify.c $(HDR
be80: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
be90: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
bea0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
beb0: 72 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67  rc\notify.c..pag
bec0: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  er.lo:.$(TOP)\sr
bed0: 63 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52 29  c\pager.c $(HDR)
bee0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page
bef0: 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  r.h..$(LTCOMPILE
bf00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
bf10: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
bf20: 5c 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63  \src\pager.c..pc
bf30: 61 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ache.lo:.$(TOP)\
bf40: 73 72 63 5c 70 63 61 63 68 65 2e 63 20 24 28 48  src\pcache.c $(H
bf50: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  DR) $(TOP)\src\p
bf60: 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d  cache.h..$(LTCOM
bf70: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
bf80: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
bf90: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e  TOP)\src\pcache.
bfa0: 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24  c..pcache1.lo:.$
bfb0: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
bfc0: 31 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50  1.c $(HDR) $(TOP
bfd0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09  )\src\pcache.h..
bfe0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
bff0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c000: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c010: 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f  pcache1.c..os.lo
c020: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e  :.$(TOP)\src\os.
c030: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c040: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c050: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c060: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a  (TOP)\src\os.c..
c070: 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f  os_unix.lo:.$(TO
c080: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
c090: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c0a0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c0b0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c0c0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78  TOP)\src\os_unix
c0d0: 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24  .c..os_win.lo:.$
c0e0: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
c0f0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c100: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c110: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c120: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi
c130: 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09  n.c..pragma.lo:.
c140: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d  $(TOP)\src\pragm
c150: 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  a.c $(HDR)..$(LT
c160: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c170: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c180: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag
c190: 6d 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f  ma.c..prepare.lo
c1a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65  :.$(TOP)\src\pre
c1b0: 70 61 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24  pare.c $(HDR)..$
c1c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c1d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c1e0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p
c1f0: 72 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66  repare.c..printf
c200: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c210: 70 72 69 6e 74 66 2e 63 20 24 28 48 44 52 29 0a  printf.c $(HDR).
c220: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c230: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c240: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c250: 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f  \printf.c..rando
c260: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  m.lo:.$(TOP)\src
c270: 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29  \random.c $(HDR)
c280: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c290: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c2a0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c2b0: 63 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f  c\random.c..reso
c2c0: 6c 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  lve.lo:.$(TOP)\s
c2d0: 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28 48  rc\resolve.c $(H
c2e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c2f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c300: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c310: 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a  \src\resolve.c..
c320: 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50  rowset.lo:.$(TOP
c330: 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 24  )\src\rowset.c $
c340: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c350: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c360: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c370: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a  P)\src\rowset.c.
c380: 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f  .select.lo:.$(TO
c390: 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20  P)\src\select.c 
c3a0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c3b0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c3c0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c3d0: 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63  OP)\src\select.c
c3e0: 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54  ..status.lo:.$(T
c3f0: 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63  OP)\src\status.c
c400: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c410: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c420: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c430: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e  TOP)\src\status.
c440: 63 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54  c..table.lo:.$(T
c450: 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20  OP)\src\table.c 
c460: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c470: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c480: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c490: 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 0a  OP)\src\table.c.
c4a0: 0a 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54  .threads.lo:.$(T
c4b0: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e  OP)\src\threads.
c4c0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c4d0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c4e0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c4f0: 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64  (TOP)\src\thread
c500: 73 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f  s.c..tokenize.lo
c510: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b  :.$(TOP)\src\tok
c520: 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68  enize.c keywordh
c530: 61 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28  ash.h $(HDR)..$(
c540: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c550: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c560: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f  -c $(TOP)\src\to
c570: 6b 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69  kenize.c..treevi
c580: 65 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ew.lo:.$(TOP)\sr
c590: 63 5c 74 72 65 65 76 69 65 77 2e 63 20 24 28 48  c\treeview.c $(H
c5a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c5b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c5c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c5d0: 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 0a  \src\treeview.c.
c5e0: 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54  .trigger.lo:.$(T
c5f0: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e  OP)\src\trigger.
c600: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c610: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c620: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c630: 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65  (TOP)\src\trigge
c640: 72 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09  r.c..update.lo:.
c650: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74  $(TOP)\src\updat
c660: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
c670: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c680: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c690: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61   $(TOP)\src\upda
c6a0: 74 65 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28  te.c..utf.lo:.$(
c6b0: 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 24  TOP)\src\utf.c $
c6c0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c6d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c6e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c6f0: 50 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75 74  P)\src\utf.c..ut
c700: 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  il.lo:.$(TOP)\sr
c710: 63 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 29 0a  c\util.c $(HDR).
c720: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c730: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c740: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c750: 5c 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e  \util.c..vacuum.
c760: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v
c770: 61 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a 09  acuum.c $(HDR)..
c780: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c790: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c7a0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c7b0: 76 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c  vacuum.c..vdbe.l
c7c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd
c7d0: 62 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  be.c $(HDR)..$(L
c7e0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c7f0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c800: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb
c810: 65 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f 3a  e.c..vdbeapi.lo:
c820: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
c830: 61 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24 28  api.c $(HDR)..$(
c840: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c850: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c860: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
c870: 62 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75 78  beapi.c..vdbeaux
c880: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c890: 76 64 62 65 61 75 78 2e 63 20 24 28 48 44 52 29  vdbeaux.c $(HDR)
c8a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c8b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c8c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c8d0: 63 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 64 62  c\vdbeaux.c..vdb
c8e0: 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50 29  eblob.lo:.$(TOP)
c8f0: 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20  \src\vdbeblob.c 
c900: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c910: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c920: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c930: 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62  OP)\src\vdbeblob
c940: 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09  .c..vdbemem.lo:.
c950: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d  $(TOP)\src\vdbem
c960: 65 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  em.c $(HDR)..$(L
c970: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c980: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c990: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb
c9a0: 65 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72 74  emem.c..vdbesort
c9b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c9c0: 76 64 62 65 73 6f 72 74 2e 63 20 24 28 48 44 52  vdbesort.c $(HDR
c9d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c9e0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c9f0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
ca00: 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76  rc\vdbesort.c..v
ca10: 64 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54  dbetrace.lo:.$(T
ca20: 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63  OP)\src\vdbetrac
ca30: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
ca40: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
ca50: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
ca60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
ca70: 74 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f  trace.c..vtab.lo
ca80: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61  :.$(TOP)\src\vta
ca90: 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  b.c $(HDR)..$(LT
caa0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cab0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cac0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62   $(TOP)\src\vtab
cad0: 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f  .c..wal.lo:.$(TO
cae0: 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28 48  P)\src\wal.c $(H
caf0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
cb00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
cb10: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
cb20: 5c 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b  \src\wal.c..walk
cb30: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  er.lo:.$(TOP)\sr
cb40: 63 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48 44 52  c\walker.c $(HDR
cb50: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
cb60: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
cb70: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
cb80: 72 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68 65  rc\walker.c..whe
cb90: 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  re.lo:.$(TOP)\sr
cba0: 63 5c 77 68 65 72 65 2e 63 20 24 28 48 44 52 29  c\where.c $(HDR)
cbb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cbc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cbd0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
cbe0: 63 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 72 65  c\where.c..where
cbf0: 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  code.lo:.$(TOP)\
cc00: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20  src\wherecode.c 
cc10: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cc20: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
cc30: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
cc40: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64  OP)\src\wherecod
cc50: 65 2e 63 0a 0a 77 68 65 72 65 65 78 70 72 2e 6c  e.c..whereexpr.l
cc60: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  o:.$(TOP)\src\wh
cc70: 65 72 65 65 78 70 72 2e 63 20 24 28 48 44 52 29  ereexpr.c $(HDR)
cc80: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cc90: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cca0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
ccb0: 63 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 74  c\whereexpr.c..t
ccc0: 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54  clsqlite.lo:.$(T
ccd0: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
cce0: 65 2e 63 20 24 28 48 44 52 29 20 24 28 53 51 4c  e.c $(HDR) $(SQL
ccf0: 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28  ITE_TCL_DEP)..$(
cd00: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f  LTCOMPILE) $(NO_
cd10: 57 41 52 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f  WARN) -DUSE_TCL_
cd20: 53 54 55 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f  STUBS=1 -DBUILD_
cd30: 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN
cd40: 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c  CDIR) -c $(TOP)\
cd50: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a  src\tclsqlite.c.
cd60: 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c  .tclsqlite-shell
cd70: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cd80: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44  tclsqlite.c $(HD
cd90: 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f  R) $(SQLITE_TCL_
cda0: 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  DEP)..$(LTCOMPIL
cdb0: 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  E) $(NO_WARN) -D
cdc0: 54 43 4c 53 48 3d 31 20 2d 44 42 55 49 4c 44 5f  TCLSH=1 -DBUILD_
cdd0: 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN
cde0: 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c  CDIR) -c $(TOP)\
cdf0: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a  src\tclsqlite.c.
ce00: 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a  .tclsqlite3.exe:
ce10: 09 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c  .tclsqlite-shell
ce20: 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33 43 29 20  .lo $(SQLITE3C) 
ce30: 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49  $(SQLITE3H) $(LI
ce40: 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c  BRESOBJS)..$(LTL
ce50: 49 4e 4b 29 20 24 28 53 51 4c 49 54 45 33 43 29  INK) $(SQLITE3C)
ce60: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
ce70: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
ce80: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f  $(LTLIBPATHS) /O
ce90: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2d  UT:$@ tclsqlite-
cea0: 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45  shell.lo $(LIBRE
ceb0: 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29  SOBJS) $(LTLIBS)
cec0: 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 52 75 6c   $(TLIBS)..# Rul
ced0: 65 73 20 74 6f 20 62 75 69 6c 64 20 6f 70 63 6f  es to build opco
cee0: 64 65 73 2e 63 20 61 6e 64 20 6f 70 63 6f 64 65  des.c and opcode
cef0: 73 2e 68 0a 23 0a 6f 70 63 6f 64 65 73 2e 63 3a  s.h.#.opcodes.c:
cf00: 09 6f 70 63 6f 64 65 73 2e 68 20 24 28 54 4f 50  .opcodes.h $(TOP
cf10: 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63  )\tool\mkopcodec
cf20: 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d  .tcl..$(TCLSH_CM
cf30: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  D) $(TOP)\tool\m
cf40: 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 20 6f 70 63  kopcodec.tcl opc
cf50: 6f 64 65 73 2e 68 20 3e 20 6f 70 63 6f 64 65 73  odes.h > opcodes
cf60: 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 68 3a 09 70  .c..opcodes.h:.p
cf70: 61 72 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72  arse.h $(TOP)\sr
cf80: 63 5c 76 64 62 65 2e 63 20 24 28 54 4f 50 29 5c  c\vdbe.c $(TOP)\
cf90: 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74  tool\mkopcodeh.t
cfa0: 63 6c 0a 09 74 79 70 65 20 70 61 72 73 65 2e 68  cl..type parse.h
cfb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
cfc0: 2e 63 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  .c | $(TCLSH_CMD
cfd0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk
cfe0: 6f 70 63 6f 64 65 68 2e 74 63 6c 20 3e 20 6f 70  opcodeh.tcl > op
cff0: 63 6f 64 65 73 2e 68 0a 0a 23 20 52 75 6c 65 73  codes.h..# Rules
d000: 20 74 6f 20 62 75 69 6c 64 20 70 61 72 73 65 2e   to build parse.
d010: 63 20 61 6e 64 20 70 61 72 73 65 2e 68 20 2d 20  c and parse.h - 
d020: 74 68 65 20 6f 75 74 70 75 74 73 20 6f 66 20 6c  the outputs of l
d030: 65 6d 6f 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 3a  emon..#.parse.h:
d040: 09 70 61 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e  .parse.c..parse.
d050: 63 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  c:.$(TOP)\src\pa
d060: 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 20  rse.y lemon.exe 
d070: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f  $(TOP)\tool\addo
d080: 70 63 6f 64 65 73 2e 74 63 6c 0a 09 64 65 6c 20  pcodes.tcl..del 
d090: 2f 51 20 70 61 72 73 65 2e 79 20 70 61 72 73 65  /Q parse.y parse
d0a0: 2e 68 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 20  .h parse.h.temp 
d0b0: 32 3e 4e 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f  2>NUL..copy $(TO
d0c0: 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 2e  P)\src\parse.y .
d0d0: 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28  ...\lemon.exe $(
d0e0: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
d0f0: 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45  S) $(OPT_FEATURE
d100: 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45  _FLAGS) $(EXT_FE
d110: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O
d120: 50 54 53 29 20 70 61 72 73 65 2e 79 0a 09 6d 6f  PTS) parse.y..mo
d130: 76 65 20 70 61 72 73 65 2e 68 20 70 61 72 73 65  ve parse.h parse
d140: 2e 68 2e 74 65 6d 70 0a 09 24 28 54 43 4c 53 48  .h.temp..$(TCLSH
d150: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
d160: 6c 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c  l\addopcodes.tcl
d170: 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 3e 20   parse.h.temp > 
d180: 70 61 72 73 65 2e 68 0a 0a 24 28 53 51 4c 49 54  parse.h..$(SQLIT
d190: 45 33 48 29 3a 09 24 28 54 4f 50 29 5c 73 72 63  E3H):.$(TOP)\src
d1a0: 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 24 28 54  \sqlite.h.in $(T
d1b0: 4f 50 29 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69  OP)\manifest.uui
d1c0: 64 20 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e  d $(TOP)\VERSION
d1d0: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
d1e0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c  (TOP)\tool\mksql
d1f0: 69 74 65 33 68 2e 74 63 6c 20 24 28 54 4f 50 3a  ite3h.tcl $(TOP:
d200: 5c 3d 2f 29 20 3e 20 24 28 53 51 4c 49 54 45 33  \=/) > $(SQLITE3
d210: 48 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 48 5f  H) $(MKSQLITE3H_
d220: 41 52 47 53 29 0a 0a 73 71 6c 69 74 65 33 65 78  ARGS)..sqlite3ex
d230: 74 2e 68 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75  t.h:..target_sou
d240: 72 63 65 0a 21 49 46 20 24 28 55 53 45 5f 53 54  rce.!IF $(USE_ST
d250: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  DCALL)!=0 || $(F
d260: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 09 74 79  OR_WIN10)!=0..ty
d270: 70 65 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65  pe tsrc\sqlite3e
d280: 78 74 2e 68 20 7c 20 24 28 54 43 4c 53 48 5f 43  xt.h | $(TCLSH_C
d290: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
d2a0: 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
d2b0: 75 62 20 22 5c 28 5c 2a 5c 29 22 20 22 28 53 51  ub "\(\*\)" "(SQ
d2c0: 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 20 2a 29  LITE_CALLBACK *)
d2d0: 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  " \...| $(TCLSH_
d2e0: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool
d2f0: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67  \replace.tcl reg
d300: 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c  sub "\(\*" "(SQL
d310: 49 54 45 5f 41 50 49 43 41 4c 4c 20 2a 22 20 3e  ITE_APICALL *" >
d320: 20 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 09 63   sqlite3ext.h..c
d330: 6f 70 79 20 2f 59 20 73 71 6c 69 74 65 33 65 78  opy /Y sqlite3ex
d340: 74 2e 68 20 74 73 72 63 5c 73 71 6c 69 74 65 33  t.h tsrc\sqlite3
d350: 65 78 74 2e 68 0a 21 45 4c 53 45 0a 09 63 6f 70  ext.h.!ELSE..cop
d360: 79 20 2f 59 20 74 73 72 63 5c 73 71 6c 69 74 65  y /Y tsrc\sqlite
d370: 33 65 78 74 2e 68 20 73 71 6c 69 74 65 33 65 78  3ext.h sqlite3ex
d380: 74 2e 68 0a 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65  t.h.!ENDIF..mkke
d390: 79 77 6f 72 64 68 61 73 68 2e 65 78 65 3a 09 24  ywordhash.exe:.$
d3a0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79  (TOP)\tool\mkkey
d3b0: 77 6f 72 64 68 61 73 68 2e 63 0a 09 24 28 42 43  wordhash.c..$(BC
d3c0: 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46  C) $(NO_WARN) -F
d3d0: 65 24 40 20 24 28 52 45 51 5f 46 45 41 54 55 52  e$@ $(REQ_FEATUR
d3e0: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46  E_FLAGS) $(OPT_F
d3f0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $(
d400: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
d410: 53 29 20 24 28 4f 50 54 53 29 20 5c 0a 09 09 24  S) $(OPTS) \...$
d420: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79  (TOP)\tool\mkkey
d430: 77 6f 72 64 68 61 73 68 2e 63 20 2f 6c 69 6e 6b  wordhash.c /link
d440: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c   $(LDFLAGS) $(NL
d450: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54  TLINKOPTS) $(NLT
d460: 4c 49 42 50 41 54 48 53 29 0a 0a 6b 65 79 77 6f  LIBPATHS)..keywo
d470: 72 64 68 61 73 68 2e 68 3a 09 24 28 54 4f 50 29  rdhash.h:.$(TOP)
d480: 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68  \tool\mkkeywordh
d490: 61 73 68 2e 63 20 6d 6b 6b 65 79 77 6f 72 64 68  ash.c mkkeywordh
d4a0: 61 73 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79  ash.exe...\mkkey
d4b0: 77 6f 72 64 68 61 73 68 2e 65 78 65 20 3e 20 6b  wordhash.exe > k
d4c0: 65 79 77 6f 72 64 68 61 73 68 2e 68 0a 0a 0a 0a  eywordhash.h....
d4d0: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
d4e0: 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f   the extension o
d4f0: 62 6a 65 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f  bjects..#.icu.lo
d500: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75  :.$(TOP)\ext\icu
d510: 5c 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28  \icu.c $(HDR) $(
d520: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
d530: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d540: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
d550: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
d560: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
d570: 74 5c 69 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73  t\icu\icu.c..fts
d580: 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  2.lo:.$(TOP)\ext
d590: 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 24 28 48  \fts2\fts2.c $(H
d5a0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
d5b0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d5c0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d5d0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
d5e0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
d5f0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
d600: 32 2e 63 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c  2.c..fts2_hash.l
d610: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
d620: 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 24  s2\fts2_hash.c $
d630: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
d640: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
d650: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d660: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
d670: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
d680: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
d690: 74 73 32 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32  ts2_hash.c..fts2
d6a0: 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  _icu.lo:.$(TOP)\
d6b0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63  ext\fts2\fts2_ic
d6c0: 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  u.c $(HDR) $(EXT
d6d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
d6e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
d6f0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
d700: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
d710: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
d720: 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a  ts2\fts2_icu.c..
d730: 66 74 73 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09  fts2_porter.lo:.
d740: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
d750: 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 24 28  fts2_porter.c $(
d760: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
d770: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
d780: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d790: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
d7a0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
d7b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
d7c0: 73 32 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73  s2_porter.c..fts
d7d0: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09  2_tokenizer.lo:.
d7e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
d7f0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63  fts2_tokenizer.c
d800: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
d810: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
d820: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
d830: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
d840: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
d850: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
d860: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
d870: 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  c..fts2_tokenize
d880: 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  r1.lo:.$(TOP)\ex
d890: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
d8a0: 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20  nizer1.c $(HDR) 
d8b0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
d8c0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d8d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
d8e0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
d8f0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
d900: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
d910: 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33  kenizer1.c..fts3
d920: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
d930: 66 74 73 33 5c 66 74 73 33 2e 63 20 24 28 48 44  fts3\fts3.c $(HD
d940: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
d950: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d960: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
d970: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
d980: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
d990: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
d9a0: 2e 63 0a 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a  .c..fts3_aux.lo:
d9b0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
d9c0: 5c 66 74 73 33 5f 61 75 78 2e 63 20 24 28 48 44  \fts3_aux.c $(HD
d9d0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
d9e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
d9f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
da00: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
da10: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
da20: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
da30: 5f 61 75 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70  _aux.c..fts3_exp
da40: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  r.lo:.$(TOP)\ext
da50: 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e  \fts3\fts3_expr.
da60: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
da70: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
da80: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
da90: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
daa0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
dab0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
dac0: 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66  3\fts3_expr.c..f
dad0: 74 73 33 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54  ts3_hash.lo:.$(T
dae0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
daf0: 33 5f 68 61 73 68 2e 63 20 24 28 48 44 52 29 20  3_hash.c $(HDR) 
db00: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
db10: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
db20: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
db30: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
db40: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
db50: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
db60: 73 68 2e 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c  sh.c..fts3_icu.l
db70: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
db80: 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20 24 28  s3\fts3_icu.c $(
db90: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
dba0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
dbb0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
dbc0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
dbd0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
dbe0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
dbf0: 73 33 5f 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73  s3_icu.c..fts3_s
dc00: 6e 69 70 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50  nippet.lo:.$(TOP
dc10: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
dc20: 73 6e 69 70 70 65 74 2e 63 20 24 28 48 44 52 29  snippet.c $(HDR)
dc30: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
dc40: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
dc50: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
dc60: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
dc70: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
dc80: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73  \ext\fts3\fts3_s
dc90: 6e 69 70 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70  nippet.c..fts3_p
dca0: 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  orter.lo:.$(TOP)
dcb0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70  \ext\fts3\fts3_p
dcc0: 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29 20 24  orter.c $(HDR) $
dcd0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
dce0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
dcf0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
dd00: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
dd10: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
dd20: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72  xt\fts3\fts3_por
dd30: 74 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65  ter.c..fts3_toke
dd40: 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  nizer.lo:.$(TOP)
dd50: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
dd60: 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52  okenizer.c $(HDR
dd70: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
dd80: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
dd90: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
dda0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
ddb0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
ddc0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
ddd0: 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73  tokenizer.c..fts
dde0: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a  3_tokenizer1.lo:
ddf0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
de00: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts3_tokenizer1
de10: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
de20: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
de30: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
de40: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
de50: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
de60: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
de70: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
de80: 72 31 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e  r1.c..fts3_token
de90: 69 7a 65 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54  ize_vtab.lo:.$(T
dea0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
deb0: 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e  3_tokenize_vtab.
dec0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
ded0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
dee0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
def0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
df00: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
df10: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
df20: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f  3\fts3_tokenize_
df30: 76 74 61 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69  vtab.c..fts3_uni
df40: 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  code.lo:.$(TOP)\
df50: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e  ext\fts3\fts3_un
df60: 69 63 6f 64 65 2e 63 20 24 28 48 44 52 29 20 24  icode.c $(HDR) $
df70: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
df80: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
df90: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
dfa0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
dfb0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
dfc0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69  xt\fts3\fts3_uni
dfd0: 63 6f 64 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69  code.c..fts3_uni
dfe0: 63 6f 64 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29  code2.lo:.$(TOP)
dff0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75  \ext\fts3\fts3_u
e000: 6e 69 63 6f 64 65 32 2e 63 20 24 28 48 44 52 29  nicode2.c $(HDR)
e010: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
e020: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
e030: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
e040: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
e050: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
e060: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75  \ext\fts3\fts3_u
e070: 6e 69 63 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f  nicode2.c..fts3_
e080: 77 72 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  write.lo:.$(TOP)
e090: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77  \ext\fts3\fts3_w
e0a0: 72 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28  rite.c $(HDR) $(
e0b0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
e0c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
e0d0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
e0e0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
e0f0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
e100: 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74  t\fts3\fts3_writ
e110: 65 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09 24  e.c..rtree.lo:.$
e120: 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c  (TOP)\ext\rtree\
e130: 72 74 72 65 65 2e 63 20 24 28 48 44 52 29 20 24  rtree.c $(HDR) $
e140: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
e150: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e160: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
e170: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
e180: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
e190: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
e1a0: 0a 0a 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  ..sqlite3session
e1b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
e1c0: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
e1d0: 65 73 73 69 6f 6e 2e 63 20 24 28 48 44 52 29 20  ession.c $(HDR) 
e1e0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
e1f0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
e200: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
e210: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
e220: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
e230: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
e240: 74 65 33 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20  te3session.c..# 
e250: 46 54 53 35 20 74 68 69 6e 67 73 0a 23 0a 46 54  FTS5 things.#.FT
e260: 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24 28  S5_SRC = \.   $(
e270: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
e280: 73 35 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  s5.h \.   $(TOP)
e290: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 49 6e  \ext\fts5\fts5In
e2a0: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.h \.   $(TOP)\
e2b0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 61 75  ext\fts5\fts5_au
e2c0: 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  x.c \.   $(TOP)\
e2d0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 62 75  ext\fts5\fts5_bu
e2e0: 66 66 65 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f  ffer.c \.   $(TO
e2f0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
e300: 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54  _main.c \.   $(T
e310: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
e320: 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 20  5_config.c \.   
e330: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\
e340: 66 74 73 35 5f 65 78 70 72 2e 63 20 5c 0a 20 20  fts5_expr.c \.  
e350: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
e360: 5c 66 74 73 35 5f 68 61 73 68 2e 63 20 5c 0a 20  \fts5_hash.c \. 
e370: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
e380: 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e 63 20 5c  5\fts5_index.c \
e390: 0a 20 20 20 66 74 73 35 70 61 72 73 65 2e 63 20  .   fts5parse.c 
e3a0: 66 74 73 35 70 61 72 73 65 2e 68 20 5c 0a 20 20  fts5parse.h \.  
e3b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
e3c0: 5c 66 74 73 35 5f 73 74 6f 72 61 67 65 2e 63 20  \fts5_storage.c 
e3d0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
e3e0: 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b 65 6e 69  fts5\fts5_tokeni
e3f0: 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ze.c \.   $(TOP)
e400: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 75  \ext\fts5\fts5_u
e410: 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 20 24  nicode2.c \.   $
e420: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
e430: 74 73 35 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20  ts5_varint.c \. 
e440: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
e450: 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e 63 0a 0a  5\fts5_vocab.c..
e460: 66 74 73 35 70 61 72 73 65 2e 63 3a 09 24 28 54  fts5parse.c:.$(T
e470: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
e480: 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65  5parse.y lemon.e
e490: 78 65 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  xe..copy $(TOP)\
e4a0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72  ext\fts5\fts5par
e4b0: 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f 51 20 66  se.y ...del /Q f
e4c0: 74 73 35 70 61 72 73 65 2e 68 20 32 3e 4e 55 4c  ts5parse.h 2>NUL
e4d0: 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28  ...\lemon.exe $(
e4e0: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
e4f0: 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45  S) $(OPT_FEATURE
e500: 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45  _FLAGS) $(EXT_FE
e510: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O
e520: 50 54 53 29 20 66 74 73 35 70 61 72 73 65 2e 79  PTS) fts5parse.y
e530: 0a 0a 66 74 73 35 70 61 72 73 65 2e 68 3a 09 66  ..fts5parse.h:.f
e540: 74 73 35 70 61 72 73 65 2e 63 0a 0a 66 74 73 35  ts5parse.c..fts5
e550: 2e 63 3a 09 24 28 46 54 53 35 5f 53 52 43 29 0a  .c:.$(FTS5_SRC).
e560: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
e570: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 74 6f  TOP)\ext\fts5\to
e580: 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63 6c 0a 09  ol\mkfts5c.tcl..
e590: 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c  copy $(TOP)\ext\
e5a0: 66 74 73 35 5c 66 74 73 35 2e 68 20 2e 0a 0a 66  fts5\fts5.h ...f
e5b0: 74 73 35 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24  ts5.lo:.fts5.c $
e5c0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
e5d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
e5e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e5f0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
e600: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 66  SQLITE_CORE -c f
e610: 74 73 35 2e 63 0a 0a 66 74 73 35 5f 65 78 74 2e  ts5.c..fts5_ext.
e620: 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52  lo:.fts5.c $(HDR
e630: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
e640: 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57  TCOMPILE) $(NO_W
e650: 41 52 4e 29 20 2d 63 20 66 74 73 35 2e 63 0a 0a  ARN) -c fts5.c..
e660: 66 74 73 35 2e 64 6c 6c 3a 09 66 74 73 35 5f 65  fts5.dll:.fts5_e
e670: 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c  xt.lo..$(LD) $(L
e680: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
e690: 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT
e6a0: 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40  HS) /DLL /OUT:$@
e6b0: 20 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71   fts5_ext.lo..sq
e6c0: 6c 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24 28 54  lite3rbu.lo:.$(T
e6d0: 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69  OP)\ext\rbu\sqli
e6e0: 74 65 33 72 62 75 2e 63 20 24 28 48 44 52 29 20  te3rbu.c $(HDR) 
e6f0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
e700: 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45  OMPILE) -DSQLITE
e710: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
e720: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
e730: 62 75 2e 63 0a 0a 23 20 52 75 6c 65 73 20 74 6f  bu.c..# Rules to
e740: 20 62 75 69 6c 64 20 74 68 65 20 27 74 65 73 74   build the 'test
e750: 66 69 78 74 75 72 65 27 20 61 70 70 6c 69 63 61  fixture' applica
e760: 74 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75 73 69  tion..#.# If usi
e770: 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74  ng the amalgamat
e780: 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74 65 33  ion, use sqlite3
e790: 2e 63 20 64 69 72 65 63 74 6c 79 20 74 6f 20 62  .c directly to b
e7a0: 75 69 6c 64 20 74 68 65 20 74 65 73 74 0a 23 20  uild the test.# 
e7b0: 66 69 78 74 75 72 65 2e 20 20 4f 74 68 65 72 77  fixture.  Otherw
e7c0: 69 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74  ise link against
e7d0: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 2e   libsqlite3.lib.
e7e0: 20 20 28 54 68 69 73 20 64 69 73 74 69 6e 63 74    (This distinct
e7f0: 69 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73 73 61  ion is.# necessa
e800: 72 79 20 62 65 63 61 75 73 65 20 74 68 65 20 74  ry because the t
e810: 65 73 74 20 66 69 78 74 75 72 65 20 72 65 71 75  est fixture requ
e820: 69 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73 79 6d  ires non-API sym
e830: 62 6f 6c 73 20 77 68 69 63 68 20 61 72 65 0a 23  bols which are.#
e840: 20 68 69 64 64 65 6e 20 77 68 65 6e 20 74 68 65   hidden when the
e850: 20 6c 69 62 72 61 72 79 20 69 73 20 62 75 69 6c   library is buil
e860: 74 20 76 69 61 20 74 68 65 20 61 6d 61 6c 67 61  t via the amalga
e870: 6d 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 46  mation)..#.TESTF
e880: 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 2d  IXTURE_FLAGS = -
e890: 44 54 43 4c 53 48 3d 31 20 2d 44 53 51 4c 49 54  DTCLSH=1 -DSQLIT
e8a0: 45 5f 54 45 53 54 3d 31 20 2d 44 53 51 4c 49 54  E_TEST=1 -DSQLIT
e8b0: 45 5f 43 52 41 53 48 5f 54 45 53 54 3d 31 0a 54  E_CRASH_TEST=1.T
e8c0: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
e8d0: 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
e8e0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
e8f0: 5f 53 45 52 56 45 52 3d 31 20 2d 44 53 51 4c 49  _SERVER=1 -DSQLI
e900: 54 45 5f 50 52 49 56 41 54 45 3d 22 22 0a 54 45  TE_PRIVATE="".TE
e910: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS 
e920: 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_
e930: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
e940: 43 4f 52 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a  CORE $(NO_WARN).
e950: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
e960: 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR
e970: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
e980: 45 5f 53 45 52 49 45 53 5f 43 4f 4e 53 54 52 41  E_SERIES_CONSTRA
e990: 49 4e 54 5f 56 45 52 49 46 59 3d 31 0a 54 45 53  INT_VERIFY=1.TES
e9a0: 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
e9b0: 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F
e9c0: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 44  LAGS) -DSQLITE_D
e9d0: 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45  EFAULT_PAGE_SIZE
e9e0: 3d 31 30 32 34 0a 54 45 53 54 46 49 58 54 55 52  =1024.TESTFIXTUR
e9f0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST
ea00: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FIXTURE_FLAGS) $
ea10: 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53  (TEST_CCONV_OPTS
ea20: 29 0a 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  )..TESTFIXTURE_S
ea30: 52 43 30 20 3d 20 24 28 54 45 53 54 45 58 54 29  RC0 = $(TESTEXT)
ea40: 20 24 28 54 45 53 54 53 52 43 32 29 0a 54 45 53   $(TESTSRC2).TES
ea50: 54 46 49 58 54 55 52 45 5f 53 52 43 31 20 3d 20  TFIXTURE_SRC1 = 
ea60: 24 28 54 45 53 54 45 58 54 29 20 24 28 53 51 4c  $(TESTEXT) $(SQL
ea70: 49 54 45 33 43 29 0a 21 49 46 20 24 28 55 53 45  ITE3C).!IF $(USE
ea80: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d  _AMALGAMATION)==
ea90: 30 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  0.TESTFIXTURE_SR
eaa0: 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24  C = $(TESTSRC) $
eab0: 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
eac0: 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54  ite.c $(TESTFIXT
ead0: 55 52 45 5f 53 52 43 30 29 0a 21 45 4c 53 45 0a  URE_SRC0).!ELSE.
eae0: 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 20  TESTFIXTURE_SRC 
eaf0: 3d 20 24 28 54 45 53 54 53 52 43 29 20 24 28 54  = $(TESTSRC) $(T
eb00: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
eb10: 65 2e 63 20 24 28 54 45 53 54 46 49 58 54 55 52  e.c $(TESTFIXTUR
eb20: 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 46 0a 0a  E_SRC1).!ENDIF..
eb30: 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c  !IF $(USE_STDCAL
eb40: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W
eb50: 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69 74 65 5f  IN10)!=0.sqlite_
eb60: 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 65 63 68  tclDecls.h:..ech
eb70: 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45  o #ifndef SQLITE
eb80: 5f 54 43 4c 41 50 49 20 3e 20 24 28 53 51 4c 49  _TCLAPI > $(SQLI
eb90: 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63  TETCLDECLSH)..ec
eba0: 68 6f 20 23 20 20 64 65 66 69 6e 65 20 53 51 4c  ho #  define SQL
ebb0: 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e 20 24 28  ITE_TCLAPI >> $(
ebc0: 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29  SQLITETCLDECLSH)
ebd0: 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e  ..echo #endif >>
ebe0: 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c   $(SQLITETCLDECL
ebf0: 53 48 29 0a 09 74 79 70 65 20 22 24 28 54 43 4c  SH)..type "$(TCL
ec00: 49 4e 43 44 49 52 29 5c 74 63 6c 44 65 63 6c 73  INCDIR)\tclDecls
ec10: 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  .h" \...| $(TCLS
ec20: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
ec30: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
ec40: 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e 28  egsub "^(EXTERN(
ec50: 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f 5c 73  ?: CONST\d+?)?\s
ec60: 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29 54 63  +?[^\(]*?\s+?)Tc
ec70: 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54  l_" "\1 SQLITE_T
ec80: 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09  CLAPI Tcl_" \...
ec90: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
eca0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
ecb0: 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e  ce.tcl regsub "^
ecc0: 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a 76 6f  (EXTERN\s+?(?:vo
ecd0: 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 54 63 6c  id|VOID)\s+?)Tcl
ece0: 46 72 65 65 4f 62 6a 22 20 22 5c 31 20 53 51 4c  FreeObj" "\1 SQL
ecf0: 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 46 72  ITE_TCLAPI TclFr
ed00: 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54  eeObj" \...| $(T
ed10: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
ed20: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
ed30: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63  l regsub "\(\*tc
ed40: 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c  l_" "(SQLITE_TCL
ed50: 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a 09 09 7c  API *tcl_" \...|
ed60: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
ed70: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
ed80: 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28  e.tcl regsub "\(
ed90: 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 22 28  \*tclFreeObj" "(
eda0: 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74  SQLITE_TCLAPI *t
edb0: 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c  clFreeObj" \...|
edc0: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
edd0: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
ede0: 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28  e.tcl regsub "\(
edf0: 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c  \*" "(SQLITE_TCL
ee00: 41 50 49 20 2a 22 20 3e 3e 20 24 28 53 51 4c 49  API *" >> $(SQLI
ee10: 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 0a 73 71  TETCLDECLSH)..sq
ee20: 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09 74 79 70  lite_tcl.h:..typ
ee30: 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c  e "$(TCLINCDIR)\
ee40: 74 63 6c 2e 68 22 20 7c 20 24 28 54 43 4c 53 48  tcl.h" | $(TCLSH
ee50: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
ee60: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
ee70: 61 63 74 20 74 63 6c 44 65 63 6c 73 2e 68 20 73  act tclDecls.h s
ee80: 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68  qlite_tclDecls.h
ee90: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
eea0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
eeb0: 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
eec0: 75 62 20 22 74 79 70 65 64 65 66 20 28 2e 2a 3f  ub "typedef (.*?
eed0: 29 5c 28 54 63 6c 5f 22 20 22 74 79 70 65 64 65  )\(Tcl_" "typede
eee0: 66 20 5c 31 20 28 53 51 4c 49 54 45 5f 54 43 4c  f \1 (SQLITE_TCL
eef0: 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20  API Tcl_" \...| 
ef00: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
ef10: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
ef20: 2e 74 63 6c 20 65 78 61 63 74 20 22 76 6f 69 64  .tcl exact "void
ef30: 20 28 2a 66 72 65 65 50 72 6f 63 29 22 20 22 76   (*freeProc)" "v
ef40: 6f 69 64 20 28 53 51 4c 49 54 45 5f 54 43 4c 41  oid (SQLITE_TCLA
ef50: 50 49 20 2a 66 72 65 65 50 72 6f 63 29 22 20 5c  PI *freeProc)" \
ef60: 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD
ef70: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
ef80: 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20  place.tcl exact 
ef90: 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a  "Tcl_HashEntry *
efa0: 28 2a 66 69 6e 64 50 72 6f 63 29 22 20 22 54 63  (*findProc)" "Tc
efb0: 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53 51  l_HashEntry *(SQ
efc0: 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 69 6e  LITE_TCLAPI *fin
efd0: 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28  dProc)" \...| $(
efe0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
eff0: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
f000: 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61  cl exact "Tcl_Ha
f010: 73 68 45 6e 74 72 79 20 2a 28 2a 63 72 65 61 74  shEntry *(*creat
f020: 65 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73  eProc)" "Tcl_Has
f030: 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f  hEntry *(SQLITE_
f040: 54 43 4c 41 50 49 20 2a 63 72 65 61 74 65 50 72  TCLAPI *createPr
f050: 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c 49 54 45  oc)" >> $(SQLITE
f060: 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a 0a 74 65  TCLH).!ENDIF..te
f070: 73 74 66 69 78 74 75 72 65 2e 65 78 65 3a 09 24  stfixture.exe:.$
f080: 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  (TESTFIXTURE_SRC
f090: 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28  ) $(SQLITE3H) $(
f0a0: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 48 44  LIBRESOBJS) $(HD
f0b0: 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f  R) $(SQLITE_TCL_
f0c0: 44 45 50 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  DEP)..$(LTLINK) 
f0d0: 2d 44 53 51 4c 49 54 45 5f 4e 4f 5f 53 59 4e 43  -DSQLITE_NO_SYNC
f0e0: 3d 31 20 24 28 54 45 53 54 46 49 58 54 55 52 45  =1 $(TESTFIXTURE
f0f0: 5f 46 4c 41 47 53 29 20 5c 0a 09 09 2d 44 42 55  _FLAGS) \...-DBU
f100: 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54  ILD_sqlite -I$(T
f110: 43 4c 49 4e 43 44 49 52 29 20 5c 0a 09 09 24 28  CLINCDIR) \...$(
f120: 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 29  TESTFIXTURE_SRC)
f130: 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46   \.../link $(LDF
f140: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
f150: 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  TS) $(LTLIBPATHS
f160: 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 
f170: 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS) $(TLIB
f180: 53 29 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73  S)..extensiontes
f190: 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65  t:.testfixture.e
f1a0: 78 65 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64  xe testloadext.d
f1b0: 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  ll..@set PATH=$(
f1c0: 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
f1d0: 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
f1e0: 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
f1f0: 73 74 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74 20  st\loadext.test 
f200: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c  $(TESTOPTS)..ful
f210: 6c 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f  ltest:.$(TESTPRO
f220: 47 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73  GS) fuzztest..@s
f230: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
f240: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
f250: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
f260: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c   $(TOP)\test\all
f270: 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53  .test $(TESTOPTS
f280: 29 0a 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28 54  )..soaktest:.$(T
f290: 45 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20  ESTPROGS)..@set 
f2a0: 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT
f2b0: 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65  H);$(PATH)...\te
f2c0: 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $(
f2d0: 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65  TOP)\test\all.te
f2e0: 73 74 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53  st -soak=1 $(TES
f2f0: 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74  TOPTS)..fulltest
f300: 6f 6e 6c 79 3a 09 24 28 54 45 53 54 50 52 4f 47  only:.$(TESTPROG
f310: 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65  S) fuzztest..@se
f320: 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
f330: 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
f340: 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
f350: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c  $(TOP)\test\full
f360: 2e 74 65 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e  .test..queryplan
f370: 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72  test:.testfixtur
f380: 65 2e 65 78 65 20 73 68 65 6c 6c 0a 09 40 73 65  e.exe shell..@se
f390: 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
f3a0: 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
f3b0: 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
f3c0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d  $(TOP)\test\perm
f3d0: 75 74 61 74 69 6f 6e 73 2e 74 65 73 74 20 71 75  utations.test qu
f3e0: 65 72 79 70 6c 61 6e 6e 65 72 20 24 28 54 45 53  eryplanner $(TES
f3f0: 54 4f 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74  TOPTS)..fuzztest
f400: 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a  :.fuzzcheck.exe.
f410: 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  ..\fuzzcheck.exe
f420: 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61   $(FUZZDATA)..fa
f430: 73 74 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a  stfuzztest:.fuzz
f440: 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a  check.exe...\fuz
f450: 7a 63 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d  zcheck.exe --lim
f460: 69 74 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46 55  it-mem 100M $(FU
f470: 5a 5a 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d  ZZDATA)..# Minim
f480: 61 6c 20 74 65 73 74 69 6e 67 20 74 68 61 74 20  al testing that 
f490: 72 75 6e 73 20 69 6e 20 6c 65 73 73 20 74 68 61  runs in less tha
f4a0: 6e 20 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20  n 3 minutes (on 
f4b0: 61 20 66 61 73 74 20 6d 61 63 68 69 6e 65 29 0a  a fast machine).
f4c0: 23 0a 71 75 69 63 6b 74 65 73 74 3a 09 74 65 73  #.quicktest:.tes
f4d0: 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 6f 75  tfixture.exe sou
f4e0: 72 63 65 74 65 73 74 0a 09 40 73 65 74 20 50 41  rcetest..@set PA
f4f0: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
f500: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
f510: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
f520: 50 29 5c 74 65 73 74 5c 65 78 74 72 61 71 75 69  P)\test\extraqui
f530: 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  ck.test $(TESTOP
f540: 54 53 29 0a 0a 23 20 54 68 69 73 20 69 73 20 74  TS)..# This is t
f550: 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20  he common case. 
f560: 20 52 75 6e 20 6d 61 6e 79 20 74 65 73 74 73 20   Run many tests 
f570: 74 68 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65  that do not take
f580: 20 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63   too long,.# inc
f590: 6c 75 64 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b  luding fuzzcheck
f5a0: 2c 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  , sqlite3_analyz
f5b0: 65 72 2c 20 61 6e 64 20 73 71 6c 64 69 66 66 20  er, and sqldiff 
f5c0: 74 65 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24  tests..#.test:.$
f5d0: 28 54 45 53 54 50 52 4f 47 53 29 20 73 6f 75 72  (TESTPROGS) sour
f5e0: 63 65 74 65 73 74 20 66 61 73 74 66 75 7a 7a 74  cetest fastfuzzt
f5f0: 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24  est..@set PATH=$
f600: 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P
f610: 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
f620: 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t
f630: 65 73 74 5c 76 65 72 79 71 75 69 63 6b 2e 74 65  est\veryquick.te
f640: 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS)..
f650: 73 6d 6f 6b 65 74 65 73 74 3a 09 24 28 54 45 53  smoketest:.$(TES
f660: 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41  TPROGS)..@set PA
f670: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
f680: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
f690: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
f6a0: 50 29 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73  P)\test\main.tes
f6b0: 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73  t $(TESTOPTS)..s
f6c0: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
f6d0: 63 3a 09 24 28 53 51 4c 49 54 45 33 43 29 20 24  c:.$(SQLITE3C) $
f6e0: 28 53 51 4c 49 54 45 33 48 29 20 24 28 54 4f 50  (SQLITE3H) $(TOP
f6f0: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
f700: 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70  c $(TOP)\tool\sp
f710: 61 63 65 61 6e 61 6c 2e 74 63 6c 20 24 28 53 51  aceanal.tcl $(SQ
f720: 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 65  LITE_TCL_DEP)..e
f730: 63 68 6f 20 23 64 65 66 69 6e 65 20 54 43 4c 53  cho #define TCLS
f740: 48 20 32 20 3e 20 24 40 0a 09 65 63 68 6f 20 23  H 2 > $@..echo #
f750: 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 45 4e  define SQLITE_EN
f760: 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 54 41 42  ABLE_DBSTAT_VTAB
f770: 20 31 20 3e 3e 20 24 40 0a 09 63 6f 70 79 20 24   1 >> $@..copy $
f780: 40 20 2b 20 24 28 53 51 4c 49 54 45 33 43 29 20  @ + $(SQLITE3C) 
f790: 2b 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  + $(TOP)\src\tcl
f7a0: 73 71 6c 69 74 65 2e 63 20 24 40 0a 09 65 63 68  sqlite.c $@..ech
f7b0: 6f 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 63  o static const c
f7c0: 68 61 72 20 2a 74 63 6c 73 68 5f 6d 61 69 6e 5f  har *tclsh_main_
f7d0: 6c 6f 6f 70 28 76 6f 69 64 29 7b 20 3e 3e 20 24  loop(void){ >> $
f7e0: 40 0a 09 65 63 68 6f 20 73 74 61 74 69 63 20 63  @..echo static c
f7f0: 6f 6e 73 74 20 63 68 61 72 20 2a 7a 4d 61 69 6e  onst char *zMain
f800: 6c 6f 6f 70 20 3d 20 3e 3e 20 24 40 0a 09 24 28  loop = >> $@..$(
f810: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
f820: 29 5c 74 6f 6f 6c 5c 74 6f 73 74 72 2e 74 63 6c  )\tool\tostr.tcl
f830: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61   $(TOP)\tool\spa
f840: 63 65 61 6e 61 6c 2e 74 63 6c 20 3e 3e 20 24 40  ceanal.tcl >> $@
f850: 0a 09 65 63 68 6f 20 3b 20 72 65 74 75 72 6e 20  ..echo ; return 
f860: 7a 4d 61 69 6e 6c 6f 6f 70 3b 20 7d 20 3e 3e 20  zMainloop; } >> 
f870: 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c  $@..sqlite3_anal
f880: 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 74 65  yzer.exe:.sqlite
f890: 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 28 4c  3_analyzer.c $(L
f8a0: 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT
f8b0: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
f8c0: 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite 
f8d0: 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73  -I$(TCLINCDIR) s
f8e0: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
f8f0: 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44  c \.../link $(LD
f900: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
f910: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH
f920: 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  S) $(LIBRESOBJS)
f930: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS) $(TLI
f940: 42 53 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74  BS)..testloadext
f950: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
f960: 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 09  test_loadext.c..
f970: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e  $(LTCOMPILE) $(N
f980: 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28 54 4f 50  O_WARN) -c $(TOP
f990: 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65  )\src\test_loade
f9a0: 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 65 78  xt.c..testloadex
f9b0: 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 64 65  t.dll:.testloade
f9c0: 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c  xt.lo..$(LD) $(L
f9d0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
f9e0: 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT
f9f0: 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40  HS) /DLL /OUT:$@
fa00: 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a   testloadext.lo.
fa10: 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09 24 28 54  .showdb.exe:.$(T
fa20: 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e  OP)\tool\showdb.
fa30: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
fa40: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
fa50: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
fa60: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
fa70: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
fa80: 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
fa90: 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54  ON -Fe$@ \...$(T
faa0: 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e  OP)\tool\showdb.
fab0: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l
fac0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
fad0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68  (LTLINKOPTS)..sh
fae0: 6f 77 73 74 61 74 34 2e 65 78 65 3a 09 24 28 54  owstat4.exe:.$(T
faf0: 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61  OP)\tool\showsta
fb00: 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  t4.c $(SQLITE3C)
fb10: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
fb20: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
fb30: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  N) -DSQLITE_THRE
fb40: 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54  ADSAFE=0 -DSQLIT
fb50: 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
fb60: 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09  NSION -Fe$@ \...
fb70: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show
fb80: 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45  stat4.c $(SQLITE
fb90: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
fba0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
fbb0: 53 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e  S)..showjournal.
fbc0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool
fbd0: 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24  \showjournal.c $
fbe0: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
fbf0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
fc00: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
fc10: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
fc20: 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
fc30: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
fc40: 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29  -Fe$@ \...$(TOP)
fc50: 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61  \tool\showjourna
fc60: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
fc70: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
fc80: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
fc90: 73 68 6f 77 77 61 6c 2e 65 78 65 3a 09 24 28 54  showwal.exe:.$(T
fca0: 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c  OP)\tool\showwal
fcb0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C) $
fcc0: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT
fcd0: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN)
fce0: 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
fcf0: 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
fd00: 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
fd10: 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28  ION -Fe$@ \...$(
fd20: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61  TOP)\tool\showwa
fd30: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
fd40: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
fd50: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
fd60: 63 68 61 6e 67 65 73 65 74 2e 65 78 65 3a 09 24  changeset.exe:.$
fd70: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
fd80: 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28  n\changeset.c $(
fd90: 53 51 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 4c  SQLITE3C)..$(LTL
fda0: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
fdb0: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
fdc0: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
fdd0: 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
fde0: 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54  ON -Fe$@ \...$(T
fdf0: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
fe00: 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53 51  changeset.c $(SQ
fe10: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
fe20: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
fe30: 4b 4f 50 54 53 29 0a 0a 66 74 73 33 76 69 65 77  KOPTS)..fts3view
fe40: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74  .exe:.$(TOP)\ext
fe50: 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76  \fts3\tool\fts3v
fe60: 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iew.c $(SQLITE3C
fe70: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
fe80: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
fe90: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
fea0: 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
feb0: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
fec0: 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09  ENSION -Fe$@ \..
fed0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
fee0: 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63  \tool\fts3view.c
fef0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
ff00: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
ff10: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c  LTLINKOPTS)..rol
ff20: 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 3a 09  lback-test.exe:.
ff30: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c  $(TOP)\tool\roll
ff40: 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51  back-test.c $(SQ
ff50: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
ff60: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
ff70: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
ff80: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0 
ff90: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
ffa0: 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65  AD_EXTENSION -Fe
ffb0: 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  $@ \...$(TOP)\to
ffc0: 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74  ol\rollback-test
ffd0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
ffe0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
fff0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c  $(LTLINKOPTS)..L
10000 6f 67 45 73 74 2e 65 78 65 3a 09 24 28 54 4f 50  ogEst.exe:.$(TOP
10010 29 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e 63 20  )\tool\logest.c 
10020 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
10030 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
10040 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74  ) -Fe$@ $(TOP)\t
10050 6f 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 2f 6c 69  ool\LogEst.c /li
10060 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
10070 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 77 6f 72  LTLINKOPTS)..wor
10080 64 63 6f 75 6e 74 2e 65 78 65 3a 09 24 28 54 4f  dcount.exe:.$(TO
10090 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e  P)\test\wordcoun
100a0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 
100b0 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
100c0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
100d0 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
100e0 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
100f0 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
10100 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24  SION -Fe$@ \...$
10110 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63  (TOP)\test\wordc
10120 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33  ount.c $(SQLITE3
10130 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
10140 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
10150 29 0a 0a 73 70 65 65 64 74 65 73 74 31 2e 65 78  )..speedtest1.ex
10160 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73  e:.$(TOP)\test\s
10170 70 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 51  peedtest1.c $(SQ
10180 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
10190 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
101a0 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
101b0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
101c0 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09  ENSION -Fe$@ \..
101d0 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65  .$(TOP)\test\spe
101e0 65 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49  edtest1.c $(SQLI
101f0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
10200 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
10210 50 54 53 29 0a 0a 72 62 75 2e 65 78 65 3a 09 24  PTS)..rbu.exe:.$
10220 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62  (TOP)\ext\rbu\rb
10230 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  u.c $(TOP)\ext\r
10240 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20  bu\sqlite3rbu.c 
10250 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
10260 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
10270 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
10280 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 42  SQLITE_ENABLE_RB
10290 55 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f  U -Fe$@ \...$(TO
102a0 50 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63  P)\ext\rbu\rbu.c
102b0 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
102c0 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
102d0 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6d 6f 72  LTLINKOPTS)..mor
102e0 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a 09 64  eclean:.clean..d
102f0 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33 43  el /Q $(SQLITE3C
10300 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 32 3e  ) $(SQLITE3H) 2>
10310 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  NUL.# <</mark>>.
10320 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f 51 20  .clean:..del /Q 
10330 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b  *.exp *.lo *.ilk
10340 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20 2a 2e 6e   *.lib *.obj *.n
10350 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64 66 20 2a  cb *.pdb *.sdf *
10360 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .suo 2>NUL..del 
10370 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65 66 20 2a  /Q *.bsc *.def *
10380 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62 62 20 2a  .cod *.da *.bb *
10390 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f 6e 2e 6f  .bbg *.vc gmon.o
103a0 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  ut 2>NUL..del /Q
103b0 20 24 28 53 51 4c 49 54 45 33 45 58 45 29 20 24   $(SQLITE3EXE) $
103c0 28 53 51 4c 49 54 45 33 44 4c 4c 29 20 52 65 70  (SQLITE3DLL) Rep
103d0 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55 4c 0a 23  lace.exe 2>NUL.#
103e0 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65 6c 20 2f   <<mark>>..del /
103f0 51 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c 69  Q sqlite3.c sqli
10400 74 65 33 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  te3.h 2>NUL..del
10410 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63 20 6f 70   /Q opcodes.c op
10420 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c 0a 09 64  codes.h 2>NUL..d
10430 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65  el /Q lemon.* le
10440 6d 70 61 72 2e 63 20 70 61 72 73 65 2e 2a 20 32  mpar.c parse.* 2
10450 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b 6b  >NUL..del /Q mkk
10460 65 79 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79  eywordhash.* key
10470 77 6f 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c  wordhash.h 2>NUL
10480 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61  ..del /Q notasha
10490 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09  redlib.* 2>NUL..
104a0 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70  -rmdir /Q/S .dep
104b0 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20  s 2>NUL..-rmdir 
104c0 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c  /Q/S .libs 2>NUL
104d0 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73  ..-rmdir /Q/S ts
104e0 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  rc 2>NUL..del /Q
104f0 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20   .target_source 
10500 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63  2>NUL..del /Q tc
10510 6c 73 71 6c 69 74 65 33 2e 65 78 65 20 24 28 53  lsqlite3.exe $(S
10520 51 4c 49 54 45 54 43 4c 48 29 20 24 28 53 51 4c  QLITETCLH) $(SQL
10530 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 32 3e  ITETCLDECLSH) 2>
10540 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74  NUL..del /Q test
10550 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55  loadext.dll 2>NU
10560 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 66 69  L..del /Q testfi
10570 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 2e 64  xture.exe test.d
10580 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  b 2>NUL..del /Q 
10590 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73 33 76  LogEst.exe fts3v
105a0 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b  iew.exe rollback
105b0 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77 64 62  -test.exe showdb
105c0 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del 
105d0 2f 51 20 63 68 61 6e 67 65 73 65 74 2e 65 78 65  /Q changeset.exe
105e0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
105f0 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 20 73  howjournal.exe s
10600 68 6f 77 73 74 61 74 34 2e 65 78 65 20 73 68 6f  howstat4.exe sho
10610 77 77 61 6c 2e 65 78 65 20 73 70 65 65 64 74 65  wwal.exe speedte
10620 73 74 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  st1.exe 2>NUL..d
10630 65 6c 20 2f 51 20 6d 70 74 65 73 74 65 72 2e 65  el /Q mptester.e
10640 78 65 20 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65  xe wordcount.exe
10650 20 72 62 75 2e 65 78 65 20 73 72 63 63 6b 31 2e   rbu.exe srcck1.
10660 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
10670 51 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c 69  Q sqlite3.c sqli
10680 74 65 33 2d 2a 2e 63 20 32 3e 4e 55 4c 0a 09 64  te3-*.c 2>NUL..d
10690 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 72 63 2e  el /Q sqlite3rc.
106a0 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q 
106b0 73 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65  shell.c sqlite3e
106c0 78 74 2e 68 20 73 71 6c 69 74 65 33 73 65 73 73  xt.h sqlite3sess
106d0 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  ion.h 2>NUL..del
106e0 20 2f 51 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c   /Q sqlite3_anal
106f0 79 7a 65 72 2e 65 78 65 20 73 71 6c 69 74 65 33  yzer.exe sqlite3
10700 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55  _analyzer.c 2>NU
10710 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
10720 2d 2a 2d 6f 75 74 70 75 74 2e 76 73 69 78 20 32  -*-output.vsix 2
10730 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a  >NUL..del /Q fuz
10740 7a 65 72 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a  zershell.exe fuz
10750 7a 63 68 65 63 6b 2e 65 78 65 20 73 71 6c 64 69  zcheck.exe sqldi
10760 66 66 2e 65 78 65 20 64 62 68 61 73 68 2e 65 78  ff.exe dbhash.ex
10770 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q 
10780 66 74 73 35 2e 2a 20 66 74 73 35 70 61 72 73 65  fts5.* fts5parse
10790 2e 2a 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61  .* 2>NUL.# <</ma
107a0 72 6b 3e 3e 0a                                   rk>>.