/ Hex Artifact Content
Login

Artifact 2a8f135e10f383a31f1106cf42edabf3a18a3d08:


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 54 68 65 73  F.!ENDIF..# Thes
1930: 65 20 61 72 65 20 74 68 65 20 6e 61 6d 65 73 20  e are the names 
1940: 6f 66 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 65  of the customize
1950: 64 20 54 63 6c 20 68 65 61 64 65 72 20 66 69 6c  d Tcl header fil
1960: 65 73 20 75 73 65 64 20 62 79 20 76 61 72 69 6f  es used by vario
1970: 75 73 20 70 61 72 74 73 0a 23 20 6f 66 20 74 68  us parts.# of th
1980: 69 73 20 6d 61 6b 65 66 69 6c 65 20 77 68 65 6e  is makefile when
1990: 20 74 68 65 20 73 74 64 63 61 6c 6c 20 63 61 6c   the stdcall cal
19a0: 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20  ling convention 
19b0: 69 73 20 69 6e 20 75 73 65 2e 20 20 49 74 20 69  is in use.  It i
19c0: 73 20 6e 6f 74 0a 23 20 75 73 65 64 20 66 6f 72  s not.# used for
19d0: 20 61 6e 79 20 6f 74 68 65 72 20 70 75 72 70 6f   any other purpo
19e0: 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51  se..#.!IFNDEF SQ
19f0: 4c 49 54 45 54 43 4c 48 0a 53 51 4c 49 54 45 54  LITETCLH.SQLITET
1a00: 43 4c 48 20 3d 20 73 71 6c 69 74 65 5f 74 63 6c  CLH = sqlite_tcl
1a10: 2e 68 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  .h.!ENDIF..!IFND
1a20: 45 46 20 53 51 4c 49 54 45 54 43 4c 44 45 43 4c  EF SQLITETCLDECL
1a30: 53 48 0a 53 51 4c 49 54 45 54 43 4c 44 45 43 4c  SH.SQLITETCLDECL
1a40: 53 48 20 3d 20 73 71 6c 69 74 65 5f 74 63 6c 44  SH = sqlite_tclD
1a50: 65 63 6c 73 2e 68 0a 21 45 4e 44 49 46 0a 0a 23  ecls.h.!ENDIF..#
1a60: 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 61   These are the a
1a70: 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 67 65 74  dditional target
1a80: 73 20 74 68 61 74 20 74 68 65 20 74 61 72 67 65  s that the targe
1a90: 74 73 20 74 68 61 74 20 69 6e 74 65 67 72 61 74  ts that integrat
1aa0: 65 20 77 69 74 68 20 74 68 65 0a 23 20 54 63 6c  e with the.# Tcl
1ab0: 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c 64 20   library should 
1ac0: 64 65 70 65 6e 64 20 6f 6e 20 77 68 65 6e 20 63  depend on when c
1ad0: 6f 6d 70 69 6c 69 6e 67 2c 20 65 74 63 2e 0a 23  ompiling, etc..#
1ae0: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 5f  .!IFNDEF SQLITE_
1af0: 54 43 4c 5f 44 45 50 0a 21 49 46 20 24 28 55 53  TCL_DEP.!IF $(US
1b00: 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c  E_STDCALL)!=0 ||
1b10: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
1b20: 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 20  .SQLITE_TCL_DEP 
1b30: 3d 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  = $(SQLITETCLDEC
1b40: 4c 53 48 29 20 24 28 53 51 4c 49 54 45 54 43 4c  LSH) $(SQLITETCL
1b50: 48 29 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 5f  H).!ELSE.SQLITE_
1b60: 54 43 4c 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46  TCL_DEP =.!ENDIF
1b70: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
1b80: 20 61 72 65 20 74 68 65 20 22 73 74 61 6e 64 61   are the "standa
1b90: 72 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 69  rd" SQLite compi
1ba0: 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75  lation options u
1bb0: 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69  sed when compili
1bc0: 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e  ng for.# the Win
1bd0: 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23  dows platform..#
1be0: 0a 21 49 46 4e 44 45 46 20 4f 50 54 5f 46 45 41  .!IFNDEF OPT_FEA
1bf0: 54 55 52 45 5f 46 4c 41 47 53 0a 21 49 46 20 24  TURE_FLAGS.!IF $
1c00: 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d  (MINIMAL_AMALGAM
1c10: 41 54 49 4f 4e 29 3d 3d 30 0a 4f 50 54 5f 46 45  ATION)==0.OPT_FE
1c20: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  ATURE_FLAGS = $(
1c30: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1c40: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
1c50: 4c 45 5f 46 54 53 33 3d 31 0a 4f 50 54 5f 46 45  LE_FTS3=1.OPT_FE
1c60: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  ATURE_FLAGS = $(
1c70: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1c80: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
1c90: 4c 45 5f 52 54 52 45 45 3d 31 0a 21 45 4e 44 49  LE_RTREE=1.!ENDI
1ca0: 46 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  F.OPT_FEATURE_FL
1cb0: 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54  AGS = $(OPT_FEAT
1cc0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
1cd0: 49 54 45 5f 45 4e 41 42 4c 45 5f 43 4f 4c 55 4d  ITE_ENABLE_COLUM
1ce0: 4e 5f 4d 45 54 41 44 41 54 41 3d 31 0a 21 45 4e  N_METADATA=1.!EN
1cf0: 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 74 68  DIF..# Should th
1d00: 65 20 73 65 73 73 69 6f 6e 20 65 78 74 65 6e 73  e session extens
1d10: 69 6f 6e 20 62 65 20 65 6e 61 62 6c 65 64 3f 20  ion be enabled? 
1d20: 20 49 66 20 73 6f 2c 20 61 64 64 20 63 6f 6d 70   If so, add comp
1d30: 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 0a  ilation options.
1d40: 23 20 74 6f 20 65 6e 61 62 6c 65 20 69 74 2e 0a  # to enable it..
1d50: 23 0a 21 49 46 20 24 28 53 45 53 53 49 4f 4e 29  #.!IF $(SESSION)
1d60: 21 3d 30 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f  !=0.OPT_FEATURE_
1d70: 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45  FLAGS = $(OPT_FE
1d80: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
1d90: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53  QLITE_ENABLE_SES
1da0: 53 49 4f 4e 3d 31 0a 4f 50 54 5f 46 45 41 54 55  SION=1.OPT_FEATU
1db0: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54  RE_FLAGS = $(OPT
1dc0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
1dd0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
1de0: 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31  PREUPDATE_HOOK=1
1df0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
1e00: 20 61 72 65 20 74 68 65 20 22 65 78 74 65 6e 64   are the "extend
1e10: 65 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 69  ed" SQLite compi
1e20: 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75  lation options u
1e30: 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69  sed when compili
1e40: 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e  ng for.# the Win
1e50: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d  dows 10 platform
1e60: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 45 58 54 5f  ..#.!IFNDEF EXT_
1e70: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 0a 21 49  FEATURE_FLAGS.!I
1e80: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!=
1e90: 30 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  0.EXT_FEATURE_FL
1ea0: 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54  AGS = $(EXT_FEAT
1eb0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
1ec0: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 3d  ITE_ENABLE_FTS4=
1ed0: 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  1.EXT_FEATURE_FL
1ee0: 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54  AGS = $(EXT_FEAT
1ef0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
1f00: 49 54 45 5f 53 59 53 54 45 4d 5f 4d 41 4c 4c 4f  ITE_SYSTEM_MALLO
1f10: 43 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  C=1.EXT_FEATURE_
1f20: 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45  FLAGS = $(EXT_FE
1f30: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
1f40: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c  QLITE_OMIT_LOCAL
1f50: 54 49 4d 45 3d 31 0a 21 45 4c 53 45 0a 45 58 54  TIME=1.!ELSE.EXT
1f60: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
1f70: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
1f80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1f90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
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 0a  ###############.
1fd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fe0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20  ############### 
1ff0: 45 4e 44 20 4f 46 20 4f 50 54 49 4f 4e 53 20 23  END OF OPTIONS #
2000: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2010: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
2020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
2070: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# When compilin
2080: 67 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77  g for the Window
2090: 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 74  s 10 platform, t
20a0: 68 65 20 50 4c 41 54 46 4f 52 4d 20 6d 61 63 72  he PLATFORM macr
20b0: 6f 20 6d 75 73 74 20 62 65 20 73 65 74 0a 23 20  o must be set.# 
20c0: 74 6f 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74  to an appropriat
20d0: 65 20 76 61 6c 75 65 20 28 65 2e 67 2e 20 78 38  e value (e.g. x8
20e0: 36 2c 20 78 36 34 2c 20 61 72 6d 2c 20 61 72 6d  6, x64, arm, arm
20f0: 36 34 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46 20  64, etc)..#.!IF 
2100: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
2110: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d  !IFNDEF PLATFORM
2120: 0a 21 45 52 52 4f 52 20 55 73 69 6e 67 20 74 68  .!ERROR Using th
2130: 65 20 46 4f 52 5f 57 49 4e 31 30 20 6f 70 74 69  e FOR_WIN10 opti
2140: 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 61  on requires a va
2150: 6c 75 65 20 66 6f 72 20 50 4c 41 54 46 4f 52 4d  lue for PLATFORM
2160: 2e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ..!ENDIF.!ENDIF.
2170: 0a 23 20 54 68 69 73 20 61 73 73 75 6d 65 73 20  .# This assumes 
2180: 74 68 61 74 20 4d 53 56 43 20 69 73 20 61 6c 77  that MSVC is alw
2190: 61 79 73 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e  ays installed in
21a0: 20 33 32 2d 62 69 74 20 50 72 6f 67 72 61 6d 20   32-bit Program 
21b0: 46 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 0a  Files directory.
21c0: 23 20 61 6e 64 20 73 65 74 73 20 74 68 65 20 76  # and sets the v
21d0: 61 72 69 61 62 6c 65 20 66 6f 72 20 75 73 65 20  ariable for use 
21e0: 69 6e 20 6c 6f 63 61 74 69 6e 67 20 6f 74 68 65  in locating othe
21f0: 72 20 33 32 2d 62 69 74 20 69 6e 73 74 61 6c 6c  r 32-bit install
2200: 73 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0a 23  s accordingly..#
2210: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  .PROGRAMFILES_X8
2220: 36 20 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44  6 = $(VCINSTALLD
2230: 49 52 29 5c 2e 2e 5c 2e 2e 0a 50 52 4f 47 52 41  IR)\..\...PROGRA
2240: 4d 46 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 50  MFILES_X86 = $(P
2250: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 3a  ROGRAMFILES_X86:
2260: 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66  \\=\)..# Check f
2270: 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65  or the predefine
2280: 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20  d command macro 
2290: 43 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64  CC.  This should
22a0: 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63 6f   point to the co
22b0: 6d 70 69 6c 65 72 0a 23 20 62 69 6e 61 72 79 20  mpiler.# binary 
22c0: 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 70  for the target p
22d0: 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20  latform.  If it 
22e0: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20  is not defined, 
22f0: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74  simply define it
2300: 20 74 6f 0a 23 20 74 68 65 20 6c 65 67 61 63 79   to.# the legacy
2310: 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27   default value '
2320: 63 6c 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44  cl.exe'..#.!IFND
2330: 45 46 20 43 43 0a 43 43 20 3d 20 63 6c 2e 65 78  EF CC.CC = cl.ex
2340: 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  e.!ENDIF..# Chec
2350: 6b 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66  k for the predef
2360: 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63  ined command mac
2370: 72 6f 20 43 53 43 2e 20 20 54 68 69 73 20 73 68  ro CSC.  This sh
2380: 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 61 20  ould point to a 
2390: 77 6f 72 6b 69 6e 67 0a 23 20 43 20 53 68 61 72  working.# C Shar
23a0: 70 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72  p compiler binar
23b0: 79 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74  y.  If it is not
23c0: 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79   defined, simply
23d0: 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68   define it to th
23e0: 65 0a 23 20 6c 65 67 61 63 79 20 64 65 66 61 75  e.# legacy defau
23f0: 6c 74 20 76 61 6c 75 65 20 27 63 73 63 2e 65 78  lt value 'csc.ex
2400: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 53  e'..#.!IFNDEF CS
2410: 43 0a 43 53 43 20 3d 20 63 73 63 2e 65 78 65 0a  C.CSC = csc.exe.
2420: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check 
2430: 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20  for the command 
2440: 6d 61 63 72 6f 20 4c 44 2e 20 20 54 68 69 73 20  macro LD.  This 
2450: 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20  should point to 
2460: 74 68 65 20 6c 69 6e 6b 65 72 20 62 69 6e 61 72  the linker binar
2470: 79 20 66 6f 72 0a 23 20 74 68 65 20 74 61 72 67  y for.# the targ
2480: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66  et platform.  If
2490: 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e   it is not defin
24a0: 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e  ed, simply defin
24b0: 65 20 69 74 20 74 6f 20 74 68 65 20 6c 65 67 61  e it to the lega
24c0: 63 79 0a 23 20 64 65 66 61 75 6c 74 20 76 61 6c  cy.# default val
24d0: 75 65 20 27 6c 69 6e 6b 2e 65 78 65 27 2e 0a 23  ue 'link.exe'..#
24e0: 0a 21 49 46 4e 44 45 46 20 4c 44 0a 4c 44 20 3d  .!IFNDEF LD.LD =
24f0: 20 6c 69 6e 6b 2e 65 78 65 0a 21 45 4e 44 49 46   link.exe.!ENDIF
2500: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
2510: 65 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d  e predefined com
2520: 6d 61 6e 64 20 6d 61 63 72 6f 20 52 43 2e 20 20  mand macro RC.  
2530: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e  This should poin
2540: 74 20 74 6f 20 74 68 65 20 72 65 73 6f 75 72 63  t to the resourc
2550: 65 0a 23 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e  e.# compiler bin
2560: 61 72 79 20 66 6f 72 20 74 68 65 20 74 61 72 67  ary for the targ
2570: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66  et platform.  If
2580: 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e   it is not defin
2590: 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e  ed, simply defin
25a0: 65 0a 23 20 69 74 20 74 6f 20 74 68 65 20 6c 65  e.# it to the le
25b0: 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c  gacy default val
25c0: 75 65 20 27 72 63 2e 65 78 65 27 2e 0a 23 0a 21  ue 'rc.exe'..#.!
25d0: 49 46 4e 44 45 46 20 52 43 0a 52 43 20 3d 20 72  IFNDEF RC.RC = r
25e0: 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20  c.exe.!ENDIF..# 
25f0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 4d 53  Check for the MS
2600: 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61  VC runtime libra
2610: 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20  ry path macro.  
2620: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 20  Otherwise, this 
2630: 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 66  value will.# def
2640: 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62  ault to the 'lib
2650: 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65  ' directory unde
2660: 72 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43 20  rneath the MSVC 
2670: 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72  installation dir
2680: 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45  ectory..#.!IFNDE
2690: 46 20 43 52 54 4c 49 42 50 41 54 48 0a 43 52 54  F CRTLIBPATH.CRT
26a0: 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43 49 4e  LIBPATH = $(VCIN
26b0: 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45  STALLDIR)\lib.!E
26c0: 4e 44 49 46 0a 0a 43 52 54 4c 49 42 50 41 54 48  NDIF..CRTLIBPATH
26d0: 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 3a   = $(CRTLIBPATH:
26e0: 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66  \\=\)..# Check f
26f0: 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d  or the command m
2700: 61 63 72 6f 20 4e 43 43 2e 20 20 54 68 69 73 20  acro NCC.  This 
2710: 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20  should point to 
2720: 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e  the compiler bin
2730: 61 72 79 0a 23 20 66 6f 72 20 74 68 65 20 70 6c  ary.# for the pl
2740: 61 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69  atform the compi
2750: 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 69  lation process i
2760: 73 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 6f  s taking place o
2770: 6e 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74  n.  If it is not
2780: 0a 23 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70  .# defined, simp
2790: 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20  ly define it to 
27a0: 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 76 61  have the same va
27b0: 6c 75 65 20 61 73 20 74 68 65 20 43 43 20 6d 61  lue as the CC ma
27c0: 63 72 6f 2e 20 20 57 68 65 6e 0a 23 20 63 72 6f  cro.  When.# cro
27d0: 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2c 20 69 74  ss-compiling, it
27e0: 20 69 73 20 73 75 67 67 65 73 74 65 64 20 74 68   is suggested th
27f0: 61 74 20 74 68 69 73 20 6d 61 63 72 6f 20 62 65  at this macro be
2800: 20 6d 6f 64 69 66 69 65 64 20 76 69 61 20 74 68   modified via th
2810: 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65  e command.# line
2820: 20 28 73 69 6e 63 65 20 6e 6d 61 6b 65 20 69 74   (since nmake it
2830: 73 65 6c 66 20 64 6f 65 73 20 6e 6f 74 20 70 72  self does not pr
2840: 6f 76 69 64 65 20 61 20 62 75 69 6c 74 2d 69 6e  ovide a built-in
2850: 20 6d 65 74 68 6f 64 20 74 6f 20 67 75 65 73 73   method to guess
2860: 20 69 74 29 2e 0a 23 20 46 6f 72 20 65 78 61 6d   it)..# For exam
2870: 70 6c 65 2c 20 74 6f 20 75 73 65 20 74 68 65 20  ple, to use the 
2880: 78 38 36 20 63 6f 6d 70 69 6c 65 72 20 77 68 65  x86 compiler whe
2890: 6e 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e  n cross-compilin
28a0: 67 20 66 6f 72 20 78 36 34 2c 20 61 20 63 6f 6d  g for x64, a com
28b0: 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 73 69 6d 69  mand.# line simi
28c0: 6c 61 72 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f  lar to the follo
28d0: 77 69 6e 67 20 63 6f 75 6c 64 20 62 65 20 75 73  wing could be us
28e0: 65 64 20 28 61 6c 6c 20 6f 6e 20 6f 6e 65 20 6c  ed (all on one l
28f0: 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d  ine):.#.#     nm
2900: 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e  ake /f Makefile.
2910: 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  msc sqlite3.dll.
2920: 23 20 20 20 20 20 20 20 20 20 20 20 58 43 4f 4d  #           XCOM
2930: 50 49 4c 45 3d 31 20 55 53 45 5f 4e 41 54 49 56  PILE=1 USE_NATIV
2940: 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a 23  E_LIBPATHS=1.#.#
2950: 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20   Alternatively, 
2960: 74 68 65 20 66 75 6c 6c 20 70 61 74 68 20 61 6e  the full path an
2970: 64 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 74  d file name to t
2980: 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61  he compiler bina
2990: 72 79 20 66 6f 72 20 74 68 65 0a 23 20 70 6c 61  ry for the.# pla
29a0: 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c  tform the compil
29b0: 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 73  ation process is
29c0: 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 6d 61   taking place ma
29d0: 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20 28  y be specified (
29e0: 61 6c 6c 20 6f 6e 0a 23 20 6f 6e 65 20 6c 69 6e  all on.# one lin
29f0: 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b  e):.#.#     nmak
2a00: 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73  e /f Makefile.ms
2a10: 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20  c sqlite3.dll.# 
2a20: 20 20 20 20 20 20 20 20 20 20 22 4e 43 43 3d 22            "NCC="
2a30: 22 25 56 43 49 4e 53 54 41 4c 4c 44 49 52 25 5c  "%VCINSTALLDIR%\
2a40: 62 69 6e 5c 63 6c 2e 65 78 65 22 22 22 0a 23 20  bin\cl.exe""".# 
2a50: 20 20 20 20 20 20 20 20 20 20 55 53 45 5f 4e 41            USE_NA
2a60: 54 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a  TIVE_LIBPATHS=1.
2a70: 23 0a 21 49 46 44 45 46 20 4e 43 43 0a 4e 43 43  #.!IFDEF NCC.NCC
2a80: 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21   = $(NCC:\\=\).!
2a90: 45 4c 53 45 49 46 20 24 28 58 43 4f 4d 50 49 4c  ELSEIF $(XCOMPIL
2aa0: 45 29 21 3d 30 0a 4e 43 43 20 3d 20 22 24 28 56  E)!=0.NCC = "$(V
2ab0: 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 62 69 6e  CINSTALLDIR)\bin
2ac0: 5c 24 28 43 43 29 22 0a 4e 43 43 20 3d 20 24 28  \$(CC)".NCC = $(
2ad0: 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45 0a  NCC:\\=\).!ELSE.
2ae0: 4e 43 43 20 3d 20 24 28 43 43 29 0a 21 45 4e 44  NCC = $(CC).!END
2af0: 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20  IF..# Check for 
2b00: 74 68 65 20 4d 53 56 43 20 6e 61 74 69 76 65 20  the MSVC native 
2b10: 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20  runtime library 
2b20: 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68  path macro.  Oth
2b30: 65 72 77 69 73 65 2c 0a 23 20 74 68 69 73 20 76  erwise,.# this v
2b40: 61 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75 6c  alue will defaul
2b50: 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64  t to the 'lib' d
2b60: 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65  irectory underne
2b70: 61 74 68 20 74 68 65 20 4d 53 56 43 0a 23 20 69  ath the MSVC.# i
2b80: 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65  nstallation dire
2b90: 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46  ctory..#.!IFNDEF
2ba0: 20 4e 43 52 54 4c 49 42 50 41 54 48 0a 4e 43 52   NCRTLIBPATH.NCR
2bb0: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43 49  TLIBPATH = $(VCI
2bc0: 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21  NSTALLDIR)\lib.!
2bd0: 45 4e 44 49 46 0a 0a 4e 43 52 54 4c 49 42 50 41  ENDIF..NCRTLIBPA
2be0: 54 48 20 3d 20 24 28 4e 43 52 54 4c 49 42 50 41  TH = $(NCRTLIBPA
2bf0: 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63  TH:\\=\)..# Chec
2c00: 6b 20 66 6f 72 20 74 68 65 20 50 6c 61 74 66 6f  k for the Platfo
2c10: 72 6d 20 53 44 4b 20 6c 69 62 72 61 72 79 20 70  rm SDK library p
2c20: 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65  ath macro.  Othe
2c30: 72 77 69 73 65 2c 20 74 68 69 73 0a 23 20 76 61  rwise, this.# va
2c40: 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75 6c 74  lue will default
2c50: 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69   to the 'lib' di
2c60: 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61  rectory undernea
2c70: 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 0a 23  th the Windows.#
2c80: 20 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f   SDK installatio
2c90: 6e 20 64 69 72 65 63 74 6f 72 79 20 28 74 68 65  n directory (the
2ca0: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72   environment var
2cb0: 69 61 62 6c 65 20 75 73 65 64 20 61 70 70 65 61  iable used appea
2cc0: 72 73 0a 23 20 74 6f 20 62 65 20 61 76 61 69 6c  rs.# to be avail
2cd0: 61 62 6c 65 20 77 68 65 6e 20 75 73 69 6e 67 20  able when using 
2ce0: 56 69 73 75 61 6c 20 43 2b 2b 20 32 30 30 38 20  Visual C++ 2008 
2cf0: 6f 72 20 6c 61 74 65 72 20 76 69 61 20 74 68 65  or later via the
2d00: 0a 23 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 29  .# command line)
2d10: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 53 44 4b  ..#.!IFNDEF NSDK
2d20: 4c 49 42 50 41 54 48 0a 4e 53 44 4b 4c 49 42 50  LIBPATH.NSDKLIBP
2d30: 41 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 53  ATH = $(WINDOWSS
2d40: 44 4b 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49  DKDIR)\lib.!ENDI
2d50: 46 0a 0a 4e 53 44 4b 4c 49 42 50 41 54 48 20 3d  F..NSDKLIBPATH =
2d60: 20 24 28 4e 53 44 4b 4c 49 42 50 41 54 48 3a 5c   $(NSDKLIBPATH:\
2d70: 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f  \=\)..# Check fo
2d80: 72 20 74 68 65 20 55 43 52 54 20 6c 69 62 72 61  r the UCRT libra
2d90: 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20  ry path macro.  
2da0: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 20  Otherwise, this 
2db0: 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 66  value will.# def
2dc0: 61 75 6c 74 20 74 6f 20 74 68 65 20 76 65 72 73  ault to the vers
2dd0: 69 6f 6e 2d 73 70 65 63 69 66 69 63 2c 20 70 6c  ion-specific, pl
2de0: 61 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 63 20  atform-specific 
2df0: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 0a  'lib' directory.
2e00: 23 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65  # underneath the
2e10: 20 57 69 6e 64 6f 77 73 20 53 44 4b 20 69 6e 73   Windows SDK ins
2e20: 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74  tallation direct
2e30: 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55  ory..#.!IFNDEF U
2e40: 43 52 54 4c 49 42 50 41 54 48 0a 55 43 52 54 4c  CRTLIBPATH.UCRTL
2e50: 49 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44 4f  IBPATH = $(WINDO
2e60: 57 53 53 44 4b 44 49 52 29 5c 6c 69 62 5c 24 28  WSSDKDIR)\lib\$(
2e70: 57 49 4e 44 4f 57 53 53 44 4b 4c 49 42 56 45 52  WINDOWSSDKLIBVER
2e80: 53 49 4f 4e 29 5c 75 63 72 74 5c 24 28 50 4c 41  SION)\ucrt\$(PLA
2e90: 54 46 4f 52 4d 29 0a 21 45 4e 44 49 46 0a 0a 55  TFORM).!ENDIF..U
2ea0: 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 55  CRTLIBPATH = $(U
2eb0: 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29  CRTLIBPATH:\\=\)
2ec0: 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 61  ..# C compiler a
2ed0: 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75  nd options for u
2ee0: 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65  se in building e
2ef0: 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74 0a  xecutables that.
2f00: 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68  # will run on th
2f10: 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 61 74 20  e platform that 
2f20: 69 73 20 64 6f 69 6e 67 20 74 68 65 20 62 75 69  is doing the bui
2f30: 6c 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ld..#.!IF $(USE_
2f40: 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 42 43 43  FULLWARN)!=0.BCC
2f50: 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67   = $(NCC) -nolog
2f60: 6f 20 2d 57 34 20 24 28 43 43 4f 50 54 53 29 20  o -W4 $(CCOPTS) 
2f70: 24 28 42 43 43 4f 50 54 53 29 0a 21 45 4c 53 45  $(BCCOPTS).!ELSE
2f80: 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e  .BCC = $(NCC) -n
2f90: 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f 50  ologo -W3 $(CCOP
2fa0: 54 53 29 20 24 28 42 43 43 4f 50 54 53 29 0a 21  TS) $(BCCOPTS).!
2fb0: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69  ENDIF..# Check i
2fc0: 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20  f assembly code 
2fd0: 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20  listings should 
2fe0: 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72  be generated for
2ff0: 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f   the source.# co
3000: 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63  de files to be c
3010: 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24  ompiled..#.!IF $
3020: 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d  (USE_LISTINGS)!=
3030: 30 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  0.BCC = $(BCC) -
3040: 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 43  FAcs.!ENDIF..# C
3050: 68 65 63 6b 20 69 66 20 74 68 65 20 6e 61 74 69  heck if the nati
3060: 76 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73  ve library paths
3070: 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20   should be used 
3080: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a 23  when compiling.#
3090: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e   the command lin
30a0: 65 20 74 6f 6f 6c 73 20 75 73 65 64 20 64 75 72  e tools used dur
30b0: 69 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 61 74  ing the compilat
30c0: 69 6f 6e 20 70 72 6f 63 65 73 73 2e 20 20 49 66  ion process.  If
30d0: 0a 23 20 73 6f 2c 20 73 65 74 20 74 68 65 20 6e  .# so, set the n
30e0: 65 63 65 73 73 61 72 79 20 6d 61 63 72 6f 20 6e  ecessary macro n
30f0: 6f 77 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ow..#.!IF $(USE_
3100: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 29  NATIVE_LIBPATHS)
3110: 21 3d 30 0a 4e 4c 54 4c 49 42 50 41 54 48 53 20  !=0.NLTLIBPATHS 
3120: 3d 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 43  = "/LIBPATH:$(NC
3130: 52 54 4c 49 42 50 41 54 48 29 22 20 22 2f 4c 49  RTLIBPATH)" "/LI
3140: 42 50 41 54 48 3a 24 28 4e 53 44 4b 4c 49 42 50  BPATH:$(NSDKLIBP
3150: 41 54 48 29 22 0a 0a 21 49 46 44 45 46 20 4e 55  ATH)"..!IFDEF NU
3160: 43 52 54 4c 49 42 50 41 54 48 0a 4e 55 43 52 54  CRTLIBPATH.NUCRT
3170: 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 55 43 52  LIBPATH = $(NUCR
3180: 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4e  TLIBPATH:\\=\).N
3190: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4e  LTLIBPATHS = $(N
31a0: 4c 54 4c 49 42 50 41 54 48 53 29 20 22 2f 4c 49  LTLIBPATHS) "/LI
31b0: 42 50 41 54 48 3a 24 28 4e 55 43 52 54 4c 49 42  BPATH:$(NUCRTLIB
31c0: 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45  PATH)".!ENDIF.!E
31d0: 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c  NDIF..# C compil
31e0: 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66  er and options f
31f0: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
3200: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
3210: 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f  hat.# will run o
3220: 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61  n the target pla
3230: 74 66 6f 72 6d 2e 20 20 28 42 43 43 20 61 6e 64  tform.  (BCC and
3240: 20 54 43 43 20 61 72 65 20 75 73 75 61 6c 6c 79   TCC are usually
3250: 20 74 68 65 0a 23 20 73 61 6d 65 20 75 6e 6c 65   the.# same unle
3260: 73 73 20 79 6f 75 72 20 61 72 65 20 63 72 6f 73  ss your are cros
3270: 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 29 0a 23 0a  s-compiling.).#.
3280: 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57 41  !IF $(USE_FULLWA
3290: 52 4e 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 43  RN)!=0.TCC = $(C
32a0: 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 2d  C) -nologo -W4 -
32b0: 44 49 4e 43 4c 55 44 45 5f 4d 53 56 43 5f 48 3d  DINCLUDE_MSVC_H=
32c0: 31 20 24 28 43 43 4f 50 54 53 29 20 24 28 54 43  1 $(CCOPTS) $(TC
32d0: 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 54 43 43  COPTS).!ELSE.TCC
32e0: 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f   = $(CC) -nologo
32f0: 20 2d 57 33 20 24 28 43 43 4f 50 54 53 29 20 24   -W3 $(CCOPTS) $
3300: 28 54 43 43 4f 50 54 53 29 0a 21 45 4e 44 49 46  (TCCOPTS).!ENDIF
3310: 0a 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  ..TCC = $(TCC) -
3320: 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31  DSQLITE_OS_WIN=1
3330: 20 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49   -I. -I$(TOP) -I
3340: 24 28 54 4f 50 29 5c 73 72 63 20 2d 66 70 3a 70  $(TOP)\src -fp:p
3350: 72 65 63 69 73 65 0a 52 43 43 20 3d 20 24 28 52  recise.RCC = $(R
3360: 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57  C) -DSQLITE_OS_W
3370: 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28 54 4f 50  IN=1 -I. -I$(TOP
3380: 29 20 2d 49 24 28 54 4f 50 29 5c 73 72 63 20 24  ) -I$(TOP)\src $
3390: 28 52 43 4f 50 54 53 29 20 24 28 52 43 43 4f 50  (RCOPTS) $(RCCOP
33a0: 54 53 29 0a 0a 23 20 43 68 65 63 6b 20 69 66 20  TS)..# Check if 
33b0: 77 65 20 77 61 6e 74 20 74 6f 20 75 73 65 20 74  we want to use t
33c0: 68 65 20 22 73 74 64 63 61 6c 6c 22 20 63 61 6c  he "stdcall" cal
33d0: 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20  ling convention 
33e0: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a  when compiling..
33f0: 23 20 54 68 69 73 20 69 73 20 6e 6f 74 20 73 75  # This is not su
3400: 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 63  pported by the c
3410: 6f 6d 70 69 6c 65 72 73 20 66 6f 72 20 6e 6f 6e  ompilers for non
3420: 2d 78 38 36 20 70 6c 61 74 66 6f 72 6d 73 2e 20  -x86 platforms. 
3430: 20 49 74 20 73 68 6f 75 6c 64 0a 23 20 61 6c 73   It should.# als
3440: 6f 20 62 65 20 6e 6f 74 65 64 20 68 65 72 65 20  o be noted here 
3450: 74 68 61 74 20 62 75 69 6c 64 69 6e 67 20 61 6e  that building an
3460: 79 20 74 61 72 67 65 74 20 77 69 74 68 20 74 68  y target with th
3470: 65 73 65 20 22 73 74 64 63 61 6c 6c 22 20 6f 70  ese "stdcall" op
3480: 74 69 6f 6e 73 0a 23 20 77 69 6c 6c 20 6d 6f 73  tions.# will mos
3490: 74 20 6c 69 6b 65 6c 79 20 66 61 69 6c 20 69 66  t likely fail if
34a0: 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79   the Tcl library
34b0: 20 69 73 20 61 6c 73 6f 20 72 65 71 75 69 72 65   is also require
34c0: 64 2e 20 20 54 68 69 73 20 69 73 20 64 75 65 0a  d.  This is due.
34d0: 23 20 74 6f 20 68 6f 77 20 74 68 65 20 54 63 6c  # to how the Tcl
34e0: 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f   library functio
34f0: 6e 73 20 61 72 65 20 64 65 63 6c 61 72 65 64 20  ns are declared 
3500: 61 6e 64 20 65 78 70 6f 72 74 65 64 20 28 69 2e  and exported (i.
3510: 65 2e 20 77 69 74 68 6f 75 74 0a 23 20 61 6e 20  e. without.# an 
3520: 65 78 70 6c 69 63 69 74 20 63 61 6c 6c 69 6e 67  explicit calling
3530: 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 77 68 69   convention, whi
3540: 63 68 20 72 65 73 75 6c 74 73 20 69 6e 20 22 63  ch results in "c
3550: 64 65 63 6c 22 29 2e 0a 23 0a 21 49 46 20 24 28  decl")..#.!IF $(
3560: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20  USE_STDCALL)!=0 
3570: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
3580: 3d 30 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f  =0.!IF "$(PLATFO
3590: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
35a0: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47  _CCONV_OPTS = -G
35b0: 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c  z -DSQLITE_CDECL
35c0: 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54  =__cdecl -DSQLIT
35d0: 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63  E_APICALL=__stdc
35e0: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c  all -DSQLITE_CAL
35f0: 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20  LBACK=__stdcall 
3600: 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d  -DSQLITE_SYSAPI=
3610: 5f 5f 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f  __stdcall.SHELL_
3620: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a  CCONV_OPTS = -Gz
3630: 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d   -DSQLITE_CDECL=
3640: 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45  __cdecl -DSQLITE
3650: 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61  _APICALL=__stdca
3660: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c  ll -DSQLITE_CALL
3670: 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  BACK=__stdcall -
3680: 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f  DSQLITE_SYSAPI=_
3690: 5f 73 74 64 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72  _stdcall.# <<mar
36a0: 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f  k>>.TEST_CCONV_O
36b0: 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49  PTS = -Gz -DSQLI
36c0: 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c  TE_CDECL=__cdecl
36d0: 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c   -DSQLITE_APICAL
36e0: 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  L=__stdcall -DSQ
36f0: 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f  LITE_CALLBACK=__
3700: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3710: 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c  _SYSAPI=__stdcal
3720: 6c 20 2d 44 49 4e 43 4c 55 44 45 5f 53 51 4c 49  l -DINCLUDE_SQLI
3730: 54 45 5f 54 43 4c 5f 48 3d 31 20 2d 44 53 51 4c  TE_TCL_H=1 -DSQL
3740: 49 54 45 5f 54 43 4c 41 50 49 3d 5f 5f 63 64 65  ITE_TCLAPI=__cde
3750: 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21  cl.# <</mark>>.!
3760: 45 4c 53 45 0a 21 49 46 4e 44 45 46 20 50 4c 41  ELSE.!IFNDEF PLA
3770: 54 46 4f 52 4d 0a 43 4f 52 45 5f 43 43 4f 4e 56  TFORM.CORE_CCONV
3780: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3790: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
37a0: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
37b0: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
37c0: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
37d0: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
37e0: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
37f0: 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f  all.SHELL_CCONV_
3800: 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c  OPTS = -Gz -DSQL
3810: 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63  ITE_CDECL=__cdec
3820: 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41  l -DSQLITE_APICA
3830: 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  LL=__stdcall -DS
3840: 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f  QLITE_CALLBACK=_
3850: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3860: 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61  E_SYSAPI=__stdca
3870: 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45  ll.# <<mark>>.TE
3880: 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20  ST_CCONV_OPTS = 
3890: 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45  -Gz -DSQLITE_CDE
38a0: 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c  CL=__cdecl -DSQL
38b0: 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74  ITE_APICALL=__st
38c0: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43  dcall -DSQLITE_C
38d0: 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c  ALLBACK=__stdcal
38e0: 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50  l -DSQLITE_SYSAP
38f0: 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49 4e  I=__stdcall -DIN
3900: 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43 4c  CLUDE_SQLITE_TCL
3910: 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54 43  _H=1 -DSQLITE_TC
3920: 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c  LAPI=__cdecl.# <
3930: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 43  </mark>>.!ELSE.C
3940: 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ORE_CCONV_OPTS =
3950: 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54  .SHELL_CCONV_OPT
3960: 53 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54  S =.# <<mark>>.T
3970: 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  EST_CCONV_OPTS =
3980: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e  .# <</mark>>.!EN
3990: 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45  DIF.!ENDIF.!ELSE
39a0: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
39b0: 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f   =.SHELL_CCONV_O
39c0: 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  PTS =.# <<mark>>
39d0: 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53  .TEST_CCONV_OPTS
39e0: 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21   =.# <</mark>>.!
39f0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
3a00: 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f  re additional co
3a10: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75  mpiler options u
3a20: 73 65 64 20 66 6f 72 20 74 68 65 20 63 6f 72 65  sed for the core
3a30: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
3a40: 44 45 46 20 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  DEF CORE_COMPILE
3a50: 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41  _OPTS.!IF $(DYNA
3a60: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c  MIC_SHELL)!=0 ||
3a70: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
3a80: 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  .CORE_COMPILE_OP
3a90: 54 53 20 3d 20 24 28 43 4f 52 45 5f 43 43 4f 4e  TS = $(CORE_CCON
3aa0: 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45  V_OPTS) -DSQLITE
3ab0: 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65 63 28  _API=__declspec(
3ac0: 64 6c 6c 65 78 70 6f 72 74 29 0a 21 45 4c 53 45  dllexport).!ELSE
3ad0: 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  .CORE_COMPILE_OP
3ae0: 54 53 20 3d 20 24 28 43 4f 52 45 5f 43 43 4f 4e  TS = $(CORE_CCON
3af0: 56 5f 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 21  V_OPTS).!ENDIF.!
3b00: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
3b10: 72 65 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61  re the additiona
3b20: 6c 20 74 61 72 67 65 74 73 20 74 68 61 74 20 74  l targets that t
3b30: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20  he core library 
3b40: 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 20 6f 6e  should depend on
3b50: 0a 23 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 2e  .# when linking.
3b60: 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f  .#.!IFNDEF CORE_
3b70: 4c 49 4e 4b 5f 44 45 50 0a 21 49 46 20 24 28 44  LINK_DEP.!IF $(D
3b80: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30  YNAMIC_SHELL)!=0
3b90: 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d  .CORE_LINK_DEP =
3ba0: 0a 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57  .!ELSEIF $(FOR_W
3bb0: 49 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50  IN10)==0 || "$(P
3bc0: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22  LATFORM)"=="x86"
3bd0: 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d  .CORE_LINK_DEP =
3be0: 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 21 45 4c   sqlite3.def.!EL
3bf0: 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50  SE.CORE_LINK_DEP
3c00: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46   =.!ENDIF.!ENDIF
3c10: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
3c20: 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20  ditional linker 
3c30: 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72  options used for
3c40: 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72   the core librar
3c50: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f 52  y..#.!IFNDEF COR
3c60: 45 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 21 49 46 20  E_LINK_OPTS.!IF 
3c70: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
3c80: 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50  !=0.CORE_LINK_OP
3c90: 54 53 20 3d 0a 21 45 4c 53 45 49 46 20 24 28 46  TS =.!ELSEIF $(F
3ca0: 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20 7c 7c 20  OR_WIN10)==0 || 
3cb0: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22  "$(PLATFORM)"=="
3cc0: 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f  x86".CORE_LINK_O
3cd0: 50 54 53 20 3d 20 2f 44 45 46 3a 73 71 6c 69 74  PTS = /DEF:sqlit
3ce0: 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52  e3.def.!ELSE.COR
3cf0: 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45  E_LINK_OPTS =.!E
3d00: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
3d10: 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f  hese are additio
3d20: 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74  nal compiler opt
3d30: 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68  ions used for th
3d40: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
3d50: 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48  le..#.!IFNDEF SH
3d60: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
3d70: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S
3d80: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  HELL)!=0 || $(FO
3d90: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c  R_WIN10)!=0.SHEL
3da0: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  L_COMPILE_OPTS =
3db0: 20 24 28 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f   $(SHELL_CCONV_O
3dc0: 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50  PTS) -DSQLITE_AP
3dd0: 49 3d 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c  I=__declspec(dll
3de0: 69 6d 70 6f 72 74 29 0a 21 45 4c 53 45 0a 53 48  import).!ELSE.SH
3df0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
3e00: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43 4f 4e 56   = $(SHELL_CCONV
3e10: 5f 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 21 45  _OPTS).!ENDIF.!E
3e20: 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20  NDIF..# This is 
3e30: 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20  the source code 
3e40: 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65  that the shell e
3e50: 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64  xecutable should
3e60: 20 62 65 20 63 6f 6d 70 69 6c 65 64 0a 23 20 77   be compiled.# w
3e70: 69 74 68 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53  ith..#.!IFNDEF S
3e80: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 0a 21 49  HELL_CORE_SRC.!I
3e90: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c  F $(DYNAMIC_SHEL
3ea0: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W
3eb0: 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43  IN10)!=0.SHELL_C
3ec0: 4f 52 45 5f 53 52 43 20 3d 0a 21 45 4c 53 45 0a  ORE_SRC =.!ELSE.
3ed0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d  SHELL_CORE_SRC =
3ee0: 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21 45 4e   $(SQLITE3C).!EN
3ef0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
3f00: 69 73 20 69 73 20 74 68 65 20 63 6f 72 65 20 6c  is is the core l
3f10: 69 62 72 61 72 79 20 74 68 61 74 20 74 68 65 20  ibrary that the 
3f20: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  shell executable
3f30: 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 20 6f   should depend o
3f40: 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45  n..#.!IFNDEF SHE
3f50: 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21 49 46 20  LL_CORE_DEP.!IF 
3f60: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
3f70: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
3f80: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52  10)!=0.SHELL_COR
3f90: 45 5f 44 45 50 20 3d 20 24 28 53 51 4c 49 54 45  E_DEP = $(SQLITE
3fa0: 33 44 4c 4c 29 0a 21 45 4c 53 45 0a 53 48 45 4c  3DLL).!ELSE.SHEL
3fb0: 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 0a 21 45 4e  L_CORE_DEP =.!EN
3fc0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
3fd0: 69 73 20 69 73 20 74 68 65 20 63 6f 72 65 20 6c  is is the core l
3fe0: 69 62 72 61 72 79 20 74 68 61 74 20 74 68 65 20  ibrary that the 
3ff0: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  shell executable
4000: 20 73 68 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74   should link wit
4010: 68 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45  h..#.!IFNDEF SHE
4020: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20  LL_CORE_LIB.!IF 
4030: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL)
4040: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN
4050: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52  10)!=0.SHELL_COR
4060: 45 5f 4c 49 42 20 3d 20 24 28 53 51 4c 49 54 45  E_LIB = $(SQLITE
4070: 33 4c 49 42 29 0a 21 45 4c 53 45 0a 53 48 45 4c  3LIB).!ELSE.SHEL
4080: 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a 21 45 4e  L_CORE_LIB =.!EN
4090: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
40a0: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e  ese are addition
40b0: 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  al linker option
40c0: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 73  s used for the s
40d0: 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e  hell executable.
40e0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c  .#.!IFNDEF SHELL
40f0: 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48 45 4c 4c  _LINK_OPTS.SHELL
4100: 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 24 28 53  _LINK_OPTS = $(S
4110: 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 29 0a 21  HELL_CORE_LIB).!
4120: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69  ENDIF..# Check i
4130: 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20  f assembly code 
4140: 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20  listings should 
4150: 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72  be generated for
4160: 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f   the source.# co
4170: 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63  de files to be c
4180: 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24  ompiled..#.!IF $
4190: 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d  (USE_LISTINGS)!=
41a0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
41b0: 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 57  FAcs.!ENDIF..# W
41c0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68  hen compiling th
41d0: 65 20 6c 69 62 72 61 72 79 20 66 6f 72 20 75 73  e library for us
41e0: 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 20 65  e in the WinRT e
41f0: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23 20 74 68  nvironment,.# th
4200: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 70  e following comp
4210: 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 6f 6e 73  ile-time options
4220: 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 61 73   must be used as
4230: 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69 73 61 62   well to.# disab
4240: 6c 65 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20  le use of Win32 
4250: 41 50 49 73 20 74 68 61 74 20 61 72 65 20 6e 6f  APIs that are no
4260: 74 20 61 76 61 69 6c 61 62 6c 65 20 61 6e 64 20  t available and 
4270: 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75 73 65 20  to enable.# use 
4280: 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20 74 68  of Win32 APIs th
4290: 61 74 20 61 72 65 20 73 70 65 63 69 66 69 63 20  at are specific 
42a0: 74 6f 20 57 69 6e 64 6f 77 73 20 38 20 61 6e 64  to Windows 8 and
42b0: 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a 21 49 46  /or WinRT..#.!IF
42c0: 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30   $(FOR_WINRT)!=0
42d0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
42e0: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d  SQLITE_OS_WINRT=
42f0: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
4300: 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54  DSQLITE_OS_WINRT
4310: 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =1.TCC = $(TCC) 
4320: 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d  -DWINAPI_FAMILY=
4330: 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50  WINAPI_FAMILY_AP
4340: 50 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  P.RCC = $(RCC) -
4350: 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d 57  DWINAPI_FAMILY=W
4360: 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50 50  INAPI_FAMILY_APP
4370: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d  .!ENDIF..# C com
4380: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
4390: 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30  r the Windows 10
43a0: 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65 65 64 73   platform (needs
43b0: 20 4d 53 56 43 20 32 30 31 35 29 2e 0a 23 0a 21   MSVC 2015)..#.!
43c0: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  IF $(FOR_WIN10)!
43d0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
43e0: 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41 52 4d  /d2guard4 -D_ARM
43f0: 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54 49 4f  _WINAPI_PARTITIO
4400: 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56  N_DESKTOP_SDK_AV
4410: 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d 20 24 28  AILABLE.BCC = $(
4420: 42 43 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d  BCC) /d2guard4 -
4430: 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52  D_ARM_WINAPI_PAR
4440: 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53  TITION_DESKTOP_S
4450: 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 21 45 4e  DK_AVAILABLE.!EN
4460: 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20 77 65 20  DIF..# Also, we 
4470: 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d 69 63 61  need to dynamica
4480: 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20  lly link to the 
4490: 63 6f 72 72 65 63 74 20 4d 53 56 43 20 72 75 6e  correct MSVC run
44a0: 74 69 6d 65 0a 23 20 77 68 65 6e 20 63 6f 6d 70  time.# when comp
44b0: 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 52 54 20  iling for WinRT 
44c0: 28 65 2e 67 2e 20 64 65 62 75 67 20 6f 72 20 72  (e.g. debug or r
44d0: 65 6c 65 61 73 65 29 20 4f 52 20 69 66 20 74 68  elease) OR if th
44e0: 65 0a 23 20 55 53 45 5f 43 52 54 5f 44 4c 4c 20  e.# USE_CRT_DLL 
44f0: 6f 70 74 69 6f 6e 20 69 73 20 73 65 74 20 74 6f  option is set to
4500: 20 66 6f 72 63 65 20 64 79 6e 61 6d 69 63 61 6c   force dynamical
4510: 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68  ly linking to th
4520: 65 0a 23 20 4d 53 56 43 20 72 75 6e 74 69 6d 65  e.# MSVC runtime
4530: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 20   library..#.!IF 
4540: 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 20  $(FOR_WINRT)!=0 
4550: 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f 44 4c 4c  || $(USE_CRT_DLL
4560: 29 21 3d 30 0a 21 49 46 20 24 28 44 45 42 55 47  )!=0.!IF $(DEBUG
4570: 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>1.TCC = $(TCC)
4580: 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24 28 42 43   -MDd.BCC = $(BC
4590: 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45 0a 54 43  C) -MDd.!ELSE.TC
45a0: 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 0a 42  C = $(TCC) -MD.B
45b0: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 0a  CC = $(BCC) -MD.
45c0: 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 21 49 46  !ENDIF.!ELSE.!IF
45d0: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20   $(DEBUG)>1.TCC 
45e0: 3d 20 24 28 54 43 43 29 20 2d 4d 54 64 0a 42 43  = $(TCC) -MTd.BC
45f0: 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54 64 0a  C = $(BCC) -MTd.
4600: 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54 43  !ELSE.TCC = $(TC
4610: 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20 24 28 42  C) -MT.BCC = $(B
4620: 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49 46 0a 21  CC) -MT.!ENDIF.!
4630: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
4640: 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65  >.# The mksqlite
4650: 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b 73 71 6c  3c.tcl and mksql
4660: 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69 70 74  ite3h.tcl script
4670: 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69 6e 0a 23  s will pull in.#
4680: 20 61 6e 79 20 65 78 74 65 6e 73 69 6f 6e 20 68   any extension h
4690: 65 61 64 65 72 20 66 69 6c 65 73 20 62 79 20 64  eader files by d
46a0: 65 66 61 75 6c 74 2e 20 20 46 6f 72 20 6e 6f 6e  efault.  For non
46b0: 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 20  -amalgamation.# 
46c0: 62 75 69 6c 64 73 2c 20 77 65 20 6e 65 65 64 20  builds, we need 
46d0: 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65  to make sure the
46e0: 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 20 66 69   compiler can fi
46f0: 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21 49 46 20  nd these..#.!IF 
4700: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI
4710: 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54  ON)==0.TCC = $(T
4720: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext
4730: 5c 66 74 73 33 0a 52 43 43 20 3d 20 24 28 52 43  \fts3.RCC = $(RC
4740: 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c  C) -I$(TOP)\ext\
4750: 66 74 73 33 0a 54 43 43 20 3d 20 24 28 54 43 43  fts3.TCC = $(TCC
4760: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 72  ) -I$(TOP)\ext\r
4770: 74 72 65 65 0a 52 43 43 20 3d 20 24 28 52 43 43  tree.RCC = $(RCC
4780: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 72  ) -I$(TOP)\ext\r
4790: 74 72 65 65 0a 54 43 43 20 3d 20 24 28 54 43 43  tree.TCC = $(TCC
47a0: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 73  ) -I$(TOP)\ext\s
47b0: 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20 24 28 52  ession.RCC = $(R
47c0: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext
47d0: 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44 49 46 0a  \session.!ENDIF.
47e0: 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33  .# The mksqlite3
47f0: 63 2e 74 63 6c 20 73 63 72 69 70 74 20 61 63 63  c.tcl script acc
4800: 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e  epts some option
4810: 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64  s on the command
4820: 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65 6e 20 63  .# line.  When c
4830: 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20 64 65  ompiling with de
4840: 62 75 67 67 69 6e 67 20 65 6e 61 62 6c 65 64 2c  bugging enabled,
4850: 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 0a 23   some of these.#
4860: 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 6e 65 63   options are nec
4870: 65 73 73 61 72 79 20 69 6e 20 6f 72 64 65 72 20  essary in order 
4880: 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75 67 67 69  to allow debuggi
4890: 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f 0a 23 20  ng symbols to.# 
48a0: 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20 77  work correctly w
48b0: 69 74 68 20 56 69 73 75 61 6c 20 53 74 75 64 69  ith Visual Studi
48c0: 6f 20 77 68 65 6e 20 75 73 69 6e 67 20 74 68 65  o when using the
48d0: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
48e0: 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54  .!IFNDEF MKSQLIT
48f0: 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20 24 28 4d  E3C_TOOL.!IF $(M
4900: 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41 54  INIMAL_AMALGAMAT
4910: 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45  ION)!=0.MKSQLITE
4920: 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29  3C_TOOL = $(TOP)
4930: 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63  \tool\mksqlite3c
4940: 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45 4c 53 45  -noext.tcl.!ELSE
4950: 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c  .MKSQLITE3C_TOOL
4960: 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d   = $(TOP)\tool\m
4970: 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 21 45  ksqlite3c.tcl.!E
4980: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46  NDIF.!ENDIF..!IF
4990: 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f  NDEF MKSQLITE3C_
49a0: 41 52 47 53 0a 21 49 46 20 24 28 44 45 42 55 47  ARGS.!IF $(DEBUG
49b0: 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41  )>1.MKSQLITE3C_A
49c0: 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d 61 63 72  RGS = --linemacr
49d0: 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54  os.!ELSE.MKSQLIT
49e0: 45 33 43 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49  E3C_ARGS =.!ENDI
49f0: 46 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43  F.!IF $(USE_STDC
4a00: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR
4a10: 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53 51 4c  _WIN10)!=0.MKSQL
4a20: 49 54 45 33 43 5f 41 52 47 53 20 3d 20 24 28 4d  ITE3C_ARGS = $(M
4a30: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29 20  KSQLITE3C_ARGS) 
4a40: 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21 45 4e  --useapicall.!EN
4a50: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
4a60: 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  e mksqlite3h.tcl
4a70: 20 73 63 72 69 70 74 20 61 63 63 65 70 74 73 20   script accepts 
4a80: 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20  some options on 
4a90: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  the command line
4aa0: 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69  ..# When compili
4ab0: 6e 67 20 77 69 74 68 20 73 74 64 63 61 6c 6c 20  ng with stdcall 
4ac0: 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65 20 6f 66  support, some of
4ad0: 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 61   these options a
4ae0: 72 65 0a 23 20 6e 65 63 65 73 73 61 72 79 2e 0a  re.# necessary..
4af0: 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49  #.!IFNDEF MKSQLI
4b00: 54 45 33 48 5f 41 52 47 53 0a 21 49 46 20 24 28  TE3H_ARGS.!IF $(
4b10: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20  USE_STDCALL)!=0 
4b20: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
4b30: 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52  =0.MKSQLITE3H_AR
4b40: 47 53 20 3d 20 2d 2d 75 73 65 61 70 69 63 61 6c  GS = --useapical
4b50: 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45  l.!ELSE.MKSQLITE
4b60: 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49 46  3H_ARGS =.!ENDIF
4b70: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
4b80: 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65 20 2d 44  k>>..# Define -D
4b90: 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d 70 69 6c  NDEBUG to compil
4ba0: 65 20 77 69 74 68 6f 75 74 20 64 65 62 75 67 67  e without debugg
4bb0: 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f 72 20 70  ing (i.e., for p
4bc0: 72 6f 64 75 63 74 69 6f 6e 20 75 73 61 67 65 29  roduction usage)
4bd0: 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74 68 65 20  .# Omitting the 
4be0: 64 65 66 69 6e 65 20 77 69 6c 6c 20 63 61 75 73  define will caus
4bf0: 65 20 65 78 74 72 61 20 64 65 62 75 67 67 69 6e  e extra debuggin
4c00: 67 20 63 6f 64 65 20 74 6f 20 62 65 20 69 6e 73  g code to be ins
4c10: 65 72 74 65 64 20 61 6e 64 0a 23 20 69 6e 63 6c  erted and.# incl
4c20: 75 64 65 73 20 65 78 74 72 61 20 63 6f 6d 6d 65  udes extra comme
4c30: 6e 74 73 20 77 68 65 6e 20 22 45 58 50 4c 41 49  nts when "EXPLAI
4c40: 4e 20 73 74 6d 74 22 20 69 73 20 75 73 65 64 2e  N stmt" is used.
4c50: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3d  .#.!IF $(DEBUG)=
4c60: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 
4c70: 2d 44 4e 44 45 42 55 47 0a 42 43 43 20 3d 20 24  -DNDEBUG.BCC = $
4c80: 28 42 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 52  (BCC) -DNDEBUG.R
4c90: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 4e 44  CC = $(RCC) -DND
4ca0: 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 21 49 46  EBUG.!ENDIF..!IF
4cb0: 20 24 28 44 45 42 55 47 29 3e 30 20 7c 7c 20 24   $(DEBUG)>0 || $
4cc0: 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d 30 20 7c  (API_ARMOR)!=0 |
4cd0: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
4ce0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
4cf0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41  DSQLITE_ENABLE_A
4d00: 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43 43 20 3d  PI_ARMOR=1.RCC =
4d10: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE
4d20: 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f  _ENABLE_API_ARMO
4d30: 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20  R=1.!ENDIF..!IF 
4d40: 24 28 44 45 42 55 47 29 3e 32 0a 54 43 43 20 3d  $(DEBUG)>2.TCC =
4d50: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
4d60: 5f 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20 24  _DEBUG=1.RCC = $
4d70: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 44  (RCC) -DSQLITE_D
4d80: 45 42 55 47 3d 31 0a 21 45 4e 44 49 46 0a 0a 21  EBUG=1.!ENDIF..!
4d90: 49 46 20 24 28 44 45 42 55 47 29 3e 34 20 7c 7c  IF $(DEBUG)>4 ||
4da0: 20 24 28 4f 53 54 52 41 43 45 29 21 3d 30 0a 54   $(OSTRACE)!=0.T
4db0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
4dc0: 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54 52  LITE_FORCE_OS_TR
4dd0: 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f 44  ACE=1 -DSQLITE_D
4de0: 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31 0a  EBUG_OS_TRACE=1.
4df0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
4e00: 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54  QLITE_FORCE_OS_T
4e10: 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RACE=1 -DSQLITE_
4e20: 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31  DEBUG_OS_TRACE=1
4e30: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D
4e40: 45 42 55 47 29 3e 35 0a 54 43 43 20 3d 20 24 28  EBUG)>5.TCC = $(
4e50: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TCC) -DSQLITE_EN
4e60: 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 52  ABLE_IOTRACE=1.R
4e70: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
4e80: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
4e90: 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20  ACE=1.!ENDIF..# 
4ea0: 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67 73  Prevent warnings
4eb0: 20 61 62 6f 75 74 20 22 69 6e 73 65 63 75 72 65   about "insecure
4ec0: 22 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c  " MSVC runtime l
4ed0: 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73  ibrary functions
4ee0: 0a 23 20 62 65 69 6e 67 20 75 73 65 64 2e 0a 23  .# being used..#
4ef0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
4f00: 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44  _CRT_SECURE_NO_D
4f10: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
4f20: 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e  SECURE_NO_WARNIN
4f30: 47 53 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  GS.BCC = $(BCC) 
4f40: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f  -D_CRT_SECURE_NO
4f50: 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52  _DEPRECATE -D_CR
4f60: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e  T_SECURE_NO_WARN
4f70: 49 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43  INGS.RCC = $(RCC
4f80: 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  ) -D_CRT_SECURE_
4f90: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
4fa0: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41  CRT_SECURE_NO_WA
4fb0: 52 4e 49 4e 47 53 0a 0a 23 20 50 72 65 76 65 6e  RNINGS..# Preven
4fc0: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74  t warnings about
4fd0: 20 22 64 65 70 72 65 63 61 74 65 64 22 20 50 4f   "deprecated" PO
4fe0: 53 49 58 20 66 75 6e 63 74 69 6f 6e 73 20 62 65  SIX functions be
4ff0: 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20  ing used..#.TCC 
5000: 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f  = $(TCC) -D_CRT_
5010: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45  NONSTDC_NO_DEPRE
5020: 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53  CATE -D_CRT_NONS
5030: 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a  TDC_NO_WARNINGS.
5040: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f  BCC = $(BCC) -D_
5050: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44  CRT_NONSTDC_NO_D
5060: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
5070: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49  NONSTDC_NO_WARNI
5080: 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43 29  NGS.RCC = $(RCC)
5090: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f   -D_CRT_NONSTDC_
50a0: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
50b0: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57  CRT_NONSTDC_NO_W
50c0: 41 52 4e 49 4e 47 53 0a 0a 23 20 55 73 65 20 74  ARNINGS..# Use t
50d0: 68 65 20 53 51 4c 69 74 65 20 64 65 62 75 67 67  he SQLite debugg
50e0: 69 6e 67 20 68 65 61 70 20 73 75 62 73 79 73 74  ing heap subsyst
50f0: 65 6d 3f 0a 23 0a 21 49 46 20 24 28 4d 45 4d 44  em?.#.!IF $(MEMD
5100: 45 42 55 47 29 21 3d 30 0a 54 43 43 20 3d 20 24  EBUG)!=0.TCC = $
5110: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4d  (TCC) -DSQLITE_M
5120: 45 4d 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20  EMDEBUG=1.RCC = 
5130: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_
5140: 4d 45 4d 44 45 42 55 47 3d 31 0a 0a 23 20 55 73  MEMDEBUG=1..# Us
5150: 65 20 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68  e native Win32 h
5160: 65 61 70 20 73 75 62 73 79 73 74 65 6d 20 69 6e  eap subsystem in
5170: 73 74 65 61 64 20 6f 66 20 6d 61 6c 6c 6f 63 2f  stead of malloc/
5180: 66 72 65 65 3f 0a 23 0a 21 45 4c 53 45 49 46 20  free?.#.!ELSEIF 
5190: 24 28 57 49 4e 33 32 48 45 41 50 29 21 3d 30 0a  $(WIN32HEAP)!=0.
51a0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
51b0: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c  QLITE_WIN32_MALL
51c0: 4f 43 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  OC=1.RCC = $(RCC
51d0: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32  ) -DSQLITE_WIN32
51e0: 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23 20 56 61 6c  _MALLOC=1..# Val
51f0: 69 64 61 74 65 20 74 68 65 20 68 65 61 70 20 6f  idate the heap o
5200: 6e 20 65 76 65 72 79 20 63 61 6c 6c 20 69 6e 74  n every call int
5210: 6f 20 74 68 65 20 6e 61 74 69 76 65 20 57 69 6e  o the native Win
5220: 33 32 20 68 65 61 70 20 73 75 62 73 79 73 74 65  32 heap subsyste
5230: 6d 3f 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47  m?.#.!IF $(DEBUG
5240: 29 3e 33 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>3.TCC = $(TCC)
5250: 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f   -DSQLITE_WIN32_
5260: 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d  MALLOC_VALIDATE=
5270: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
5280: 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41  DSQLITE_WIN32_MA
5290: 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d 31 0a  LLOC_VALIDATE=1.
52a0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
52b0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20   <<mark>>.# The 
52c0: 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65  locations of the
52d0: 20 54 63 6c 20 68 65 61 64 65 72 20 61 6e 64 20   Tcl header and 
52e0: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20  library files.  
52f0: 41 6c 73 6f 2c 20 74 68 65 20 6c 69 62 72 61 72  Also, the librar
5300: 79 20 74 68 61 74 0a 23 20 6e 6f 6e 2d 73 74 75  y that.# non-stu
5310: 62 73 20 65 6e 61 62 6c 65 64 20 70 72 6f 67 72  bs enabled progr
5320: 61 6d 73 20 75 73 69 6e 67 20 54 63 6c 20 6d 75  ams using Tcl mu
5330: 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e  st link against.
5340: 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65    These variable
5350: 73 0a 23 20 28 54 43 4c 49 4e 43 44 49 52 2c 20  s.# (TCLINCDIR, 
5360: 54 43 4c 4c 49 42 44 49 52 2c 20 61 6e 64 20 4c  TCLLIBDIR, and L
5370: 49 42 54 43 4c 29 20 6d 61 79 20 62 65 20 6f 76  IBTCL) may be ov
5380: 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65  erridden via the
5390: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70   environment.# p
53a0: 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20  rior to running 
53b0: 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74  nmake in order t
53c0: 6f 20 6d 61 74 63 68 20 74 68 65 20 61 63 74 75  o match the actu
53d0: 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f 63  al installed loc
53e0: 61 74 69 6f 6e 20 61 6e 64 0a 23 20 76 65 72 73  ation and.# vers
53f0: 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63 68  ion on this mach
5400: 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54  ine..#.!IFNDEF T
5410: 43 4c 49 4e 43 44 49 52 0a 54 43 4c 49 4e 43 44  CLINCDIR.TCLINCD
5420: 49 52 20 3d 20 63 3a 5c 74 63 6c 5c 69 6e 63 6c  IR = c:\tcl\incl
5430: 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  ude.!ENDIF..!IFN
5440: 44 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 43  DEF TCLLIBDIR.TC
5450: 4c 4c 49 42 44 49 52 20 3d 20 63 3a 5c 74 63 6c  LLIBDIR = c:\tcl
5460: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46  \lib.!ENDIF..!IF
5470: 4e 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49 42 54  NDEF LIBTCL.LIBT
5480: 43 4c 20 3d 20 74 63 6c 38 35 2e 6c 69 62 0a 21  CL = tcl85.lib.!
5490: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c  ENDIF..!IFNDEF L
54a0: 49 42 54 43 4c 53 54 55 42 0a 4c 49 42 54 43 4c  IBTCLSTUB.LIBTCL
54b0: 53 54 55 42 20 3d 20 74 63 6c 73 74 75 62 38 35  STUB = tclstub85
54c0: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46  .lib.!ENDIF..!IF
54d0: 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54 48 0a  NDEF LIBTCLPATH.
54e0: 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 63 3a 5c  LIBTCLPATH = c:\
54f0: 74 63 6c 5c 62 69 6e 0a 21 45 4e 44 49 46 0a 0a  tcl\bin.!ENDIF..
5500: 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20  # The locations 
5510: 6f 66 20 74 68 65 20 49 43 55 20 68 65 61 64 65  of the ICU heade
5520: 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69  r and library fi
5530: 6c 65 73 2e 20 20 54 68 65 73 65 20 76 61 72 69  les.  These vari
5540: 61 62 6c 65 73 0a 23 20 28 49 43 55 49 4e 43 44  ables.# (ICUINCD
5550: 49 52 2c 20 49 43 55 4c 49 42 44 49 52 2c 20 61  IR, ICULIBDIR, a
5560: 6e 64 20 4c 49 42 49 43 55 29 20 6d 61 79 20 62  nd LIBICU) may b
5570: 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61  e overridden via
5580: 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74   the environment
5590: 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e  .# prior to runn
55a0: 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64  ing nmake in ord
55b0: 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20  er to match the 
55c0: 61 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64  actual installed
55d0: 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e 0a 23 20 74   location on.# t
55e0: 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21  his machine..#.!
55f0: 49 46 4e 44 45 46 20 49 43 55 49 4e 43 44 49 52  IFNDEF ICUINCDIR
5600: 0a 49 43 55 49 4e 43 44 49 52 20 3d 20 63 3a 5c  .ICUINCDIR = c:\
5610: 69 63 75 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44  icu\include.!END
5620: 49 46 0a 0a 21 49 46 4e 44 45 46 20 49 43 55 4c  IF..!IFNDEF ICUL
5630: 49 42 44 49 52 0a 49 43 55 4c 49 42 44 49 52 20  IBDIR.ICULIBDIR 
5640: 3d 20 63 3a 5c 69 63 75 5c 6c 69 62 0a 21 45 4e  = c:\icu\lib.!EN
5650: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
5660: 49 43 55 0a 4c 49 42 49 43 55 20 3d 20 69 63 75  ICU.LIBICU = icu
5670: 75 63 2e 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62  uc.lib icuin.lib
5680: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This 
5690: 69 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74  is the command t
56a0: 6f 20 75 73 65 20 66 6f 72 20 74 63 6c 73 68 20  o use for tclsh 
56b0: 2d 20 6e 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20  - normally just 
56c0: 22 74 63 6c 73 68 22 2c 20 62 75 74 20 77 65 20  "tclsh", but we 
56d0: 6d 61 79 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73  may.# know the s
56e0: 70 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20  pecific version 
56f0: 77 65 20 77 61 6e 74 20 74 6f 20 75 73 65 2e 20  we want to use. 
5700: 20 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 28   This variable (
5710: 54 43 4c 53 48 5f 43 4d 44 29 20 6d 61 79 20 62  TCLSH_CMD) may b
5720: 65 0a 23 20 6f 76 65 72 72 69 64 64 65 6e 20 76  e.# overridden v
5730: 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65  ia the environme
5740: 6e 74 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e  nt prior to runn
5750: 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64  ing nmake in ord
5760: 65 72 20 74 6f 20 73 65 6c 65 63 74 20 61 0a 23  er to select a.#
5770: 20 73 70 65 63 69 66 69 63 20 54 63 6c 20 73 68   specific Tcl sh
5780: 65 6c 6c 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49  ell to use..#.!I
5790: 46 4e 44 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a  FNDEF TCLSH_CMD.
57a0: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73  TCLSH_CMD = tcls
57b0: 68 38 35 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  h85.!ENDIF.# <</
57c0: 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c  mark>>..# Compil
57d0: 65 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65  er options neede
57e0: 64 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74  d for programs t
57f0: 68 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64  hat use the read
5800: 6c 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a  line() library..
5810: 23 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49  #.!IFNDEF READLI
5820: 4e 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e  NE_FLAGS.READLIN
5830: 45 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45  E_FLAGS = -DHAVE
5840: 5f 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44  _READLINE=0.!END
5850: 49 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72  IF..# The librar
5860: 79 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20  y that programs 
5870: 75 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29  using readline()
5880: 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e   must link again
5890: 73 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49  st..#.!IFNDEF LI
58a0: 42 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41  BREADLINE.LIBREA
58b0: 44 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a  DLINE =.!ENDIF..
58c0: 23 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74  # Should the dat
58d0: 61 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20  abase engine be 
58e0: 63 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73  compiled threads
58f0: 61 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  afe.#.TCC = $(TC
5900: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  C) -DSQLITE_THRE
5910: 41 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24  ADSAFE=1.RCC = $
5920: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54  (RCC) -DSQLITE_T
5930: 48 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44  HREADSAFE=1..# D
5940: 6f 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69  o threads overri
5950: 64 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c  de each others l
5960: 6f 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20  ocks by default 
5970: 28 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65  (1), or do we te
5980: 73 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20  st (-1).#.TCC = 
5990: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_
59a0: 54 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f  THREAD_OVERRIDE_
59b0: 4c 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28  LOCK=-1.RCC = $(
59c0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  RCC) -DSQLITE_TH
59d0: 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f  READ_OVERRIDE_LO
59e0: 43 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72  CK=-1..# Any tar
59f0: 67 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68  get libraries wh
5a00: 69 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75  ich libsqlite mu
5a10: 73 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61  st be linked aga
5a20: 69 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54  inst.#.!IFNDEF T
5a30: 4c 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e  LIBS.TLIBS =.!EN
5a40: 44 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e  DIF..# Flags con
5a50: 74 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20  trolling use of 
5a60: 74 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74  the in memory bt
5a70: 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ree implementati
5a80: 6f 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45  on.#.# SQLITE_TE
5a90: 4d 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f  MP_STORE is 0 to
5aa0: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79   force temporary
5ab0: 20 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e   tables to be in
5ac0: 20 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20   a file, 1 to.# 
5ad0: 64 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c  default to file,
5ae0: 20 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f   2 to default to
5af0: 20 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74   memory, and 3 t
5b00: 6f 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72  o force temporar
5b10: 79 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c  y.# tables to al
5b20: 77 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72  ways be in memor
5b30: 79 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  y..#.TCC = $(TCC
5b40: 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f  ) -DSQLITE_TEMP_
5b50: 53 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28  STORE=1.RCC = $(
5b60: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45  RCC) -DSQLITE_TE
5b70: 4d 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e  MP_STORE=1..# En
5b80: 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61  able/disable loa
5b90: 64 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73  dable extensions
5ba0: 2c 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69  , and other opti
5bb0: 6f 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20  onal features.# 
5bc0: 62 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75  based on configu
5bd0: 72 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54  ration. (-DSQLIT
5be0: 45 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54  E_OMIT*, -DSQLIT
5bf0: 45 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68  E_ENABLE*)..# Th
5c00: 65 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d  e same set of OM
5c10: 49 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c  IT and ENABLE fl
5c20: 61 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61  ags should be pa
5c30: 73 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45  ssed to the.# LE
5c40: 4d 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72  MON parser gener
5c50: 61 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b  ator and the mkk
5c60: 65 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20  eywordhash tool 
5c70: 61 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73  as well...# Thes
5c80: 65 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72  e are the requir
5c90: 65 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c  ed SQLite compil
5ca0: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73  ation options us
5cb0: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  ed when compilin
5cc0: 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64  g for.# the Wind
5cd0: 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a  ows platform..#.
5ce0: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
5cf0: 53 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52  S = $(REQ_FEATUR
5d00: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
5d10: 45 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45  E_MAX_TRIGGER_DE
5d20: 50 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65  PTH=100..# If we
5d30: 20 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20   are linking to 
5d40: 74 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61  the RPCRT4 libra
5d50: 72 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75  ry, enable featu
5d60: 72 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74  res that need it
5d70: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50  ..#.!IF $(USE_RP
5d80: 43 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51  CRT4_LIB)!=0.REQ
5d90: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
5da0: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F
5db0: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57  LAGS) -DSQLITE_W
5dc0: 49 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a  IN32_USE_UUID=1.
5dd0: 21 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68  !ENDIF..# Add th
5de0: 65 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f  e required and o
5df0: 70 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63  ptional SQLite c
5e00: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f  ompilation optio
5e10: 6e 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d  ns into the comm
5e20: 61 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64  and.# lines used
5e30: 20 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d   to invoke the M
5e40: 53 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73  SVC code and res
5e50: 6f 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e  ource compilers.
5e60: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 
5e70: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
5e80: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55  AGS) $(OPT_FEATU
5e90: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f  RE_FLAGS) $(EXT_
5ea0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52  FEATURE_FLAGS).R
5eb0: 43 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45  CC = $(RCC) $(RE
5ec0: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
5ed0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F
5ee0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT
5ef0: 55 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64  URE_FLAGS)..# Ad
5f00: 64 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61  d in any optiona
5f10: 6c 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65  l parameters spe
5f20: 63 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f  cified on the co
5f30: 6d 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e  mmane line, e.g.
5f40: 0a 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65  .# nmake /f Make
5f50: 66 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50  file.msc all "OP
5f60: 54 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  TS=-DSQLITE_ENAB
5f70: 4c 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54  LE_FOO=1 -DSQLIT
5f80: 45 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a  E_OMIT_FOO=1".#.
5f90: 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f  TCC = $(TCC) $(O
5fa0: 50 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43  PTS).RCC = $(RCC
5fb0: 29 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20  ) $(OPTS)..# If 
5fc0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65  compiling for de
5fd0: 62 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d  bugging, add som
5fe0: 65 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46  e defines..#.!IF
5ff0: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20   $(DEBUG)>1.TCC 
6000: 3d 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55  = $(TCC) -D_DEBU
6010: 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  G.BCC = $(BCC) -
6020: 44 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28  D_DEBUG.RCC = $(
6030: 52 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45  RCC) -D_DEBUG.!E
6040: 4e 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d  NDIF..# If optim
6050: 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61  izations are ena
6060: 62 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64  bled or disabled
6070: 20 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69   (either implici
6080: 74 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69  tly or.# explici
6090: 74 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65  tly), add the ne
60a0: 63 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23  cessary flags..#
60b0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20  .!IF $(DEBUG)>1 
60c0: 7c 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f  || $(OPTIMIZATIO
60d0: 4e 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54  NS)==0.TCC = $(T
60e0: 43 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28  CC) -Od.BCC = $(
60f0: 42 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55  BCC) -Od.!IF $(U
6100: 53 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b  SE_RUNTIME_CHECK
6110: 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)!=0.TCC = $(TC
6120: 43 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24  C) -RTC1.BCC = $
6130: 28 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44  (BCC) -RTC1.!END
6140: 49 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54  IF.!ELSEIF $(OPT
6150: 49 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54  IMIZATIONS)>=3.T
6160: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a  CC = $(TCC) -Ox.
6170: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78  BCC = $(BCC) -Ox
6180: 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d  .!ELSEIF $(OPTIM
6190: 49 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43  IZATIONS)==2.TCC
61a0: 20 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43   = $(TCC) -O2.BC
61b0: 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21  C = $(BCC) -O2.!
61c0: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a  ELSEIF $(OPTIMIZ
61d0: 41 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d  ATIONS)==1.TCC =
61e0: 20 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20   $(TCC) -O1.BCC 
61f0: 3d 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e  = $(BCC) -O1.!EN
6200: 44 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c  DIF..# If symbol
6210: 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f  s are enabled (o
6220: 72 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  r compiling for 
6230: 64 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62  debugging), enab
6240: 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24  le PDBs..#.!IF $
6250: 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53  (DEBUG)>1 || $(S
6260: 59 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d  YMBOLS)!=0.TCC =
6270: 20 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20   $(TCC) -Zi.BCC 
6280: 3d 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e  = $(BCC) -Zi.!EN
6290: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
62a0: 23 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 74  # If ICU support
62b0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
62c0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70   the compiler op
62d0: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a  tions for it..#.
62e0: 21 49 46 20 24 28 55 53 45 5f 49 43 55 29 21 3d  !IF $(USE_ICU)!=
62f0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) -
6300: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49  DSQLITE_ENABLE_I
6310: 43 55 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  CU=1.RCC = $(RCC
6320: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
6330: 45 5f 49 43 55 3d 31 0a 54 43 43 20 3d 20 24 28  E_ICU=1.TCC = $(
6340: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex
6350: 74 5c 69 63 75 0a 52 43 43 20 3d 20 24 28 52 43  t\icu.RCC = $(RC
6360: 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c  C) -I$(TOP)\ext\
6370: 69 63 75 0a 54 43 43 20 3d 20 24 28 54 43 43 29  icu.TCC = $(TCC)
6380: 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52 29 0a   -I$(ICUINCDIR).
6390: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
63a0: 28 49 43 55 49 4e 43 44 49 52 29 0a 21 45 4e 44  (ICUINCDIR).!END
63b0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
63c0: 23 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70  # Command line p
63d0: 72 65 66 69 78 65 73 20 66 6f 72 20 63 6f 6d 70  refixes for comp
63e0: 69 6c 69 6e 67 20 63 6f 64 65 2c 20 63 6f 6d 70  iling code, comp
63f0: 69 6c 69 6e 67 20 72 65 73 6f 75 72 63 65 73 2c  iling resources,
6400: 0a 23 20 6c 69 6e 6b 69 6e 67 2c 20 65 74 63 2e  .# linking, etc.
6410: 0a 23 0a 4c 54 43 4f 4d 50 49 4c 45 20 3d 20 24  .#.LTCOMPILE = $
6420: 28 54 43 43 29 20 2d 46 6f 24 40 0a 4c 54 52 43  (TCC) -Fo$@.LTRC
6430: 4f 4d 50 49 4c 45 20 3d 20 24 28 52 43 43 29 20  OMPILE = $(RCC) 
6440: 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c 69 62 2e 65  -r.LTLIB = lib.e
6450: 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28 54 43  xe.LTLINK = $(TC
6460: 43 29 20 2d 46 65 24 40 0a 0a 23 20 49 66 20 72  C) -Fe$@..# If r
6470: 65 71 75 65 73 74 65 64 2c 20 6c 69 6e 6b 20 74  equested, link t
6480: 6f 20 74 68 65 20 52 50 43 52 54 34 20 6c 69 62  o the RPCRT4 lib
6490: 72 61 72 79 2e 0a 23 0a 21 49 46 20 24 28 55 53  rary..#.!IF $(US
64a0: 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 21 3d 30  E_RPCRT4_LIB)!=0
64b0: 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28 4c 54 4c 49  .LTLINK = $(LTLI
64c0: 4e 4b 29 20 72 70 63 72 74 34 2e 6c 69 62 0a 21  NK) rpcrt4.lib.!
64d0: 45 4e 44 49 46 0a 0a 23 20 49 66 20 61 20 70 6c  ENDIF..# If a pl
64e0: 61 74 66 6f 72 6d 20 77 61 73 20 73 65 74 2c 20  atform was set, 
64f0: 66 6f 72 63 65 20 74 68 65 20 6c 69 6e 6b 65 72  force the linker
6500: 20 74 6f 20 74 61 72 67 65 74 20 74 68 61 74 2e   to target that.
6510: 0a 23 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65  .# Note that the
6520: 20 76 63 76 61 72 73 2a 2e 62 61 74 20 66 61 6d   vcvars*.bat fam
6530: 69 6c 79 20 6f 66 20 62 61 74 63 68 20 66 69 6c  ily of batch fil
6540: 65 73 20 74 79 70 69 63 61 6c 6c 79 0a 23 20 73  es typically.# s
6550: 65 74 20 74 68 69 73 20 66 6f 72 20 79 6f 75 2e  et this for you.
6560: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65    Otherwise, the
6570: 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20 61 74 74   linker will att
6580: 65 6d 70 74 0a 23 20 74 6f 20 64 65 64 75 63 65  empt.# to deduce
6590: 20 74 68 65 20 62 69 6e 61 72 79 20 74 79 70 65   the binary type
65a0: 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6f 62   based on the ob
65b0: 6a 65 63 74 20 66 69 6c 65 73 2e 0a 21 49 46 44  ject files..!IFD
65c0: 45 46 20 50 4c 41 54 46 4f 52 4d 0a 4c 54 4c 49  EF PLATFORM.LTLI
65d0: 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f  NKOPTS = /NOLOGO
65e0: 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54   /MACHINE:$(PLAT
65f0: 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50 54 53 20  FORM).LTLIBOPTS 
6600: 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49  = /NOLOGO /MACHI
6610: 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21  NE:$(PLATFORM).!
6620: 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  ELSE.LTLINKOPTS 
6630: 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c 54 4c 49 42 4f  = /NOLOGO.LTLIBO
6640: 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 21 45  PTS = /NOLOGO.!E
6650: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
6660: 70 69 6c 69 6e 67 20 66 6f 72 20 75 73 65 20 69  piling for use i
6670: 6e 20 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69  n the WinRT envi
6680: 72 6f 6e 6d 65 6e 74 2c 20 74 68 65 20 66 6f 6c  ronment, the fol
6690: 6c 6f 77 69 6e 67 0a 23 20 6c 69 6e 6b 65 72 20  lowing.# linker 
66a0: 6f 70 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 75  option must be u
66b0: 73 65 64 20 74 6f 20 6d 61 72 6b 20 74 68 65 20  sed to mark the 
66c0: 65 78 65 63 75 74 61 62 6c 65 20 61 73 20 72 75  executable as ru
66d0: 6e 6e 61 62 6c 65 0a 23 20 6f 6e 6c 79 20 69 6e  nnable.# only in
66e0: 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6f 66 20   the context of 
66f0: 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 63  an application c
6700: 6f 6e 74 61 69 6e 65 72 2e 0a 23 0a 21 49 46 20  ontainer..#.!IF 
6710: 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a  $(FOR_WINRT)!=0.
6720: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L
6730: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 41 50 50 43  TLINKOPTS) /APPC
6740: 4f 4e 54 41 49 4e 45 52 0a 21 49 46 20 22 24 28  ONTAINER.!IF "$(
6750: 56 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53  VISUALSTUDIOVERS
6760: 49 4f 4e 29 22 3d 3d 22 31 32 2e 30 22 20 7c 7c  ION)"=="12.0" ||
6770: 20 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f   "$(VISUALSTUDIO
6780: 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 34 2e 30  VERSION)"=="14.0
6790: 22 0a 21 49 46 4e 44 45 46 20 53 54 4f 52 45 4c  ".!IFNDEF STOREL
67a0: 49 42 50 41 54 48 0a 21 49 46 20 22 24 28 50 4c  IBPATH.!IF "$(PL
67b0: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
67c0: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $
67d0: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f  (CRTLIBPATH)\sto
67e0: 72 65 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c  re.!ELSEIF "$(PL
67f0: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a  ATFORM)"=="x64".
6800: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $
6810: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f  (CRTLIBPATH)\sto
6820: 72 65 5c 61 6d 64 36 34 0a 21 45 4c 53 45 49 46  re\amd64.!ELSEIF
6830: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"==
6840: 22 41 52 4d 22 0a 53 54 4f 52 45 4c 49 42 50 41  "ARM".STORELIBPA
6850: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT
6860: 48 29 5c 73 74 6f 72 65 5c 61 72 6d 0a 21 45 4c  H)\store\arm.!EL
6870: 53 45 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20  SE.STORELIBPATH 
6880: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c  = $(CRTLIBPATH)\
6890: 73 74 6f 72 65 0a 21 45 4e 44 49 46 0a 21 45 4e  store.!ENDIF.!EN
68a0: 44 49 46 0a 53 54 4f 52 45 4c 49 42 50 41 54 48  DIF.STORELIBPATH
68b0: 20 3d 20 24 28 53 54 4f 52 45 4c 49 42 50 41 54   = $(STORELIBPAT
68c0: 48 3a 5c 5c 3d 5c 29 0a 4c 54 4c 49 4e 4b 4f 50  H:\\=\).LTLINKOP
68d0: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
68e0: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 53  S) "/LIBPATH:$(S
68f0: 54 4f 52 45 4c 49 42 50 41 54 48 29 22 0a 21 45  TORELIBPATH)".!E
6900: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57  NDIF.!ENDIF..# W
6910: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
6920: 72 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  r Windows Phone 
6930: 38 2e 31 2c 20 61 6e 20 65 78 74 72 61 20 6c 69  8.1, an extra li
6940: 62 72 61 72 79 20 70 61 74 68 20 69 73 0a 23 20  brary path is.# 
6950: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20  required..#.!IF 
6960: 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29  $(USE_WP81_OPTS)
6970: 21 3d 30 0a 21 49 46 4e 44 45 46 20 57 50 38 31  !=0.!IFNDEF WP81
6980: 4c 49 42 50 41 54 48 0a 21 49 46 20 22 24 28 50  LIBPATH.!IF "$(P
6990: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22  LATFORM)"=="x86"
69a0: 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24  .WP81LIBPATH = $
69b0: 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  (PROGRAMFILES_X8
69c0: 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65  6)\Windows Phone
69d0: 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38   Kits\8.1\lib\x8
69e0: 36 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41  6.!ELSEIF "$(PLA
69f0: 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 57  TFORM)"=="ARM".W
6a00: 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50  P81LIBPATH = $(P
6a10: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29  ROGRAMFILES_X86)
6a20: 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b  \Windows Phone K
6a30: 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 41 52 4d 0a  its\8.1\lib\ARM.
6a40: 21 45 4c 53 45 0a 57 50 38 31 4c 49 42 50 41 54  !ELSE.WP81LIBPAT
6a50: 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  H = $(PROGRAMFIL
6a60: 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20  ES_X86)\Windows 
6a70: 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c  Phone Kits\8.1\l
6a80: 69 62 5c 78 38 36 0a 21 45 4e 44 49 46 0a 21 45  ib\x86.!ENDIF.!E
6a90: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57  NDIF.!ENDIF..# W
6aa0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  hen compiling fo
6ab0: 72 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  r Windows Phone 
6ac0: 38 2e 31 2c 20 73 6f 6d 65 20 65 78 74 72 61 20  8.1, some extra 
6ad0: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 0a 23  linker options.#
6ae0: 20 61 72 65 20 61 6c 73 6f 20 72 65 71 75 69 72   are also requir
6af0: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ed..#.!IF $(USE_
6b00: 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49  WP81_OPTS)!=0.!I
6b10: 46 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48  FDEF WP81LIBPATH
6b20: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
6b30: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49  LTLINKOPTS) "/LI
6b40: 42 50 41 54 48 3a 24 28 57 50 38 31 4c 49 42 50  BPATH:$(WP81LIBP
6b50: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 4c 54 4c  ATH)".!ENDIF.LTL
6b60: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
6b70: 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49 43  NKOPTS) /DYNAMIC
6b80: 42 41 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  BASE.LTLINKOPTS 
6b90: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
6ba0: 57 69 6e 64 6f 77 73 50 68 6f 6e 65 43 6f 72 65  WindowsPhoneCore
6bb0: 2e 6c 69 62 20 52 75 6e 74 69 6d 65 4f 62 6a 65  .lib RuntimeObje
6bc0: 63 74 2e 6c 69 62 20 50 68 6f 6e 65 41 70 70 4d  ct.lib PhoneAppM
6bd0: 6f 64 65 6c 48 6f 73 74 2e 6c 69 62 0a 4c 54 4c  odelHost.lib.LTL
6be0: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
6bf0: 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55  NKOPTS) /NODEFAU
6c00: 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c  LTLIB:kernel32.l
6c10: 69 62 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42  ib /NODEFAULTLIB
6c20: 3a 6f 6c 65 33 32 2e 6c 69 62 0a 21 45 4e 44 49  :ole32.lib.!ENDI
6c30: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c  F..# When compil
6c40: 69 6e 67 20 66 6f 72 20 55 57 50 20 6f 72 20 74  ing for UWP or t
6c50: 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c  he Windows 10 pl
6c60: 61 74 66 6f 72 6d 2c 20 73 6f 6d 65 20 65 78 74  atform, some ext
6c70: 72 61 20 6c 69 6e 6b 65 72 0a 23 20 6f 70 74 69  ra linker.# opti
6c80: 6f 6e 73 20 61 72 65 20 61 6c 73 6f 20 72 65 71  ons are also req
6c90: 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 46  uired..#.!IF $(F
6ca0: 4f 52 5f 55 57 50 29 21 3d 30 20 7c 7c 20 24 28  OR_UWP)!=0 || $(
6cb0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54  FOR_WIN10)!=0.LT
6cc0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
6cd0: 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49  INKOPTS) /DYNAMI
6ce0: 43 42 41 53 45 20 2f 4e 4f 44 45 46 41 55 4c 54  CBASE /NODEFAULT
6cf0: 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62  LIB:kernel32.lib
6d00: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
6d10: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 6d 69 6e 63  LTLINKOPTS) minc
6d20: 6f 72 65 2e 6c 69 62 0a 21 49 46 44 45 46 20 50  ore.lib.!IFDEF P
6d30: 53 44 4b 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e  SDKLIBPATH.LTLIN
6d40: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
6d50: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a  OPTS) "/LIBPATH:
6d60: 24 28 50 53 44 4b 4c 49 42 50 41 54 48 29 22 0a  $(PSDKLIBPATH)".
6d70: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21  !ENDIF.!ENDIF..!
6d80: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  IF $(FOR_WIN10)!
6d90: 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  =0.LTLINKOPTS = 
6da0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 67  $(LTLINKOPTS) /g
6db0: 75 61 72 64 3a 63 66 20 22 2f 4c 49 42 50 41 54  uard:cf "/LIBPAT
6dc0: 48 3a 24 28 55 43 52 54 4c 49 42 50 41 54 48 29  H:$(UCRTLIBPATH)
6dd0: 22 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  ".!IF $(DEBUG)>1
6de0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $(
6df0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44  LTLINKOPTS) /NOD
6e00: 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72  EFAULTLIB:libucr
6e10: 74 64 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54 4c  td.lib /DEFAULTL
6e20: 49 42 3a 75 63 72 74 64 2e 6c 69 62 0a 21 45 4c  IB:ucrtd.lib.!EL
6e30: 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  SE.LTLINKOPTS = 
6e40: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e  $(LTLINKOPTS) /N
6e50: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62 75  ODEFAULTLIB:libu
6e60: 63 72 74 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54  crt.lib /DEFAULT
6e70: 4c 49 42 3a 75 63 72 74 2e 6c 69 62 0a 21 45 4e  LIB:ucrt.lib.!EN
6e80: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66  DIF.!ENDIF..# If
6e90: 20 65 69 74 68 65 72 20 64 65 62 75 67 67 69 6e   either debuggin
6ea0: 67 20 6f 72 20 73 79 6d 62 6f 6c 73 20 61 72 65  g or symbols are
6eb0: 20 65 6e 61 62 6c 65 64 2c 20 65 6e 61 62 6c 65   enabled, enable
6ec0: 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44   PDBs..#.!IF $(D
6ed0: 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d  EBUG)>1 || $(SYM
6ee0: 42 4f 4c 53 29 21 3d 30 0a 4c 44 46 4c 41 47 53  BOLS)!=0.LDFLAGS
6ef0: 20 3d 20 2f 44 45 42 55 47 20 24 28 4c 44 4f 50   = /DEBUG $(LDOP
6f00: 54 53 29 0a 21 45 4c 53 45 0a 4c 44 46 4c 41 47  TS).!ELSE.LDFLAG
6f10: 53 20 3d 20 24 28 4c 44 4f 50 54 53 29 0a 21 45  S = $(LDOPTS).!E
6f20: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
6f30: 0a 23 20 53 74 61 72 74 20 77 69 74 68 20 74 68  .# Start with th
6f40: 65 20 54 63 6c 20 72 65 6c 61 74 65 64 20 6c 69  e Tcl related li
6f50: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 2e 0a 23 0a  nker options..#.
6f60: 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30  !IF $(NO_TCL)==0
6f70: 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 2f 4c  .LTLIBPATHS = /L
6f80: 49 42 50 41 54 48 3a 24 28 54 43 4c 4c 49 42 44  IBPATH:$(TCLLIBD
6f90: 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c  IR).LTLIBS = $(L
6fa0: 49 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a 0a 23  IBTCL).!ENDIF..#
6fb0: 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20   If ICU support 
6fc0: 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20  is enabled, add 
6fd0: 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  the linker optio
6fe0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  ns for it..#.!IF
6ff0: 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c   $(USE_ICU)!=0.L
7000: 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54  TLIBPATHS = $(LT
7010: 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41  LIBPATHS) /LIBPA
7020: 54 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a  TH:$(ICULIBDIR).
7030: 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42  LTLIBS = $(LTLIB
7040: 53 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e  S) $(LIBICU).!EN
7050: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
7060: 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f  .# You should no
7070: 74 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65  t have to change
7080: 20 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20   anything below 
7090: 74 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23  this line.######
70a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
70b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
70c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
70d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
70e0: 23 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d  #########..# <<m
70f0: 61 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66  ark>>.# Object f
7100: 69 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c  iles for the SQL
7110: 69 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e  ite library (non
7120: 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a  -amalgamation)..
7130: 23 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62  #.LIBOBJS0 = vdb
7140: 65 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c  e.lo parse.lo al
7150: 74 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c  ter.lo analyze.l
7160: 6f 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68  o attach.lo auth
7170: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62  .lo \.         b
7180: 61 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e  ackup.lo bitvec.
7190: 6c 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74  lo btmutex.lo bt
71a0: 72 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20  ree.lo build.lo 
71b0: 5c 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62  \.         callb
71c0: 61 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e  ack.lo complete.
71d0: 6c 6f 20 63 74 69 6d 65 2e 6c 6f 20 64 61 74 65  lo ctime.lo date
71e0: 2e 6c 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64 65  .lo dbstat.lo de
71f0: 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  lete.lo \.      
7200: 20 20 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74     expr.lo fault
7210: 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20  .lo fkey.lo \.  
7220: 20 20 20 20 20 20 20 66 74 73 33 2e 6c 6f 20 66         fts3.lo f
7230: 74 73 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f  ts3_aux.lo fts3_
7240: 65 78 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73  expr.lo fts3_has
7250: 68 2e 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f  h.lo fts3_icu.lo
7260: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33   \.         fts3
7270: 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f  _porter.lo fts3_
7280: 73 6e 69 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f  snippet.lo fts3_
7290: 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73  tokenizer.lo fts
72a0: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20  3_tokenizer1.lo 
72b0: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f  \.         fts3_
72c0: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f  tokenize_vtab.lo
72d0: 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f   fts3_unicode.lo
72e0: 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c   fts3_unicode2.l
72f0: 6f 20 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20  o fts3_write.lo 
7300: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 35 2e  \.         fts5.
7310: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 75  lo \.         fu
7320: 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20  nc.lo global.lo 
7330: 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  hash.lo \.      
7340: 20 20 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74     icu.lo insert
7350: 2e 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f  .lo legacy.lo lo
7360: 61 64 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20  adext.lo \.     
7370: 20 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c      main.lo mall
7380: 6f 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65  oc.lo mem0.lo me
7390: 6d 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65  m1.lo mem2.lo me
73a0: 6d 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a  m3.lo mem5.lo \.
73b0: 20 20 20 20 20 20 20 20 20 6d 65 6d 6a 6f 75 72           memjour
73c0: 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  nal.lo \.       
73d0: 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78    mutex.lo mutex
73e0: 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75  _noop.lo mutex_u
73f0: 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32  nix.lo mutex_w32
7400: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6e  .lo \.         n
7410: 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73  otify.lo opcodes
7420: 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69  .lo os.lo os_uni
7430: 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c  x.lo os_win.lo \
7440: 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 72 2e  .         pager.
7450: 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20 70 63 61  lo pcache.lo pca
7460: 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c  che1.lo pragma.l
7470: 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20 70 72 69  o prepare.lo pri
7480: 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ntf.lo \.       
7490: 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f    random.lo reso
74a0: 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f  lve.lo rowset.lo
74b0: 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20 20 20 20   rtree.lo \.    
74c0: 20 20 20 20 20 73 71 6c 69 74 65 33 73 65 73 73       sqlite3sess
74d0: 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c 6f  ion.lo select.lo
74e0: 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20 73   sqlite3rbu.lo s
74f0: 74 61 74 75 73 2e 6c 6f 20 5c 0a 20 20 20 20 20  tatus.lo \.     
7500: 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72      table.lo thr
7510: 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65  eads.lo tokenize
7520: 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20  .lo treeview.lo 
7530: 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20  trigger.lo \.   
7540: 20 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20        update.lo 
7550: 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e 6c  util.lo vacuum.l
7560: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64 62  o \.         vdb
7570: 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78 2e  eapi.lo vdbeaux.
7580: 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20 76  lo vdbeblob.lo v
7590: 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73 6f  dbemem.lo vdbeso
75a0: 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  rt.lo \.        
75b0: 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77 61   vdbetrace.lo wa
75c0: 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20 77  l.lo walker.lo w
75d0: 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f 64  here.lo wherecod
75e0: 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72 2e 6c  e.lo whereexpr.l
75f0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 74 66  o \.         utf
7600: 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 3c 3c  .lo vtab.lo.# <<
7610: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65 63  /mark>>..# Objec
7620: 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20  t files for the 
7630: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a  amalgamation..#.
7640: 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c 69 74  LIBOBJS1 = sqlit
7650: 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 6d 69  e3.lo..# Determi
7660: 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61 6c 75  ne the real valu
7670: 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61 73 65  e of LIBOBJ base
7680: 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66 69 67  d on the 'config
7690: 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a 23 20  ure' script.#.# 
76a0: 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 28 55  <<mark>>.!IF $(U
76b0: 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29  SE_AMALGAMATION)
76c0: 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c  ==0.LIBOBJ = $(L
76d0: 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45 0a 23  IBOBJS0).!ELSE.#
76e0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f 42   <</mark>>.LIBOB
76f0: 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31 29 0a  J = $(LIBOBJS1).
7700: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49  # <<mark>>.!ENDI
7710: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
7720: 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20 65 6d   Determine if em
7730: 62 65 64 64 65 64 20 72 65 73 6f 75 72 63 65 20  bedded resource 
7740: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20  compilation and 
7750: 75 73 61 67 65 20 61 72 65 20 65 6e 61 62 6c 65  usage are enable
7760: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52  d..#.!IF $(USE_R
7770: 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42 4a 53  C)!=0.LIBRESOBJS
7780: 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e 6c 6f   = sqlite3res.lo
7790: 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f 42 4a  .!ELSE.LIBRESOBJ
77a0: 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c  S =.!ENDIF..# <<
77b0: 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20 73 6f  mark>>.# Core so
77c0: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c  urce code files,
77d0: 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 30   part 1..#.SRC00
77e0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72   = \.  $(TOP)\sr
77f0: 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20 24 28  c\alter.c \.  $(
7800: 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65  TOP)\src\analyze
7810: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7820: 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20 20 24  c\attach.c \.  $
7830: 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63  (TOP)\src\auth.c
7840: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7850: 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54  backup.c \.  $(T
7860: 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63  OP)\src\bitvec.c
7870: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7880: 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28  btmutex.c \.  $(
7890: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63  TOP)\src\btree.c
78a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
78b0: 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54 4f  build.c \.  $(TO
78c0: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e  P)\src\callback.
78d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
78e0: 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a 20 20  \complete.c \.  
78f0: 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65  $(TOP)\src\ctime
7900: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7910: 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54  c\date.c \.  $(T
7920: 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63  OP)\src\dbstat.c
7930: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7940: 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54  delete.c \.  $(T
7950: 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 5c  OP)\src\expr.c \
7960: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61  .  $(TOP)\src\fa
7970: 75 6c 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ult.c \.  $(TOP)
7980: 5c 73 72 63 5c 66 6b 65 79 2e 63 20 5c 0a 20 20  \src\fkey.c \.  
7990: 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e  $(TOP)\src\func.
79a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
79b0: 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20 20 24 28  \global.c \.  $(
79c0: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20  TOP)\src\hash.c 
79d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 69  \.  $(TOP)\src\i
79e0: 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f  nsert.c \.  $(TO
79f0: 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 20  P)\src\legacy.c 
7a00: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c  \.  $(TOP)\src\l
7a10: 6f 61 64 65 78 74 2e 63 20 5c 0a 20 20 24 28 54  oadext.c \.  $(T
7a20: 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 5c  OP)\src\main.c \
7a30: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  .  $(TOP)\src\ma
7a40: 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lloc.c \.  $(TOP
7a50: 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 5c 0a 20  )\src\mem0.c \. 
7a60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31   $(TOP)\src\mem1
7a70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7a80: 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20 20 24 28 54  c\mem2.c \.  $(T
7a90: 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 5c  OP)\src\mem3.c \
7aa0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me
7ab0: 6d 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  m5.c \.  $(TOP)\
7ac0: 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63  src\memjournal.c
7ad0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7ae0: 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f  mutex.c \.  $(TO
7af0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f  P)\src\mutex_noo
7b00: 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  p.c \.  $(TOP)\s
7b10: 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20  rc\mutex_unix.c 
7b20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
7b30: 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20 24  utex_w32.c \.  $
7b40: 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79  (TOP)\src\notify
7b50: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7b60: 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  c\os.c \.  $(TOP
7b70: 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20  )\src\os_unix.c 
7b80: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o
7b90: 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65 20  s_win.c..# Core 
7ba0: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
7bb0: 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43  s, part 2..#.SRC
7bc0: 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  01 = \.  $(TOP)\
7bd0: 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20 20  src\pager.c \.  
7be0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
7bf0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
7c00: 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a 20  rc\pcache1.c \. 
7c10: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag
7c20: 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ma.c \.  $(TOP)\
7c30: 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c 0a  src\prepare.c \.
7c40: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69    $(TOP)\src\pri
7c50: 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ntf.c \.  $(TOP)
7c60: 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c 0a  \src\random.c \.
7c70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73    $(TOP)\src\res
7c80: 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  olve.c \.  $(TOP
7c90: 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 5c  )\src\rowset.c \
7ca0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65  .  $(TOP)\src\se
7cb0: 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lect.c \.  $(TOP
7cc0: 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 5c  )\src\status.c \
7cd0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61  .  $(TOP)\src\ta
7ce0: 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ble.c \.  $(TOP)
7cf0: 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 5c  \src\threads.c \
7d00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  .  $(TOP)\src\tc
7d10: 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28  lsqlite.c \.  $(
7d20: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a  TOP)\src\tokeniz
7d30: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
7d40: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c 0a  rc\treeview.c \.
7d50: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69    $(TOP)\src\tri
7d60: 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  gger.c \.  $(TOP
7d70: 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20 20  )\src\utf.c \.  
7d80: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74  $(TOP)\src\updat
7d90: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
7da0: 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 20 24 28  rc\util.c \.  $(
7db0: 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e  TOP)\src\vacuum.
7dc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7dd0: 5c 76 64 62 65 2e 63 20 5c 0a 20 20 24 28 54 4f  \vdbe.c \.  $(TO
7de0: 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63  P)\src\vdbeapi.c
7df0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7e00: 76 64 62 65 61 75 78 2e 63 20 5c 0a 20 20 24 28  vdbeaux.c \.  $(
7e10: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f  TOP)\src\vdbeblo
7e20: 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  b.c \.  $(TOP)\s
7e30: 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 5c 0a 20  rc\vdbemem.c \. 
7e40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
7e50: 73 6f 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sort.c \.  $(TOP
7e60: 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e  )\src\vdbetrace.
7e70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7e80: 5c 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  \vtab.c \.  $(TO
7e90: 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 5c 0a 20  P)\src\wal.c \. 
7ea0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b   $(TOP)\src\walk
7eb0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
7ec0: 73 72 63 5c 77 68 65 72 65 2e 63 20 5c 0a 20 20  src\where.c \.  
7ed0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
7ee0: 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  code.c \.  $(TOP
7ef0: 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e  )\src\whereexpr.
7f00: 63 0a 0a 23 20 53 68 65 6c 6c 20 73 6f 75 72 63  c..# Shell sourc
7f10: 65 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a  e code files..#.
7f20: 53 52 43 30 32 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC02 = \.  $(TO
7f30: 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 0a 0a  P)\src\shell.c..
7f40: 23 20 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e  # Core miscellan
7f50: 65 6f 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52  eous files..#.SR
7f60: 43 30 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C03 = \.  $(TOP)
7f70: 5c 73 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20  \src\parse.y..# 
7f80: 43 6f 72 65 20 68 65 61 64 65 72 20 66 69 6c 65  Core header file
7f90: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43  s, part 1..#.SRC
7fa0: 30 34 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  04 = \.  $(TOP)\
7fb0: 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20  src\btree.h \.  
7fc0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
7fd0: 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  Int.h \.  $(TOP)
7fe0: 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20  \src\hash.h \.  
7ff0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d  $(TOP)\src\hwtim
8000: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.h \.  $(TOP)\s
8010: 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28  rc\msvc.h \.  $(
8020: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68  TOP)\src\mutex.h
8030: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8040: 6f 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  os.h \.  $(TOP)\
8050: 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20  src\os_common.h 
8060: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o
8070: 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 24 28  s_setup.h \.  $(
8080: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e  TOP)\src\os_win.
8090: 68 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72  h..# Core header
80a0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a   files, part 2..
80b0: 23 0a 53 52 43 30 35 20 3d 20 5c 0a 20 20 24 28  #.SRC05 = \.  $(
80c0: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68  TOP)\src\pager.h
80d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
80e0: 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54  pcache.h \.  $(T
80f0: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68  OP)\src\pragma.h
8100: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8110: 73 71 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20  sqlite.h.in \.  
8120: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit
8130: 65 33 65 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f  e3ext.h \.  $(TO
8140: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74  P)\src\sqliteInt
8150: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8160: 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20  c\sqliteLimit.h 
8170: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v
8180: 64 62 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  dbe.h \.  $(TOP)
8190: 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c  \src\vdbeInt.h \
81a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78  .  $(TOP)\src\vx
81b0: 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f  works.h \.  $(TO
81c0: 50 29 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20  P)\src\wal.h \. 
81d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher
81e0: 65 49 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73  eInt.h..# Extens
81f0: 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20  ion source code 
8200: 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23  files, part 1..#
8210: 0a 53 52 43 30 36 20 3d 20 5c 0a 20 20 24 28 54  .SRC06 = \.  $(T
8220: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
8230: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.c \.  $(TOP)\e
8240: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73  xt\fts1\fts1_has
8250: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.c \.  $(TOP)\e
8260: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f 72  xt\fts1\fts1_por
8270: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ter.c \.  $(TOP)
8280: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74  \ext\fts1\fts1_t
8290: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20  okenizer1.c \.  
82a0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
82b0: 66 74 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50  fts2.c \.  $(TOP
82c0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
82d0: 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50  hash.c \.  $(TOP
82e0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
82f0: 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  icu.c \.  $(TOP)
8300: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70  \ext\fts2\fts2_p
8310: 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  orter.c \.  $(TO
8320: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
8330: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20  _tokenizer.c \. 
8340: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2
8350: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts2_tokenizer1
8360: 2e 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20  .c..# Extension 
8370: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
8380: 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43  s, part 2..#.SRC
8390: 30 37 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  07 = \.  $(TOP)\
83a0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20  ext\fts3\fts3.c 
83b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
83c0: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c  ts3\fts3_aux.c \
83d0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
83e0: 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 5c  s3\fts3_expr.c \
83f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8400: 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 5c  s3\fts3_hash.c \
8410: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8420: 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a  s3\fts3_icu.c \.
8430: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8440: 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20  3\fts3_porter.c 
8450: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8460: 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74  ts3\fts3_snippet
8470: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8480: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
8490: 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  nizer.c \.  $(TO
84a0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
84b0: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a  _tokenizer1.c \.
84c0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
84d0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f  3\fts3_tokenize_
84e0: 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50  vtab.c \.  $(TOP
84f0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
8500: 75 6e 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28  unicode.c \.  $(
8510: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8520: 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a  s3_unicode2.c \.
8530: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8540: 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 5c  3\fts3_write.c \
8550: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63  .  $(TOP)\ext\ic
8560: 75 5c 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f  u\icu.c \.  $(TO
8570: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72  P)\ext\rtree\rtr
8580: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ee.c \.  $(TOP)\
8590: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
85a0: 74 65 33 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20  te3session.c \. 
85b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c   $(TOP)\ext\rbu\
85c0: 73 71 6c 69 74 65 33 72 62 75 2e 63 20 5c 0a 20  sqlite3rbu.c \. 
85d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
85e0: 5c 6a 73 6f 6e 31 2e 63 0a 0a 23 20 45 78 74 65  \json1.c..# Exte
85f0: 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c  nsion header fil
8600: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52  es, part 1..#.SR
8610: 43 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C08 = \.  $(TOP)
8620: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68  \ext\fts1\fts1.h
8630: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8640: 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68  fts1\fts1_hash.h
8650: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8660: 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69  fts1\fts1_tokeni
8670: 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  zer.h \.  $(TOP)
8680: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68  \ext\fts2\fts2.h
8690: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
86a0: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68  fts2\fts2_hash.h
86b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
86c0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
86d0: 7a 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69  zer.h..# Extensi
86e0: 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c  on header files,
86f0: 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 39   part 2..#.SRC09
8700: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex
8710: 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a  t\fts3\fts3.h \.
8720: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8730: 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20  3\fts3Int.h \.  
8740: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8750: 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20  fts3_hash.h \.  
8760: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8770: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts3_tokenizer.h
8780: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8790: 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 20  icu\sqliteicu.h 
87a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r
87b0: 74 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20  tree\rtree.h \. 
87c0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c   $(TOP)\ext\rbu\
87d0: 73 71 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20  sqlite3rbu.h \. 
87e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess
87f0: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
8800: 6f 6e 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65  on.h..# Generate
8810: 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  d source code fi
8820: 6c 65 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a  les.#.SRC10 = \.
8830: 20 20 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20    opcodes.c \.  
8840: 70 61 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72  parse.c..# Gener
8850: 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65  ated header file
8860: 73 0a 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20  s.#.SRC11 = \.  
8870: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a  keywordhash.h \.
8880: 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20    opcodes.h \.  
8890: 70 61 72 73 65 2e 68 20 5c 0a 20 20 24 28 53 51  parse.h \.  $(SQ
88a0: 4c 49 54 45 33 48 29 0a 0a 23 20 47 65 6e 65 72  LITE3H)..# Gener
88b0: 61 74 65 64 20 54 63 6c 20 68 65 61 64 65 72 20  ated Tcl header 
88c0: 66 69 6c 65 73 0a 23 0a 21 49 46 20 24 28 55 53  files.#.!IF $(US
88d0: 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c  E_STDCALL)!=0 ||
88e0: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0
88f0: 0a 53 52 43 31 32 20 3d 20 5c 0a 20 20 24 28 53  .SRC12 = \.  $(S
8900: 51 4c 49 54 45 54 43 4c 48 29 20 5c 0a 20 20 24  QLITETCLH) \.  $
8910: 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48  (SQLITETCLDECLSH
8920: 29 0a 21 45 4c 53 45 0a 53 52 43 31 32 20 3d 0a  ).!ELSE.SRC12 =.
8930: 21 45 4e 44 49 46 0a 0a 23 20 41 6c 6c 20 73 6f  !ENDIF..# All so
8940: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2e  urce code files.
8950: 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 43 30 30  .#.SRC = $(SRC00
8960: 29 20 24 28 53 52 43 30 31 29 20 24 28 53 52 43  ) $(SRC01) $(SRC
8970: 30 32 29 20 24 28 53 52 43 30 33 29 20 24 28 53  02) $(SRC03) $(S
8980: 52 43 30 34 29 20 24 28 53 52 43 30 35 29 20 24  RC04) $(SRC05) $
8990: 28 53 52 43 30 36 29 20 24 28 53 52 43 30 37 29  (SRC06) $(SRC07)
89a0: 20 24 28 53 52 43 30 38 29 20 24 28 53 52 43 30   $(SRC08) $(SRC0
89b0: 39 29 20 24 28 53 52 43 31 30 29 20 24 28 53 52  9) $(SRC10) $(SR
89c0: 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 20 63  C11)..# Source c
89d0: 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74 20  ode to the test 
89e0: 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52 43  files..#.TESTSRC
89f0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72   = \.  $(TOP)\sr
8a00: 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24 28  c\test1.c \.  $(
8a10: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e 63  TOP)\src\test2.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 33 2e 63 20 5c 0a 20 20 24 28 54 4f  test3.c \.  $(TO
8a40: 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20 5c  P)\src\test4.c \
8a50: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8a60: 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st5.c \.  $(TOP)
8a70: 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a 20  \src\test6.c \. 
8a80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8a90: 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  7.c \.  $(TOP)\s
8aa0: 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20 24  rc\test8.c \.  $
8ab0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39 2e  (TOP)\src\test9.
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 5f 61 75 74 6f 65 78 74 2e 63 20  \test_autoext.c 
8ae0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8af0: 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20 20  est_async.c \.  
8b00: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
8b10: 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54  backup.c \.  $(T
8b20: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 65 73  OP)\src\test_bes
8b30: 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 54  tindex.c \.  $(T
8b40: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 6c 6f  OP)\src\test_blo
8b50: 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  b.c \.  $(TOP)\s
8b60: 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e 63 20  rc\test_btree.c 
8b70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8b80: 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20  est_config.c \. 
8b90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8ba0: 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24  _demovfs.c \.  $
8bb0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64  (TOP)\src\test_d
8bc0: 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  evsym.c \.  $(TO
8bd0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63  P)\src\test_fs.c
8be0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8bf0: 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20  test_func.c \.  
8c00: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_
8c10: 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f  hexio.c \.  $(TO
8c20: 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74  P)\src\test_init
8c30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8c40: 63 5c 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e  c\test_intarray.
8c50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8c60: 5c 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20  \test_journal.c 
8c70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8c80: 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20  est_malloc.c \. 
8c90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8ca0: 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c 0a 20  _multiplex.c \. 
8cb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8cc0: 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54  _mutex.c \.  $(T
8cd0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 6e 65  OP)\src\test_one
8ce0: 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  file.c \.  $(TOP
8cf0: 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69 6e 73  )\src\test_osins
8d00: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
8d10: 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 2e 63  rc\test_pcache.c
8d20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8d30: 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c 0a 20  test_quota.c \. 
8d40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8d50: 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54  _rtree.c \.  $(T
8d60: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 63 68  OP)\src\test_sch
8d70: 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ema.c \.  $(TOP)
8d80: 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 65 72  \src\test_server
8d90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8da0: 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f 63 6b  c\test_superlock
8db0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8dc0: 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c 2e 63  c\test_syscall.c
8dd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8de0: 74 65 73 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a  test_tclvar.c \.
8df0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8e00: 74 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20 20 24  t_thread.c \.  $
8e10: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 76  (TOP)\src\test_v
8e20: 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  fs.c \.  $(TOP)\
8e30: 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65  src\test_windire
8e40: 6e 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.c \.  $(TOP)\
8e50: 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c  src\test_wsd.c \
8e60: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8e70: 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c  s3\fts3_term.c \
8e80: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
8e90: 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 5c  s3\fts3_test.c \
8ea0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  .  $(TOP)\ext\rb
8eb0: 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20  u\test_rbu.c \. 
8ec0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess
8ed0: 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e  ion\test_session
8ee0: 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c 79  .c..# Statically
8ef0: 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f   linked extensio
8f00: 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d 20  ns..#.TESTEXT = 
8f10: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m
8f20: 69 73 63 5c 61 6d 61 74 63 68 2e 63 20 5c 0a 20  isc\amatch.c \. 
8f30: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
8f40: 5c 63 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28  \carray.c \.  $(
8f50: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6c  TOP)\ext\misc\cl
8f60: 6f 73 75 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f  osure.c \.  $(TO
8f70: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 73 76 2e  P)\ext\misc\csv.
8f80: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8f90: 5c 6d 69 73 63 5c 65 76 61 6c 2e 63 20 5c 0a 20  \misc\eval.c \. 
8fa0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
8fb0: 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 20 20 24 28  \fileio.c \.  $(
8fc0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 75  TOP)\ext\misc\fu
8fd0: 7a 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  zzer.c \.  $(TOP
8fe0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
8ff0: 74 63 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tcl.c \.  $(TOP)
9000: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74  \ext\fts5\fts5_t
9010: 65 73 74 5f 6d 69 2e 63 20 5c 0a 20 20 24 28 54  est_mi.c \.  $(T
9020: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
9030: 35 5f 74 65 73 74 5f 74 6f 6b 2e 63 20 5c 0a 20  5_test_tok.c \. 
9040: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
9050: 5c 69 65 65 65 37 35 34 2e 63 20 5c 0a 20 20 24  \ieee754.c \.  $
9060: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e  (TOP)\ext\misc\n
9070: 65 78 74 63 68 61 72 2e 63 20 5c 0a 20 20 24 28  extchar.c \.  $(
9080: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 70 65  TOP)\ext\misc\pe
9090: 72 63 65 6e 74 69 6c 65 2e 63 20 5c 0a 20 20 24  rcentile.c \.  $
90a0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72  (TOP)\ext\misc\r
90b0: 65 67 65 78 70 2e 63 20 5c 0a 20 20 24 28 54 4f  egexp.c \.  $(TO
90c0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 65 72 69  P)\ext\misc\seri
90d0: 65 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  es.c \.  $(TOP)\
90e0: 65 78 74 5c 6d 69 73 63 5c 73 70 65 6c 6c 66 69  ext\misc\spellfi
90f0: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  x.c \.  $(TOP)\e
9100: 78 74 5c 6d 69 73 63 5c 74 6f 74 79 70 65 2e 63  xt\misc\totype.c
9110: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9120: 6d 69 73 63 5c 77 68 6f 6c 65 6e 75 6d 62 65 72  misc\wholenumber
9130: 2e 63 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64  .c..# Source cod
9140: 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79  e to the library
9150: 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79   files needed by
9160: 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72   the test fixtur
9170: 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d  e.# (non-amalgam
9180: 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43  ation).#.TESTSRC
9190: 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29  2 = \.  $(SRC00)
91a0: 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a   \.  $(SRC01) \.
91b0: 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24    $(SRC06) \.  $
91c0: 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52  (SRC07) \.  $(SR
91d0: 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  C10) \.  $(TOP)\
91e0: 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65  ext\async\sqlite
91f0: 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64  3async.c..# Head
9200: 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79  er files used by
9210: 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75   all library sou
9220: 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52  rce files..#.HDR
9230: 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73   = \.   $(TOP)\s
9240: 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20  rc\btree.h \.   
9250: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree
9260: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  Int.h \.   $(TOP
9270: 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20  )\src\hash.h \. 
9280: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74    $(TOP)\src\hwt
9290: 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f  ime.h \.   keywo
92a0: 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28  rdhash.h \.   $(
92b0: 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20  TOP)\src\msvc.h 
92c0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
92d0: 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63  mutex.h \.   opc
92e0: 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f  odes.h \.   $(TO
92f0: 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20  P)\src\os.h \.  
9300: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63   $(TOP)\src\os_c
9310: 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54  ommon.h \.   $(T
9320: 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70  OP)\src\os_setup
9330: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
9340: 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20  rc\os_win.h \.  
9350: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page
9360: 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  r.h \.   $(TOP)\
9370: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20  src\pcache.h \. 
9380: 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24    parse.h \.   $
9390: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61  (TOP)\src\pragma
93a0: 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45  .h \.   $(SQLITE
93b0: 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 33  3H) \.   sqlite3
93c0: 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  ext.h \.   $(TOP
93d0: 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e  )\src\sqliteInt.
93e0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr
93f0: 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20  c\sqliteLimit.h 
9400: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
9410: 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f  vdbe.h \.   $(TO
9420: 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68  P)\src\vdbeInt.h
9430: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9440: 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20  \vxworks.h \.   
9450: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
9460: 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20  Int.h..# Header 
9470: 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 65 78  files used by ex
9480: 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44  tensions.#.EXTHD
9490: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \.
94a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
94b0: 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54  1\fts1.h \.  $(T
94c0: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
94d0: 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  1_hash.h \.  $(T
94e0: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
94f0: 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58  1_tokenizer.h.EX
9500: 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29  THDR = $(EXTHDR)
9510: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9520: 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20  fts2\fts2.h \.  
9530: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
9540: 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20  fts2_hash.h \.  
9550: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
9560: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts2_tokenizer.h
9570: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
9580: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
9590: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c  xt\fts3\fts3.h \
95a0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft
95b0: 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20  s3\fts3Int.h \. 
95c0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
95d0: 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts3_hash.h \. 
95e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
95f0: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts3_tokenizer.
9600: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
9610: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
9620: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
9630: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT
9640: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\
9650: 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63  ext\icu\sqliteic
9660: 75 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45  u.h.EXTHDR = $(E
9670: 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50  XTHDR) \.  $(TOP
9680: 29 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69  )\ext\rtree\sqli
9690: 74 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44  te3rtree.h.EXTHD
96a0: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \.
96b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses
96c0: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
96d0: 69 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61  ion.h..# executa
96e0: 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20  bles needed for 
96f0: 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52  testing.#.TESTPR
9700: 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69  OGS = \.  testfi
9710: 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28  xture.exe \.  $(
9720: 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20  SQLITE3EXE) \.  
9730: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
9740: 2e 65 78 65 20 5c 0a 20 20 73 71 6c 64 69 66 66  .exe \.  sqldiff
9750: 2e 65 78 65 20 5c 0a 20 20 64 62 68 61 73 68 2e  .exe \.  dbhash.
9760: 65 78 65 0a 0a 23 20 44 61 74 61 62 61 73 65 73  exe..# Databases
9770: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 66 75 7a 7a   containing fuzz
9780: 65 72 20 74 65 73 74 20 63 61 73 65 73 0a 23 0a  er test cases.#.
9790: 46 55 5a 5a 44 41 54 41 20 3d 20 5c 0a 20 20 24  FUZZDATA = \.  $
97a0: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
97b0: 61 74 61 31 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata1.db \.  $(TO
97c0: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
97d0: 32 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  2.db \.  $(TOP)\
97e0: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 33 2e 64  test\fuzzdata3.d
97f0: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes
9800: 74 5c 66 75 7a 7a 64 61 74 61 34 2e 64 62 0a 23  t\fuzzdata4.db.#
9810: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64   <</mark>>..# Ad
9820: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
9830: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68  r options for th
9840: 65 20 73 68 65 6c 6c 2e 20 20 54 68 65 73 65 20  e shell.  These 
9850: 61 72 65 20 6f 6e 6c 79 20 65 66 66 65 63 74 69  are only effecti
9860: 76 65 0a 23 20 77 68 65 6e 20 74 68 65 20 73 68  ve.# when the sh
9870: 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e 67  ell is not being
9880: 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e   dynamically lin
9890: 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e  ked..#.!IF $(DYN
98a0: 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26  AMIC_SHELL)==0 &
98b0: 26 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d  & $(FOR_WIN10)==
98c0: 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  0.SHELL_COMPILE_
98d0: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43  OPTS = $(SHELL_C
98e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
98f0: 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 4a 53 4f 4e  QLITE_SHELL_JSON
9900: 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  1 -DSQLITE_ENABL
9910: 45 5f 46 54 53 34 20 2d 44 53 51 4c 49 54 45 5f  E_FTS4 -DSQLITE_
9920: 45 4e 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43  ENABLE_EXPLAIN_C
9930: 4f 4d 4d 45 4e 54 53 0a 21 45 4e 44 49 46 0a 0a  OMMENTS.!ENDIF..
9940: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74  # <<mark>>.# Ext
9950: 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ra compiler opti
9960: 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f 75 73 20  ons for various 
9970: 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50  test tools..#.MP
9980: 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f  TESTER_COMPILE_O
9990: 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 53  PTS = -DSQLITE_S
99a0: 48 45 4c 4c 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c  HELL_JSON1 -DSQL
99b0: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a  ITE_ENABLE_FTS5.
99c0: 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50  FUZZERSHELL_COMP
99d0: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c  ILE_OPTS = -DSQL
99e0: 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31  ITE_ENABLE_JSON1
99f0: 0a 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49  .FUZZCHECK_COMPI
9a00: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  LE_OPTS = -DSQLI
9a10: 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20  TE_ENABLE_JSON1 
9a20: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
9a30: 4d 45 4d 53 59 53 35 0a 0a 23 20 53 74 61 6e 64  MEMSYS5..# Stand
9a40: 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74  ard options to t
9a50: 65 73 74 66 69 78 74 75 72 65 2e 0a 23 0a 54 45  estfixture..#.TE
9a60: 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72 62 6f  STOPTS = --verbo
9a70: 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70 75 74  se=file --output
9a80: 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a 0a 23  =test-out.txt..#
9a90: 20 45 78 74 72 61 20 74 61 72 67 65 74 73 20 66   Extra targets f
9aa0: 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 74 61 72  or the "all" tar
9ab0: 67 65 74 20 74 68 61 74 20 72 65 71 75 69 72 65  get that require
9ac0: 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28 4e 4f   Tcl..#.!IF $(NO
9ad0: 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c  _TCL)==0.ALL_TCL
9ae0: 5f 54 41 52 47 45 54 53 20 3d 20 6c 69 62 74 63  _TARGETS = libtc
9af0: 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c  lsqlite3.lib.!EL
9b00: 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45  SE.ALL_TCL_TARGE
9b10: 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  TS =.!ENDIF.# <<
9b20: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20  /mark>>..# This 
9b30: 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 4d  is the default M
9b40: 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e 20  akefile target. 
9b50: 20 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69 73   The objects lis
9b60: 74 65 64 20 68 65 72 65 0a 23 20 61 72 65 20 77  ted here.# are w
9b70: 68 61 74 20 67 65 74 20 62 75 69 6c 64 20 77 68  hat get build wh
9b80: 65 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73 74  en you type just
9b90: 20 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f 20   "make" with no 
9ba0: 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c 6c  arguments..#.all
9bb0: 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33  :.dll libsqlite3
9bc0: 2e 6c 69 62 20 73 68 65 6c 6c 20 24 28 41 4c 4c  .lib shell $(ALL
9bd0: 5f 54 43 4c 5f 54 41 52 47 45 54 53 29 0a 0a 23  _TCL_TARGETS)..#
9be0: 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69   Dynamic link li
9bf0: 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a 23  brary section..#
9c00: 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 44  .dll:.$(SQLITE3D
9c10: 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78 65  LL)..# Shell exe
9c20: 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c 6c  cutable..#.shell
9c30: 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45 29 0a  :.$(SQLITE3EXE).
9c40: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 73  .# <<mark>>.libs
9c50: 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49  qlite3.lib:.$(LI
9c60: 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20  BOBJ)..$(LTLIB) 
9c70: 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55  $(LTLIBOPTS) /OU
9c80: 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24  T:$@ $(LIBOBJ) $
9c90: 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c 73  (TLIBS)..libtcls
9ca0: 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c 73  qlite3.lib:.tcls
9cb0: 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69  qlite.lo libsqli
9cc0: 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 42  te3.lib..$(LTLIB
9cd0: 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 24  ) $(LTLIBOPTS) $
9ce0: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55  (LTLIBPATHS) /OU
9cf0: 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e 6c  T:$@ tclsqlite.l
9d00: 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62  o libsqlite3.lib
9d10: 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20 24   $(LIBTCLSTUB) $
9d20: 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61 72  (TLIBS).# <</mar
9d30: 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44 4c  k>>..$(SQLITE3DL
9d40: 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24 28  L):.$(LIBOBJ) $(
9d50: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 43 4f  LIBRESOBJS) $(CO
9d60: 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24 28  RE_LINK_DEP)..$(
9d70: 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24  LD) $(LDFLAGS) $
9d80: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L
9d90: 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20  TLIBPATHS) /DLL 
9da0: 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53  $(CORE_LINK_OPTS
9db0: 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f  ) /OUT:$@ $(LIBO
9dc0: 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  BJ) $(LIBRESOBJS
9dd0: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS) $(TL
9de0: 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b 32  IBS)..# <<block2
9df0: 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a 09  >>.sqlite3.def:.
9e00: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09  libsqlite3.lib..
9e10: 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20 73  echo EXPORTS > s
9e20: 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 6d 70  qlite3.def..dump
9e30: 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c 69  bin /all libsqli
9e40: 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24 28  te3.lib \...| $(
9e50: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
9e60: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
9e70: 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73 2b  cl include "^\s+
9e80: 31 20 5f 3f 28 73 71 6c 69 74 65 33 5f 5b 5e 40  1 _?(sqlite3_[^@
9e90: 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20  ]*)(?:@\d+)?$$" 
9ea0: 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e  \1 \...| sort >>
9eb0: 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 23 20 3c   sqlite3.def.# <
9ec0: 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53 51  </block2>>..$(SQ
9ed0: 4c 49 54 45 33 45 58 45 29 3a 09 24 28 54 4f 50  LITE3EXE):.$(TOP
9ee0: 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 20 24 28  )\src\shell.c $(
9ef0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20  SHELL_CORE_DEP) 
9f00: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28  $(LIBRESOBJS) $(
9f10: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20  SHELL_CORE_SRC) 
9f20: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
9f30: 54 4c 49 4e 4b 29 20 24 28 53 48 45 4c 4c 5f 43  TLINK) $(SHELL_C
9f40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 52  OMPILE_OPTS) $(R
9f50: 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20 24  EADLINE_FLAGS) $
9f60: 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e  (TOP)\src\shell.
9f70: 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  c $(SHELL_CORE_S
9f80: 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28  RC) \.../link $(
9f90: 53 51 4c 49 54 45 33 45 58 45 50 44 42 29 20 24  SQLITE3EXEPDB) $
9fa0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
9fb0: 4e 4b 4f 50 54 53 29 20 24 28 53 48 45 4c 4c 5f  NKOPTS) $(SHELL_
9fc0: 4c 49 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c  LINK_OPTS) $(LTL
9fd0: 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45  IBPATHS) $(LIBRE
9fe0: 53 4f 42 4a 53 29 20 24 28 4c 49 42 52 45 41 44  SOBJS) $(LIBREAD
9ff0: 4c 49 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 20  LINE) $(LTLIBS) 
a000: 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61  $(TLIBS)..# <<ma
a010: 72 6b 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65  rk>>.sqldiff.exe
a020: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71  :.$(TOP)\tool\sq
a030: 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45  ldiff.c $(SQLITE
a040: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
a050: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
a060: 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f  WARN) $(TOP)\too
a070: 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51  l\sqldiff.c $(SQ
a080: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
a090: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
a0a0: 4b 4f 50 54 53 29 0a 0a 64 62 68 61 73 68 2e 65  KOPTS)..dbhash.e
a0b0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
a0c0: 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54  dbhash.c $(SQLIT
a0d0: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
a0e0: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
a0f0: 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f  _WARN) $(TOP)\to
a100: 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51  ol\dbhash.c $(SQ
a110: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
a120: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
a130: 4b 4f 50 54 53 29 0a 0a 73 63 72 75 62 2e 65 78  KOPTS)..scrub.ex
a140: 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  e:.$(TOP)\ext\mi
a150: 73 63 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c  sc\scrub.c $(SQL
a160: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
a170: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
a180: 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c  NO_WARN) $(TOP)\
a190: 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63  ext\misc\scrub.c
a1a0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
a1b0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
a1c0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63  LTLINKOPTS)..src
a1d0: 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  ck1.exe:.$(TOP)\
a1e0: 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24  tool\srcck1.c..$
a1f0: 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29  (BCC) $(NO_WARN)
a200: 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f   -Fe$@ $(TOP)\to
a210: 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75  ol\srcck1.c..sou
a220: 72 63 65 74 65 73 74 3a 09 73 72 63 63 6b 31 2e  rcetest:.srcck1.
a230: 65 78 65 20 73 71 6c 69 74 65 33 2e 63 0a 09 73  exe sqlite3.c..s
a240: 72 63 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 65  rcck1.exe sqlite
a250: 33 2e 63 0a 0a 66 75 7a 7a 65 72 73 68 65 6c 6c  3.c..fuzzershell
a260: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
a270: 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20  l\fuzzershell.c 
a280: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
a290: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
a2a0: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN) $(
a2b0: 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50  FUZZERSHELL_COMP
a2c0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29  ILE_OPTS) $(TOP)
a2d0: 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c  \tool\fuzzershel
a2e0: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 
a2f0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
a300: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
a310: 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24  fuzzcheck.exe:.$
a320: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63  (TOP)\test\fuzzc
a330: 68 65 63 6b 2e 63 20 24 28 53 51 4c 49 54 45 33  heck.c $(SQLITE3
a340: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H)..
a350: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK) $(NO_W
a360: 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b  ARN) $(FUZZCHECK
a370: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
a380: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63  (TOP)\test\fuzzc
a390: 68 65 63 6b 2e 63 20 24 28 53 51 4c 49 54 45 33  heck.c $(SQLITE3
a3a0: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA
a3b0: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
a3c0: 29 0a 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a  )..mptester.exe:
a3d0: 09 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d  .$(TOP)\mptest\m
a3e0: 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ptest.c $(SQLITE
a3f0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
a400: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
a410: 57 41 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52  WARN) $(MPTESTER
a420: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
a430: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74  (TOP)\mptest\mpt
a440: 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  est.c $(SQLITE3C
a450: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
a460: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
a470: 0a 0a 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65  ..MPTEST1 = mpte
a480: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24  ster mptest.db $
a490: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61  (TOP)\mptest\cra
a4a0: 73 68 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65  sh01.test --repe
a4b0: 61 74 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20  at 20.MPTEST2 = 
a4c0: 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e  mptester mptest.
a4d0: 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74  db $(TOP)\mptest
a4e0: 5c 6d 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65  \multiwrite01.te
a4f0: 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a  st --repeat 20..
a500: 6d 70 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72  mptest:.mptester
a510: 2e 65 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74  .exe..del /Q mpt
a520: 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28  est.db 2>NUL..$(
a530: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e  MPTEST1) --journ
a540: 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24  almode DELETE..$
a550: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
a560: 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d  nalmode WAL..$(M
a570: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST1) --journa
a580: 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54  lmode WAL..$(MPT
a590: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
a5a0: 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d  ode PERSIST..$(M
a5b0: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST1) --journa
a5c0: 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24  lmode PERSIST..$
a5d0: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
a5e0: 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45  nalmode TRUNCATE
a5f0: 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a  ..$(MPTEST1) --j
a600: 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43  ournalmode TRUNC
a610: 41 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20  ATE..$(MPTEST2) 
a620: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45  --journalmode DE
a630: 4c 45 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72  LETE..# This tar
a640: 67 65 74 20 63 72 65 61 74 65 73 20 61 20 64 69  get creates a di
a650: 72 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74  rectory named "t
a660: 73 72 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69  src" and fills i
a670: 74 20 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20  t with.# copies 
a680: 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20  of all of the C 
a690: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20  source code and 
a6a0: 68 65 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65  header files nee
a6b0: 64 65 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f  ded to.# build o
a6c0: 6e 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73  n the target sys
a6d0: 74 65 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68  tem.  Some of th
a6e0: 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20  e C source code 
a6f0: 61 6e 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c  and header.# fil
a700: 65 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63  es are automatic
a710: 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20  ally generated. 
a720: 20 54 68 69 73 20 74 61 72 67 65 74 20 74 61 6b   This target tak
a730: 65 73 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c  es care of.# all
a740: 20 74 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20   that automatic 
a750: 67 65 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74  generation..#..t
a760: 61 72 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28  arget_source:.$(
a770: 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  SRC) $(TOP)\tool
a780: 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74  \vdbe-compress.t
a790: 63 6c 20 66 74 73 35 2e 63 20 24 28 53 51 4c 49  cl fts5.c $(SQLI
a7a0: 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d  TE_TCL_DEP)..-rm
a7b0: 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e  dir /Q/S tsrc 2>
a7c0: 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63  NUL..-mkdir tsrc
a7d0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
a7e0: 52 43 30 30 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC00)) do copy /
a7f0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
a800: 69 20 69 6e 20 28 24 28 53 52 43 30 31 29 29 20  i in ($(SRC01)) 
a810: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
a820: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($
a830: 28 53 52 43 30 32 29 29 20 64 6f 20 63 6f 70 79  (SRC02)) do copy
a840: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
a850: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 33 29   %i in ($(SRC03)
a860: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i 
a870: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in 
a880: 28 24 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f  ($(SRC04)) do co
a890: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
a8a0: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
a8b0: 35 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  5)) do copy /Y %
a8c0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
a8d0: 6e 20 28 24 28 53 52 43 30 36 29 29 20 64 6f 20  n ($(SRC06)) do 
a8e0: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
a8f0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
a900: 43 30 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C07)) do copy /Y
a910: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
a920: 20 69 6e 20 28 24 28 53 52 43 30 38 29 29 20 64   in ($(SRC08)) d
a930: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
a940: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
a950: 53 52 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20  SRC09)) do copy 
a960: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
a970: 25 69 20 69 6e 20 28 24 28 53 52 43 31 30 29 29  %i in ($(SRC10))
a980: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
a990: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
a9a0: 24 28 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70  $(SRC11)) do cop
a9b0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
a9c0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 32  r %i in ($(SRC12
a9d0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
a9e0: 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66   tsrc..copy /Y f
a9f0: 74 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79  ts5.c tsrc..copy
aa00: 20 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a   /Y fts5.h tsrc.
aa10: 09 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c  .del /Q tsrc\sql
aa20: 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61  ite.h.in tsrc\pa
aa30: 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54  rse.y 2>NUL..$(T
aa40: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
aa50: 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72  \tool\vdbe-compr
aa60: 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20  ess.tcl $(OPTS) 
aa70: 3c 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20  < tsrc\vdbe.c > 
aa80: 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76  vdbe.new..move v
aa90: 64 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62  dbe.new tsrc\vdb
aaa0: 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72  e.c..echo > .tar
aab0: 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69  get_source..sqli
aac0: 74 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73  te3.c:..target_s
aad0: 6f 75 72 63 65 20 73 71 6c 69 74 65 33 65 78 74  ource sqlite3ext
aae0: 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f  .h $(MKSQLITE3C_
aaf0: 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43  TOOL)..$(TCLSH_C
ab00: 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43  MD) $(MKSQLITE3C
ab10: 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54  _TOOL) $(MKSQLIT
ab20: 45 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20  E3C_ARGS)..copy 
ab30: 74 73 72 63 5c 73 68 65 6c 6c 2e 63 20 2e 0a 09  tsrc\shell.c ...
ab40: 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c  copy $(TOP)\ext\
ab50: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
ab60: 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69  ession.h ...sqli
ab70: 74 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74  te3-all.c:.sqlit
ab80: 65 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  e3.c $(TOP)\tool
ab90: 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e  \split-sqlite3c.
aba0: 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  tcl..$(TCLSH_CMD
abb0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70  ) $(TOP)\tool\sp
abc0: 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c  lit-sqlite3c.tcl
abd0: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..# 
abe0: 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68  Rule to build th
abf0: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23  e amalgamation.#
ac00: 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53  .sqlite3.lo:.$(S
ac10: 51 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f  QLITE3C)..$(LTCO
ac20: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
ac30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
ac40: 28 53 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c  (SQLITE3C)..# <<
ac50: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74  mark>>.# Rules t
ac60: 6f 20 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f  o build the LEMO
ac70: 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72  N compiler gener
ac80: 61 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a  ator.#.lempar.c:
ac90: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d  .$(TOP)\tool\lem
aca0: 70 61 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f  par.c..copy $(TO
acb0: 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63  P)\tool\lempar.c
acc0: 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24   ...lemon.exe:.$
acd0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e  (TOP)\tool\lemon
ace0: 2e 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42  .c lempar.c..$(B
acf0: 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  CC) $(NO_WARN) -
ad00: 44 61 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20  Daccess=_access 
ad10: 5c 0a 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29  \...-Fe$@ $(TOP)
ad20: 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c  \tool\lemon.c /l
ad30: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
ad40: 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  (NLTLINKOPTS) $(
ad50: 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20  NLTLIBPATHS)..# 
ad60: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69  Rules to build i
ad70: 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66  ndividual *.lo f
ad80: 69 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61  iles from genera
ad90: 74 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54  ted *.c files. T
ada0: 68 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f  his.# applies to
adb0: 3a 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e  :.#.#     parse.
adc0: 6c 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73  lo.#     opcodes
add0: 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09  .lo.#.parse.lo:.
ade0: 70 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09  parse.c $(HDR)..
adf0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
ae00: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ae10: 29 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70  ) -c parse.c..op
ae20: 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65  codes.lo:.opcode
ae30: 73 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  s.c..$(LTCOMPILE
ae40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ae50: 5f 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65  _OPTS) -c opcode
ae60: 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  s.c.# <</mark>>.
ae70: 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64  .# Rule to build
ae80: 20 74 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75   the Win32 resou
ae90: 72 63 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65  rces object file
aea0: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43  ..#.!IF $(USE_RC
aeb0: 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e  )!=0.# <<block1>
aec0: 3e 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a  >.$(LIBRESOBJS):
aed0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69  .$(TOP)\src\sqli
aee0: 74 65 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33  te3.rc $(SQLITE3
aef0: 48 29 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66  H)..echo #ifndef
af00: 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45   SQLITE_RESOURCE
af10: 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74  _VERSION > sqlit
af20: 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25  e3rc.h..for /F %
af30: 25 56 20 69 6e 20 28 27 74 79 70 65 20 22 24 28  %V in ('type "$(
af40: 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20  TOP)\VERSION"') 
af50: 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64  do ( \...echo #d
af60: 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53  efine SQLITE_RES
af70: 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25  OURCE_VERSION %%
af80: 56 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48  V \....| $(TCLSH
af90: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
afa0: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
afb0: 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69  act . ^, >> sqli
afc0: 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63  te3rc.h \..)..ec
afd0: 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c  ho #endif >> sql
afe0: 69 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43  ite3rc.h..$(LTRC
aff0: 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49  OMPILE) -fo $(LI
b000: 42 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29  BRESOBJS) $(TOP)
b010: 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a  \src\sqlite3.rc.
b020: 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45  # <</block1>>.!E
b030: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
b040: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
b050: 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c  d individual *.l
b060: 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c  o files from fil
b070: 65 73 20 69 6e 20 74 68 65 20 73 72 63 20 64 69  es in the src di
b080: 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72  rectory..#.alter
b090: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
b0a0: 61 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09  alter.c $(HDR)..
b0b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
b0c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b0d0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
b0e0: 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65  alter.c..analyze
b0f0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
b100: 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29  analyze.c $(HDR)
b110: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
b120: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b130: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
b140: 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74  c\analyze.c..att
b150: 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ach.lo:.$(TOP)\s
b160: 72 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44  rc\attach.c $(HD
b170: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
b180: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
b190: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
b1a0: 73 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75  src\attach.c..au
b1b0: 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  th.lo:.$(TOP)\sr
b1c0: 63 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a  c\auth.c $(HDR).
b1d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
b1e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b1f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
b200: 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e  \auth.c..backup.
b210: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62  lo:.$(TOP)\src\b
b220: 61 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09  ackup.c $(HDR)..
b230: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
b240: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b250: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
b260: 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63  backup.c..bitvec
b270: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
b280: 62 69 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a  bitvec.c $(HDR).
b290: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
b2a0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b2b0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
b2c0: 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74  \bitvec.c..btmut
b2d0: 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ex.lo:.$(TOP)\sr
b2e0: 63 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44  c\btmutex.c $(HD
b2f0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
b300: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
b310: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
b320: 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62  src\btmutex.c..b
b330: 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tree.lo:.$(TOP)\
b340: 73 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44  src\btree.c $(HD
b350: 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  R) $(TOP)\src\pa
b360: 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49  ger.h..$(LTCOMPI
b370: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
b380: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
b390: 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a  P)\src\btree.c..
b3a0: 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29  build.lo:.$(TOP)
b3b0: 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48  \src\build.c $(H
b3c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
b3d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
b3e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
b3f0: 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61  \src\build.c..ca
b400: 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50  llback.lo:.$(TOP
b410: 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63  )\src\callback.c
b420: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b430: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b440: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b450: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63  TOP)\src\callbac
b460: 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f  k.c..complete.lo
b470: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d  :.$(TOP)\src\com
b480: 70 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09  plete.c $(HDR)..
b490: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
b4a0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b4b0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
b4c0: 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d  complete.c..ctim
b4d0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
b4e0: 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a  \ctime.c $(HDR).
b4f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
b500: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b510: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
b520: 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c  \ctime.c..date.l
b530: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61  o:.$(TOP)\src\da
b540: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
b550: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
b560: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b570: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74  c $(TOP)\src\dat
b580: 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a 09  e.c..dbstat.lo:.
b590: 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e  $(TOP)\src\date.
b5a0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b5b0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b5c0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
b5d0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74  (TOP)\src\dbstat
b5e0: 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09 24  .c..delete.lo:.$
b5f0: 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65  (TOP)\src\delete
b600: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b610: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b620: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b630: 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74  $(TOP)\src\delet
b640: 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24 28  e.c..expr.lo:.$(
b650: 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20  TOP)\src\expr.c 
b660: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b670: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b680: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b690: 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 0a 0a  OP)\src\expr.c..
b6a0: 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  fault.lo:.$(TOP)
b6b0: 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 24 28 48  \src\fault.c $(H
b6c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
b6d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
b6e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
b6f0: 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a 0a 66 6b  \src\fault.c..fk
b700: 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ey.lo:.$(TOP)\sr
b710: 63 5c 66 6b 65 79 2e 63 20 24 28 48 44 52 29 0a  c\fkey.c $(HDR).
b720: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
b730: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b740: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
b750: 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c 6f  \fkey.c..func.lo
b760: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e  :.$(TOP)\src\fun
b770: 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  c.c $(HDR)..$(LT
b780: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
b790: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b7a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63   $(TOP)\src\func
b7b0: 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09 24  .c..global.lo:.$
b7c0: 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c  (TOP)\src\global
b7d0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b7e0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b7f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b800: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61  $(TOP)\src\globa
b810: 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24 28  l.c..hash.lo:.$(
b820: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20  TOP)\src\hash.c 
b830: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b840: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b850: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b860: 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 0a 0a  OP)\src\hash.c..
b870: 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f 50  insert.lo:.$(TOP
b880: 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 24  )\src\insert.c $
b890: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
b8a0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
b8b0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
b8c0: 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 0a  P)\src\insert.c.
b8d0: 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24 28 54 4f  .legacy.lo:.$(TO
b8e0: 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 20  P)\src\legacy.c 
b8f0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b900: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b910: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b920: 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63  OP)\src\legacy.c
b930: 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28  ..loadext.lo:.$(
b940: 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74  TOP)\src\loadext
b950: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b960: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
b970: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
b980: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65  $(TOP)\src\loade
b990: 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09 24  xt.c..main.lo:.$
b9a0: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63  (TOP)\src\main.c
b9b0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b9c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b9d0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b9e0: 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 0a  TOP)\src\main.c.
b9f0: 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54 4f  .malloc.lo:.$(TO
ba00: 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20  P)\src\malloc.c 
ba10: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
ba20: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ba30: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
ba40: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63  OP)\src\malloc.c
ba50: 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f 50  ..mem0.lo:.$(TOP
ba60: 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 24 28 48  )\src\mem0.c $(H
ba70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ba80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ba90: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
baa0: 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65 6d  \src\mem0.c..mem
bab0: 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  1.lo:.$(TOP)\src
bac0: 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52 29 0a 09  \mem1.c $(HDR)..
bad0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
bae0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
baf0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
bb00: 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a  mem1.c..mem2.lo:
bb10: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32  .$(TOP)\src\mem2
bb20: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
bb30: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
bb40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
bb50: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e  $(TOP)\src\mem2.
bb60: 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54 4f  c..mem3.lo:.$(TO
bb70: 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 24 28  P)\src\mem3.c $(
bb80: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
bb90: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
bba0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
bbb0: 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d 65  )\src\mem3.c..me
bbc0: 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m5.lo:.$(TOP)\sr
bbd0: 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44 52 29 0a  c\mem5.c $(HDR).
bbe0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
bbf0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
bc00: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
bc10: 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 6a 6f 75 72  \mem5.c..memjour
bc20: 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  nal.lo:.$(TOP)\s
bc30: 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20  rc\memjournal.c 
bc40: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
bc50: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
bc60: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
bc70: 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e  OP)\src\memjourn
bc80: 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09  al.c..mutex.lo:.
bc90: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
bca0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
bcb0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
bcc0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
bcd0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
bce0: 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c  .c..mutex_noop.l
bcf0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  o:.$(TOP)\src\mu
bd00: 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52  tex_noop.c $(HDR
bd10: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
bd20: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
bd30: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
bd40: 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a  rc\mutex_noop.c.
bd50: 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09  .mutex_unix.lo:.
bd60: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
bd70: 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09  _unix.c $(HDR)..
bd80: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
bd90: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
bda0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
bdb0: 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75  mutex_unix.c..mu
bdc0: 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f  tex_w32.lo:.$(TO
bdd0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32  P)\src\mutex_w32
bde0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
bdf0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
be00: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
be10: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
be20: 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c  _w32.c..notify.l
be30: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f  o:.$(TOP)\src\no
be40: 74 69 66 79 2e 63 20 24 28 48 44 52 29 0a 09 24  tify.c $(HDR)..$
be50: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
be60: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
be70: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e   -c $(TOP)\src\n
be80: 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 2e 6c  otify.c..pager.l
be90: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  o:.$(TOP)\src\pa
bea0: 67 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 54  ger.c $(HDR) $(T
beb0: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a  OP)\src\pager.h.
bec0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
bed0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
bee0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
bef0: 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 68 65  \pager.c..pcache
bf00: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
bf10: 70 63 61 63 68 65 2e 63 20 24 28 48 44 52 29 20  pcache.c $(HDR) 
bf20: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach
bf30: 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  e.h..$(LTCOMPILE
bf40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
bf50: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
bf60: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 0a 0a 70  \src\pcache.c..p
bf70: 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 4f 50  cache1.lo:.$(TOP
bf80: 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20  )\src\pcache1.c 
bf90: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72  $(HDR) $(TOP)\sr
bfa0: 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54  c\pcache.h..$(LT
bfb0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
bfc0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
bfd0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac
bfe0: 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28  he1.c..os.lo:.$(
bff0: 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 24 28  TOP)\src\os.c $(
c000: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c010: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c020: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c030: 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75  )\src\os.c..os_u
c040: 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  nix.lo:.$(TOP)\s
c050: 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48  rc\os_unix.c $(H
c060: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c070: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c080: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c090: 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a  \src\os_unix.c..
c0a0: 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50  os_win.lo:.$(TOP
c0b0: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 20 24  )\src\os_win.c $
c0c0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c0d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c0e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c0f0: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a  P)\src\os_win.c.
c100: 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f  .pragma.lo:.$(TO
c110: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20  P)\src\pragma.c 
c120: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c130: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c140: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c150: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63  OP)\src\pragma.c
c160: 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28  ..prepare.lo:.$(
c170: 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65  TOP)\src\prepare
c180: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c190: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c1a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c1b0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61  $(TOP)\src\prepa
c1c0: 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a  re.c..printf.lo:
c1d0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e  .$(TOP)\src\prin
c1e0: 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  tf.c $(HDR)..$(L
c1f0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c200: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c210: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69  c $(TOP)\src\pri
c220: 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f  ntf.c..random.lo
c230: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e  :.$(TOP)\src\ran
c240: 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28  dom.c $(HDR)..$(
c250: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c260: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c270: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61  -c $(TOP)\src\ra
c280: 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e  ndom.c..resolve.
c290: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72  lo:.$(TOP)\src\r
c2a0: 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 29 0a  esolve.c $(HDR).
c2b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c2c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c2d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c2e0: 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73  \resolve.c..rows
c2f0: 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  et.lo:.$(TOP)\sr
c300: 63 5c 72 6f 77 73 65 74 2e 63 20 24 28 48 44 52  c\rowset.c $(HDR
c310: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c320: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c330: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c340: 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c  rc\rowset.c..sel
c350: 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ect.lo:.$(TOP)\s
c360: 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 48 44  rc\select.c $(HD
c370: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c380: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c390: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c3a0: 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a 73 74  src\select.c..st
c3b0: 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  atus.lo:.$(TOP)\
c3c0: 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24 28 48  src\status.c $(H
c3d0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c3e0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c3f0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c400: 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 0a 0a 74  \src\status.c..t
c410: 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  able.lo:.$(TOP)\
c420: 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 48 44  src\table.c $(HD
c430: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c440: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c450: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c460: 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 68 72  src\table.c..thr
c470: 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  eads.lo:.$(TOP)\
c480: 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 24 28  src\threads.c $(
c490: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c4a0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c4b0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c4c0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 0a  )\src\threads.c.
c4d0: 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28  .tokenize.lo:.$(
c4e0: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a  TOP)\src\tokeniz
c4f0: 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  e.c keywordhash.
c500: 68 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  h $(HDR)..$(LTCO
c510: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c520: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c530: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
c540: 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 2e 6c  ze.c..treeview.l
c550: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  o:.$(TOP)\src\tr
c560: 65 65 76 69 65 77 2e 63 20 24 28 48 44 52 29 0a  eeview.c $(HDR).
c570: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c580: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c590: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c5a0: 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a 74 72 69  \treeview.c..tri
c5b0: 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  gger.lo:.$(TOP)\
c5c0: 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 24 28  src\trigger.c $(
c5d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c5e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c5f0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c600: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 0a  )\src\trigger.c.
c610: 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f  .update.lo:.$(TO
c620: 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20  P)\src\update.c 
c630: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c640: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c650: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c660: 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63  OP)\src\update.c
c670: 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29  ..utf.lo:.$(TOP)
c680: 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 48 44 52  \src\utf.c $(HDR
c690: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c6a0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c6b0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c6c0: 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c  rc\utf.c..util.l
c6d0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  o:.$(TOP)\src\ut
c6e0: 69 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  il.c $(HDR)..$(L
c6f0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
c700: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c710: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69  c $(TOP)\src\uti
c720: 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09  l.c..vacuum.lo:.
c730: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75  $(TOP)\src\vacuu
c740: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
c750: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c760: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c770: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75   $(TOP)\src\vacu
c780: 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24  um.c..vdbe.lo:.$
c790: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
c7a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c7b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c7c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c7d0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a  TOP)\src\vdbe.c.
c7e0: 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54  .vdbeapi.lo:.$(T
c7f0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e  OP)\src\vdbeapi.
c800: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c810: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c820: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c830: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70  (TOP)\src\vdbeap
c840: 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a  i.c..vdbeaux.lo:
c850: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
c860: 61 75 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28  aux.c $(HDR)..$(
c870: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c880: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c890: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd
c8a0: 62 65 61 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f  beaux.c..vdbeblo
c8b0: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  b.lo:.$(TOP)\src
c8c0: 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 48 44  \vdbeblob.c $(HD
c8d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c8e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c8f0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c900: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a  src\vdbeblob.c..
c910: 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f  vdbemem.lo:.$(TO
c920: 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63  P)\src\vdbemem.c
c930: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c940: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c950: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c960: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d  TOP)\src\vdbemem
c970: 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a  .c..vdbesort.lo:
c980: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe
c990: 73 6f 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24  sort.c $(HDR)..$
c9a0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
c9b0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c9c0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v
c9d0: 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74  dbesort.c..vdbet
c9e0: 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  race.lo:.$(TOP)\
c9f0: 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 20  src\vdbetrace.c 
ca00: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
ca10: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ca20: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
ca30: 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63  OP)\src\vdbetrac
ca40: 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28  e.c..vtab.lo:.$(
ca50: 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20  TOP)\src\vtab.c 
ca60: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
ca70: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
ca80: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
ca90: 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a  OP)\src\vtab.c..
caa0: 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  wal.lo:.$(TOP)\s
cab0: 72 63 5c 77 61 6c 2e 63 20 24 28 48 44 52 29 0a  rc\wal.c $(HDR).
cac0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cad0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cae0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
caf0: 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c  \wal.c..walker.l
cb00: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  o:.$(TOP)\src\wa
cb10: 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  lker.c $(HDR)..$
cb20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
cb30: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cb40: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77   -c $(TOP)\src\w
cb50: 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c  alker.c..where.l
cb60: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  o:.$(TOP)\src\wh
cb70: 65 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ere.c $(HDR)..$(
cb80: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cb90: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cba0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh
cbb0: 65 72 65 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65  ere.c..wherecode
cbc0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
cbd0: 77 68 65 72 65 63 6f 64 65 2e 63 20 24 28 48 44  wherecode.c $(HD
cbe0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
cbf0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
cc00: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
cc10: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a  src\wherecode.c.
cc20: 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24  .whereexpr.lo:.$
cc30: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65  (TOP)\src\wheree
cc40: 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  xpr.c $(HDR)..$(
cc50: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
cc60: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cc70: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh
cc80: 65 72 65 65 78 70 72 2e 63 0a 0a 74 63 6c 73 71  ereexpr.c..tclsq
cc90: 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lite.lo:.$(TOP)\
cca0: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20  src\tclsqlite.c 
ccb0: 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f  $(HDR) $(SQLITE_
ccc0: 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f  TCL_DEP)..$(LTCO
ccd0: 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e  MPILE) $(NO_WARN
cce0: 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55 42  ) -DUSE_TCL_STUB
ccf0: 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69  S=1 -DBUILD_sqli
cd00: 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52  te -I$(TCLINCDIR
cd10: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
cd20: 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c  tclsqlite.c..tcl
cd30: 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a  sqlite-shell.lo:
cd40: 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73  .$(TOP)\src\tcls
cd50: 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20 24  qlite.c $(HDR) $
cd60: 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29  (SQLITE_TCL_DEP)
cd70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
cd80: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c 53  (NO_WARN) -DTCLS
cd90: 48 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69  H=1 -DBUILD_sqli
cda0: 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52  te -I$(TCLINCDIR
cdb0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
cdc0: 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c  tclsqlite.c..tcl
cdd0: 73 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 63 6c  sqlite3.exe:.tcl
cde0: 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20  sqlite-shell.lo 
cdf0: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
ce00: 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53  LITE3H) $(LIBRES
ce10: 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  OBJS)..$(LTLINK)
ce20: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
ce30: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
ce40: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54  LTLINKOPTS) $(LT
ce50: 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a 24  LIBPATHS) /OUT:$
ce60: 40 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c  @ tclsqlite-shel
ce70: 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a  l.lo $(LIBRESOBJ
ce80: 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS) $(T
ce90: 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74  LIBS)..# Rules t
cea0: 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e  o build opcodes.
ceb0: 63 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a  c and opcodes.h.
cec0: 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63  #.opcodes.c:.opc
ced0: 6f 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f  odes.h $(TOP)\to
cee0: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c  ol\mkopcodec.tcl
cef0: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
cf00: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63  (TOP)\tool\mkopc
cf10: 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73  odec.tcl opcodes
cf20: 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a  .h > opcodes.c..
cf30: 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65  opcodes.h:.parse
cf40: 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .h $(TOP)\src\vd
cf50: 62 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  be.c $(TOP)\tool
cf60: 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09  \mkopcodeh.tcl..
cf70: 74 79 70 65 20 70 61 72 73 65 2e 68 20 24 28 54  type parse.h $(T
cf80: 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c  OP)\src\vdbe.c |
cf90: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
cfa0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
cfb0: 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65  deh.tcl > opcode
cfc0: 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20  s.h..# Rules to 
cfd0: 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e  build parse.c an
cfe0: 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20  d parse.h - the 
cff0: 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e  outputs of lemon
d000: 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72  ..#.parse.h:.par
d010: 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24  se.c..parse.c:.$
d020: 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e  (TOP)\src\parse.
d030: 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f  y lemon.exe $(TO
d040: 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64  P)\tool\addopcod
d050: 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70  es.tcl..del /Q p
d060: 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 70  arse.y parse.h p
d070: 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55  arse.h.temp 2>NU
d080: 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 73  L..copy $(TOP)\s
d090: 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c  rc\parse.y ....\
d0a0: 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f  lemon.exe $(REQ_
d0b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
d0c0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
d0d0: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52  GS) $(EXT_FEATUR
d0e0: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29  E_FLAGS) $(OPTS)
d0f0: 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70   parse.y..move p
d100: 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74  arse.h parse.h.t
d110: 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  emp..$(TCLSH_CMD
d120: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64  ) $(TOP)\tool\ad
d130: 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 72  dopcodes.tcl par
d140: 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 73  se.h.temp > pars
d150: 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 29  e.h..$(SQLITE3H)
d160: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c  :.$(TOP)\src\sql
d170: 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c  ite.h.in $(TOP)\
d180: 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24 28  manifest.uuid $(
d190: 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 24 28  TOP)\VERSION..$(
d1a0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
d1b0: 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33  )\tool\mksqlite3
d1c0: 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29  h.tcl $(TOP:\=/)
d1d0: 20 3e 20 24 28 53 51 4c 49 54 45 33 48 29 20 24   > $(SQLITE3H) $
d1e0: 28 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53  (MKSQLITE3H_ARGS
d1f0: 29 0a 0a 73 71 6c 69 74 65 33 65 78 74 2e 68 3a  )..sqlite3ext.h:
d200: 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a  ..target_source.
d210: 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c  !IF $(USE_STDCAL
d220: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W
d230: 49 4e 31 30 29 21 3d 30 0a 09 74 79 70 65 20 74  IN10)!=0..type t
d240: 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68  src\sqlite3ext.h
d250: 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20   | $(TCLSH_CMD) 
d260: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
d270: 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
d280: 5c 28 5c 2a 5c 29 22 20 22 28 53 51 4c 49 54 45  \(\*\)" "(SQLITE
d290: 5f 43 41 4c 4c 42 41 43 4b 20 2a 29 22 20 5c 0a  _CALLBACK *)" \.
d2a0: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  ..| $(TCLSH_CMD)
d2b0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep
d2c0: 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20  lace.tcl regsub 
d2d0: 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f  "\(\*" "(SQLITE_
d2e0: 41 50 49 43 41 4c 4c 20 2a 22 20 3e 20 73 71 6c  APICALL *" > sql
d2f0: 69 74 65 33 65 78 74 2e 68 0a 09 63 6f 70 79 20  ite3ext.h..copy 
d300: 2f 59 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20  /Y sqlite3ext.h 
d310: 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e  tsrc\sqlite3ext.
d320: 68 0a 21 45 4c 53 45 0a 09 63 6f 70 79 20 2f 59  h.!ELSE..copy /Y
d330: 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74   tsrc\sqlite3ext
d340: 2e 68 20 73 71 6c 69 74 65 33 65 78 74 2e 68 0a  .h sqlite3ext.h.
d350: 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72  !ENDIF..mkkeywor
d360: 64 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f 50  dhash.exe:.$(TOP
d370: 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64  )\tool\mkkeyword
d380: 68 61 73 68 2e 63 0a 09 24 28 42 43 43 29 20 24  hash.c..$(BCC) $
d390: 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40 20  (NO_WARN) -Fe$@ 
d3a0: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL
d3b0: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55  AGS) $(OPT_FEATU
d3c0: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f  RE_FLAGS) $(EXT_
d3d0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
d3e0: 28 4f 50 54 53 29 20 5c 0a 09 09 24 28 54 4f 50  (OPTS) \...$(TOP
d3f0: 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64  )\tool\mkkeyword
d400: 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c  hash.c /link $(L
d410: 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e  DFLAGS) $(NLTLIN
d420: 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50  KOPTS) $(NLTLIBP
d430: 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72 64 68 61  ATHS)..keywordha
d440: 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  sh.h:.$(TOP)\too
d450: 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  l\mkkeywordhash.
d460: 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  c mkkeywordhash.
d470: 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64  exe...\mkkeyword
d480: 68 61 73 68 2e 65 78 65 20 3e 20 6b 65 79 77 6f  hash.exe > keywo
d490: 72 64 68 61 73 68 2e 68 0a 0a 0a 0a 23 20 52 75  rdhash.h....# Ru
d4a0: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65  les to build the
d4b0: 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63   extension objec
d4c0: 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 28  ts..#.icu.lo:.$(
d4d0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75  TOP)\ext\icu\icu
d4e0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
d4f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
d500: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
d510: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
d520: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
d530: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63  -c $(TOP)\ext\ic
d540: 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f  u\icu.c..fts2.lo
d550: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
d560: 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52 29 20  2\fts2.c $(HDR) 
d570: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
d580: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
d590: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N
d5a0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
d5b0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\
d5c0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 0a  ext\fts2\fts2.c.
d5d0: 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 24  .fts2_hash.lo:.$
d5e0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
d5f0: 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48 44 52  ts2_hash.c $(HDR
d600: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
d610: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
d620: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
d630: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
d640: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
d650: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
d660: 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69 63 75  hash.c..fts2_icu
d670: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
d680: 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 20  fts2\fts2_icu.c 
d690: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
d6a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d6b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d6c0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
d6d0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
d6e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
d6f0: 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74 73 32  fts2_icu.c..fts2
d700: 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f  _porter.lo:.$(TO
d710: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
d720: 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29  _porter.c $(HDR)
d730: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
d740: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d750: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
d760: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
d770: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
d780: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70  \ext\fts2\fts2_p
d790: 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f  orter.c..fts2_to
d7a0: 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f  kenizer.lo:.$(TO
d7b0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
d7c0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48  _tokenizer.c $(H
d7d0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
d7e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d7f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d800: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
d810: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
d820: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
d830: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66  2_tokenizer.c..f
d840: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c  ts2_tokenizer1.l
d850: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
d860: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  s2\fts2_tokenize
d870: 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  r1.c $(HDR) $(EX
d880: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
d890: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d8a0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
d8b0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
d8c0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
d8d0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
d8e0: 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a  zer1.c..fts3.lo:
d8f0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3
d900: 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29 20 24  \fts3.c $(HDR) $
d910: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
d920: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d930: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
d940: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
d950: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
d960: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 0a 0a  xt\fts3\fts3.c..
d970: 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 54  fts3_aux.lo:.$(T
d980: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
d990: 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29 20 24  3_aux.c $(HDR) $
d9a0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
d9b0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d9c0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
d9d0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
d9e0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
d9f0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78  xt\fts3\fts3_aux
da00: 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e 6c 6f  .c..fts3_expr.lo
da10: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
da20: 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 24 28  3\fts3_expr.c $(
da30: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
da40: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
da50: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
da60: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
da70: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
da80: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
da90: 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73 33 5f  s3_expr.c..fts3_
daa0: 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  hash.lo:.$(TOP)\
dab0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
dac0: 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  sh.c $(HDR) $(EX
dad0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
dae0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
daf0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
db00: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
db10: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
db20: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63  fts3\fts3_hash.c
db30: 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a 09 24  ..fts3_icu.lo:.$
db40: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
db50: 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44 52 29  ts3_icu.c $(HDR)
db60: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
db70: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
db80: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
db90: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
dba0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
dbb0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69  \ext\fts3\fts3_i
dbc0: 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69 70 70  cu.c..fts3_snipp
dbd0: 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  et.lo:.$(TOP)\ex
dbe0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70  t\fts3\fts3_snip
dbf0: 70 65 74 2e 63 20 24 28 48 44 52 29 20 24 28 45  pet.c $(HDR) $(E
dc00: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
dc10: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
dc20: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
dc30: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
dc40: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
dc50: 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70  \fts3\fts3_snipp
dc60: 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 74 65  et.c..fts3_porte
dc70: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  r.lo:.$(TOP)\ext
dc80: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
dc90: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR) $(EXT
dca0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
dcb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
dcc0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
dcd0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
dce0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
dcf0: 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e  ts3\fts3_porter.
dd00: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  c..fts3_tokenize
dd10: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  r.lo:.$(TOP)\ext
dd20: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
dd30: 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  izer.c $(HDR) $(
dd40: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
dd50: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
dd60: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
dd70: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
dd80: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
dd90: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
dda0: 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f  nizer.c..fts3_to
ddb0: 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54  kenizer1.lo:.$(T
ddc0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
ddd0: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24  3_tokenizer1.c $
dde0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
ddf0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
de00: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
de10: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D
de20: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
de30: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
de40: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts3_tokenizer1.c
de50: 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f  ..fts3_tokenize_
de60: 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  vtab.lo:.$(TOP)\
de70: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
de80: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 24 28  kenize_vtab.c $(
de90: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
dea0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
deb0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
dec0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
ded0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
dee0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
def0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
df00: 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65  .c..fts3_unicode
df10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\
df20: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64  fts3\fts3_unicod
df30: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  e.c $(HDR) $(EXT
df40: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
df50: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
df60: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
df70: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
df80: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
df90: 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65  ts3\fts3_unicode
dfa0: 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65  .c..fts3_unicode
dfb0: 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  2.lo:.$(TOP)\ext
dfc0: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
dfd0: 64 65 32 2e 63 20 24 28 48 44 52 29 20 24 28 45  de2.c $(HDR) $(E
dfe0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
dff0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
e000: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
e010: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
e020: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
e030: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
e040: 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72 69 74  de2.c..fts3_writ
e050: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  e.lo:.$(TOP)\ext
e060: 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65  \fts3\fts3_write
e070: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
e080: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
e090: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
e0a0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
e0b0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
e0c0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
e0d0: 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 0a  s3\fts3_write.c.
e0e0: 0a 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50  .rtree.lo:.$(TOP
e0f0: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65  )\ext\rtree\rtre
e100: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  e.c $(HDR) $(EXT
e110: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e120: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
e130: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
e140: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
e150: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72   -c $(TOP)\ext\r
e160: 74 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71  tree\rtree.c..sq
e170: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a  lite3session.lo:
e180: 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73  .$(TOP)\ext\sess
e190: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
e1a0: 6f 6e 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  on.c $(HDR) $(EX
e1b0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
e1c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
e1d0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
e1e0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
e1f0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
e200: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
e210: 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35  ession.c..# FTS5
e220: 20 74 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53   things.#.FTS5_S
e230: 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29  RC = \.   $(TOP)
e240: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68  \ext\fts5\fts5.h
e250: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
e260: 5c 66 74 73 35 5c 66 74 73 35 49 6e 74 2e 68 20  \fts5\fts5Int.h 
e270: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
e280: 66 74 73 35 5c 66 74 73 35 5f 61 75 78 2e 63 20  fts5\fts5_aux.c 
e290: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
e2a0: 66 74 73 35 5c 66 74 73 35 5f 62 75 66 66 65 72  fts5\fts5_buffer
e2b0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
e2c0: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 6d 61 69  xt\fts5\fts5_mai
e2d0: 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  n.c \.   $(TOP)\
e2e0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f  ext\fts5\fts5_co
e2f0: 6e 66 69 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f  nfig.c \.   $(TO
e300: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
e310: 5f 65 78 70 72 2e 63 20 5c 0a 20 20 20 24 28 54  _expr.c \.   $(T
e320: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
e330: 35 5f 68 61 73 68 2e 63 20 5c 0a 20 20 20 24 28  5_hash.c \.   $(
e340: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
e350: 73 35 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20  s5_index.c \.   
e360: 66 74 73 35 70 61 72 73 65 2e 63 20 66 74 73 35  fts5parse.c fts5
e370: 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54  parse.h \.   $(T
e380: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
e390: 35 5f 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20  5_storage.c \.  
e3a0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
e3b0: 5c 66 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63  \fts5_tokenize.c
e3c0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
e3d0: 5c 66 74 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f  \fts5\fts5_unico
e3e0: 64 65 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  de2.c \.   $(TOP
e3f0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
e400: 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28  varint.c \.   $(
e410: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
e420: 73 35 5f 76 6f 63 61 62 2e 63 0a 0a 66 74 73 35  s5_vocab.c..fts5
e430: 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c  parse.c:.$(TOP)\
e440: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72  ext\fts5\fts5par
e450: 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09  se.y lemon.exe..
e460: 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c  copy $(TOP)\ext\
e470: 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79  fts5\fts5parse.y
e480: 20 2e 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 70   ...del /Q fts5p
e490: 61 72 73 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c  arse.h 2>NUL...\
e4a0: 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f  lemon.exe $(REQ_
e4b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $
e4c0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
e4d0: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52  GS) $(EXT_FEATUR
e4e0: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29  E_FLAGS) $(OPTS)
e4f0: 20 66 74 73 35 70 61 72 73 65 2e 79 0a 0a 66 74   fts5parse.y..ft
e500: 73 35 70 61 72 73 65 2e 68 3a 09 66 74 73 35 70  s5parse.h:.fts5p
e510: 61 72 73 65 2e 63 0a 0a 66 74 73 35 2e 63 3a 09  arse.c..fts5.c:.
e520: 24 28 46 54 53 35 5f 53 52 43 29 0a 09 24 28 54  $(FTS5_SRC)..$(T
e530: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
e540: 5c 65 78 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d  \ext\fts5\tool\m
e550: 6b 66 74 73 35 63 2e 74 63 6c 0a 09 63 6f 70 79  kfts5c.tcl..copy
e560: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5
e570: 5c 66 74 73 35 2e 68 20 2e 0a 0a 66 74 73 35 2e  \fts5.h ...fts5.
e580: 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52  lo:.fts5.c $(HDR
e590: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
e5a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
e5b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
e5c0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
e5d0: 54 45 5f 43 4f 52 45 20 2d 63 20 66 74 73 35 2e  TE_CORE -c fts5.
e5e0: 63 0a 0a 66 74 73 35 5f 65 78 74 2e 6c 6f 3a 09  c..fts5_ext.lo:.
e5f0: 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24 28  fts5.c $(HDR) $(
e600: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
e610: 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN)
e620: 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35   -c fts5.c..fts5
e630: 2e 64 6c 6c 3a 09 66 74 73 35 5f 65 78 74 2e 6c  .dll:.fts5_ext.l
e640: 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41  o..$(LD) $(LDFLA
e650: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
e660: 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
e670: 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 66 74 73  /DLL /OUT:$@ fts
e680: 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65  5_ext.lo..sqlite
e690: 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  3rbu.lo:.$(TOP)\
e6a0: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
e6b0: 62 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  bu.c $(HDR) $(EX
e6c0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
e6d0: 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  LE) -DSQLITE_COR
e6e0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
e6f0: 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
e700: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
e710: 6c 64 20 74 68 65 20 27 74 65 73 74 66 69 78 74  ld the 'testfixt
e720: 75 72 65 27 20 61 70 70 6c 69 63 61 74 69 6f 6e  ure' application
e730: 2e 0a 23 0a 23 20 49 66 20 75 73 69 6e 67 20 74  ..#.# If using t
e740: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c  he amalgamation,
e750: 20 75 73 65 20 73 71 6c 69 74 65 33 2e 63 20 64   use sqlite3.c d
e760: 69 72 65 63 74 6c 79 20 74 6f 20 62 75 69 6c 64  irectly to build
e770: 20 74 68 65 20 74 65 73 74 0a 23 20 66 69 78 74   the test.# fixt
e780: 75 72 65 2e 20 20 4f 74 68 65 72 77 69 73 65 20  ure.  Otherwise 
e790: 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 6c 69 62  link against lib
e7a0: 73 71 6c 69 74 65 33 2e 6c 69 62 2e 20 20 28 54  sqlite3.lib.  (T
e7b0: 68 69 73 20 64 69 73 74 69 6e 63 74 69 6f 6e 20  his distinction 
e7c0: 69 73 0a 23 20 6e 65 63 65 73 73 61 72 79 20 62  is.# necessary b
e7d0: 65 63 61 75 73 65 20 74 68 65 20 74 65 73 74 20  ecause the test 
e7e0: 66 69 78 74 75 72 65 20 72 65 71 75 69 72 65 73  fixture requires
e7f0: 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62 6f 6c 73   non-API symbols
e800: 20 77 68 69 63 68 20 61 72 65 0a 23 20 68 69 64   which are.# hid
e810: 64 65 6e 20 77 68 65 6e 20 74 68 65 20 6c 69 62  den when the lib
e820: 72 61 72 79 20 69 73 20 62 75 69 6c 74 20 76 69  rary is built vi
e830: 61 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69  a the amalgamati
e840: 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49 58 54 55  on)..#.TESTFIXTU
e850: 52 45 5f 46 4c 41 47 53 20 3d 20 2d 44 54 43 4c  RE_FLAGS = -DTCL
e860: 53 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54 45  SH=1 -DSQLITE_TE
e870: 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f 43 52  ST=1 -DSQLITE_CR
e880: 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 53 54 46  ASH_TEST=1.TESTF
e890: 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $
e8a0: 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
e8b0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45 52  GS) -DSQLITE_SER
e8c0: 56 45 52 3d 31 20 2d 44 53 51 4c 49 54 45 5f 50  VER=1 -DSQLITE_P
e8d0: 52 49 56 41 54 45 3d 22 22 0a 54 45 53 54 46 49  RIVATE="".TESTFI
e8e0: 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $(
e8f0: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
e900: 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  S) -DSQLITE_CORE
e910: 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45 53 54   $(NO_WARN).TEST
e920: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS = 
e930: 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL
e940: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45  AGS) -DSQLITE_SE
e950: 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e 54 5f  RIES_CONSTRAINT_
e960: 56 45 52 49 46 59 3d 31 0a 54 45 53 54 46 49 58  VERIFY=1.TESTFIX
e970: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54  TURE_FLAGS = $(T
e980: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
e990: 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 46 41 55  ) -DSQLITE_DEFAU
e9a0: 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31 30 32  LT_PAGE_SIZE=102
e9b0: 34 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  4.TESTFIXTURE_FL
e9c0: 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT
e9d0: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 54 45 53  URE_FLAGS) $(TES
e9e0: 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54  T_CCONV_OPTS)..T
e9f0: 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 30 20  ESTFIXTURE_SRC0 
ea00: 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28 54  = $(TESTEXT) $(T
ea10: 45 53 54 53 52 43 32 29 0a 54 45 53 54 46 49 58  ESTSRC2).TESTFIX
ea20: 54 55 52 45 5f 53 52 43 31 20 3d 20 24 28 54 45  TURE_SRC1 = $(TE
ea30: 53 54 45 58 54 29 20 24 28 53 51 4c 49 54 45 33  STEXT) $(SQLITE3
ea40: 43 29 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41  C).!IF $(USE_AMA
ea50: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45  LGAMATION)==0.TE
ea60: 53 54 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20  STFIXTURE_SRC = 
ea70: 24 28 54 45 53 54 53 52 43 29 20 24 28 54 4f 50  $(TESTSRC) $(TOP
ea80: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
ea90: 63 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  c $(TESTFIXTURE_
eaa0: 53 52 43 30 29 0a 21 45 4c 53 45 0a 54 45 53 54  SRC0).!ELSE.TEST
eab0: 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28  FIXTURE_SRC = $(
eac0: 54 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c  TESTSRC) $(TOP)\
ead0: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20  src\tclsqlite.c 
eae0: 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  $(TESTFIXTURE_SR
eaf0: 43 31 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20  C1).!ENDIF..!IF 
eb00: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d  $(USE_STDCALL)!=
eb10: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10
eb20: 29 21 3d 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44  )!=0.sqlite_tclD
eb30: 65 63 6c 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69  ecls.h:..echo #i
eb40: 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 54 43 4c  fndef SQLITE_TCL
eb50: 41 50 49 20 3e 20 24 28 53 51 4c 49 54 45 54 43  API > $(SQLITETC
eb60: 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23  LDECLSH)..echo #
eb70: 20 20 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f    define SQLITE_
eb80: 54 43 4c 41 50 49 20 3e 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 65 6e 64 69 66 20 3e 3e 20 24 28 53  ho #endif >> $(S
ebb0: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a  QLITETCLDECLSH).
ebc0: 09 74 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44  .type "$(TCLINCD
ebd0: 49 52 29 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20  IR)\tclDecls.h" 
ebe0: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
ebf0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
ec00: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
ec10: 62 20 22 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43  b "^(EXTERN(?: C
ec20: 4f 4e 53 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e  ONST\d+?)?\s+?[^
ec30: 5c 28 5d 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20  \(]*?\s+?)Tcl_" 
ec40: 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50  "\1 SQLITE_TCLAP
ec50: 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28  I Tcl_" \...| $(
ec60: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
ec70: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
ec80: 63 6c 20 72 65 67 73 75 62 20 22 5e 28 45 58 54  cl regsub "^(EXT
ec90: 45 52 4e 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56  ERN\s+?(?:void|V
eca0: 4f 49 44 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65  OID)\s+?)TclFree
ecb0: 4f 62 6a 22 20 22 5c 31 20 53 51 4c 49 54 45 5f  Obj" "\1 SQLITE_
ecc0: 54 43 4c 41 50 49 20 54 63 6c 46 72 65 65 4f 62  TCLAPI TclFreeOb
ecd0: 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  j" \...| $(TCLSH
ece0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
ecf0: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
ed00: 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20  gsub "\(\*tcl_" 
ed10: 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  "(SQLITE_TCLAPI 
ed20: 2a 74 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54  *tcl_" \...| $(T
ed30: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
ed40: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
ed50: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63  l regsub "\(\*tc
ed60: 6c 46 72 65 65 4f 62 6a 22 20 22 28 53 51 4c 49  lFreeObj" "(SQLI
ed70: 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c 46 72  TE_TCLAPI *tclFr
ed80: 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54  eeObj" \...| $(T
ed90: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP)
eda0: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
edb0: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20  l regsub "\(\*" 
edc0: 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  "(SQLITE_TCLAPI 
edd0: 2a 22 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43  *" >> $(SQLITETC
ede0: 4c 44 45 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65  LDECLSH)..sqlite
edf0: 5f 74 63 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24  _tcl.h:..type "$
ee00: 28 54 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e  (TCLINCDIR)\tcl.
ee10: 68 22 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  h" | $(TCLSH_CMD
ee20: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re
ee30: 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20  place.tcl exact 
ee40: 74 63 6c 44 65 63 6c 73 2e 68 20 73 71 6c 69 74  tclDecls.h sqlit
ee50: 65 5f 74 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09  e_tclDecls.h \..
ee60: 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
ee70: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
ee80: 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
ee90: 74 79 70 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54  typedef (.*?)\(T
eea0: 63 6c 5f 22 20 22 74 79 70 65 64 65 66 20 5c 31  cl_" "typedef \1
eeb0: 20 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20   (SQLITE_TCLAPI 
eec0: 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43  Tcl_" \...| $(TC
eed0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\
eee0: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
eef0: 20 65 78 61 63 74 20 22 76 6f 69 64 20 28 2a 66   exact "void (*f
ef00: 72 65 65 50 72 6f 63 29 22 20 22 76 6f 69 64 20  reeProc)" "void 
ef10: 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
ef20: 66 72 65 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c  freeProc)" \...|
ef30: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
ef40: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
ef50: 65 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c  e.tcl exact "Tcl
ef60: 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 66 69  _HashEntry *(*fi
ef70: 6e 64 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61  ndProc)" "Tcl_Ha
ef80: 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45  shEntry *(SQLITE
ef90: 5f 54 43 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f  _TCLAPI *findPro
efa0: 63 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  c)" \...| $(TCLS
efb0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
efc0: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65  ol\replace.tcl e
efd0: 78 61 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e  xact "Tcl_HashEn
efe0: 74 72 79 20 2a 28 2a 63 72 65 61 74 65 50 72 6f  try *(*createPro
eff0: 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74  c)" "Tcl_HashEnt
f000: 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41  ry *(SQLITE_TCLA
f010: 50 49 20 2a 63 72 65 61 74 65 50 72 6f 63 29 22  PI *createProc)"
f020: 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 48   >> $(SQLITETCLH
f030: 29 0a 21 45 4e 44 49 46 0a 0a 74 65 73 74 66 69  ).!ENDIF..testfi
f040: 78 74 75 72 65 2e 65 78 65 3a 09 24 28 54 45 53  xture.exe:.$(TES
f050: 54 46 49 58 54 55 52 45 5f 53 52 43 29 20 24 28  TFIXTURE_SRC) $(
f060: 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52  SQLITE3H) $(LIBR
f070: 45 53 4f 42 4a 53 29 20 24 28 48 44 52 29 20 24  ESOBJS) $(HDR) $
f080: 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29  (SQLITE_TCL_DEP)
f090: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51  ..$(LTLINK) -DSQ
f0a0: 4c 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24  LITE_NO_SYNC=1 $
f0b0: 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
f0c0: 47 53 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f  GS) \...-DBUILD_
f0d0: 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN
f0e0: 43 44 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54  CDIR) \...$(TEST
f0f0: 46 49 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09  FIXTURE_SRC) \..
f100: 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53  ./link $(LDFLAGS
f110: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 
f120: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28  $(LTLIBPATHS) $(
f130: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54  LIBRESOBJS) $(LT
f140: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS)..
f150: 65 78 74 65 6e 73 69 6f 6e 74 65 73 74 3a 09 74  extensiontest:.t
f160: 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 74  estfixture.exe t
f170: 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09  estloadext.dll..
f180: 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT
f190: 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH).
f1a0: 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
f1b0: 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c  xe $(TOP)\test\l
f1c0: 6f 61 64 65 78 74 2e 74 65 73 74 20 24 28 54 45  oadext.test $(TE
f1d0: 53 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73  STOPTS)..fulltes
f1e0: 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20  t:.$(TESTPROGS) 
f1f0: 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50  fuzztest..@set P
f200: 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH
f210: 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes
f220: 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T
f230: 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73  OP)\test\all.tes
f240: 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73  t $(TESTOPTS)..s
f250: 6f 61 6b 74 65 73 74 3a 09 24 28 54 45 53 54 50  oaktest:.$(TESTP
f260: 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 48  ROGS)..@set PATH
f270: 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
f280: 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
f290: 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP)
f2a0: 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d  \test\all.test -
f2b0: 73 6f 61 6b 3d 31 20 24 28 54 45 53 54 4f 50 54  soak=1 $(TESTOPT
f2c0: 53 29 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79  S)..fulltestonly
f2d0: 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 66  :.$(TESTPROGS) f
f2e0: 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41  uzztest..@set PA
f2f0: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
f300: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
f310: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
f320: 50 29 5c 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73  P)\test\full.tes
f330: 74 0a 0a 71 75 65 72 79 70 6c 61 6e 74 65 73 74  t..queryplantest
f340: 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  :.testfixture.ex
f350: 65 20 73 68 65 6c 6c 0a 09 40 73 65 74 20 50 41  e shell..@set PA
f360: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH)
f370: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test
f380: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO
f390: 50 29 5c 74 65 73 74 5c 70 65 72 6d 75 74 61 74  P)\test\permutat
f3a0: 69 6f 6e 73 2e 74 65 73 74 20 71 75 65 72 79 70  ions.test queryp
f3b0: 6c 61 6e 6e 65 72 20 24 28 54 45 53 54 4f 50 54  lanner $(TESTOPT
f3c0: 53 29 0a 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75  S)..fuzztest:.fu
f3d0: 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66  zzcheck.exe...\f
f3e0: 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 24 28 46  uzzcheck.exe $(F
f3f0: 55 5a 5a 44 41 54 41 29 0a 0a 66 61 73 74 66 75  UZZDATA)..fastfu
f400: 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63  zztest:.fuzzchec
f410: 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65  k.exe...\fuzzche
f420: 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d  ck.exe --limit-m
f430: 65 6d 20 31 30 30 4d 20 24 28 46 55 5a 5a 44 41  em 100M $(FUZZDA
f440: 54 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74  TA)..# Minimal t
f450: 65 73 74 69 6e 67 20 74 68 61 74 20 72 75 6e 73  esting that runs
f460: 20 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 33 20   in less than 3 
f470: 6d 69 6e 75 74 65 73 20 28 6f 6e 20 61 20 66 61  minutes (on a fa
f480: 73 74 20 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75  st machine).#.qu
f490: 69 63 6b 74 65 73 74 3a 09 74 65 73 74 66 69 78  icktest:.testfix
f4a0: 74 75 72 65 2e 65 78 65 20 73 6f 75 72 63 65 74  ture.exe sourcet
f4b0: 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24  est..@set PATH=$
f4c0: 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P
f4d0: 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
f4e0: 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t
f4f0: 65 73 74 5c 65 78 74 72 61 71 75 69 63 6b 2e 74  est\extraquick.t
f500: 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a  est $(TESTOPTS).
f510: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63  .# This is the c
f520: 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e  ommon case.  Run
f530: 20 6d 61 6e 79 20 74 65 73 74 73 20 74 68 61 74   many tests that
f540: 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f   do not take too
f550: 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69   long,.# includi
f560: 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71  ng fuzzcheck, sq
f570: 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20  lite3_analyzer, 
f580: 61 6e 64 20 73 71 6c 64 69 66 66 20 74 65 73 74  and sqldiff test
f590: 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 54 45 53  s..#.test:.$(TES
f5a0: 54 50 52 4f 47 53 29 20 73 6f 75 72 63 65 74 65  TPROGS) sourcete
f5b0: 73 74 20 66 61 73 74 66 75 7a 7a 74 65 73 74 0a  st fastfuzztest.
f5c0: 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB
f5d0: 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29  TCLPATH);$(PATH)
f5e0: 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
f5f0: 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\
f600: 76 65 72 79 71 75 69 63 6b 2e 74 65 73 74 20 24  veryquick.test $
f610: 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b  (TESTOPTS)..smok
f620: 65 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f  etest:.$(TESTPRO
f630: 47 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24  GS)..@set PATH=$
f640: 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P
f650: 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
f660: 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t
f670: 65 73 74 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28  est\main.test $(
f680: 54 45 53 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74  TESTOPTS)..sqlit
f690: 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 24  e3_analyzer.c:.$
f6a0: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
f6b0: 49 54 45 33 48 29 20 24 28 54 4f 50 29 5c 73 72  ITE3H) $(TOP)\sr
f6c0: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $(
f6d0: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61  TOP)\tool\spacea
f6e0: 6e 61 6c 2e 74 63 6c 20 24 28 53 51 4c 49 54 45  nal.tcl $(SQLITE
f6f0: 5f 54 43 4c 5f 44 45 50 29 0a 09 65 63 68 6f 20  _TCL_DEP)..echo 
f700: 23 64 65 66 69 6e 65 20 54 43 4c 53 48 20 32 20  #define TCLSH 2 
f710: 3e 20 24 40 0a 09 65 63 68 6f 20 23 64 65 66 69  > $@..echo #defi
f720: 6e 65 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ne SQLITE_ENABLE
f730: 5f 44 42 53 54 41 54 5f 56 54 41 42 20 31 20 3e  _DBSTAT_VTAB 1 >
f740: 3e 20 24 40 0a 09 63 6f 70 79 20 24 40 20 2b 20  > $@..copy $@ + 
f750: 24 28 53 51 4c 49 54 45 33 43 29 20 2b 20 24 28  $(SQLITE3C) + $(
f760: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
f770: 74 65 2e 63 20 24 40 0a 09 65 63 68 6f 20 73 74  te.c $@..echo st
f780: 61 74 69 63 20 63 6f 6e 73 74 20 63 68 61 72 20  atic const char 
f790: 2a 74 63 6c 73 68 5f 6d 61 69 6e 5f 6c 6f 6f 70  *tclsh_main_loop
f7a0: 28 76 6f 69 64 29 7b 20 3e 3e 20 24 40 0a 09 65  (void){ >> $@..e
f7b0: 63 68 6f 20 73 74 61 74 69 63 20 63 6f 6e 73 74  cho static const
f7c0: 20 63 68 61 72 20 2a 7a 4d 61 69 6e 6c 6f 6f 70   char *zMainloop
f7d0: 20 3d 20 3e 3e 20 24 40 0a 09 24 28 54 43 4c 53   = >> $@..$(TCLS
f7e0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
f7f0: 6f 6c 5c 74 6f 73 74 72 2e 74 63 6c 20 24 28 54  ol\tostr.tcl $(T
f800: 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e  OP)\tool\spacean
f810: 61 6c 2e 74 63 6c 20 3e 3e 20 24 40 0a 09 65 63  al.tcl >> $@..ec
f820: 68 6f 20 3b 20 72 65 74 75 72 6e 20 7a 4d 61 69  ho ; return zMai
f830: 6e 6c 6f 6f 70 3b 20 7d 20 3e 3e 20 24 40 0a 0a  nloop; } >> $@..
f840: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
f850: 2e 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 61 6e  .exe:.sqlite3_an
f860: 61 6c 79 7a 65 72 2e 63 20 24 28 4c 49 42 52 45  alyzer.c $(LIBRE
f870: 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b  SOBJS)..$(LTLINK
f880: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42  ) $(NO_WARN) -DB
f890: 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28  UILD_sqlite -I$(
f8a0: 54 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74  TCLINCDIR) sqlit
f8b0: 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a  e3_analyzer.c \.
f8c0: 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ../link $(LDFLAG
f8d0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
f8e0: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24   $(LTLIBPATHS) $
f8f0: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c  (LIBRESOBJS) $(L
f900: 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS).
f910: 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 3a  .testloadext.lo:
f920: 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74  .$(TOP)\src\test
f930: 5f 6c 6f 61 64 65 78 74 2e 63 0a 09 24 28 4c 54  _loadext.c..$(LT
f940: 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41  COMPILE) $(NO_WA
f950: 52 4e 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  RN) -c $(TOP)\sr
f960: 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63  c\test_loadext.c
f970: 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c  ..testloadext.dl
f980: 6c 3a 09 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c  l:.testloadext.l
f990: 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41  o..$(LD) $(LDFLA
f9a0: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS
f9b0: 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 
f9c0: 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73  /DLL /OUT:$@ tes
f9d0: 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f  tloadext.lo..sho
f9e0: 77 64 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  wdb.exe:.$(TOP)\
f9f0: 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28  tool\showdb.c $(
fa00: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
fa10: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
fa20: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
fa30: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
fa40: 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
fa50: 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d  LOAD_EXTENSION -
fa60: 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c  Fe$@ \...$(TOP)\
fa70: 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28  tool\showdb.c $(
fa80: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
fa90: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
faa0: 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74  INKOPTS)..showst
fab0: 61 74 34 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  at4.exe:.$(TOP)\
fac0: 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63  tool\showstat4.c
fad0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C) $(S
fae0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
faf0: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) -
fb00: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
fb10: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
fb20: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
fb30: 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f  N -Fe$@ \...$(TO
fb40: 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74  P)\tool\showstat
fb50: 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  4.c $(SQLITE3C) 
fb60: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
fb70: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
fb80: 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a  showjournal.exe:
fb90: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho
fba0: 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c  wjournal.c $(SQL
fbb0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
fbc0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
fbd0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
fbe0: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
fbf0: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
fc00: 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24  D_EXTENSION -Fe$
fc10: 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  @ \...$(TOP)\too
fc20: 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20  l\showjournal.c 
fc30: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
fc40: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
fc50: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77  TLINKOPTS)..show
fc60: 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  wal.exe:.$(TOP)\
fc70: 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24  tool\showwal.c $
fc80: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
fc90: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
fca0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
fcb0: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
fcc0: 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
fcd0: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
fce0: 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29  -Fe$@ \...$(TOP)
fcf0: 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20  \tool\showwal.c 
fd00: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
fd10: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
fd20: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e  TLINKOPTS)..chan
fd30: 67 65 73 65 74 2e 65 78 65 3a 09 24 28 54 4f 50  geset.exe:.$(TOP
fd40: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68  )\ext\session\ch
fd50: 61 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49  angeset.c $(SQLI
fd60: 54 45 33 43 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3C)..$(LTLINK)
fd70: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
fd80: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
fd90: 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
fda0: 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d  LOAD_EXTENSION -
fdb0: 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c  Fe$@ \...$(TOP)\
fdc0: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e  ext\session\chan
fdd0: 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45  geset.c $(SQLITE
fde0: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL
fdf0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT
fe00: 53 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65  S)..fts3view.exe
fe10: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
fe20: 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e  3\tool\fts3view.
fe30: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C) $(
fe40: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL
fe50: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 
fe60: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
fe70: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
fe80: 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
fe90: 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54  ON -Fe$@ \...$(T
fea0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f  OP)\ext\fts3\too
feb0: 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53  l\fts3view.c $(S
fec0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
fed0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
fee0: 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63  NKOPTS)..rollbac
fef0: 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f  k-test.exe:.$(TO
ff00: 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b  P)\tool\rollback
ff10: 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  -test.c $(SQLITE
ff20: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
ff30: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
ff40: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
ff50: 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
ff60: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
ff70: 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c  XTENSION -Fe$@ \
ff80: 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  ...$(TOP)\tool\r
ff90: 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24  ollback-test.c $
ffa0: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
ffb0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
ffc0: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73  LINKOPTS)..LogEs
ffd0: 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  t.exe:.$(TOP)\to
ffe0: 6f 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 28 53 51  ol\logest.c $(SQ
fff0: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
10000 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46  K) $(NO_WARN) -F
10010 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e$@ $(TOP)\tool\
10020 4c 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24  LogEst.c /link $
10030 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
10040 4e 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75  NKOPTS)..wordcou
10050 6e 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  nt.exe:.$(TOP)\t
10060 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20  est\wordcount.c 
10070 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C) $(SQ
10080 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN
10090 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D
100a0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
100b0 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
100c0 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
100d0 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50   -Fe$@ \...$(TOP
100e0 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74  )\test\wordcount
100f0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
10100 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
10110 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s
10120 70 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09 24  peedtest1.exe:.$
10130 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64  (TOP)\test\speed
10140 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45  test1.c $(SQLITE
10150 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
10160 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
10170 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 4f  WARN) -DSQLITE_O
10180 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
10190 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54  ON -Fe$@ \...$(T
101a0 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65  OP)\test\speedte
101b0 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43  st1.c $(SQLITE3C
101c0 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG
101d0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS)
101e0 0a 0a 72 62 75 2e 65 78 65 3a 09 24 28 54 4f 50  ..rbu.exe:.$(TOP
101f0 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20  )\ext\rbu\rbu.c 
10200 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73  $(TOP)\ext\rbu\s
10210 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28 53 51  qlite3rbu.c $(SQ
10220 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
10230 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
10240 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
10250 54 45 5f 45 4e 41 42 4c 45 5f 52 42 55 20 2d 46  TE_ENABLE_RBU -F
10260 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  e$@ \...$(TOP)\e
10270 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53  xt\rbu\rbu.c $(S
10280 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
10290 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
102a0 4e 4b 4f 50 54 53 29 0a 0a 6d 6f 72 65 63 6c 65  NKOPTS)..morecle
102b0 61 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f  an:.clean..del /
102c0 51 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  Q $(SQLITE3C) $(
102d0 53 51 4c 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a  SQLITE3H) 2>NUL.
102e0 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65  # <</mark>>..cle
102f0 61 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78  an:..del /Q *.ex
10300 70 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c  p *.lo *.ilk *.l
10310 69 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a  ib *.obj *.ncb *
10320 2e 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f  .pdb *.sdf *.suo
10330 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a   2>NUL..del /Q *
10340 2e 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64  .bsc *.def *.cod
10350 20 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67   *.da *.bb *.bbg
10360 20 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32   *.vc gmon.out 2
10370 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53  >NUL..del /Q $(S
10380 51 4c 49 54 45 33 45 58 45 29 20 24 28 53 51 4c  QLITE3EXE) $(SQL
10390 49 54 45 33 44 4c 4c 29 20 52 65 70 6c 61 63 65  ITE3DLL) Replace
103a0 2e 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d  .exe 2>NUL.# <<m
103b0 61 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 73 71  ark>>..del /Q sq
103c0 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2e  lite3.c sqlite3.
103d0 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q 
103e0 6f 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65  opcodes.c opcode
103f0 73 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  s.h 2>NUL..del /
10400 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72  Q lemon.* lempar
10410 2e 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c  .c parse.* 2>NUL
10420 0a 09 64 65 6c 20 2f 51 20 6d 6b 6b 65 79 77 6f  ..del /Q mkkeywo
10430 72 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64  rdhash.* keyword
10440 68 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65  hash.h 2>NUL..de
10450 6c 20 2f 51 20 6e 6f 74 61 73 68 61 72 65 64 6c  l /Q notasharedl
10460 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64  ib.* 2>NUL..-rmd
10470 69 72 20 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e  ir /Q/S .deps 2>
10480 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53  NUL..-rmdir /Q/S
10490 20 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72   .libs 2>NUL..-r
104a0 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32  mdir /Q/S tsrc 2
104b0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61  >NUL..del /Q .ta
104c0 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55  rget_source 2>NU
104d0 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c  L..del /Q tclsql
104e0 69 74 65 33 2e 65 78 65 20 24 28 53 51 4c 49 54  ite3.exe $(SQLIT
104f0 45 54 43 4c 48 29 20 24 28 53 51 4c 49 54 45 54  ETCLH) $(SQLITET
10500 43 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55 4c 0a  CLDECLSH) 2>NUL.
10510 09 64 65 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64  .del /Q testload
10520 65 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64  ext.dll 2>NUL..d
10530 65 6c 20 2f 51 20 74 65 73 74 66 69 78 74 75 72  el /Q testfixtur
10540 65 2e 65 78 65 20 74 65 73 74 2e 64 62 20 32 3e  e.exe test.db 2>
10550 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45  NUL..del /Q LogE
10560 73 74 2e 65 78 65 20 66 74 73 33 76 69 65 77 2e  st.exe fts3view.
10570 65 78 65 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  exe rollback-tes
10580 74 2e 65 78 65 20 73 68 6f 77 64 62 2e 65 78 65  t.exe showdb.exe
10590 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63   2>NUL..del /Q c
105a0 68 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e  hangeset.exe 2>N
105b0 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a  UL..del /Q showj
105c0 6f 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73  ournal.exe shows
105d0 74 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c  tat4.exe showwal
105e0 2e 65 78 65 20 73 70 65 65 64 74 65 73 74 31 2e  .exe speedtest1.
105f0 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
10600 51 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77  Q mptester.exe w
10610 6f 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75  ordcount.exe rbu
10620 2e 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20  .exe srcck1.exe 
10630 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
10640 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d  lite3.c sqlite3-
10650 2a 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  *.c 2>NUL..del /
10660 51 20 73 71 6c 69 74 65 33 72 63 2e 68 20 32 3e  Q sqlite3rc.h 2>
10670 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65 6c  NUL..del /Q shel
10680 6c 2e 63 20 73 71 6c 69 74 65 33 65 78 74 2e 68  l.c sqlite3ext.h
10690 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e   sqlite3session.
106a0 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q 
106b0 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
106c0 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 61 6e 61  .exe sqlite3_ana
106d0 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09 64  lyzer.c 2>NUL..d
106e0 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d 6f  el /Q sqlite-*-o
106f0 75 74 70 75 74 2e 76 73 69 78 20 32 3e 4e 55 4c  utput.vsix 2>NUL
10700 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72 73  ..del /Q fuzzers
10710 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68 65  hell.exe fuzzche
10720 63 6b 2e 65 78 65 20 73 71 6c 64 69 66 66 2e 65  ck.exe sqldiff.e
10730 78 65 20 64 62 68 61 73 68 2e 65 78 65 20 32 3e  xe dbhash.exe 2>
10740 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73 35  NUL..del /Q fts5
10750 2e 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20 32  .* fts5parse.* 2
10760 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  >NUL.# <</mark>>
10770 0a                                               .