/ Hex Artifact Content
Login

Artifact 50e36f9aa2c4f8e0a02ba1984d7e81001827d97d:


0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS 
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel 
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP 
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable 
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 30  USE_FULLWARN = 0
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 66 75 6c 6c 20 72 75 6e 74 69 6d 65  ble full runtime
02b0: 20 65 72 72 6f 72 20 63 68 65 63 6b 73 20 28 2d   error checks (-
02c0: 52 54 43 31 2c 20 65 74 63 29 2e 20 20 54 68 69  RTC1, etc).  Thi
02d0: 73 0a 23 20 68 61 73 20 6e 6f 20 65 66 66 65 63  s.# has no effec
02e0: 74 20 69 66 20 28 61 6e 79 29 20 6f 70 74 69 6d  t if (any) optim
02f0: 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61  izations are ena
0300: 62 6c 65 64 2e 0a 23 0a 21 49 46 4e 44 45 46 20  bled..#.!IFNDEF 
0310: 55 53 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43  USE_RUNTIME_CHEC
0320: 4b 53 0a 55 53 45 5f 52 55 4e 54 49 4d 45 5f 43  KS.USE_RUNTIME_C
0330: 48 45 43 4b 53 20 3d 20 30 0a 21 45 4e 44 49 46  HECKS = 0.!ENDIF
0340: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0350: 2d 30 20 74 6f 20 63 72 65 61 74 65 20 61 20 53  -0 to create a S
0360: 51 4c 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69  QLite amalgamati
0370: 6f 6e 20 66 69 6c 65 20 74 68 61 74 20 65 78 63  on file that exc
0380: 6c 75 64 65 73 20 74 68 65 0a 23 20 76 61 72 69  ludes the.# vari
0390: 6f 75 73 20 62 75 69 6c 74 2d 69 6e 20 65 78 74  ous built-in ext
03a0: 65 6e 73 69 6f 6e 73 2e 0a 23 0a 21 49 46 4e 44  ensions..#.!IFND
03b0: 45 46 20 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47  EF MINIMAL_AMALG
03c0: 41 4d 41 54 49 4f 4e 0a 4d 49 4e 49 4d 41 4c 5f  AMATION.MINIMAL_
03d0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 30  AMALGAMATION = 0
03e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
03f0: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65  his non-0 to use
0400: 20 22 73 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69   "stdcall" calli
0410: 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 66 6f  ng convention fo
0420: 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  r the core libra
0430: 72 79 0a 23 20 61 6e 64 20 73 68 65 6c 6c 20 65  ry.# and shell e
0440: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46  xecutable..#.!IF
0450: 4e 44 45 46 20 55 53 45 5f 53 54 44 43 41 4c 4c  NDEF USE_STDCALL
0460: 0a 55 53 45 5f 53 54 44 43 41 4c 4c 20 3d 20 30  .USE_STDCALL = 0
0470: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0480: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76  his non-0 to hav
0490: 65 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63  e the shell exec
04a0: 75 74 61 62 6c 65 20 6c 69 6e 6b 20 61 67 61 69  utable link agai
04b0: 6e 73 74 20 74 68 65 20 63 6f 72 65 20 64 79 6e  nst the core dyn
04c0: 61 6d 69 63 0a 23 20 6c 69 6e 6b 20 6c 69 62 72  amic.# link libr
04d0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 44  ary..#.!IFNDEF D
04e0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 0a 44 59 4e  YNAMIC_SHELL.DYN
04f0: 41 4d 49 43 5f 53 48 45 4c 4c 20 3d 20 30 0a 21  AMIC_SHELL = 0.!
0500: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0510: 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c  s non-0 to enabl
0520: 65 20 65 78 74 72 61 20 63 6f 64 65 20 74 68 61  e extra code tha
0530: 74 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64 65  t attempts to de
0540: 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20 74  tect misuse of t
0550: 68 65 0a 23 20 53 51 4c 69 74 65 20 41 50 49 2e  he.# SQLite API.
0560: 0a 23 0a 21 49 46 4e 44 45 46 20 41 50 49 5f 41  .#.!IFNDEF API_A
0570: 52 4d 4f 52 0a 41 50 49 5f 41 52 4d 4f 52 20 3d  RMOR.API_ARMOR =
0580: 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20   0.!ENDIF..# If 
0590: 6e 65 63 65 73 73 61 72 79 2c 20 63 72 65 61 74  necessary, creat
05a0: 65 20 61 20 6c 69 73 74 20 6f 66 20 68 61 72 6d  e a list of harm
05b0: 6c 65 73 73 20 63 6f 6d 70 69 6c 65 72 20 77 61  less compiler wa
05c0: 72 6e 69 6e 67 73 20 74 6f 20 64 69 73 61 62 6c  rnings to disabl
05d0: 65 20 77 68 65 6e 0a 23 20 63 6f 6d 70 69 6c 69  e when.# compili
05e0: 6e 67 20 74 68 65 20 76 61 72 69 6f 75 73 20 74  ng the various t
05f0: 6f 6f 6c 73 2e 20 20 46 6f 72 20 74 68 65 20 53  ools.  For the S
0600: 51 4c 69 74 65 20 73 6f 75 72 63 65 20 63 6f 64  QLite source cod
0610: 65 20 69 74 73 65 6c 66 2c 20 77 61 72 6e 69 6e  e itself, warnin
0620: 67 73 2c 0a 23 20 69 66 20 61 6e 79 2c 20 77 69  gs,.# if any, wi
0630: 6c 6c 20 62 65 20 64 69 73 61 62 6c 65 64 20 66  ll be disabled f
0640: 72 6f 6d 20 77 69 74 68 69 6e 20 69 74 2e 0a 23  rom within it..#
0650: 0a 21 49 46 4e 44 45 46 20 4e 4f 5f 57 41 52 4e  .!IFNDEF NO_WARN
0660: 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57  .!IF $(USE_FULLW
0670: 41 52 4e 29 21 3d 30 0a 4e 4f 5f 57 41 52 4e 20  ARN)!=0.NO_WARN 
0680: 3d 20 2d 77 64 34 30 35 34 20 2d 77 64 34 30 35  = -wd4054 -wd405
0690: 35 20 2d 77 64 34 31 30 30 20 2d 77 64 34 31 32  5 -wd4100 -wd412
06a0: 37 20 2d 77 64 34 31 33 30 20 2d 77 64 34 31 35  7 -wd4130 -wd415
06b0: 32 20 2d 77 64 34 31 38 39 20 2d 77 64 34 32 30  2 -wd4189 -wd420
06c0: 36 0a 4e 4f 5f 57 41 52 4e 20 3d 20 24 28 4e 4f  6.NO_WARN = $(NO
06d0: 5f 57 41 52 4e 29 20 2d 77 64 34 32 31 30 20 2d  _WARN) -wd4210 -
06e0: 77 64 34 32 33 32 20 2d 77 64 34 33 30 35 20 2d  wd4232 -wd4305 -
06f0: 77 64 34 33 30 36 20 2d 77 64 34 37 30 32 20 2d  wd4306 -wd4702 -
0700: 77 64 34 37 30 36 0a 21 45 4e 44 49 46 0a 21 45  wd4706.!ENDIF.!E
0710: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
0720: 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20 74 68   non-0 to use th
0730: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 20  e library paths 
0740: 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e  and other option
0750: 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 0a  s necessary for.
0760: 23 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  # Windows Phone 
0770: 38 2e 31 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55  8.1..#.!IFNDEF U
0780: 53 45 5f 57 50 38 31 5f 4f 50 54 53 0a 55 53 45  SE_WP81_OPTS.USE
0790: 5f 57 50 38 31 5f 4f 50 54 53 20 3d 20 30 0a 21  _WP81_OPTS = 0.!
07a0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
07b0: 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 70 6c 69 74  s non-0 to split
07c0: 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d 61 6c   the SQLite amal
07d0: 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20 69 6e  gamation file in
07e0: 74 6f 20 63 68 75 6e 6b 73 20 74 6f 0a 23 20 62  to chunks to.# b
07f0: 65 20 75 73 65 64 20 66 6f 72 20 64 65 62 75 67  e used for debug
0800: 67 69 6e 67 20 77 69 74 68 20 56 69 73 75 61 6c  ging with Visual
0810: 20 53 74 75 64 69 6f 2e 0a 23 0a 21 49 46 4e 44   Studio..#.!IFND
0820: 45 46 20 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d  EF SPLIT_AMALGAM
0830: 41 54 49 4f 4e 0a 53 50 4c 49 54 5f 41 4d 41 4c  ATION.SPLIT_AMAL
0840: 47 41 4d 41 54 49 4f 4e 20 3d 20 30 0a 21 45 4e  GAMATION = 0.!EN
0850: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
0860: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0870: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0880: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0890: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
08a0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
08b0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
08c0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
08d0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set 
08e0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
08f0: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0900: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0910: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0920: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0930: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL = 
0940: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set 
0950: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0960: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0970: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0980: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0990: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
09a0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..# 
09b0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
09c0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
09d0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
09e0: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
09f0: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0a00: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0a10: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0a20: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0a30: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0 
0a40: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0a50: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0a60: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0a70: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0a80: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0a90: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0aa0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during 
0ab0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0ac0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0ad0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0ae0: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0af0: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0b00: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0b10: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries 
0b20: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0b30: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the 
0b40: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0b50: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0b60: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0b70: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0b80: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0b90: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ba0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0bb0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0bc0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0bd0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0be0: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0bf0: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0c00: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0c10: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0c20: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0c30: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0c40: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0c50: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0c60: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0c70: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does 
0c80: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0c90: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0ca0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0cb0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0cc0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text 
0cd0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
0ce0: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
0cf0: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
0d00: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0d10: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
0d20: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
0d30: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
0d40: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
0d50: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
0d60: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
0d70: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
0d80: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
0d90: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
0da0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
0db0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
0dc0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
0dd0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
0de0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0df0: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
0e00: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
0e10: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
0e20: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
0e30: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
0e40: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
0e50: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..# 
0e60: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
0e70: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
0e80: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to 
0e90: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or 
0ea0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
0eb0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
0ec0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
0ed0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
0ee0: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0ef0: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this 
0f00: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
0f10: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
0f20: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
0f30: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
0f40: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0f50: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
0f60: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
0f70: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
0f80: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
0f90: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
0fa0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
0fb0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
0fc0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
0fd0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap 
0fe0: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
0ff0: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1000: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1010: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this 
1020: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1030: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1040: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1050: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.# 
1060: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1070: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
1080: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
1090: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
10a0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
10b0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
10c0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
10d0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
10e0: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
10f0: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1100: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1110: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1120: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1130: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1140: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for 
1150: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1160: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1170: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
1180: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime 
1190: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
11a0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
11b0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
11c0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
11d0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of 
11e0: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 == 
11f0: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG 
1200: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1210: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1220: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1230: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1240: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1250: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1260: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1270: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
1280: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
1290: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
12a0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native 
12b0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
12c0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
12d0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
12e0: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
12f0: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1300: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1310: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1320: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1330: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1340: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1350: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1360: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1370: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
1380: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
1390: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
13a0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
13b0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
13c0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
13d0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero, 
13e0: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
13f0: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1400: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1410: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1420: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1430: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1440: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS = 
1450: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set 
1460: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1470: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support 
1480: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session 
1490: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
14a0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
14b0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
14c0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
14d0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
14e0: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
14f0: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1500: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they 
1510: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1520: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1530: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $(
1540: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49  SPLIT_AMALGAMATI
1550: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20  ON)!=0.SQLITE3C 
1560: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a  = sqlite3-all.c.
1570: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d  !ELSE.SQLITE3C =
1580: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49   sqlite3.c.!ENDI
1590: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  F.!ENDIF..# Set 
15a0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65  the include code
15b0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64   file to be used
15c0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20   by executables 
15d0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68  and libraries wh
15e0: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53  en.# they need S
15f0: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46  QLite..#.!IFNDEF
1600: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45   SQLITE3H.SQLITE
1610: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21  3H = sqlite3.h.!
1620: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1630: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1640: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
1650: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62  dynamic link lib
1660: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49  rary (DLL)..#.!I
1670: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c  FNDEF SQLITE3DLL
1680: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  .!IF $(FOR_WIN10
1690: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL 
16a0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
16b0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
16c0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
16d0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
16e0: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
16f0: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1700: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1710: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1720: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1730: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN
1740: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49  10)!=0.SQLITE3LI
1750: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c  B = winsqlite3.l
1760: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33  ib.!ELSE.SQLITE3
1770: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69  LIB = sqlite3.li
1780: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  b.!ENDIF.!ENDIF.
1790: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e  .# This is the n
17a0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74  ame to use for t
17b0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20  he SQLite shell 
17c0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29  executable (EXE)
17d0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49  ..#.!IFNDEF SQLI
17e0: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52  TE3EXE.!IF $(FOR
17f0: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1800: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1810: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1820: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1830: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1840: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1850: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1860: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1870: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1880: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1890: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
18a0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
18b0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF 
18c0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
18d0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!=
18e0: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20  0.SQLITE3EXEPDB 
18f0: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45  =.!ELSE.SQLITE3E
1900: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c  XEPDB = /pdb:sql
1910: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49  ite3sh.pdb.!ENDI
1920: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
1930: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65  rk>>.# These are
1940: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68   the names of th
1950: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c  e customized Tcl
1960: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73   header files us
1970: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61  ed by various pa
1980: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61  rts.# of this ma
1990: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20  kefile when the 
19a0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20  stdcall calling 
19b0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e  convention is in
19c0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74   use.  It is not
19d0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20  .# used for any 
19e0: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23  other purpose..#
19f0: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54  .!IFNDEF SQLITET
1a00: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d  CLH.SQLITETCLH =
1a10: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45   sqlite_tcl.h.!E
1a20: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51  NDIF..!IFNDEF SQ
1a30: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51  LITETCLDECLSH.SQ
1a40: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20  LITETCLDECLSH = 
1a50: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e  sqlite_tclDecls.
1a60: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  h.!ENDIF..# Thes
1a70: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69  e are the additi
1a80: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61  onal targets tha
1a90: 74 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68  t the targets th
1aa0: 61 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74  at integrate wit
1ab0: 68 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72  h the.# Tcl libr
1ac0: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e  ary should depen
1ad0: 64 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c  d on when compil
1ae0: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e  ing, etc..#.!IFN
1af0: 44 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44  DEF SQLITE_TCL_D
1b00: 45 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  EP.!IF $(USE_STD
1b10: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO
1b20: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49  R_WIN10)!=0.SQLI
1b30: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53  TE_TCL_DEP = $(S
1b40: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH) 
1b50: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E
1b60: 4c 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44  LSE.SQLITE_TCL_D
1b70: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  EP =.!ENDIF.!END
1b80: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
1b90: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
1ba0: 22 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74  "standard" SQLit
1bb0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
1bc0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
1bd0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
1be0: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74  the Windows plat
1bf0: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20  form..#.!IFNDEF 
1c00: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1c10: 53 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f  S.!IF $(MINIMAL_
1c20: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
1c30: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1c40: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1c50: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1c60: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31  TE_ENABLE_FTS3=1
1c70: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1c80: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU
1c90: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1ca0: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d  TE_ENABLE_RTREE=
1cb0: 31 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41  1.!ENDIF.OPT_FEA
1cc0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O
1cd0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
1ce0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
1cf0: 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54  E_COLUMN_METADAT
1d00: 41 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68  A=1.!ENDIF..# Sh
1d10: 6f 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e  ould the session
1d20: 20 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e   extension be en
1d30: 61 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61  abled?  If so, a
1d40: 64 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f  dd compilation o
1d50: 70 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62  ptions.# to enab
1d60: 6c 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53  le it..#.!IF $(S
1d70: 45 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46  ESSION)!=0.OPT_F
1d80: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
1d90: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
1da0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
1db0: 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50  BLE_SESSION=1.OP
1dc0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS 
1dd0: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  = $(OPT_FEATURE_
1de0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
1df0: 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
1e00: 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a  _HOOK=1.!ENDIF..
1e10: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the 
1e20: 22 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74  "extended" SQLit
1e30: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
1e40: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when 
1e50: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.# 
1e60: 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70  the Windows 10 p
1e70: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44  latform..#.!IFND
1e80: 45 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46  EF EXT_FEATURE_F
1e90: 4c 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57  LAGS.!IF $(FOR_W
1ea0: 49 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41  IN10)!=0.EXT_FEA
1eb0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
1ec0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
1ed0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
1ee0: 45 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41  E_FTS4=1.EXT_FEA
1ef0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E
1f00: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
1f10: 29 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45  ) -DSQLITE_SYSTE
1f20: 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46  M_MALLOC=1.EXT_F
1f30: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $
1f40: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
1f50: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  GS) -DSQLITE_OMI
1f60: 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45  T_LOCALTIME=1.!E
1f70: 4c 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  LSE.EXT_FEATURE_
1f80: 46 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  FLAGS =.!ENDIF.!
1f90: 45 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23  ENDIF..#########
1fa0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fc0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fe0: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
1ff0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2000: 23 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50  ###### END OF OP
2010: 54 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23  TIONS ##########
2020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2030: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2080: 23 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63  ######..# When c
2090: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65  ompiling for the
20a0: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
20b0: 66 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f  form, the PLATFO
20c0: 52 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65  RM macro must be
20d0: 20 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70   set.# to an app
20e0: 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28  ropriate value (
20f0: 65 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61  e.g. x86, x64, a
2100: 72 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e  rm, arm64, etc).
2110: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
2120: 31 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50  10)!=0.!IFNDEF P
2130: 4c 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55  LATFORM.!ERROR U
2140: 73 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e  sing the FOR_WIN
2150: 31 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72  10 option requir
2160: 65 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50  es a value for P
2170: 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a  LATFORM..!ENDIF.
2180: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61  !ENDIF..# This a
2190: 73 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43  ssumes that MSVC
21a0: 20 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61   is always insta
21b0: 6c 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50  lled in 32-bit P
21c0: 72 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72  rogram Files dir
21d0: 65 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74  ectory.# and set
21e0: 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66  s the variable f
21f0: 6f 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69  or use in locati
2200: 6e 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20  ng other 32-bit 
2210: 69 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69  installs accordi
2220: 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46  ngly..#.PROGRAMF
2230: 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49  ILES_X86 = $(VCI
2240: 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e  NSTALLDIR)\..\..
2250: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  .PROGRAMFILES_X8
2260: 36 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  6 = $(PROGRAMFIL
2270: 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20  ES_X86:\\=\)..# 
2280: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
2290: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
22a0: 20 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73   macro CC.  This
22b0: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f   should point to
22c0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20   the compiler.# 
22d0: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74  binary for the t
22e0: 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20  arget platform. 
22f0: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65   If it is not de
2300: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65  fined, simply de
2310: 66 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65  fine it to.# the
2320: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20   legacy default 
2330: 76 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a  value 'cl.exe'..
2340: 23 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20  #.!IFNDEF CC.CC 
2350: 3d 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a  = cl.exe.!ENDIF.
2360: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
2370: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d   predefined comm
2380: 61 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20  and macro CSC.  
2390: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e  This should poin
23a0: 74 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23  t to a working.#
23b0: 20 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65   C Sharp compile
23c0: 72 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74  r binary.  If it
23d0: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c   is not defined,
23e0: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69   simply define i
23f0: 74 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63  t to the.# legac
2400: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20  y default value 
2410: 27 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46  'csc.exe'..#.!IF
2420: 4e 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63  NDEF CSC.CSC = c
2430: 73 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23  sc.exe.!ENDIF..#
2440: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63   Check for the c
2450: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e  ommand macro LD.
2460: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2470: 69 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65  int to the linke
2480: 72 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74  r binary for.# t
2490: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
24a0: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
24b0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
24c0: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74  y define it to t
24d0: 68 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61  he legacy.# defa
24e0: 75 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e  ult value 'link.
24f0: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20  exe'..#.!IFNDEF 
2500: 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65  LD.LD = link.exe
2510: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
2520: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69   for the predefi
2530: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  ned command macr
2540: 6f 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75  o RC.  This shou
2550: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20  ld point to the 
2560: 72 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69  resource.# compi
2570: 6c 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74  ler binary for t
2580: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
2590: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
25a0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
25b0: 79 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f  y define.# it to
25c0: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61   the legacy defa
25d0: 75 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78  ult value 'rc.ex
25e0: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43  e'..#.!IFNDEF RC
25f0: 0a 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e  .RC = rc.exe.!EN
2600: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  DIF..# Check for
2610: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d   the MSVC runtim
2620: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  e library path m
2630: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
2640: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
2650: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
2660: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f  he 'lib' directo
2670: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68  ry underneath th
2680: 65 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74  e MSVC installat
2690: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23  ion directory..#
26a0: 0a 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50  .!IFNDEF CRTLIBP
26b0: 41 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d  ATH.CRTLIBPATH =
26c0: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29   $(VCINSTALLDIR)
26d0: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54  \lib.!ENDIF..CRT
26e0: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL
26f0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..# 
2700: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f  Check for the co
2710: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e  mmand macro NCC.
2720: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f    This should po
2730: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69  int to the compi
2740: 6c 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72  ler binary.# for
2750: 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68   the platform th
2760: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72  e compilation pr
2770: 6f 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20  ocess is taking 
2780: 70 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74  place on.  If it
2790: 20 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65   is not.# define
27a0: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65  d, simply define
27b0: 20 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20   it to have the 
27c0: 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68  same value as th
27d0: 65 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65  e CC macro.  Whe
27e0: 6e 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c  n.# cross-compil
27f0: 69 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65  ing, it is sugge
2800: 73 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d  sted that this m
2810: 61 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64  acro be modified
2820: 20 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64   via the command
2830: 0a 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e  .# line (since n
2840: 6d 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73  make itself does
2850: 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62   not provide a b
2860: 75 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74  uilt-in method t
2870: 6f 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46  o guess it)..# F
2880: 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75  or example, to u
2890: 73 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69  se the x86 compi
28a0: 6c 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63  ler when cross-c
28b0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34  ompiling for x64
28c0: 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69  , a command.# li
28d0: 6e 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68  ne similar to th
28e0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c  e following coul
28f0: 64 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f  d be used (all o
2900: 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23  n one line):.#.#
2910: 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61       nmake /f Ma
2920: 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74  kefile.msc sqlit
2930: 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20  e3.dll.#        
2940: 20 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53     XCOMPILE=1 US
2950: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48  E_NATIVE_LIBPATH
2960: 53 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74  S=1.#.# Alternat
2970: 69 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20  ively, the full 
2980: 70 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61  path and file na
2990: 6d 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c  me to the compil
29a0: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68  er binary for th
29b0: 65 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65  e.# platform the
29c0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f   compilation pro
29d0: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70  cess is taking p
29e0: 6c 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63  lace may be spec
29f0: 69 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20  ified (all on.# 
2a00: 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20  one line):.#.#  
2a10: 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65     nmake /f Make
2a20: 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33  file.msc sqlite3
2a30: 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20  .dll.#          
2a40: 20 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41   "NCC=""%VCINSTA
2a50: 4c 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78  LLDIR%\bin\cl.ex
2a60: 65 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20  e""".#          
2a70: 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50   USE_NATIVE_LIBP
2a80: 41 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20  ATHS=1.#.!IFDEF 
2a90: 4e 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a  NCC.NCC = $(NCC:
2aa0: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28  \\=\).!ELSEIF $(
2ab0: 58 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43  XCOMPILE)!=0.NCC
2ac0: 20 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44   = "$(VCINSTALLD
2ad0: 49 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e  IR)\bin\$(CC)".N
2ae0: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29  CC = $(NCC:\\=\)
2af0: 0a 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43  .!ELSE.NCC = $(C
2b00: 43 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  C).!ENDIF..# Che
2b10: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20  ck for the MSVC 
2b20: 6e 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c  native runtime l
2b30: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
2b40: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23  o.  Otherwise,.#
2b50: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c   this value will
2b60: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the 
2b70: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20  'lib' directory 
2b80: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d  underneath the M
2b90: 53 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69  SVC.# installati
2ba0: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a  on directory..#.
2bb0: 21 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50  !IFNDEF NCRTLIBP
2bc0: 41 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20  ATH.NCRTLIBPATH 
2bd0: 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52  = $(VCINSTALLDIR
2be0: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43  )\lib.!ENDIF..NC
2bf0: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43  RTLIBPATH = $(NC
2c00: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  RTLIBPATH:\\=\).
2c10: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
2c20: 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69   Platform SDK li
2c30: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f  brary path macro
2c40: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68  .  Otherwise, th
2c50: 69 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20  is.# value will 
2c60: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27  default to the '
2c70: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75  lib' directory u
2c80: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69  nderneath the Wi
2c90: 6e 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74  ndows.# SDK inst
2ca0: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f  allation directo
2cb0: 72 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d  ry (the environm
2cc0: 65 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65  ent variable use
2cd0: 64 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62  d appears.# to b
2ce0: 65 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e  e available when
2cf0: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b   using Visual C+
2d00: 2b 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20  + 2008 or later 
2d10: 76 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e  via the.# comman
2d20: 64 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44  d line)..#.!IFND
2d30: 45 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e  EF NSDKLIBPATH.N
2d40: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57  SDKLIBPATH = $(W
2d50: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
2d60: 62 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49  b.!ENDIF..NSDKLI
2d70: 42 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49  BPATH = $(NSDKLI
2d80: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  BPATH:\\=\)..# C
2d90: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52  heck for the UCR
2da0: 54 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  T library path m
2db0: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
2dc0: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c  , this value wil
2dd0: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74  l.# default to t
2de0: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69  he version-speci
2df0: 66 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70  fic, platform-sp
2e00: 65 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72  ecific 'lib' dir
2e10: 65 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65  ectory.# underne
2e20: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20  ath the Windows 
2e30: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  SDK installation
2e40: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49   directory..#.!I
2e50: 46 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54  FNDEF UCRTLIBPAT
2e60: 48 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20  H.UCRTLIBPATH = 
2e70: 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29  $(WINDOWSSDKDIR)
2e80: 5c 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44  \lib\$(WINDOWSSD
2e90: 4b 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72  KLIBVERSION)\ucr
2ea0: 74 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45  t\$(PLATFORM).!E
2eb0: 4e 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54  NDIF..UCRTLIBPAT
2ec0: 48 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54  H = $(UCRTLIBPAT
2ed0: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d  H:\\=\)..# C com
2ee0: 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e  piler and option
2ef0: 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69  s for use in bui
2f00: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65  lding executable
2f10: 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75  s that.# will ru
2f20: 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72  n on the platfor
2f30: 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20  m that is doing 
2f40: 74 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46  the build..#.!IF
2f50: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29   $(USE_FULLWARN)
2f60: 21 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29  !=0.BCC = $(NCC)
2f70: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43   -nologo -W4 $(C
2f80: 43 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53  COPTS) $(BCCOPTS
2f90: 29 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28  ).!ELSE.BCC = $(
2fa0: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33  NCC) -nologo -W3
2fb0: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS) $(BCC
2fc0: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..# 
2fd0: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
2fe0: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings 
2ff0: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
3000: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
3010: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files 
3020: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
3030: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST
3040: 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24  INGS)!=0.BCC = $
3050: 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (BCC) -FAcs.!END
3060: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74  IF..# Check if t
3070: 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72  he native librar
3080: 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62  y paths should b
3090: 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70  e used when comp
30a0: 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d  iling.# the comm
30b0: 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75  and line tools u
30c0: 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63  sed during the c
30d0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
30e0: 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65  ss.  If.# so, se
30f0: 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  t the necessary 
3100: 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46  macro now..#.!IF
3110: 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49   $(USE_NATIVE_LI
3120: 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49  BPATHS)!=0.NLTLI
3130: 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41  BPATHS = "/LIBPA
3140: 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48  TH:$(NCRTLIBPATH
3150: 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  )" "/LIBPATH:$(N
3160: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49  SDKLIBPATH)"..!I
3170: 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54  FDEF NUCRTLIBPAT
3180: 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d  H.NUCRTLIBPATH =
3190: 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a   $(NUCRTLIBPATH:
31a0: 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48  \\=\).NLTLIBPATH
31b0: 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  S = $(NLTLIBPATH
31c0: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  S) "/LIBPATH:$(N
31d0: 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45  UCRTLIBPATH)".!E
31e0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43  NDIF.!ENDIF..# C
31f0: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
3200: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
3210: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
3220: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
3230: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72  l run on the tar
3240: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28  get platform.  (
3250: 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20  BCC and TCC are 
3260: 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61  usually the.# sa
3270: 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61  me unless your a
3280: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
3290: 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45  ng.).#.!IF $(USE
32a0: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43  _FULLWARN)!=0.TC
32b0: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67  C = $(CC) -nolog
32c0: 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f  o -W4 -DINCLUDE_
32d0: 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54  MSVC_H=1 $(CCOPT
32e0: 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45  S) $(TCCOPTS).!E
32f0: 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20  LSE.TCC = $(CC) 
3300: 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43  -nologo -W3 $(CC
3310: 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29  OPTS) $(TCCOPTS)
3320: 0a 21 45 4e 44 49 46 0a 0a 54 43 43 20 3d 20 24  .!ENDIF..TCC = $
3330: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f  (TCC) -DSQLITE_O
3340: 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28  S_WIN=1 -I. -I$(
3350: 54 4f 50 29 20 2d 49 24 28 54 4f 50 29 5c 73 72  TOP) -I$(TOP)\sr
3360: 63 20 2d 66 70 3a 70 72 65 63 69 73 65 0a 52 43  c -fp:precise.RC
3370: 43 20 3d 20 24 28 52 43 29 20 2d 44 53 51 4c 49  C = $(RC) -DSQLI
3380: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20  TE_OS_WIN=1 -I. 
3390: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50  -I$(TOP) -I$(TOP
33a0: 29 5c 73 72 63 20 24 28 52 43 4f 50 54 53 29 20  )\src $(RCOPTS) 
33b0: 24 28 52 43 43 4f 50 54 53 29 0a 0a 23 20 43 68  $(RCCOPTS)..# Ch
33c0: 65 63 6b 20 69 66 20 77 65 20 77 61 6e 74 20 74  eck if we want t
33d0: 6f 20 75 73 65 20 74 68 65 20 22 73 74 64 63 61  o use the "stdca
33e0: 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76  ll" calling conv
33f0: 65 6e 74 69 6f 6e 20 77 68 65 6e 20 63 6f 6d 70  ention when comp
3400: 69 6c 69 6e 67 2e 0a 23 20 54 68 69 73 20 69 73  iling..# This is
3410: 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62   not supported b
3420: 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 73 20  y the compilers 
3430: 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 70 6c 61 74  for non-x86 plat
3440: 66 6f 72 6d 73 2e 20 20 49 74 20 73 68 6f 75 6c  forms.  It shoul
3450: 64 0a 23 20 61 6c 73 6f 20 62 65 20 6e 6f 74 65  d.# also be note
3460: 64 20 68 65 72 65 20 74 68 61 74 20 62 75 69 6c  d here that buil
3470: 64 69 6e 67 20 61 6e 79 20 74 61 72 67 65 74 20  ding any target 
3480: 77 69 74 68 20 74 68 65 73 65 20 22 73 74 64 63  with these "stdc
3490: 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 0a 23 20 77  all" options.# w
34a0: 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20  ill most likely 
34b0: 66 61 69 6c 20 69 66 20 74 68 65 20 54 63 6c 20  fail if the Tcl 
34c0: 6c 69 62 72 61 72 79 20 69 73 20 61 6c 73 6f 20  library is also 
34d0: 72 65 71 75 69 72 65 64 2e 20 20 54 68 69 73 20  required.  This 
34e0: 69 73 20 64 75 65 0a 23 20 74 6f 20 68 6f 77 20  is due.# to how 
34f0: 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 20  the Tcl library 
3500: 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65  functions are de
3510: 63 6c 61 72 65 64 20 61 6e 64 20 65 78 70 6f 72  clared and expor
3520: 74 65 64 20 28 69 2e 65 2e 20 77 69 74 68 6f 75  ted (i.e. withou
3530: 74 0a 23 20 61 6e 20 65 78 70 6c 69 63 69 74 20  t.# an explicit 
3540: 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69  calling conventi
3550: 6f 6e 2c 20 77 68 69 63 68 20 72 65 73 75 6c 74  on, which result
3560: 73 20 69 6e 20 22 63 64 65 63 6c 22 29 2e 0a 23  s in "cdecl")..#
3570: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA
3580: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
3590: 57 49 4e 31 30 29 21 3d 30 0a 21 49 46 20 22 24  WIN10)!=0.!IF "$
35a0: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38  (PLATFORM)"=="x8
35b0: 36 22 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50  6".CORE_CCONV_OP
35c0: 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54  TS = -Gz -DSQLIT
35d0: 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20  E_CDECL=__cdecl 
35e0: 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c  -DSQLITE_APICALL
35f0: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3600: 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73  ITE_CALLBACK=__s
3610: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3620: 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c  SYSAPI=__stdcall
3630: 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54  .SHELL_CCONV_OPT
3640: 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45  S = -Gz -DSQLITE
3650: 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d  _CDECL=__cdecl -
3660: 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d  DSQLITE_APICALL=
3670: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3680: 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74  TE_CALLBACK=__st
3690: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53  dcall -DSQLITE_S
36a0: 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a  YSAPI=__stdcall.
36b0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f  # <<mark>>.TEST_
36c0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a  CCONV_OPTS = -Gz
36d0: 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d   -DSQLITE_CDECL=
36e0: 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45  __cdecl -DSQLITE
36f0: 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61  _APICALL=__stdca
3700: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c  ll -DSQLITE_CALL
3710: 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  BACK=__stdcall -
3720: 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f  DSQLITE_SYSAPI=_
3730: 5f 73 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55  _stdcall -DINCLU
3740: 44 45 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d  DE_SQLITE_TCL_H=
3750: 31 20 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50  1 -DSQLITE_TCLAP
3760: 49 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d  I=__cdecl.# <</m
3770: 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 21 49 46 4e  ark>>.!ELSE.!IFN
3780: 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 43 4f 52  DEF PLATFORM.COR
3790: 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d  E_CCONV_OPTS = -
37a0: 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43  Gz -DSQLITE_CDEC
37b0: 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49  L=__cdecl -DSQLI
37c0: 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64  TE_APICALL=__std
37d0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41  call -DSQLITE_CA
37e0: 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c  LLBACK=__stdcall
37f0: 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49   -DSQLITE_SYSAPI
3800: 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c  =__stdcall.SHELL
3810: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47  _CCONV_OPTS = -G
3820: 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c  z -DSQLITE_CDECL
3830: 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54  =__cdecl -DSQLIT
3840: 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63  E_APICALL=__stdc
3850: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c  all -DSQLITE_CAL
3860: 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20  LBACK=__stdcall 
3870: 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d  -DSQLITE_SYSAPI=
3880: 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c 3c 6d 61  __stdcall.# <<ma
3890: 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f  rk>>.TEST_CCONV_
38a0: 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c  OPTS = -Gz -DSQL
38b0: 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63  ITE_CDECL=__cdec
38c0: 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41  l -DSQLITE_APICA
38d0: 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  LL=__stdcall -DS
38e0: 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f  QLITE_CALLBACK=_
38f0: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3900: 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61  E_SYSAPI=__stdca
3910: 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f 53 51 4c  ll -DINCLUDE_SQL
3920: 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d 44 53 51  ITE_TCL_H=1 -DSQ
3930: 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f 5f 63 64  LITE_TCLAPI=__cd
3940: 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  ecl.# <</mark>>.
3950: 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56  !ELSE.CORE_CCONV
3960: 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43  _OPTS =.SHELL_CC
3970: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d  ONV_OPTS =.# <<m
3980: 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56  ark>>.TEST_CCONV
3990: 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72  _OPTS =.# <</mar
39a0: 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  k>>.!ENDIF.!ENDI
39b0: 46 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f  F.!ELSE.CORE_CCO
39c0: 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f  NV_OPTS =.SHELL_
39d0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c  CCONV_OPTS =.# <
39e0: 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f  <mark>>.TEST_CCO
39f0: 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d  NV_OPTS =.# <</m
3a00: 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20  ark>>.!ENDIF..# 
3a10: 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69  These are additi
3a20: 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70  onal compiler op
3a30: 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74  tions used for t
3a40: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e  he core library.
3a50: 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f  .#.!IFNDEF CORE_
3a60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46  COMPILE_OPTS.!IF
3a70: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL
3a80: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI
3a90: 4e 31 30 29 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d  N10)!=0.CORE_COM
3aa0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f  PILE_OPTS = $(CO
3ab0: 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d  RE_CCONV_OPTS) -
3ac0: 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65  DSQLITE_API=__de
3ad0: 63 6c 73 70 65 63 28 64 6c 6c 65 78 70 6f 72 74  clspec(dllexport
3ae0: 29 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d  ).!ELSE.CORE_COM
3af0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f  PILE_OPTS = $(CO
3b00: 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21  RE_CCONV_OPTS).!
3b10: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
3b20: 54 68 65 73 65 20 61 72 65 20 74 68 65 20 61 64  These are the ad
3b30: 64 69 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 73  ditional targets
3b40: 20 74 68 61 74 20 74 68 65 20 63 6f 72 65 20 6c   that the core l
3b50: 69 62 72 61 72 79 20 73 68 6f 75 6c 64 20 64 65  ibrary should de
3b60: 70 65 6e 64 20 6f 6e 0a 23 20 77 68 65 6e 20 6c  pend on.# when l
3b70: 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  inking..#.!IFNDE
3b80: 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a  F CORE_LINK_DEP.
3b90: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH
3ba0: 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e  ELL)!=0.CORE_LIN
3bb0: 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 45 49 46 20  K_DEP =.!ELSEIF 
3bc0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20  $(FOR_WIN10)==0 
3bd0: 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  || "$(PLATFORM)"
3be0: 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e  =="x86".CORE_LIN
3bf0: 4b 5f 44 45 50 20 3d 20 73 71 6c 69 74 65 33 2e  K_DEP = sqlite3.
3c00: 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c  def.!ELSE.CORE_L
3c10: 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46  INK_DEP =.!ENDIF
3c20: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
3c30: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20   are additional 
3c40: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75  linker options u
3c50: 73 65 64 20 66 6f 72 20 74 68 65 20 63 6f 72 65  sed for the core
3c60: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
3c70: 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50  DEF CORE_LINK_OP
3c80: 54 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  TS.!IF $(DYNAMIC
3c90: 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f  _SHELL)!=0.CORE_
3ca0: 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4c 53  LINK_OPTS =.!ELS
3cb0: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  EIF $(FOR_WIN10)
3cc0: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f  ==0 || "$(PLATFO
3cd0: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
3ce0: 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 2f 44 45  _LINK_OPTS = /DE
3cf0: 46 3a 73 71 6c 69 74 65 33 2e 64 65 66 0a 21 45  F:sqlite3.def.!E
3d00: 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50  LSE.CORE_LINK_OP
3d10: 54 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  TS =.!ENDIF.!END
3d20: 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20  IF..# These are 
3d30: 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69  additional compi
3d40: 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64  ler options used
3d50: 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65   for the shell e
3d60: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46  xecutable..#.!IF
3d70: 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 4d 50 49  NDEF SHELL_COMPI
3d80: 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59  LE_OPTS.!IF $(DY
3d90: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20  NAMIC_SHELL)!=0 
3da0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)!
3db0: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  =0.SHELL_COMPILE
3dc0: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_
3dd0: 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51  CCONV_OPTS) -DSQ
3de0: 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73  LITE_API=__decls
3df0: 70 65 63 28 64 6c 6c 69 6d 70 6f 72 74 29 0a 21  pec(dllimport).!
3e00: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  ELSE.SHELL_COMPI
3e10: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL
3e20: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45  L_CCONV_OPTS).!E
3e30: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
3e40: 68 69 73 20 69 73 20 74 68 65 20 73 6f 75 72 63  his is the sourc
3e50: 65 20 63 6f 64 65 20 74 68 61 74 20 74 68 65 20  e code that the 
3e60: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  shell executable
3e70: 20 73 68 6f 75 6c 64 20 62 65 20 63 6f 6d 70 69   should be compi
3e80: 6c 65 64 0a 23 20 77 69 74 68 2e 0a 23 0a 21 49  led.# with..#.!I
3e90: 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45  FNDEF SHELL_CORE
3ea0: 5f 53 52 43 0a 21 49 46 20 24 28 44 59 4e 41 4d  _SRC.!IF $(DYNAM
3eb0: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20  IC_SHELL)!=0 || 
3ec0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
3ed0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d  SHELL_CORE_SRC =
3ee0: 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52  .!ELSE.SHELL_COR
3ef0: 45 5f 53 52 43 20 3d 20 24 28 53 51 4c 49 54 45  E_SRC = $(SQLITE
3f00: 33 43 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  3C).!ENDIF.!ENDI
3f10: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  F..# This is the
3f20: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68   core library th
3f30: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  at the shell exe
3f40: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 64  cutable should d
3f50: 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e  epend on..#.!IFN
3f60: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  DEF SHELL_CORE_D
3f70: 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  EP.!IF $(DYNAMIC
3f80: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $(
3f90: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
3fa0: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 24  ELL_CORE_DEP = $
3fb0: 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 21 45 4c  (SQLITE3DLL).!EL
3fc0: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  SE.SHELL_CORE_DE
3fd0: 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  P =.!ENDIF.!ENDI
3fe0: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  F..# This is the
3ff0: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68   core library th
4000: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  at the shell exe
4010: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c  cutable should l
4020: 69 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e  ink with..#.!IFN
4030: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  DEF SHELL_CORE_L
4040: 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  IB.!IF $(DYNAMIC
4050: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $(
4060: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
4070: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24  ELL_CORE_LIB = $
4080: 28 53 51 4c 49 54 45 33 4c 49 42 29 0a 21 45 4c  (SQLITE3LIB).!EL
4090: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49  SE.SHELL_CORE_LI
40a0: 42 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  B =.!ENDIF.!ENDI
40b0: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61  F..# These are a
40c0: 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72  dditional linker
40d0: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f   options used fo
40e0: 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63  r the shell exec
40f0: 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45  utable..#.!IFNDE
4100: 46 20 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54  F SHELL_LINK_OPT
4110: 53 0a 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54  S.SHELL_LINK_OPT
4120: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  S = $(SHELL_CORE
4130: 5f 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20  _LIB).!ENDIF..# 
4140: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
4150: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings 
4160: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
4170: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
4180: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files 
4190: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
41a0: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST
41b0: 49 4e 47 53 29 21 3d 30 0a 54 43 43 20 3d 20 24  INGS)!=0.TCC = $
41c0: 28 54 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (TCC) -FAcs.!END
41d0: 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69  IF..# When compi
41e0: 6c 69 6e 67 20 74 68 65 20 6c 69 62 72 61 72 79  ling the library
41f0: 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20   for use in the 
4200: 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e  WinRT environmen
4210: 74 2c 0a 23 20 74 68 65 20 66 6f 6c 6c 6f 77 69  t,.# the followi
4220: 6e 67 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20  ng compile-time 
4230: 6f 70 74 69 6f 6e 73 20 6d 75 73 74 20 62 65 20  options must be 
4240: 75 73 65 64 20 61 73 20 77 65 6c 6c 20 74 6f 0a  used as well to.
4250: 23 20 64 69 73 61 62 6c 65 20 75 73 65 20 6f 66  # disable use of
4260: 20 57 69 6e 33 32 20 41 50 49 73 20 74 68 61 74   Win32 APIs that
4270: 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c 61 62   are not availab
4280: 6c 65 20 61 6e 64 20 74 6f 20 65 6e 61 62 6c 65  le and to enable
4290: 0a 23 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20  .# use of Win32 
42a0: 41 50 49 73 20 74 68 61 74 20 61 72 65 20 73 70  APIs that are sp
42b0: 65 63 69 66 69 63 20 74 6f 20 57 69 6e 64 6f 77  ecific to Window
42c0: 73 20 38 20 61 6e 64 2f 6f 72 20 57 69 6e 52 54  s 8 and/or WinRT
42d0: 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  ..#.!IF $(FOR_WI
42e0: 4e 52 54 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  NRT)!=0.TCC = $(
42f0: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53  TCC) -DSQLITE_OS
4300: 5f 57 49 4e 52 54 3d 31 0a 52 43 43 20 3d 20 24  _WINRT=1.RCC = $
4310: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f  (RCC) -DSQLITE_O
4320: 53 5f 57 49 4e 52 54 3d 31 0a 54 43 43 20 3d 20  S_WINRT=1.TCC = 
4330: 24 28 54 43 43 29 20 2d 44 57 49 4e 41 50 49 5f  $(TCC) -DWINAPI_
4340: 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41  FAMILY=WINAPI_FA
4350: 4d 49 4c 59 5f 41 50 50 0a 52 43 43 20 3d 20 24  MILY_APP.RCC = $
4360: 28 52 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46  (RCC) -DWINAPI_F
4370: 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d  AMILY=WINAPI_FAM
4380: 49 4c 59 5f 41 50 50 0a 21 45 4e 44 49 46 0a 0a  ILY_APP.!ENDIF..
4390: 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74  # C compiler opt
43a0: 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 57 69 6e  ions for the Win
43b0: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d  dows 10 platform
43c0: 20 28 6e 65 65 64 73 20 4d 53 56 43 20 32 30 31   (needs MSVC 201
43d0: 35 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f  5)..#.!IF $(FOR_
43e0: 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20  WIN10)!=0.TCC = 
43f0: 24 28 54 43 43 29 20 2f 64 32 67 75 61 72 64 34  $(TCC) /d2guard4
4400: 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50   -D_ARM_WINAPI_P
4410: 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50  ARTITION_DESKTOP
4420: 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 42  _SDK_AVAILABLE.B
4430: 43 43 20 3d 20 24 28 42 43 43 29 20 2f 64 32 67  CC = $(BCC) /d2g
4440: 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e  uard4 -D_ARM_WIN
4450: 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45  API_PARTITION_DE
4460: 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41  SKTOP_SDK_AVAILA
4470: 42 4c 45 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c  BLE.!ENDIF..# Al
4480: 73 6f 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 64  so, we need to d
4490: 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20  ynamically link 
44a0: 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74 20 4d  to the correct M
44b0: 53 56 43 20 72 75 6e 74 69 6d 65 0a 23 20 77 68  SVC runtime.# wh
44c0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
44d0: 20 57 69 6e 52 54 20 28 65 2e 67 2e 20 64 65 62   WinRT (e.g. deb
44e0: 75 67 20 6f 72 20 72 65 6c 65 61 73 65 29 20 4f  ug or release) O
44f0: 52 20 69 66 20 74 68 65 0a 23 20 55 53 45 5f 43  R if the.# USE_C
4500: 52 54 5f 44 4c 4c 20 6f 70 74 69 6f 6e 20 69 73  RT_DLL option is
4510: 20 73 65 74 20 74 6f 20 66 6f 72 63 65 20 64 79   set to force dy
4520: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e  namically linkin
4530: 67 20 74 6f 20 74 68 65 0a 23 20 4d 53 56 43 20  g to the.# MSVC 
4540: 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 2e  runtime library.
4550: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN
4560: 52 54 29 21 3d 30 20 7c 7c 20 24 28 55 53 45 5f  RT)!=0 || $(USE_
4570: 43 52 54 5f 44 4c 4c 29 21 3d 30 0a 21 49 46 20  CRT_DLL)!=0.!IF 
4580: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d  $(DEBUG)>1.TCC =
4590: 20 24 28 54 43 43 29 20 2d 4d 44 64 0a 42 43 43   $(TCC) -MDd.BCC
45a0: 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 64 0a 21   = $(BCC) -MDd.!
45b0: 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54 43 43  ELSE.TCC = $(TCC
45c0: 29 20 2d 4d 44 0a 42 43 43 20 3d 20 24 28 42 43  ) -MD.BCC = $(BC
45d0: 43 29 20 2d 4d 44 0a 21 45 4e 44 49 46 0a 21 45  C) -MD.!ENDIF.!E
45e0: 4c 53 45 0a 21 49 46 20 24 28 44 45 42 55 47 29  LSE.!IF $(DEBUG)
45f0: 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >1.TCC = $(TCC) 
4600: 2d 4d 54 64 0a 42 43 43 20 3d 20 24 28 42 43 43  -MTd.BCC = $(BCC
4610: 29 20 2d 4d 54 64 0a 21 45 4c 53 45 0a 54 43 43  ) -MTd.!ELSE.TCC
4620: 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 0a 42 43   = $(TCC) -MT.BC
4630: 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54 0a 21  C = $(BCC) -MT.!
4640: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..# 
4650: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20 6d  <<mark>>.# The m
4660: 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 61 6e  ksqlite3c.tcl an
4670: 64 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  d mksqlite3h.tcl
4680: 20 73 63 72 69 70 74 73 20 77 69 6c 6c 20 70 75   scripts will pu
4690: 6c 6c 20 69 6e 0a 23 20 61 6e 79 20 65 78 74 65  ll in.# any exte
46a0: 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c  nsion header fil
46b0: 65 73 20 62 79 20 64 65 66 61 75 6c 74 2e 20 20  es by default.  
46c0: 46 6f 72 20 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61  For non-amalgama
46d0: 74 69 6f 6e 0a 23 20 62 75 69 6c 64 73 2c 20 77  tion.# builds, w
46e0: 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 73  e need to make s
46f0: 75 72 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72  ure the compiler
4700: 20 63 61 6e 20 66 69 6e 64 20 74 68 65 73 65 2e   can find these.
4710: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41  .#.!IF $(USE_AMA
4720: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 43  LGAMATION)==0.TC
4730: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
4740: 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 52 43 43  OP)\ext\fts3.RCC
4750: 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f   = $(RCC) -I$(TO
4760: 50 29 5c 65 78 74 5c 66 74 73 33 0a 54 43 43 20  P)\ext\fts3.TCC 
4770: 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50  = $(TCC) -I$(TOP
4780: 29 5c 65 78 74 5c 72 74 72 65 65 0a 52 43 43 20  )\ext\rtree.RCC 
4790: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50  = $(RCC) -I$(TOP
47a0: 29 5c 65 78 74 5c 72 74 72 65 65 0a 54 43 43 20  )\ext\rtree.TCC 
47b0: 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50  = $(TCC) -I$(TOP
47c0: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a 52 43  )\ext\session.RC
47d0: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54  C = $(RCC) -I$(T
47e0: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a  OP)\ext\session.
47f0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b  !ENDIF..# The mk
4800: 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 73 63 72  sqlite3c.tcl scr
4810: 69 70 74 20 61 63 63 65 70 74 73 20 73 6f 6d 65  ipt accepts some
4820: 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20   options on the 
4830: 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 2e 20  command.# line. 
4840: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   When compiling 
4850: 77 69 74 68 20 64 65 62 75 67 67 69 6e 67 20 65  with debugging e
4860: 6e 61 62 6c 65 64 2c 20 73 6f 6d 65 20 6f 66 20  nabled, some of 
4870: 74 68 65 73 65 0a 23 20 6f 70 74 69 6f 6e 73 20  these.# options 
4880: 61 72 65 20 6e 65 63 65 73 73 61 72 79 20 69 6e  are necessary in
4890: 20 6f 72 64 65 72 20 74 6f 20 61 6c 6c 6f 77 20   order to allow 
48a0: 64 65 62 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c  debugging symbol
48b0: 73 20 74 6f 0a 23 20 77 6f 72 6b 20 63 6f 72 72  s to.# work corr
48c0: 65 63 74 6c 79 20 77 69 74 68 20 56 69 73 75 61  ectly with Visua
48d0: 6c 20 53 74 75 64 69 6f 20 77 68 65 6e 20 75 73  l Studio when us
48e0: 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61  ing the amalgama
48f0: 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20  tion..#.!IFNDEF 
4900: 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a  MKSQLITE3C_TOOL.
4910: 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d  !IF $(MINIMAL_AM
4920: 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d  ALGAMATION)!=0.M
4930: 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 20 3d  KSQLITE3C_TOOL =
4940: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73   $(TOP)\tool\mks
4950: 71 6c 69 74 65 33 63 2d 6e 6f 65 78 74 2e 74 63  qlite3c-noext.tc
4960: 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45  l.!ELSE.MKSQLITE
4970: 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29  3C_TOOL = $(TOP)
4980: 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63  \tool\mksqlite3c
4990: 2e 74 63 6c 0a 21 45 4e 44 49 46 0a 21 45 4e 44  .tcl.!ENDIF.!END
49a0: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51  IF..!IFNDEF MKSQ
49b0: 4c 49 54 45 33 43 5f 41 52 47 53 0a 21 49 46 20  LITE3C_ARGS.!IF 
49c0: 24 28 44 45 42 55 47 29 3e 31 0a 4d 4b 53 51 4c  $(DEBUG)>1.MKSQL
49d0: 49 54 45 33 43 5f 41 52 47 53 20 3d 20 2d 2d 6c  ITE3C_ARGS = --l
49e0: 69 6e 65 6d 61 63 72 6f 73 0a 21 45 4c 53 45 0a  inemacros.!ELSE.
49f0: 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20  MKSQLITE3C_ARGS 
4a00: 3d 0a 21 45 4e 44 49 46 0a 21 49 46 20 24 28 55  =.!ENDIF.!IF $(U
4a10: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
4a20: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
4a30: 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  0.MKSQLITE3C_ARG
4a40: 53 20 3d 20 24 28 4d 4b 53 51 4c 49 54 45 33 43  S = $(MKSQLITE3C
4a50: 5f 41 52 47 53 29 20 2d 2d 75 73 65 61 70 69 63  _ARGS) --useapic
4a60: 61 6c 6c 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  all.!ENDIF.!ENDI
4a70: 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74  F..# The mksqlit
4a80: 65 33 68 2e 74 63 6c 20 73 63 72 69 70 74 20 61  e3h.tcl script a
4a90: 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 69  ccepts some opti
4aa0: 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61  ons on the comma
4ab0: 6e 64 20 6c 69 6e 65 2e 0a 23 20 57 68 65 6e 20  nd line..# When 
4ac0: 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20 73  compiling with s
4ad0: 74 64 63 61 6c 6c 20 73 75 70 70 6f 72 74 2c 20  tdcall support, 
4ae0: 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 20 6f 70  some of these op
4af0: 74 69 6f 6e 73 20 61 72 65 0a 23 20 6e 65 63 65  tions are.# nece
4b00: 73 73 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46  ssary..#.!IFNDEF
4b10: 20 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53   MKSQLITE3H_ARGS
4b20: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA
4b30: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_
4b40: 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53 51 4c 49  WIN10)!=0.MKSQLI
4b50: 54 45 33 48 5f 41 52 47 53 20 3d 20 2d 2d 75 73  TE3H_ARGS = --us
4b60: 65 61 70 69 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d  eapicall.!ELSE.M
4b70: 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53 20 3d  KSQLITE3H_ARGS =
4b80: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 23  .!ENDIF.!ENDIF.#
4b90: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65   <</mark>>..# De
4ba0: 66 69 6e 65 20 2d 44 4e 44 45 42 55 47 20 74 6f  fine -DNDEBUG to
4bb0: 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 6f 75 74   compile without
4bc0: 20 64 65 62 75 67 67 69 6e 67 20 28 69 2e 65 2e   debugging (i.e.
4bd0: 2c 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e  , for production
4be0: 20 75 73 61 67 65 29 0a 23 20 4f 6d 69 74 74 69   usage).# Omitti
4bf0: 6e 67 20 74 68 65 20 64 65 66 69 6e 65 20 77 69  ng the define wi
4c00: 6c 6c 20 63 61 75 73 65 20 65 78 74 72 61 20 64  ll cause extra d
4c10: 65 62 75 67 67 69 6e 67 20 63 6f 64 65 20 74 6f  ebugging code to
4c20: 20 62 65 20 69 6e 73 65 72 74 65 64 20 61 6e 64   be inserted and
4c30: 0a 23 20 69 6e 63 6c 75 64 65 73 20 65 78 74 72  .# includes extr
4c40: 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68 65 6e 20  a comments when 
4c50: 22 45 58 50 4c 41 49 4e 20 73 74 6d 74 22 20 69  "EXPLAIN stmt" i
4c60: 73 20 75 73 65 64 2e 0a 23 0a 21 49 46 20 24 28  s used..#.!IF $(
4c70: 44 45 42 55 47 29 3d 3d 30 0a 54 43 43 20 3d 20  DEBUG)==0.TCC = 
4c80: 24 28 54 43 43 29 20 2d 44 4e 44 45 42 55 47 0a  $(TCC) -DNDEBUG.
4c90: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 4e  BCC = $(BCC) -DN
4ca0: 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52 43  DEBUG.RCC = $(RC
4cb0: 43 29 20 2d 44 4e 44 45 42 55 47 0a 21 45 4e 44  C) -DNDEBUG.!END
4cc0: 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29  IF..!IF $(DEBUG)
4cd0: 3e 30 20 7c 7c 20 24 28 41 50 49 5f 41 52 4d 4f  >0 || $(API_ARMO
4ce0: 52 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  R)!=0 || $(FOR_W
4cf0: 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20 24  IN10)!=0.TCC = $
4d00: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (TCC) -DSQLITE_E
4d10: 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d  NABLE_API_ARMOR=
4d20: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
4d30: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41  DSQLITE_ENABLE_A
4d40: 50 49 5f 41 52 4d 4f 52 3d 31 0a 21 45 4e 44 49  PI_ARMOR=1.!ENDI
4d50: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  F..!IF $(DEBUG)>
4d60: 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  2.TCC = $(TCC) -
4d70: 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a  DSQLITE_DEBUG=1.
4d80: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
4d90: 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a 21 45  QLITE_DEBUG=1.!E
4da0: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55  NDIF..!IF $(DEBU
4db0: 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 52 41 43  G)>4 || $(OSTRAC
4dc0: 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  E)!=0.TCC = $(TC
4dd0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43  C) -DSQLITE_FORC
4de0: 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 53  E_OS_TRACE=1 -DS
4df0: 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54  QLITE_DEBUG_OS_T
4e00: 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  RACE=1.RCC = $(R
4e10: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52  CC) -DSQLITE_FOR
4e20: 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44  CE_OS_TRACE=1 -D
4e30: 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f  SQLITE_DEBUG_OS_
4e40: 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a  TRACE=1.!ENDIF..
4e50: 21 49 46 20 24 28 44 45 42 55 47 29 3e 35 0a 54  !IF $(DEBUG)>5.T
4e60: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
4e70: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
4e80: 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  ACE=1.RCC = $(RC
4e90: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
4ea0: 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 21 45 4e  LE_IOTRACE=1.!EN
4eb0: 44 49 46 0a 0a 23 20 50 72 65 76 65 6e 74 20 77  DIF..# Prevent w
4ec0: 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 69  arnings about "i
4ed0: 6e 73 65 63 75 72 65 22 20 4d 53 56 43 20 72 75  nsecure" MSVC ru
4ee0: 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 66 75  ntime library fu
4ef0: 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 6e 67 20  nctions.# being 
4f00: 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28  used..#.TCC = $(
4f10: 54 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55  TCC) -D_CRT_SECU
4f20: 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  RE_NO_DEPRECATE 
4f30: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f  -D_CRT_SECURE_NO
4f40: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20  _WARNINGS.BCC = 
4f50: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 53 45  $(BCC) -D_CRT_SE
4f60: 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54  CURE_NO_DEPRECAT
4f70: 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  E -D_CRT_SECURE_
4f80: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20  NO_WARNINGS.RCC 
4f90: 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f  = $(RCC) -D_CRT_
4fa0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43  SECURE_NO_DEPREC
4fb0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52  ATE -D_CRT_SECUR
4fc0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23  E_NO_WARNINGS..#
4fd0: 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67   Prevent warning
4fe0: 73 20 61 62 6f 75 74 20 22 64 65 70 72 65 63 61  s about "depreca
4ff0: 74 65 64 22 20 50 4f 53 49 58 20 66 75 6e 63 74  ted" POSIX funct
5000: 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 65 64 2e  ions being used.
5010: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 
5020: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
5030: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43  O_DEPRECATE -D_C
5040: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41  RT_NONSTDC_NO_WA
5050: 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28 42  RNINGS.BCC = $(B
5060: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  CC) -D_CRT_NONST
5070: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  DC_NO_DEPRECATE 
5080: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
5090: 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d  O_WARNINGS.RCC =
50a0: 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f 4e   $(RCC) -D_CRT_N
50b0: 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43  ONSTDC_NO_DEPREC
50c0: 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  ATE -D_CRT_NONST
50d0: 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a  DC_NO_WARNINGS..
50e0: 23 20 55 73 65 20 74 68 65 20 53 51 4c 69 74 65  # Use the SQLite
50f0: 20 64 65 62 75 67 67 69 6e 67 20 68 65 61 70 20   debugging heap 
5100: 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46  subsystem?.#.!IF
5110: 20 24 28 4d 45 4d 44 45 42 55 47 29 21 3d 30 0a   $(MEMDEBUG)!=0.
5120: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS
5130: 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31  QLITE_MEMDEBUG=1
5140: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D
5150: 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d  SQLITE_MEMDEBUG=
5160: 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 76 65 20  1..# Use native 
5170: 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73 79  Win32 heap subsy
5180: 73 74 65 6d 20 69 6e 73 74 65 61 64 20 6f 66 20  stem instead of 
5190: 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a 23 0a 21  malloc/free?.#.!
51a0: 45 4c 53 45 49 46 20 24 28 57 49 4e 33 32 48 45  ELSEIF $(WIN32HE
51b0: 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  AP)!=0.TCC = $(T
51c0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e  CC) -DSQLITE_WIN
51d0: 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 43 43 20  32_MALLOC=1.RCC 
51e0: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT
51f0: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31  E_WIN32_MALLOC=1
5200: 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 74 68 65  ..# Validate the
5210: 20 68 65 61 70 20 6f 6e 20 65 76 65 72 79 20 63   heap on every c
5220: 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 6e 61 74  all into the nat
5230: 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73  ive Win32 heap s
5240: 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20  ubsystem?.#.!IF 
5250: 24 28 44 45 42 55 47 29 3e 33 0a 54 43 43 20 3d  $(DEBUG)>3.TCC =
5260: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE
5270: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41  _WIN32_MALLOC_VA
5280: 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 3d 20 24  LIDATE=1.RCC = $
5290: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57  (RCC) -DSQLITE_W
52a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
52b0: 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a 21 45  DATE=1.!ENDIF.!E
52c0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
52d0: 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73  .# The locations
52e0: 20 6f 66 20 74 68 65 20 54 63 6c 20 68 65 61 64   of the Tcl head
52f0: 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66  er and library f
5300: 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65  iles.  Also, the
5310: 20 6c 69 62 72 61 72 79 20 74 68 61 74 0a 23 20   library that.# 
5320: 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 62 6c 65  non-stubs enable
5330: 64 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67  d programs using
5340: 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e 6b 20 61   Tcl must link a
5350: 67 61 69 6e 73 74 2e 20 20 54 68 65 73 65 20 76  gainst.  These v
5360: 61 72 69 61 62 6c 65 73 0a 23 20 28 54 43 4c 49  ariables.# (TCLI
5370: 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 44 49 52  NCDIR, TCLLIBDIR
5380: 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 20 6d 61  , and LIBTCL) ma
5390: 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20  y be overridden 
53a0: 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d  via the environm
53b0: 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72  ent.# prior to r
53c0: 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20  unning nmake in 
53d0: 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74  order to match t
53e0: 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c  he actual instal
53f0: 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64  led location and
5400: 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e 20 74 68  .# version on th
5410: 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49  is machine..#.!I
5420: 46 4e 44 45 46 20 54 43 4c 49 4e 43 44 49 52 0a  FNDEF TCLINCDIR.
5430: 54 43 4c 49 4e 43 44 49 52 20 3d 20 63 3a 5c 74  TCLINCDIR = c:\t
5440: 63 6c 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49  cl\include.!ENDI
5450: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 4c 49  F..!IFNDEF TCLLI
5460: 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 52 20 3d  BDIR.TCLLIBDIR =
5470: 20 63 3a 5c 74 63 6c 5c 6c 69 62 0a 21 45 4e 44   c:\tcl\lib.!END
5480: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54  IF..!IFNDEF LIBT
5490: 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 63 6c 38  CL.LIBTCL = tcl8
54a0: 35 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49  5.lib.!ENDIF..!I
54b0: 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54 55 42  FNDEF LIBTCLSTUB
54c0: 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20 74 63  .LIBTCLSTUB = tc
54d0: 6c 73 74 75 62 38 35 2e 6c 69 62 0a 21 45 4e 44  lstub85.lib.!END
54e0: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54  IF..!IFNDEF LIBT
54f0: 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c 50 41 54  CLPATH.LIBTCLPAT
5500: 48 20 3d 20 63 3a 5c 74 63 6c 5c 62 69 6e 0a 21  H = c:\tcl\bin.!
5510: 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63  ENDIF..# The loc
5520: 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43  ations of the IC
5530: 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62  U header and lib
5540: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65  rary files.  The
5550: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28  se variables.# (
5560: 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49  ICUINCDIR, ICULI
5570: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55  BDIR, and LIBICU
5580: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
5590: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
55a0: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior 
55b0: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
55c0: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
55d0: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
55e0: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e  stalled location
55f0: 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69   on.# this machi
5600: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43  ne..#.!IFNDEF IC
5610: 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 44 49  UINCDIR.ICUINCDI
5620: 52 20 3d 20 63 3a 5c 69 63 75 5c 69 6e 63 6c 75  R = c:\icu\inclu
5630: 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  de.!ENDIF..!IFND
5640: 45 46 20 49 43 55 4c 49 42 44 49 52 0a 49 43 55  EF ICULIBDIR.ICU
5650: 4c 49 42 44 49 52 20 3d 20 63 3a 5c 69 63 75 5c  LIBDIR = c:\icu\
5660: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
5670: 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 42 49 43  DEF LIBICU.LIBIC
5680: 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 20 69 63  U = icuuc.lib ic
5690: 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  uin.lib.!ENDIF..
56a0: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f  # This is the co
56b0: 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 66 6f 72  mmand to use for
56c0: 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c 6c   tclsh - normall
56d0: 79 20 6a 75 73 74 20 22 74 63 6c 73 68 22 2c 20  y just "tclsh", 
56e0: 62 75 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e 6f  but we may.# kno
56f0: 77 20 74 68 65 20 73 70 65 63 69 66 69 63 20 76  w the specific v
5700: 65 72 73 69 6f 6e 20 77 65 20 77 61 6e 74 20 74  ersion we want t
5710: 6f 20 75 73 65 2e 20 20 54 68 69 73 20 76 61 72  o use.  This var
5720: 69 61 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d 44  iable (TCLSH_CMD
5730: 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 65 72 72  ) may be.# overr
5740: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e  idden via the en
5750: 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72 20  vironment prior 
5760: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
5770: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 65 6c   in order to sel
5780: 65 63 74 20 61 0a 23 20 73 70 65 63 69 66 69 63  ect a.# specific
5790: 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75 73   Tcl shell to us
57a0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54 43 4c  e..#.!IFNDEF TCL
57b0: 53 48 5f 43 4d 44 0a 54 43 4c 53 48 5f 43 4d 44  SH_CMD.TCLSH_CMD
57c0: 20 3d 20 74 63 6c 73 68 38 35 0a 21 45 4e 44 49   = tclsh85.!ENDI
57d0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
57e0: 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e   Compiler option
57f0: 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72 6f  s needed for pro
5800: 67 72 61 6d 73 20 74 68 61 74 20 75 73 65 20 74  grams that use t
5810: 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20 6c 69  he readline() li
5820: 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46  brary..#.!IFNDEF
5830: 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 0a   READLINE_FLAGS.
5840: 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20 3d  READLINE_FLAGS =
5850: 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49 4e 45   -DHAVE_READLINE
5860: 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65  =0.!ENDIF..# The
5870: 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 70 72   library that pr
5880: 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72 65 61  ograms using rea
5890: 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c 69 6e  dline() must lin
58a0: 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49 46  k against..#.!IF
58b0: 4e 44 45 46 20 4c 49 42 52 45 41 44 4c 49 4e 45  NDEF LIBREADLINE
58c0: 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a 21  .LIBREADLINE =.!
58d0: 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20  ENDIF..# Should 
58e0: 74 68 65 20 64 61 74 61 62 61 73 65 20 65 6e 67  the database eng
58f0: 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65 64 20  ine be compiled 
5900: 74 68 72 65 61 64 73 61 66 65 0a 23 0a 54 43 43  threadsafe.#.TCC
5910: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI
5920: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31 0a  TE_THREADSAFE=1.
5930: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS
5940: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
5950: 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 61 64 73  =1..# Do threads
5960: 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 20 6f   override each o
5970: 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 79 20 64  thers locks by d
5980: 65 66 61 75 6c 74 20 28 31 29 2c 20 6f 72 20 64  efault (1), or d
5990: 6f 20 77 65 20 74 65 73 74 20 28 2d 31 29 0a 23  o we test (-1).#
59a0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D
59b0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56  SQLITE_THREAD_OV
59c0: 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 52  ERRIDE_LOCK=-1.R
59d0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
59e0: 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 52  LITE_THREAD_OVER
59f0: 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23 20  RIDE_LOCK=-1..# 
5a00: 41 6e 79 20 74 61 72 67 65 74 20 6c 69 62 72 61  Any target libra
5a10: 72 69 65 73 20 77 68 69 63 68 20 6c 69 62 73 71  ries which libsq
5a20: 6c 69 74 65 20 6d 75 73 74 20 62 65 20 6c 69 6e  lite must be lin
5a30: 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 0a 21 49  ked against.#.!I
5a40: 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c 49 42  FNDEF TLIBS.TLIB
5a50: 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46 6c  S =.!ENDIF..# Fl
5a60: 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20  ags controlling 
5a70: 75 73 65 20 6f 66 20 74 68 65 20 69 6e 20 6d 65  use of the in me
5a80: 6d 6f 72 79 20 62 74 72 65 65 20 69 6d 70 6c 65  mory btree imple
5a90: 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53 51  mentation.#.# SQ
5aa0: 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 20  LITE_TEMP_STORE 
5ab0: 69 73 20 30 20 74 6f 20 66 6f 72 63 65 20 74 65  is 0 to force te
5ac0: 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 73 20 74  mporary tables t
5ad0: 6f 20 62 65 20 69 6e 20 61 20 66 69 6c 65 2c 20  o be in a file, 
5ae0: 31 20 74 6f 0a 23 20 64 65 66 61 75 6c 74 20 74  1 to.# default t
5af0: 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 64 65 66  o file, 2 to def
5b00: 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c 20  ault to memory, 
5b10: 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 65 20 74  and 3 to force t
5b20: 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 62 6c 65  emporary.# table
5b30: 73 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 69  s to always be i
5b40: 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43 20  n memory..#.TCC 
5b50: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT
5b60: 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a 52  E_TEMP_STORE=1.R
5b70: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ
5b80: 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d  LITE_TEMP_STORE=
5b90: 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73 61  1..# Enable/disa
5ba0: 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65 78 74  ble loadable ext
5bb0: 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74 68  ensions, and oth
5bc0: 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74  er optional feat
5bd0: 75 72 65 73 0a 23 20 62 61 73 65 64 20 6f 6e 20  ures.# based on 
5be0: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 28  configuration. (
5bf0: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c 20  -DSQLITE_OMIT*, 
5c00: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 2a  -DSQLITE_ENABLE*
5c10: 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 20 73 65  )..# The same se
5c20: 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45 4e  t of OMIT and EN
5c30: 41 42 4c 45 20 66 6c 61 67 73 20 73 68 6f 75 6c  ABLE flags shoul
5c40: 64 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 74  d be passed to t
5c50: 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73 65  he.# LEMON parse
5c60: 72 20 67 65 6e 65 72 61 74 6f 72 20 61 6e 64 20  r generator and 
5c70: 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73  the mkkeywordhas
5c80: 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e 0a  h tool as well..
5c90: 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65  .# These are the
5ca0: 20 72 65 71 75 69 72 65 64 20 53 51 4c 69 74 65   required SQLite
5cb0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74   compilation opt
5cc0: 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63  ions used when c
5cd0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74  ompiling for.# t
5ce0: 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66  he Windows platf
5cf0: 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54 55  orm..#.REQ_FEATU
5d00: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51  RE_FLAGS = $(REQ
5d10: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS) 
5d20: 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52 49  -DSQLITE_MAX_TRI
5d30: 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30 0a 0a  GGER_DEPTH=100..
5d40: 23 20 49 66 20 77 65 20 61 72 65 20 6c 69 6e 6b  # If we are link
5d50: 69 6e 67 20 74 6f 20 74 68 65 20 52 50 43 52 54  ing to the RPCRT
5d60: 34 20 6c 69 62 72 61 72 79 2c 20 65 6e 61 62 6c  4 library, enabl
5d70: 65 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20  e features that 
5d80: 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49 46 20 24  need it..#.!IF $
5d90: 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29  (USE_RPCRT4_LIB)
5da0: 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 52 45 5f  !=0.REQ_FEATURE_
5db0: 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46 45  FLAGS = $(REQ_FE
5dc0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
5dd0: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53 45 5f  QLITE_WIN32_USE_
5de0: 55 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a 23  UUID=1.!ENDIF..#
5df0: 20 41 64 64 20 74 68 65 20 72 65 71 75 69 72 65   Add the require
5e00: 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20 53  d and optional S
5e10: 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f  QLite compilatio
5e20: 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20 74  n options into t
5e30: 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e  he command.# lin
5e40: 65 73 20 75 73 65 64 20 74 6f 20 69 6e 76 6f 6b  es used to invok
5e50: 65 20 74 68 65 20 4d 53 56 43 20 63 6f 64 65 20  e the MSVC code 
5e60: 61 6e 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d  and resource com
5e70: 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d 20  pilers..#.TCC = 
5e80: 24 28 54 43 43 29 20 24 28 52 45 51 5f 46 45 41  $(TCC) $(REQ_FEA
5e90: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP
5ea0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
5eb0: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46   $(EXT_FEATURE_F
5ec0: 4c 41 47 53 29 0a 52 43 43 20 3d 20 24 28 52 43  LAGS).RCC = $(RC
5ed0: 43 29 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  C) $(REQ_FEATURE
5ee0: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE
5ef0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E
5f00: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
5f10: 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e 79 20  )..# Add in any 
5f20: 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74  optional paramet
5f30: 65 72 73 20 73 70 65 63 69 66 69 65 64 20 6f 6e  ers specified on
5f40: 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69 6e   the commane lin
5f50: 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65 20  e, e.g..# nmake 
5f60: 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20  /f Makefile.msc 
5f70: 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c 49  all "OPTS=-DSQLI
5f80: 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31 20  TE_ENABLE_FOO=1 
5f90: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f  -DSQLITE_OMIT_FO
5fa0: 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24 28 54  O=1".#.TCC = $(T
5fb0: 43 43 29 20 24 28 4f 50 54 53 29 0a 52 43 43 20  CC) $(OPTS).RCC 
5fc0: 3d 20 24 28 52 43 43 29 20 24 28 4f 50 54 53 29  = $(RCC) $(OPTS)
5fd0: 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e 67  ..# If compiling
5fe0: 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2c 20   for debugging, 
5ff0: 61 64 64 20 73 6f 6d 65 20 64 65 66 69 6e 65 73  add some defines
6000: 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29  ..#.!IF $(DEBUG)
6010: 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >1.TCC = $(TCC) 
6020: 2d 44 5f 44 45 42 55 47 0a 42 43 43 20 3d 20 24  -D_DEBUG.BCC = $
6030: 28 42 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 52  (BCC) -D_DEBUG.R
6040: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 44  CC = $(RCC) -D_D
6050: 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20 49  EBUG.!ENDIF..# I
6060: 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20  f optimizations 
6070: 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 20 64  are enabled or d
6080: 69 73 61 62 6c 65 64 20 28 65 69 74 68 65 72 20  isabled (either 
6090: 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23 20  implicitly or.# 
60a0: 65 78 70 6c 69 63 69 74 6c 79 29 2c 20 61 64 64  explicitly), add
60b0: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 66   the necessary f
60c0: 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24 28 44 45  lags..#.!IF $(DE
60d0: 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54 49  BUG)>1 || $(OPTI
60e0: 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54 43  MIZATIONS)==0.TC
60f0: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a 42  C = $(TCC) -Od.B
6100: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 64 0a  CC = $(BCC) -Od.
6110: 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49  !ELSEIF $(OPTIMI
6120: 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43 43 20  ZATIONS)>=3.TCC 
6130: 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42 43 43  = $(TCC) -Ox.BCC
6140: 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a 21 45   = $(BCC) -Ox.!E
6150: 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41  LSEIF $(OPTIMIZA
6160: 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20 3d 20  TIONS)==2.TCC = 
6170: 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43 20 3d  $(TCC) -O2.BCC =
6180: 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45 4c 53   $(BCC) -O2.!ELS
6190: 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49  EIF $(OPTIMIZATI
61a0: 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20 24 28  ONS)==1.TCC = $(
61b0: 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d 20 24  TCC) -O1.BCC = $
61c0: 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44 49 46  (BCC) -O1.!ENDIF
61d0: 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73 20 61  ..# If symbols a
61e0: 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72 20 63  re enabled (or c
61f0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62  ompiling for deb
6200: 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c 65 20  ugging), enable 
6210: 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 45  PDBs..#.!IF $(DE
6220: 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d 42  BUG)>1 || $(SYMB
6230: 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  OLS)!=0.TCC = $(
6240: 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d 20 24  TCC) -Zi.BCC = $
6250: 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44 49 46  (BCC) -Zi.!ENDIF
6260: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 49  ..# <<mark>>.# I
6270: 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69 73  f ICU support is
6280: 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68   enabled, add th
6290: 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f  e compiler optio
62a0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  ns for it..#.!IF
62b0: 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 54   $(USE_ICU)!=0.T
62c0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ
62d0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d  LITE_ENABLE_ICU=
62e0: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) -
62f0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49  DSQLITE_ENABLE_I
6300: 43 55 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43  CU=1.TCC = $(TCC
6310: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 69  ) -I$(TOP)\ext\i
6320: 63 75 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  cu.RCC = $(RCC) 
6330: 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75  -I$(TOP)\ext\icu
6340: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I
6350: 24 28 49 43 55 49 4e 43 44 49 52 29 0a 52 43 43  $(ICUINCDIR).RCC
6360: 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 49 43   = $(RCC) -I$(IC
6370: 55 49 4e 43 44 49 52 29 0a 21 45 4e 44 49 46 0a  UINCDIR).!ENDIF.
6380: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43  # <</mark>>..# C
6390: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 72 65 66  ommand line pref
63a0: 69 78 65 73 20 66 6f 72 20 63 6f 6d 70 69 6c 69  ixes for compili
63b0: 6e 67 20 63 6f 64 65 2c 20 63 6f 6d 70 69 6c 69  ng code, compili
63c0: 6e 67 20 72 65 73 6f 75 72 63 65 73 2c 0a 23 20  ng resources,.# 
63d0: 6c 69 6e 6b 69 6e 67 2c 20 65 74 63 2e 0a 23 0a  linking, etc..#.
63e0: 4c 54 43 4f 4d 50 49 4c 45 20 3d 20 24 28 54 43  LTCOMPILE = $(TC
63f0: 43 29 20 2d 46 6f 24 40 0a 4c 54 52 43 4f 4d 50  C) -Fo$@.LTRCOMP
6400: 49 4c 45 20 3d 20 24 28 52 43 43 29 20 2d 72 0a  ILE = $(RCC) -r.
6410: 4c 54 4c 49 42 20 3d 20 6c 69 62 2e 65 78 65 0a  LTLIB = lib.exe.
6420: 4c 54 4c 49 4e 4b 20 3d 20 24 28 54 43 43 29 20  LTLINK = $(TCC) 
6430: 2d 46 65 24 40 0a 0a 23 20 49 66 20 72 65 71 75  -Fe$@..# If requ
6440: 65 73 74 65 64 2c 20 6c 69 6e 6b 20 74 6f 20 74  ested, link to t
6450: 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72  he RPCRT4 librar
6460: 79 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52  y..#.!IF $(USE_R
6470: 50 43 52 54 34 5f 4c 49 42 29 21 3d 30 0a 4c 54  PCRT4_LIB)!=0.LT
6480: 4c 49 4e 4b 20 3d 20 24 28 4c 54 4c 49 4e 4b 29  LINK = $(LTLINK)
6490: 20 72 70 63 72 74 34 2e 6c 69 62 0a 21 45 4e 44   rpcrt4.lib.!END
64a0: 49 46 0a 0a 23 20 49 66 20 61 20 70 6c 61 74 66  IF..# If a platf
64b0: 6f 72 6d 20 77 61 73 20 73 65 74 2c 20 66 6f 72  orm was set, for
64c0: 63 65 20 74 68 65 20 6c 69 6e 6b 65 72 20 74 6f  ce the linker to
64d0: 20 74 61 72 67 65 74 20 74 68 61 74 2e 0a 23 20   target that..# 
64e0: 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 76 63  Note that the vc
64f0: 76 61 72 73 2a 2e 62 61 74 20 66 61 6d 69 6c 79  vars*.bat family
6500: 20 6f 66 20 62 61 74 63 68 20 66 69 6c 65 73 20   of batch files 
6510: 74 79 70 69 63 61 6c 6c 79 0a 23 20 73 65 74 20  typically.# set 
6520: 74 68 69 73 20 66 6f 72 20 79 6f 75 2e 20 20 4f  this for you.  O
6530: 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 6c 69  therwise, the li
6540: 6e 6b 65 72 20 77 69 6c 6c 20 61 74 74 65 6d 70  nker will attemp
6550: 74 0a 23 20 74 6f 20 64 65 64 75 63 65 20 74 68  t.# to deduce th
6560: 65 20 62 69 6e 61 72 79 20 74 79 70 65 20 62 61  e binary type ba
6570: 73 65 64 20 6f 6e 20 74 68 65 20 6f 62 6a 65 63  sed on the objec
6580: 74 20 66 69 6c 65 73 2e 0a 21 49 46 44 45 46 20  t files..!IFDEF 
6590: 50 4c 41 54 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f  PLATFORM.LTLINKO
65a0: 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d  PTS = /NOLOGO /M
65b0: 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52  ACHINE:$(PLATFOR
65c0: 4d 29 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f  M).LTLIBOPTS = /
65d0: 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a  NOLOGO /MACHINE:
65e0: 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4c 53  $(PLATFORM).!ELS
65f0: 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f  E.LTLINKOPTS = /
6600: 4e 4f 4c 4f 47 4f 0a 4c 54 4c 49 42 4f 50 54 53  NOLOGO.LTLIBOPTS
6610: 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49   = /NOLOGO.!ENDI
6620: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c  F..# When compil
6630: 69 6e 67 20 66 6f 72 20 75 73 65 20 69 6e 20 74  ing for use in t
6640: 68 65 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e  he WinRT environ
6650: 6d 65 6e 74 2c 20 74 68 65 20 66 6f 6c 6c 6f 77  ment, the follow
6660: 69 6e 67 0a 23 20 6c 69 6e 6b 65 72 20 6f 70 74  ing.# linker opt
6670: 69 6f 6e 20 6d 75 73 74 20 62 65 20 75 73 65 64  ion must be used
6680: 20 74 6f 20 6d 61 72 6b 20 74 68 65 20 65 78 65   to mark the exe
6690: 63 75 74 61 62 6c 65 20 61 73 20 72 75 6e 6e 61  cutable as runna
66a0: 62 6c 65 0a 23 20 6f 6e 6c 79 20 69 6e 20 74 68  ble.# only in th
66b0: 65 20 63 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20  e context of an 
66c0: 61 70 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6e 74  application cont
66d0: 61 69 6e 65 72 2e 0a 23 0a 21 49 46 20 24 28 46  ainer..#.!IF $(F
66e0: 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a 4c 54 4c  OR_WINRT)!=0.LTL
66f0: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI
6700: 4e 4b 4f 50 54 53 29 20 2f 41 50 50 43 4f 4e 54  NKOPTS) /APPCONT
6710: 41 49 4e 45 52 0a 21 49 46 20 22 24 28 56 49 53  AINER.!IF "$(VIS
6720: 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e  UALSTUDIOVERSION
6730: 29 22 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 22 24  )"=="12.0" || "$
6740: 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52  (VISUALSTUDIOVER
6750: 53 49 4f 4e 29 22 3d 3d 22 31 34 2e 30 22 0a 21  SION)"=="14.0".!
6760: 49 46 4e 44 45 46 20 53 54 4f 52 45 4c 49 42 50  IFNDEF STORELIBP
6770: 41 54 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46  ATH.!IF "$(PLATF
6780: 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 53 54 4f  ORM)"=="x86".STO
6790: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52  RELIBPATH = $(CR
67a0: 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a  TLIBPATH)\store.
67b0: 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46  !ELSEIF "$(PLATF
67c0: 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a 53 54 4f  ORM)"=="x64".STO
67d0: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52  RELIBPATH = $(CR
67e0: 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c  TLIBPATH)\store\
67f0: 61 6d 64 36 34 0a 21 45 4c 53 45 49 46 20 22 24  amd64.!ELSEIF "$
6800: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52  (PLATFORM)"=="AR
6810: 4d 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20  M".STORELIBPATH 
6820: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c  = $(CRTLIBPATH)\
6830: 73 74 6f 72 65 5c 61 72 6d 0a 21 45 4c 53 45 0a  store\arm.!ELSE.
6840: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $
6850: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f  (CRTLIBPATH)\sto
6860: 72 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  re.!ENDIF.!ENDIF
6870: 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20  .STORELIBPATH = 
6880: 24 28 53 54 4f 52 45 4c 49 42 50 41 54 48 3a 5c  $(STORELIBPATH:\
6890: 5c 3d 5c 29 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  \=\).LTLINKOPTS 
68a0: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 
68b0: 22 2f 4c 49 42 50 41 54 48 3a 24 28 53 54 4f 52  "/LIBPATH:$(STOR
68c0: 45 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49  ELIBPATH)".!ENDI
68d0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e  F.!ENDIF..# When
68e0: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57   compiling for W
68f0: 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31  indows Phone 8.1
6900: 2c 20 61 6e 20 65 78 74 72 61 20 6c 69 62 72 61  , an extra libra
6910: 72 79 20 70 61 74 68 20 69 73 0a 23 20 72 65 71  ry path is.# req
6920: 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 55  uired..#.!IF $(U
6930: 53 45 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d 30  SE_WP81_OPTS)!=0
6940: 0a 21 49 46 4e 44 45 46 20 57 50 38 31 4c 49 42  .!IFNDEF WP81LIB
6950: 50 41 54 48 0a 21 49 46 20 22 24 28 50 4c 41 54  PATH.!IF "$(PLAT
6960: 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 57 50  FORM)"=="x86".WP
6970: 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52  81LIBPATH = $(PR
6980: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c  OGRAMFILES_X86)\
6990: 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69  Windows Phone Ki
69a0: 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21  ts\8.1\lib\x86.!
69b0: 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f  ELSEIF "$(PLATFO
69c0: 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 57 50 38 31  RM)"=="ARM".WP81
69d0: 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47  LIBPATH = $(PROG
69e0: 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69  RAMFILES_X86)\Wi
69f0: 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73  ndows Phone Kits
6a00: 5c 38 2e 31 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c  \8.1\lib\ARM.!EL
6a10: 53 45 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d  SE.WP81LIBPATH =
6a20: 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f   $(PROGRAMFILES_
6a30: 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f  X86)\Windows Pho
6a40: 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c  ne Kits\8.1\lib\
6a50: 78 38 36 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  x86.!ENDIF.!ENDI
6a60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e  F.!ENDIF..# When
6a70: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57   compiling for W
6a80: 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31  indows Phone 8.1
6a90: 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e  , some extra lin
6aa0: 6b 65 72 20 6f 70 74 69 6f 6e 73 0a 23 20 61 72  ker options.# ar
6ab0: 65 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e  e also required.
6ac0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38  .#.!IF $(USE_WP8
6ad0: 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 44 45  1_OPTS)!=0.!IFDE
6ae0: 46 20 57 50 38 31 4c 49 42 50 41 54 48 0a 4c 54  F WP81LIBPATH.LT
6af0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
6b00: 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41  INKOPTS) "/LIBPA
6b10: 54 48 3a 24 28 57 50 38 31 4c 49 42 50 41 54 48  TH:$(WP81LIBPATH
6b20: 29 22 0a 21 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b  )".!ENDIF.LTLINK
6b30: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
6b40: 50 54 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53  PTS) /DYNAMICBAS
6b50: 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24  E.LTLINKOPTS = $
6b60: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 57 69 6e  (LTLINKOPTS) Win
6b70: 64 6f 77 73 50 68 6f 6e 65 43 6f 72 65 2e 6c 69  dowsPhoneCore.li
6b80: 62 20 52 75 6e 74 69 6d 65 4f 62 6a 65 63 74 2e  b RuntimeObject.
6b90: 6c 69 62 20 50 68 6f 6e 65 41 70 70 4d 6f 64 65  lib PhoneAppMode
6ba0: 6c 48 6f 73 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b  lHost.lib.LTLINK
6bb0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO
6bc0: 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c  PTS) /NODEFAULTL
6bd0: 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 20  IB:kernel32.lib 
6be0: 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6f 6c  /NODEFAULTLIB:ol
6bf0: 65 33 32 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  e32.lib.!ENDIF..
6c00: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
6c10: 20 66 6f 72 20 55 57 50 20 6f 72 20 74 68 65 20   for UWP or the 
6c20: 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66  Windows 10 platf
6c30: 6f 72 6d 2c 20 73 6f 6d 65 20 65 78 74 72 61 20  orm, some extra 
6c40: 6c 69 6e 6b 65 72 0a 23 20 6f 70 74 69 6f 6e 73  linker.# options
6c50: 20 61 72 65 20 61 6c 73 6f 20 72 65 71 75 69 72   are also requir
6c60: 65 64 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f  ed..#.!IF $(FOR_
6c70: 55 57 50 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  UWP)!=0 || $(FOR
6c80: 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e  _WIN10)!=0.LTLIN
6c90: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK
6ca0: 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49 43 42 41  OPTS) /DYNAMICBA
6cb0: 53 45 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42  SE /NODEFAULTLIB
6cc0: 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54  :kernel32.lib.LT
6cd0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
6ce0: 49 4e 4b 4f 50 54 53 29 20 6d 69 6e 63 6f 72 65  INKOPTS) mincore
6cf0: 2e 6c 69 62 0a 21 49 46 44 45 46 20 50 53 44 4b  .lib.!IFDEF PSDK
6d00: 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50  LIBPATH.LTLINKOP
6d10: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT
6d20: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 50  S) "/LIBPATH:$(P
6d30: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 21 45 4e  SDKLIBPATH)".!EN
6d40: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20  DIF.!ENDIF..!IF 
6d50: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0.
6d60: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L
6d70: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 67 75 61 72  TLINKOPTS) /guar
6d80: 64 3a 63 66 20 22 2f 4c 49 42 50 41 54 48 3a 24  d:cf "/LIBPATH:$
6d90: 28 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21  (UCRTLIBPATH)".!
6da0: 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 4c 54  IF $(DEBUG)>1.LT
6db0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL
6dc0: 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41  INKOPTS) /NODEFA
6dd0: 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72 74 64 2e  ULTLIB:libucrtd.
6de0: 6c 69 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a  lib /DEFAULTLIB:
6df0: 75 63 72 74 64 2e 6c 69 62 0a 21 45 4c 53 45 0a  ucrtd.lib.!ELSE.
6e00: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L
6e10: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45  TLINKOPTS) /NODE
6e20: 46 41 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72 74  FAULTLIB:libucrt
6e30: 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54 4c 49 42  .lib /DEFAULTLIB
6e40: 3a 75 63 72 74 2e 6c 69 62 0a 21 45 4e 44 49 46  :ucrt.lib.!ENDIF
6e50: 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 65 69  .!ENDIF..# If ei
6e60: 74 68 65 72 20 64 65 62 75 67 67 69 6e 67 20 6f  ther debugging o
6e70: 72 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e  r symbols are en
6e80: 61 62 6c 65 64 2c 20 65 6e 61 62 6c 65 20 50 44  abled, enable PD
6e90: 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55  Bs..#.!IF $(DEBU
6ea0: 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c  G)>1 || $(SYMBOL
6eb0: 53 29 21 3d 30 0a 4c 44 46 4c 41 47 53 20 3d 20  S)!=0.LDFLAGS = 
6ec0: 2f 44 45 42 55 47 20 24 28 4c 44 4f 50 54 53 29  /DEBUG $(LDOPTS)
6ed0: 0a 21 45 4c 53 45 0a 4c 44 46 4c 41 47 53 20 3d  .!ELSE.LDFLAGS =
6ee0: 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4e 44 49   $(LDOPTS).!ENDI
6ef0: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.# 
6f00: 53 74 61 72 74 20 77 69 74 68 20 74 68 65 20 54  Start with the T
6f10: 63 6c 20 72 65 6c 61 74 65 64 20 6c 69 6e 6b 65  cl related linke
6f20: 72 20 6f 70 74 69 6f 6e 73 2e 0a 23 0a 21 49 46  r options..#.!IF
6f30: 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 4c 54   $(NO_TCL)==0.LT
6f40: 4c 49 42 50 41 54 48 53 20 3d 20 2f 4c 49 42 50  LIBPATHS = /LIBP
6f50: 41 54 48 3a 24 28 54 43 4c 4c 49 42 44 49 52 29  ATH:$(TCLLIBDIR)
6f60: 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 49 42 54  .LTLIBS = $(LIBT
6f70: 43 4c 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66  CL).!ENDIF..# If
6f80: 20 49 43 55 20 73 75 70 70 6f 72 74 20 69 73 20   ICU support is 
6f90: 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65  enabled, add the
6fa0: 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20   linker options 
6fb0: 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28  for it..#.!IF $(
6fc0: 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54 4c 49  USE_ICU)!=0.LTLI
6fd0: 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c 49 42  BPATHS = $(LTLIB
6fe0: 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48 3a  PATHS) /LIBPATH:
6ff0: 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c 54 4c  $(ICULIBDIR).LTL
7000: 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 20  IBS = $(LTLIBS) 
7010: 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44 49 46  $(LIBICU).!ENDIF
7020: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..# 
7030: 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 68  You should not h
7040: 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61 6e  ave to change an
7050: 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68 69  ything below thi
7060: 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 23 23  s line.#########
7070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7090: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
70a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
70b0: 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 72 6b  ######..# <<mark
70c0: 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65  >>.# Object file
70d0: 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65  s for the SQLite
70e0: 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d 61 6d   library (non-am
70f0: 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 4c  algamation)..#.L
7100: 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 2e 6c  IBOBJS0 = vdbe.l
7110: 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 65 72  o parse.lo alter
7120: 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f 20 61  .lo analyze.lo a
7130: 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e 6c 6f  ttach.lo auth.lo
7140: 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61 63 6b   \.         back
7150: 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c 6f 20  up.lo bitvec.lo 
7160: 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 65 65  btmutex.lo btree
7170: 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c 0a 20  .lo build.lo \. 
7180: 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b          callback
7190: 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c 6f 20  .lo complete.lo 
71a0: 63 74 69 6d 65 2e 6c 6f 20 64 61 74 65 2e 6c 6f  ctime.lo date.lo
71b0: 20 64 62 73 74 61 74 2e 6c 6f 20 64 65 6c 65 74   dbstat.lo delet
71c0: 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  e.lo \.         
71d0: 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 2e 6c 6f  expr.lo fault.lo
71e0: 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 20 20 20   fkey.lo \.     
71f0: 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 74 73 33      fts3.lo fts3
7200: 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f 65 78 70  _aux.lo fts3_exp
7210: 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 68 2e 6c  r.lo fts3_hash.l
7220: 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f 20 5c 0a  o fts3_icu.lo \.
7230: 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 70 6f           fts3_po
7240: 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f 73 6e 69  rter.lo fts3_sni
7250: 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f 74 6f 6b  ppet.lo fts3_tok
7260: 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 33 5f 74  enizer.lo fts3_t
7270: 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 5c 0a 20  okenizer1.lo \. 
7280: 20 20 20 20 20 20 20 20 66 74 73 33 5f 74 6f 6b          fts3_tok
7290: 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 20 66 74  enize_vtab.lo ft
72a0: 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 20 66 74  s3_unicode.lo ft
72b0: 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 20 66  s3_unicode2.lo f
72c0: 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20 5c 0a 20  ts3_write.lo \. 
72d0: 20 20 20 20 20 20 20 20 66 74 73 35 2e 6c 6f 20          fts5.lo 
72e0: 5c 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 2e  \.         func.
72f0: 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20 68 61 73  lo global.lo has
7300: 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  h.lo \.         
7310: 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74 2e 6c 6f  icu.lo insert.lo
7320: 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64 65   legacy.lo loade
7330: 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  xt.lo \.        
7340: 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63 2e   main.lo malloc.
7350: 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31 2e  lo mem0.lo mem1.
7360: 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33 2e  lo mem2.lo mem3.
7370: 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20 20  lo mem5.lo \.   
7380: 20 20 20 20 20 20 6d 65 6d 6a 6f 75 72 6e 61 6c        memjournal
7390: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6d  .lo \.         m
73a0: 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78 5f 6e 6f  utex.lo mutex_no
73b0: 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75 6e 69 78  op.lo mutex_unix
73c0: 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32 2e 6c 6f  .lo mutex_w32.lo
73d0: 20 5c 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 69   \.         noti
73e0: 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73 2e 6c 6f  fy.lo opcodes.lo
73f0: 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69 78 2e 6c   os.lo os_unix.l
7400: 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c 0a 20 20  o os_win.lo \.  
7410: 20 20 20 20 20 20 20 70 61 67 65 72 2e 6c 6f 20         pager.lo 
7420: 70 63 61 63 68 65 2e 6c 6f 20 70 63 61 63 68 65  pcache.lo pcache
7430: 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c 6f 20 70  1.lo pragma.lo p
7440: 72 65 70 61 72 65 2e 6c 6f 20 70 72 69 6e 74 66  repare.lo printf
7450: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 72  .lo \.         r
7460: 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f 6c 76 65  andom.lo resolve
7470: 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f 20 72 74  .lo rowset.lo rt
7480: 72 65 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ree.lo \.       
7490: 20 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e    sqlite3session
74a0: 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c 6f 20 73 71  .lo select.lo sq
74b0: 6c 69 74 65 33 72 62 75 2e 6c 6f 20 73 74 61 74  lite3rbu.lo stat
74c0: 75 73 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  us.lo \.        
74d0: 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 65 61 64   table.lo thread
74e0: 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 2e 6c 6f  s.lo tokenize.lo
74f0: 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 74 72 69   treeview.lo tri
7500: 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  gger.lo \.      
7510: 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 75 74 69     update.lo uti
7520: 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e 6c 6f 20 5c  l.lo vacuum.lo \
7530: 0a 20 20 20 20 20 20 20 20 20 76 64 62 65 61 70  .         vdbeap
7540: 69 2e 6c 6f 20 76 64 62 65 61 75 78 2e 6c 6f 20  i.lo vdbeaux.lo 
7550: 76 64 62 65 62 6c 6f 62 2e 6c 6f 20 76 64 62 65  vdbeblob.lo vdbe
7560: 6d 65 6d 2e 6c 6f 20 76 64 62 65 73 6f 72 74 2e  mem.lo vdbesort.
7570: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64  lo \.         vd
7580: 62 65 74 72 61 63 65 2e 6c 6f 20 77 61 6c 2e 6c  betrace.lo wal.l
7590: 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20 77 68 65 72  o walker.lo wher
75a0: 65 2e 6c 6f 20 77 68 65 72 65 63 6f 64 65 2e 6c  e.lo wherecode.l
75b0: 6f 20 77 68 65 72 65 65 78 70 72 2e 6c 6f 20 5c  o whereexpr.lo \
75c0: 0a 20 20 20 20 20 20 20 20 20 75 74 66 2e 6c 6f  .         utf.lo
75d0: 20 76 74 61 62 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61   vtab.lo.# <</ma
75e0: 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65 63 74 20 66  rk>>..# Object f
75f0: 69 6c 65 73 20 66 6f 72 20 74 68 65 20 61 6d 61  iles for the ama
7600: 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 4c 49 42  lgamation..#.LIB
7610: 4f 42 4a 53 31 20 3d 20 73 71 6c 69 74 65 33 2e  OBJS1 = sqlite3.
7620: 6c 6f 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20  lo..# Determine 
7630: 74 68 65 20 72 65 61 6c 20 76 61 6c 75 65 20 6f  the real value o
7640: 66 20 4c 49 42 4f 42 4a 20 62 61 73 65 64 20 6f  f LIBOBJ based o
7650: 6e 20 74 68 65 20 27 63 6f 6e 66 69 67 75 72 65  n the 'configure
7660: 27 20 73 63 72 69 70 74 0a 23 0a 23 20 3c 3c 6d  ' script.#.# <<m
7670: 61 72 6b 3e 3e 0a 21 49 46 20 24 28 55 53 45 5f  ark>>.!IF $(USE_
7680: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
7690: 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f  .LIBOBJ = $(LIBO
76a0: 42 4a 53 30 29 0a 21 45 4c 53 45 0a 23 20 3c 3c  BJS0).!ELSE.# <<
76b0: 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f 42 4a 20 3d  /mark>>.LIBOBJ =
76c0: 20 24 28 4c 49 42 4f 42 4a 53 31 29 0a 23 20 3c   $(LIBOBJS1).# <
76d0: 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 23  <mark>>.!ENDIF.#
76e0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65   <</mark>>..# De
76f0: 74 65 72 6d 69 6e 65 20 69 66 20 65 6d 62 65 64  termine if embed
7700: 64 65 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d  ded resource com
7710: 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 75 73 61  pilation and usa
7720: 67 65 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a  ge are enabled..
7730: 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29 21  #.!IF $(USE_RC)!
7740: 3d 30 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 20  =0.LIBRESOBJS = 
7750: 73 71 6c 69 74 65 33 72 65 73 2e 6c 6f 0a 21 45  sqlite3res.lo.!E
7760: 4c 53 45 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d  LSE.LIBRESOBJS =
7770: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
7780: 6b 3e 3e 0a 23 20 43 6f 72 65 20 73 6f 75 72 63  k>>.# Core sourc
7790: 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61  e code files, pa
77a0: 72 74 20 31 2e 0a 23 0a 53 52 43 30 30 20 3d 20  rt 1..#.SRC00 = 
77b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61  \.  $(TOP)\src\a
77c0: 6c 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lter.c \.  $(TOP
77d0: 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20  )\src\analyze.c 
77e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61  \.  $(TOP)\src\a
77f0: 74 74 61 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f  ttach.c \.  $(TO
7800: 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 5c 0a  P)\src\auth.c \.
7810: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63    $(TOP)\src\bac
7820: 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  kup.c \.  $(TOP)
7830: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20 5c 0a  \src\bitvec.c \.
7840: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d    $(TOP)\src\btm
7850: 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50  utex.c \.  $(TOP
7860: 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 5c 0a  )\src\btree.c \.
7870: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69    $(TOP)\src\bui
7880: 6c 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ld.c \.  $(TOP)\
7890: 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 5c  src\callback.c \
78a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  .  $(TOP)\src\co
78b0: 6d 70 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54  mplete.c \.  $(T
78c0: 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20  OP)\src\ctime.c 
78d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64  \.  $(TOP)\src\d
78e0: 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ate.c \.  $(TOP)
78f0: 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a  \src\dbstat.c \.
7900: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c    $(TOP)\src\del
7910: 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ete.c \.  $(TOP)
7920: 5c 73 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20  \src\expr.c \.  
7930: 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74  $(TOP)\src\fault
7940: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7950: 63 5c 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54  c\fkey.c \.  $(T
7960: 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c  OP)\src\func.c \
7970: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c  .  $(TOP)\src\gl
7980: 6f 62 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  obal.c \.  $(TOP
7990: 29 5c 73 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20  )\src\hash.c \. 
79a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65   $(TOP)\src\inse
79b0: 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  rt.c \.  $(TOP)\
79c0: 73 72 63 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20  src\legacy.c \. 
79d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64   $(TOP)\src\load
79e0: 65 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ext.c \.  $(TOP)
79f0: 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20  \src\main.c \.  
7a00: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f  $(TOP)\src\mallo
7a10: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s
7a20: 72 63 5c 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28  rc\mem0.c \.  $(
7a30: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20  TOP)\src\mem1.c 
7a40: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m
7a50: 65 6d 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  em2.c \.  $(TOP)
7a60: 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20  \src\mem3.c \.  
7a70: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e  $(TOP)\src\mem5.
7a80: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7a90: 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a  \memjournal.c \.
7aa0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74    $(TOP)\src\mut
7ab0: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\
7ac0: 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63  src\mutex_noop.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 5f 75 6e 69 78 2e 63 20 5c 0a 20  mutex_unix.c \. 
7af0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute
7b00: 78 5f 77 33 32 2e 63 20 5c 0a 20 20 24 28 54 4f  x_w32.c \.  $(TO
7b10: 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20  P)\src\notify.c 
7b20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o
7b30: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s
7b40: 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20  rc\os_unix.c \. 
7b50: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77   $(TOP)\src\os_w
7b60: 69 6e 2e 63 0a 0a 23 20 43 6f 72 65 20 73 6f 75  in.c..# Core sou
7b70: 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20  rce code files, 
7b80: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 31 20  part 2..#.SRC01 
7b90: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  = \.  $(TOP)\src
7ba0: 5c 70 61 67 65 72 2e 63 20 5c 0a 20 20 24 28 54  \pager.c \.  $(T
7bb0: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63  OP)\src\pcache.c
7bc0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7bd0: 70 63 61 63 68 65 31 2e 63 20 5c 0a 20 20 24 28  pcache1.c \.  $(
7be0: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e  TOP)\src\pragma.
7bf0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7c00: 5c 70 72 65 70 61 72 65 2e 63 20 5c 0a 20 20 24  \prepare.c \.  $
7c10: 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66  (TOP)\src\printf
7c20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7c30: 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24  c\random.c \.  $
7c40: 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76  (TOP)\src\resolv
7c50: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
7c60: 72 63 5c 72 6f 77 73 65 74 2e 63 20 5c 0a 20 20  rc\rowset.c \.  
7c70: 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63  $(TOP)\src\selec
7c80: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
7c90: 72 63 5c 73 74 61 74 75 73 2e 63 20 5c 0a 20 20  rc\status.c \.  
7ca0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65  $(TOP)\src\table
7cb0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
7cc0: 63 5c 74 68 72 65 61 64 73 2e 63 20 5c 0a 20 20  c\threads.c \.  
7cd0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq
7ce0: 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lite.c \.  $(TOP
7cf0: 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63  )\src\tokenize.c
7d00: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7d10: 74 72 65 65 76 69 65 77 2e 63 20 5c 0a 20 20 24  treeview.c \.  $
7d20: 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65  (TOP)\src\trigge
7d30: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s
7d40: 72 63 5c 75 74 66 2e 63 20 5c 0a 20 20 24 28 54  rc\utf.c \.  $(T
7d50: 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63  OP)\src\update.c
7d60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7d70: 75 74 69 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  util.c \.  $(TOP
7d80: 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 5c  )\src\vacuum.c \
7d90: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd
7da0: 62 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  be.c \.  $(TOP)\
7db0: 73 72 63 5c 76 64 62 65 61 70 69 2e 63 20 5c 0a  src\vdbeapi.c \.
7dc0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
7dd0: 65 61 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50  eaux.c \.  $(TOP
7de0: 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63  )\src\vdbeblob.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 6d 65 6d 2e 63 20 5c 0a 20 20 24 28  vdbemem.c \.  $(
7e10: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72  TOP)\src\vdbesor
7e20: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s
7e30: 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 20 5c  rc\vdbetrace.c \
7e40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74  .  $(TOP)\src\vt
7e50: 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ab.c \.  $(TOP)\
7e60: 73 72 63 5c 77 61 6c 2e 63 20 5c 0a 20 20 24 28  src\wal.c \.  $(
7e70: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e  TOP)\src\walker.
7e80: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
7e90: 5c 77 68 65 72 65 2e 63 20 5c 0a 20 20 24 28 54  \where.c \.  $(T
7ea0: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64  OP)\src\wherecod
7eb0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
7ec0: 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a  rc\whereexpr.c..
7ed0: 23 20 53 68 65 6c 6c 20 73 6f 75 72 63 65 20 63  # Shell source c
7ee0: 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43  ode files..#.SRC
7ef0: 30 32 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  02 = \.  $(TOP)\
7f00: 73 72 63 5c 73 68 65 6c 6c 2e 63 0a 0a 23 20 43  src\shell.c..# C
7f10: 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75  ore miscellaneou
7f20: 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30 33  s files..#.SRC03
7f30: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72   = \.  $(TOP)\sr
7f40: 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f 72  c\parse.y..# Cor
7f50: 65 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20  e header files, 
7f60: 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34 20  part 1..#.SRC04 
7f70: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  = \.  $(TOP)\src
7f80: 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28 54  \btree.h \.  $(T
7f90: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74  OP)\src\btreeInt
7fa0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
7fb0: 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  c\hash.h \.  $(T
7fc0: 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68  OP)\src\hwtime.h
7fd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
7fe0: 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f 50  msvc.h \.  $(TOP
7ff0: 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a  )\src\mutex.h \.
8000: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e    $(TOP)\src\os.
8010: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src
8020: 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20  \os_common.h \. 
8030: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73   $(TOP)\src\os_s
8040: 65 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f 50  etup.h \.  $(TOP
8050: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a 0a  )\src\os_win.h..
8060: 23 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 69  # Core header fi
8070: 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53  les, part 2..#.S
8080: 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC05 = \.  $(TOP
8090: 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a  )\src\pager.h \.
80a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61    $(TOP)\src\pca
80b0: 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  che.h \.  $(TOP)
80c0: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a  \src\pragma.h \.
80d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql
80e0: 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 54  ite.h.in \.  $(T
80f0: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 65  OP)\src\sqlite3e
8100: 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  xt.h \.  $(TOP)\
8110: 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20  src\sqliteInt.h 
8120: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s
8130: 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20  qliteLimit.h \. 
8140: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
8150: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr
8160: 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20  c\vdbeInt.h \.  
8170: 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72  $(TOP)\src\vxwor
8180: 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ks.h \.  $(TOP)\
8190: 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24 28  src\wal.h \.  $(
81a0: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e  TOP)\src\whereIn
81b0: 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e  t.h..# Extension
81c0: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
81d0: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52  es, part 1..#.SR
81e0: 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C06 = \.  $(TOP)
81f0: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 63  \ext\fts1\fts1.c
8200: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8210: 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 63  fts1\fts1_hash.c
8220: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
8230: 66 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65 72  fts1\fts1_porter
8240: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8250: 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65  t\fts1\fts1_toke
8260: 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 54  nizer1.c \.  $(T
8270: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
8280: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  2.c \.  $(TOP)\e
8290: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73  xt\fts2\fts2_has
82a0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.c \.  $(TOP)\e
82b0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75  xt\fts2\fts2_icu
82c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
82d0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74  t\fts2\fts2_port
82e0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
82f0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
8300: 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28  kenizer.c \.  $(
8310: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
8320: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a  s2_tokenizer1.c.
8330: 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75  .# Extension sou
8340: 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20  rce code files, 
8350: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37 20  part 2..#.SRC07 
8360: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  = \.  $(TOP)\ext
8370: 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a 20  \fts3\fts3.c \. 
8380: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8390: 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20 20  \fts3_aux.c \.  
83a0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
83b0: 66 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20 20  fts3_expr.c \.  
83c0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
83d0: 66 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20 20  fts3_hash.c \.  
83e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
83f0: 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20 24  fts3_icu.c \.  $
8400: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8410: 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20  ts3_porter.c \. 
8420: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
8430: 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20  \fts3_snippet.c 
8440: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
8450: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
8460: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\
8470: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
8480: 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24  kenizer1.c \.  $
8490: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
84a0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
84b0: 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  b.c \.  $(TOP)\e
84c0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69  xt\fts3\fts3_uni
84d0: 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  code.c \.  $(TOP
84e0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
84f0: 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 24  unicode2.c \.  $
8500: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8510: 74 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20 20  ts3_write.c \.  
8520: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69  $(TOP)\ext\icu\i
8530: 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cu.c \.  $(TOP)\
8540: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
8550: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
8560: 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33  \session\sqlite3
8570: 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24 28  session.c \.  $(
8580: 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
8590: 69 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24 28  ite3rbu.c \.  $(
85a0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73  TOP)\ext\misc\js
85b0: 6f 6e 31 2e 63 0a 0a 23 20 45 78 74 65 6e 73 69  on1.c..# Extensi
85c0: 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c  on header files,
85d0: 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 38   part 1..#.SRC08
85e0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex
85f0: 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20 5c 0a  t\fts1\fts1.h \.
8600: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8610: 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20 5c 0a  1\fts1_hash.h \.
8620: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8630: 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72  1\fts1_tokenizer
8640: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex
8650: 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a  t\fts2\fts2.h \.
8660: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8670: 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a  2\fts2_hash.h \.
8680: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
8690: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
86a0: 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20  .h..# Extension 
86b0: 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61  header files, pa
86c0: 72 74 20 32 2e 0a 23 0a 53 52 43 30 39 20 3d 20  rt 2..#.SRC09 = 
86d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f
86e0: 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24  ts3\fts3.h \.  $
86f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8700: 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54  ts3Int.h \.  $(T
8710: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
8720: 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  3_hash.h \.  $(T
8730: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
8740: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a  3_tokenizer.h \.
8750: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75    $(TOP)\ext\icu
8760: 5c 73 71 6c 69 74 65 69 63 75 2e 68 20 5c 0a 20  \sqliteicu.h \. 
8770: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
8780: 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 20 24 28  e\rtree.h \.  $(
8790: 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
87a0: 69 74 65 33 72 62 75 2e 68 20 5c 0a 20 20 24 28  ite3rbu.h \.  $(
87b0: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
87c0: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
87d0: 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 73  h..# Generated s
87e0: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73  ource code files
87f0: 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a 20 20 6f  .#.SRC10 = \.  o
8800: 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 70 61 72  pcodes.c \.  par
8810: 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 61 74 65  se.c..# Generate
8820: 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a 23  d header files.#
8830: 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 6b 65 79  .SRC11 = \.  key
8840: 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 6f  wordhash.h \.  o
8850: 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 70 61 72  pcodes.h \.  par
8860: 73 65 2e 68 20 5c 0a 20 20 24 28 53 51 4c 49 54  se.h \.  $(SQLIT
8870: 45 33 48 29 0a 0a 23 20 47 65 6e 65 72 61 74 65  E3H)..# Generate
8880: 64 20 54 63 6c 20 68 65 61 64 65 72 20 66 69 6c  d Tcl header fil
8890: 65 73 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53  es.#.!IF $(USE_S
88a0: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $(
88b0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 52  FOR_WIN10)!=0.SR
88c0: 43 31 32 20 3d 20 5c 0a 20 20 24 28 53 51 4c 49  C12 = \.  $(SQLI
88d0: 54 45 54 43 4c 48 29 20 5c 0a 20 20 24 28 53 51  TETCLH) \.  $(SQ
88e0: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 21  LITETCLDECLSH).!
88f0: 45 4c 53 45 0a 53 52 43 31 32 20 3d 0a 21 45 4e  ELSE.SRC12 =.!EN
8900: 44 49 46 0a 0a 23 20 41 6c 6c 20 73 6f 75 72 63  DIF..# All sourc
8910: 65 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a  e code files..#.
8920: 53 52 43 20 3d 20 24 28 53 52 43 30 30 29 20 24  SRC = $(SRC00) $
8930: 28 53 52 43 30 31 29 20 24 28 53 52 43 30 32 29  (SRC01) $(SRC02)
8940: 20 24 28 53 52 43 30 33 29 20 24 28 53 52 43 30   $(SRC03) $(SRC0
8950: 34 29 20 24 28 53 52 43 30 35 29 20 24 28 53 52  4) $(SRC05) $(SR
8960: 43 30 36 29 20 24 28 53 52 43 30 37 29 20 24 28  C06) $(SRC07) $(
8970: 53 52 43 30 38 29 20 24 28 53 52 43 30 39 29 20  SRC08) $(SRC09) 
8980: 24 28 53 52 43 31 30 29 20 24 28 53 52 43 31 31  $(SRC10) $(SRC11
8990: 29 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65  )..# Source code
89a0: 20 74 6f 20 74 68 65 20 74 65 73 74 20 66 69 6c   to the test fil
89b0: 65 73 2e 0a 23 0a 54 45 53 54 53 52 43 20 3d 20  es..#.TESTSRC = 
89c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
89d0: 65 73 74 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est1.c \.  $(TOP
89e0: 29 5c 73 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a  )\src\test2.c \.
89f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8a00: 74 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t3.c \.  $(TOP)\
8a10: 73 72 63 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20  src\test4.c \.  
8a20: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 35  $(TOP)\src\test5
8a30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8a40: 63 5c 74 65 73 74 36 2e 63 20 5c 0a 20 20 24 28  c\test6.c \.  $(
8a50: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 37 2e 63  TOP)\src\test7.c
8a60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8a70: 74 65 73 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f  test8.c \.  $(TO
8a80: 50 29 5c 73 72 63 5c 74 65 73 74 39 2e 63 20 5c  P)\src\test9.c \
8a90: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8aa0: 73 74 5f 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20  st_autoext.c \. 
8ab0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8ac0: 5f 61 73 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54  _async.c \.  $(T
8ad0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 61 63  OP)\src\test_bac
8ae0: 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  kup.c \.  $(TOP)
8af0: 5c 73 72 63 5c 74 65 73 74 5f 62 65 73 74 69 6e  \src\test_bestin
8b00: 64 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  dex.c \.  $(TOP)
8b10: 5c 73 72 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63  \src\test_blob.c
8b20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8b30: 74 65 73 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20  test_btree.c \. 
8b40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8b50: 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28  _config.c \.  $(
8b60: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65  TOP)\src\test_de
8b70: 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f  movfs.c \.  $(TO
8b80: 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 76 73  P)\src\test_devs
8b90: 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ym.c \.  $(TOP)\
8ba0: 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 20 5c 0a  src\test_fs.c \.
8bb0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8bc0: 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54  t_func.c \.  $(T
8bd0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 68 65 78  OP)\src\test_hex
8be0: 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  io.c \.  $(TOP)\
8bf0: 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 2e 63 20  src\test_init.c 
8c00: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8c10: 65 73 74 5f 69 6e 74 61 72 72 61 79 2e 63 20 5c  est_intarray.c \
8c20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te
8c30: 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20  st_journal.c \. 
8c40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test
8c50: 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28  _malloc.c \.  $(
8c60: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75  TOP)\src\test_mu
8c70: 6c 74 69 70 6c 65 78 2e 63 20 5c 0a 20 20 24 28  ltiplex.c \.  $(
8c80: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75  TOP)\src\test_mu
8c90: 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tex.c \.  $(TOP)
8ca0: 5c 73 72 63 5c 74 65 73 74 5f 6f 6e 65 66 69 6c  \src\test_onefil
8cb0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s
8cc0: 72 63 5c 74 65 73 74 5f 6f 73 69 6e 73 74 2e 63  rc\test_osinst.c
8cd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\
8ce0: 74 65 73 74 5f 70 63 61 63 68 65 2e 63 20 5c 0a  test_pcache.c \.
8cf0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8d00: 74 5f 71 75 6f 74 61 2e 63 20 5c 0a 20 20 24 28  t_quota.c \.  $(
8d10: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 72 74  TOP)\src\test_rt
8d20: 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ree.c \.  $(TOP)
8d30: 5c 73 72 63 5c 74 65 73 74 5f 73 63 68 65 6d 61  \src\test_schema
8d40: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr
8d50: 63 5c 74 65 73 74 5f 73 65 72 76 65 72 2e 63 20  c\test_server.c 
8d60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8d70: 65 73 74 5f 73 75 70 65 72 6c 6f 63 6b 2e 63 20  est_superlock.c 
8d80: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t
8d90: 65 73 74 5f 73 79 73 63 61 6c 6c 2e 63 20 5c 0a  est_syscall.c \.
8da0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes
8db0: 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20 24  t_tclvar.c \.  $
8dc0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74  (TOP)\src\test_t
8dd0: 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 54 4f  hread.c \.  $(TO
8de0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e  P)\src\test_vfs.
8df0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8e00: 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e  \test_windirent.
8e10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src
8e20: 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a 20 20  \test_wsd.c \.  
8e30: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8e40: 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a 20 20  fts3_term.c \.  
8e50: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
8e60: 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a 20 20  fts3_test.c \.  
8e70: 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 74  $(TOP)\ext\rbu\t
8e80: 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20 24 28  est_rbu.c \.  $(
8e90: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
8ea0: 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e 63 0a  \test_session.c.
8eb0: 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20 6c 69  .# Statically li
8ec0: 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e 73 2e  nked extensions.
8ed0: 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c 0a 20  .#.TESTEXT = \. 
8ee0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc
8ef0: 5c 61 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28  \amatch.c \.  $(
8f00: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 61  TOP)\ext\misc\ca
8f10: 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rray.c \.  $(TOP
8f20: 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6c 6f 73 75  )\ext\misc\closu
8f30: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\
8f40: 65 78 74 5c 6d 69 73 63 5c 63 73 76 2e 63 20 5c  ext\misc\csv.c \
8f50: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi
8f60: 73 63 5c 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28  sc\eval.c \.  $(
8f70: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69  TOP)\ext\misc\fi
8f80: 6c 65 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50  leio.c \.  $(TOP
8f90: 29 5c 65 78 74 5c 6d 69 73 63 5c 66 75 7a 7a 65  )\ext\misc\fuzze
8fa0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e
8fb0: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 63 6c  xt\fts5\fts5_tcl
8fc0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex
8fd0: 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74  t\fts5\fts5_test
8fe0: 5f 6d 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  _mi.c \.  $(TOP)
8ff0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74  \ext\fts5\fts5_t
9000: 65 73 74 5f 74 6f 6b 2e 63 20 5c 0a 20 20 24 28  est_tok.c \.  $(
9010: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 69 65  TOP)\ext\misc\ie
9020: 65 65 37 35 34 2e 63 20 5c 0a 20 20 24 28 54 4f  ee754.c \.  $(TO
9030: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e 65 78 74  P)\ext\misc\next
9040: 63 68 61 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  char.c \.  $(TOP
9050: 29 5c 65 78 74 5c 6d 69 73 63 5c 70 65 72 63 65  )\ext\misc\perce
9060: 6e 74 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f  ntile.c \.  $(TO
9070: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65 67 65  P)\ext\misc\rege
9080: 78 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  xp.c \.  $(TOP)\
9090: 65 78 74 5c 6d 69 73 63 5c 73 65 72 69 65 73 2e  ext\misc\series.
90a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext
90b0: 5c 6d 69 73 63 5c 73 70 65 6c 6c 66 69 78 2e 63  \misc\spellfix.c
90c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
90d0: 6d 69 73 63 5c 74 6f 74 79 70 65 2e 63 20 5c 0a  misc\totype.c \.
90e0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis
90f0: 63 5c 77 68 6f 6c 65 6e 75 6d 62 65 72 2e 63 0a  c\wholenumber.c.
9100: 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74  .# Source code t
9110: 6f 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 69  o the library fi
9120: 6c 65 73 20 6e 65 65 64 65 64 20 62 79 20 74 68  les needed by th
9130: 65 20 74 65 73 74 20 66 69 78 74 75 72 65 0a 23  e test fixture.#
9140: 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69   (non-amalgamati
9150: 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43 32 20 3d  on).#.TESTSRC2 =
9160: 20 5c 0a 20 20 24 28 53 52 43 30 30 29 20 5c 0a   \.  $(SRC00) \.
9170: 20 20 24 28 53 52 43 30 31 29 20 5c 0a 20 20 24    $(SRC01) \.  $
9180: 28 53 52 43 30 36 29 20 5c 0a 20 20 24 28 53 52  (SRC06) \.  $(SR
9190: 43 30 37 29 20 5c 0a 20 20 24 28 53 52 43 31 30  C07) \.  $(SRC10
91a0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
91b0: 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65 33 61 73  \async\sqlite3as
91c0: 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64 65 72 20  ync.c..# Header 
91d0: 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 61 6c  files used by al
91e0: 6c 20 6c 69 62 72 61 72 79 20 73 6f 75 72 63 65  l library source
91f0: 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20 3d 20   files..#.HDR = 
9200: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
9210: 62 74 72 65 65 2e 68 20 5c 0a 20 20 20 24 28 54  btree.h \.   $(T
9220: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74  OP)\src\btreeInt
9230: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
9240: 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 20 24  rc\hash.h \.   $
9250: 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65  (TOP)\src\hwtime
9260: 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f 72 64 68  .h \.   keywordh
9270: 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  ash.h \.   $(TOP
9280: 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20  )\src\msvc.h \. 
9290: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74    $(TOP)\src\mut
92a0: 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63 6f 64 65  ex.h \.   opcode
92b0: 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  s.h \.   $(TOP)\
92c0: 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 20 24 28  src\os.h \.   $(
92d0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d  TOP)\src\os_comm
92e0: 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  on.h \.   $(TOP)
92f0: 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20  \src\os_setup.h 
9300: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\
9310: 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 24 28  os_win.h \.   $(
9320: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68  TOP)\src\pager.h
9330: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src
9340: 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 20 70  \pcache.h \.   p
9350: 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f  arse.h \.   $(TO
9360: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20  P)\src\pragma.h 
9370: 5c 0a 20 20 20 24 28 53 51 4c 49 54 45 33 48 29  \.   $(SQLITE3H)
9380: 20 5c 0a 20 20 20 73 71 6c 69 74 65 33 65 78 74   \.   sqlite3ext
9390: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s
93a0: 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c  rc\sqliteInt.h \
93b0: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  .   $(TOP)\src\s
93c0: 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20  qliteLimit.h \. 
93d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb
93e0: 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  e.h \.   $(TOP)\
93f0: 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a  src\vdbeInt.h \.
9400: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78     $(TOP)\src\vx
9410: 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28 54  works.h \.   $(T
9420: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74  OP)\src\whereInt
9430: 2e 68 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c  .h..# Header fil
9440: 65 73 20 75 73 65 64 20 62 79 20 65 78 74 65 6e  es used by exten
9450: 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20 3d  sions.#.EXTHDR =
9460: 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24   $(EXTHDR) \.  $
9470: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
9480: 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ts1.h \.  $(TOP)
9490: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68  \ext\fts1\fts1_h
94a0: 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ash.h \.  $(TOP)
94b0: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74  \ext\fts1\fts1_t
94c0: 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44  okenizer.h.EXTHD
94d0: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \.
94e0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
94f0: 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54  2\fts2.h \.  $(T
9500: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
9510: 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  2_hash.h \.  $(T
9520: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
9530: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58  2_tokenizer.h.EX
9540: 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29  THDR = $(EXTHDR)
9550: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\
9560: 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20  fts3\fts3.h \.  
9570: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
9580: 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28  fts3Int.h \.  $(
9590: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
95a0: 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s3_hash.h \.  $(
95b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
95c0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45  s3_tokenizer.h.E
95d0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
95e0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
95f0: 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 68 0a 45  \rtree\rtree.h.E
9600: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR
9610: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext
9620: 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68  \icu\sqliteicu.h
9630: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH
9640: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e
9650: 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 74 65 33  xt\rtree\sqlite3
9660: 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d  rtree.h.EXTHDR =
9670: 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24   $(EXTHDR) \.  $
9680: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
9690: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
96a0: 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 62 6c 65  .h..# executable
96b0: 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74 65 73  s needed for tes
96c0: 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 4f 47 53  ting.#.TESTPROGS
96d0: 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 78 74 75   = \.  testfixtu
96e0: 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 53 51 4c  re.exe \.  $(SQL
96f0: 49 54 45 33 45 58 45 29 20 5c 0a 20 20 73 71 6c  ITE3EXE) \.  sql
9700: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78  ite3_analyzer.ex
9710: 65 20 5c 0a 20 20 73 71 6c 64 69 66 66 2e 65 78  e \.  sqldiff.ex
9720: 65 20 5c 0a 20 20 64 62 68 61 73 68 2e 65 78 65  e \.  dbhash.exe
9730: 0a 0a 23 20 44 61 74 61 62 61 73 65 73 20 63 6f  ..# Databases co
9740: 6e 74 61 69 6e 69 6e 67 20 66 75 7a 7a 65 72 20  ntaining fuzzer 
9750: 74 65 73 74 20 63 61 73 65 73 0a 23 0a 46 55 5a  test cases.#.FUZ
9760: 5a 44 41 54 41 20 3d 20 5c 0a 20 20 24 28 54 4f  ZDATA = \.  $(TO
9770: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
9780: 31 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  1.db \.  $(TOP)\
9790: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 32 2e 64  test\fuzzdata2.d
97a0: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes
97b0: 74 5c 66 75 7a 7a 64 61 74 61 33 2e 64 62 20 5c  t\fuzzdata3.db \
97c0: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  .  $(TOP)\test\f
97d0: 75 7a 7a 64 61 74 61 34 2e 64 62 0a 23 20 3c 3c  uzzdata4.db.# <<
97e0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 69 74  /mark>>..# Addit
97f0: 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f  ional compiler o
9800: 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 73  ptions for the s
9810: 68 65 6c 6c 2e 20 20 54 68 65 73 65 20 61 72 65  hell.  These are
9820: 20 6f 6e 6c 79 20 65 66 66 65 63 74 69 76 65 0a   only effective.
9830: 23 20 77 68 65 6e 20 74 68 65 20 73 68 65 6c 6c  # when the shell
9840: 20 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 64 79   is not being dy
9850: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64  namically linked
9860: 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  ..#.!IF $(DYNAMI
9870: 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26 26 20 24  C_SHELL)==0 && $
9880: 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 0a 53  (FOR_WIN10)==0.S
9890: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
98a0: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50  S = $(SHELL_COMP
98b0: 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ILE_OPTS) -DSQLI
98c0: 54 45 5f 53 48 45 4c 4c 5f 4a 53 4f 4e 31 20 2d  TE_SHELL_JSON1 -
98d0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
98e0: 54 53 34 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  TS4 -DSQLITE_ENA
98f0: 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d  BLE_EXPLAIN_COMM
9900: 45 4e 54 53 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  ENTS.!ENDIF..# <
9910: 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20  <mark>>.# Extra 
9920: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
9930: 20 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65 73   for various tes
9940: 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53  t tools..#.MPTES
9950: 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  TER_COMPILE_OPTS
9960: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 53 48 45 4c   = -DSQLITE_SHEL
9970: 4c 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45  L_JSON1 -DSQLITE
9980: 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55 5a  _ENABLE_FTS5.FUZ
9990: 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  ZERSHELL_COMPILE
99a0: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
99b0: 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55  _ENABLE_JSON1.FU
99c0: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f  ZZCHECK_COMPILE_
99d0: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
99e0: 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53  ENABLE_JSON1 -DS
99f0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d  QLITE_ENABLE_MEM
9a00: 53 59 53 35 0a 0a 23 20 53 74 61 6e 64 61 72 64  SYS5..# Standard
9a10: 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74 65 73 74   options to test
9a20: 66 69 78 74 75 72 65 2e 0a 23 0a 54 45 53 54 4f  fixture..#.TESTO
9a30: 50 54 53 20 3d 20 2d 2d 76 65 72 62 6f 73 65 3d  PTS = --verbose=
9a40: 66 69 6c 65 20 2d 2d 6f 75 74 70 75 74 3d 74 65  file --output=te
9a50: 73 74 2d 6f 75 74 2e 74 78 74 0a 0a 23 20 45 78  st-out.txt..# Ex
9a60: 74 72 61 20 74 61 72 67 65 74 73 20 66 6f 72 20  tra targets for 
9a70: 74 68 65 20 22 61 6c 6c 22 20 74 61 72 67 65 74  the "all" target
9a80: 20 74 68 61 74 20 72 65 71 75 69 72 65 20 54 63   that require Tc
9a90: 6c 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43  l..#.!IF $(NO_TC
9aa0: 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41  L)==0.ALL_TCL_TA
9ab0: 52 47 45 54 53 20 3d 20 6c 69 62 74 63 6c 73 71  RGETS = libtclsq
9ac0: 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53 45 0a  lite3.lib.!ELSE.
9ad0: 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20  ALL_TCL_TARGETS 
9ae0: 3d 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61  =.!ENDIF.# <</ma
9af0: 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69 73 20  rk>>..# This is 
9b00: 74 68 65 20 64 65 66 61 75 6c 74 20 4d 61 6b 65  the default Make
9b10: 66 69 6c 65 20 74 61 72 67 65 74 2e 20 20 54 68  file target.  Th
9b20: 65 20 6f 62 6a 65 63 74 73 20 6c 69 73 74 65 64  e objects listed
9b30: 20 68 65 72 65 0a 23 20 61 72 65 20 77 68 61 74   here.# are what
9b40: 20 67 65 74 20 62 75 69 6c 64 20 77 68 65 6e 20   get build when 
9b50: 79 6f 75 20 74 79 70 65 20 6a 75 73 74 20 22 6d  you type just "m
9b60: 61 6b 65 22 20 77 69 74 68 20 6e 6f 20 61 72 67  ake" with no arg
9b70: 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c 6c 3a 09 64  uments..#.all:.d
9b80: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  ll libsqlite3.li
9b90: 62 20 73 68 65 6c 6c 20 24 28 41 4c 4c 5f 54 43  b shell $(ALL_TC
9ba0: 4c 5f 54 41 52 47 45 54 53 29 0a 0a 23 20 44 79  L_TARGETS)..# Dy
9bb0: 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61  namic link libra
9bc0: 72 79 20 73 65 63 74 69 6f 6e 2e 0a 23 0a 64 6c  ry section..#.dl
9bd0: 6c 3a 09 24 28 53 51 4c 49 54 45 33 44 4c 4c 29  l:.$(SQLITE3DLL)
9be0: 0a 0a 23 20 53 68 65 6c 6c 20 65 78 65 63 75 74  ..# Shell execut
9bf0: 61 62 6c 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09 24  able..#.shell:.$
9c00: 28 53 51 4c 49 54 45 33 45 58 45 29 0a 0a 23 20  (SQLITE3EXE)..# 
9c10: 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c 69  <<mark>>.libsqli
9c20: 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49 42 4f 42  te3.lib:.$(LIBOB
9c30: 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c  J)..$(LTLIB) $(L
9c40: 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55 54 3a 24  TLIBOPTS) /OUT:$
9c50: 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 54 4c  @ $(LIBOBJ) $(TL
9c60: 49 42 53 29 0a 0a 6c 69 62 74 63 6c 73 71 6c 69  IBS)..libtclsqli
9c70: 74 65 33 2e 6c 69 62 3a 09 74 63 6c 73 71 6c 69  te3.lib:.tclsqli
9c80: 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33  te.lo libsqlite3
9c90: 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 42 29 20 24  .lib..$(LTLIB) $
9ca0: 28 4c 54 4c 49 42 4f 50 54 53 29 20 24 28 4c 54  (LTLIBOPTS) $(LT
9cb0: 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a 24  LIBPATHS) /OUT:$
9cc0: 40 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c  @ tclsqlite.lo l
9cd0: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 24 28  ibsqlite3.lib $(
9ce0: 4c 49 42 54 43 4c 53 54 55 42 29 20 24 28 54 4c  LIBTCLSTUB) $(TL
9cf0: 49 42 53 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  IBS).# <</mark>>
9d00: 0a 0a 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 3a  ..$(SQLITE3DLL):
9d10: 09 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42  .$(LIBOBJ) $(LIB
9d20: 52 45 53 4f 42 4a 53 29 20 24 28 43 4f 52 45 5f  RESOBJS) $(CORE_
9d30: 4c 49 4e 4b 5f 44 45 50 29 0a 09 24 28 4c 44 29  LINK_DEP)..$(LD)
9d40: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS) $(LT
9d50: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49  LINKOPTS) $(LTLI
9d60: 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 24 28 43  BPATHS) /DLL $(C
9d70: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f  ORE_LINK_OPTS) /
9d80: 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29  OUT:$@ $(LIBOBJ)
9d90: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS) $
9da0: 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS
9db0: 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a  )..# <<block2>>.
9dc0: 73 71 6c 69 74 65 33 2e 64 65 66 3a 09 6c 69 62  sqlite3.def:.lib
9dd0: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 65 63 68  sqlite3.lib..ech
9de0: 6f 20 45 58 50 4f 52 54 53 20 3e 20 73 71 6c 69  o EXPORTS > sqli
9df0: 74 65 33 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e  te3.def..dumpbin
9e00: 20 2f 61 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33   /all libsqlite3
9e10: 2e 6c 69 62 20 5c 0a 09 09 7c 20 24 28 54 43 4c  .lib \...| $(TCL
9e20: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
9e30: 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
9e40: 69 6e 63 6c 75 64 65 20 22 5e 5c 73 2b 31 20 5f  include "^\s+1 _
9e50: 3f 28 73 71 6c 69 74 65 33 5f 5b 5e 40 5d 2a 29  ?(sqlite3_[^@]*)
9e60: 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31 20  (?:@\d+)?$$" \1 
9e70: 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20 73 71  \...| sort >> sq
9e80: 6c 69 74 65 33 2e 64 65 66 0a 23 20 3c 3c 2f 62  lite3.def.# <</b
9e90: 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49 54  lock2>>..$(SQLIT
9ea0: 45 33 45 58 45 29 3a 09 24 28 54 4f 50 29 5c 73  E3EXE):.$(TOP)\s
9eb0: 72 63 5c 73 68 65 6c 6c 2e 63 20 24 28 53 48 45  rc\shell.c $(SHE
9ec0: 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c  LL_CORE_DEP) $(L
9ed0: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 53 48 45  IBRESOBJS) $(SHE
9ee0: 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 24 28 53  LL_CORE_SRC) $(S
9ef0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI
9f00: 4e 4b 29 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50  NK) $(SHELL_COMP
9f10: 49 4c 45 5f 4f 50 54 53 29 20 24 28 52 45 41 44  ILE_OPTS) $(READ
9f20: 4c 49 4e 45 5f 46 4c 41 47 53 29 20 24 28 54 4f  LINE_FLAGS) $(TO
9f30: 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 20 24  P)\src\shell.c $
9f40: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29  (SHELL_CORE_SRC)
9f50: 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c   \.../link $(SQL
9f60: 49 54 45 33 45 58 45 50 44 42 29 20 24 28 4c 44  ITE3EXEPDB) $(LD
9f70: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
9f80: 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e  PTS) $(SHELL_LIN
9f90: 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  K_OPTS) $(LTLIBP
9fa0: 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42  ATHS) $(LIBRESOB
9fb0: 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49 4e  JS) $(LIBREADLIN
9fc0: 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  E) $(LTLIBS) $(T
9fd0: 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  LIBS)..# <<mark>
9fe0: 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 24  >.sqldiff.exe:.$
9ff0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69  (TOP)\tool\sqldi
a000: 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ff.c $(SQLITE3C)
a010: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
a020: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
a030: 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  N) $(TOP)\tool\s
a040: 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54  qldiff.c $(SQLIT
a050: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
a060: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
a070: 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a  TS)..dbhash.exe:
a080: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68  .$(TOP)\tool\dbh
a090: 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43  ash.c $(SQLITE3C
a0a0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
a0b0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA
a0c0: 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\
a0d0: 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54  dbhash.c $(SQLIT
a0e0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF
a0f0: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP
a100: 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09  TS)..scrub.exe:.
a110: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\
a120: 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45  scrub.c $(SQLITE
a130: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
a140: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
a150: 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 65 78 74  WARN) $(TOP)\ext
a160: 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28  \misc\scrub.c $(
a170: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
a180: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
a190: 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31  INKOPTS)..srcck1
a1a0: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
a1b0: 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24 28 42 43  l\srcck1.c..$(BC
a1c0: 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46  C) $(NO_WARN) -F
a1d0: 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e$@ $(TOP)\tool\
a1e0: 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65  srcck1.c..source
a1f0: 74 65 73 74 3a 09 73 72 63 63 6b 31 2e 65 78 65  test:.srcck1.exe
a200: 20 73 71 6c 69 74 65 33 2e 63 0a 09 73 72 63 63   sqlite3.c..srcc
a210: 6b 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e 63  k1.exe sqlite3.c
a220: 0a 0a 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78  ..fuzzershell.ex
a230: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66  e:.$(TOP)\tool\f
a240: 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53  uzzershell.c $(S
a250: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
a260: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
a270: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a  $(NO_WARN) $(FUZ
a280: 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  ZERSHELL_COMPILE
a290: 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74 6f  _OPTS) $(TOP)\to
a2a0: 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63  ol\fuzzershell.c
a2b0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
a2c0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
a2d0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a  LTLINKOPTS)..fuz
a2e0: 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 54 4f  zcheck.exe:.$(TO
a2f0: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63  P)\test\fuzzchec
a300: 6b 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  k.c $(SQLITE3C) 
a310: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
a320: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN
a330: 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f  ) $(FUZZCHECK_CO
a340: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f  MPILE_OPTS) $(TO
a350: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63  P)\test\fuzzchec
a360: 6b 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  k.c $(SQLITE3C) 
a370: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS)
a380: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS)..
a390: 6d 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24 28  mptester.exe:.$(
a3a0: 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65  TOP)\mptest\mpte
a3b0: 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  st.c $(SQLITE3C)
a3c0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
a3d0: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
a3e0: 4e 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43 4f  N) $(MPTESTER_CO
a3f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f  MPILE_OPTS) $(TO
a400: 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74  P)\mptest\mptest
a410: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
a420: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
a430: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d  $(LTLINKOPTS)..M
a440: 50 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74 65  PTEST1 = mpteste
a450: 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f  r mptest.db $(TO
a460: 50 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68 30  P)\mptest\crash0
a470: 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20  1.test --repeat 
a480: 32 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70 74  20.MPTEST2 = mpt
a490: 65 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20  ester mptest.db 
a4a0: 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75  $(TOP)\mptest\mu
a4b0: 6c 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 20  ltiwrite01.test 
a4c0: 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70 74  --repeat 20..mpt
a4d0: 65 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65 78  est:.mptester.ex
a4e0: 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74  e..del /Q mptest
a4f0: 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54  .db 2>NUL..$(MPT
a500: 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST1) --journalm
a510: 6f 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d 50  ode DELETE..$(MP
a520: 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST2) --journal
a530: 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45  mode WAL..$(MPTE
a540: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
a550: 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54  de WAL..$(MPTEST
a560: 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65  2) --journalmode
a570: 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45   PERSIST..$(MPTE
a580: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
a590: 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50  de PERSIST..$(MP
a5a0: 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST2) --journal
a5b0: 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24  mode TRUNCATE..$
a5c0: 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72  (MPTEST1) --jour
a5d0: 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45  nalmode TRUNCATE
a5e0: 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a  ..$(MPTEST2) --j
a5f0: 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54  ournalmode DELET
a600: 45 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65 74  E..# This target
a610: 20 63 72 65 61 74 65 73 20 61 20 64 69 72 65 63   creates a direc
a620: 74 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72 63  tory named "tsrc
a630: 22 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 77  " and fills it w
a640: 69 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 20  ith.# copies of 
a650: 61 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f 75  all of the C sou
a660: 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61  rce code and hea
a670: 64 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65 64  der files needed
a680: 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74   to.# build on t
a690: 68 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d  he target system
a6a0: 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 43  .  Some of the C
a6b0: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64   source code and
a6c0: 20 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73 20   header.# files 
a6d0: 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c  are automaticall
a6e0: 79 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54 68  y generated.  Th
a6f0: 69 73 20 74 61 72 67 65 74 20 74 61 6b 65 73 20  is target takes 
a700: 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68  care of.# all th
a710: 61 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65 6e  at automatic gen
a720: 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67  eration..#..targ
a730: 65 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52 43  et_source:.$(SRC
a740: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64  ) $(TOP)\tool\vd
a750: 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20  be-compress.tcl 
a760: 66 74 73 35 2e 63 20 24 28 53 51 4c 49 54 45 5f  fts5.c $(SQLITE_
a770: 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 69 72  TCL_DEP)..-rmdir
a780: 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c   /Q/S tsrc 2>NUL
a790: 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09 66  ..-mkdir tsrc..f
a7a0: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0
a7b0: 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  0)) do copy /Y %
a7c0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
a7d0: 6e 20 28 24 28 53 52 43 30 31 29 29 20 64 6f 20  n ($(SRC01)) do 
a7e0: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
a7f0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR
a800: 43 30 32 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C02)) do copy /Y
a810: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
a820: 20 69 6e 20 28 24 28 53 52 43 30 33 29 29 20 64   in ($(SRC03)) d
a830: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
a840: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($(
a850: 53 52 43 30 34 29 29 20 64 6f 20 63 6f 70 79 20  SRC04)) do copy 
a860: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for 
a870: 25 69 20 69 6e 20 28 24 28 53 52 43 30 35 29 29  %i in ($(SRC05))
a880: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
a890: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
a8a0: 24 28 53 52 43 30 36 29 29 20 64 6f 20 63 6f 70  $(SRC06)) do cop
a8b0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
a8c0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 37  r %i in ($(SRC07
a8d0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
a8e0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
a8f0: 20 28 24 28 53 52 43 30 38 29 29 20 64 6f 20 63   ($(SRC08)) do c
a900: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
a910: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC
a920: 30 39 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  09)) do copy /Y 
a930: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i 
a940: 69 6e 20 28 24 28 53 52 43 31 30 29 29 20 64 6f  in ($(SRC10)) do
a950: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
a960: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S
a970: 52 43 31 31 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC11)) do copy /
a980: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
a990: 69 20 69 6e 20 28 24 28 53 52 43 31 32 29 29 20  i in ($(SRC12)) 
a9a0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
a9b0: 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35  rc..copy /Y fts5
a9c0: 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59  .c tsrc..copy /Y
a9d0: 20 66 74 73 35 2e 68 20 74 73 72 63 0a 09 64 65   fts5.h tsrc..de
a9e0: 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69 74 65  l /Q tsrc\sqlite
a9f0: 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72 73 65  .h.in tsrc\parse
aa00: 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c 53  .y 2>NUL..$(TCLS
aa10: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
aa20: 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73  ol\vdbe-compress
aa30: 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 3c 20 74  .tcl $(OPTS) < t
aa40: 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 64 62  src\vdbe.c > vdb
aa50: 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62 65  e.new..move vdbe
aa60: 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65 2e 63  .new tsrc\vdbe.c
aa70: 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 65 74  ..echo > .target
aa80: 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65 33  _source..sqlite3
aa90: 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72  .c:..target_sour
aaa0: 63 65 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20  ce sqlite3ext.h 
aab0: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f  $(MKSQLITE3C_TOO
aac0: 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  L)..$(TCLSH_CMD)
aad0: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f   $(MKSQLITE3C_TO
aae0: 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43  OL) $(MKSQLITE3C
aaf0: 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 74 73 72  _ARGS)..copy tsr
ab00: 63 5c 73 68 65 6c 6c 2e 63 20 2e 0a 09 63 6f 70  c\shell.c ...cop
ab10: 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73  y $(TOP)\ext\ses
ab20: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
ab30: 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65 33  ion.h ...sqlite3
ab40: 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33 2e  -all.c:.sqlite3.
ab50: 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70  c $(TOP)\tool\sp
ab60: 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c  lit-sqlite3c.tcl
ab70: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
ab80: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74  (TOP)\tool\split
ab90: 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23 20  -sqlite3c.tcl.# 
aba0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c  <</mark>>..# Rul
abb0: 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 61  e to build the a
abc0: 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73 71  malgamation.#.sq
abd0: 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c 49  lite3.lo:.$(SQLI
abe0: 54 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50 49  TE3C)..$(LTCOMPI
abf0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
ac00: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 53 51  LE_OPTS) -c $(SQ
ac10: 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61 72  LITE3C)..# <<mar
ac20: 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  k>>.# Rules to b
ac30: 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20 63  uild the LEMON c
ac40: 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 74 6f  ompiler generato
ac50: 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24 28  r.#.lempar.c:.$(
ac60: 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72  TOP)\tool\lempar
ac70: 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  .c..copy $(TOP)\
ac80: 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a  tool\lempar.c ..
ac90: 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54 4f  .lemon.exe:.$(TO
aca0: 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20  P)\tool\lemon.c 
acb0: 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43 29  lempar.c..$(BCC)
acc0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61 63   $(NO_WARN) -Dac
acd0: 63 65 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a 09  cess=_access \..
ace0: 09 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f  .-Fe$@ $(TOP)\to
acf0: 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b  ol\lemon.c /link
ad00: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c   $(LDFLAGS) $(NL
ad10: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54  TLINKOPTS) $(NLT
ad20: 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 52 75 6c  LIBPATHS)..# Rul
ad30: 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64 69  es to build indi
ad40: 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65  vidual *.lo file
ad50: 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 74 65 64  s from generated
ad60: 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68 69 73   *.c files. This
ad70: 0a 23 20 61 70 70 6c 69 65 73 20 74 6f 3a 0a 23  .# applies to:.#
ad80: 0a 23 20 20 20 20 20 70 61 72 73 65 2e 6c 6f 0a  .#     parse.lo.
ad90: 23 20 20 20 20 20 6f 70 63 6f 64 65 73 2e 6c 6f  #     opcodes.lo
ada0: 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 61 72  .#.parse.lo:.par
adb0: 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  se.c $(HDR)..$(L
adc0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
add0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ade0: 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70 63 6f 64  c parse.c..opcod
adf0: 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73 2e 63  es.lo:.opcodes.c
ae00: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ae10: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ae20: 54 53 29 20 2d 63 20 6f 70 63 6f 64 65 73 2e 63  TS) -c opcodes.c
ae30: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..# 
ae40: 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68  Rule to build th
ae50: 65 20 57 69 6e 33 32 20 72 65 73 6f 75 72 63 65  e Win32 resource
ae60: 73 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 23  s object file..#
ae70: 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29 21 3d  .!IF $(USE_RC)!=
ae80: 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e 0a 24  0.# <<block1>>.$
ae90: 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a 09 24 28  (LIBRESOBJS):.$(
aea0: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33  TOP)\src\sqlite3
aeb0: 2e 72 63 20 24 28 53 51 4c 49 54 45 33 48 29 0a  .rc $(SQLITE3H).
aec0: 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20 53 51  .echo #ifndef SQ
aed0: 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56 45  LITE_RESOURCE_VE
aee0: 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74 65 33 72  RSION > sqlite3r
aef0: 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25 25 56 20  c.h..for /F %%V 
af00: 69 6e 20 28 27 74 79 70 65 20 22 24 28 54 4f 50  in ('type "$(TOP
af10: 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 64 6f 20  )\VERSION"') do 
af20: 28 20 5c 0a 09 09 65 63 68 6f 20 23 64 65 66 69  ( \...echo #defi
af30: 6e 65 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52  ne SQLITE_RESOUR
af40: 43 45 5f 56 45 52 53 49 4f 4e 20 25 25 56 20 5c  CE_VERSION %%V \
af50: 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  ....| $(TCLSH_CM
af60: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
af70: 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74  eplace.tcl exact
af80: 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69 74 65 33   . ^, >> sqlite3
af90: 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63 68 6f 20  rc.h \..)..echo 
afa0: 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c 69 74 65  #endif >> sqlite
afb0: 33 72 63 2e 68 0a 09 24 28 4c 54 52 43 4f 4d 50  3rc.h..$(LTRCOMP
afc0: 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49 42 52 45  ILE) -fo $(LIBRE
afd0: 53 4f 42 4a 53 29 20 24 28 54 4f 50 29 5c 73 72  SOBJS) $(TOP)\sr
afe0: 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a 23 20 3c  c\sqlite3.rc.# <
aff0: 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e 44 49  </block1>>.!ENDI
b000: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.# 
b010: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69  Rules to build i
b020: 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66  ndividual *.lo f
b030: 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c 65 73 20  iles from files 
b040: 69 6e 20 74 68 65 20 73 72 63 20 64 69 72 65 63  in the src direc
b050: 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72 2e 6c 6f  tory..#.alter.lo
b060: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74  :.$(TOP)\src\alt
b070: 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  er.c $(HDR)..$(L
b080: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
b090: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b0a0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74  c $(TOP)\src\alt
b0b0: 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e 6c 6f  er.c..analyze.lo
b0c0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61  :.$(TOP)\src\ana
b0d0: 6c 79 7a 65 2e 63 20 24 28 48 44 52 29 0a 09 24  lyze.c $(HDR)..$
b0e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
b0f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b100: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a
b110: 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74 61 63 68  nalyze.c..attach
b120: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
b130: 61 74 74 61 63 68 2e 63 20 24 28 48 44 52 29 0a  attach.c $(HDR).
b140: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
b150: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b160: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
b170: 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75 74 68 2e  \attach.c..auth.
b180: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61  lo:.$(TOP)\src\a
b190: 75 74 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28  uth.c $(HDR)..$(
b1a0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b1b0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b1c0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75  -c $(TOP)\src\au
b1d0: 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c 6f 3a  th.c..backup.lo:
b1e0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b  .$(TOP)\src\back
b1f0: 75 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  up.c $(HDR)..$(L
b200: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
b210: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b220: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63  c $(TOP)\src\bac
b230: 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 2e 6c 6f  kup.c..bitvec.lo
b240: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74  :.$(TOP)\src\bit
b250: 76 65 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28  vec.c $(HDR)..$(
b260: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b270: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b280: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69  -c $(TOP)\src\bi
b290: 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74 65 78 2e  tvec.c..btmutex.
b2a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62  lo:.$(TOP)\src\b
b2b0: 74 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a  tmutex.c $(HDR).
b2c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
b2d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b2e0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
b2f0: 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62 74 72 65  \btmutex.c..btre
b300: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
b310: 5c 62 74 72 65 65 2e 63 20 24 28 48 44 52 29 20  \btree.c $(HDR) 
b320: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager
b330: 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  .h..$(LTCOMPILE)
b340: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
b350: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
b360: 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a 62 75 69  src\btree.c..bui
b370: 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ld.lo:.$(TOP)\sr
b380: 63 5c 62 75 69 6c 64 2e 63 20 24 28 48 44 52 29  c\build.c $(HDR)
b390: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
b3a0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b3b0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
b3c0: 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61 6c 6c 62  c\build.c..callb
b3d0: 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ack.lo:.$(TOP)\s
b3e0: 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 24 28  rc\callback.c $(
b3f0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
b400: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
b410: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
b420: 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63  )\src\callback.c
b430: 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a 09 24  ..complete.lo:.$
b440: 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65  (TOP)\src\comple
b450: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
b460: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
b470: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b480: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d  c $(TOP)\src\com
b490: 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d 65 2e 6c  plete.c..ctime.l
b4a0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 74  o:.$(TOP)\src\ct
b4b0: 69 6d 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ime.c $(HDR)..$(
b4c0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b4d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b4e0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74  -c $(TOP)\src\ct
b4f0: 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f 3a 09  ime.c..date.lo:.
b500: 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e  $(TOP)\src\date.
b510: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b520: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
b530: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
b540: 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63  (TOP)\src\date.c
b550: 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a 09 24 28 54  ..dbstat.lo:.$(T
b560: 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 24  OP)\src\date.c $
b570: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
b580: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
b590: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
b5a0: 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 0a  P)\src\dbstat.c.
b5b0: 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f  .delete.lo:.$(TO
b5c0: 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 20  P)\src\delete.c 
b5d0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b5e0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b5f0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b600: 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63  OP)\src\delete.c
b610: 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50  ..expr.lo:.$(TOP
b620: 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 24 28 48  )\src\expr.c $(H
b630: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
b640: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
b650: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
b660: 5c 73 72 63 5c 65 78 70 72 2e 63 0a 0a 66 61 75  \src\expr.c..fau
b670: 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  lt.lo:.$(TOP)\sr
b680: 63 5c 66 61 75 6c 74 2e 63 20 24 28 48 44 52 29  c\fault.c $(HDR)
b690: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
b6a0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b6b0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
b6c0: 63 5c 66 61 75 6c 74 2e 63 0a 0a 66 6b 65 79 2e  c\fault.c..fkey.
b6d0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66  lo:.$(TOP)\src\f
b6e0: 6b 65 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28  key.c $(HDR)..$(
b6f0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
b700: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
b710: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b  -c $(TOP)\src\fk
b720: 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24  ey.c..func.lo:.$
b730: 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63  (TOP)\src\func.c
b740: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b750: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
b760: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
b770: 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 0a  TOP)\src\func.c.
b780: 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f  .global.lo:.$(TO
b790: 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20  P)\src\global.c 
b7a0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b7b0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b7c0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b7d0: 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63  OP)\src\global.c
b7e0: 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50  ..hash.lo:.$(TOP
b7f0: 29 5c 73 72 63 5c 68 61 73 68 2e 63 20 24 28 48  )\src\hash.c $(H
b800: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
b810: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
b820: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
b830: 5c 73 72 63 5c 68 61 73 68 2e 63 0a 0a 69 6e 73  \src\hash.c..ins
b840: 65 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ert.lo:.$(TOP)\s
b850: 72 63 5c 69 6e 73 65 72 74 2e 63 20 24 28 48 44  rc\insert.c $(HD
b860: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
b870: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
b880: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
b890: 73 72 63 5c 69 6e 73 65 72 74 2e 63 0a 0a 6c 65  src\insert.c..le
b8a0: 67 61 63 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  gacy.lo:.$(TOP)\
b8b0: 73 72 63 5c 6c 65 67 61 63 79 2e 63 20 24 28 48  src\legacy.c $(H
b8c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
b8d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
b8e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
b8f0: 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c  \src\legacy.c..l
b900: 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50  oadext.lo:.$(TOP
b910: 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20  )\src\loadext.c 
b920: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b930: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
b940: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
b950: 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e  OP)\src\loadext.
b960: 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f  c..main.lo:.$(TO
b970: 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 24 28  P)\src\main.c $(
b980: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
b990: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
b9a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
b9b0: 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61  )\src\main.c..ma
b9c0: 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lloc.lo:.$(TOP)\
b9d0: 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 24 28 48  src\malloc.c $(H
b9e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
b9f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ba00: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
ba10: 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d  \src\malloc.c..m
ba20: 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  em0.lo:.$(TOP)\s
ba30: 72 63 5c 6d 65 6d 30 2e 63 20 24 28 48 44 52 29  rc\mem0.c $(HDR)
ba40: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
ba50: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ba60: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
ba70: 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c  c\mem0.c..mem1.l
ba80: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me
ba90: 6d 31 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  m1.c $(HDR)..$(L
baa0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
bab0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
bac0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem
bad0: 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28  1.c..mem2.lo:.$(
bae0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20  TOP)\src\mem2.c 
baf0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
bb00: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
bb10: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
bb20: 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a  OP)\src\mem2.c..
bb30: 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  mem3.lo:.$(TOP)\
bb40: 73 72 63 5c 6d 65 6d 33 2e 63 20 24 28 48 44 52  src\mem3.c $(HDR
bb50: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
bb60: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
bb70: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
bb80: 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e  rc\mem3.c..mem5.
bb90: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m
bba0: 65 6d 35 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em5.c $(HDR)..$(
bbb0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
bbc0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
bbd0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  -c $(TOP)\src\me
bbe0: 6d 35 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c  m5.c..memjournal
bbf0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
bc00: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 48  memjournal.c $(H
bc10: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
bc20: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
bc30: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
bc40: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  \src\memjournal.
bc50: 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54  c..mutex.lo:.$(T
bc60: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20  OP)\src\mutex.c 
bc70: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
bc80: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
bc90: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
bca0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 0a  OP)\src\mutex.c.
bcb0: 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09  .mutex_noop.lo:.
bcc0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex
bcd0: 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52 29 0a 09  _noop.c $(HDR)..
bce0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
bcf0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
bd00: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
bd10: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75  mutex_noop.c..mu
bd20: 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54  tex_unix.lo:.$(T
bd30: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e  OP)\src\mutex_un
bd40: 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ix.c $(HDR)..$(L
bd50: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
bd60: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
bd70: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  c $(TOP)\src\mut
bd80: 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74 65 78  ex_unix.c..mutex
bd90: 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  _w32.lo:.$(TOP)\
bda0: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20  src\mutex_w32.c 
bdb0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
bdc0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
bdd0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
bde0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33  OP)\src\mutex_w3
bdf0: 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09  2.c..notify.lo:.
be00: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66  $(TOP)\src\notif
be10: 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  y.c $(HDR)..$(LT
be20: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
be30: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
be40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69   $(TOP)\src\noti
be50: 66 79 2e 63 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09  fy.c..pager.lo:.
be60: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager
be70: 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29  .c $(HDR) $(TOP)
be80: 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28  \src\pager.h..$(
be90: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
bea0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
beb0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  -c $(TOP)\src\pa
bec0: 67 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e 6c 6f  ger.c..pcache.lo
bed0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61  :.$(TOP)\src\pca
bee0: 63 68 65 2e 63 20 24 28 48 44 52 29 20 24 28 54  che.c $(HDR) $(T
bef0: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68  OP)\src\pcache.h
bf00: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
bf10: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
bf20: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
bf30: 63 5c 70 63 61 63 68 65 2e 63 0a 0a 70 63 61 63  c\pcache.c..pcac
bf40: 68 65 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  he1.lo:.$(TOP)\s
bf50: 72 63 5c 70 63 61 63 68 65 31 2e 63 20 24 28 48  rc\pcache1.c $(H
bf60: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  DR) $(TOP)\src\p
bf70: 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d  cache.h..$(LTCOM
bf80: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
bf90: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
bfa0: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31  TOP)\src\pcache1
bfb0: 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50  .c..os.lo:.$(TOP
bfc0: 29 5c 73 72 63 5c 6f 73 2e 63 20 24 28 48 44 52  )\src\os.c $(HDR
bfd0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
bfe0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
bff0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c000: 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78  rc\os.c..os_unix
c010: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c020: 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29  os_unix.c $(HDR)
c030: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c040: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c050: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c060: 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f  c\os_unix.c..os_
c070: 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  win.lo:.$(TOP)\s
c080: 72 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 28 48 44  rc\os_win.c $(HD
c090: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
c0a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
c0b0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\
c0c0: 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72  src\os_win.c..pr
c0d0: 61 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  agma.lo:.$(TOP)\
c0e0: 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 24 28 48  src\pragma.c $(H
c0f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c100: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c110: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c120: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 0a 0a 70  \src\pragma.c..p
c130: 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28 54 4f 50  repare.lo:.$(TOP
c140: 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20  )\src\prepare.c 
c150: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c160: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
c170: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T
c180: 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e  OP)\src\prepare.
c190: 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28  c..printf.lo:.$(
c1a0: 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e  TOP)\src\printf.
c1b0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c1c0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c1d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c1e0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66  (TOP)\src\printf
c1f0: 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24  .c..random.lo:.$
c200: 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d  (TOP)\src\random
c210: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c220: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c230: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c240: 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f  $(TOP)\src\rando
c250: 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a  m.c..resolve.lo:
c260: 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f  .$(TOP)\src\reso
c270: 6c 76 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  lve.c $(HDR)..$(
c280: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c290: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c2a0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  -c $(TOP)\src\re
c2b0: 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73 65 74 2e  solve.c..rowset.
c2c0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72  lo:.$(TOP)\src\r
c2d0: 6f 77 73 65 74 2e 63 20 24 28 48 44 52 29 0a 09  owset.c $(HDR)..
c2e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c2f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c300: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c310: 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c 65 63 74  rowset.c..select
c320: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
c330: 73 65 6c 65 63 74 2e 63 20 24 28 48 44 52 29 0a  select.c $(HDR).
c340: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c350: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c360: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c370: 5c 73 65 6c 65 63 74 2e 63 0a 0a 73 74 61 74 75  \select.c..statu
c380: 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  s.lo:.$(TOP)\src
c390: 5c 73 74 61 74 75 73 2e 63 20 24 28 48 44 52 29  \status.c $(HDR)
c3a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
c3b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c3c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr
c3d0: 63 5c 73 74 61 74 75 73 2e 63 0a 0a 74 61 62 6c  c\status.c..tabl
c3e0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
c3f0: 5c 74 61 62 6c 65 2e 63 20 24 28 48 44 52 29 0a  \table.c $(HDR).
c400: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c410: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c420: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c430: 5c 74 61 62 6c 65 2e 63 0a 0a 74 68 72 65 61 64  \table.c..thread
c440: 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  s.lo:.$(TOP)\src
c450: 5c 74 68 72 65 61 64 73 2e 63 20 24 28 48 44 52  \threads.c $(HDR
c460: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c470: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c480: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c490: 72 63 5c 74 68 72 65 61 64 73 2e 63 0a 0a 74 6f  rc\threads.c..to
c4a0: 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50  kenize.lo:.$(TOP
c4b0: 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63  )\src\tokenize.c
c4c0: 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 24   keywordhash.h $
c4d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c4e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c4f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c500: 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e  P)\src\tokenize.
c510: 63 0a 0a 74 72 65 65 76 69 65 77 2e 6c 6f 3a 09  c..treeview.lo:.
c520: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76  $(TOP)\src\treev
c530: 69 65 77 2e 63 20 24 28 48 44 52 29 0a 09 24 28  iew.c $(HDR)..$(
c540: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
c550: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
c560: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  -c $(TOP)\src\tr
c570: 65 65 76 69 65 77 2e 63 0a 0a 74 72 69 67 67 65  eeview.c..trigge
c580: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src
c590: 5c 74 72 69 67 67 65 72 2e 63 20 24 28 48 44 52  \trigger.c $(HDR
c5a0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
c5b0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
c5c0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s
c5d0: 72 63 5c 74 72 69 67 67 65 72 2e 63 0a 0a 75 70  rc\trigger.c..up
c5e0: 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  date.lo:.$(TOP)\
c5f0: 73 72 63 5c 75 70 64 61 74 65 2e 63 20 24 28 48  src\update.c $(H
c600: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c610: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c620: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
c630: 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 0a 0a 75  \src\update.c..u
c640: 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  tf.lo:.$(TOP)\sr
c650: 63 5c 75 74 66 2e 63 20 24 28 48 44 52 29 0a 09  c\utf.c $(HDR)..
c660: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE) $(C
c670: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c680: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\
c690: 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09  utf.c..util.lo:.
c6a0: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e  $(TOP)\src\util.
c6b0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c6c0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
c6d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $
c6e0: 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63  (TOP)\src\util.c
c6f0: 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09 24 28 54  ..vacuum.lo:.$(T
c700: 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63  OP)\src\vacuum.c
c710: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c720: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
c730: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $(
c740: 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e  TOP)\src\vacuum.
c750: 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f  c..vdbe.lo:.$(TO
c760: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28  P)\src\vdbe.c $(
c770: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c780: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c790: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c7a0: 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64  )\src\vdbe.c..vd
c7b0: 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29  beapi.lo:.$(TOP)
c7c0: 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63 20 24  \src\vdbeapi.c $
c7d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
c7e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
c7f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO
c800: 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63  P)\src\vdbeapi.c
c810: 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28  ..vdbeaux.lo:.$(
c820: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
c830: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c840: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
c850: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
c860: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea
c870: 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c  ux.c..vdbeblob.l
c880: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd
c890: 62 65 62 6c 6f 62 2e 63 20 24 28 48 44 52 29 0a  beblob.c $(HDR).
c8a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
c8b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c8c0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
c8d0: 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62  \vdbeblob.c..vdb
c8e0: 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  emem.lo:.$(TOP)\
c8f0: 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28  src\vdbemem.c $(
c900: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
c910: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
c920: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP
c930: 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 0a  )\src\vdbemem.c.
c940: 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a 09 24 28  .vdbesort.lo:.$(
c950: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72  TOP)\src\vdbesor
c960: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
c970: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
c980: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c990: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe
c9a0: 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74 72 61 63  sort.c..vdbetrac
c9b0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
c9c0: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 24 28 48  \vdbetrace.c $(H
c9d0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
c9e0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
c9f0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
ca00: 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63  \src\vdbetrace.c
ca10: 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50  ..vtab.lo:.$(TOP
ca20: 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 24 28 48  )\src\vtab.c $(H
ca30: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
ca40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
ca50: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP)
ca60: 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a 77 61 6c  \src\vtab.c..wal
ca70: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\
ca80: 77 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28  wal.c $(HDR)..$(
ca90: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
caa0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
cab0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  -c $(TOP)\src\wa
cac0: 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09  l.c..walker.lo:.
cad0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65  $(TOP)\src\walke
cae0: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  r.c $(HDR)..$(LT
caf0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
cb00: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cb10: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b   $(TOP)\src\walk
cb20: 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09  er.c..where.lo:.
cb30: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
cb40: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cb50: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cb60: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cb70: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
cb80: 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65 2e 6c 6f  .c..wherecode.lo
cb90: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  :.$(TOP)\src\whe
cba0: 72 65 63 6f 64 65 2e 63 20 24 28 48 44 52 29 0a  recode.c $(HDR).
cbb0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
cbc0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cbd0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src
cbe0: 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a 0a 77 68  \wherecode.c..wh
cbf0: 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f  ereexpr.lo:.$(TO
cc00: 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72  P)\src\whereexpr
cc10: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cc20: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C
cc30: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c 
cc40: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where
cc50: 65 78 70 72 2e 63 0a 0a 74 63 6c 73 71 6c 69 74  expr.c..tclsqlit
cc60: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src
cc70: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48  \tclsqlite.c $(H
cc80: 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c  DR) $(SQLITE_TCL
cc90: 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49  _DEP)..$(LTCOMPI
cca0: 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  LE) $(NO_WARN) -
ccb0: 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31  DUSE_TCL_STUBS=1
ccc0: 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite 
ccd0: 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d  -I$(TCLINCDIR) -
cce0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  c $(TOP)\src\tcl
ccf0: 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c  sqlite.c..tclsql
cd00: 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28  ite-shell.lo:.$(
cd10: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
cd20: 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 53 51  te.c $(HDR) $(SQ
cd30: 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24  LITE_TCL_DEP)..$
cd40: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f  (LTCOMPILE) $(NO
cd50: 5f 57 41 52 4e 29 20 2d 44 54 43 4c 53 48 3d 31  _WARN) -DTCLSH=1
cd60: 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite 
cd70: 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d  -I$(TCLINCDIR) -
cd80: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  c $(TOP)\src\tcl
cd90: 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c  sqlite.c..tclsql
cda0: 69 74 65 33 2e 65 78 65 3a 09 74 63 6c 73 71 6c  ite3.exe:.tclsql
cdb0: 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 53  ite-shell.lo $(S
cdc0: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
cdd0: 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  E3H) $(LIBRESOBJ
cde0: 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  S)..$(LTLINK) $(
cdf0: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link 
ce00: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS) $(LTL
ce10: 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  INKOPTS) $(LTLIB
ce20: 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74  PATHS) /OUT:$@ t
ce30: 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c  clsqlite-shell.l
ce40: 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  o $(LIBRESOBJS) 
ce50: 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS) $(TLIB
ce60: 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  S)..# Rules to b
ce70: 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63 20 61  uild opcodes.c a
ce80: 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23 0a 6f  nd opcodes.h.#.o
ce90: 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f 64 65  pcodes.c:.opcode
cea0: 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  s.h $(TOP)\tool\
ceb0: 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a 09 24  mkopcodec.tcl..$
cec0: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO
ced0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65  P)\tool\mkopcode
cee0: 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e 68 20  c.tcl opcodes.h 
cef0: 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f 70 63  > opcodes.c..opc
cf00: 6f 64 65 73 2e 68 3a 09 70 61 72 73 65 2e 68 20  odes.h:.parse.h 
cf10: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe.
cf20: 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  c $(TOP)\tool\mk
cf30: 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74 79 70  opcodeh.tcl..typ
cf40: 65 20 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29  e parse.h $(TOP)
cf50: 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c 20 24 28  \src\vdbe.c | $(
cf60: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
cf70: 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68  )\tool\mkopcodeh
cf80: 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73 2e 68  .tcl > opcodes.h
cf90: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
cfa0: 6c 64 20 70 61 72 73 65 2e 63 20 61 6e 64 20 70  ld parse.c and p
cfb0: 61 72 73 65 2e 68 20 2d 20 74 68 65 20 6f 75 74  arse.h - the out
cfc0: 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23  puts of lemon..#
cfd0: 0a 70 61 72 73 65 2e 68 3a 09 70 61 72 73 65 2e  .parse.h:.parse.
cfe0: 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28 54 4f  c..parse.c:.$(TO
cff0: 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 6c  P)\src\parse.y l
d000: 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f 50 29 5c  emon.exe $(TOP)\
d010: 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 73 2e  tool\addopcodes.
d020: 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70 61 72 73  tcl..del /Q pars
d030: 65 2e 79 20 70 61 72 73 65 2e 68 20 70 61 72 73  e.y parse.h pars
d040: 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 4c 0a 09  e.h.temp 2>NUL..
d050: 63 6f 70 79 20 24 28 54 4f 50 29 5c 73 72 63 5c  copy $(TOP)\src\
d060: 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d  parse.y ....\lem
d070: 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41  on.exe $(REQ_FEA
d080: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP
d090: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
d0a0: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46   $(EXT_FEATURE_F
d0b0: 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 70 61  LAGS) $(OPTS) pa
d0c0: 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61 72 73  rse.y..move pars
d0d0: 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65 6d 70  e.h parse.h.temp
d0e0: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD) $
d0f0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70  (TOP)\tool\addop
d100: 63 6f 64 65 73 2e 74 63 6c 20 70 61 72 73 65 2e  codes.tcl parse.
d110: 68 2e 74 65 6d 70 20 3e 20 70 61 72 73 65 2e 68  h.temp > parse.h
d120: 0a 0a 24 28 53 51 4c 49 54 45 33 48 29 3a 09 24  ..$(SQLITE3H):.$
d130: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
d140: 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c 6d 61 6e  .h.in $(TOP)\man
d150: 69 66 65 73 74 2e 75 75 69 64 20 24 28 54 4f 50  ifest.uuid $(TOP
d160: 29 5c 56 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c  )\VERSION..$(TCL
d170: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
d180: 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74  ool\mksqlite3h.t
d190: 63 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20  cl $(TOP:\=/) > 
d1a0: 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4d 4b  $(SQLITE3H) $(MK
d1b0: 53 51 4c 49 54 45 33 48 5f 41 52 47 53 29 0a 0a  SQLITE3H_ARGS)..
d1c0: 73 71 6c 69 74 65 33 65 78 74 2e 68 3a 09 2e 74  sqlite3ext.h:..t
d1d0: 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 21 49 46  arget_source.!IF
d1e0: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)!
d1f0: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1
d200: 30 29 21 3d 30 0a 09 74 79 70 65 20 74 73 72 63  0)!=0..type tsrc
d210: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 7c 20  \sqlite3ext.h | 
d220: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
d230: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
d240: 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c  .tcl regsub "\(\
d250: 2a 5c 29 22 20 22 28 53 51 4c 49 54 45 5f 43 41  *\)" "(SQLITE_CA
d260: 4c 4c 42 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c  LLBACK *)" \...|
d270: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD) $(
d280: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
d290: 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28  e.tcl regsub "\(
d2a0: 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 41 50 49  \*" "(SQLITE_API
d2b0: 43 41 4c 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65  CALL *" > sqlite
d2c0: 33 65 78 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20  3ext.h..copy /Y 
d2d0: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 74 73 72  sqlite3ext.h tsr
d2e0: 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21  c\sqlite3ext.h.!
d2f0: 45 4c 53 45 0a 09 63 6f 70 79 20 2f 59 20 74 73  ELSE..copy /Y ts
d300: 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20  rc\sqlite3ext.h 
d310: 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4e  sqlite3ext.h.!EN
d320: 44 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61  DIF..mkkeywordha
d330: 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  sh.exe:.$(TOP)\t
d340: 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73  ool\mkkeywordhas
d350: 68 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f  h.c..$(BCC) $(NO
d360: 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 52  _WARN) -Fe$@ $(R
d370: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
d380: 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  ) $(OPT_FEATURE_
d390: 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41  FLAGS) $(EXT_FEA
d3a0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP
d3b0: 54 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  TS) \...$(TOP)\t
d3c0: 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73  ool\mkkeywordhas
d3d0: 68 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  h.c /link $(LDFL
d3e0: 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50  AGS) $(NLTLINKOP
d3f0: 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  TS) $(NLTLIBPATH
d400: 53 29 0a 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e  S)..keywordhash.
d410: 68 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  h:.$(TOP)\tool\m
d420: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 6d  kkeywordhash.c m
d430: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65  kkeywordhash.exe
d440: 0a 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73  ...\mkkeywordhas
d450: 68 2e 65 78 65 20 3e 20 6b 65 79 77 6f 72 64 68  h.exe > keywordh
d460: 61 73 68 2e 68 0a 0a 0a 0a 23 20 52 75 6c 65 73  ash.h....# Rules
d470: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78   to build the ex
d480: 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e  tension objects.
d490: 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50  .#.icu.lo:.$(TOP
d4a0: 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20  )\ext\icu\icu.c 
d4b0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
d4c0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
d4d0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d4e0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
d4f0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
d500: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69  $(TOP)\ext\icu\i
d510: 63 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24  cu.c..fts2.lo:.$
d520: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
d530: 74 73 32 2e 63 20 24 28 48 44 52 29 20 24 28 45  ts2.c $(HDR) $(E
d540: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
d550: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP
d560: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W
d570: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
d580: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext
d590: 5c 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74  \fts2\fts2.c..ft
d5a0: 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f  s2_hash.lo:.$(TO
d5b0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
d5c0: 5f 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24  _hash.c $(HDR) $
d5d0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
d5e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
d5f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
d600: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
d610: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e
d620: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73  xt\fts2\fts2_has
d630: 68 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f  h.c..fts2_icu.lo
d640: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
d650: 32 5c 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48  2\fts2_icu.c $(H
d660: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
d670: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO
d680: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d690: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
d6a0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
d6b0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
d6c0: 32 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f  2_icu.c..fts2_po
d6d0: 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  rter.lo:.$(TOP)\
d6e0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f  ext\fts2\fts2_po
d6f0: 72 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  rter.c $(HDR) $(
d700: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
d710: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
d720: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
d730: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
d740: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
d750: 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74  t\fts2\fts2_port
d760: 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e  er.c..fts2_token
d770: 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  izer.lo:.$(TOP)\
d780: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
d790: 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29  kenizer.c $(HDR)
d7a0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
d7b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_
d7c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $(
d7d0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
d7e0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
d7f0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
d800: 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32  okenizer.c..fts2
d810: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09  _tokenizer1.lo:.
d820: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\
d830: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts2_tokenizer1.
d840: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
d850: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
d860: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
d870: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
d880: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
d890: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
d8a0: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
d8b0: 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28  1.c..fts3.lo:.$(
d8c0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
d8d0: 73 33 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s3.c $(HDR) $(EX
d8e0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
d8f0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d900: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
d910: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
d920: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
d930: 66 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73  fts3\fts3.c..fts
d940: 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  3_aux.lo:.$(TOP)
d950: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61  \ext\fts3\fts3_a
d960: 75 78 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  ux.c $(HDR) $(EX
d970: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
d980: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI
d990: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA
d9a0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
d9b0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\
d9c0: 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a  fts3\fts3_aux.c.
d9d0: 0a 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24  .fts3_expr.lo:.$
d9e0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
d9f0: 74 73 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52  ts3_expr.c $(HDR
da00: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
da10: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
da20: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
da30: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
da40: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
da50: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
da60: 65 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73  expr.c..fts3_has
da70: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  h.lo:.$(TOP)\ext
da80: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
da90: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
daa0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
dab0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
dac0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
dad0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
dae0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts
daf0: 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66  3\fts3_hash.c..f
db00: 74 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f  ts3_icu.lo:.$(TO
db10: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
db20: 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28  _icu.c $(HDR) $(
db30: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
db40: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM
db50: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_
db60: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
db70: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex
db80: 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e  t\fts3\fts3_icu.
db90: 63 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  c..fts3_snippet.
dba0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f
dbb0: 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74  ts3\fts3_snippet
dbc0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
dbd0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
dbe0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
dbf0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
dc00: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
dc10: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
dc20: 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  s3\fts3_snippet.
dc30: 63 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c  c..fts3_porter.l
dc40: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
dc50: 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63  s3\fts3_porter.c
dc60: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
dc70: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
dc80: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
dc90: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
dca0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
dcb0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
dcc0: 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a  \fts3_porter.c..
dcd0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c  fts3_tokenizer.l
dce0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
dcf0: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
dd00: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR) $(EXT
dd10: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
dd20: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL
dd30: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR
dd40: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
dd50: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f
dd60: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
dd70: 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e  er.c..fts3_token
dd80: 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  izer1.lo:.$(TOP)
dd90: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
dda0: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44  okenizer1.c $(HD
ddb0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
ddc0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR
ddd0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS) 
dde0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
ddf0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO
de00: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
de10: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66  _tokenizer1.c..f
de20: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
de30: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  b.lo:.$(TOP)\ext
de40: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
de50: 69 7a 65 5f 76 74 61 62 2e 63 20 24 28 48 44 52  ize_vtab.c $(HDR
de60: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
de70: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE
de80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $
de90: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
dea0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
deb0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
dec0: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a  tokenize_vtab.c.
ded0: 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f  .fts3_unicode.lo
dee0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts
def0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63  3\fts3_unicode.c
df00: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
df10: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
df20: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
df30: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
df40: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
df50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3
df60: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a  \fts3_unicode.c.
df70: 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c  .fts3_unicode2.l
df80: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
df90: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32  s3\fts3_unicode2
dfa0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
dfb0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
dfc0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE
dfd0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN
dfe0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
dff0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft
e000: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32  s3\fts3_unicode2
e010: 2e 63 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c  .c..fts3_write.l
e020: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft
e030: 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20  s3\fts3_write.c 
e040: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
e050: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
e060: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e070: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) -
e080: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
e090: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\
e0a0: 66 74 73 33 5f 77 72 69 74 65 2e 63 0a 0a 72 74  fts3_write.c..rt
e0b0: 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ree.lo:.$(TOP)\e
e0c0: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
e0d0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR) $(EXTHDR
e0e0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
e0f0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O
e100: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) 
e110: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
e120: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre
e130: 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69 74  e\rtree.c..sqlit
e140: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28  e3session.lo:.$(
e150: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
e160: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
e170: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
e180: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e190: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_
e1a0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN)
e1b0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
e1c0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73  c $(TOP)\ext\ses
e1d0: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
e1e0: 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74 68  ion.c..# FTS5 th
e1f0: 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43 20  ings.#.FTS5_SRC 
e200: 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  = \.   $(TOP)\ex
e210: 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a  t\fts5\fts5.h \.
e220: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
e230: 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20  s5\fts5Int.h \. 
e240: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
e250: 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20  5\fts5_aux.c \. 
e260: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts
e270: 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63 20  5\fts5_buffer.c 
e280: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\
e290: 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63  fts5\fts5_main.c
e2a0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext
e2b0: 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69  \fts5\fts5_confi
e2c0: 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  g.c \.   $(TOP)\
e2d0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65 78  ext\fts5\fts5_ex
e2e0: 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  pr.c \.   $(TOP)
e2f0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 68  \ext\fts5\fts5_h
e300: 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ash.c \.   $(TOP
e310: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
e320: 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74 73  index.c \.   fts
e330: 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 61 72  5parse.c fts5par
e340: 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  se.h \.   $(TOP)
e350: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 73  \ext\fts5\fts5_s
e360: 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24 28  torage.c \.   $(
e370: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
e380: 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a  s5_tokenize.c \.
e390: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft
e3a0: 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65 32  s5\fts5_unicode2
e3b0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e
e3c0: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61 72  xt\fts5\fts5_var
e3d0: 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  int.c \.   $(TOP
e3e0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
e3f0: 76 6f 63 61 62 2e 63 0a 0a 66 74 73 35 70 61 72  vocab.c..fts5par
e400: 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 65 78 74  se.c:.$(TOP)\ext
e410: 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e  \fts5\fts5parse.
e420: 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70  y lemon.exe..cop
e430: 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  y $(TOP)\ext\fts
e440: 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20 2e 0a  5\fts5parse.y ..
e450: 09 64 65 6c 20 2f 51 20 66 74 73 35 70 61 72 73  .del /Q fts5pars
e460: 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d  e.h 2>NUL...\lem
e470: 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41  on.exe $(REQ_FEA
e480: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP
e490: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
e4a0: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46   $(EXT_FEATURE_F
e4b0: 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 66 74  LAGS) $(OPTS) ft
e4c0: 73 35 70 61 72 73 65 2e 79 0a 0a 66 74 73 35 70  s5parse.y..fts5p
e4d0: 61 72 73 65 2e 68 3a 09 66 74 73 35 70 61 72 73  arse.h:.fts5pars
e4e0: 65 2e 63 0a 0a 66 74 73 35 2e 63 3a 09 24 28 46  e.c..fts5.c:.$(F
e4f0: 54 53 35 5f 53 52 43 29 0a 09 24 28 54 43 4c 53  TS5_SRC)..$(TCLS
e500: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78  H_CMD) $(TOP)\ex
e510: 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74  t\fts5\tool\mkft
e520: 73 35 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28  s5c.tcl..copy $(
e530: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
e540: 73 35 2e 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a  s5.h ...fts5.lo:
e550: 09 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24  .fts5.c $(HDR) $
e560: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
e570: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO
e580: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO
e590: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
e5a0: 43 4f 52 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a  CORE -c fts5.c..
e5b0: 66 74 73 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 73  fts5_ext.lo:.fts
e5c0: 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  5.c $(HDR) $(EXT
e5d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
e5e0: 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63  E) $(NO_WARN) -c
e5f0: 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 2e 64 6c   fts5.c..fts5.dl
e600: 6c 3a 09 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 09  l:.fts5_ext.lo..
e610: 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29  $(LD) $(LDFLAGS)
e620: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS) $
e630: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c  (LTLIBPATHS) /DL
e640: 4c 20 2f 4f 55 54 3a 24 40 20 66 74 73 35 5f 65  L /OUT:$@ fts5_e
e650: 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65 33 72 62  xt.lo..sqlite3rb
e660: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext
e670: 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e  \rbu\sqlite3rbu.
e680: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR) $(EXTHD
e690: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
e6a0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
e6b0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  c $(TOP)\ext\rbu
e6c0: 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 0a 0a 23  \sqlite3rbu.c..#
e6d0: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
e6e0: 74 68 65 20 27 74 65 73 74 66 69 78 74 75 72 65  the 'testfixture
e6f0: 27 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23  ' application..#
e700: 0a 23 20 49 66 20 75 73 69 6e 67 20 74 68 65 20  .# If using the 
e710: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 73  amalgamation, us
e720: 65 20 73 71 6c 69 74 65 33 2e 63 20 64 69 72 65  e sqlite3.c dire
e730: 63 74 6c 79 20 74 6f 20 62 75 69 6c 64 20 74 68  ctly to build th
e740: 65 20 74 65 73 74 0a 23 20 66 69 78 74 75 72 65  e test.# fixture
e750: 2e 20 20 4f 74 68 65 72 77 69 73 65 20 6c 69 6e  .  Otherwise lin
e760: 6b 20 61 67 61 69 6e 73 74 20 6c 69 62 73 71 6c  k against libsql
e770: 69 74 65 33 2e 6c 69 62 2e 20 20 28 54 68 69 73  ite3.lib.  (This
e780: 20 64 69 73 74 69 6e 63 74 69 6f 6e 20 69 73 0a   distinction is.
e790: 23 20 6e 65 63 65 73 73 61 72 79 20 62 65 63 61  # necessary beca
e7a0: 75 73 65 20 74 68 65 20 74 65 73 74 20 66 69 78  use the test fix
e7b0: 74 75 72 65 20 72 65 71 75 69 72 65 73 20 6e 6f  ture requires no
e7c0: 6e 2d 41 50 49 20 73 79 6d 62 6f 6c 73 20 77 68  n-API symbols wh
e7d0: 69 63 68 20 61 72 65 0a 23 20 68 69 64 64 65 6e  ich are.# hidden
e7e0: 20 77 68 65 6e 20 74 68 65 20 6c 69 62 72 61 72   when the librar
e7f0: 79 20 69 73 20 62 75 69 6c 74 20 76 69 61 20 74  y is built via t
e800: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29  he amalgamation)
e810: 2e 0a 23 0a 54 45 53 54 46 49 58 54 55 52 45 5f  ..#.TESTFIXTURE_
e820: 46 4c 41 47 53 20 3d 20 2d 44 54 43 4c 53 48 3d  FLAGS = -DTCLSH=
e830: 31 20 2d 44 53 51 4c 49 54 45 5f 54 45 53 54 3d  1 -DSQLITE_TEST=
e840: 31 20 2d 44 53 51 4c 49 54 45 5f 43 52 41 53 48  1 -DSQLITE_CRASH
e850: 5f 54 45 53 54 3d 31 0a 54 45 53 54 46 49 58 54  _TEST=1.TESTFIXT
e860: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE
e870: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
e880: 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 56 45 52   -DSQLITE_SERVER
e890: 3d 31 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 56  =1 -DSQLITE_PRIV
e8a0: 41 54 45 3d 22 22 0a 54 45 53 54 46 49 58 54 55  ATE="".TESTFIXTU
e8b0: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES
e8c0: 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS) 
e8d0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 24 28  -DSQLITE_CORE $(
e8e0: 4e 4f 5f 57 41 52 4e 29 0a 54 45 53 54 46 49 58  NO_WARN).TESTFIX
e8f0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54  TURE_FLAGS = $(T
e900: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
e910: 29 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 49 45  ) -DSQLITE_SERIE
e920: 53 5f 43 4f 4e 53 54 52 41 49 4e 54 5f 56 45 52  S_CONSTRAINT_VER
e930: 49 46 59 3d 31 0a 54 45 53 54 46 49 58 54 55 52  IFY=1.TESTFIXTUR
e940: 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST
e950: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FIXTURE_FLAGS) -
e960: 44 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f  DSQLITE_DEFAULT_
e970: 50 41 47 45 5f 53 49 5a 45 3d 31 30 32 34 0a 54  PAGE_SIZE=1024.T
e980: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
e990: 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE
e9a0: 5f 46 4c 41 47 53 29 20 24 28 54 45 53 54 5f 43  _FLAGS) $(TEST_C
e9b0: 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45 53 54  CONV_OPTS)..TEST
e9c0: 46 49 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24  FIXTURE_SRC0 = $
e9d0: 28 54 45 53 54 45 58 54 29 20 24 28 54 45 53 54  (TESTEXT) $(TEST
e9e0: 53 52 43 32 29 0a 54 45 53 54 46 49 58 54 55 52  SRC2).TESTFIXTUR
e9f0: 45 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54 45  E_SRC1 = $(TESTE
ea00: 58 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 0a  XT) $(SQLITE3C).
ea10: 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  !IF $(USE_AMALGA
ea20: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46  MATION)==0.TESTF
ea30: 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54  IXTURE_SRC = $(T
ea40: 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73  ESTSRC) $(TOP)\s
ea50: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $
ea60: 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  (TESTFIXTURE_SRC
ea70: 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49 58  0).!ELSE.TESTFIX
ea80: 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53  TURE_SRC = $(TES
ea90: 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63  TSRC) $(TOP)\src
eaa0: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54  \tclsqlite.c $(T
eab0: 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 29  ESTFIXTURE_SRC1)
eac0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 55  .!ENDIF..!IF $(U
ead0: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
eae0: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!=
eaf0: 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c  0.sqlite_tclDecl
eb00: 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64  s.h:..echo #ifnd
eb10: 65 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  ef SQLITE_TCLAPI
eb20: 20 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45   > $(SQLITETCLDE
eb30: 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 20 20 64  CLSH)..echo #  d
eb40: 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c  efine SQLITE_TCL
eb50: 41 50 49 20 3e 3e 20 24 28 53 51 4c 49 54 45 54  API >> $(SQLITET
eb60: 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20  CLDECLSH)..echo 
eb70: 23 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 4c 49  #endif >> $(SQLI
eb80: 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 74 79  TETCLDECLSH)..ty
eb90: 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29  pe "$(TCLINCDIR)
eba0: 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09  \tclDecls.h" \..
ebb0: 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 
ebc0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl
ebd0: 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
ebe0: 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53  ^(EXTERN(?: CONS
ebf0: 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d  T\d+?)?\s+?[^\(]
ec00: 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31  *?\s+?)Tcl_" "\1
ec10: 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54   SQLITE_TCLAPI T
ec20: 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c  cl_" \...| $(TCL
ec30: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t
ec40: 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl 
ec50: 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e  regsub "^(EXTERN
ec60: 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44  \s+?(?:void|VOID
ec70: 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a  )\s+?)TclFreeObj
ec80: 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c  " "\1 SQLITE_TCL
ec90: 41 50 49 20 54 63 6c 46 72 65 65 4f 62 6a 22 20  API TclFreeObj" 
eca0: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM
ecb0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r
ecc0: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
ecd0: 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53  b "\(\*tcl_" "(S
ece0: 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 63  QLITE_TCLAPI *tc
ecf0: 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  l_" \...| $(TCLS
ed00: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
ed10: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
ed20: 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72  egsub "\(\*tclFr
ed30: 65 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 45 5f  eeObj" "(SQLITE_
ed40: 54 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 65 4f  TCLAPI *tclFreeO
ed50: 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  bj" \...| $(TCLS
ed60: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to
ed70: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
ed80: 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53  egsub "\(\*" "(S
ed90: 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 22 20  QLITE_TCLAPI *" 
eda0: 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45  >> $(SQLITETCLDE
edb0: 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f 74 63  CLSH)..sqlite_tc
edc0: 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24 28 54 43  l.h:..type "$(TC
edd0: 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 20  LINCDIR)\tcl.h" 
ede0: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD) $
edf0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
ee00: 63 65 2e 74 63 6c 20 65 78 61 63 74 20 74 63 6c  ce.tcl exact tcl
ee10: 44 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74  Decls.h sqlite_t
ee20: 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20  clDecls.h \...| 
ee30: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
ee40: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
ee50: 2e 74 63 6c 20 72 65 67 73 75 62 20 22 74 79 70  .tcl regsub "typ
ee60: 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f  edef (.*?)\(Tcl_
ee70: 22 20 22 74 79 70 65 64 65 66 20 5c 31 20 28 53  " "typedef \1 (S
ee80: 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c  QLITE_TCLAPI Tcl
ee90: 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  _" \...| $(TCLSH
eea0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too
eeb0: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
eec0: 61 63 74 20 22 76 6f 69 64 20 28 2a 66 72 65 65  act "void (*free
eed0: 50 72 6f 63 29 22 20 22 76 6f 69 64 20 28 53 51  Proc)" "void (SQ
eee0: 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 65  LITE_TCLAPI *fre
eef0: 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28  eProc)" \...| $(
ef00: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP
ef10: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
ef20: 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61  cl exact "Tcl_Ha
ef30: 73 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50  shEntry *(*findP
ef40: 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45  roc)" "Tcl_HashE
ef50: 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43  ntry *(SQLITE_TC
ef60: 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 22  LAPI *findProc)"
ef70: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C
ef80: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
ef90: 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
efa0: 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79  t "Tcl_HashEntry
efb0: 20 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 29 22   *(*createProc)"
efc0: 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20   "Tcl_HashEntry 
efd0: 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  *(SQLITE_TCLAPI 
efe0: 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 3e 3e  *createProc)" >>
eff0: 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21   $(SQLITETCLH).!
f000: 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75  ENDIF..testfixtu
f010: 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49  re.exe:.$(TESTFI
f020: 58 54 55 52 45 5f 53 52 43 29 20 24 28 53 51 4c  XTURE_SRC) $(SQL
f030: 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f  ITE3H) $(LIBRESO
f040: 42 4a 53 29 20 24 28 48 44 52 29 20 24 28 53 51  BJS) $(HDR) $(SQ
f050: 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24  LITE_TCL_DEP)..$
f060: 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54  (LTLINK) -DSQLIT
f070: 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45  E_NO_SYNC=1 $(TE
f080: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
f090: 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c   \...-DBUILD_sql
f0a0: 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI
f0b0: 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46 49 58  R) \...$(TESTFIX
f0c0: 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c  TURE_SRC) \.../l
f0d0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS) $
f0e0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L
f0f0: 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB
f100: 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42  RESOBJS) $(LTLIB
f110: 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 65 78 74  S) $(TLIBS)..ext
f120: 65 6e 73 69 6f 6e 74 65 73 74 3a 09 74 65 73 74  ensiontest:.test
f130: 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74  fixture.exe test
f140: 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40 73 65  loadext.dll..@se
f150: 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP
f160: 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\
f170: 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe 
f180: 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f 61 64  $(TOP)\test\load
f190: 65 78 74 2e 74 65 73 74 20 24 28 54 45 53 54 4f  ext.test $(TESTO
f1a0: 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 3a 09  PTS)..fulltest:.
f1b0: 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a  $(TESTPROGS) fuz
f1c0: 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48  ztest..@set PATH
f1d0: 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
f1e0: 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
f1f0: 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP)
f200: 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 24  \test\all.test $
f210: 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f 61 6b  (TESTOPTS)..soak
f220: 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47  test:.$(TESTPROG
f230: 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  S)..@set PATH=$(
f240: 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA
f250: 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
f260: 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te
f270: 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73 6f 61  st\all.test -soa
f280: 6b 3d 31 20 24 28 54 45 53 54 4f 50 54 53 29 0a  k=1 $(TESTOPTS).
f290: 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 24  .fulltestonly:.$
f2a0: 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a  (TESTPROGS) fuzz
f2b0: 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d  test..@set PATH=
f2c0: 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
f2d0: 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
f2e0: 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
f2f0: 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a  test\full.test..
f300: 71 75 65 72 79 70 6c 61 6e 74 65 73 74 3a 09 74  queryplantest:.t
f310: 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 73  estfixture.exe s
f320: 68 65 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d  hell..@set PATH=
f330: 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
f340: 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
f350: 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\
f360: 74 65 73 74 5c 70 65 72 6d 75 74 61 74 69 6f 6e  test\permutation
f370: 73 2e 74 65 73 74 20 71 75 65 72 79 70 6c 61 6e  s.test queryplan
f380: 6e 65 72 20 24 28 54 45 53 54 4f 50 54 53 29 0a  ner $(TESTOPTS).
f390: 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63  .fuzztest:.fuzzc
f3a0: 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a  heck.exe...\fuzz
f3b0: 63 68 65 63 6b 2e 65 78 65 20 24 28 46 55 5a 5a  check.exe $(FUZZ
f3c0: 44 41 54 41 29 0a 0a 66 61 73 74 66 75 7a 7a 74  DATA)..fastfuzzt
f3d0: 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65  est:.fuzzcheck.e
f3e0: 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e  xe...\fuzzcheck.
f3f0: 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20  exe --limit-mem 
f400: 31 30 30 4d 20 24 28 46 55 5a 5a 44 41 54 41 29  100M $(FUZZDATA)
f410: 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74  ..# Minimal test
f420: 69 6e 67 20 74 68 61 74 20 72 75 6e 73 20 69 6e  ing that runs in
f430: 20 6c 65 73 73 20 74 68 61 6e 20 33 20 6d 69 6e   less than 3 min
f440: 75 74 65 73 20 28 6f 6e 20 61 20 66 61 73 74 20  utes (on a fast 
f450: 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 69 63 6b  machine).#.quick
f460: 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72  test:.testfixtur
f470: 65 2e 65 78 65 20 73 6f 75 72 63 65 74 65 73 74  e.exe sourcetest
f480: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
f490: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
f4a0: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
f4b0: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
f4c0: 5c 65 78 74 72 61 71 75 69 63 6b 2e 74 65 73 74  \extraquick.test
f4d0: 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 23 20   $(TESTOPTS)..# 
f4e0: 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d  This is the comm
f4f0: 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e 20 6d 61  on case.  Run ma
f500: 6e 79 20 74 65 73 74 73 20 74 68 61 74 20 64 6f  ny tests that do
f510: 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c 6f   not take too lo
f520: 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67 20  ng,.# including 
f530: 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69 74  fuzzcheck, sqlit
f540: 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e 64  e3_analyzer, and
f550: 20 73 71 6c 64 69 66 66 20 74 65 73 74 73 2e 0a   sqldiff tests..
f560: 23 0a 74 65 73 74 3a 09 24 28 54 45 53 54 50 52  #.test:.$(TESTPR
f570: 4f 47 53 29 20 73 6f 75 72 63 65 74 65 73 74 20  OGS) sourcetest 
f580: 66 61 73 74 66 75 7a 7a 74 65 73 74 0a 09 40 73  fastfuzztest..@s
f590: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL
f5a0: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)...
f5b0: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
f5c0: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 76 65 72   $(TOP)\test\ver
f5d0: 79 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 45  yquick.test $(TE
f5e0: 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65  STOPTS)..smokete
f5f0: 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS)
f600: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI
f610: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH
f620: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
f630: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test
f640: 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28 54 45 53  \main.test $(TES
f650: 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f  TOPTS)..sqlite3_
f660: 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 28 53 51  analyzer.c:.$(SQ
f670: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
f680: 33 48 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  3H) $(TOP)\src\t
f690: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50  clsqlite.c $(TOP
f6a0: 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c  )\tool\spaceanal
f6b0: 2e 74 63 6c 20 24 28 53 51 4c 49 54 45 5f 54 43  .tcl $(SQLITE_TC
f6c0: 4c 5f 44 45 50 29 0a 09 65 63 68 6f 20 23 64 65  L_DEP)..echo #de
f6d0: 66 69 6e 65 20 54 43 4c 53 48 20 32 20 3e 20 24  fine TCLSH 2 > $
f6e0: 40 0a 09 65 63 68 6f 20 23 64 65 66 69 6e 65 20  @..echo #define 
f6f0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42  SQLITE_ENABLE_DB
f700: 53 54 41 54 5f 56 54 41 42 20 31 20 3e 3e 20 24  STAT_VTAB 1 >> $
f710: 40 0a 09 63 6f 70 79 20 24 40 20 2b 20 24 28 53  @..copy $@ + $(S
f720: 51 4c 49 54 45 33 43 29 20 2b 20 24 28 54 4f 50  QLITE3C) + $(TOP
f730: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
f740: 63 20 24 40 0a 09 65 63 68 6f 20 73 74 61 74 69  c $@..echo stati
f750: 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 63  c const char *tc
f760: 6c 73 68 5f 6d 61 69 6e 5f 6c 6f 6f 70 28 76 6f  lsh_main_loop(vo
f770: 69 64 29 7b 20 3e 3e 20 24 40 0a 09 65 63 68 6f  id){ >> $@..echo
f780: 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 63 68   static const ch
f790: 61 72 20 2a 7a 4d 61 69 6e 6c 6f 6f 70 20 3d 20  ar *zMainloop = 
f7a0: 3e 3e 20 24 40 0a 09 24 28 54 43 4c 53 48 5f 43  >> $@..$(TCLSH_C
f7b0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\
f7c0: 74 6f 73 74 72 2e 74 63 6c 20 24 28 54 4f 50 29  tostr.tcl $(TOP)
f7d0: 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e  \tool\spaceanal.
f7e0: 74 63 6c 20 3e 3e 20 24 40 0a 09 65 63 68 6f 20  tcl >> $@..echo 
f7f0: 3b 20 72 65 74 75 72 6e 20 7a 4d 61 69 6e 6c 6f  ; return zMainlo
f800: 6f 70 3b 20 7d 20 3e 3e 20 24 40 0a 0a 73 71 6c  op; } >> $@..sql
f810: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78  ite3_analyzer.ex
f820: 65 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  e:.sqlite3_analy
f830: 7a 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42  zer.c $(LIBRESOB
f840: 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  JS)..$(LTLINK) $
f850: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c  (NO_WARN) -DBUIL
f860: 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c  D_sqlite -I$(TCL
f870: 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f  INCDIR) sqlite3_
f880: 61 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09 2f  analyzer.c \.../
f890: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
f8a0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS) $(
f8b0: 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49  LTLIBPATHS) $(LI
f8c0: 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI
f8d0: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 74 65  BS) $(TLIBS)..te
f8e0: 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28  stloadext.lo:.$(
f8f0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f  TOP)\src\test_lo
f900: 61 64 65 78 74 2e 63 0a 09 24 28 4c 54 43 4f 4d  adext.c..$(LTCOM
f910: 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN)
f920: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t
f930: 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a 74  est_loadext.c..t
f940: 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a 09  estloadext.dll:.
f950: 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09  testloadext.lo..
f960: 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29  $(LD) $(LDFLAGS)
f970: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS) $
f980: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c  (LTLIBPATHS) /DL
f990: 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c 6f  L /OUT:$@ testlo
f9a0: 61 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f 77 64 62  adext.lo..showdb
f9b0: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
f9c0: 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c  l\showdb.c $(SQL
f9d0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3
f9e0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK) $(
f9f0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
fa00: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
fa10: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
fa20: 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24  D_EXTENSION -Fe$
fa30: 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  @ \...$(TOP)\too
fa40: 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c  l\showdb.c $(SQL
fa50: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L
fa60: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK
fa70: 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74 61 74 34  OPTS)..showstat4
fa80: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
fa90: 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28  l\showstat4.c $(
faa0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI
fab0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK)
fac0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ
fad0: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
fae0: 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
faf0: 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d  LOAD_EXTENSION -
fb00: 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c  Fe$@ \...$(TOP)\
fb10: 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63  tool\showstat4.c
fb20: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li
fb30: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS) $(
fb40: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f  LTLINKOPTS)..sho
fb50: 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a 09 24 28  wjournal.exe:.$(
fb60: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f  TOP)\tool\showjo
fb70: 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45  urnal.c $(SQLITE
fb80: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H).
fb90: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK) $(NO_
fba0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
fbb0: 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
fbc0: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
fbd0: 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c  XTENSION -Fe$@ \
fbe0: 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s
fbf0: 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53  howjournal.c $(S
fc00: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
fc10: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
fc20: 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c  NKOPTS)..showwal
fc30: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too
fc40: 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51  l\showwal.c $(SQ
fc50: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE
fc60: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK) $
fc70: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
fc80: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0 
fc90: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
fca0: 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65  AD_EXTENSION -Fe
fcb0: 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  $@ \...$(TOP)\to
fcc0: 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53  ol\showwal.c $(S
fcd0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $
fce0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI
fcf0: 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67 65 73  NKOPTS)..changes
fd00: 65 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65  et.exe:.$(TOP)\e
fd10: 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67  xt\session\chang
fd20: 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33  eset.c $(SQLITE3
fd30: 43 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  C)..$(LTLINK) $(
fd40: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
fd50: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
fd60: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
fd70: 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24  D_EXTENSION -Fe$
fd80: 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74  @ \...$(TOP)\ext
fd90: 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73  \session\changes
fda0: 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  et.c $(SQLITE3C)
fdb0: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS
fdc0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS).
fdd0: 0a 66 74 73 33 76 69 65 77 2e 65 78 65 3a 09 24  .fts3view.exe:.$
fde0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74  (TOP)\ext\fts3\t
fdf0: 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24  ool\fts3view.c $
fe00: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
fe10: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK
fe20: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS
fe30: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
fe40: 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
fe50: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
fe60: 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29  -Fe$@ \...$(TOP)
fe70: 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66  \ext\fts3\tool\f
fe80: 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49  ts3view.c $(SQLI
fe90: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
fea0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
feb0: 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74  PTS)..rollback-t
fec0: 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  est.exe:.$(TOP)\
fed0: 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65  tool\rollback-te
fee0: 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  st.c $(SQLITE3C)
fef0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
ff00: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
ff10: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  N) -DSQLITE_THRE
ff20: 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54  ADSAFE=0 -DSQLIT
ff30: 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
ff40: 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09  NSION -Fe$@ \...
ff50: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c  $(TOP)\tool\roll
ff60: 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51  back-test.c $(SQ
ff70: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $(
ff80: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN
ff90: 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65  KOPTS)..LogEst.e
ffa0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\
ffb0: 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54  logest.c $(SQLIT
ffc0: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
ffd0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40  $(NO_WARN) -Fe$@
ffe0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67   $(TOP)\tool\Log
fff0: 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44  Est.c /link $(LD
10000 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
10010 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e  PTS)..wordcount.
10020 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74  exe:.$(TOP)\test
10030 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53  \wordcount.c $(S
10040 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT
10050 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 
10060 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL
10070 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
10080 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
10090 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46  OAD_EXTENSION -F
100a0 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  e$@ \...$(TOP)\t
100b0 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20  est\wordcount.c 
100c0 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin
100d0 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS) $(L
100e0 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 70 65 65  TLINKOPTS)..spee
100f0 64 74 65 73 74 31 2e 65 78 65 3a 09 24 28 54 4f  dtest1.exe:.$(TO
10100 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73  P)\test\speedtes
10110 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  t1.c $(SQLITE3C)
10120 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
10130 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR
10140 4e 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  N) -DSQLITE_OMIT
10150 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION 
10160 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29  -Fe$@ \...$(TOP)
10170 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 31  \test\speedtest1
10180 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) /
10190 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 
101a0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72  $(LTLINKOPTS)..r
101b0 62 75 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65  bu.exe:.$(TOP)\e
101c0 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 54  xt\rbu\rbu.c $(T
101d0 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69  OP)\ext\rbu\sqli
101e0 74 65 33 72 62 75 2e 63 20 24 28 53 51 4c 49 54  te3rbu.c $(SQLIT
101f0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H)
10200 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK) $(NO
10210 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
10220 45 4e 41 42 4c 45 5f 52 42 55 20 2d 46 65 24 40  ENABLE_RBU -Fe$@
10230 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c   \...$(TOP)\ext\
10240 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 4c 49  rbu\rbu.c $(SQLI
10250 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD
10260 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO
10270 50 54 53 29 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a  PTS)..moreclean:
10280 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f 51 20 24  .clean..del /Q $
10290 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL
102a0 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a 23 20 3c  ITE3H) 2>NUL.# <
102b0 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a  </mark>>..clean:
102c0 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78 70 20 2a  ..del /Q *.exp *
102d0 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20  .lo *.ilk *.lib 
102e0 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64  *.obj *.ncb *.pd
102f0 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f 20 32 3e  b *.sdf *.suo 2>
10300 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e 62 73  NUL..del /Q *.bs
10310 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64 20 2a 2e  c *.def *.cod *.
10320 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67 20 2a 2e  da *.bb *.bbg *.
10330 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55  vc gmon.out 2>NU
10340 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49  L..del /Q $(SQLI
10350 54 45 33 45 58 45 29 20 24 28 53 51 4c 49 54 45  TE3EXE) $(SQLITE
10360 33 44 4c 4c 29 20 52 65 70 6c 61 63 65 2e 65 78  3DLL) Replace.ex
10370 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b  e 2>NUL.# <<mark
10380 3e 3e 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74  >>..del /Q sqlit
10390 65 33 2e 63 20 73 71 6c 69 74 65 33 2e 68 20 32  e3.c sqlite3.h 2
103a0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6f 70 63  >NUL..del /Q opc
103b0 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65 73 2e 68  odes.c opcodes.h
103c0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c   2>NUL..del /Q l
103d0 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e 63 20  emon.* lempar.c 
103e0 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64  parse.* 2>NUL..d
103f0 65 6c 20 2f 51 20 6d 6b 6b 65 79 77 6f 72 64 68  el /Q mkkeywordh
10400 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68 61 73  ash.* keywordhas
10410 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  h.h 2>NUL..del /
10420 51 20 6e 6f 74 61 73 68 61 72 65 64 6c 69 62 2e  Q notasharedlib.
10430 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20  * 2>NUL..-rmdir 
10440 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e 55 4c  /Q/S .deps 2>NUL
10450 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 6c  ..-rmdir /Q/S .l
10460 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69  ibs 2>NUL..-rmdi
10470 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55  r /Q/S tsrc 2>NU
10480 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61 72 67 65  L..del /Q .targe
10490 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55 4c 0a 09  t_source 2>NUL..
104a0 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c 69 74 65  del /Q tclsqlite
104b0 33 2e 65 78 65 20 24 28 53 51 4c 49 54 45 54 43  3.exe $(SQLITETC
104c0 4c 48 29 20 24 28 53 51 4c 49 54 45 54 43 4c 44  LH) $(SQLITETCLD
104d0 45 43 4c 53 48 29 20 32 3e 4e 55 4c 0a 09 64 65  ECLSH) 2>NUL..de
104e0 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64 65 78 74  l /Q testloadext
104f0 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .dll 2>NUL..del 
10500 2f 51 20 74 65 73 74 66 69 78 74 75 72 65 2e 65  /Q testfixture.e
10510 78 65 20 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c  xe test.db 2>NUL
10520 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45 73 74 2e  ..del /Q LogEst.
10530 65 78 65 20 66 74 73 33 76 69 65 77 2e 65 78 65  exe fts3view.exe
10540 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65   rollback-test.e
10550 78 65 20 73 68 6f 77 64 62 2e 65 78 65 20 32 3e  xe showdb.exe 2>
10560 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68 61 6e  NUL..del /Q chan
10570 67 65 73 65 74 2e 65 78 65 20 32 3e 4e 55 4c 0a  geset.exe 2>NUL.
10580 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f 75 72  .del /Q showjour
10590 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73 74 61 74  nal.exe showstat
105a0 34 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e 65 78  4.exe showwal.ex
105b0 65 20 73 70 65 65 64 74 65 73 74 31 2e 65 78 65  e speedtest1.exe
105c0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d   2>NUL..del /Q m
105d0 70 74 65 73 74 65 72 2e 65 78 65 20 77 6f 72 64  ptester.exe word
105e0 63 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e 65 78  count.exe rbu.ex
105f0 65 20 73 72 63 63 6b 31 2e 65 78 65 20 32 3e 4e  e srcck1.exe 2>N
10600 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74  UL..del /Q sqlit
10610 65 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a 2e 63  e3.c sqlite3-*.c
10620 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
10630 71 6c 69 74 65 33 72 63 2e 68 20 32 3e 4e 55 4c  qlite3rc.h 2>NUL
10640 0a 09 64 65 6c 20 2f 51 20 73 68 65 6c 6c 2e 63  ..del /Q shell.c
10650 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71   sqlite3ext.h sq
10660 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 20 32  lite3session.h 2
10670 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
10680 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78  ite3_analyzer.ex
10690 65 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  e sqlite3_analyz
106a0 65 72 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  er.c 2>NUL..del 
106b0 2f 51 20 73 71 6c 69 74 65 2d 2a 2d 6f 75 74 70  /Q sqlite-*-outp
106c0 75 74 2e 76 73 69 78 20 32 3e 4e 55 4c 0a 09 64  ut.vsix 2>NUL..d
106d0 65 6c 20 2f 51 20 66 75 7a 7a 65 72 73 68 65 6c  el /Q fuzzershel
106e0 6c 2e 65 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e  l.exe fuzzcheck.
106f0 65 78 65 20 73 71 6c 64 69 66 66 2e 65 78 65 20  exe sqldiff.exe 
10700 64 62 68 61 73 68 2e 65 78 65 20 32 3e 4e 55 4c  dbhash.exe 2>NUL
10710 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 2e 2a 20  ..del /Q fts5.* 
10720 66 74 73 35 70 61 72 73 65 2e 2a 20 32 3e 4e 55  fts5parse.* 2>NU
10730 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a        L.# <</mark>>.