/ Hex Artifact Content

Artifact c7e3548d5c9dc12bedf47366ca3f1438196f635d81f08fda44c6c1f290c4bcf8:

• File Makefile.msc — part of check-in [7129e468] at 2019-10-09 13:52:31 on branch makefile-cleanup — Use the "fuzztest" target in place of "fastfuzztest". (user: drh size: 79566) [more...]

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 31  USE_FULLWARN = 1
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 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS =
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U 06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a SE_FULLWARN)!=0. 0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35 NO_WARN = -wd405 0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30 4 -wd4055 -wd410 0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33 0 -wd4127 -wd413 0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38 0 -wd4152 -wd418 0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52 9 -wd4206.NO_WAR 0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d N =$(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 32 34 34 20 2d 77 64 34 33 30 35 20 2d  wd4244 -wd4305 -
0780: 77 64 34 33 30 36 20 2d 77 64 34 37 30 32 20 2d  wd4306 -wd4702 -
0790: 77 64 34 37 30 36 0a 21 45 4e 44 49 46 0a 21 45  wd4706.!ENDIF.!E
07a0: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
07b0: 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20 74 68   non-0 to use th
07c0: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 20  e library paths
07d0: 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e  and other option
07e0: 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 0a  s necessary for.
07f0: 23 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  # Windows Phone
0800: 38 2e 31 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55  8.1..#.!IFNDEF U
0810: 53 45 5f 57 50 38 31 5f 4f 50 54 53 0a 55 53 45  SE_WP81_OPTS.USE
0820: 5f 57 50 38 31 5f 4f 50 54 53 20 3d 20 30 0a 21  _WP81_OPTS = 0.!
0830: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0840: 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 70 6c 69 74  s non-0 to split
0850: 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d 61 6c   the SQLite amal
0860: 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20 69 6e  gamation file in
0870: 74 6f 20 63 68 75 6e 6b 73 20 74 6f 0a 23 20 62  to chunks to.# b
0880: 65 20 75 73 65 64 20 66 6f 72 20 64 65 62 75 67  e used for debug
0890: 67 69 6e 67 20 77 69 74 68 20 56 69 73 75 61 6c  ging with Visual
08a0: 20 53 74 75 64 69 6f 2e 0a 23 0a 21 49 46 4e 44   Studio..#.!IFND
08b0: 45 46 20 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d  EF SPLIT_AMALGAM
08c0: 41 54 49 4f 4e 0a 53 50 4c 49 54 5f 41 4d 41 4c  ATION.SPLIT_AMAL
08d0: 47 41 4d 41 54 49 4f 4e 20 3d 20 30 0a 21 45 4e  GAMATION = 0.!EN
08e0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
08f0: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0900: 20 74 6f 20 68 61 76 65 20 74 68 69 73 20 6d 61   to have this ma
0910: 6b 65 66 69 6c 65 20 61 73 73 75 6d 65 20 74 68  kefile assume th
0920: 65 20 54 63 6c 20 73 68 65 6c 6c 20 65 78 65 63  e Tcl shell exec
0930: 75 74 61 62 6c 65 0a 23 20 28 74 63 6c 73 68 2a  utable.# (tclsh*
0940: 2e 65 78 65 29 20 69 73 20 61 76 61 69 6c 61 62  .exe) is availab
0950: 6c 65 20 69 6e 20 74 68 65 20 50 41 54 48 2e 20  le in the PATH.
0960: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
0970: 73 20 69 73 20 64 69 73 61 62 6c 65 64 0a 23 20  s is disabled.#
0980: 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74  for compatibilit
0990: 79 20 77 69 74 68 20 6f 6c 64 65 72 20 62 75 69  y with older bui
09a0: 6c 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e  ld environments.
09b0: 20 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 6f    This setting o
09c0: 6e 6c 79 0a 23 20 61 70 70 6c 69 65 73 20 69 66  nly.# applies if
09d0: 20 54 43 4c 53 48 5f 43 4d 44 20 69 73 20 6e 6f   TCLSH_CMD is no
09e0: 74 20 73 65 74 20 6d 61 6e 75 61 6c 6c 79 2e 0a  t set manually..
09f0: 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 54 43  #.!IFNDEF USE_TC
0a00: 4c 53 48 5f 49 4e 5f 50 41 54 48 0a 55 53 45 5f  LSH_IN_PATH.USE_
0a10: 54 43 4c 53 48 5f 49 4e 5f 50 41 54 48 20 3d 20  TCLSH_IN_PATH =
0a20: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
0a30: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  this non-0 to us
0a40: 65 20 7a 6c 69 62 2c 20 70 6f 73 73 69 62 6c 79  e zlib, possibly
0a50: 20 63 6f 6d 70 69 6c 69 6e 67 20 69 74 20 66 72   compiling it fr
0a60: 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a  om source code..
0a70: 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 5a 4c  #.!IFNDEF USE_ZL
0a80: 49 42 0a 55 53 45 5f 5a 4c 49 42 20 3d 20 30 0a  IB.USE_ZLIB = 0.
0a90: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0aa0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 62 75 69 6c  is non-0 to buil
0ab0: 64 20 7a 6c 69 62 20 66 72 6f 6d 20 73 6f 75 72  d zlib from sour
0ac0: 63 65 20 63 6f 64 65 2e 20 20 54 68 69 73 20 69  ce code.  This i
0ad0: 73 20 65 6e 61 62 6c 65 64 20 62 79 0a 23 20 64  s enabled by.# d
0ae0: 65 66 61 75 6c 74 20 61 6e 64 20 69 6e 20 74 68  efault and in th
0af0: 61 74 20 63 61 73 65 20 69 74 20 77 69 6c 6c 20  at case it will
0b00: 62 65 20 61 73 73 75 6d 65 64 20 74 68 61 74 20  be assumed that
0b10: 74 68 65 20 5a 4c 49 42 44 49 52 20 6d 61 63 72  the ZLIBDIR macr
0b20: 6f 0a 23 20 70 6f 69 6e 74 73 20 74 6f 20 74 68  o.# points to th
0b30: 65 20 74 6f 70 2d 6c 65 76 65 6c 20 73 6f 75 72  e top-level sour
0b40: 63 65 20 63 6f 64 65 20 64 69 72 65 63 74 6f 72  ce code director
0b50: 79 20 66 6f 72 20 7a 6c 69 62 2e 0a 23 0a 21 49  y for zlib..#.!I
0b60: 46 4e 44 45 46 20 42 55 49 4c 44 5f 5a 4c 49 42  FNDEF BUILD_ZLIB
0b70: 0a 42 55 49 4c 44 5f 5a 4c 49 42 20 3d 20 31 0a  .BUILD_ZLIB = 1.
0b80: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0b90: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20  is non-0 to use
0ba0: 74 68 65 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61  the Internationa
0bb0: 6c 20 43 6f 6d 70 6f 6e 65 6e 74 73 20 66 6f 72  l Components for
0bc0: 20 55 6e 69 63 6f 64 65 20 28 49 43 55 29 2e 0a   Unicode (ICU)..
0bd0: 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 49 43  #.!IFNDEF USE_IC
0be0: 55 0a 55 53 45 5f 49 43 55 20 3d 20 30 0a 21 45  U.USE_ICU = 0.!E
0bf0: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
0c00: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0c10: 2d 30 20 74 6f 20 64 79 6e 61 6d 69 63 61 6c 6c  -0 to dynamicall
0c20: 79 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 4d 53  y link to the MS
0c30: 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61  VC runtime libra
0c40: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53  ry..#.!IFNDEF US
0c50: 45 5f 43 52 54 5f 44 4c 4c 0a 55 53 45 5f 43 52  E_CRT_DLL.USE_CR
0c60: 54 5f 44 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46  T_DLL = 0.!ENDIF
0c70: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0c80: 2d 30 20 74 6f 20 6c 69 6e 6b 20 74 6f 20 74 68  -0 to link to th
0c90: 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 79  e RPCRT4 library
0ca0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f  ..#.!IFNDEF USE_
0cb0: 52 50 43 52 54 34 5f 4c 49 42 0a 55 53 45 5f 52  RPCRT4_LIB.USE_R
0cc0: 50 43 52 54 34 5f 4c 49 42 20 3d 20 30 0a 21 45  PCRT4_LIB = 0.!E
0cd0: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
0ce0: 20 6e 6f 6e 2d 30 20 74 6f 20 67 65 6e 65 72 61   non-0 to genera
0cf0: 74 65 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65  te assembly code
0d00: 20 6c 69 73 74 69 6e 67 73 20 66 6f 72 20 74 68   listings for th
0d10: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 0a 23 20  e source code.#
0d20: 66 69 6c 65 73 2e 0a 23 0a 21 49 46 4e 44 45 46  files..#.!IFNDEF
0d30: 20 55 53 45 5f 4c 49 53 54 49 4e 47 53 0a 55 53   USE_LISTINGS.US
0d40: 45 5f 4c 49 53 54 49 4e 47 53 20 3d 20 30 0a 21  E_LISTINGS = 0.!
0d50: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0d60: 73 20 6e 6f 6e 2d 30 20 74 6f 20 61 74 74 65 6d  s non-0 to attem
0d70: 70 74 20 73 65 74 74 69 6e 67 20 74 68 65 20 6e  pt setting the n
0d80: 61 74 69 76 65 20 63 6f 6d 70 69 6c 65 72 20 61  ative compiler a
0d90: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 23 20 66  utomatically.# f
0da0: 6f 72 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  or cross-compili
0db0: 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c  ng the command l
0dc0: 69 6e 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65 64  ine tools needed
0dd0: 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f 6d 70   during the comp
0de0: 69 6c 61 74 69 6f 6e 0a 23 20 70 72 6f 63 65 73  ilation.# proces
0df0: 73 2e 0a 23 0a 21 49 46 4e 44 45 46 20 58 43 4f  s..#.!IFNDEF XCO
0e00: 4d 50 49 4c 45 0a 58 43 4f 4d 50 49 4c 45 20 3d  MPILE.XCOMPILE =
0e10: 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74   0.!ENDIF..# Set
0e20: 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75   this non-0 to u
0e30: 73 65 20 74 68 65 20 6e 61 74 69 76 65 20 6c 69  se the native li
0e40: 62 72 61 72 69 65 73 20 70 61 74 68 73 20 66 6f  braries paths fo
0e50: 72 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e  r cross-compilin
0e60: 67 0a 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20  g.# the command
0e70: 6c 69 6e 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65  line tools neede
0e80: 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f 6d  d during the com
0e90: 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73  pilation process
0ea0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f  ..#.!IFNDEF USE_
0eb0: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 0a  NATIVE_LIBPATHS.
0ec0: 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41  USE_NATIVE_LIBPA
0ed0: 54 48 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  THS = 0.!ENDIF..
0ee0: 23 20 53 65 74 20 74 68 69 73 20 30 20 74 6f 20  # Set this 0 to
0ef0: 73 6b 69 70 20 74 68 65 20 63 6f 6d 70 69 6c 69  skip the compili
0f00: 6e 67 20 61 6e 64 20 65 6d 62 65 64 64 69 6e 67  ng and embedding
0f10: 20 6f 66 20 76 65 72 73 69 6f 6e 20 72 65 73 6f   of version reso
0f20: 75 72 63 65 73 2e 0a 23 0a 21 49 46 4e 44 45 46  urces..#.!IFNDEF
0f30: 20 55 53 45 5f 52 43 0a 55 53 45 5f 52 43 20 3d   USE_RC.USE_RC =
0f40: 20 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74   1.!ENDIF..# Set
0f50: 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63   this non-0 to c
0f60: 6f 6d 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20  ompile binaries
0f70: 73 75 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65  suitable for the
0f80: 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65   WinRT environme
0f90: 6e 74 2e 0a 23 20 54 68 69 73 20 73 65 74 74 69  nt..# This setti
0fa0: 6e 67 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c  ng does not appl
0fb0: 79 20 74 6f 20 61 6e 79 20 62 69 6e 61 72 69 65  y to any binarie
0fc0: 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20 54  s that require T
0fd0: 63 6c 20 74 6f 20 6f 70 65 72 61 74 65 0a 23 20  cl to operate.#
0fe0: 70 72 6f 70 65 72 6c 79 20 28 69 2e 65 2e 20 74  properly (i.e. t
0ff0: 68 65 20 74 65 78 74 20 66 69 78 74 75 72 65 2c  he text fixture,
1000: 20 65 74 63 29 2e 0a 23 0a 21 49 46 4e 44 45 46   etc)..#.!IFNDEF
1010: 20 46 4f 52 5f 57 49 4e 52 54 0a 46 4f 52 5f 57   FOR_WINRT.FOR_W
1020: 49 4e 52 54 20 3d 20 30 0a 21 45 4e 44 49 46 0a  INRT = 0.!ENDIF.
1030: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
1040: 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69 6e  0 to compile bin
1050: 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20 66  aries suitable f
1060: 6f 72 20 74 68 65 20 55 57 50 20 65 6e 76 69 72  or the UWP envir
1070: 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68 69 73 20 73  onment..# This s
1080: 65 74 74 69 6e 67 20 64 6f 65 73 20 6e 6f 74 20  etting does not
1090: 61 70 70 6c 79 20 74 6f 20 61 6e 79 20 62 69 6e  apply to any bin
10a0: 61 72 69 65 73 20 74 68 61 74 20 72 65 71 75 69  aries that requi
10b0: 72 65 20 54 63 6c 20 74 6f 20 6f 70 65 72 61 74  re Tcl to operat
10c0: 65 0a 23 20 70 72 6f 70 65 72 6c 79 20 28 69 2e  e.# properly (i.
10d0: 65 2e 20 74 68 65 20 74 65 78 74 20 66 69 78 74  e. the text fixt
10e0: 75 72 65 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46  ure, etc)..#.!IF
10f0: 4e 44 45 46 20 46 4f 52 5f 55 57 50 0a 46 4f 52  NDEF FOR_UWP.FOR
1100: 5f 55 57 50 20 3d 20 30 0a 21 45 4e 44 49 46 0a  _UWP = 0.!ENDIF.
1110: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
1120: 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69 6e  0 to compile bin
1130: 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20 66  aries suitable f
1140: 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31  or the Windows 1
1150: 30 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49  0 platform..#.!I
1160: 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e 31 30 0a  FNDEF FOR_WIN10.
1170: 46 4f 52 5f 57 49 4e 31 30 20 3d 20 30 0a 21 45  FOR_WIN10 = 0.!E
1180: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
1190: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
11a0: 30 20 74 6f 20 73 6b 69 70 20 61 74 74 65 6d 70  0 to skip attemp
11b0: 74 69 6e 67 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72  ting to look for
11c0: 20 61 6e 64 2f 6f 72 20 6c 69 6e 6b 20 77 69 74   and/or link wit
11d0: 68 20 74 68 65 20 54 63 6c 0a 23 20 72 75 6e 74  h the Tcl.# runt
11e0: 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ime library..#.!
11f0: 49 46 4e 44 45 46 20 4e 4f 5f 54 43 4c 0a 4e 4f  IFNDEF NO_TCL.NO
1200: 5f 54 43 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  _TCL = 0.!ENDIF.
1210: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53  # <</mark>>..# S
1220: 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30  et this to non-0
1230: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
1240: 73 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 4e 44  se PDBs..#.!IFND
1250: 45 46 20 53 59 4d 42 4f 4c 53 0a 53 59 4d 42 4f  EF SYMBOLS.SYMBO
1260: 4c 53 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a 23  LS = 1.!ENDIF..#
1270: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
1280: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 53 51  -0 to use the SQ
1290: 4c 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68  Lite debugging h
12a0: 65 61 70 20 73 75 62 73 79 73 74 65 6d 2e 0a 23  eap subsystem..#
12b0: 0a 21 49 46 4e 44 45 46 20 4d 45 4d 44 45 42 55  .!IFNDEF MEMDEBU
12c0: 47 0a 4d 45 4d 44 45 42 55 47 20 3d 20 30 0a 21  G.MEMDEBUG = 0.!
12d0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
12e0: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
12f0: 65 20 74 68 65 20 57 69 6e 33 32 20 6e 61 74 69  e the Win32 nati
1300: 76 65 20 68 65 61 70 20 73 75 62 73 79 73 74 65  ve heap subsyste
1310: 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 57 49 4e  m..#.!IFNDEF WIN
1320: 33 32 48 45 41 50 0a 57 49 4e 33 32 48 45 41 50  32HEAP.WIN32HEAP
1330: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53   = 0.!ENDIF..# S
1340: 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30  et this to non-0
1350: 20 74 6f 20 65 6e 61 62 6c 65 20 4f 53 54 52 41   to enable OSTRA
1360: 43 45 28 29 20 6d 61 63 72 6f 73 2c 20 77 68 69  CE() macros, whi
1370: 63 68 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c  ch can be useful
1380: 20 77 68 65 6e 0a 23 20 64 65 62 75 67 67 69 6e   when.# debuggin
1390: 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4f 53 54  g..#.!IFNDEF OST
13a0: 52 41 43 45 0a 4f 53 54 52 41 43 45 20 3d 20 30  RACE.OSTRACE = 0
13b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
13c0: 68 69 73 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68  his to one of th
13d0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75  e following valu
13e0: 65 73 20 74 6f 20 65 6e 61 62 6c 65 20 76 61 72  es to enable var
13f0: 69 6f 75 73 20 64 65 62 75 67 67 69 6e 67 0a 23  ious debugging.#
1400: 20 66 65 61 74 75 72 65 73 2e 20 20 45 61 63 68   features.  Each
1410: 20 6c 65 76 65 6c 20 69 6e 63 6c 75 64 65 73 20   level includes
1420: 74 68 65 20 64 65 62 75 67 67 69 6e 67 20 6f 70  the debugging op
1430: 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65 20 70  tions from the p
1440: 72 65 76 69 6f 75 73 0a 23 20 6c 65 76 65 6c 73  revious.# levels
1450: 2e 20 20 43 75 72 72 65 6e 74 6c 79 2c 20 74 68  .  Currently, th
1460: 65 20 72 65 63 6f 67 6e 69 7a 65 64 20 76 61 6c  e recognized val
1470: 75 65 73 20 66 6f 72 20 44 45 42 55 47 20 61 72  ues for DEBUG ar
1480: 65 3a 0a 23 0a 23 20 30 20 3d 3d 20 4e 44 45 42  e:.#.# 0 == NDEB
1490: 55 47 3a 20 44 69 73 61 62 6c 65 73 20 61 73 73  UG: Disables ass
14a0: 65 72 74 28 29 20 61 6e 64 20 6f 74 68 65 72 20  ert() and other
14b0: 72 75 6e 74 69 6d 65 20 64 69 61 67 6e 6f 73 74  runtime diagnost
14c0: 69 63 73 2e 0a 23 20 31 20 3d 3d 20 53 51 4c 49  ics..# 1 == SQLI
14d0: 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52  TE_ENABLE_API_AR
14e0: 4d 4f 52 3a 20 65 78 74 72 61 20 61 74 74 65 6d  MOR: extra attem
14f0: 70 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69  pts to detect mi
1500: 73 75 73 65 20 6f 66 20 74 68 65 20 41 50 49 2e  suse of the API.
1510: 0a 23 20 32 20 3d 3d 20 44 69 73 61 62 6c 65 73  .# 2 == Disables
1520: 20 4e 44 45 42 55 47 20 61 6e 64 20 61 6c 6c 20   NDEBUG and all
1530: 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 6e  optimizations an
1540: 64 20 74 68 65 6e 20 65 6e 61 62 6c 65 73 20 50  d then enables P
1550: 44 42 73 2e 0a 23 20 33 20 3d 3d 20 53 51 4c 49  DBs..# 3 == SQLI
1560: 54 45 5f 44 45 42 55 47 3a 20 45 6e 61 62 6c 65  TE_DEBUG: Enable
1570: 73 20 76 61 72 69 6f 75 73 20 64 69 61 67 6e 6f  s various diagno
1580: 73 74 69 63 73 20 6d 65 73 73 61 67 65 73 20 61  stics messages a
1590: 6e 64 20 63 6f 64 65 2e 0a 23 20 34 20 3d 3d 20  nd code..# 4 ==
15a0: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c  SQLITE_WIN32_MAL
15b0: 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3a 20 56 61  LOC_VALIDATE: Va
15c0: 6c 69 64 61 74 65 20 74 68 65 20 57 69 6e 33 32  lidate the Win32
15d0: 20 6e 61 74 69 76 65 20 68 65 61 70 20 70 65 72   native heap per
15e0: 20 63 61 6c 6c 2e 0a 23 20 35 20 3d 3d 20 53 51   call..# 5 == SQ
15f0: 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52  LITE_DEBUG_OS_TR
1600: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1610: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 4f 53 54  put from the OST
1620: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1630: 20 36 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41   6 == SQLITE_ENA
1640: 42 4c 45 5f 49 4f 54 52 41 43 45 3a 20 45 6e 61  BLE_IOTRACE: Ena
1650: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1660: 20 74 68 65 20 49 4f 54 52 41 43 45 28 29 20 6d   the IOTRACE() m
1670: 61 63 72 6f 73 2e 0a 23 0a 21 49 46 4e 44 45 46  acros..#.!IFNDEF
1680: 20 44 45 42 55 47 0a 44 45 42 55 47 20 3d 20 30   DEBUG.DEBUG = 0
1690: 0a 21 45 4e 44 49 46 0a 0a 23 20 45 6e 61 62 6c  .!ENDIF..# Enabl
16a0: 65 20 75 73 65 20 6f 66 20 61 76 61 69 6c 61 62  e use of availab
16b0: 6c 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  le compiler opti
16c0: 6d 69 7a 61 74 69 6f 6e 73 3f 20 20 4e 6f 72 6d  mizations?  Norm
16d0: 61 6c 6c 79 2c 20 74 68 69 73 20 73 68 6f 75 6c  ally, this shoul
16e0: 64 20 62 65 0a 23 20 6e 6f 6e 2d 7a 65 72 6f 2e  d be.# non-zero.
16f0: 20 20 53 65 74 74 69 6e 67 20 74 68 69 73 20 74    Setting this t
1700: 6f 20 7a 65 72 6f 2c 20 74 68 75 73 20 64 69 73  o zero, thus dis
1710: 61 62 6c 69 6e 67 20 61 6c 6c 20 63 6f 6d 70 69  abling all compi
1720: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
1730: 73 2c 0a 23 20 63 61 6e 20 62 65 20 75 73 65 66  s,.# can be usef
1740: 75 6c 20 66 6f 72 20 74 65 73 74 69 6e 67 2e 0a  ul for testing..
1750: 23 0a 21 49 46 4e 44 45 46 20 4f 50 54 49 4d 49  #.!IFNDEF OPTIMI
1760: 5a 41 54 49 4f 4e 53 0a 4f 50 54 49 4d 49 5a 41  ZATIONS.OPTIMIZA
1770: 54 49 4f 4e 53 20 3d 20 32 0a 21 45 4e 44 49 46  TIONS = 2.!ENDIF
1780: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20  ..# Set this to
1790: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable
17a0: 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20  support for the
17b0: 73 65 73 73 69 6f 6e 20 65 78 74 65 6e 73 69 6f  session extensio
17c0: 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 45 53  n..#.!IFNDEF SES
17d0: 53 49 4f 4e 0a 53 45 53 53 49 4f 4e 20 3d 20 30  SION.SESSION = 0
17e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
17f0: 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  he source code f
1800: 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20 62  ile to be used b
1810: 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 61 6e  y executables an
1820: 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 65 6e  d libraries when
1830: 0a 23 20 74 68 65 79 20 6e 65 65 64 20 74 68 65  .# they need the
1840: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
1850: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33  .!IFNDEF SQLITE3
1860: 43 0a 21 49 46 20 24 28 53 50 4c 49 54 5f 41 4d  C.!IF $(SPLIT_AM 1870: 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 53 ALGAMATION)!=0.S 1880: 51 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65 QLITE3C = sqlite 1890: 33 2d 61 6c 6c 2e 63 0a 21 45 4c 53 45 0a 53 51 3-all.c.!ELSE.SQ 18a0: 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65 33 LITE3C = sqlite3 18b0: 2e 63 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 .c.!ENDIF.!ENDIF 18c0: 0a 0a 23 20 53 65 74 20 74 68 65 20 69 6e 63 6c ..# Set the incl 18d0: 75 64 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f ude code file to 18e0: 20 62 65 20 75 73 65 64 20 62 79 20 65 78 65 63 be used by exec 18f0: 75 74 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 utables and libr 1900: 61 72 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 aries when.# the 1910: 79 20 6e 65 65 64 20 53 51 4c 69 74 65 2e 0a 23 y need SQLite..# 1920: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 .!IFNDEF SQLITE3 1930: 48 0a 53 51 4c 49 54 45 33 48 20 3d 20 73 71 6c H.SQLITE3H = sql 1940: 69 74 65 33 2e 68 0a 21 45 4e 44 49 46 0a 0a 23 ite3.h.!ENDIF..# 1950: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d This is the nam 1960: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65 e to use for the 1970: 20 53 51 4c 69 74 65 20 64 79 6e 61 6d 69 63 20 SQLite dynamic 1980: 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 28 44 4c link library (DL 1990: 4c 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 L)..#.!IFNDEF SQ 19a0: 4c 49 54 45 33 44 4c 4c 0a 21 49 46 20 24 28 46 LITE3DLL.!IF$(F
19b0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c  OR_WIN10)!=0.SQL
19c0: 49 54 45 33 44 4c 4c 20 3d 20 77 69 6e 73 71 6c  ITE3DLL = winsql
19d0: 69 74 65 33 2e 64 6c 6c 0a 21 45 4c 53 45 0a 53  ite3.dll.!ELSE.S
19e0: 51 4c 49 54 45 33 44 4c 4c 20 3d 20 73 71 6c 69  QLITE3DLL = sqli
19f0: 74 65 33 2e 64 6c 6c 0a 21 45 4e 44 49 46 0a 21  te3.dll.!ENDIF.!
1a00: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1a10: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1a20: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite
1a30: 69 6d 70 6f 72 74 20 6c 69 62 72 61 72 79 20 28  import library (
1a40: 4c 49 42 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  LIB)..#.!IFNDEF
1a50: 53 51 4c 49 54 45 33 4c 49 42 0a 21 49 46 20 24  SQLITE3LIB.!IF $1a60: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 (FOR_WIN10)!=0.S 1a70: 51 4c 49 54 45 33 4c 49 42 20 3d 20 77 69 6e 73 QLITE3LIB = wins 1a80: 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53 45 qlite3.lib.!ELSE 1a90: 0a 53 51 4c 49 54 45 33 4c 49 42 20 3d 20 73 71 .SQLITE3LIB = sq 1aa0: 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4e 44 49 46 lite3.lib.!ENDIF 1ab0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 .!ENDIF..# This 1ac0: 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 is the name to u 1ad0: 73 65 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 se for the SQLit 1ae0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 e shell executab 1af0: 6c 65 20 28 45 58 45 29 2e 0a 23 0a 21 49 46 4e le (EXE)..#.!IFN 1b00: 44 45 46 20 53 51 4c 49 54 45 33 45 58 45 0a 21 DEF SQLITE3EXE.! 1b10: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 IF$(FOR_WIN10)!
1b20: 3d 30 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20  =0.SQLITE3EXE =
1b30: 77 69 6e 73 71 6c 69 74 65 33 73 68 65 6c 6c 2e  winsqlite3shell.
1b40: 65 78 65 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45  exe.!ELSE.SQLITE
1b50: 33 45 58 45 20 3d 20 73 71 6c 69 74 65 33 2e 65  3EXE = sqlite3.e
1b60: 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  xe.!ENDIF.!ENDIF
1b70: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the
1b80: 61 72 67 75 6d 65 6e 74 20 75 73 65 64 20 74 6f  argument used to
1b90: 20 73 65 74 20 74 68 65 20 70 72 6f 67 72 61 6d   set the program
1ba0: 20 64 61 74 61 62 61 73 65 20 28 50 44 42 29 20   database (PDB)
1bb0: 66 69 6c 65 20 66 6f 72 20 74 68 65 0a 23 20 53  file for the.# S
1bc0: 51 4c 69 74 65 20 73 68 65 6c 6c 20 65 78 65 63  QLite shell exec
1bd0: 75 74 61 62 6c 65 20 28 45 58 45 29 2e 0a 23 0a  utable (EXE)..#.
1be0: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 45  !IFNDEF SQLITE3E
1bf0: 58 45 50 44 42 0a 21 49 46 20 24 28 46 4f 52 5f  XEPDB.!IF $(FOR_ 1c00: 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 WIN10)!=0.SQLITE 1c10: 33 45 58 45 50 44 42 20 3d 0a 21 45 4c 53 45 0a 3EXEPDB =.!ELSE. 1c20: 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 3d 20 SQLITE3EXEPDB = 1c30: 2f 70 64 62 3a 73 71 6c 69 74 65 33 73 68 2e 70 /pdb:sqlite3sh.p 1c40: 64 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 db.!ENDIF.!ENDIF 1c50: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 ..# <<mark>>.# T 1c60: 68 65 73 65 20 61 72 65 20 74 68 65 20 6e 61 6d hese are the nam 1c70: 65 73 20 6f 66 20 74 68 65 20 63 75 73 74 6f 6d es of the custom 1c80: 69 7a 65 64 20 54 63 6c 20 68 65 61 64 65 72 20 ized Tcl header 1c90: 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 76 61 files used by va 1ca0: 72 69 6f 75 73 20 70 61 72 74 73 0a 23 20 6f 66 rious parts.# of 1cb0: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 77 this makefile w 1cc0: 68 65 6e 20 74 68 65 20 73 74 64 63 61 6c 6c 20 hen the stdcall 1cd0: 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 calling conventi 1ce0: 6f 6e 20 69 73 20 69 6e 20 75 73 65 2e 20 20 49 on is in use. I 1cf0: 74 20 69 73 20 6e 6f 74 0a 23 20 75 73 65 64 20 t is not.# used 1d00: 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 70 75 for any other pu 1d10: 72 70 6f 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 rpose..#.!IFNDEF 1d20: 20 53 51 4c 49 54 45 54 43 4c 48 0a 53 51 4c 49 SQLITETCLH.SQLI 1d30: 54 45 54 43 4c 48 20 3d 20 73 71 6c 69 74 65 5f TETCLH = sqlite_ 1d40: 74 63 6c 2e 68 0a 21 45 4e 44 49 46 0a 0a 21 49 tcl.h.!ENDIF..!I 1d50: 46 4e 44 45 46 20 53 51 4c 49 54 45 54 43 4c 44 FNDEF SQLITETCLD 1d60: 45 43 4c 53 48 0a 53 51 4c 49 54 45 54 43 4c 44 ECLSH.SQLITETCLD 1d70: 45 43 4c 53 48 20 3d 20 73 71 6c 69 74 65 5f 74 ECLSH = sqlite_t 1d80: 63 6c 44 65 63 6c 73 2e 68 0a 21 45 4e 44 49 46 clDecls.h.!ENDIF 1d90: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 ..# This is the 1da0: 6e 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 name to use for 1db0: 74 68 65 20 64 79 6e 61 6d 69 63 20 6c 69 6e 6b the dynamic link 1dc0: 20 6c 69 62 72 61 72 79 20 28 44 4c 4c 29 20 63 library (DLL) c 1dd0: 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 23 20 ontaining the.# 1de0: 54 63 6c 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 Tcl bindings for 1df0: 20 53 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 SQLite..#.!IFND 1e00: 45 46 20 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c EF SQLITE3TCLDLL 1e10: 0a 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 20 3d .SQLITE3TCLDLL = 1e20: 20 74 63 6c 73 71 6c 69 74 65 33 2e 64 6c 6c 0a tclsqlite3.dll. 1e30: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 !ENDIF..# These 1e40: 61 72 65 20 74 68 65 20 61 64 64 69 74 69 6f 6e are the addition 1e50: 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 74 20 al targets that 1e60: 74 68 65 20 74 61 72 67 65 74 73 20 74 68 61 74 the targets that 1e70: 20 69 6e 74 65 67 72 61 74 65 20 77 69 74 68 20 integrate with 1e80: 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72 61 72 the.# Tcl librar 1e90: 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 20 y should depend 1ea0: 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e on when compilin 1eb0: 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e 44 45 g, etc..#.!IFNDE 1ec0: 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 F SQLITE_TCL_DEP 1ed0: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 .!IF$(USE_STDCA
1ee0: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_ 1ef0: 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 WIN10)!=0.SQLITE 1f00: 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53 51 4c _TCL_DEP =$(SQL
1f10: 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 24 28  ITETCLDECLSH) $( 1f20: 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45 4c 53 SQLITETCLH).!ELS 1f30: 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 E.SQLITE_TCL_DEP 1f40: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 =.!ENDIF.!ENDIF 1f50: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 .# <</mark>>..# 1f60: 54 68 65 73 65 20 61 72 65 20 74 68 65 20 22 73 These are the "s 1f70: 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74 65 20 tandard" SQLite 1f80: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 compilation opti 1f90: 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 6f ons used when co 1fa0: 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68 mpiling for.# th 1fb0: 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f e Windows platfo 1fc0: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4f 50 rm..#.!IFNDEF OP 1fd0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 0a T_FEATURE_FLAGS. 1fe0: 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d !IF$(MINIMAL_AM
1ff0: 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4f  ALGAMATION)==0.O
2000: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
2010: 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45   = $(OPT_FEATURE 2020: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE 2030: 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31 0a 4f _ENABLE_FTS3=1.O 2040: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 PT_FEATURE_FLAGS 2050: 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 =$(OPT_FEATURE
2060: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
2070: 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d 31 0a  _ENABLE_RTREE=1.
2080: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
2090: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR 20a0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 E_FLAGS) -DSQLIT 20b0: 45 5f 45 4e 41 42 4c 45 5f 47 45 4f 50 4f 4c 59 E_ENABLE_GEOPOLY 20c0: 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 =1.OPT_FEATURE_F 20d0: 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 LAGS =$(OPT_FEA
20e0: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
20f0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  LITE_ENABLE_JSON
2100: 31 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f  1=1.OPT_FEATURE_
2110: 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45  FLAGS = $(OPT_FE 2120: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 ATURE_FLAGS) -DS 2130: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d QLITE_ENABLE_STM 2140: 54 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54 TVTAB=1.OPT_FEAT 2150: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 URE_FLAGS =$(OP
2160: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2170: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2180: 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31 0a 4f  _DBPAGE_VTAB=1.O
2190: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
21a0: 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45   = $(OPT_FEATURE 21b0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE 21c0: 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 _ENABLE_DBSTAT_V 21d0: 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 TAB=1.OPT_FEATUR 21e0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f E_FLAGS =$(OPT_
21f0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2200: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44  DSQLITE_ENABLE_D
2210: 45 53 45 52 49 41 4c 49 5a 45 3d 31 0a 21 45 4e  ESERIALIZE=1.!EN
2220: 44 49 46 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f  DIF.OPT_FEATURE_
2230: 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45  FLAGS = $(OPT_FE 2240: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 ATURE_FLAGS) -DS 2250: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43 4f 4c QLITE_ENABLE_COL 2260: 55 4d 4e 5f 4d 45 54 41 44 41 54 41 3d 31 0a 21 UMN_METADATA=1.! 2270: 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 ENDIF..# Should 2280: 74 68 65 20 73 65 73 73 69 6f 6e 20 65 78 74 65 the session exte 2290: 6e 73 69 6f 6e 20 62 65 20 65 6e 61 62 6c 65 64 nsion be enabled 22a0: 3f 20 20 49 66 20 73 6f 2c 20 61 64 64 20 63 6f ? If so, add co 22b0: 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e mpilation option 22c0: 73 0a 23 20 74 6f 20 65 6e 61 62 6c 65 20 69 74 s.# to enable it 22d0: 2e 0a 23 0a 21 49 46 20 24 28 53 45 53 53 49 4f ..#.!IF$(SESSIO
22e0: 4e 29 21 3d 30 0a 4f 50 54 5f 46 45 41 54 55 52  N)!=0.OPT_FEATUR
22f0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_ 2300: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d FEATURE_FLAGS) - 2310: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 DSQLITE_ENABLE_S 2320: 45 53 53 49 4f 4e 3d 31 0a 4f 50 54 5f 46 45 41 ESSION=1.OPT_FEA 2330: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f TURE_FLAGS =$(O
2340: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
2350: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
2360: 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b  E_PREUPDATE_HOOK
2370: 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65  =1.!ENDIF..# The
2380: 73 65 20 61 72 65 20 74 68 65 20 22 65 78 74 65  se are the "exte
2390: 6e 64 65 64 22 20 53 51 4c 69 74 65 20 63 6f 6d  nded" SQLite com
23a0: 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73  pilation options
23b0: 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69   used when compi
23c0: 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57  ling for.# the W
23d0: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
23e0: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 45 58  rm..#.!IFNDEF EX
23f0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 0a  T_FEATURE_FLAGS.
2400: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  !IF $(FOR_WIN10) 2410: 21 3d 30 0a 45 58 54 5f 46 45 41 54 55 52 45 5f !=0.EXT_FEATURE_ 2420: 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 FLAGS =$(EXT_FE
2430: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
2440: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53  QLITE_ENABLE_FTS
2450: 34 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  4=1.EXT_FEATURE_
2460: 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45  FLAGS = $(EXT_FE 2470: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 ATURE_FLAGS) -DS 2480: 51 4c 49 54 45 5f 53 59 53 54 45 4d 5f 4d 41 4c QLITE_SYSTEM_MAL 2490: 4c 4f 43 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 LOC=1.EXT_FEATUR 24a0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f E_FLAGS =$(EXT_
24b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
24c0: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 43  DSQLITE_OMIT_LOC
24d0: 41 4c 54 49 4d 45 3d 31 0a 21 45 4c 53 45 0a 45  ALTIME=1.!ELSE.E
24e0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
24f0: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46   =.!ENDIF.!ENDIF
2500: 0a 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
2510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2530: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2540: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2550: 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  #.##############
2560: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2570: 23 20 45 4e 44 20 4f 46 20 4f 50 54 49 4f 4e 53  # END OF OPTIONS
2580: 20 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23   ###############
2590: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25a0: 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  #.##############
25b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
25f0: 23 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c  #..# When compil
2600: 69 6e 67 20 66 6f 72 20 74 68 65 20 57 69 6e 64  ing for the Wind
2610: 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c  ows 10 platform,
2620: 20 74 68 65 20 50 4c 41 54 46 4f 52 4d 20 6d 61   the PLATFORM ma
2630: 63 72 6f 20 6d 75 73 74 20 62 65 20 73 65 74 0a  cro must be set.
2640: 23 20 74 6f 20 61 6e 20 61 70 70 72 6f 70 72 69  # to an appropri
2650: 61 74 65 20 76 61 6c 75 65 20 28 65 2e 67 2e 20  ate value (e.g.
2660: 78 38 36 2c 20 78 36 34 2c 20 61 72 6d 2c 20 61  x86, x64, arm, a
2670: 72 6d 36 34 2c 20 65 74 63 29 2e 0a 23 0a 21 49  rm64, etc)..#.!I
2680: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!= 2690: 30 0a 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 0.!IFNDEF PLATFO 26a0: 52 4d 0a 21 45 52 52 4f 52 20 55 73 69 6e 67 20 RM.!ERROR Using 26b0: 74 68 65 20 46 4f 52 5f 57 49 4e 31 30 20 6f 70 the FOR_WIN10 op 26c0: 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 tion requires a 26d0: 76 61 6c 75 65 20 66 6f 72 20 50 4c 41 54 46 4f value for PLATFO 26e0: 52 4d 2e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 RM..!ENDIF.!ENDI 26f0: 46 0a 0a 23 20 54 68 69 73 20 61 73 73 75 6d 65 F..# This assume 2700: 73 20 74 68 61 74 20 4d 53 56 43 20 69 73 20 61 s that MSVC is a 2710: 6c 77 61 79 73 20 69 6e 73 74 61 6c 6c 65 64 20 lways installed 2720: 69 6e 20 33 32 2d 62 69 74 20 50 72 6f 67 72 61 in 32-bit Progra 2730: 6d 20 46 69 6c 65 73 20 64 69 72 65 63 74 6f 72 m Files director 2740: 79 0a 23 20 61 6e 64 20 73 65 74 73 20 74 68 65 y.# and sets the 2750: 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20 75 73 variable for us 2760: 65 20 69 6e 20 6c 6f 63 61 74 69 6e 67 20 6f 74 e in locating ot 2770: 68 65 72 20 33 32 2d 62 69 74 20 69 6e 73 74 61 her 32-bit insta 2780: 6c 6c 73 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e lls accordingly. 2790: 0a 23 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f .#.PROGRAMFILES_ 27a0: 58 38 36 20 3d 20 24 28 56 43 49 4e 53 54 41 4c X86 =$(VCINSTAL
27b0: 4c 44 49 52 29 5c 2e 2e 5c 2e 2e 0a 50 52 4f 47  LDIR)\..\...PROG
27c0: 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d 20 24  RAMFILES_X86 = $27d0: 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 (PROGRAMFILES_X8 27e0: 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 6:\\=\)..# Check 27f0: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 for the predefi 2800: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 ned command macr 2810: 6f 20 43 43 2e 20 20 54 68 69 73 20 73 68 6f 75 o CC. This shou 2820: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 ld point to the 2830: 63 6f 6d 70 69 6c 65 72 0a 23 20 62 69 6e 61 72 compiler.# binar 2840: 79 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 y for the target 2850: 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 platform. If i 2860: 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 t is not defined 2870: 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 , simply define 2880: 69 74 20 74 6f 0a 23 20 74 68 65 20 6c 65 67 61 it to.# the lega 2890: 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 cy default value 28a0: 20 27 63 6c 2e 65 78 65 27 2e 0a 23 0a 21 49 46 'cl.exe'..#.!IF 28b0: 4e 44 45 46 20 43 43 0a 43 43 20 3d 20 63 6c 2e NDEF CC.CC = cl. 28c0: 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 exe.!ENDIF..# Ch 28d0: 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65 64 eck for the pred 28e0: 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d efined command m 28f0: 61 63 72 6f 20 43 53 43 2e 20 20 54 68 69 73 20 acro CSC. This 2900: 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 should point to 2910: 61 20 77 6f 72 6b 69 6e 67 0a 23 20 43 20 53 68 a working.# C Sh 2920: 61 72 70 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e arp compiler bin 2930: 61 72 79 2e 20 20 49 66 20 69 74 20 69 73 20 6e ary. If it is n 2940: 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 ot defined, simp 2950: 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 ly define it to 2960: 74 68 65 0a 23 20 6c 65 67 61 63 79 20 64 65 66 the.# legacy def 2970: 61 75 6c 74 20 76 61 6c 75 65 20 27 63 73 63 2e ault value 'csc. 2980: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 exe'..#.!IFNDEF 2990: 43 53 43 0a 43 53 43 20 3d 20 63 73 63 2e 65 78 CSC.CSC = csc.ex 29a0: 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 e.!ENDIF..# Chec 29b0: 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e k for the comman 29c0: 64 20 6d 61 63 72 6f 20 4c 44 2e 20 20 54 68 69 d macro LD. Thi 29d0: 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 s should point t 29e0: 6f 20 74 68 65 20 6c 69 6e 6b 65 72 20 62 69 6e o the linker bin 29f0: 61 72 79 20 66 6f 72 0a 23 20 74 68 65 20 74 61 ary for.# the ta 2a00: 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 rget platform. 2a10: 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 If it is not def 2a20: 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 ined, simply def 2a30: 69 6e 65 20 69 74 20 74 6f 20 74 68 65 20 6c 65 ine it to the le 2a40: 67 61 63 79 0a 23 20 64 65 66 61 75 6c 74 20 76 gacy.# default v 2a50: 61 6c 75 65 20 27 6c 69 6e 6b 2e 65 78 65 27 2e alue 'link.exe'. 2a60: 0a 23 0a 21 49 46 4e 44 45 46 20 4c 44 0a 4c 44 .#.!IFNDEF LD.LD 2a70: 20 3d 20 6c 69 6e 6b 2e 65 78 65 0a 21 45 4e 44 = link.exe.!END 2a80: 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 IF..# Check for 2a90: 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 63 the predefined c 2aa0: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 52 43 2e ommand macro RC. 2ab0: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f This should po 2ac0: 69 6e 74 20 74 6f 20 74 68 65 20 72 65 73 6f 75 int to the resou 2ad0: 72 63 65 0a 23 20 63 6f 6d 70 69 6c 65 72 20 62 rce.# compiler b 2ae0: 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74 61 inary for the ta 2af0: 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 rget platform. 2b00: 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 If it is not def 2b10: 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 ined, simply def 2b20: 69 6e 65 0a 23 20 69 74 20 74 6f 20 74 68 65 20 ine.# it to the 2b30: 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 legacy default v 2b40: 61 6c 75 65 20 27 72 63 2e 65 78 65 27 2e 0a 23 alue 'rc.exe'..# 2b50: 0a 21 49 46 4e 44 45 46 20 52 43 0a 52 43 20 3d .!IFNDEF RC.RC = 2b60: 20 72 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a rc.exe.!ENDIF.. 2b70: 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 # Check for the 2b80: 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 MSVC runtime lib 2b90: 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e rary path macro. 2ba0: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 Otherwise, thi 2bb0: 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 s value will.# d 2bc0: 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c efault to the 'l 2bd0: 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e ib' directory un 2be0: 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53 56 derneath the MSV 2bf0: 43 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 C installation d 2c00: 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e irectory..#.!IFN 2c10: 44 45 46 20 43 52 54 4c 49 42 50 41 54 48 0a 43 DEF CRTLIBPATH.C 2c20: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43 RTLIBPATH =$(VC
2c30: 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a  INSTALLDIR)\lib.
2c40: 21 45 4e 44 49 46 0a 0a 43 52 54 4c 49 42 50 41  !ENDIF..CRTLIBPA
2c50: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT 2c60: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b H:\\=\)..# Check 2c70: 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 for the command 2c80: 20 6d 61 63 72 6f 20 4e 43 43 2e 20 20 54 68 69 macro NCC. Thi 2c90: 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 s should point t 2ca0: 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 o the compiler b 2cb0: 69 6e 61 72 79 0a 23 20 66 6f 72 20 74 68 65 20 inary.# for the 2cc0: 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d platform the com 2cd0: 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 pilation process 2ce0: 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 is taking place 2cf0: 20 6f 6e 2e 20 20 49 66 20 69 74 20 69 73 20 6e on. If it is n 2d00: 6f 74 0a 23 20 64 65 66 69 6e 65 64 2c 20 73 69 ot.# defined, si 2d10: 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74 mply define it t 2d20: 6f 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 o have the same 2d30: 76 61 6c 75 65 20 61 73 20 74 68 65 20 43 43 20 value as the CC 2d40: 6d 61 63 72 6f 2e 20 20 57 68 65 6e 0a 23 20 63 macro. When.# c 2d50: 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2c 20 ross-compiling, 2d60: 69 74 20 69 73 20 73 75 67 67 65 73 74 65 64 20 it is suggested 2d70: 74 68 61 74 20 74 68 69 73 20 6d 61 63 72 6f 20 that this macro 2d80: 62 65 20 6d 6f 64 69 66 69 65 64 20 76 69 61 20 be modified via 2d90: 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 the command.# li 2da0: 6e 65 20 28 73 69 6e 63 65 20 6e 6d 61 6b 65 20 ne (since nmake 2db0: 69 74 73 65 6c 66 20 64 6f 65 73 20 6e 6f 74 20 itself does not 2dc0: 70 72 6f 76 69 64 65 20 61 20 62 75 69 6c 74 2d provide a built- 2dd0: 69 6e 20 6d 65 74 68 6f 64 20 74 6f 20 67 75 65 in method to gue 2de0: 73 73 20 69 74 29 2e 0a 23 20 46 6f 72 20 65 78 ss it)..# For ex 2df0: 61 6d 70 6c 65 2c 20 74 6f 20 75 73 65 20 74 68 ample, to use th 2e00: 65 20 78 38 36 20 63 6f 6d 70 69 6c 65 72 20 77 e x86 compiler w 2e10: 68 65 6e 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c hen cross-compil 2e20: 69 6e 67 20 66 6f 72 20 78 36 34 2c 20 61 20 63 ing for x64, a c 2e30: 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 73 69 ommand.# line si 2e40: 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 66 6f 6c milar to the fol 2e50: 6c 6f 77 69 6e 67 20 63 6f 75 6c 64 20 62 65 20 lowing could be 2e60: 75 73 65 64 20 28 61 6c 6c 20 6f 6e 20 6f 6e 65 used (all on one 2e70: 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20 line):.#.# 2e80: 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c nmake /f Makefil 2e90: 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c e.msc sqlite3.dl 2ea0: 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20 58 43 l.# XC 2eb0: 4f 4d 50 49 4c 45 3d 31 20 55 53 45 5f 4e 41 54 OMPILE=1 USE_NAT 2ec0: 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 IVE_LIBPATHS=1.# 2ed0: 0a 23 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 .# Alternatively 2ee0: 2c 20 74 68 65 20 66 75 6c 6c 20 70 61 74 68 20 , the full path 2ef0: 61 6e 64 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f and file name to 2f00: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 the compiler bi 2f10: 6e 61 72 79 20 66 6f 72 20 74 68 65 0a 23 20 70 nary for the.# p 2f20: 6c 61 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 latform the comp 2f30: 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 ilation process 2f40: 69 73 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 is taking place 2f50: 6d 61 79 20 62 65 20 73 70 65 63 69 66 69 65 64 may be specified 2f60: 20 28 61 6c 6c 20 6f 6e 0a 23 20 6f 6e 65 20 6c (all on.# one l 2f70: 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d ine):.#.# nm 2f80: 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e ake /f Makefile. 2f90: 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a msc sqlite3.dll. 2fa0: 23 20 20 20 20 20 20 20 20 20 20 20 22 4e 43 43 # "NCC 2fb0: 3d 22 22 25 56 43 49 4e 53 54 41 4c 4c 44 49 52 =""%VCINSTALLDIR 2fc0: 25 5c 62 69 6e 5c 63 6c 2e 65 78 65 22 22 22 0a %\bin\cl.exe""". 2fd0: 23 20 20 20 20 20 20 20 20 20 20 20 55 53 45 5f # USE_ 2fe0: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 3d NATIVE_LIBPATHS= 2ff0: 31 0a 23 0a 21 49 46 44 45 46 20 4e 43 43 0a 4e 1.#.!IFDEF NCC.N 3000: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 CC =$(NCC:\\=\)
3010: 0a 21 45 4c 53 45 49 46 20 24 28 58 43 4f 4d 50  .!ELSEIF $(XCOMP 3020: 49 4c 45 29 21 3d 30 0a 4e 43 43 20 3d 20 22 24 ILE)!=0.NCC = "$
3030: 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 62  (VCINSTALLDIR)\b
3040: 69 6e 5c 24 28 43 43 29 22 0a 4e 43 43 20 3d 20  in\$(CC)".NCC = 3050: 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53$(NCC:\\=\).!ELS
3060: 45 0a 4e 43 43 20 3d 20 24 28 43 43 29 0a 21 45  E.NCC = $(CC).!E 3070: 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f NDIF..# Check fo 3080: 72 20 74 68 65 20 4d 53 56 43 20 6e 61 74 69 76 r the MSVC nativ 3090: 65 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 e runtime librar 30a0: 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f y path macro. O 30b0: 74 68 65 72 77 69 73 65 2c 0a 23 20 74 68 69 73 therwise,.# this 30c0: 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 value will defa 30d0: 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 ult to the 'lib' 30e0: 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 directory under 30f0: 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43 0a 23 neath the MSVC.# 3100: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 installation di 3110: 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 rectory..#.!IFND 3120: 45 46 20 4e 43 52 54 4c 49 42 50 41 54 48 0a 4e EF NCRTLIBPATH.N 3130: 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 56 CRTLIBPATH =$(V
3140: 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62  CINSTALLDIR)\lib
3150: 0a 21 45 4e 44 49 46 0a 0a 4e 43 52 54 4c 49 42  .!ENDIF..NCRTLIB
3160: 50 41 54 48 20 3d 20 24 28 4e 43 52 54 4c 49 42  PATH = $(NCRTLIB 3170: 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 PATH:\\=\)..# Ch 3180: 65 63 6b 20 66 6f 72 20 74 68 65 20 50 6c 61 74 eck for the Plat 3190: 66 6f 72 6d 20 53 44 4b 20 6c 69 62 72 61 72 79 form SDK library 31a0: 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 path macro. Ot 31b0: 68 65 72 77 69 73 65 2c 20 74 68 69 73 0a 23 20 herwise, this.# 31c0: 76 61 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75 value will defau 31d0: 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 lt to the 'lib' 31e0: 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e directory undern 31f0: 65 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 eath the Windows 3200: 0a 23 20 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 .# SDK installat 3210: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 20 28 74 ion directory (t 3220: 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 he environment v 3230: 61 72 69 61 62 6c 65 20 75 73 65 64 20 61 70 70 ariable used app 3240: 65 61 72 73 0a 23 20 74 6f 20 62 65 20 61 76 61 ears.# to be ava 3250: 69 6c 61 62 6c 65 20 77 68 65 6e 20 75 73 69 6e ilable when usin 3260: 67 20 56 69 73 75 61 6c 20 43 2b 2b 20 32 30 30 g Visual C++ 200 3270: 38 20 6f 72 20 6c 61 74 65 72 20 76 69 61 20 74 8 or later via t 3280: 68 65 0a 23 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e he.# command lin 3290: 65 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 53 e)..#.!IFNDEF NS 32a0: 44 4b 4c 49 42 50 41 54 48 0a 4e 53 44 4b 4c 49 DKLIBPATH.NSDKLI 32b0: 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 BPATH =$(WINDOW
32c0: 53 53 44 4b 44 49 52 29 5c 6c 69 62 0a 21 45 4e  SSDKDIR)\lib.!EN
32d0: 44 49 46 0a 0a 4e 53 44 4b 4c 49 42 50 41 54 48  DIF..NSDKLIBPATH
32e0: 20 3d 20 24 28 4e 53 44 4b 4c 49 42 50 41 54 48   = $(NSDKLIBPATH 32f0: 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 :\\=\)..# Check 3300: 66 6f 72 20 74 68 65 20 55 43 52 54 20 6c 69 62 for the UCRT lib 3310: 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e rary path macro. 3320: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 Otherwise, thi 3330: 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 s value will.# d 3340: 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 76 65 efault to the ve 3350: 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 2c 20 rsion-specific, 3360: 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 platform-specifi 3370: 63 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 c 'lib' director 3380: 79 0a 23 20 75 6e 64 65 72 6e 65 61 74 68 20 74 y.# underneath t 3390: 68 65 20 57 69 6e 64 6f 77 73 20 53 44 4b 20 69 he Windows SDK i 33a0: 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 nstallation dire 33b0: 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 ctory..#.!IFNDEF 33c0: 20 55 43 52 54 4c 49 42 50 41 54 48 0a 55 43 52 UCRTLIBPATH.UCR 33d0: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49 4e TLIBPATH =$(WIN
33e0: 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62 5c  DOWSSDKDIR)\lib\
33f0: 24 28 57 49 4e 44 4f 57 53 53 44 4b 4c 49 42 56  $(WINDOWSSDKLIBV 3400: 45 52 53 49 4f 4e 29 5c 75 63 72 74 5c 24 28 50 ERSION)\ucrt\$(P
3410: 4c 41 54 46 4f 52 4d 29 0a 21 45 4e 44 49 46 0a  LATFORM).!ENDIF.
3420: 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24  .UCRTLIBPATH = $3430: 28 55 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d (UCRTLIBPATH:\\= 3440: 5c 29 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 \)..# C compiler 3450: 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 and options for 3460: 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 use in building 3470: 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 executables tha 3480: 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 t.# will run on 3490: 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 61 the platform tha 34a0: 74 20 69 73 20 64 6f 69 6e 67 20 74 68 65 20 62 t is doing the b 34b0: 75 69 6c 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 uild..#.!IF$(US
34c0: 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 42  E_FULLWARN)!=0.B
34d0: 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c  CC = $(NCC) -nol 34e0: 6f 67 6f 20 2d 57 34 20 2d 46 64 24 2a 2e 70 64 ogo -W4 -Fd$*.pd
34f0: 62 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43  b $(CCOPTS)$(BC
3500: 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 42 43 43  COPTS).!ELSE.BCC
3510: 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67   = $(NCC) -nolog 3520: 6f 20 2d 57 33 20 2d 46 64 24 2a 2e 70 64 62 20 o -W3 -Fd$*.pdb
3530: 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43 4f  $(CCOPTS)$(BCCO
3540: 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43  PTS).!ENDIF..# C
3550: 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79  heck if assembly
3560: 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73   code listings s
3570: 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74  hould be generat
3580: 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63  ed for the sourc
3590: 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74  e.# code files t
35a0: 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23  o be compiled..#
35b0: 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49  .!IF $(USE_LISTI 35c0: 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24 28 NGS)!=0.BCC =$(
35d0: 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49  BCC) -FAcs.!ENDI
35e0: 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74 68  F..# Check if th
35f0: 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72 79  e native library
3600: 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62 65   paths should be
3610: 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69   used when compi
3620: 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d 61  ling.# the comma
3630: 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75 73  nd line tools us
3640: 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f  ed during the co
3650: 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73  mpilation proces
3660: 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65 74  s.  If.# so, set
3670: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6d   the necessary m
3680: 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46 20  acro now..#.!IF
3690: 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42  $(USE_NATIVE_LIB 36a0: 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49 42 PATHS)!=0.NLTLIB 36b0: 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41 54 PATHS = "/LIBPAT 36c0: 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48 29 H:$(NCRTLIBPATH)
36d0: 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 53  " "/LIBPATH:$(NS 36e0: 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49 46 DKLIBPATH)"..!IF 36f0: 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54 48 DEF NUCRTLIBPATH 3700: 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 .NUCRTLIBPATH = 3710: 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a 5c$(NUCRTLIBPATH:\
3720: 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48 53  \=\).NLTLIBPATHS
3730: 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53   = $(NLTLIBPATHS 3740: 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 55 ) "/LIBPATH:$(NU
3750: 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45 4e  CRTLIBPATH)".!EN
3760: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20  DIF.!ENDIF..# C
3770: 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70 74  compiler and opt
3780: 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e 20  ions for use in
3790: 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74 61  building executa
37a0: 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c 6c  bles that.# will
37b0: 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72 67   run on the targ
37c0: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28 42  et platform.  (B
37d0: 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20 75  CC and TCC are u
37e0: 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61 6d  sually the.# sam
37f0: 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61 72  e unless your ar
3800: 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e  e cross-compilin
3810: 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  g.).#.!IF $(USE_ 3820: 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43 43 FULLWARN)!=0.TCC 3830: 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f =$(CC) -nologo
3840: 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f 4d   -W4 -DINCLUDE_M
3850: 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54 53  SVC_H=1 $(CCOPTS 3860: 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45 4c )$(TCCOPTS).!EL
3870: 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20 2d  SE.TCC = $(CC) - 3880: 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f nologo -W3$(CCO
3890: 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a  PTS) $(TCCOPTS). 38a0: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 !ENDIF..# Check 38b0: 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f 75 if warnings shou 38c0: 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73 ld be treated as 38d0: 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f 6d errors when com 38e0: 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24 28 piling..#.!IF$(
38f0: 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29 21  USE_FATAL_WARN)!
3900: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 3910: 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43 20 -WX.!ENDIF..TCC 3920: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 =$(TCC) -DSQLIT
3930: 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d  E_OS_WIN=1 -I. -
3940: 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50 29  I$(TOP) -I$(TOP)
3950: 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73 65  \src -fp:precise
3960: 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44 53  .RCC = $(RC) -DS 3970: 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d QLITE_OS_WIN=1 - 3980: 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 I. -I$(TOP) -I$( 3990: 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50 54 TOP)\src$(RCOPT
39a0: 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a 23  S) $(RCCOPTS)..# 39b0: 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61 6e Check if we wan 39c0: 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73 74 t to use the "st 39d0: 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 63 dcall" calling c 39e0: 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20 63 onvention when c 39f0: 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69 73 ompiling..# This 3a00: 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 is not supporte 3a10: 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 d by the compile 3a20: 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 70 rs for non-x86 p 3a30: 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73 68 latforms. It sh 3a40: 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20 6e ould.# also be n 3a50: 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20 62 oted here that b 3a60: 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72 67 uilding any targ 3a70: 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22 73 et with these "s 3a80: 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 0a tdcall" options. 3a90: 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65 # will most like 3aa0: 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20 54 ly fail if the T 3ab0: 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61 6c cl library is al 3ac0: 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54 68 so required. Th 3ad0: 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20 68 is is due.# to h 3ae0: 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61 ow the Tcl libra 3af0: 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 ry functions are 3b00: 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65 78 declared and ex 3b10: 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69 74 ported (i.e. wit 3b20: 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69 63 hout.# an explic 3b30: 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 it calling conve 3b40: 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65 73 ntion, which res 3b50: 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22 29 ults in "cdecl") 3b60: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54 ..#.!IF$(USE_ST
3b70: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  DCALL)!=0 || $(F 3b80: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 46 OR_WIN10)!=0.!IF 3b90: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d "$(PLATFORM)"==
3ba0: 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e 56  "x86".CORE_CCONV
3bb0: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3bc0: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
3bd0: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3be0: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3bf0: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
3c00: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3c10: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
3c20: 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f  all.SHELL_CCONV_
3c30: 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c  OPTS = -Gz -DSQL
3c40: 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63  ITE_CDECL=__cdec
3c50: 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41  l -DSQLITE_APICA
3c60: 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  LL=__stdcall -DS
3c70: 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f  QLITE_CALLBACK=_
3c80: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3c90: 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61  E_SYSAPI=__stdca
3ca0: 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45  ll.# <<mark>>.TE
3cb0: 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20  ST_CCONV_OPTS =
3cc0: 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45  -Gz -DSQLITE_CDE
3cd0: 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c  CL=__cdecl -DSQL
3ce0: 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74  ITE_APICALL=__st
3cf0: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43  dcall -DSQLITE_C
3d00: 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c  ALLBACK=__stdcal
3d10: 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50  l -DSQLITE_SYSAP
3d20: 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49 4e  I=__stdcall -DIN
3d30: 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43 4c  CLUDE_SQLITE_TCL
3d40: 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54 43  _H=1 -DSQLITE_TC
3d50: 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c  LAPI=__cdecl.# <
3d60: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 21  </mark>>.!ELSE.!
3d70: 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a  IFNDEF PLATFORM.
3d80: 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  CORE_CCONV_OPTS
3d90: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3da0: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3db0: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3dc0: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3dd0: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3de0: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3df0: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48  API=__stdcall.SH
3e00: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3e10: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3e20: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3e30: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3e40: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3e50: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3e60: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3e70: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c  PI=__stdcall.# <
3e80: 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f  <mark>>.TEST_CCO
3e90: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44  NV_OPTS = -Gz -D
3ea0: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63  SQLITE_CDECL=__c
3eb0: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50  decl -DSQLITE_AP
3ec0: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20  ICALL=__stdcall
3ed0: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  -DSQLITE_CALLBAC
3ee0: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  K=__stdcall -DSQ
3ef0: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74  LITE_SYSAPI=__st
3f00: 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f  dcall -DINCLUDE_
3f10: 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d  SQLITE_TCL_H=1 -
3f20: 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f  DSQLITE_TCLAPI=_
3f30: 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b  _cdecl.# <</mark
3f40: 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43  >>.!ELSE.CORE_CC
3f50: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c  ONV_OPTS =.SHELL
3f60: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.#
3f70: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3f80: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f  ONV_OPTS =.# <</
3f90: 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21 45  mark>>.!ENDIF.!E
3fa0: 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45 5f  NDIF.!ELSE.CORE_
3fb0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45  CCONV_OPTS =.SHE
3fc0: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a  LL_CCONV_OPTS =.
3fd0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f  # <<mark>>.TEST_
3fe0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c  CCONV_OPTS =.# <
3ff0: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a  </mark>>.!ENDIF.
4000: 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64  .# These are add
4010: 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72  itional compiler
4020: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f   options used fo
4030: 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  r the core libra
4040: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f  ry..#.!IFNDEF CO
4050: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a  RE_COMPILE_OPTS.
4060: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH 4070: 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 ELL)!=0 ||$(FOR
4080: 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45 5f  _WIN10)!=0.CORE_
4090: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $40a0: 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 (CORE_CCONV_OPTS 40b0: 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f ) -DSQLITE_API=_ 40c0: 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78 70 _declspec(dllexp 40d0: 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45 5f ort).!ELSE.CORE_ 40e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 COMPILE_OPTS =$
40f0: 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  (CORE_CCONV_OPTS
4100: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
4110: 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65  .# These are the
4120: 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 67   additional targ
4130: 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f 72  ets that the cor
4140: 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c 64  e library should
4150: 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68 65   depend on.# whe
4160: 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49 46  n linking..#.!IF
4170: 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 44  NDEF CORE_LINK_D
4180: 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  EP.!IF $(DYNAMIC 4190: 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f _SHELL)!=0.CORE_ 41a0: 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 45 LINK_DEP =.!ELSE 41b0: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d IF$(FOR_WIN10)=
41c0: 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52  =0 || "$(PLATFOR 41d0: 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f M)"=="x86".CORE_ 41e0: 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69 74 LINK_DEP = sqlit 41f0: 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52 e3.def.!ELSE.COR 4200: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4e E_LINK_DEP =.!EN 4210: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 DIF.!ENDIF..# Th 4220: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e ese are addition 4230: 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e al linker option 4240: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 63 s used for the c 4250: 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 ore library..#.! 4260: 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b IFNDEF CORE_LINK 4270: 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41 _OPTS.!IF$(DYNA
4280: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f  MIC_SHELL)!=0.CO
4290: 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21  RE_LINK_OPTS =.!
42a0: 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49 4e  ELSEIF $(FOR_WIN 42b0: 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 10)==0 || "$(PLA
42c0: 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43  TFORM)"=="x86".C
42d0: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20  ORE_LINK_OPTS =
42e0: 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65 66  /DEF:sqlite3.def
42f0: 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b  .!ELSE.CORE_LINK
4300: 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a 21  _OPTS =.!ENDIF.!
4310: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
4320: 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f  re additional co
4330: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75  mpiler options u
4340: 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65 6c  sed for the shel
4350: 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a  l executable..#.
4360: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f  !IFNDEF SHELL_CO
4370: 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24  MPILE_OPTS.!IF $4380: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 (DYNAMIC_SHELL)! 4390: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 =0 ||$(FOR_WIN1
43a0: 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50  0)!=0.SHELL_COMP
43b0: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45  ILE_OPTS = $(SHE 43c0: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d LL_CCONV_OPTS) - 43d0: 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 DSQLITE_API=__de 43e0: 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72 74 clspec(dllimport 43f0: 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f ).!ELSE.SHELL_CO 4400: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 MPILE_OPTS =$(S
4410: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29  HELL_CCONV_OPTS)
4420: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
4430: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73 6f  # This is the so
4440: 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20 74  urce code that t
4450: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
4460: 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63 6f  ble should be co
4470: 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a 23  mpiled.# with..#
4480: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
4490: 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44 59  ORE_SRC.!IF $(DY 44a0: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 NAMIC_SHELL)!=0 44b0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 ||$(FOR_WIN10)!
44c0: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  =0.SHELL_CORE_SR
44d0: 43 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21  C =.# <<mark>>.!
44e0: 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41  ELSEIF $(USE_AMA 44f0: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 LGAMATION)==0.SH 4500: 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a 23 ELL_CORE_SRC =.# 4510: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 <</mark>>.!ELSE 4520: 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 .SHELL_CORE_SRC 4530: 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21 45 =$(SQLITE3C).!E
4540: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
4550: 68 69 73 20 69 73 20 74 68 65 20 63 6f 72 65 20  his is the core
4560: 6c 69 62 72 61 72 79 20 74 68 61 74 20 74 68 65  library that the
4570: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
4580: 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 20  e should depend
4590: 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48  on..#.!IFNDEF SH
45a0: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21 49 46  ELL_CORE_DEP.!IF
45b0: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL 45c0: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 )!=0 ||$(FOR_WI
45d0: 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f  N10)!=0.SHELL_CO
45e0: 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c 49 54  RE_DEP = $(SQLIT 45f0: 45 33 44 4c 4c 29 0a 23 20 3c 3c 6d 61 72 6b 3e E3DLL).# <<mark> 4600: 3e 0a 21 45 4c 53 45 49 46 20 24 28 55 53 45 5f >.!ELSEIF$(USE_
4610: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
4620: 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20  .SHELL_CORE_DEP
4630: 3d 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62  = libsqlite3.lib
4640: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c  .# <</mark>>.!EL
4650: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  SE.SHELL_CORE_DE
4660: 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  P =.!ENDIF.!ENDI
4670: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.#
4680: 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 20  If zlib support
4690: 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20  is enabled, add
46a0: 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73  the dependencies
46b0: 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24   for it..#.!IF $46c0: 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 20 26 26 (USE_ZLIB)!=0 && 46d0: 20 24 28 42 55 49 4c 44 5f 5a 4c 49 42 29 21 3d$(BUILD_ZLIB)!=
46e0: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  0.SHELL_CORE_DEP
46f0: 20 3d 20 7a 6c 69 62 20 24 28 53 48 45 4c 4c 5f   = zlib $(SHELL_ 4700: 43 4f 52 45 5f 44 45 50 29 0a 54 45 53 54 46 49 CORE_DEP).TESTFI 4710: 58 54 55 52 45 5f 44 45 50 20 3d 20 7a 6c 69 62 XTURE_DEP = zlib 4720: 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 44$(TESTFIXTURE_D
4730: 45 50 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  EP).!ENDIF.# <</
4740: 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69  mark>>..# This i
4750: 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  s the core libra
4760: 72 79 20 74 68 61 74 20 74 68 65 20 73 68 65 6c  ry that the shel
4770: 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f  l executable sho
4780: 75 6c 64 20 6c 69 6e 6b 20 77 69 74 68 2e 0a 23  uld link with..#
4790: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
47a0: 4f 52 45 5f 4c 49 42 0a 21 49 46 20 24 28 44 59  ORE_LIB.!IF $(DY 47b0: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 NAMIC_SHELL)!=0 47c0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 ||$(FOR_WIN10)!
47d0: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49  =0.SHELL_CORE_LI
47e0: 42 20 3d 20 24 28 53 51 4c 49 54 45 33 4c 49 42  B = $(SQLITE3LIB 47f0: 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4c ).# <<mark>>.!EL 4800: 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 SEIF$(USE_AMALG
4810: 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 45 4c  AMATION)==0.SHEL
4820: 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 6c 69 62  L_CORE_LIB = lib
4830: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 3c 3c  sqlite3.lib.# <<
4840: 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53 48  /mark>>.!ELSE.SH
4850: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a 21  ELL_CORE_LIB =.!
4860: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
4870: 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69  These are additi
4880: 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69  onal linker opti
4890: 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65  ons used for the
48a0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
48b0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45  e..#.!IFNDEF SHE
48c0: 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48 45  LL_LINK_OPTS.SHE
48d0: 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 24  LL_LINK_OPTS = $48e0: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 29 (SHELL_CORE_LIB) 48f0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b .!ENDIF..# Check 4900: 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 if assembly cod 4910: 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c e listings shoul 4920: 64 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 d be generated f 4930: 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 or the source.# 4940: 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 code files to be 4950: 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 compiled..#.!IF 4960: 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29$(USE_LISTINGS)
4970: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC) 4980: 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 -FAcs.!ENDIF..# 4990: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 When compiling 49a0: 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f 72 20 the library for 49b0: 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 use in the WinRT 49c0: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23 20 environment,.# 49d0: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f the following co 49e0: 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 6f mpile-time optio 49f0: 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 ns must be used 4a00: 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69 73 as well to.# dis 4a10: 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69 6e 33 able use of Win3 4a20: 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65 20 2 APIs that are 4a30: 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61 6e not available an 4a40: 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75 73 d to enable.# us 4a50: 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20 e of Win32 APIs 4a60: 74 68 61 74 20 61 72 65 20 73 70 65 63 69 66 69 that are specifi 4a70: 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38 20 61 c to Windows 8 a 4a80: 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a 21 nd/or WinRT..#.! 4a90: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 IF$(FOR_WINRT)!
4aa0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 4ab0: 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 -DSQLITE_OS_WINR 4ac0: 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 T=1.RCC =$(RCC)
4ad0: 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e   -DSQLITE_OS_WIN
4ae0: 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43  RT=1.TCC = $(TCC 4af0: 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c ) -DWINAPI_FAMIL 4b00: 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f Y=WINAPI_FAMILY_ 4b10: 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43 43 29 APP.RCC =$(RCC)
4b20: 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59   -DWINAPI_FAMILY
4b30: 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41  =WINAPI_FAMILY_A
4b40: 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20 63  PP.!ENDIF..# C c
4b50: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options
4b60: 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20  for the Windows
4b70: 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65 65  10 platform (nee
4b80: 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e 0a 23  ds MSVC 2015)..#
4b90: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  .!IF $(FOR_WIN10 4ba0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 )!=0.TCC =$(TCC
4bb0: 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41  ) /d2guard4 -D_A
4bc0: 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54  RM_WINAPI_PARTIT
4bd0: 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f  ION_DESKTOP_SDK_
4be0: 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d 20  AVAILABLE.BCC =
4bf0: 24 28 42 43 43 29 20 2f 64 32 67 75 61 72 64 34  $(BCC) /d2guard4 4c00: 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 -D_ARM_WINAPI_P 4c10: 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 ARTITION_DESKTOP 4c20: 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 21 _SDK_AVAILABLE.! 4c30: 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20 77 ENDIF..# Also, w 4c40: 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d 69 e need to dynami 4c50: 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74 68 cally link to th 4c60: 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43 20 72 e correct MSVC r 4c70: 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20 63 6f untime.# when co 4c80: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 52 mpiling for WinR 4c90: 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20 6f 72 T (e.g. debug or 4ca0: 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69 66 20 release) OR if 4cb0: 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f 44 4c the.# USE_CRT_DL 4cc0: 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65 74 20 L option is set 4cd0: 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d 69 63 to force dynamic 4ce0: 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 ally linking to 4cf0: 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e 74 69 the.# MSVC runti 4d00: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 me library..#.!I 4d10: 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d F$(FOR_WINRT)!=
4d20: 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f 44  0 || $(USE_CRT_D 4d30: 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44 45 42 LL)!=0.!IF$(DEB
4d40: 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43  UG)>1.TCC = $(TC 4d50: 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24 28 C) -MDd.BCC =$(
4d60: 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45 0a  BCC) -MDd.!ELSE.
4d70: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44  TCC = $(TCC) -MD 4d80: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d .BCC =$(BCC) -M
4d90: 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 21  D.!ENDIF.!ELSE.!
4da0: 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43  IF $(DEBUG)>1.TC 4db0: 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 64 0a C =$(TCC) -MTd.
4dc0: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54  BCC = $(BCC) -MT 4dd0: 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 d.!ELSE.TCC =$(
4de0: 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20 24  TCC) -MT.BCC = $4df0: 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49 46 (BCC) -MT.!ENDIF 4e00: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 .!ENDIF..# <<mar 4e10: 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 k>>.# The mksqli 4e20: 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b 73 te3c.tcl and mks 4e30: 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69 qlite3h.tcl scri 4e40: 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69 6e pts will pull in 4e50: 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69 6f 6e .# any extension 4e60: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 62 79 header files by 4e70: 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72 20 6e default. For n 4e80: 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a on-amalgamation. 4e90: 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e 65 65 # builds, we nee 4ea0: 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 d to make sure t 4eb0: 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 20 he compiler can 4ec0: 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21 49 find these..#.!I 4ed0: 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 F$(USE_AMALGAMA
4ee0: 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20 24  TION)==0.TCC = $4ef0: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 (TCC) -I$(TOP)\e
4f00: 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20 24 28  xt\fts3.RCC = $( 4f10: 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 RCC) -I$(TOP)\ex
4f20: 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24 28 54  t\fts3.TCC = $(T 4f30: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 CC) -I$(TOP)\ext
4f40: 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24 28 52  \rtree.RCC = $(R 4f50: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 CC) -I$(TOP)\ext
4f60: 5c 72 74 72 65 65 0a 54 43 43 20 3d 20 24 28 54  \rtree.TCC = $(T 4f70: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 CC) -I$(TOP)\ext
4f80: 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20 24  \session.RCC = $4f90: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 (RCC) -I$(TOP)\e
4fa0: 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44 49  xt\session.!ENDI
4fb0: 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74  F..# The mksqlit
4fc0: 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 20 61  e3c.tcl script a
4fd0: 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 69  ccepts some opti
4fe0: 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61  ons on the comma
4ff0: 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65 6e  nd.# line.  When
5000: 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20   compiling with
5010: 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 6c 65  debugging enable
5020: 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65  d, some of these
5030: 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 6e  .# options are n
5040: 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64 65  ecessary in orde
5050: 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75 67  r to allow debug
5060: 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f 0a  ging symbols to.
5070: 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79  # work correctly
5080: 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74 75   with Visual Stu
5090: 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 20 74  dio when using t
50a0: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e  he amalgamation.
50b0: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c  .#.!IFNDEF MKSQL
50c0: 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20 24  ITE3C_TOOL.!IF $50d0: 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d (MINIMAL_AMALGAM 50e0: 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c 49 ATION)!=0.MKSQLI 50f0: 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f TE3C_TOOL =$(TO
5100: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65  P)\tool\mksqlite
5110: 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45 4c  3c-noext.tcl.!EL
5120: 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f  SE.MKSQLITE3C_TO
5130: 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  OL = $(TOP)\tool 5140: 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a \mksqlite3c.tcl. 5150: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 !ENDIF.!ENDIF..! 5160: 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 IFNDEF MKSQLITE3 5170: 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44 45 42 C_ARGS.!IF$(DEB
5180: 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33 43  UG)>1.MKSQLITE3C
5190: 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d 61  _ARGS = --linema
51a0: 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c  cros.!ELSE.MKSQL
51b0: 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21 45 4e  ITE3C_ARGS =.!EN
51c0: 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f 53 54  DIF.!IF $(USE_ST 51d0: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 DCALL)!=0 ||$(F
51e0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53  OR_WIN10)!=0.MKS
51f0: 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20 24  QLITE3C_ARGS = $5200: 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 (MKSQLITE3C_ARGS 5210: 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21 ) --useapicall.! 5220: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 ENDIF.!ENDIF..# 5230: 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 The mksqlite3h.t 5240: 63 6c 20 73 63 72 69 70 74 20 61 63 63 65 70 74 cl script accept 5250: 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f s some options o 5260: 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 n the command li 5270: 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 ne..# When compi 5280: 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63 61 6c ling with stdcal 5290: 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65 20 l support, some 52a0: 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 of these options 52b0: 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61 72 79 are.# necessary 52c0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 ..#.!IFNDEF MKSQ 52d0: 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49 46 20 LITE3H_ARGS.!IF 52e0: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d$(USE_STDCALL)!=
52f0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10 5300: 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48 5f )!=0.MKSQLITE3H_ 5310: 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70 69 63 ARGS = --useapic 5320: 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 all.!ELSE.MKSQLI 5330: 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e 44 TE3H_ARGS =.!END 5340: 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d IF.!ENDIF.# <</m 5350: 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65 20 ark>>..# Define 5360: 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d 70 -DNDEBUG to comp 5370: 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65 62 75 ile without debu 5380: 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f 72 gging (i.e., for 5390: 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73 61 67 production usag 53a0: 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74 68 e).# Omitting th 53b0: 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20 63 61 e define will ca 53c0: 75 73 65 20 65 78 74 72 61 20 64 65 62 75 67 67 use extra debugg 53d0: 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65 20 69 ing code to be i 53e0: 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20 69 6e nserted and.# in 53f0: 63 6c 75 64 65 73 20 65 78 74 72 61 20 63 6f 6d cludes extra com 5400: 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58 50 4c ments when "EXPL 5410: 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75 73 65 AIN stmt" is use 5420: 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 d..#.!IF$(DEBUG
5430: 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )==0.TCC = $(TCC 5440: 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43 20 3d ) -DNDEBUG.BCC = 5450: 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42 55 47$(BCC) -DNDEBUG
5460: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D 5470: 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 21 NDEBUG.!ENDIF..! 5480: 49 46 20 24 28 44 45 42 55 47 29 3e 30 20 7c 7c IF$(DEBUG)>0 ||
5490: 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d 30   $(API_ARMOR)!=0 54a0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 ||$(FOR_WIN10)
54b0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC) 54c0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 54d0: 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43 43 _API_ARMOR=1.RCC 54e0: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 =$(RCC) -DSQLI
54f0: 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52  TE_ENABLE_API_AR
5500: 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49  MOR=1.!ENDIF..!I
5510: 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54 43 43  F $(DEBUG)>2.TCC 5520: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 =$(TCC) -DSQLI
5530: 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43 20 3d  TE_DEBUG=1.RCC =
5540: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE 5550: 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24 28 44 _DEBUG=1.!IF$(D
5560: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30  YNAMIC_SHELL)==0
5570: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D 5580: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 48 SQLITE_ENABLE_WH 5590: 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c 49 54 ERETRACE -DSQLIT 55a0: 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 54 E_ENABLE_SELECTT 55b0: 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52 43 43 RACE.RCC =$(RCC
55c0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
55d0: 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d 44 53  E_WHERETRACE -DS
55e0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c  QLITE_ENABLE_SEL
55f0: 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49 46 0a  ECTTRACE.!ENDIF.
5600: 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45  !ENDIF..!IF $(DE 5610: 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 52 BUG)>4 ||$(OSTR
5620: 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  ACE)!=0.TCC = $( 5630: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f TCC) -DSQLITE_FO 5640: 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d RCE_OS_TRACE=1 - 5650: 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 DSQLITE_DEBUG_OS 5660: 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 _TRACE=1.RCC =$
5670: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46  (RCC) -DSQLITE_F
5680: 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20  ORCE_OS_TRACE=1
5690: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f  -DSQLITE_DEBUG_O
56a0: 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46  S_TRACE=1.!ENDIF
56b0: 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 35  ..!IF $(DEBUG)>5 56c0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 .TCC =$(TCC) -D
56d0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f  SQLITE_ENABLE_IO
56e0: 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28  TRACE=1.RCC = $( 56f0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e RCC) -DSQLITE_EN 5700: 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 21 ABLE_IOTRACE=1.! 5710: 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65 6e 74 ENDIF..# Prevent 5720: 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 20 warnings about 5730: 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56 43 20 "insecure" MSVC 5740: 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 runtime library 5750: 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 6e functions.# bein 5760: 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 g used..#.TCC = 5770: 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f 53 45$(TCC) -D_CRT_SE
5780: 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54  CURE_NO_DEPRECAT
5790: 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  E -D_CRT_SECURE_
57a0: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20  NO_WARNINGS.BCC
57b0: 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f  = $(BCC) -D_CRT_ 57c0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 SECURE_NO_DEPREC 57d0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 ATE -D_CRT_SECUR 57e0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 E_NO_WARNINGS.RC 57f0: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 C =$(RCC) -D_CR
5800: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52  T_SECURE_NO_DEPR
5810: 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43  ECATE -D_CRT_SEC
5820: 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a  URE_NO_WARNINGS.
5830: 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69  .# Prevent warni
5840: 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70 72 65  ngs about "depre
5850: 63 61 74 65 64 22 20 50 4f 53 49 58 20 66 75 6e  cated" POSIX fun
5860: 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 65  ctions being use
5870: 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  d..#.TCC = $(TCC 5880: 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 ) -D_CRT_NONSTDC 5890: 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 _NO_DEPRECATE -D 58a0: 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f _CRT_NONSTDC_NO_ 58b0: 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 WARNINGS.BCC =$
58c0: 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e  (BCC) -D_CRT_NON
58d0: 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54  STDC_NO_DEPRECAT
58e0: 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43  E -D_CRT_NONSTDC
58f0: 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43  _NO_WARNINGS.RCC
5900: 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54   = $(RCC) -D_CRT 5910: 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 _NONSTDC_NO_DEPR 5920: 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e ECATE -D_CRT_NON 5930: 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 STDC_NO_WARNINGS 5940: 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51 4c 69 ..# Use the SQLi 5950: 74 65 20 64 65 62 75 67 67 69 6e 67 20 68 65 61 te debugging hea 5960: 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 p subsystem?.#.! 5970: 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29 21 3d IF$(MEMDEBUG)!=
5980: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) - 5990: 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 DSQLITE_MEMDEBUG 59a0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 =1.RCC =$(RCC)
59b0: 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55  -DSQLITE_MEMDEBU
59c0: 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 76  G=1..# Use nativ
59d0: 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 75 62  e Win32 heap sub
59e0: 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64 20 6f  system instead o
59f0: 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a 23  f malloc/free?.#
5a00: 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e 33 32  .!ELSEIF $(WIN32 5a10: 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 24 HEAP)!=0.TCC =$
5a20: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57  (TCC) -DSQLITE_W
5a30: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 43  IN32_MALLOC=1.RC
5a40: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL 5a50: 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 ITE_WIN32_MALLOC 5a60: 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 74 =1..# Validate t 5a70: 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65 72 79 he heap on every 5a80: 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 6e call into the n 5a90: 61 74 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 ative Win32 heap 5aa0: 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 subsystem?.#.!I 5ab0: 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54 43 43 F$(DEBUG)>3.TCC
5ac0: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI 5ad0: 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f TE_WIN32_MALLOC_ 5ae0: 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 3d VALIDATE=1.RCC = 5af0: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45$(RCC) -DSQLITE
5b00: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41  _WIN32_MALLOC_VA
5b10: 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a  LIDATE=1.!ENDIF.
5b20: 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b  !ENDIF..# <<mark
5b30: 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f  >>.# The locatio
5b40: 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20 68 65  ns of the Tcl he
5b50: 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79  ader and library
5b60: 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 74   files.  Also, t
5b70: 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 0a  he library that.
5b80: 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 62  # non-stubs enab
5b90: 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75 73 69  led programs usi
5ba0: 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e 6b  ng Tcl must link
5bb0: 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65 73 65   against.  These
5bc0: 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 54 43   variables.# (TC
5bd0: 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 44  LINCDIR, TCLLIBD
5be0: 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 20  IR, and LIBTCL)
5bf0: 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 65  may be overridde
5c00: 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f  n via the enviro
5c10: 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f  nment.# prior to
5c20: 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69   running nmake i
5c30: 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68  n order to match
5c40: 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74   the actual inst
5c50: 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 61  alled location a
5c60: 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e 20  nd.# version on
5c70: 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a  this machine..#.
5c80: 21 49 46 4e 44 45 46 20 54 43 4c 56 45 52 53 49  !IFNDEF TCLVERSI
5c90: 4f 4e 0a 54 43 4c 56 45 52 53 49 4f 4e 20 3d 20  ON.TCLVERSION =
5ca0: 38 36 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  86.!ENDIF..!IFND
5cb0: 45 46 20 54 43 4c 53 55 46 46 49 58 0a 54 43 4c  EF TCLSUFFIX.TCL
5cc0: 53 55 46 46 49 58 20 3d 0a 21 45 4e 44 49 46 0a  SUFFIX =.!ENDIF.
5cd0: 0a 21 49 46 4e 44 45 46 20 54 43 4c 44 49 52 0a  .!IFNDEF TCLDIR.
5ce0: 54 43 4c 44 49 52 20 3d 20 24 28 54 4f 50 29 5c  TCLDIR = $(TOP)\ 5cf0: 63 6f 6d 70 61 74 5c 74 63 6c 0a 21 45 4e 44 49 compat\tcl.!ENDI 5d00: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 49 4e F..!IFNDEF TCLIN 5d10: 43 44 49 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d CDIR.TCLINCDIR = 5d20: 20 24 28 54 43 4c 44 49 52 29 5c 69 6e 63 6c 75$(TCLDIR)\inclu
5d30: 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  de.!ENDIF..!IFND
5d40: 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 43 4c  EF TCLLIBDIR.TCL
5d50: 4c 49 42 44 49 52 20 3d 20 24 28 54 43 4c 44 49  LIBDIR = $(TCLDI 5d60: 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 R)\lib.!ENDIF..! 5d70: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49 IFNDEF LIBTCL.LI 5d80: 42 54 43 4c 20 3d 20 74 63 6c 24 28 54 43 4c 56 BTCL = tcl$(TCLV
5d90: 45 52 53 49 4f 4e 29 24 28 54 43 4c 53 55 46 46  ERSION)$(TCLSUFF 5da0: 49 58 29 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a IX).lib.!ENDIF.. 5db0: 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54 !IFNDEF LIBTCLST 5dc0: 55 42 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20 UB.LIBTCLSTUB = 5dd0: 74 63 6c 73 74 75 62 24 28 54 43 4c 56 45 52 53 tclstub$(TCLVERS
5de0: 49 4f 4e 29 24 28 54 43 4c 53 55 46 46 49 58 29  ION)$(TCLSUFFIX) 5df0: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 .lib.!ENDIF..!IF 5e00: 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54 48 0a NDEF LIBTCLPATH. 5e10: 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 24 28 54 LIBTCLPATH =$(T
5e20: 43 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e 44 49  CLDIR)\bin.!ENDI
5e30: 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f  F..# The locatio
5e40: 6e 73 20 6f 66 20 74 68 65 20 7a 6c 69 62 20 68  ns of the zlib h
5e50: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72  eader and librar
5e60: 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73 65 20  y files.  These
5e70: 76 61 72 69 61 62 6c 65 73 0a 23 20 28 5a 4c 49  variables.# (ZLI
5e80: 42 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c 49 42  BINCDIR, ZLIBLIB
5e90: 44 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c 49 42  DIR, and ZLIBLIB
5ea0: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
5eb0: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
5ec0: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior
5ed0: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
5ee0: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
5ef0: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
5f00: 73 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f 75 72  stalled (or sour
5f10: 63 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63 61 74  ce.# code) locat
5f20: 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63 68  ion on this mach
5f30: 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 5a  ine..#.!IFNDEF Z
5f40: 4c 49 42 44 49 52 0a 5a 4c 49 42 44 49 52 20 3d  LIBDIR.ZLIBDIR =
5f50: 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 7a   $(TOP)\compat\z 5f60: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e lib.!ENDIF..!IFN 5f70: 44 45 46 20 5a 4c 49 42 49 4e 43 44 49 52 0a 5a DEF ZLIBINCDIR.Z 5f80: 4c 49 42 49 4e 43 44 49 52 20 3d 20 24 28 5a 4c LIBINCDIR =$(ZL
5f90: 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a 0a 21  IBDIR).!ENDIF..!
5fa0: 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42 44 49  IFNDEF ZLIBLIBDI
5fb0: 52 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d 20 24  R.ZLIBLIBDIR = $5fc0: 28 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46 (ZLIBDIR).!ENDIF 5fd0: 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 ..!IFNDEF ZLIBLI 5fe0: 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f B.!IF$(DYNAMIC_
5ff0: 53 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42 4c 49  SHELL)!=0.ZLIBLI
6000: 42 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21 45 4c  B = zdll.lib.!EL
6010: 53 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a 6c 69  SE.ZLIBLIB = zli
6020: 62 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e  b.lib.!ENDIF.!EN
6030: 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74  DIF..# The locat
6040: 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43 55 20  ions of the ICU
6050: 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61  header and libra
6060: 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73 65  ry files.  These
6070: 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 49 43   variables.# (IC
6080: 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49 42 44  UINCDIR, ICULIBD
6090: 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55 29 20  IR, and LIBICU)
60a0: 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 65  may be overridde
60b0: 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f  n via the enviro
60c0: 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f  nment.# prior to
60d0: 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69   running nmake i
60e0: 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68  n order to match
60f0: 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74   the actual inst
6100: 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 6f  alled location o
6110: 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69 6e 65  n.# this machine
6120: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43 55 44  ..#.!IFNDEF ICUD
6130: 49 52 0a 49 43 55 44 49 52 20 3d 20 24 28 54 4f  IR.ICUDIR = $(TO 6140: 50 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a 21 45 P)\compat\icu.!E 6150: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 49 43 NDIF..!IFNDEF IC 6160: 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 44 49 UINCDIR.ICUINCDI 6170: 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c 69 6e R =$(ICUDIR)\in
6180: 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49  clude.!ENDIF..!I
6190: 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49 52 0a  FNDEF ICULIBDIR.
61a0: 49 43 55 4c 49 42 44 49 52 20 3d 20 24 28 49 43  ICULIBDIR = $(IC 61b0: 55 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 UDIR)\lib.!ENDIF 61c0: 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 49 43 55 ..!IFNDEF LIBICU 61d0: 0a 4c 49 42 49 43 55 20 3d 20 69 63 75 75 63 2e .LIBICU = icuuc. 61e0: 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a 21 45 lib icuin.lib.!E 61f0: 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20 NDIF..# This is 6200: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 the command to u 6210: 73 65 20 66 6f 72 20 74 63 6c 73 68 20 2d 20 6e se for tclsh - n 6220: 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22 74 63 ormally just "tc 6230: 6c 73 68 22 2c 20 62 75 74 20 77 65 20 6d 61 79 lsh", but we may 6240: 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73 70 65 63 .# know the spec 6250: 69 66 69 63 20 76 65 72 73 69 6f 6e 20 77 65 20 ific version we 6260: 77 61 6e 74 20 74 6f 20 75 73 65 2e 20 20 54 68 want to use. Th 6270: 69 73 20 76 61 72 69 61 62 6c 65 20 28 54 43 4c is variable (TCL 6280: 53 48 5f 43 4d 44 29 20 6d 61 79 20 62 65 0a 23 SH_CMD) may be.# 6290: 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 overridden via 62a0: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 the environment 62b0: 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 prior to running 62c0: 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 nmake in order 62d0: 74 6f 20 73 65 6c 65 63 74 20 61 0a 23 20 73 70 to select a.# sp 62e0: 65 63 69 66 69 63 20 54 63 6c 20 73 68 65 6c 6c ecific Tcl shell 62f0: 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46 4e 44 to use..#.!IFND 6300: 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21 49 46 EF TCLSH_CMD.!IF 6310: 20 24 28 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f$(USE_TCLSH_IN_
6320: 50 41 54 48 29 21 3d 30 20 7c 7c 20 21 45 58 49  PATH)!=0 || !EXI
6330: 53 54 28 22 24 28 54 43 4c 44 49 52 29 5c 62 69  ST("$(TCLDIR)\bi 6340: 6e 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a 54 43 n\tclsh.exe").TC 6350: 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73 68 0a LSH_CMD = tclsh. 6360: 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d 44 20 !ELSE.TCLSH_CMD 6370: 3d 20 24 28 54 43 4c 44 49 52 29 5c 62 69 6e 5c =$(TCLDIR)\bin\
6380: 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44 49 46  tclsh.exe.!ENDIF
6390: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
63a0: 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65 72 20  k>>..# Compiler
63b0: 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64 20 66  options needed f
63c0: 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 68 61 74  or programs that
63d0: 20 75 73 65 20 74 68 65 20 72 65 61 64 6c 69 6e   use the readlin
63e0: 65 28 29 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  e() library..#.!
63f0: 49 46 4e 44 45 46 20 52 45 41 44 4c 49 4e 45 5f  IFNDEF READLINE_
6400: 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45 5f 46  FLAGS.READLINE_F
6410: 4c 41 47 53 20 3d 20 2d 44 48 41 56 45 5f 52 45  LAGS = -DHAVE_RE
6420: 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49 46 0a  ADLINE=0.!ENDIF.
6430: 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79 20 74  .# The library t
6440: 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75 73 69  hat programs usi
6450: 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20 6d 75  ng readline() mu
6460: 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e  st link against.
6470: 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49 42 52 45  .#.!IFNDEF LIBRE
6480: 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44 4c 49  ADLINE.LIBREADLI
6490: 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 53  NE =.!ENDIF..# S
64a0: 68 6f 75 6c 64 20 74 68 65 20 64 61 74 61 62 61  hould the databa
64b0: 73 65 20 65 6e 67 69 6e 65 20 62 65 20 63 6f 6d  se engine be com
64c0: 70 69 6c 65 64 20 74 68 72 65 61 64 73 61 66 65  piled threadsafe
64d0: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 64e0: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 -DSQLITE_THREADS 64f0: 41 46 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 AFE=1.RCC =$(RC
6500: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  C) -DSQLITE_THRE
6510: 41 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f 20 74  ADSAFE=1..# Do t
6520: 68 72 65 61 64 73 20 6f 76 65 72 72 69 64 65 20  hreads override
6530: 65 61 63 68 20 6f 74 68 65 72 73 20 6c 6f 63 6b  each others lock
6540: 73 20 62 79 20 64 65 66 61 75 6c 74 20 28 31 29  s by default (1)
6550: 2c 20 6f 72 20 64 6f 20 77 65 20 74 65 73 74 20  , or do we test
6560: 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24 28 54  (-1).#.TCC = $(T 6570: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 CC) -DSQLITE_THR 6580: 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 EAD_OVERRIDE_LOC 6590: 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 K=-1.RCC =$(RCC
65a0: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
65b0: 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d  D_OVERRIDE_LOCK=
65c0: 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72 67 65 74  -1..# Any target
65d0: 20 6c 69 62 72 61 72 69 65 73 20 77 68 69 63 68   libraries which
65e0: 20 6c 69 62 73 71 6c 69 74 65 20 6d 75 73 74 20   libsqlite must
65f0: 62 65 20 6c 69 6e 6b 65 64 20 61 67 61 69 6e 73  be linked agains
6600: 74 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c 49 42  t.#.!IFNDEF TLIB
6610: 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44 49 46  S.TLIBS =.!ENDIF
6620: 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74 72 6f  ..# Flags contro
6630: 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20 74 68 65  lling use of the
6640: 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72 65 65   in memory btree
6650: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a   implementation.
6660: 23 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d 50 5f  #.# SQLITE_TEMP_
6670: 53 54 4f 52 45 20 69 73 20 30 20 74 6f 20 66 6f  STORE is 0 to fo
6680: 72 63 65 20 74 65 6d 70 6f 72 61 72 79 20 74 61  rce temporary ta
6690: 62 6c 65 73 20 74 6f 20 62 65 20 69 6e 20 61 20  bles to be in a
66a0: 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64 65 66  file, 1 to.# def
66b0: 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20 32 20  ault to file, 2
66c0: 74 6f 20 64 65 66 61 75 6c 74 20 74 6f 20 6d 65  to default to me
66d0: 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f 20 66  mory, and 3 to f
66e0: 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 0a 23  orce temporary.#
66f0: 20 74 61 62 6c 65 73 20 74 6f 20 61 6c 77 61 79   tables to alway
6700: 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a  s be in memory..
6710: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  #.TCC = $(TCC) - 6720: 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f DSQLITE_TEMP_STO 6730: 52 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 RE=1.RCC =$(RCC
6740: 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f  ) -DSQLITE_TEMP_
6750: 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61 62 6c  STORE=1..# Enabl
6760: 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64 61 62  e/disable loadab
6770: 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 61  le extensions, a
6780: 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e 61  nd other optiona
6790: 6c 20 66 65 61 74 75 72 65 73 0a 23 20 62 61 73  l features.# bas
67a0: 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72 61 74  ed on configurat
67b0: 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45 5f 4f  ion. (-DSQLITE_O
67c0: 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45 5f 45  MIT*, -DSQLITE_E
67d0: 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65 20 73  NABLE*)..# The s
67e0: 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49 54 20  ame set of OMIT
67f0: 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61 67 73  and ENABLE flags
6800: 20 73 68 6f 75 6c 64 20 62 65 20 70 61 73 73 65   should be passe
6810: 64 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d 4f 4e  d to the.# LEMON
6820: 20 70 61 72 73 65 72 20 67 65 6e 65 72 61 74 6f   parser generato
6830: 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65 79 77  r and the mkkeyw
6840: 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20 61 73 20  ordhash tool as
6850: 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65 20 61  well...# These a
6860: 72 65 20 74 68 65 20 72 65 71 75 69 72 65 64 20  re the required
6870: 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69  SQLite compilati
6880: 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20  on options used
6890: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66  when compiling f
68a0: 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 73  or.# the Windows
68b0: 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52 45 51   platform..#.REQ
68c0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
68d0: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F 68e0: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4d LAGS) -DSQLITE_M 68f0: 41 58 5f 54 52 49 47 47 45 52 5f 44 45 50 54 48 AX_TRIGGER_DEPTH 6900: 3d 31 30 30 0a 0a 23 20 49 66 20 77 65 20 61 72 =100..# If we ar 6910: 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68 65 e linking to the 6920: 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 79 2c RPCRT4 library, 6930: 20 65 6e 61 62 6c 65 20 66 65 61 74 75 72 65 73 enable features 6940: 20 74 68 61 74 20 6e 65 65 64 20 69 74 2e 0a 23 that need it..# 6950: 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 54 .!IF$(USE_RPCRT
6960: 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f 46 45  4_LIB)!=0.REQ_FE
6970: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  ATURE_FLAGS = $( 6980: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 REQ_FEATURE_FLAG 6990: 53 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 S) -DSQLITE_WIN3 69a0: 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21 45 4e 2_USE_UUID=1.!EN 69b0: 44 49 46 0a 0a 23 20 41 64 64 20 74 68 65 20 72 DIF..# Add the r 69c0: 65 71 75 69 72 65 64 20 61 6e 64 20 6f 70 74 69 equired and opti 69d0: 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f 6d 70 onal SQLite comp 69e0: 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 ilation options 69f0: 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 into the command 6a00: 0a 23 20 6c 69 6e 65 73 20 75 73 65 64 20 74 6f .# lines used to 6a10: 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53 56 43 invoke the MSVC 6a20: 20 63 6f 64 65 20 61 6e 64 20 72 65 73 6f 75 72 code and resour 6a30: 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a 23 0a ce compilers..#. 6a40: 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 52 TCC =$(TCC) $(R 6a50: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 EQ_FEATURE_FLAGS 6a60: 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f )$(OPT_FEATURE_
6a70: 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41  FLAGS) $(EXT_FEA 6a80: 54 55 52 45 5f 46 4c 41 47 53 29 0a 52 43 43 20 TURE_FLAGS).RCC 6a90: 3d 20 24 28 52 43 43 29 20 24 28 52 45 51 5f 46 =$(RCC) $(REQ_F 6aa0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 EATURE_FLAGS)$(
6ab0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
6ac0: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE 6ad0: 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64 64 20 69 _FLAGS)..# Add i 6ae0: 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c 20 70 n any optional p 6af0: 61 72 61 6d 65 74 65 72 73 20 73 70 65 63 69 66 arameters specif 6b00: 69 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 ied on the comma 6b10: 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a 23 20 ne line, e.g..# 6b20: 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c nmake /f Makefil 6b30: 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54 53 3d e.msc all "OPTS= 6b40: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 6b50: 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45 5f 4f FOO=1 -DSQLITE_O 6b60: 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54 43 43 MIT_FOO=1".#.TCC 6b70: 20 3d 20 24 28 54 43 43 29 20 24 28 4f 50 54 53 =$(TCC) $(OPTS 6b80: 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 24 ).RCC =$(RCC) $6b90: 28 4f 50 54 53 29 0a 0a 23 20 49 66 20 63 6f 6d (OPTS)..# If com 6ba0: 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 75 67 piling for debug 6bb0: 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65 20 64 ging, add some d 6bc0: 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20 24 28 efines..#.!IF$(
6bd0: 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24  DEBUG)>1.TCC = $6be0: 28 54 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 42 (TCC) -D_DEBUG.B 6bf0: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 44 CC =$(BCC) -D_D
6c00: 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52 43 43  EBUG.RCC = $(RCC 6c10: 29 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e 44 49 ) -D_DEBUG.!ENDI 6c20: 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69 7a 61 F..# If optimiza 6c30: 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 62 6c 65 tions are enable 6c40: 64 20 6f 72 20 64 69 73 61 62 6c 65 64 20 28 65 d or disabled (e 6c50: 69 74 68 65 72 20 69 6d 70 6c 69 63 69 74 6c 79 ither implicitly 6c60: 20 6f 72 0a 23 20 65 78 70 6c 69 63 69 74 6c 79 or.# explicitly 6c70: 29 2c 20 61 64 64 20 74 68 65 20 6e 65 63 65 73 ), add the neces 6c80: 73 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a 21 49 sary flags..#.!I 6c90: 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 F$(DEBUG)>1 ||
6ca0: 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29  $(OPTIMIZATIONS) 6cb0: 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 ==0.TCC =$(TCC)
6cc0: 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42 43 43   -Od.BCC = $(BCC 6cd0: 29 20 2d 4f 64 0a 21 49 46 20 24 28 55 53 45 5f ) -Od.!IF$(USE_
6ce0: 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 29 21  RUNTIME_CHECKS)!
6cf0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 6d00: 2d 52 54 43 31 0a 42 43 43 20 3d 20 24 28 42 43 -RTC1.BCC =$(BC
6d10: 43 29 20 2d 52 54 43 31 0a 21 45 4e 44 49 46 0a  C) -RTC1.!ENDIF.
6d20: 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49  !ELSEIF $(OPTIMI 6d30: 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43 43 20 ZATIONS)>=3.TCC 6d40: 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42 43 43 =$(TCC) -Ox.BCC
6d50: 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a 21 45   = $(BCC) -Ox.!E 6d60: 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 LSEIF$(OPTIMIZA
6d70: 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20 3d 20  TIONS)==2.TCC =
6d80: 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43 20 3d  $(TCC) -O2.BCC = 6d90: 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45 4c 53$(BCC) -O2.!ELS
6da0: 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49  EIF $(OPTIMIZATI 6db0: 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20 24 28 ONS)==1.TCC =$(
6dc0: 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d 20 24  TCC) -O1.BCC = $6dd0: 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44 49 46 (BCC) -O1.!ENDIF 6de0: 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73 20 61 ..# If symbols a 6df0: 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72 20 63 re enabled (or c 6e00: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 ompiling for deb 6e10: 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c 65 20 ugging), enable 6e20: 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 PDBs..#.!IF$(DE
6e30: 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d 42  BUG)>1 || $(SYMB 6e40: 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 OLS)!=0.TCC =$(
6e50: 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d 20 24  TCC) -Zi.BCC = $6e60: 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44 49 46 (BCC) -Zi.!ENDIF 6e70: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 49 ..# <<mark>>.# I 6e80: 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 20 69 f zlib support i 6e90: 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 s enabled, add t 6ea0: 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 he compiler opti 6eb0: 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 ons for it..#.!I 6ec0: 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 F$(USE_ZLIB)!=0
6ed0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D 6ee0: 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c 49 42 SQLITE_HAVE_ZLIB 6ef0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 =1.RCC =$(RCC)
6f00: 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c  -DSQLITE_HAVE_ZL
6f10: 49 42 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43  IB=1.TCC = $(TCC 6f20: 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 ) -I$(ZLIBINCDIR
6f30: 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  ).RCC = $(RCC) - 6f40: 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 0a 21 I$(ZLIBINCDIR).!
6f50: 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55 20  ENDIF..# If ICU
6f60: 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c  support is enabl
6f70: 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d 70  ed, add the comp
6f80: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72  iler options for
6f90: 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45   it..#.!IF $(USE 6fa0: 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d 20 24 _ICU)!=0.TCC =$
6fb0: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (TCC) -DSQLITE_E
6fc0: 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43 43 20  NABLE_ICU=1.RCC
6fd0: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT 6fe0: 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 54 E_ENABLE_ICU=1.T 6ff0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 CC =$(TCC) -I$( 7000: 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52 43 43 TOP)\ext\icu.RCC 7010: 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f =$(RCC) -I$(TO 7020: 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43 20 3d P)\ext\icu.TCC = 7030: 20 24 28 54 43 43 29 20 2d 49 24 28 49 43 55 49$(TCC) -I$(ICUI 7040: 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52 NCDIR).RCC =$(R
7050: 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49  CC) -I$(ICUINCDI 7060: 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d R).!ENDIF.# <</m 7070: 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 6e 64 ark>>..# Command 7080: 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73 20 66 line prefixes f 7090: 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 or compiling cod 70a0: 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72 65 73 e, compiling res 70b0: 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b 69 6e ources,.# linkin 70c0: 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f 4d 50 g, etc..#.LTCOMP 70d0: 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d 46 6f ILE =$(TCC) -Fo
70e0: 24 40 20 2d 46 64 24 2a 2e 70 64 62 0a 4c 54 52  $@ -Fd$*.pdb.LTR
70f0: 43 4f 4d 50 49 4c 45 20 3d 20 24 28 52 43 43 29  COMPILE = $(RCC) 7100: 20 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c 69 62 2e -r.LTLIB = lib. 7110: 65 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28 54 exe.LTLINK =$(T
7120: 43 43 29 20 2d 46 65 24 40 0a 0a 23 20 49 66 20  CC) -Fe$@..# If 7130: 72 65 71 75 65 73 74 65 64 2c 20 6c 69 6e 6b 20 requested, link 7140: 74 6f 20 74 68 65 20 52 50 43 52 54 34 20 6c 69 to the RPCRT4 li 7150: 62 72 61 72 79 2e 0a 23 0a 21 49 46 20 24 28 55 brary..#.!IF$(U
7160: 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 21 3d  SE_RPCRT4_LIB)!=
7170: 30 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c  0.LTLIBS = $(LTL 7180: 49 42 53 29 20 72 70 63 72 74 34 2e 6c 69 62 0a IBS) rpcrt4.lib. 7190: 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 61 20 70 !ENDIF..# If a p 71a0: 6c 61 74 66 6f 72 6d 20 77 61 73 20 73 65 74 2c latform was set, 71b0: 20 66 6f 72 63 65 20 74 68 65 20 6c 69 6e 6b 65 force the linke 71c0: 72 20 74 6f 20 74 61 72 67 65 74 20 74 68 61 74 r to target that 71d0: 2e 0a 23 20 4e 6f 74 65 20 74 68 61 74 20 74 68 ..# Note that th 71e0: 65 20 76 63 76 61 72 73 2a 2e 62 61 74 20 66 61 e vcvars*.bat fa 71f0: 6d 69 6c 79 20 6f 66 20 62 61 74 63 68 20 66 69 mily of batch fi 7200: 6c 65 73 20 74 79 70 69 63 61 6c 6c 79 0a 23 20 les typically.# 7210: 73 65 74 20 74 68 69 73 20 66 6f 72 20 79 6f 75 set this for you 7220: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 . Otherwise, th 7230: 65 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20 61 74 e linker will at 7240: 74 65 6d 70 74 0a 23 20 74 6f 20 64 65 64 75 63 tempt.# to deduc 7250: 65 20 74 68 65 20 62 69 6e 61 72 79 20 74 79 70 e the binary typ 7260: 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6f e based on the o 7270: 62 6a 65 63 74 20 66 69 6c 65 73 2e 0a 21 49 46 bject files..!IF 7280: 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 4c 54 4c DEF PLATFORM.LTL 7290: 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 INKOPTS = /NOLOG 72a0: 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 O /MACHINE:$(PLA
72b0: 54 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50 54 53  TFORM).LTLIBOPTS
72c0: 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48   = /NOLOGO /MACH
72d0: 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a  INE:$(PLATFORM). 72e0: 21 45 4c 53 45 49 46 20 22 24 28 56 49 53 55 41 !ELSEIF "$(VISUA
72f0: 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22  LSTUDIOVERSION)"
7300: 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 5c 0a 20 20  =="12.0" || \.
7310: 20 20 20 20 20 20 22 24 28 56 49 53 55 41 4c 53        "$(VISUALS 7320: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d TUDIOVERSION)"== 7330: 22 31 34 2e 30 22 20 7c 7c 20 5c 0a 20 20 20 20 "14.0" || \. 7340: 20 20 20 20 22 24 28 56 49 53 55 41 4c 53 54 55 "$(VISUALSTU
7350: 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31  DIOVERSION)"=="1
7360: 35 2e 30 22 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  5.0".LTLINKOPTS
7370: 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49  = /NOLOGO /MACHI
7380: 4e 45 3a 78 38 36 0a 4c 54 4c 49 42 4f 50 54 53  NE:x86.LTLIBOPTS
7390: 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48   = /NOLOGO /MACH
73a0: 49 4e 45 3a 78 38 36 0a 21 45 4c 53 45 0a 4c 54  INE:x86.!ELSE.LT
73b0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f  LINKOPTS = /NOLO
73c0: 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f  GO.LTLIBOPTS = /
73d0: 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23  NOLOGO.!ENDIF..#
73e0: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   When compiling
73f0: 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 57  for use in the W
7400: 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  inRT environment
7410: 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a  , the following.
7420: 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20  # linker option
7430: 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20  must be used to
7440: 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 74 61  mark the executa
7450: 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a  ble as runnable.
7460: 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f  # only in the co
7470: 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70 6c  ntext of an appl
7480: 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65  ication containe
7490: 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57  r..#.!IF $(FOR_W 74a0: 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f INRT)!=0.LTLINKO 74b0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 PTS =$(LTLINKOP
74c0: 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45  TS) /APPCONTAINE
74d0: 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c 53  R.!IF "$(VISUALS 74e0: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d TUDIOVERSION)"== 74f0: 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49 53 "12.0" || "$(VIS
7500: 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e  UALSTUDIOVERSION
7510: 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44  )"=="14.0".!IFND
7520: 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48 0a  EF STORELIBPATH.
7530: 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  !IF "$(PLATFORM) 7540: 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c 49 "=="x86".STORELI 7550: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 BPATH =$(CRTLIB
7560: 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53  PATH)\store.!ELS
7570: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM) 7580: 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c 49 "=="x64".STORELI 7590: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 BPATH =$(CRTLIB
75a0: 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36  PATH)\store\amd6
75b0: 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41  4.!ELSEIF "$(PLA 75c0: 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 TFORM)"=="ARM".S 75d0: 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 TORELIBPATH =$(
75e0: 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72  CRTLIBPATH)\stor
75f0: 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52  e\arm.!ELSE.STOR
7600: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54  ELIBPATH = $(CRT 7610: 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 LIBPATH)\store.! 7620: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f ENDIF.!ENDIF.STO 7630: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53 54 RELIBPATH =$(ST
7640: 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29  ORELIBPATH:\\=\)
7650: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $( 7660: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 LTLINKOPTS) "/LI 7670: 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49 42 BPATH:$(STORELIB
7680: 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45  PATH)".!ENDIF.!E
7690: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
76a0: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
76b0: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e  ws Phone 8.1, an
76c0: 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 20 70   extra library p
76d0: 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 72 65  ath is.# require
76e0: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57  d..#.!IF $(USE_W 76f0: 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 P81_OPTS)!=0.!IF 7700: 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48 NDEF WP81LIBPATH 7710: 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d .!IF "$(PLATFORM
7720: 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c 49  )"=="x86".WP81LI
7730: 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41  BPATH = $(PROGRA 7740: 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 MFILES_X86)\Wind 7750: 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 ows Phone Kits\8 7760: 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45 .1\lib\x86.!ELSE 7770: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 IF "$(PLATFORM)"
7780: 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42 50  =="ARM".WP81LIBP
7790: 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46  ATH = $(PROGRAMF 77a0: 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 ILES_X86)\Window 77b0: 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 s Phone Kits\8.1 77c0: 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 \lib\ARM.!ELSE.W 77d0: 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 P81LIBPATH =$(P
77e0: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29  ROGRAMFILES_X86)
77f0: 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b  \Windows Phone K
7800: 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a  its\8.1\lib\x86.
7810: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45  !ENDIF.!ENDIF.!E
7820: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7830: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
7840: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f  ws Phone 8.1, so
7850: 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 20  me extra linker
7860: 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c  options.# are al
7870: 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  so required..#.!
7880: 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50  IF $(USE_WP81_OP 7890: 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57 50 TS)!=0.!IFDEF WP 78a0: 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 81LIBPATH.LTLINK 78b0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f OPTS =$(LTLINKO
78c0: 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24  PTS) "/LIBPATH:$78d0: 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a 21 (WP81LIBPATH)".! 78e0: 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 ENDIF.LTLINKOPTS 78f0: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 =$(LTLINKOPTS)
7900: 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54   /DYNAMICBASE.LT
7910: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL 7920: 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77 73 INKOPTS) Windows 7930: 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75 PhoneCore.lib Ru 7940: 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20 ntimeObject.lib 7950: 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73 PhoneAppModelHos 7960: 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 t.lib.LTLINKOPTS 7970: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 =$(LTLINKOPTS)
7980: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b   /NODEFAULTLIB:k
7990: 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44  ernel32.lib /NOD
79a0: 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e  EFAULTLIB:ole32.
79b0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68  lib.!ENDIF..# Wh
79c0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
79d0: 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e 64   UWP or the Wind
79e0: 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c  ows 10 platform,
79f0: 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b   some extra link
7a00: 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65  er.# options are
7a10: 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a   also required..
7a20: 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50 29  #.!IF $(FOR_UWP) 7a30: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e !=0 ||$(FOR_WIN
7a40: 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54  10)!=0.LTLINKOPT
7a50: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS 7a60: 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20 2f ) /DYNAMICBASE / 7a70: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 NODEFAULTLIB:ker 7a80: 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b nel32.lib.LTLINK 7a90: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f OPTS =$(LTLINKO
7aa0: 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62  PTS) mincore.lib
7ab0: 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42 50  .!IFDEF PSDKLIBP
7ac0: 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  ATH.LTLINKOPTS =
7ad0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22   $(LTLINKOPTS) " 7ae0: 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b 4c /LIBPATH:$(PSDKL
7af0: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a  IBPATH)".!ENDIF.
7b00: 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46 4f  !ENDIF..!IF $(FO 7b10: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 R_WIN10)!=0.LTLI 7b20: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e NKOPTS =$(LTLIN
7b30: 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63 66  KOPTS) /guard:cf
7b40: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43 52   "/LIBPATH:$(UCR 7b50: 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20 24 TLIBPATH)".!IF$
7b60: 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b  (DEBUG)>1.LTLINK
7b70: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO 7b80: 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c PTS) /NODEFAULTL 7b90: 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62 20 IB:libucrtd.lib 7ba0: 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 /DEFAULTLIB:ucrt 7bb0: 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 d.lib.!ELSE.LTLI 7bc0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e NKOPTS =$(LTLIN
7bd0: 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c  KOPTS) /NODEFAUL
7be0: 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62  TLIB:libucrt.lib
7bf0: 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72   /DEFAULTLIB:ucr
7c00: 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e  t.lib.!ENDIF.!EN
7c10: 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65 72  DIF..# If either
7c20: 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73 79   debugging or sy
7c30: 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c 65  mbols are enable
7c40: 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a  d, enable PDBs..
7c50: 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  #.!IF $(DEBUG)>1 7c60: 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d ||$(SYMBOLS)!=
7c70: 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45 42  0.LDFLAGS = /DEB
7c80: 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c  UG $(LDOPTS).!EL 7c90: 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c SE.LDFLAGS =$(L
7ca0: 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23  DOPTS).!ENDIF..#
7cb0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72   <<mark>>.# Star
7cc0: 74 20 77 69 74 68 20 74 68 65 20 54 63 6c 20 72  t with the Tcl r
7cd0: 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70  elated linker op
7ce0: 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e  tions..#.!IF $(N 7cf0: 4f 5f 54 43 4c 29 3d 3d 30 0a 54 43 4c 4c 49 42 O_TCL)==0.TCLLIB 7d00: 50 41 54 48 53 20 3d 20 24 28 54 43 4c 4c 49 42 PATHS =$(TCLLIB
7d10: 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48 3a  PATHS) /LIBPATH:
7d20: 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 54 43 4c  $(TCLLIBDIR).TCL 7d30: 4c 49 42 53 20 3d 20 24 28 54 43 4c 4c 49 42 53 LIBS =$(TCLLIBS
7d40: 29 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44  ) $(LIBTCL).!END 7d50: 49 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 IF..# If zlib su 7d60: 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 pport is enabled 7d70: 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 , add the linker 7d80: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e options for it. 7d90: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 .#.!IF$(USE_ZLI
7da0: 42 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53  B)!=0.LTLIBPATHS
7db0: 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29   = $(LTLIBPATHS) 7dc0: 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 /LIBPATH:$(ZLIB
7dd0: 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d  LIBDIR).LTLIBS =
7de0: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49   $(LTLIBS)$(ZLI
7df0: 42 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20  BLIB).!ENDIF..#
7e00: 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69  If ICU support i
7e10: 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74  s enabled, add t
7e20: 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  he linker option
7e30: 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20  s for it..#.!IF
7e40: 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54  $(USE_ICU)!=0.LT 7e50: 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c LIBPATHS =$(LTL
7e60: 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54  IBPATHS) /LIBPAT
7e70: 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c  H:$(ICULIBDIR).L 7e80: 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 TLIBS =$(LTLIBS
7e90: 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44  ) $(LIBICU).!END 7ea0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a IF.# <</mark>>.. 7eb0: 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 # You should not 7ec0: 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 have to change 7ed0: 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 anything below t 7ee0: 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 his line.####### 7ef0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7f00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7f10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7f20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7f30: 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 ########..# <<ma 7f40: 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 rk>>.# Object fi 7f50: 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69 les for the SQLi 7f60: 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d te library (non- 7f70: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 amalgamation)..# 7f80: 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 .LIBOBJS0 = vdbe 7f90: 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 .lo parse.lo alt 7fa0: 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f er.lo analyze.lo 7fb0: 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e attach.lo auth. 7fc0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61 lo \. ba 7fd0: 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c ckup.lo bitvec.l 7fe0: 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 o btmutex.lo btr 7ff0: 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c ee.lo build.lo \ 8000: 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 . callba 8010: 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c ck.lo complete.l 8020: 6f 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20 o ctime.lo \. 8030: 20 20 20 20 20 20 64 61 74 65 2e 6c 6f 20 64 62 date.lo db 8040: 70 61 67 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c page.lo dbstat.l 8050: 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 o delete.lo \. 8060: 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20 66 expr.lo f 8070: 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 ault.lo fkey.lo 8080: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 2e \. fts3. 8090: 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66 lo fts3_aux.lo f 80a0: 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33 ts3_expr.lo fts3 80b0: 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63 _hash.lo fts3_ic 80c0: 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 u.lo \. 80d0: 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 fts3_porter.lo f 80e0: 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66 ts3_snippet.lo f 80f0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f ts3_tokenizer.lo 8100: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 fts3_tokenizer1 8110: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 .lo \. f 8120: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 ts3_tokenize_vta 8130: 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 b.lo fts3_unicod 8140: 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 e.lo fts3_unicod 8150: 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74 65 e2.lo fts3_write 8160: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 .lo \. f 8170: 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 ts5.lo \. 8180: 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c func.lo global 8190: 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 .lo hash.lo \. 81a0: 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e icu.lo in 81b0: 73 65 72 74 2e 6c 6f 20 6a 73 6f 6e 31 2e 6c 6f sert.lo json1.lo 81c0: 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64 65 legacy.lo loade 81d0: 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 xt.lo \. 81e0: 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63 2e main.lo malloc. 81f0: 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31 2e lo mem0.lo mem1. 8200: 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33 2e lo mem2.lo mem3. 8210: 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20 20 lo mem5.lo \. 8220: 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f 20 6d memdb.lo m 8230: 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a 20 emjournal.lo \. 8240: 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c 6f mutex.lo 8250: 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d mutex_noop.lo m 8260: 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 74 utex_unix.lo mut 8270: 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 20 ex_w32.lo \. 8280: 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 6f notify.lo o 8290: 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f 20 pcodes.lo os.lo 82a0: 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69 os_unix.lo os_wi 82b0: 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 n.lo \. 82c0: 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65 2e pager.lo pcache. 82d0: 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70 72 lo pcache1.lo pr 82e0: 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65 2e agma.lo prepare. 82f0: 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a 20 lo printf.lo \. 8300: 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e 6c random.l 8310: 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f 77 o resolve.lo row 8320: 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f 20 set.lo rtree.lo 8330: 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69 74 \. sqlit 8340: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 6c e3session.lo sel 8350: 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72 62 ect.lo sqlite3rb 8360: 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20 73 u.lo status.lo s 8370: 74 6d 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 tmt.lo \. 8380: 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 65 61 table.lo threa 8390: 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 2e 6c ds.lo tokenize.l 83a0: 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 74 72 o treeview.lo tr 83b0: 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 igger.lo \. 83c0: 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 75 70 update.lo up 83d0: 73 65 72 74 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20 sert.lo util.lo 83e0: 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20 vacuum.lo \. 83f0: 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c 6f 20 vdbeapi.lo 8400: 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62 65 62 vdbeaux.lo vdbeb 8410: 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c lob.lo vdbemem.l 8420: 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a o vdbesort.lo \. 8430: 20 20 20 20 20 20 20 20 20 76 64 62 65 74 72 61 vdbetra 8440: 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c ce.lo wal.lo wal 8450: 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20 ker.lo where.lo 8460: 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65 wherecode.lo whe 8470: 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20 reexpr.lo \. 8480: 20 20 20 20 20 77 69 6e 64 6f 77 2e 6c 6f 20 75 window.lo u 8490: 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 tf.lo vtab.lo.# 84a0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a <</mark>>..# Obj 84b0: 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 ect files for th 84c0: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a e amalgamation.. 84d0: 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c #.LIBOBJS1 = sql 84e0: 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 ite3.lo..# Deter 84f0: 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61 mine the real va 8500: 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61 lue of LIBOBJ ba 8510: 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66 sed on the 'conf 8520: 69 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a igure' script.#. 8530: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 # <<mark>>.!IF$
8540: 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  (USE_AMALGAMATIO
8550: 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24  N)==0.LIBOBJ = $8560: 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45 (LIBOBJS0).!ELSE 8570: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 .# <</mark>>.LIB 8580: 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31 OBJ =$(LIBOBJS1
8590: 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e  ).# <<mark>>.!EN
85a0: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
85b0: 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20  .# Determine if
85c0: 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72 63  embedded resourc
85d0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e  e compilation an
85e0: 64 20 75 73 61 67 65 20 61 72 65 20 65 6e 61 62  d usage are enab
85f0: 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  led..#.!IF $(USE 8600: 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42 _RC)!=0.LIBRESOB 8610: 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e JS = sqlite3res. 8620: 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f lo.!ELSE.LIBRESO 8630: 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 BJS =.!ENDIF..# 8640: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20 <<mark>>.# Core 8650: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 source code file 8660: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 s, part 1..#.SRC 8670: 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 00 = \.$(TOP)\
8680: 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20  src\alter.c \.
8690: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79  $(TOP)\src\analy 86a0: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ze.c \.$(TOP)\
86b0: 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20  src\attach.c \.
86c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68   $(TOP)\src\auth 86d0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
86e0: 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24  c\backup.c \.  $86f0: 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 (TOP)\src\bitvec 8700: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8710: 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20  c\btmutex.c \.
8720: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree 8730: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8740: 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28  c\build.c \.  $( 8750: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 TOP)\src\callbac 8760: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 k.c \.$(TOP)\s
8770: 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a  rc\complete.c \.
8780: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69    $(TOP)\src\cti 8790: 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c me.c \.$(TOP)\
87a0: 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24  src\date.c \.  $87b0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65 (TOP)\src\dbpage 87c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
87d0: 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20 24  c\dbstat.c \.  $87e0: 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 (TOP)\src\delete 87f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8800: 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54  c\expr.c \.  $(T 8810: 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 OP)\src\fault.c 8820: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 \.$(TOP)\src\f
8830: 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  key.c \.  $(TOP) 8840: 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 20 \src\func.c \. 8850: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61$(TOP)\src\globa
8860: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s 8870: 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 rc\hash.c \.$(
8880: 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e  TOP)\src\insert.
8890: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 88a0: 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24 28 \legacy.c \.$(
88b0: 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74  TOP)\src\loadext
88c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 88d0: 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 c\main.c \.$(T
88e0: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63  OP)\src\malloc.c
88f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8900: 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f 50 mem0.c \.$(TOP
8910: 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20  )\src\mem1.c \.
8920: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32   $(TOP)\src\mem2 8930: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8940: 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28 54  c\mem3.c \.  $(T 8950: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c OP)\src\mem5.c \ 8960: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 .$(TOP)\src\me
8970: 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mdb.c \.  $(TOP) 8980: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e \src\memjournal. 8990: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
89a0: 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54  \mutex.c \.  $(T 89b0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f OP)\src\mutex_no 89c0: 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c op.c \.$(TOP)\
89d0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
89e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 89f0: 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20 mutex_w32.c \. 8a00: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66$(TOP)\src\notif
8a10: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s 8a20: 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f rc\os.c \.$(TO
8a30: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
8a40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8a50: 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65 os_win.c..# Core 8a60: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c source code fil 8a70: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 es, part 2..#.SR 8a80: 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 C01 = \.$(TOP)
8a90: 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20  \src\pager.c \.
8aa0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac 8ab0: 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c he.c \.$(TOP)\
8ac0: 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a  src\pcache1.c \.
8ad0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61    $(TOP)\src\pra 8ae0: 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 gma.c \.$(TOP)
8af0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c  \src\prepare.c \
8b00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  .  $(TOP)\src\pr 8b10: 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 intf.c \.$(TOP
8b20: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c  )\src\random.c \
8b30: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  .  $(TOP)\src\re 8b40: 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f solve.c \.$(TO
8b50: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c
8b60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s 8b70: 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f elect.c \.$(TO
8b80: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20  P)\src\status.c
8b90: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8ba0: 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 able.c \.$(TOP
8bb0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20  )\src\threads.c
8bc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8bd0: 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 clsqlite.c \.$
8be0: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
8bf0: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ze.c \.  $(TOP)\ 8c00: 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c src\treeview.c \ 8c10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 .$(TOP)\src\tr
8c20: 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  igger.c \.  $(TO 8c30: 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20 P)\src\utf.c \. 8c40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61$(TOP)\src\upda
8c50: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\ 8c60: 73 72 63 5c 75 70 73 65 72 74 2e 63 20 5c 0a 20 src\upsert.c \. 8c70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c$(TOP)\src\util
8c80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8c90: 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24 c\vacuum.c \.$
8ca0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
8cb0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8cc0: 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 vdbeapi.c \.$(
8cd0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
8ce0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8cf0: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 c\vdbeblob.c \. 8d00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
8d10: 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mem.c \.  $(TOP) 8d20: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 \src\vdbesort.c 8d30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 \.$(TOP)\src\v
8d40: 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24  dbetrace.c \.  $8d50: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 (TOP)\src\vtab.c 8d60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8d70: 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  wal.c \.  $(TOP) 8d80: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a \src\walker.c \. 8d90: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65$(TOP)\src\whe
8da0: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\ 8db0: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 src\wherecode.c 8dc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 \.$(TOP)\src\w
8dd0: 68 65 72 65 65 78 70 72 2e 63 20 5c 0a 20 20 24  hereexpr.c \.  $8de0: 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 (TOP)\src\window 8df0: 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73 63 65 .c..# Core misce 8e00: 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73 2e 0a llaneous files.. 8e10: 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20 24 28 #.SRC03 = \.$(
8e20: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79  TOP)\src\parse.y
8e30: 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20  ..# Core header
8e40: 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23  files, part 1..#
8e50: 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 28 54  .SRC04 = \.  $(T 8e60: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68 20 OP)\src\btree.h 8e70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 \.$(TOP)\src\b
8e80: 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28  treeInt.h \.  $( 8e90: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 TOP)\src\hash.h 8ea0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 \.$(TOP)\src\h
8eb0: 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 54 4f  wtime.h \.  $(TO 8ec0: 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a P)\src\msvc.h \. 8ed0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74$(TOP)\src\mut
8ee0: 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.h \.  $(TOP)\ 8ef0: 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24 28 54 src\os.h \.$(T
8f00: 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f  OP)\src\os_commo
8f10: 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  n.h \.  $(TOP)\s 8f20: 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a rc\os_setup.h \. 8f30: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f$(TOP)\src\os_
8f40: 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 68 65  win.h..# Core he
8f50: 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74  ader files, part
8f60: 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 5c 0a   2..#.SRC05 = \.
8f70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag 8f80: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c er.h \.$(TOP)\
8f90: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20  src\pcache.h \.
8fa0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag 8fb0: 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c ma.h \.$(TOP)\
8fc0: 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20  src\sqlite.h.in
8fd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s 8fe0: 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 20 qlite3ext.h \. 8ff0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74$(TOP)\src\sqlit
9000: 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eInt.h \.  $(TOP 9010: 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 )\src\sqliteLimi 9020: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 t.h \.$(TOP)\s
9030: 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 24 28  rc\vdbe.h \.  $( 9040: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 TOP)\src\vdbeInt 9050: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .h \.$(TOP)\sr
9060: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.
9070: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 68  $(TOP)\src\wal.h 9080: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9090: 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 45 78  whereInt.h..# Ex
90a0: 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63  tension source c
90b0: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part
90c0: 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c 0a 20  1..#.SRC06 = \.
90d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1 90e0: 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28 54 4f \fts1.c \.$(TO
90f0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
9100: 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f  _hash.c \.  $(TO 9110: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 P)\ext\fts1\fts1 9120: 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 _porter.c \.$(
9130: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9140: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s1_tokenizer1.c
9150: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9160: 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20 20 24 ts2\fts2.c \.$
9170: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
9180: 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24  ts2_hash.c \.  $9190: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f 91a0: 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28 ts2_icu.c \.$(
91b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
91c0: 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s2_porter.c \.
91d0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ 91e0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 fts2_tokenizer.c 91f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9200: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
9210: 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 6e 73  zer1.c..# Extens
9220: 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20  ion source code
9230: 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23  files, part 2..#
9240: 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 28 54  .SRC07 = \.  $(T 9250: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 9260: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 3.c \.$(TOP)\e
9270: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78  xt\fts3\fts3_aux
9280: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9290: 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 t\fts3\fts3_expr 92a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
92b0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
92c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 92d0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e t\fts3\fts3_icu. 92e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
92f0: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
9300: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 9310: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 xt\fts3\fts3_sni 9320: 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 ppet.c \.$(TOP
9330: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
9340: 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20  tokenizer.c \.
9350: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 9360: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e fts3_tokenizer1. 9370: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9380: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
9390: 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 20 24  ize_vtab.c \.  $93a0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f 93b0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 5c 0a ts3_unicode.c \. 93c0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
93d0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
93e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 93f0: 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 \fts3\fts3_write 9400: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
9410: 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a 20 20  t\icu\icu.c \.
9420: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree 9430: 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 \rtree.c \.$(T
9440: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
9450: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63  sqlite3session.c
9460: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 9470: 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 rbu\sqlite3rbu.c 9480: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9490: 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c 0a 20  misc\json1.c \.
94a0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 94b0: 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 78 74 65 6e \stmt.c..# Exten 94c0: 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 sion header file 94d0: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 s, part 1..#.SRC 94e0: 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 08 = \.$(TOP)\
94f0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20  ext\fts1\fts1.h
9500: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9510: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20 ts1\fts1_hash.h 9520: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9530: 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a  ts1\fts1_tokeniz
9540: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.h \.  $(TOP)\ 9550: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 ext\fts2\fts2.h 9560: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9570: 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 20  ts2\fts2_hash.h
9580: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9590: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a ts2\fts2_tokeniz 95a0: 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f er.h..# Extensio 95b0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 n header files, 95c0: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 39 20 part 2..#.SRC09 95d0: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 = \.$(TOP)\ext
95e0: 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20  \fts3\fts3.h \.
95f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 9600: 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 \fts3Int.h \.$
9610: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9620: 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts3_hash.h \.  $9630: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f 9640: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 ts3_tokenizer.h 9650: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 \.$(TOP)\ext\i
9660: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 20 5c  cu\sqliteicu.h \
9670: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  .  $(TOP)\ext\rt 9680: 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 20 ree\rtree.h \. 9690: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65$(TOP)\ext\rtree
96a0: 5c 67 65 6f 70 6f 6c 79 2e 63 20 5c 0a 20 20 24  \geopoly.c \.  $96b0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 (TOP)\ext\rbu\sq 96c0: 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20 20 24 lite3rbu.h \.$
96d0: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
96e0: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
96f0: 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20  .h..# Generated
9700: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
9710: 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a 20 20  s.#.SRC10 = \.
9720: 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 70 61  opcodes.c \.  pa
9730: 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 61 74  rse.c..# Generat
9740: 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a  ed header files.
9750: 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 6b 65  #.SRC11 = \.  ke
9760: 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20  ywordhash.h \.
9770: 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 70 61  opcodes.h \.  pa
9780: 72 73 65 2e 68 20 5c 0a 20 20 73 68 65 6c 6c 2e  rse.h \.  shell.
9790: 63 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 48  c \.  $(SQLITE3H 97a0: 29 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 54 )..# Generated T 97b0: 63 6c 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a cl header files. 97c0: 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 #.!IF$(USE_STDC
97d0: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR 97e0: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 52 43 31 32 _WIN10)!=0.SRC12 97f0: 20 3d 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 = \.$(SQLITET
9800: 43 4c 48 29 20 5c 0a 20 20 24 28 53 51 4c 49 54  CLH) \.  $(SQLIT 9810: 45 54 43 4c 44 45 43 4c 53 48 29 0a 21 45 4c 53 ETCLDECLSH).!ELS 9820: 45 0a 53 52 43 31 32 20 3d 0a 21 45 4e 44 49 46 E.SRC12 =.!ENDIF 9830: 0a 0a 23 20 41 6c 6c 20 73 6f 75 72 63 65 20 63 ..# All source c 9840: 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 ode files..#.SRC 9850: 20 3d 20 24 28 53 52 43 30 30 29 20 24 28 53 52 =$(SRC00) $(SR 9860: 43 30 31 29 20 24 28 53 52 43 30 33 29 20 24 28 C01)$(SRC03) $( 9870: 53 52 43 30 34 29 20 24 28 53 52 43 30 35 29 20 SRC04)$(SRC05)
9880: 24 28 53 52 43 30 36 29 20 24 28 53 52 43 30 37  $(SRC06)$(SRC07
9890: 29 20 24 28 53 52 43 30 38 29 20 24 28 53 52 43  ) $(SRC08)$(SRC
98a0: 30 39 29 20 24 28 53 52 43 31 30 29 20 24 28 53  09) $(SRC10)$(S
98b0: 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 20  RC11)..# Source
98c0: 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74  code to the test
98d0: 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52   files..#.TESTSR
98e0: 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  C = \.  $(TOP)\s 98f0: 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24 rc\test1.c \.$
9900: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e  (TOP)\src\test2.
9910: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9920: 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28 54 \test3.c \.$(T
9930: 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20  OP)\src\test4.c
9940: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9950: 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 est5.c \.$(TOP
9960: 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a  )\src\test6.c \.
9970: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9980: 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c t7.c \.$(TOP)\
9990: 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20  src\test8.c \.
99a0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39  $(TOP)\src\test9 99b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
99c0: 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e 63  c\test_autoext.c
99d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 99e0: 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20 test_async.c \. 99f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
9a00: 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28  _backup.c \.  $( 9a10: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 65 TOP)\src\test_be 9a20: 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 stindex.c \.$(
9a30: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 6c  TOP)\src\test_bl
9a40: 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ob.c \.  $(TOP)\ 9a50: 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e 63 src\test_btree.c 9a60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9a70: 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a  test_config.c \.
9a80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9a90: 74 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 t_delete.c \.$
9aa0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64  (TOP)\src\test_d
9ab0: 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  emovfs.c \.  $(T 9ac0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 76 OP)\src\test_dev 9ad0: 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 sym.c \.$(TOP)
9ae0: 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 20 5c  \src\test_fs.c \
9af0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9b00: 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 st_func.c \.$(
9b10: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 68 65  TOP)\src\test_he
9b20: 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  xio.c \.  $(TOP) 9b30: 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 2e 63 \src\test_init.c 9b40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9b50: 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e 63 20  test_intarray.c
9b60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9b70: 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a est_journal.c \. 9b80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9b90: 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24  t_malloc.c \.  $9ba0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d (TOP)\src\test_m 9bb0: 64 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c d5.c \.$(TOP)\
9bc0: 73 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69 70 6c  src\test_multipl
9bd0: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\ 9be0: 73 72 63 5c 74 65 73 74 5f 6d 75 74 65 78 2e 63 src\test_mutex.c 9bf0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9c00: 74 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 20 5c  test_onefile.c \
9c10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9c20: 73 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a 20 20 st_osinst.c \. 9c30: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
9c40: 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54  pcache.c \.  $(T 9c50: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 71 75 6f OP)\src\test_quo 9c60: 74 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ta.c \.$(TOP)\
9c70: 73 72 63 5c 74 65 73 74 5f 72 74 72 65 65 2e 63  src\test_rtree.c
9c80: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 9c90: 74 65 73 74 5f 73 63 68 65 6d 61 2e 63 20 5c 0a test_schema.c \. 9ca0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9cb0: 74 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20 20 24  t_server.c \.  $9cc0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 (TOP)\src\test_s 9cd0: 75 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20 20 24 uperlock.c \.$
9ce0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
9cf0: 79 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 28 54  yscall.c \.  $(T 9d00: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c OP)\src\test_tcl 9d10: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.c \.$(TOP)\
9d20: 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e  src\test_tclvar.
9d30: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9d40: 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c \test_thread.c \ 9d50: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
9d60: 73 74 5f 76 64 62 65 63 6f 76 2e 63 20 5c 0a 20  st_vdbecov.c \.
9d70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 9d80: 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 _vfs.c \.$(TOP
9d90: 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69  )\src\test_windi
9da0: 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rent.c \.  $(TOP 9db0: 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 6f )\src\test_windo 9dc0: 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 w.c \.$(TOP)\s
9dd0: 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a  rc\test_wsd.c \.
9de0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 9df0: 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a 3\fts3_term.c \. 9e00: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
9e10: 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a  3\fts3_test.c \.
9e20: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75    $(TOP)\ext\rbu 9e30: 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20 \test_rbu.c \. 9e40: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69$(TOP)\ext\sessi
9e50: 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e  on\test_session.
9e60: 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20  c..# Statically
9e70: 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e  linked extension
9e80: 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c  s..#.TESTEXT = \
9e90: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  .  $(TOP)\ext\ex 9ea0: 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 pert\sqlite3expe 9eb0: 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c rt.c \.$(TOP)\
9ec0: 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73 74 5f  ext\expert\test_
9ed0: 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54  expert.c \.  $(T 9ee0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61 OP)\ext\misc\ama 9ef0: 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 tch.c \.$(TOP)
9f00: 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72 61 79  \ext\misc\carray
9f10: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9f20: 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63 t\misc\closure.c 9f30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9f40: 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24  misc\csv.c \.  $9f50: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 (TOP)\ext\misc\e 9f60: 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 val.c \.$(TOP)
9f70: 5c 65 78 74 5c 6d 69 73 63 5c 65 78 70 6c 61 69  \ext\misc\explai
9f80: 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  n.c \.  $(TOP)\e 9f90: 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 xt\misc\fileio.c 9fa0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9fb0: 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a  misc\fuzzer.c \.
9fc0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 9fd0: 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20 5\fts5_tcl.c \. 9fe0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35$(TOP)\ext\fts5
9ff0: 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20  \fts5_test_mi.c
a000: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f a010: 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f ts5\fts5_test_to a020: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 k.c \.$(TOP)\e
a030: 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35 34 2e  xt\misc\ieee754.
a040: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext a050: 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d 2e 63 \misc\mmapwarm.c a060: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
a070: 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e 63 20  misc\nextchar.c
a080: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m a090: 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65 2e 63 20 isc\normalize.c a0a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d \.$(TOP)\ext\m
a0b0: 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63  isc\percentile.c
a0c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ a0d0: 6d 69 73 63 5c 70 72 65 66 69 78 65 73 2e 63 20 misc\prefixes.c a0e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d \.$(TOP)\ext\m
a0f0: 69 73 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a 20  isc\regexp.c \.
a100: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc a110: 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c 0a 20 20 \remember.c \. a120: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
a130: 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24 28 54  series.c \.  $(T a140: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70 65 OP)\ext\misc\spe a150: 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f llfix.c \.$(TO
a160: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74 79  P)\ext\misc\toty
a170: 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  pe.c \.  $(TOP)\ a180: 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f 6e 76 74 ext\misc\unionvt a190: 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ab.c \.$(TOP)\
a1a0: 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e 75  ext\misc\wholenu
a1b0: 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20 75 73 65  mber.c..# If use
a1c0: 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e 61 62   of zlib is enab
a1d0: 6c 65 64 2c 20 61 64 64 20 74 68 65 20 22 7a 69  led, add the "zi
a1e0: 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 63 65 20  pfile.c" source
a1f0: 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53  file..#.!IF $(US a200: 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45 53 54 45 E_ZLIB)!=0.TESTE a210: 58 54 20 3d 20 24 28 54 45 53 54 45 58 54 29 20 XT =$(TESTEXT)
a220: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ a230: 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49 46 zipfile.c.!ENDIF a240: 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 ..# Source code a250: 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 to the library f a260: 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79 20 74 iles needed by t a270: 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65 0a he test fixture. a280: 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 # (non-amalgamat a290: 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43 32 20 ion).#.TESTSRC2 a2a0: 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29 20 5c = \.$(SRC00) \
a2b0: 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a 20 20  .  $(SRC01) \. a2c0: 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24 28 53$(SRC06) \.  $(S a2d0: 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52 43 31 RC07) \.$(SRC1
a2e0: 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  0) \.  $(TOP)\ex a2f0: 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65 33 61 t\async\sqlite3a a300: 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64 65 72 sync.c..# Header a310: 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 61 files used by a a320: 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75 72 63 ll library sourc a330: 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20 3d e files..#.HDR = a340: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 \.$(TOP)\src
a350: 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20 24 28  \btree.h \.   $( a360: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e TOP)\src\btreeIn a370: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c t.h \.$(TOP)\
a380: 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 20  src\hash.h \.
a390: 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d  $(TOP)\src\hwtim a3a0: 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f 72 64 e.h \. keyword a3b0: 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f hash.h \.$(TO
a3c0: 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a  P)\src\msvc.h \.
a3d0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75     $(TOP)\src\mu a3e0: 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63 6f 64 tex.h \. opcod a3f0: 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 es.h \.$(TOP)
a400: 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 20 24  \src\os.h \.   $a410: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d (TOP)\src\os_com a420: 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 mon.h \.$(TOP
a430: 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68  )\src\os_setup.h
a440: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src a450: 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 24 \os_win.h \.$
a460: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
a470: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr a480: 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 20 c\pcache.h \. a490: 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 parse.h \.$(T
a4a0: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68  OP)\src\pragma.h
a4b0: 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45 33 48   \.   $(SQLITE3H a4c0: 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 33 65 78 ) \. sqlite3ex a4d0: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c t.h \.$(TOP)\
a4e0: 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20  src\sqliteInt.h
a4f0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\ a500: 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a sqliteLimit.h \. a510: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64$(TOP)\src\vd
a520: 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  be.h \.   $(TOP) a530: 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c \src\vdbeInt.h \ a540: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 .$(TOP)\src\v
a550: 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28  xworks.h \.   $( a560: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e TOP)\src\whereIn a570: 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20 66 69 t.h..# Header fi a580: 6c 65 73 20 75 73 65 64 20 62 79 20 65 78 74 65 les used by exte a590: 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20 nsions.#.EXTHDR a5a0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 =$(EXTHDR) \.
a5b0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\ a5c0: 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 fts1.h \.$(TOP
a5d0: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f  )\ext\fts1\fts1_
a5e0: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50  hash.h \.  $(TOP a5f0: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f )\ext\fts1\fts1_ a600: 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 tokenizer.h.EXTH a610: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c DR =$(EXTHDR) \
a620: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft a630: 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 s2\fts2.h \.$(
a640: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
a650: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s2_hash.h \.  $( a660: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft a670: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 s2_tokenizer.h.E a680: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 XTHDR =$(EXTHDR
a690: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext a6a0: 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 \fts3\fts3.h \. a6b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
a6c0: 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24  \fts3Int.h \.  $a6d0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f a6e0: 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 ts3_hash.h \.$
a6f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
a700: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a  ts3_tokenizer.h.
a710: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD a720: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 R) \.$(TOP)\ex
a730: 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 68 20  t\rtree\rtree.h
a740: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r a750: 74 72 65 65 5c 67 65 6f 70 6f 6c 79 2e 63 0a 45 tree\geopoly.c.E a760: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 XTHDR =$(EXTHDR
a770: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext a780: 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 \icu\sqliteicu.h a790: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 .EXTHDR =$(EXTH
a7a0: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e a7b0: 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 74 65 33 xt\rtree\sqlite3 a7c0: 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d rtree.h.EXTHDR = a7d0: 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24$(EXTHDR) \.  $a7e0: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f (TOP)\ext\sessio a7f0: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e n\sqlite3session a800: 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 62 6c 65 .h..# executable a810: 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74 65 73 s needed for tes a820: 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 4f 47 53 ting.#.TESTPROGS a830: 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 78 74 75 = \. testfixtu a840: 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 53 51 4c re.exe \.$(SQL
a850: 49 54 45 33 45 58 45 29 20 5c 0a 20 20 73 71 6c  ITE3EXE) \.  sql
a860: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78  ite3_analyzer.ex
a870: 65 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f 63 68  e \.  sqlite3_ch
a880: 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20 20 73 71  ecker.exe \.  sq
a890: 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20 20 64 62  ldiff.exe \.  db
a8a0: 68 61 73 68 2e 65 78 65 20 5c 0a 20 20 73 71 6c  hash.exe \.  sql
a8b0: 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20 44 61 74  tclsh.exe..# Dat
a8c0: 61 62 61 73 65 73 20 63 6f 6e 74 61 69 6e 69 6e  abases containin
a8d0: 67 20 66 75 7a 7a 65 72 20 74 65 73 74 20 63 61  g fuzzer test ca
a8e0: 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54 41 20 3d  ses.#.FUZZDATA =
a8f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test a900: 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 20 5c 0a \fuzzdata1.db \. a910: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75$(TOP)\test\fu
a920: 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a 20 20 24  zzdata2.db \.  $a930: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 (TOP)\test\fuzzd a940: 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 28 54 4f ata3.db \.$(TO
a950: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
a960: 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c  4.db \.  $(TOP)\ a970: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 35 2e 64 test\fuzzdata5.d a980: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 b \.$(TOP)\tes
a990: 74 5c 66 75 7a 7a 64 61 74 61 36 2e 64 62 20 5c  t\fuzzdata6.db \
a9a0: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  .  $(TOP)\test\f a9b0: 75 7a 7a 64 61 74 61 37 2e 64 62 20 5c 0a 20 20 uzzdata7.db \. a9c0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a$(TOP)\test\fuzz
a9d0: 64 61 74 61 38 2e 64 62 0a 23 20 3c 3c 2f 6d 61  data8.db.# <</ma
a9e0: 72 6b 3e 3e 0a 0a 23 20 41 64 64 69 74 69 6f 6e  rk>>..# Addition
a9f0: 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  al compiler opti
aa00: 6f 6e 73 20 66 6f 72 20 74 68 65 20 73 68 65 6c  ons for the shel
aa10: 6c 2e 20 20 54 68 65 73 65 20 61 72 65 20 6f 6e  l.  These are on
aa20: 6c 79 20 65 66 66 65 63 74 69 76 65 0a 23 20 77  ly effective.# w
aa30: 68 65 6e 20 74 68 65 20 73 68 65 6c 6c 20 69 73  hen the shell is
aa40: 20 6e 6f 74 20 62 65 69 6e 67 20 64 79 6e 61 6d   not being dynam
aa50: 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 2e 0a 23  ically linked..#
aa60: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S aa70: 48 45 4c 4c 29 3d 3d 30 20 26 26 20 24 28 46 4f HELL)==0 &&$(FO
aa80: 52 5f 57 49 4e 31 30 29 3d 3d 30 0a 53 48 45 4c  R_WIN10)==0.SHEL
aa90: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  L_COMPILE_OPTS =
aaa0: 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45   $(SHELL_COMPILE aab0: 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f _OPTS) -DSQLITE_ aac0: 45 4e 41 42 4c 45 5f 46 54 53 34 3d 31 0a 53 48 ENABLE_FTS4=1.SH aad0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ELL_COMPILE_OPTS aae0: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 =$(SHELL_COMPI
aaf0: 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
ab00: 45 5f 45 4e 41 42 4c 45 5f 45 58 50 4c 41 49 4e  E_ENABLE_EXPLAIN
ab10: 5f 43 4f 4d 4d 45 4e 54 53 3d 31 0a 53 48 45 4c  _COMMENTS=1.SHEL
ab20: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  L_COMPILE_OPTS =
ab30: 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45   $(SHELL_COMPILE ab40: 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f _OPTS) -DSQLITE_ ab50: 45 4e 41 42 4c 45 5f 4f 46 46 53 45 54 5f 53 51 ENABLE_OFFSET_SQ ab60: 4c 5f 46 55 4e 43 3d 31 0a 53 48 45 4c 4c 5f 43 L_FUNC=1.SHELL_C ab70: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 OMPILE_OPTS =$(
ab80: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
ab90: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  TS) -DSQLITE_ENA
aba0: 42 4c 45 5f 44 45 53 45 52 49 41 4c 49 5a 45 3d  BLE_DESERIALIZE=
abb0: 31 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  1.!ENDIF..# <<ma
abc0: 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20 63 6f 6d  rk>>.# Extra com
abd0: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
abe0: 72 20 76 61 72 69 6f 75 73 20 74 65 73 74 20 74  r various test t
abf0: 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53 54 45 52  ools..#.MPTESTER
ac00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS =
ac10: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
ac20: 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45  JSON1 -DSQLITE_E
ac30: 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55 5a 5a 45  NABLE_FTS5.FUZZE
ac40: 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  RSHELL_COMPILE_O
ac50: 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45  PTS = -DSQLITE_E
ac60: 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55 5a 5a  NABLE_JSON1.FUZZ
ac70: 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 2d 44 53  CHECK_OPTS = -DS
ac80: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f  QLITE_ENABLE_JSO
ac90: 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  N1 -DSQLITE_ENAB
aca0: 4c 45 5f 4d 45 4d 53 59 53 35 20 2d 44 53 51 4c  LE_MEMSYS5 -DSQL
acb0: 49 54 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d 44 53  ITE_OSS_FUZZ -DS
acc0: 51 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f 52 59  QLITE_MAX_MEMORY
acd0: 3d 35 30 30 30 30 30 30 30 20 2d 44 53 51 4c 49  =50000000 -DSQLI
ace0: 54 45 5f 50 52 49 4e 54 46 5f 50 52 45 43 49 53  TE_PRINTF_PRECIS
acf0: 49 4f 4e 5f 4c 49 4d 49 54 3d 31 30 30 30 0a 46  ION_LIMIT=1000.F
ad00: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20  UZZCHECK_OPTS =
ad10: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53  $(FUZZCHECK_OPTS ad20: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ) -DSQLITE_ENABL ad30: 45 5f 44 45 53 45 52 49 41 4c 49 5a 45 0a 46 55 E_DESERIALIZE.FU ad40: 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 24 ZZCHECK_OPTS =$
ad50: 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29  (FUZZCHECK_OPTS)
ad60: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
ad70: 5f 46 54 53 34 0a 46 55 5a 5a 43 48 45 43 4b 5f  _FTS4.FUZZCHECK_
ad80: 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a 43 48 45  OPTS = $(FUZZCHE ad90: 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 CK_OPTS) -DSQLIT ada0: 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 0a 46 E_ENABLE_RTREE.F adb0: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 UZZCHECK_OPTS = adc0: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53$(FUZZCHECK_OPTS
add0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
ade0: 45 5f 47 45 4f 50 4f 4c 59 0a 46 55 5a 5a 43 48  E_GEOPOLY.FUZZCH
adf0: 45 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a  ECK_OPTS = $(FUZ ae00: 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 ZCHECK_OPTS) -DS ae10: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 QLITE_ENABLE_DBS ae20: 54 41 54 5f 56 54 41 42 0a 0a 46 55 5a 5a 43 48 TAT_VTAB..FUZZCH ae30: 45 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 ECK_SRC =$(TOP)
ae40: 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e  \test\fuzzcheck.
ae50: 63 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73  c $(TOP)\test\os ae60: 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c sfuzz.c.OSSSHELL ae70: 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 _SRC =$(TOP)\te
ae80: 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28  st\ossshell.c $( ae90: 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a TOP)\test\ossfuz aea0: 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 z.c.DBFUZZ_COMPI aeb0: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 LE_OPTS = -DSQLI aec0: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 TE_THREADSAFE=0 aed0: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f -DSQLITE_OMIT_LO aee0: 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 4b 56 5f AD_EXTENSION.KV_ aef0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d COMPILE_OPTS = - af00: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 DSQLITE_THREADSA af10: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 44 49 FE=0 -DSQLITE_DI af20: 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f 52 45 RECT_OVERFLOW_RE af30: 41 44 0a 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 AD.ST_COMPILE_OP af40: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 TS = -DSQLITE_TH af50: 52 45 41 44 53 41 46 45 3d 30 0a 0a 23 20 53 74 READSAFE=0..# St af60: 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 andard options t af70: 6f 20 74 65 73 74 66 69 78 74 75 72 65 2e 0a 23 o testfixture..# af80: 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 .TESTOPTS = --ve af90: 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 rbose=file --out afa0: 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 put=test-out.txt afb0: 0a 0a 23 20 45 78 74 72 61 20 74 61 72 67 65 74 ..# Extra target afc0: 73 20 66 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 s for the "all" afd0: 74 61 72 67 65 74 20 74 68 61 74 20 72 65 71 75 target that requ afe0: 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 ire Tcl..#.!IF$
aff0: 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f  (NO_TCL)==0.ALL_
b000: 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 20 24 28  TCL_TARGETS = $( b010: 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29 0a 21 SQLITE3TCLDLL).! b020: 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 ELSE.ALL_TCL_TAR b030: 47 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 GETS =.!ENDIF.# b040: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 <</mark>>..# Thi b050: 73 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 s is the default b060: 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 Makefile target b070: 2e 20 20 54 68 65 20 6f 62 6a 65 63 74 73 20 6c . The objects l b080: 69 73 74 65 64 20 68 65 72 65 0a 23 20 61 72 65 isted here.# are b090: 20 77 68 61 74 20 67 65 74 20 62 75 69 6c 64 20 what get build b0a0: 77 68 65 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 when you type ju b0b0: 73 74 20 22 6d 61 6b 65 22 20 77 69 74 68 20 6e st "make" with n b0c0: 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 63 o arguments..#.c b0d0: 6f 72 65 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69 ore:.dll libsqli b0e0: 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c 0a 0a 23 te3.lib shell..# b0f0: 20 54 61 72 67 65 74 73 20 74 68 61 74 20 72 65 Targets that re b100: 71 75 69 72 65 20 74 68 65 20 54 63 6c 20 6c 69 quire the Tcl li b110: 62 72 61 72 79 2e 0a 23 0a 74 63 6c 3a 09 24 28 brary..#.tcl:.$(
b120: 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 29  ALL_TCL_TARGETS)
b130: 0a 0a 23 20 54 68 69 73 20 4d 61 6b 65 66 69 6c  ..# This Makefil
b140: 65 20 74 61 72 67 65 74 20 62 75 69 6c 64 73 20  e target builds
b150: 61 6c 6c 20 6f 66 20 74 68 65 20 73 74 61 6e 64  all of the stand
b160: 61 72 64 20 62 69 6e 61 72 69 65 73 2e 0a 23 0a  ard binaries..#.
b170: 61 6c 6c 3a 09 63 6f 72 65 20 74 63 6c 0a 0a 23  all:.core tcl..#
b180: 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69   Dynamic link li
b190: 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a 23  brary section..#
b1a0: 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 44  .dll:.$(SQLITE3D b1b0: 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78 65 LL)..# Shell exe b1c0: 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c 6c cutable..#.shell b1d0: 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45 29 0a :.$(SQLITE3EXE).
b1e0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 73  .# <<mark>>.libs
b1f0: 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49  qlite3.lib:.$(LI b200: 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20 BOBJ)..$(LTLIB)
b210: 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55  $(LTLIBOPTS) /OU b220: 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 T:$@ $(LIBOBJ)$
b230: 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c 73  (TLIBS)..libtcls
b240: 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c 73  qlite3.lib:.tcls
b250: 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69  qlite.lo libsqli
b260: 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 42  te3.lib..$(LTLIB b270: 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 24 )$(LTLIBOPTS) $b280: 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 (TCLLIBPATHS)$(
b290: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54  LTLIBPATHS) /OUT
b2a0: 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f  :$@ tclsqlite.lo b2b0: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 libsqlite3.lib b2c0: 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20 24 28$(LIBTCLSTUB) $( b2d0: 54 4c 49 42 53 29 0a 0a 74 63 6c 73 71 6c 69 74 TLIBS)..tclsqlit b2e0: 65 33 2e 64 65 66 3a 09 74 63 6c 73 71 6c 69 74 e3.def:.tclsqlit b2f0: 65 2e 6c 6f 0a 09 65 63 68 6f 20 45 58 50 4f 52 e.lo..echo EXPOR b300: 54 53 20 3e 20 74 63 6c 73 71 6c 69 74 65 33 2e TS > tclsqlite3. b310: 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c def..dumpbin /al b320: 6c 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 5c l tclsqlite.lo \ b330: 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 ...|$(TCLSH_CMD
b340: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re b350: 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64 place.tcl includ b360: 65 20 22 5e 5c 73 2b 2f 45 58 50 4f 52 54 3a 5f e "^\s+/EXPORT:_ b370: 3f 28 28 3f 3a 53 71 6c 69 74 65 33 7c 54 63 6c ?((?:Sqlite3|Tcl b380: 73 71 6c 69 74 65 33 29 5f 5b 5e 40 5d 2a 29 28 sqlite3)_[^@]*)( b390: 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31 20 5c ?:@\d+)?$$" \1 \ b3a0: 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20 74 63 6c ...| sort >> tcl b3b0: 73 71 6c 69 74 65 33 2e 64 65 66 0a 0a 70 6b 67 sqlite3.def..pkg b3c0: 49 6e 64 65 78 2e 74 63 6c 3a 09 24 28 54 4f 50 Index.tcl:.(TOP b3d0: 29 5c 56 45 52 53 49 4f 4e 0a 09 66 6f 72 20 2f )\VERSION..for / b3e0: 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 65 20 F %%V in ('type b3f0: 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 "(TOP)\VERSION" b400: 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f ') do ( \...echo b410: 20 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 package ifneede b420: 64 20 73 71 6c 69 74 65 33 20 40 76 65 72 73 69 d sqlite3 @versi b430: 6f 6e 40 20 5b 6c 69 73 74 20 6c 6f 61 64 20 5b on@ [list load [ b440: 66 69 6c 65 20 6a 6f 69 6e 20 24 24 64 69 72 20 file join$$dir b450: 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29$(SQLITE3TCLDLL)
b460: 5d 20 73 71 6c 69 74 65 33 5d 20 5c 0a 09 09 09  ] sqlite3] \....
b470: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD)$
b480: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
b490: 63 65 2e 74 63 6c 20 65 78 61 63 74 20 40 76 65  ce.tcl exact @ve
b4a0: 72 73 69 6f 6e 40 20 25 25 56 20 3e 20 70 6b 67  rsion@ %%V > pkg
b4b0: 49 6e 64 65 78 2e 74 63 6c 20 5c 0a 09 29 0a 0a  Index.tcl \..)..
b4c0: 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29  $(SQLITE3TCLDLL) b4d0: 3a 09 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e :.libtclsqlite3. b4e0: 6c 69 62 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 lib$(LIBRESOBJS
b4f0: 29 20 74 63 6c 73 71 6c 69 74 65 33 2e 64 65 66  ) tclsqlite3.def
b500: 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 0a 09 24   pkgIndex.tcl..$b510: 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 (LD)$(LDFLAGS)
b520: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS)$(
b530: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c  LTLIBPATHS) /DLL
b540: 20 2f 44 45 46 3a 74 63 6c 73 71 6c 69 74 65 33   /DEF:tclsqlite3
b550: 2e 64 65 66 20 2f 4f 55 54 3a 24 40 20 6c 69 62  .def /OUT:$@ lib b560: 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 20 24 tclsqlite3.lib$
b570: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c  (LIBRESOBJS) $(L b580: 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a TLIBS)$(TLIBS).
b590: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53  # <</mark>>..$(S b5a0: 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28 4c 49 QLITE3DLL):.$(LI
b5b0: 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42  BOBJ) $(LIBRESOB b5c0: 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f JS)$(CORE_LINK_
b5d0: 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28 4c 44  DEP)..$(LD)$(LD
b5e0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO b5f0: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 PTS)$(LTLIBPATH
b600: 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45 5f 4c  S) /DLL $(CORE_L b610: 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54 3a 24 INK_OPTS) /OUT:$
b620: 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49  @ $(LIBOBJ)$(LI
b630: 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI b640: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 BS)$(TLIBS)..#
b650: 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74  <<block2>>.sqlit
b660: 65 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c 69 74  e3.def:.libsqlit
b670: 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45 58 50  e3.lib..echo EXP
b680: 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33 2e 64  ORTS > sqlite3.d
b690: 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c  ef..dumpbin /all
b6a0: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20   libsqlite3.lib
b6b0: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM b6c0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 D)$(TOP)\tool\r
b6d0: 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75  eplace.tcl inclu
b6e0: 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c  de "^\s+1 _?(sql
b6f0: 69 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e 7c 63  ite3(?:session|c
b700: 68 61 6e 67 65 73 65 74 7c 63 68 61 6e 67 65 67  hangeset|changeg
b710: 72 6f 75 70 7c 72 65 62 61 73 65 72 29 3f 5f 5b  roup|rebaser)?_[
b720: 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24  ^@]*)(?:@\d+)?
b730: 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20  " \1 \...| sort
b740: 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 23  >> sqlite3.def.#
b750: 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28   <</block2>>..$( b760: 53 51 4c 49 54 45 33 45 58 45 29 3a 09 73 68 65 SQLITE3EXE):.she b770: 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 ll.c$(SHELL_COR
b780: 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f  E_DEP) $(LIBRESO b790: 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52 BJS)$(SHELL_COR
b7a0: 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  E_SRC) $(SQLITE3 b7b0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( b7c0: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 SHELL_COMPILE_OP b7d0: 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 TS)$(READLINE_F
b7e0: 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63 20 24 28  LAGS) shell.c $( b7f0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 SHELL_CORE_SRC) b800: 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c 49 \.../link$(SQLI
b810: 54 45 33 45 58 45 50 44 42 29 20 24 28 4c 44 46  TE3EXEPDB) $(LDF b820: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
b830: 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e 4b  TS) $(SHELL_LINK b840: 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 _OPTS)$(LTLIBPA
b850: 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  THS) $(LIBRESOBJ b860: 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49 4e 45 S)$(LIBREADLINE
b870: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS)$(TL
b880: 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  IBS)..# <<mark>>
b890: 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 24 28  .sqldiff.exe:.$( b8a0: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 TOP)\tool\sqldif b8b0: 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 f.c$(SQLITE3C)
b8c0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
b8d0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN b8e0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 )$(TOP)\tool\sq
b8f0: 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45  ldiff.c $(SQLITE b900: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 3C) /link$(LDFL
b910: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT b920: 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a 09 S)..dbhash.exe:. b930: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61$(TOP)\tool\dbha
b940: 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  sh.c $(SQLITE3C) b950: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( b960: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
b970: 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64  N) $(TOP)\tool\d b980: 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 bhash.c$(SQLITE
b990: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL b9a0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 AGS)$(LTLINKOPT
b9b0: 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09 24  S)..scrub.exe:.$b9c0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 (TOP)\ext\misc\s b9d0: 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 crub.c$(SQLITE3
b9e0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. b9f0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W ba00: 41 52 4e 29 20 2d 44 53 43 52 55 42 5f 53 54 41 ARN) -DSCRUB_STA ba10: 4e 44 41 4c 4f 4e 45 3d 31 20 24 28 54 4f 50 29 NDALONE=1$(TOP)
ba20: 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e  \ext\misc\scrub.
ba30: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l ba40: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $ba50: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 (LTLINKOPTS)..sr ba60: 63 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 cck1.exe:.$(TOP)
ba70: 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 09  \tool\srcck1.c..
ba80: 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e  $(BCC)$(NO_WARN
ba90: 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74  ) -Fe$@$(TOP)\t
baa0: 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a 73 6f  ool\srcck1.c..so
bab0: 75 72 63 65 74 65 73 74 3a 09 73 72 63 63 6b 31  urcetest:.srcck1
bac0: 2e 65 78 65 20 24 28 53 51 4c 49 54 45 33 43 29  .exe $(SQLITE3C) bad0: 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 24 28 53 ..srcck1.exe$(S
bae0: 51 4c 49 54 45 33 43 29 0a 0a 66 75 7a 7a 65 72  QLITE3C)..fuzzer
baf0: 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50  shell.exe:.$(TOP bb00: 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 )\tool\fuzzershe bb10: 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 ll.c$(SQLITE3C)
bb20: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
bb30: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR bb40: 4e 29 20 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c N)$(FUZZERSHELL
bb50: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $bb60: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 (TOP)\tool\fuzze bb70: 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 rshell.c$(SQLIT
bb80: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF bb90: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
bba0: 54 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78 65 3a  TS)..dbfuzz.exe:
bbb0: 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66  .$(TOP)\test\dbf bbc0: 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 uzz.c$(SQLITE3C
bbd0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
bbe0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA bbf0: 52 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43 4f 4d RN)$(DBFUZZ_COM
bc00: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50  PILE_OPTS) $(TOP bc10: 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20 )\test\dbfuzz.c bc20: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
bc30: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
bc40: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a  TLINKOPTS)..fuzz
bc50: 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a  check.exe:.$(FUZ bc60: 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51 ZCHECK_SRC)$(SQ
bc70: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE bc80: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 3H)..$(LTLINK) $bc90: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a (NO_WARN)$(FUZZ
bca0: 43 48 45 43 4b 5f 4f 50 54 53 29 20 24 28 46 55  CHECK_OPTS) $(FU bcb0: 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 ZZCHECK_SRC)$(S
bcc0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $bcd0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
bce0: 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73 73 68 65 6c  NKOPTS)..ossshel
bcf0: 6c 2e 65 78 65 3a 09 24 28 4f 53 53 53 48 45 4c  l.exe:.$(OSSSHEL bd00: 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 L_SRC)$(SQLITE3
bd10: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. bd20: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W bd30: 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b ARN)$(FUZZCHECK
bd40: 5f 4f 50 54 53 29 20 24 28 4f 53 53 53 48 45 4c  _OPTS) $(OSSSHEL bd50: 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 L_SRC)$(SQLITE3
bd60: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA bd70: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
bd80: 29 0a 0a 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65  )..sessionfuzz.e
bd90: 78 65 3a 09 7a 6c 69 62 20 24 28 54 4f 50 29 5c  xe:.zlib $(TOP)\ bda0: 74 65 73 74 5c 73 65 73 73 69 6f 6e 66 75 7a 7a test\sessionfuzz bdb0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $bdc0: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
bdd0: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) bde0: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 -I$(ZLIBINCDIR)
bdf0: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 65 73   $(TOP)\test\ses be00: 73 69 6f 6e 66 75 7a 7a 2e 63 20 2f 6c 69 6e 6b sionfuzz.c /link be10: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT be20: 4c 49 4e 4b 4f 50 54 53 29 20 2f 4c 49 42 50 41 LINKOPTS) /LIBPA be30: 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49 52 29 TH:$(ZLIBLIBDIR)
be40: 20 24 28 5a 4c 49 42 4c 49 42 29 0a 0a 6d 70 74   $(ZLIBLIB)..mpt be50: 65 73 74 65 72 2e 65 78 65 3a 09 24 28 54 4f 50 ester.exe:.$(TOP
be60: 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e  )\mptest\mptest.
be70: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C)$(
be80: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL be90: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 INK)$(NO_WARN)
bea0: 24 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49  $(MPTESTER_COMPI beb0: 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c LE_OPTS)$(TOP)\
bec0: 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20  mptest\mptest.c
bed0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin bee0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L bef0: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 TLINKOPTS)..MPTE bf00: 53 54 31 20 3d 20 6d 70 74 65 73 74 65 72 20 6d ST1 = mptester m bf10: 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c ptest.db$(TOP)\
bf20: 6d 70 74 65 73 74 5c 63 72 61 73 68 30 31 2e 74  mptest\crash01.t
bf30: 65 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a  est --repeat 20.
bf40: 4d 50 54 45 53 54 32 20 3d 20 6d 70 74 65 73 74  MPTEST2 = mptest
bf50: 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54  er mptest.db $(T bf60: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c 74 69 OP)\mptest\multi bf70: 77 72 69 74 65 30 31 2e 74 65 73 74 20 2d 2d 72 write01.test --r bf80: 65 70 65 61 74 20 32 30 0a 0a 6d 70 74 65 73 74 epeat 20..mptest bf90: 3a 09 6d 70 74 65 73 74 65 72 2e 65 78 65 0a 09 :.mptester.exe.. bfa0: 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e 64 62 del /Q mptest.db bfb0: 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45 53 54 2>NUL..$(MPTEST
bfc0: 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65  1) --journalmode
bfd0: 20 44 45 4c 45 54 45 0a 09 24 28 4d 50 54 45 53   DELETE..$(MPTES bfe0: 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 T2) --journalmod bff0: 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 31 e WAL..$(MPTEST1
c000: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode
c010: 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 32 29 20  WAL..$(MPTEST2) c020: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 --journalmode PE c030: 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54 31 RSIST..$(MPTEST1
c040: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode
c050: 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53  PERSIST..$(MPTES c060: 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 T2) --journalmod c070: 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 e TRUNCATE..$(MP
c080: 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST1) --journal
c090: 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24  mode TRUNCATE..$c0a0: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 (MPTEST2) --jour c0b0: 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 0a nalmode DELETE.. c0c0: 23 20 54 68 69 73 20 74 61 72 67 65 74 20 63 72 # This target cr c0d0: 65 61 74 65 73 20 61 20 64 69 72 65 63 74 6f 72 eates a director c0e0: 79 20 6e 61 6d 65 64 20 22 74 73 72 63 22 20 61 y named "tsrc" a c0f0: 6e 64 20 66 69 6c 6c 73 20 69 74 20 77 69 74 68 nd fills it with c100: 0a 23 20 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c .# copies of all c110: 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 of the C source c120: 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 code and header c130: 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 74 6f files needed to c140: 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74 68 65 20 .# build on the c150: 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e 20 20 target system. c160: 53 6f 6d 65 20 6f 66 20 74 68 65 20 43 20 73 6f Some of the C so c170: 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 urce code and he c180: 61 64 65 72 0a 23 20 66 69 6c 65 73 20 61 72 65 ader.# files are c190: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 automatically g c1a0: 65 6e 65 72 61 74 65 64 2e 20 20 54 68 69 73 20 enerated. This c1b0: 74 61 72 67 65 74 20 74 61 6b 65 73 20 63 61 72 target takes car c1c0: 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61 74 20 e of.# all that c1d0: 61 75 74 6f 6d 61 74 69 63 20 67 65 6e 65 72 61 automatic genera c1e0: 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65 74 5f tion..#..target_ c1f0: 73 6f 75 72 63 65 3a 09 24 28 53 52 43 29 20 24 source:.$(SRC) $c200: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d (TOP)\tool\vdbe- c210: 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66 74 73 compress.tcl fts c220: 35 2e 63 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5.c$(SQLITE_TCL
c230: 5f 44 45 50 29 0a 09 2d 72 6d 64 69 72 20 2f 51  _DEP)..-rmdir /Q
c240: 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d  /S tsrc 2>NUL..-
c250: 6d 6b 64 69 72 20 74 73 72 63 0a 09 66 6f 72 20  mkdir tsrc..for
c260: 25 69 20 69 6e 20 28 24 28 53 52 43 30 30 29 29  %i in ($(SRC00)) c270: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 do copy /Y %i t c280: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 src..for %i in ( c290: 24 28 53 52 43 30 31 29 29 20 64 6f 20 63 6f 70$(SRC01)) do cop
c2a0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
c2b0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 33  r %i in ($(SRC03 c2c0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 )) do copy /Y %i c2d0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e tsrc..for %i in c2e0: 20 28 24 28 53 52 43 30 34 29 29 20 64 6f 20 63 ($(SRC04)) do c
c2f0: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
c300: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC c310: 30 35 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 05)) do copy /Y c320: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 %i tsrc..for %i c330: 69 6e 20 28 24 28 53 52 43 30 36 29 29 20 64 6f in ($(SRC06)) do
c340: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
c350: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S c360: 52 43 30 37 29 29 20 64 6f 20 63 6f 70 79 20 2f RC07)) do copy / c370: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 Y %i tsrc..for % c380: 69 20 69 6e 20 28 24 28 53 52 43 30 38 29 29 20 i in ($(SRC08))
c390: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
c3a0: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($c3b0: 28 53 52 43 30 39 29 29 20 64 6f 20 63 6f 70 79 (SRC09)) do copy c3c0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 /Y %i tsrc..for c3d0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 30 29 %i in ($(SRC10)
c3e0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i
c3f0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in
c400: 28 24 28 53 52 43 31 31 29 29 20 64 6f 20 63 6f  ($(SRC11)) do co c410: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 py /Y %i tsrc..f c420: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 or %i in ($(SRC1
c430: 32 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  2)) do copy /Y %
c440: 69 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20  i tsrc..copy /Y
c450: 66 74 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70  fts5.c tsrc..cop
c460: 79 20 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63  y /Y fts5.h tsrc
c470: 0a 09 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71  ..del /Q tsrc\sq
c480: 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70  lite.h.in tsrc\p
c490: 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28  arse.y 2>NUL..$( c4a0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
c4b0: 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70  )\tool\vdbe-comp
c4c0: 72 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29  ress.tcl $(OPTS) c4d0: 20 3c 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e < tsrc\vdbe.c > c4e0: 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 vdbe.new..move c4f0: 76 64 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 vdbe.new tsrc\vd c500: 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 be.c..echo > .ta c510: 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c rget_source..sql c520: 69 74 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f ite3.c:..target_ c530: 73 6f 75 72 63 65 20 73 71 6c 69 74 65 33 65 78 source sqlite3ex c540: 74 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 t.h$(MKSQLITE3C
c550: 5f 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f  _TOOL)..$(TCLSH_ c560: 43 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 CMD)$(MKSQLITE3
c570: 43 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49  C_TOOL) $(MKSQLI c580: 54 45 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 TE3C_ARGS)..copy c590: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73$(TOP)\ext\sess
c5a0: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
c5b0: 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d  on.h ...sqlite3-
c5c0: 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63  all.c:.sqlite3.c
c5d0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c   $(TOP)\tool\spl c5e0: 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a it-sqlite3c.tcl. c5f0: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 .$(TCLSH_CMD) $( c600: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d TOP)\tool\split- c610: 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c sqlite3c.tcl.# < c620: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 </mark>>..# Rule c630: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 61 6d to build the am c640: 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c algamation.#.sql c650: 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 ite3.lo:.$(SQLIT
c660: 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  E3C)..$(LTCOMPIL c670: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
c680: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 53 51 4c  E_OPTS) -c $(SQL c690: 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b ITE3C)..# <<mark c6a0: 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 >>.# Rules to bu c6b0: 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f ild the LEMON co c6c0: 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 74 6f 72 mpiler generator c6d0: 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54 .#.lempar.c:.$(T
c6e0: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e  OP)\tool\lempar.
c6f0: 63 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 74  c..copy $(TOP)\t c700: 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a ool\lempar.c ... c710: 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50 lemon.exe:.$(TOP
c720: 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c  )\tool\lemon.c l
c730: 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43 29 20  empar.c..$(BCC) c740: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63$(NO_WARN) -Dacc
c750: 65 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09  ess=_access \...
c760: 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f  -Fe$@$(TOP)\too
c770: 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20  l\lemon.c /link
c780: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54  $(LDFLAGS)$(NLT
c790: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c  LINKOPTS) $(NLTL c7a0: 49 42 50 41 54 48 53 29 0a 0a 23 20 3c 3c 6d 61 IBPATHS)..# <<ma c7b0: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 rk>>.# Rules to c7c0: 62 75 69 6c 64 20 74 68 65 20 73 6f 75 72 63 65 build the source c7d0: 2d 69 64 20 67 65 6e 65 72 61 74 6f 72 20 74 6f -id generator to c7e0: 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63 65 69 64 2e ol.#.mksourceid. c7f0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c exe:.$(TOP)\tool
c800: 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 0a 09 24  \mksourceid.c..$c810: 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 (BCC)$(NO_WARN)
c820: 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f   -Fe$@$(TOP)\to
c830: 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 20  ol\mksourceid.c
c840: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) c850: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20$(NLTLINKOPTS)
c860: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a  $(NLTLIBPATHS).. c870: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 # Rules to build c880: 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f individual *.lo c890: 20 66 69 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 files from gene c8a0: 72 61 74 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e rated *.c files. c8b0: 20 54 68 69 73 0a 23 20 61 70 70 6c 69 65 73 20 This.# applies c8c0: 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61 72 73 to:.#.# pars c8d0: 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 e.lo.# opcod c8e0: 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f es.lo.#.parse.lo c8f0: 3a 09 70 61 72 73 65 2e 63 20 24 28 48 44 52 29 :.parse.c$(HDR)
c900: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
c910: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c920: 54 53 29 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a  TS) -c parse.c..
c930: 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f  opcodes.lo:.opco
c940: 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49  des.c..$(LTCOMPI c950: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
c960: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f  LE_OPTS) -c opco
c970: 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  des.c.# <</mark>
c980: 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69  >..# Rule to bui
c990: 6c 64 20 74 68 65 20 57 69 6e 33 32 20 72 65 73  ld the Win32 res
c9a0: 6f 75 72 63 65 73 20 6f 62 6a 65 63 74 20 66 69  ources object fi
c9b0: 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  le..#.!IF $(USE_ c9c0: 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b RC)!=0.# <<block c9d0: 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 1>>.$(LIBRESOBJS
c9e0: 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  ):.$(TOP)\src\sq c9f0: 6c 69 74 65 33 2e 72 63 20 24 28 53 51 4c 49 54 lite3.rc$(SQLIT
ca00: 45 33 48 29 20 24 28 54 4f 50 29 5c 56 45 52 53  E3H) $(TOP)\VERS ca10: 49 4f 4e 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 ION..echo #ifnde ca20: 66 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 f SQLITE_RESOURC ca30: 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 E_VERSION > sqli ca40: 74 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 te3rc.h..for /F ca50: 25 25 56 20 69 6e 20 28 27 74 79 70 65 20 22 24 %%V in ('type "$
ca60: 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29  (TOP)\VERSION"')
ca70: 20 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23   do ( \...echo #
ca80: 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45  define SQLITE_RE
ca90: 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25  SOURCE_VERSION %
caa0: 25 56 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53  %V \....| $(TCLS cab0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
cac0: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65  ol\replace.tcl e
cad0: 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c  xact . ^, >> sql
cae0: 69 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65  ite3rc.h \..)..e
caf0: 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71  cho #endif >> sq
cb00: 6c 69 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52  lite3rc.h..$(LTR cb10: 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c COMPILE) -fo$(L
cb20: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50  IBRESOBJS) $(TOP cb30: 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 )\src\sqlite3.rc cb40: 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 .# <</block1>>.! cb50: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e ENDIF..# <<mark> cb60: 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 >.# Rules to bui cb70: 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e ld individual *. cb80: 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 lo files from fi cb90: 6c 65 73 20 69 6e 20 74 68 65 20 73 72 63 20 64 les in the src d cba0: 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 irectory..#.alte cbb0: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 r.lo:.$(TOP)\src
cbc0: 5c 61 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a  \alter.c $(HDR). cbd0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( cbe0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT cbf0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
cc00: 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a  \alter.c..analyz
cc10: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src cc20: 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 \analyze.c$(HDR
cc30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) cc40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
cc50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s cc60: 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 rc\analyze.c..at cc70: 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c tach.lo:.$(TOP)\
cc80: 73 72 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48  src\attach.c $(H cc90: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
cca0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE ccb0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
ccc0: 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61  \src\attach.c..a
ccd0: 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  uth.lo:.$(TOP)\s cce0: 72 63 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29 rc\auth.c$(HDR)
ccf0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
cd00: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cd10: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr cd20: 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 c\auth.c..backup cd30: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
cd40: 62 61 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a  backup.c $(HDR). cd50: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( cd60: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT cd70: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
cd80: 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65  \backup.c..bitve
cd90: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  c.lo:.$(TOP)\src cda0: 5c 62 69 74 76 65 63 2e 63 20 24 28 48 44 52 29 \bitvec.c$(HDR)
cdb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
cdc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cdd0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr cde0: 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 c\bitvec.c..btmu cdf0: 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 tex.lo:.$(TOP)\s
ce00: 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48  rc\btmutex.c $(H ce10: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
ce20: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE ce30: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
ce40: 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a  \src\btmutex.c..
ce50: 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  btree.lo:.$(TOP) ce60: 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48 \src\btree.c$(H
ce70: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  DR) $(TOP)\src\p ce80: 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 ager.h..$(LTCOMP
ce90: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP cea0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
ceb0: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a  OP)\src\btree.c.
cec0: 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50  .build.lo:.$(TOP ced0: 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 )\src\build.c$(
cee0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL cef0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
cf00: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP cf10: 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 )\src\build.c..c cf20: 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f allback.lo:.$(TO
cf30: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e  P)\src\callback.
cf40: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cf50: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO cf60: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
cf70: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
cf80: 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c  ck.c..complete.l
cf90: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  o:.$(TOP)\src\co cfa0: 6d 70 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a mplete.c$(HDR).
cfb0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
cfc0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cfd0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src cfe0: 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 \complete.c..cti cff0: 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 me.lo:.$(TOP)\sr
d000: 63 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29  c\ctime.c $(HDR) d010: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $d020: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP d030: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
d040: 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e  c\ctime.c..date.
d050: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64  lo:.$(TOP)\src\d d060: 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ate.c$(HDR)..$( d070: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d080: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d090: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61  -c $(TOP)\src\da d0a0: 74 65 2e 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a te.c..dbpage.lo: d0b0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 .$(TOP)\src\dbpa
d0c0: 67 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ge.c $(HDR)..$(L
d0d0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d0e0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d0f0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 c$(TOP)\src\dbp
d100: 61 67 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f  age.c..dbstat.lo
d110: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73  :.$(TOP)\src\dbs d120: 74 61 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 tat.c$(HDR)..$( d130: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d140: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d150: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62  -c $(TOP)\src\db d160: 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c stat.c..delete.l d170: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 o:.$(TOP)\src\de
d180: 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24  lete.c $(HDR)..$
d190: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO d1a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) d1b0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 -c$(TOP)\src\d
d1c0: 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f  elete.c..expr.lo
d1d0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70  :.$(TOP)\src\exp d1e0: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 r.c$(HDR)..$(LT d1f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
d200: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d210: 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72   $(TOP)\src\expr d220: 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 .c..fault.lo:.$(
d230: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63  TOP)\src\fault.c
d240: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d250: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM d260: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
d270: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63  TOP)\src\fault.c
d280: 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50  ..fkey.lo:.$(TOP d290: 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24 28 48 )\src\fkey.c$(H
d2a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE d2b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
d2c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) d2d0: 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e \src\fkey.c..fun d2e0: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 c.lo:.$(TOP)\src
d2f0: 5c 66 75 6e 63 2e 63 20 24 28 48 44 52 29 0a 09  \func.c $(HDR).. d300: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d310: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d320: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d330: 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c  func.c..global.l
d340: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c  o:.$(TOP)\src\gl d350: 6f 62 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 obal.c$(HDR)..$d360: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d370: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d380: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 67   -c $(TOP)\src\g d390: 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f lobal.c..hash.lo d3a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 :.$(TOP)\src\has
d3b0: 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.c $(HDR)..$(LT
d3c0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d3d0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d3e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68$(TOP)\src\hash
d3f0: 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24  .c..insert.lo:.$d400: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 (TOP)\src\insert d410: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC d420: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
d430: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
d440: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72  $(TOP)\src\inser d450: 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 t.c..legacy.lo:. d460: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63$(TOP)\src\legac
d470: 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  y.c $(HDR)..$(LT
d480: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d490: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d4a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61$(TOP)\src\lega
d4b0: 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f  cy.c..loadext.lo
d4c0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61  :.$(TOP)\src\loa d4d0: 64 65 78 74 2e 63 20 24 28 48 44 52 29 0a 09 24 dext.c$(HDR)..$d4e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d4f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d500: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c   -c $(TOP)\src\l d510: 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c oadext.c..main.l d520: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 o:.$(TOP)\src\ma
d530: 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  in.c $(HDR)..$(L
d540: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d550: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d560: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 c$(TOP)\src\mai
d570: 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09  n.c..malloc.lo:.
d580: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f  $(TOP)\src\mallo d590: 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 c.c$(HDR)..$(LT d5a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
d5b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d5c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c   $(TOP)\src\mall d5d0: 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 oc.c..mem0.lo:.$
d5e0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63  (TOP)\src\mem0.c
d5f0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d600: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM d610: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
d620: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a  TOP)\src\mem0.c.
d630: 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  .mem1.lo:.$(TOP) d640: 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44 \src\mem1.c$(HD
d650: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) d660: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
d670: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ d680: 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 src\mem1.c..mem2 d690: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
d6a0: 6d 65 6d 32 2e 63 20 24 28 48 44 52 29 0a 09 24  mem2.c $(HDR)..$
d6b0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO d6c0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) d6d0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d -c$(TOP)\src\m
d6e0: 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09  em2.c..mem3.lo:.
d6f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e  $(TOP)\src\mem3. d700: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO d710: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d720: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $d730: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 (TOP)\src\mem3.c d740: 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 ..mem5.lo:.$(TOP
d750: 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48  )\src\mem5.c $(H d760: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
d770: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE d780: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
d790: 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d  \src\mem5.c..mem
d7a0: 64 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  db.lo:.$(TOP)\sr d7b0: 63 5c 6d 65 6d 64 62 2e 63 20 24 28 48 44 52 29 c\memdb.c$(HDR)
d7c0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
d7d0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d7e0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr d7f0: 63 5c 6d 65 6d 64 62 2e 63 0a 0a 6d 65 6d 6a 6f c\memdb.c..memjo d800: 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 urnal.lo:.$(TOP)
d810: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  \src\memjournal.
d820: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d830: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO d840: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
d850: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75  (TOP)\src\memjou
d860: 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f  rnal.c..mutex.lo
d870: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut d880: 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c ex.c$(HDR)..$(L d890: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d8a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d8b0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  c $(TOP)\src\mut d8c0: 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 ex.c..mutex_noop d8d0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
d8e0: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48  mutex_noop.c $(H d8f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
d900: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE d910: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
d920: 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e  \src\mutex_noop.
d930: 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f  c..mutex_unix.lo
d940: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut d950: 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 ex_unix.c$(HDR)
d960: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
d970: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d980: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr d990: 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a c\mutex_unix.c.. d9a0: 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 mutex_w32.lo:.$(
d9b0: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77  TOP)\src\mutex_w
d9c0: 33 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  32.c $(HDR)..$(L
d9d0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d9e0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d9f0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 c$(TOP)\src\mut
da00: 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79  ex_w32.c..notify
da10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ da20: 6e 6f 74 69 66 79 2e 63 20 24 28 48 44 52 29 0a notify.c$(HDR).
da30: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
da40: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
da50: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src da60: 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 \notify.c..pager da70: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
da80: 70 61 67 65 72 2e 63 20 24 28 48 44 52 29 20 24  pager.c $(HDR)$
da90: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
daa0: 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  h..$(LTCOMPILE) dab0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
dac0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s dad0: 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 rc\pager.c..pcac dae0: 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 he.lo:.$(TOP)\sr
daf0: 63 5c 70 63 61 63 68 65 2e 63 20 24 28 48 44 52  c\pcache.c $(HDR db00: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 )$(TOP)\src\pca
db10: 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49  che.h..$(LTCOMPI db20: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
db30: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO db40: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 0a P)\src\pcache.c. db50: 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 .pcache1.lo:.$(T
db60: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e  OP)\src\pcache1.
db70: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c  c $(HDR)$(TOP)\
db80: 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28  src\pcache.h..$( db90: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
dba0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
dbb0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  -c $(TOP)\src\pc dbc0: 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 ache1.c..os.lo:. dbd0: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20$(TOP)\src\os.c
dbe0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dbf0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP dc00: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
dc10: 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73  OP)\src\os.c..os
dc20: 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  _unix.lo:.$(TOP) dc30: 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 \src\os_unix.c$
dc40: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI dc50: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
dc60: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO dc70: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 P)\src\os_unix.c dc80: 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 ..os_win.lo:.$(T
dc90: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63  OP)\src\os_win.c
dca0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
dcb0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM dcc0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
dcd0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e  TOP)\src\os_win.
dce0: 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28  c..pragma.lo:.$( dcf0: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e TOP)\src\pragma. dd00: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO dd10: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
dd20: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $dd30: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 (TOP)\src\pragma dd40: 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 .c..prepare.lo:. dd50: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61$(TOP)\src\prepa
dd60: 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  re.c $(HDR)..$(L
dd70: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE dd80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - dd90: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 c$(TOP)\src\pre
dda0: 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c  pare.c..printf.l
ddb0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  o:.$(TOP)\src\pr ddc0: 69 6e 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 intf.c$(HDR)..$ddd0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
dde0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ddf0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p de00: 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e rintf.c..random. de10: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 lo:.$(TOP)\src\r
de20: 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09  andom.c $(HDR).. de30: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C de40: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS de50: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
de60: 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76  random.c..resolv
de70: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src de80: 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 \resolve.c$(HDR
de90: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) dea0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
deb0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s dec0: 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f rc\resolve.c..ro ded0: 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c wset.lo:.$(TOP)\
dee0: 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 24 28 48  src\rowset.c $(H def0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
df00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE df10: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
df20: 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73  \src\rowset.c..s
df30: 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  elect.lo:.$(TOP) df40: 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 \src\select.c$(
df50: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL df60: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
df70: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP df80: 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a )\src\select.c.. df90: 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 status.lo:.$(TOP
dfa0: 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24  )\src\status.c $dfb0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
dfc0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI dfd0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
dfe0: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 0a  P)\src\status.c.
dff0: 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50  .table.lo:.$(TOP e000: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 )\src\table.c$(
e010: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL e020: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
e030: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP e040: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 )\src\table.c..t e050: 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 hreads.lo:.$(TOP
e060: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20  )\src\threads.c
e070: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e080: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP e090: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
e0a0: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e  OP)\src\threads.
e0b0: 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09  c..tokenize.lo:.
e0c0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e  $(TOP)\src\token e0d0: 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 ize.c keywordhas e0e0: 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28 4c 54 h.h$(HDR)..$(LT e0f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
e100: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e110: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65   $(TOP)\src\toke e120: 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 nize.c..treeview e130: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
e140: 74 72 65 65 76 69 65 77 2e 63 20 24 28 48 44 52  treeview.c $(HDR e150: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
e160: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O e170: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
e180: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a 74  rc\treeview.c..t
e190: 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50  rigger.lo:.$(TOP e1a0: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 )\src\trigger.c e1b0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP e1c0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
e1d0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T e1e0: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e OP)\src\trigger. e1f0: 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 c..update.lo:.$(
e200: 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e  TOP)\src\update.
e210: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e220: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO e230: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
e240: 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65  (TOP)\src\update
e250: 2e 63 0a 0a 75 70 73 65 72 74 2e 6c 6f 3a 09 24  .c..upsert.lo:.$e260: 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 65 72 74 (TOP)\src\upsert e270: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC e280: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
e290: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
e2a0: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 65 72  $(TOP)\src\upser e2b0: 74 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 t.c..utf.lo:.$(T
e2c0: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 24 28  OP)\src\utf.c $( e2d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
e2e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL e2f0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
e300: 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69  )\src\utf.c..uti
e310: 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  l.lo:.$(TOP)\src e320: 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 29 0a 09 \util.c$(HDR)..
e330: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
e340: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e350: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ e360: 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c util.c..vacuum.l e370: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 o:.$(TOP)\src\va
e380: 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a 09 24  cuum.c $(HDR)..$
e390: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO e3a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) e3b0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 -c$(TOP)\src\v
e3c0: 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f  acuum.c..vdbe.lo
e3d0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb e3e0: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 e.c$(HDR)..$(LT e3f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
e400: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e410: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe e420: 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09 .c..vdbeapi.lo:. e430: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61$(TOP)\src\vdbea
e440: 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  pi.c $(HDR)..$(L
e450: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE e460: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - e470: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 c$(TOP)\src\vdb
e480: 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e  eapi.c..vdbeaux.
e490: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v e4a0: 64 62 65 61 75 78 2e 63 20 24 28 48 44 52 29 0a dbeaux.c$(HDR).
e4b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
e4c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e4d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src e4e0: 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 64 62 65 \vdbeaux.c..vdbe e4f0: 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c blob.lo:.$(TOP)\
e500: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24  src\vdbeblob.c $e510: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
e520: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI e530: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
e540: 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e  P)\src\vdbeblob.
e550: 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24  c..vdbemem.lo:.$e560: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 (TOP)\src\vdbeme e570: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 m.c$(HDR)..$(LT e580: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
e590: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e5a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe e5b0: 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e mem.c..vdbesort. e5c0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 lo:.$(TOP)\src\v
e5d0: 64 62 65 73 6f 72 74 2e 63 20 24 28 48 44 52 29  dbesort.c $(HDR) e5e0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $e5f0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP e600: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
e610: 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64  c\vdbesort.c..vd
e620: 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f  betrace.lo:.$(TO e630: 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 P)\src\vdbetrace e640: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC e650: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
e660: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
e670: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74  $(TOP)\src\vdbet e680: 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a race.c..vtab.lo: e690: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 .$(TOP)\src\vtab
e6a0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e6b0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C e6c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c e6d0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e$(TOP)\src\vtab.
e6e0: 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50  c..wal.lo:.$(TOP e6f0: 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28 48 44 )\src\wal.c$(HD
e700: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e710: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e720: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ e730: 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 src\wal.c..walke e740: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 r.lo:.$(TOP)\src
e750: 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48 44 52 29  \walker.c $(HDR) e760: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $e770: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP e780: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
e790: 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72  c\walker.c..wher
e7a0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src e7b0: 5c 77 68 65 72 65 2e 63 20 24 28 48 44 52 29 0a \where.c$(HDR).
e7c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
e7d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e7e0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src e7f0: 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 72 65 63 \where.c..wherec e800: 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ode.lo:.$(TOP)\s
e810: 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 24  rc\wherecode.c $e820: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
e830: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI e840: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
e850: 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65  P)\src\wherecode
e860: 2e 63 0a 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f  .c..whereexpr.lo
e870: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  :.$(TOP)\src\whe e880: 72 65 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a reexpr.c$(HDR).
e890: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
e8a0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e8b0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src e8c0: 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 77 69 \whereexpr.c..wi e8d0: 6e 64 6f 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c ndow.lo:.$(TOP)\
e8e0: 73 72 63 5c 77 69 6e 64 6f 77 2e 63 20 24 28 48  src\window.c $(H e8f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
e900: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE e910: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
e920: 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 74  \src\window.c..t
e930: 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54  clsqlite.lo:.$(T e940: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 OP)\src\tclsqlit e950: 65 2e 63 20 24 28 48 44 52 29 20 24 28 53 51 4c e.c$(HDR) $(SQL e960: 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 ITE_TCL_DEP)..$(
e970: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f  LTCOMPILE) $(NO_ e980: 57 41 52 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f WARN) -DUSE_TCL_ e990: 53 54 55 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f STUBS=1 -DBUILD_ e9a0: 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e sqlite -I$(TCLIN
e9b0: 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c  CDIR) -c $(TOP)\ e9c0: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a src\tclsqlite.c. e9d0: 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c .tclsqlite-shell e9e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
e9f0: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44  tclsqlite.c $(HD ea00: 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f R)$(SQLITE_TCL_
ea10: 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  DEP)..$(LTCOMPIL ea20: 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 E)$(NO_WARN) -D
ea30: 54 43 4c 53 48 20 2d 44 42 55 49 4c 44 5f 73 71  TCLSH -DBUILD_sq
ea40: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD ea50: 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 IR) -c$(TOP)\sr
ea60: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74  c\tclsqlite.c..t
ea70: 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a 09 74  clsqlite3.exe:.t
ea80: 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c  clsqlite-shell.l
ea90: 6f 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  o $(SQLITE3C)$(
eaa0: 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52  SQLITE3H) $(LIBR eab0: 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e ESOBJS)..$(LTLIN
eac0: 4b 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  K) $(SQLITE3C) / ead0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
eae0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS)$(
eaf0: 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c  TCLLIBPATHS) $(L eb00: 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a TLIBPATHS) /OUT: eb10: 24 40 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65$@ tclsqlite-she
eb20: 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42  ll.lo $(LIBRESOB eb30: 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 JS)$(TCLLIBS) $eb40: 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 (LTLIBS)$(TLIBS
eb50: 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  )..# Rules to bu
eb60: 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e  ild opcodes.c an
eb70: 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70  d opcodes.h.#.op
eb80: 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73  codes.c:.opcodes
eb90: 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  .h $(TOP)\tool\m eba0: 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28 kopcodec.tcl..$(
ebb0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP ebc0: 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 )\tool\mkopcodec ebd0: 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e .tcl opcodes.h > ebe0: 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f opcodes.c..opco ebf0: 64 65 73 2e 68 3a 09 70 61 72 73 65 2e 68 20 24 des.h:.parse.h$
ec00: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
ec10: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f   $(TOP)\tool\mko ec20: 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74 79 70 65 pcodeh.tcl..type ec30: 20 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29 5c parse.h$(TOP)\
ec40: 73 72 63 5c 76 64 62 65 2e 63 20 7c 20 24 28 54  src\vdbe.c | $(T ec50: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
ec60: 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e  \tool\mkopcodeh.
ec70: 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a  tcl > opcodes.h.
ec80: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
ec90: 64 20 70 61 72 73 65 2e 63 20 61 6e 64 20 70 61  d parse.c and pa
eca0: 72 73 65 2e 68 20 2d 20 74 68 65 20 6f 75 74 70  rse.h - the outp
ecb0: 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a  uts of lemon..#.
ecc0: 70 61 72 73 65 2e 68 3a 09 70 61 72 73 65 2e 63  parse.h:.parse.c
ecd0: 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50  ..parse.c:.$(TOP ece0: 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 6c 65 )\src\parse.y le ecf0: 6d 6f 6e 2e 65 78 65 0a 09 64 65 6c 20 2f 51 20 mon.exe..del /Q ed00: 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 parse.y parse.h ed10: 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e parse.h.temp 2>N ed20: 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c UL..copy$(TOP)\
ed30: 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e  src\parse.y ....
ed40: 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51  \lemon.exe $(REQ ed50: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) ed60: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c$(OPT_FEATURE_FL
ed70: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU ed80: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 RE_FLAGS)$(OPTS
ed90: 29 20 70 61 72 73 65 2e 79 0a 0a 24 28 53 51 4c  ) parse.y..$(SQL eda0: 49 54 45 33 48 29 3a 09 24 28 54 4f 50 29 5c 73 ITE3H):.$(TOP)\s
edb0: 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 24  rc\sqlite.h.in $edc0: 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73 74 20 6d (TOP)\manifest m edd0: 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 20 24 28 ksourceid.exe$(
ede0: 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 24 28  TOP)\VERSION..$( edf0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
ee00: 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33  )\tool\mksqlite3
ee10: 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29  h.tcl $(TOP:\=/) ee20: 20 3e 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 >$(SQLITE3H) $ee30: 28 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53 (MKSQLITE3H_ARGS ee40: 29 0a 0a 73 71 6c 69 74 65 33 65 78 74 2e 68 3a )..sqlite3ext.h: ee50: 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a ..target_source. ee60: 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c !IF$(USE_STDCAL
ee70: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W ee80: 49 4e 31 30 29 21 3d 30 0a 09 74 79 70 65 20 74 IN10)!=0..type t ee90: 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 src\sqlite3ext.h eea0: 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 |$(TCLSH_CMD)
eeb0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl eec0: 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 ace.tcl regsub " eed0: 5c 28 5c 2a 5c 29 22 20 22 28 53 51 4c 49 54 45 $$\*$$" "(SQLITE eee0: 5f 43 41 4c 4c 42 41 43 4b 20 2a 29 22 20 5c 0a _CALLBACK *)" \. eef0: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
ef00: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep ef10: 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 lace.tcl regsub ef20: 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f "\(\*" "(SQLITE_ ef30: 41 50 49 43 41 4c 4c 20 2a 22 20 3e 20 73 71 6c APICALL *" > sql ef40: 69 74 65 33 65 78 74 2e 68 0a 09 63 6f 70 79 20 ite3ext.h..copy ef50: 2f 59 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 /Y sqlite3ext.h ef60: 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e tsrc\sqlite3ext. ef70: 68 0a 21 45 4c 53 45 0a 09 63 6f 70 79 20 2f 59 h.!ELSE..copy /Y ef80: 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 tsrc\sqlite3ext ef90: 2e 68 20 73 71 6c 69 74 65 33 65 78 74 2e 68 0a .h sqlite3ext.h. efa0: 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72 !ENDIF..mkkeywor efb0: 64 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 dhash.exe:.$(TOP
efc0: 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64  )\tool\mkkeyword
efd0: 68 61 73 68 2e 63 0a 09 24 28 42 43 43 29 20 24  hash.c..$(BCC)$
efe0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40 20  (NO_WARN) -Fe$@ eff0: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c$(REQ_FEATURE_FL
f000: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55  AGS) $(OPT_FEATU f010: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f RE_FLAGS)$(EXT_
f020: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $f030: 28 4f 50 54 53 29 20 5c 0a 09 09 24 28 54 4f 50 (OPTS) \...$(TOP
f040: 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64  )\tool\mkkeyword
f050: 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c  hash.c /link $(L f060: 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e DFLAGS)$(NLTLIN
f070: 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50  KOPTS) $(NLTLIBP f080: 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72 64 68 61 ATHS)..keywordha f090: 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c 74 6f 6f sh.h:.$(TOP)\too
f0a0: 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  l\mkkeywordhash.
f0b0: 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  c mkkeywordhash.
f0c0: 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64  exe...\mkkeyword
f0d0: 68 61 73 68 2e 65 78 65 20 3e 20 6b 65 79 77 6f  hash.exe > keywo
f0e0: 72 64 68 61 73 68 2e 68 0a 0a 23 20 53 6f 75 72  rdhash.h..# Sour
f0f0: 63 65 20 66 69 6c 65 73 20 74 68 61 74 20 67 6f  ce files that go
f100: 20 69 6e 74 6f 20 6d 61 6b 69 6e 67 20 73 68 65   into making she
f110: 6c 6c 2e 63 0a 53 48 45 4c 4c 5f 53 52 43 20 3d  ll.c.SHELL_SRC =
f120: 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73   \..$(TOP)\src\s f130: 68 65 6c 6c 2e 63 2e 69 6e 20 5c 0a 09 24 28 54 hell.c.in \..$(T
f140: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 70 70  OP)\ext\misc\app
f150: 65 6e 64 76 66 73 2e 63 20 5c 0a 09 24 28 54 4f  endvfs.c \..$(TO f160: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 68 61 74 P)\ext\misc\shat f170: 68 72 65 65 2e 63 20 5c 0a 09 24 28 54 4f 50 29 hree.c \..$(TOP)
f180: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
f190: 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74  .c \..$(TOP)\ext f1a0: 5c 6d 69 73 63 5c 63 6f 6d 70 6c 65 74 69 6f 6e \misc\completion f1b0: 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 .c \..$(TOP)\ext
f1c0: 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65  \expert\sqlite3e
f1d0: 78 70 65 72 74 2e 63 20 5c 0a 09 24 28 54 4f 50  xpert.c \..$(TOP f1e0: 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c )\ext\expert\sql f1f0: 69 74 65 33 65 78 70 65 72 74 2e 68 20 5c 0a 09 ite3expert.h \.. f200: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
f210: 6d 65 6d 74 72 61 63 65 2e 63 20 5c 0a 09 24 28  memtrace.c \..$( f220: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 TOP)\src\test_wi f230: 6e 64 69 72 65 6e 74 2e 63 0a 0a 23 20 49 66 20 ndirent.c..# If f240: 75 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 use of zlib is e f250: 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 nabled, add the f260: 22 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 "zipfile.c" sour f270: 63 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 ce file..#.!IF$
f280: 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 53 48  (USE_ZLIB)!=0.SH
f290: 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 48 45 4c  ELL_SRC = $(SHEL f2a0: 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 65 78 L_SRC)$(TOP)\ex
f2b0: 74 5c 6d 69 73 63 5c 73 71 6c 61 72 2e 63 0a 53  t\misc\sqlar.c.S
f2c0: 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 48 45  HELL_SRC = $(SHE f2d0: 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 65 LL_SRC)$(TOP)\e
f2e0: 78 74 5c 6d 69 73 63 5c 7a 69 70 66 69 6c 65 2e  xt\misc\zipfile.
f2f0: 63 0a 21 45 4e 44 49 46 0a 0a 73 68 65 6c 6c 2e  c.!ENDIF..shell.
f300: 63 3a 09 24 28 53 48 45 4c 4c 5f 53 52 43 29 20  c:.$(SHELL_SRC) f310: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68$(TOP)\tool\mksh
f320: 65 6c 6c 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53  ellc.tcl..$(TCLS f330: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
f340: 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 20  ol\mkshellc.tcl
f350: 3e 20 73 68 65 6c 6c 2e 63 0a 0a 7a 6c 69 62 3a  > shell.c..zlib:
f360: 0a 09 70 75 73 68 64 20 24 28 5a 4c 49 42 44 49  ..pushd $(ZLIBDI f370: 52 29 20 26 26 20 24 28 4d 41 4b 45 29 20 2f 66 R) &&$(MAKE) /f
f380: 20 77 69 6e 33 32 5c 4d 61 6b 65 66 69 6c 65 2e   win32\Makefile.
f390: 6d 73 63 20 63 6c 65 61 6e 20 24 28 5a 4c 49 42  msc clean $(ZLIB f3a0: 4c 49 42 29 20 26 26 20 70 6f 70 64 0a 0a 23 20 LIB) && popd..# f3b0: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 Rules to build t f3c0: 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a he extension obj f3d0: 65 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 ects..#.icu.lo:. f3e0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69$(TOP)\ext\icu\i
f3f0: 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  cu.c $(HDR)$(EX
f400: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI f410: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
f420: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA f430: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR f440: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
f450: 69 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e  icu\icu.c..fts2.
f460: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f f470: 74 73 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52 ts2\fts2.c$(HDR
f480: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f490: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE f4a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
f4b0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f4c0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP f4d0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e )\ext\fts2\fts2. f4e0: 63 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a c..fts2_hash.lo: f4f0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 .$(TOP)\ext\fts2
f500: 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48  \fts2_hash.c $(H f510: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$f520: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
f530: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f540: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ f550: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
f560: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
f570: 32 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69  2_hash.c..fts2_i
f580: 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  cu.lo:.$(TOP)\ex f590: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e t\fts2\fts2_icu. f5a0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD f5b0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
f5c0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ f5d0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
f5e0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f5f0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts f600: 32 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74 2\fts2_icu.c..ft f610: 73 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 s2_porter.lo:.$(
f620: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
f630: 73 32 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44  s2_porter.c $(HD f640: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( f650: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
f660: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
f670: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL f680: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
f690: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
f6a0: 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f  _porter.c..fts2_
f6b0: 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28  tokenizer.lo:.$( f6c0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft f6d0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 s2_tokenizer.c$
f6e0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). f6f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( f700: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT f710: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
f720: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $f730: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f f740: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a ts2_tokenizer.c. f750: 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 .fts2_tokenizer1 f760: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
f770: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
f780: 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28  zer1.c $(HDR)$(
f790: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM f7a0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
f7b0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ f7c0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C f7d0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
f7e0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
f7f0: 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c  nizer1.c..fts3.l
f800: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft f810: 73 33 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29 s3\fts3.c$(HDR)
f820: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f830: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ f840: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
f850: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f860: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) f870: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 \ext\fts3\fts3.c f880: 0a 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 ..fts3_aux.lo:.$
f890: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f8a0: 74 73 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29  ts3_aux.c $(HDR) f8b0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT f8c0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
f8d0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( f8e0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT f8f0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
f900: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61  \ext\fts3\fts3_a
f910: 75 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e  ux.c..fts3_expr.
f920: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f f930: 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 ts3\fts3_expr.c f940: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) f950: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $f960: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP f970: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
f980: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
f990: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ f9a0: 66 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73 fts3_expr.c..fts f9b0: 33 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 3_hash.lo:.$(TOP
f9c0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f9d0: 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28  hash.c $(HDR)$(
f9e0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM f9f0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
fa00: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ fa10: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C fa20: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
fa30: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
fa40: 2e 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a  .c..fts3_icu.lo:
fa50: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3 fa60: 5c 66 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44 \fts3_icu.c$(HD
fa70: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
fa80: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR fa90: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) faa0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
fab0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO fac0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 fad0: 5f 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69 _icu.c..fts3_sni fae0: 70 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c ppet.lo:.$(TOP)\
faf0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e  ext\fts3\fts3_sn
fb00: 69 70 70 65 74 2e 63 20 24 28 48 44 52 29 20 24  ippet.c $(HDR)$
fb10: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO fb20: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
fb30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO fb40: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ fb50: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
fb60: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69  xt\fts3\fts3_sni
fb70: 70 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72  ppet.c..fts3_por
fb80: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ter.lo:.$(TOP)\e fb90: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 xt\fts3\fts3_por fba0: 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 ter.c$(HDR) $(E fbb0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
fbc0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP fbd0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
fbe0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
fbf0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext fc00: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 \fts3\fts3_porte fc10: 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 r.c..fts3_tokeni fc20: 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 zer.lo:.$(TOP)\e
fc30: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
fc40: 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20  enizer.c $(HDR) fc50: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC fc60: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
fc70: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N fc80: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE fc90: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
fca0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
fcb0: 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f  kenizer.c..fts3_
fcc0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24  tokenizer1.lo:.$fcd0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f fce0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 ts3_tokenizer1.c fcf0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR fd00: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
fd10: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O fd20: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
fd30: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
fd40: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 fd50: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 \fts3_tokenizer1 fd60: 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a .c..fts3_tokeniz fd70: 65 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 e_vtab.lo:.$(TOP
fd80: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fd90: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20  tokenize_vtab.c
fda0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
fdb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
fdc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
fdd0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - fde0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c fdf0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
fe00: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
fe10: 61 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f  ab.c..fts3_unico
fe20: 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  de.lo:.$(TOP)\ex fe30: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 t\fts3\fts3_unic fe40: 6f 64 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 ode.c$(HDR) $(E fe50: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
fe60: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP fe70: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
fe80: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
fe90: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext fea0: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f \fts3\fts3_unico feb0: 64 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f de.c..fts3_unico fec0: 64 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 de2.lo:.$(TOP)\e
fed0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69  xt\fts3\fts3_uni
fee0: 63 6f 64 65 32 2e 63 20 24 28 48 44 52 29 20 24  code2.c $(HDR)$
fef0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO ff00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
ff10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO ff20: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ ff30: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
ff40: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69  xt\fts3\fts3_uni
ff50: 63 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72  code2.c..fts3_wr
ff60: 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ite.lo:.$(TOP)\e ff70: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 xt\fts3\fts3_wri ff80: 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 te.c$(HDR) $(EX ff90: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
ffa0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI ffb0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
ffc0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
ffd0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ ffe0: 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e fts3\fts3_write. fff0: 63 0a 0a 6a 73 6f 6e 31 2e 6c 6f 3a 09 24 28 54 c..json1.lo:.$(T
10000 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f  OP)\ext\misc\jso
10010 6e 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  n1.c $(HDR)$(EX
10020 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI 10030 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
10040 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA 10050 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR 10060 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
10070 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 0a 0a 73 74  misc\json1.c..st
10080 6d 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  mt.lo:.$(TOP)\ex 10090 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 20 24 28 t\misc\stmt.c$(
100a0 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR).. 100b0 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C 100c0 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS 100d0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
100e0 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $( 100f0 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 TOP)\ext\misc\st 10100 6d 74 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09 mt.c..rtree.lo:. 10110 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65$(TOP)\ext\rtree
10120 5c 72 74 72 65 65 2e 63 20 24 28 48 44 52 29 20  \rtree.c $(HDR) 10130 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC 10140 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
10150 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N 10160 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE 10170 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
10180 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
10190 63 0a 0a 73 71 6c 69 74 65 33 73 65 73 73 69 6f  c..sqlite3sessio
101a0 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  n.lo:.$(TOP)\ext 101b0 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 \session\sqlite3 101c0 73 65 73 73 69 6f 6e 2e 63 20 24 28 48 44 52 29 session.c$(HDR)
101d0 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
101e0 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ 101f0 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
10200 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
10210 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) 10220 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c \ext\session\sql 10230 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 ite3session.c..# 10240 20 46 54 53 35 20 74 68 69 6e 67 73 0a 23 0a 46 FTS5 things.#.F 10250 54 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24 TS5_SRC = \.$
10260 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
10270 74 73 35 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  ts5.h \.   $(TOP 10280 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 49 )\ext\fts5\fts5I 10290 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 nt.h \.$(TOP)
102a0 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 61  \ext\fts5\fts5_a
102b0 75 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ux.c \.   $(TOP) 102c0 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 62 \ext\fts5\fts5_b 102d0 75 66 66 65 72 2e 63 20 5c 0a 20 20 20 24 28 54 uffer.c \.$(T
102e0 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
102f0 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28  5_main.c \.   $( 10300 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 TOP)\ext\fts5\ft 10310 73 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 s5_config.c \. 10320 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35$(TOP)\ext\fts5
10330 5c 66 74 73 35 5f 65 78 70 72 2e 63 20 5c 0a 20  \fts5_expr.c \.
10340 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 10350 35 5c 66 74 73 35 5f 68 61 73 68 2e 63 20 5c 0a 5\fts5_hash.c \. 10360 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74$(TOP)\ext\ft
10370 73 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e 63 20  s5\fts5_index.c
10380 5c 0a 20 20 20 66 74 73 35 70 61 72 73 65 2e 63  \.   fts5parse.c
10390 20 66 74 73 35 70 61 72 73 65 2e 68 20 5c 0a 20   fts5parse.h \.
103a0 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 103b0 35 5c 66 74 73 35 5f 73 74 6f 72 61 67 65 2e 63 5\fts5_storage.c 103c0 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
103d0 5c 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b 65 6e  \fts5\fts5_token
103e0 69 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ize.c \.   $(TOP 103f0 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ 10400 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 20 unicode2.c \. 10410 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c$(TOP)\ext\fts5\
10420 66 74 73 35 5f 76 61 72 69 6e 74 2e 63 20 5c 0a  fts5_varint.c \.
10430 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft 10440 73 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e 63 0a s5\fts5_vocab.c. 10450 0a 4c 53 4d 31 5f 53 52 43 20 3d 20 5c 0a 20 20 .LSM1_SRC = \. 10460 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31$(TOP)\ext\lsm1
10470 5c 6c 73 6d 2e 68 20 5c 0a 20 20 20 24 28 54 4f  \lsm.h \.   $(TO 10480 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 49 P)\ext\lsm1\lsmI 10490 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 nt.h \.$(TOP)
104a0 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 63 6b  \ext\lsm1\lsm_ck
104b0 70 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  pt.c \.   $(TOP) 104c0 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 66 69 \ext\lsm1\lsm_fi 104d0 6c 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 le.c \.$(TOP)
104e0 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6c 6f  \ext\lsm1\lsm_lo
104f0 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  g.c \.   $(TOP)\ 10500 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 61 69 ext\lsm1\lsm_mai 10510 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c n.c \.$(TOP)\
10520 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 65 6d  ext\lsm1\lsm_mem
10530 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e 10540 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 75 74 65 xt\lsm1\lsm_mute 10550 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c x.c \.$(TOP)\
10560 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 68 61  ext\lsm1\lsm_sha
10570 72 65 64 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  red.c \.   $(TOP 10580 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 )\ext\lsm1\lsm_s 10590 6f 72 74 65 64 2e 63 20 5c 0a 20 20 20 24 28 54 orted.c \.$(T
105a0 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
105b0 5f 73 74 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f  _str.c \.   $(TO 105c0 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f P)\ext\lsm1\lsm_ 105d0 74 72 65 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f tree.c \.$(TO
105e0 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
105f0 75 6e 69 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f  unix.c \.   $(TO 10600 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f P)\ext\lsm1\lsm_ 10610 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 varint.c \.$(
10620 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
10630 6d 5f 76 74 61 62 2e 63 20 5c 0a 20 20 20 24 28  m_vtab.c \.   $( 10640 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 TOP)\ext\lsm1\ls 10650 6d 5f 77 69 6e 33 32 2e 63 0a 0a 66 74 73 35 70 m_win32.c..fts5p 10660 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 65 arse.c:.$(TOP)\e
10670 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73  xt\fts5\fts5pars
10680 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63  e.y lemon.exe..c
10690 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  opy $(TOP)\ext\f 106a0 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20 ts5\fts5parse.y 106b0 2e 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 70 61 ...del /Q fts5pa 106c0 72 73 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c rse.h 2>NUL...\l 106d0 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 emon.exe$(REQ_F
106e0 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $( 106f0 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG 10700 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 S)$(EXT_FEATURE
10710 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) 10720 66 74 73 35 70 61 72 73 65 2e 79 0a 0a 66 74 73 fts5parse.y..fts 10730 35 70 61 72 73 65 2e 68 3a 09 66 74 73 35 70 61 5parse.h:.fts5pa 10740 72 73 65 2e 63 0a 0a 66 74 73 35 2e 63 3a 09 24 rse.c..fts5.c:.$
10750 28 46 54 53 35 5f 53 52 43 29 0a 09 24 28 54 43  (FTS5_SRC)..$(TC 10760 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c LSH_CMD)$(TOP)\
10770 65 78 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b  ext\fts5\tool\mk
10780 66 74 73 35 63 2e 74 63 6c 0a 09 63 6f 70 79 20  fts5c.tcl..copy
10790 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\ 107a0 66 74 73 35 2e 68 20 2e 0a 0a 6c 73 6d 31 2e 63 fts5.h ...lsm1.c 107b0 3a 09 24 28 4c 53 4d 31 5f 53 52 43 29 0a 09 24 :.$(LSM1_SRC)..$107c0 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
107d0 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 74 6f 6f 6c  P)\ext\lsm1\tool
107e0 5c 6d 6b 6c 73 6d 31 63 2e 74 63 6c 0a 09 63 6f  \mklsm1c.tcl..co
107f0 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73  py $(TOP)\ext\ls 10800 6d 31 5c 6c 73 6d 2e 68 20 2e 0a 0a 66 74 73 35 m1\lsm.h ...fts5 10810 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 .lo:.fts5.c$(HD
10820 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
10830 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR 10840 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) 10850 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
10860 49 54 45 5f 43 4f 52 45 20 2d 63 20 66 74 73 35  ITE_CORE -c fts5
10870 2e 63 0a 0a 66 74 73 35 5f 65 78 74 2e 6c 6f 3a  .c..fts5_ext.lo:
10880 09 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24  .fts5.c $(HDR)$
10890 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO 108a0 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e MPILE)$(NO_WARN
108b0 29 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73  ) -c fts5.c..fts
108c0 35 2e 64 6c 6c 3a 09 66 74 73 35 5f 65 78 74 2e  5.dll:.fts5_ext.
108d0 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c  lo..$(LD)$(LDFL
108e0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT 108f0 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 S)$(LTLIBPATHS)
10900 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 66 74   /DLL /OUT:$@ ft 10910 73 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 s5_ext.lo..sqlit 10920 65 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 e3rbu.lo:.$(TOP)
10930 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33  \ext\rbu\sqlite3
10940 72 62 75 2e 63 20 24 28 48 44 52 29 20 24 28 45  rbu.c $(HDR)$(E
10950 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP 10960 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ILE) -DSQLITE_CO 10970 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
10980 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e  \rbu\sqlite3rbu.
10990 63 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  c..# Rules to bu
109a0 69 6c 64 20 74 68 65 20 27 74 65 73 74 66 69 78  ild the 'testfix
109b0 74 75 72 65 27 20 61 70 70 6c 69 63 61 74 69 6f  ture' applicatio
109c0 6e 2e 0a 23 0a 23 20 49 66 20 75 73 69 6e 67 20  n..#.# If using
109d0 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
109e0 2c 20 75 73 65 20 73 71 6c 69 74 65 33 2e 63 20  , use sqlite3.c
109f0 64 69 72 65 63 74 6c 79 20 74 6f 20 62 75 69 6c  directly to buil
10a00 64 20 74 68 65 20 74 65 73 74 0a 23 20 66 69 78  d the test.# fix
10a10 74 75 72 65 2e 20 20 4f 74 68 65 72 77 69 73 65  ture.  Otherwise
10a20 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 6c 69   link against li
10a30 62 73 71 6c 69 74 65 33 2e 6c 69 62 2e 20 20 28  bsqlite3.lib.  (
10a40 54 68 69 73 20 64 69 73 74 69 6e 63 74 69 6f 6e  This distinction
10a50 20 69 73 0a 23 20 6e 65 63 65 73 73 61 72 79 20   is.# necessary
10a60 62 65 63 61 75 73 65 20 74 68 65 20 74 65 73 74  because the test
10a70 20 66 69 78 74 75 72 65 20 72 65 71 75 69 72 65   fixture require
10a80 73 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62 6f 6c  s non-API symbol
10a90 73 20 77 68 69 63 68 20 61 72 65 0a 23 20 68 69  s which are.# hi
10aa0 64 64 65 6e 20 77 68 65 6e 20 74 68 65 20 6c 69  dden when the li
10ab0 62 72 61 72 79 20 69 73 20 62 75 69 6c 74 20 76  brary is built v
10ac0 69 61 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74  ia the amalgamat
10ad0 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49 58 54  ion)..#.TESTFIXT
10ae0 55 52 45 5f 46 4c 41 47 53 20 3d 20 2d 44 54 43  URE_FLAGS = -DTC
10af0 4c 53 48 5f 49 4e 49 54 5f 50 52 4f 43 3d 73 71  LSH_INIT_PROC=sq
10b00 6c 69 74 65 33 54 65 73 74 49 6e 69 74 20 2d 44  lite3TestInit -D
10b10 53 51 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d 44  SQLITE_TEST=1 -D
10b20 53 51 4c 49 54 45 5f 43 52 41 53 48 5f 54 45 53  SQLITE_CRASH_TES
10b30 54 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f  T=1.TESTFIXTURE_
10b40 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI 10b50 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 XTURE_FLAGS) -DS 10b60 51 4c 49 54 45 5f 53 45 52 56 45 52 3d 31 20 2d QLITE_SERVER=1 - 10b70 44 53 51 4c 49 54 45 5f 50 52 49 56 41 54 45 3d DSQLITE_PRIVATE= 10b80 22 22 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 "".TESTFIXTURE_F 10b90 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 LAGS =$(TESTFIX
10ba0 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
10bb0 4c 49 54 45 5f 43 4f 52 45 20 24 28 4e 4f 5f 57  LITE_CORE $(NO_W 10bc0 41 52 4e 29 0a 54 45 53 54 46 49 58 54 55 52 45 ARN).TESTFIXTURE 10bd0 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 _FLAGS =$(TESTF
10be0 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
10bf0 53 51 4c 49 54 45 5f 53 45 52 49 45 53 5f 43 4f  SQLITE_SERIES_CO
10c00 4e 53 54 52 41 49 4e 54 5f 56 45 52 49 46 59 3d  NSTRAINT_VERIFY=
10c10 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  1.TESTFIXTURE_FL
10c20 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT 10c30 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c URE_FLAGS) -DSQL 10c40 49 54 45 5f 44 45 46 41 55 4c 54 5f 50 41 47 45 ITE_DEFAULT_PAGE 10c50 5f 53 49 5a 45 3d 31 30 32 34 0a 54 45 53 54 46 _SIZE=1024.TESTF 10c60 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 IXTURE_FLAGS =$
10c70 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
10c80 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
10c90 42 4c 45 5f 53 54 4d 54 56 54 41 42 3d 31 0a 54  BLE_STMTVTAB=1.T
10ca0 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10cb0 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE 10cc0 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE 10cd0 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f 56 _ENABLE_DBPAGE_V 10ce0 54 41 42 3d 31 0a 54 45 53 54 46 49 58 54 55 52 TAB=1.TESTFIXTUR 10cf0 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 E_FLAGS =$(TEST
10d00 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FIXTURE_FLAGS) -
10d10 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a  DSQLITE_ENABLE_J
10d20 53 4f 4e 31 3d 31 0a 54 45 53 54 46 49 58 54 55  SON1=1.TESTFIXTU
10d30 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES 10d40 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 TFIXTURE_FLAGS) 10d50 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 10d60 44 45 53 45 52 49 41 4c 49 5a 45 3d 31 0a 54 45 DESERIALIZE=1.TE 10d70 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 STFIXTURE_FLAGS 10d80 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f =$(TESTFIXTURE_
10d90 46 4c 41 47 53 29 20 24 28 54 45 53 54 5f 43 43  FLAGS) $(TEST_CC 10da0 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45 53 54 46 ONV_OPTS)..TESTF 10db0 49 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24 28 IXTURE_SRC0 =$(
10dc0 54 45 53 54 45 58 54 29 20 24 28 54 45 53 54 53  TESTEXT) $(TESTS 10dd0 52 43 32 29 0a 54 45 53 54 46 49 58 54 55 52 45 RC2).TESTFIXTURE 10de0 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54 45 58 _SRC1 =$(TESTEX
10df0 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21  T) $(SQLITE3C).! 10e00 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d IF$(USE_AMALGAM
10e10 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 49  ATION)==0.TESTFI
10e20 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45  XTURE_SRC = $(TE 10e30 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 STSRC)$(TOP)\sr
10e40 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $( 10e50 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 30 TESTFIXTURE_SRC0 10e60 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49 58 54 ).!ELSE.TESTFIXT 10e70 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54 URE_SRC =$(TEST
10e80 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  SRC) $(TOP)\src\ 10e90 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45 tclsqlite.c$(TE
10ea0 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 29 0a  STFIXTURE_SRC1).
10eb0 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 55 53  !ENDIF..!IF $(US 10ec0 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c E_STDCALL)!=0 || 10ed0 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30$(FOR_WIN10)!=0
10ee0 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73  .sqlite_tclDecls
10ef0 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64 65  .h:..echo #ifnde
10f00 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  f SQLITE_TCLAPI
10f10 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  > $(SQLITETCLDEC 10f20 4c 53 48 29 0a 09 65 63 68 6f 20 23 20 20 64 65 LSH)..echo # de 10f30 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c 41 fine SQLITE_TCLA 10f40 50 49 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 PI >>$(SQLITETC
10f50 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23  LDECLSH)..echo #
10f60 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 4c 49 54  endif >> $(SQLIT 10f70 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 74 79 70 ETCLDECLSH)..typ 10f80 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c e "$(TCLINCDIR)\
10f90 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09 09  tclDecls.h" \...
10fa0 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD)$
10fb0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
10fc0 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e  ce.tcl regsub "^
10fd0 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53 54  (EXTERN(?: CONST
10fe0 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a  \d+?)?\s+?[^\(]*
10ff0 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31 20  ?\s+?)Tcl_" "\1
11000 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63  SQLITE_TCLAPI Tc
11010 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  l_" \...| $(TCLS 11020 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
11030 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
11040 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e 5c  egsub "^(EXTERN\
11050 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44 29  s+?(?:void|VOID)
11060 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a 22  \s+?)TclFreeObj"
11070 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41   "\1 SQLITE_TCLA
11080 50 49 20 54 63 6c 46 72 65 65 4f 62 6a 22 20 5c  PI TclFreeObj" \
11090 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD 110a0 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 )$(TOP)\tool\re
110b0 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
110c0 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53 51   "\(\*tcl_" "(SQ
110d0 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c  LITE_TCLAPI *tcl
110e0 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  _" \...| $(TCLSH 110f0 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f _CMD)$(TOP)\too
11100 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
11110 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72 65  gsub "\(\*tclFre
11120 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 45 5f 54  eObj" "(SQLITE_T
11130 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 65 4f 62  CLAPI *tclFreeOb
11140 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  j" \...| $(TCLSH 11150 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f _CMD)$(TOP)\too
11160 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
11170 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51  gsub "\(\*" "(SQ
11180 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 22 20 3e  LITE_TCLAPI *" >
11190 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  > $(SQLITETCLDEC 111a0 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f 74 63 6c LSH)..sqlite_tcl 111b0 2e 68 3a 0a 09 74 79 70 65 20 22 24 28 54 43 4c .h:..type "$(TCL
111c0 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 20 7c  INCDIR)\tcl.h" |
111d0 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD)$(
111e0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
111f0 65 2e 74 63 6c 20 65 78 61 63 74 20 74 63 6c 44  e.tcl exact tclD
11200 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74 63  ecls.h sqlite_tc
11210 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20 24  lDecls.h \...| $11220 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
11230 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
11240 74 63 6c 20 72 65 67 73 75 62 20 22 74 79 70 65  tcl regsub "type
11250 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f 22  def (.*?)\(Tcl_"
11260 20 22 74 79 70 65 64 65 66 20 5c 31 20 28 53 51   "typedef \1 (SQ
11270 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f  LITE_TCLAPI Tcl_
11280 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  " \...| $(TCLSH_ 11290 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c CMD)$(TOP)\tool
112a0 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61  \replace.tcl exa
112b0 63 74 20 22 76 6f 69 64 20 28 2a 66 72 65 65 50  ct "void (*freeP
112c0 72 6f 63 29 22 20 22 76 6f 69 64 20 28 53 51 4c  roc)" "void (SQL
112d0 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 65 65  ITE_TCLAPI *free
112e0 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28 54  Proc)" \...| $(T 112f0 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
11300 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
11310 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61 73  l exact "Tcl_Has
11320 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50 72  hEntry *(*findPr
11330 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e  oc)" "Tcl_HashEn
11340 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c  try *(SQLITE_TCL
11350 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 22 20  API *findProc)"
11360 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM 11370 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 D)$(TOP)\tool\r
11380 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74  eplace.tcl exact
11390 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20   "Tcl_HashEntry
113a0 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20  *(*createProc)"
113b0 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a  "Tcl_HashEntry *
113c0 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
113d0 63 72 65 61 74 65 50 72 6f 63 29 22 20 3e 3e 20  createProc)" >>
113e0 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E 113f0 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75 72 NDIF..testfixtur 11400 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49 58 e.exe:.$(TESTFIX
11410 54 55 52 45 5f 53 52 43 29 20 24 28 54 45 53 54  TURE_SRC) $(TEST 11420 46 49 58 54 55 52 45 5f 44 45 50 29 20 24 28 53 FIXTURE_DEP)$(S
11430 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45  QLITE3H) $(LIBRE 11440 53 4f 42 4a 53 29 20 24 28 48 44 52 29 20 24 28 SOBJS)$(HDR) $( 11450 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a SQLITE_TCL_DEP). 11460 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c .$(LTLINK) -DSQL
11470 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28  ITE_NO_SYNC=1 $( 11480 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 TESTFIXTURE_FLAG 11490 53 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 S) \...-DBUILD_s 114a0 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 qlite -I$(TCLINC
114b0 44 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46  DIR) \...$(TESTF 114c0 49 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 IXTURE_SRC) \... 114d0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
114e0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS)$
114f0 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28  (TCLLIBPATHS) $( 11500 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 LTLIBPATHS)$(LI
11510 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c  BRESOBJS) $(TCLL 11520 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 IBS)$(LTLIBS) $11530 28 54 4c 49 42 53 29 0a 0a 65 78 74 65 6e 73 69 (TLIBS)..extensi 11540 6f 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 ontest:.testfixt 11550 75 72 65 2e 65 78 65 20 74 65 73 74 6c 6f 61 64 ure.exe testload 11560 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74 20 50 41 ext.dll..@set PA 11570 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 TH=$(LIBTCLPATH)
11580 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test 11590 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f fixture.exe$(TO
115a0 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65 78 74 2e  P)\test\loadext.
115b0 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS) 115c0 0a 0a 63 6f 72 65 74 65 73 74 70 72 6f 67 73 3a ..coretestprogs: 115d0 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 0a 74 .$(TESTPROGS)..t
115e0 65 73 74 70 72 6f 67 73 3a 09 63 6f 72 65 74 65  estprogs:.corete
115f0 73 74 70 72 6f 67 73 20 73 72 63 63 6b 31 2e 65  stprogs srcck1.e
11600 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  xe fuzzcheck.exe
11610 20 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65   sessionfuzz.exe
11620 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24 28 54 45  ..fulltest:.$(TE 11630 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 STPROGS) fuzztes 11640 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c t..@set PATH=$(L
11650 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT 11660 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 H)...\testfixtur 11670 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 e.exe$(TOP)\tes
11680 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28 54 45 53  t\all.test $(TES 11690 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74 65 73 74 TOPTS)..soaktest 116a0 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 :.$(TESTPROGS)..
116b0 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT 116c0 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a CLPATH);$(PATH).
116d0 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
116e0 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61  xe $(TOP)\test\a 116f0 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31 20 ll.test -soak=1 11700 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c$(TESTOPTS)..ful
11710 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28 54 45 53  ltestonly:.$(TES 11720 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74 TPROGS) fuzztest 11730 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 ..@set PATH=$(LI
11740 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH 11750 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 )...\testfixture 11760 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 .exe$(TOP)\test
11770 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 65 72  \full.test..quer
11780 79 70 6c 61 6e 74 65 73 74 3a 09 74 65 73 74 66  yplantest:.testf
11790 69 78 74 75 72 65 2e 65 78 65 20 73 68 65 6c 6c  ixture.exe shell
117a0 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI 117b0 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 BTCLPATH);$(PATH
117c0 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
117d0 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test 117e0 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73 2e 74 65 \permutations.te 117f0 73 74 20 71 75 65 72 79 70 6c 61 6e 6e 65 72 20 st queryplanner 11800 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 7a$(TESTOPTS)..fuz
11810 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b  ztest:.fuzzcheck
11820 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63  .exe...\fuzzchec
11830 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44 41 54 41  k.exe $(FUZZDATA 11840 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 )..# Minimal tes 11850 74 69 6e 67 20 74 68 61 74 20 72 75 6e 73 20 69 ting that runs i 11860 6e 20 6c 65 73 73 20 74 68 61 6e 20 33 20 6d 69 n less than 3 mi 11870 6e 75 74 65 73 20 28 6f 6e 20 61 20 66 61 73 74 nutes (on a fast 11880 20 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 69 63 machine).#.quic 11890 6b 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 ktest:.testfixtu 118a0 72 65 2e 65 78 65 20 73 6f 75 72 63 65 74 65 73 re.exe sourcetes 118b0 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c t..@set PATH=$(L
118c0 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT 118d0 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 H)...\testfixtur 118e0 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 e.exe$(TOP)\tes
118f0 74 5c 65 78 74 72 61 71 75 69 63 6b 2e 74 65 73  t\extraquick.tes
11900 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 23  t $(TESTOPTS)..# 11910 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d This is the com 11920 6d 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e 20 6d mon case. Run m 11930 61 6e 79 20 74 65 73 74 73 20 74 68 61 74 20 64 any tests that d 11940 6f 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c o not take too l 11950 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67 ong,.# including 11960 20 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69 fuzzcheck, sqli 11970 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e te3_analyzer, an 11980 64 20 73 71 6c 64 69 66 66 20 74 65 73 74 73 2e d sqldiff tests. 11990 0a 23 0a 74 65 73 74 3a 09 24 28 54 45 53 54 50 .#.test:.$(TESTP
119a0 52 4f 47 53 29 20 73 6f 75 72 63 65 74 65 73 74  ROGS) sourcetest
119b0 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20   fuzztest..@set
119c0 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT 119d0 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 H);$(PATH)...\te
119e0 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $( 119f0 54 4f 50 29 5c 74 65 73 74 5c 76 65 72 79 71 75 TOP)\test\veryqu 11a00 69 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f ick.test$(TESTO
11a10 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 3a  PTS)..smoketest:
11a20 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 40  .$(TESTPROGS)..@ 11a30 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 set PATH=$(LIBTC
11a40 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09  LPATH);$(PATH).. 11a50 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 .\testfixture.ex 11a60 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6d 61 e$(TOP)\test\ma
11a70 69 6e 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  in.test $(TESTOP 11a80 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 TS)..sqlite3_ana 11a90 6c 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c 49 54 lyzer.c:.$(SQLIT
11aa0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) 11ab0 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73$(TOP)\src\tcls
11ac0 71 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74  qlite.c $(TOP)\t 11ad0 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 ool\spaceanal.tc 11ae0 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b l$(TOP)\tool\mk
11af0 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29  ccode.tcl $(TOP) 11b00 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e \tool\sqlite3_an 11b10 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 24 28 53 51 alyzer.c.in$(SQ
11b20 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24  LITE_TCL_DEP)..$11b30 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
11b40 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e  P)\tool\mkccode.
11b50 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  tcl $(TOP)\tool\ 11b60 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 sqlite3_analyzer 11b70 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 .c.in >$@..sqli
11b80 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65  te3_analyzer.exe
11b90 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  :.sqlite3_analyz
11ba0 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a  er.c $(LIBRESOBJ 11bb0 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 S)..$(LTLINK) $( 11bc0 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 NO_WARN) -DBUILD 11bd0 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 _sqlite -I$(TCLI
11be0 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f 61  NCDIR) sqlite3_a
11bf0 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c  nalyzer.c \.../l
11c00 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
11c10 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54  (LTLINKOPTS) $(T 11c20 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 CLLIBPATHS)$(LT
11c30 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR 11c40 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 ESOBJS)$(TCLLIB
11c50 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS)$(T
11c60 4c 49 42 53 29 0a 0a 73 71 6c 74 63 6c 73 68 2e  LIBS)..sqltclsh.
11c70 63 3a 20 73 71 6c 69 74 65 33 2e 63 20 24 28 54  c: sqlite3.c $(T 11c80 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 OP)\src\tclsqlit 11c90 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c e.c$(TOP)\tool\
11ca0 73 71 6c 74 63 6c 73 68 2e 74 63 6c 20 24 28 54  sqltclsh.tcl $(T 11cb0 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 70 70 OP)\ext\misc\app 11cc0 65 6e 64 76 66 73 2e 63 20 24 28 54 4f 50 29 5c endvfs.c$(TOP)\
11cd0 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool\mkccode.tcl
11ce0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql 11cf0 74 63 6c 73 68 2e 63 2e 69 6e 0a 09 24 28 54 43 tclsh.c.in..$(TC
11d00 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ 11d10 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c tool\mkccode.tcl 11d20 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c$(TOP)\tool\sql
11d30 74 63 6c 73 68 2e 63 2e 69 6e 20 3e 73 71 6c 74  tclsh.c.in >sqlt
11d40 63 6c 73 68 2e 63 0a 0a 73 71 6c 74 63 6c 73 68  clsh.c..sqltclsh
11d50 2e 65 78 65 3a 20 73 71 6c 74 63 6c 73 68 2e 63  .exe: sqltclsh.c
11d60 20 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44    $(SHELL_CORE_D 11d70 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 EP)$(LIBRESOBJS
11d80 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
11d90 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f  O_WARN) -DBUILD_
11da0 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN 11db0 43 44 49 52 29 20 73 71 6c 74 63 6c 73 68 2e 63 CDIR) sqltclsh.c 11dc0 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 \.../link$(LDF
11dd0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP 11de0 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 TS)$(TCLLIBPATH
11df0 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS) 11e00 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24$(LIBRESOBJS) $11e10 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 (TCLLIBS)$(LTLI
11e20 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 73 71  BS) $(TLIBS)..sq 11e30 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65 78 65 lite3_expert.exe 11e40 3a 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 :$(SQLITE3C) $( 11e50 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c TOP)\ext\expert\ 11e60 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20 sqlite3expert.h 11e70 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72$(TOP)\ext\exper
11e80 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
11e90 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70  c $(TOP)\ext\exp 11ea0 65 72 74 5c 65 78 70 65 72 74 2e 63 0a 09 24 28 ert\expert.c..$(
11eb0 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR 11ec0 4e 29 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 N).$(TOP)\ext\ex
11ed0 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
11ee0 72 74 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  rt.c $(TOP)\ext\ 11ef0 65 78 70 65 72 74 5c 65 78 70 65 72 74 2e 63 20 expert\expert.c 11f00 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 54 4c$(SQLITE3C) $(TL 11f10 49 42 53 29 0a 0a 43 48 45 43 4b 45 52 5f 44 45 IBS)..CHECKER_DE 11f20 50 53 20 3d 5c 0a 20 20 24 28 54 4f 50 29 2f 74 PS =\.$(TOP)/t
11f30 6f 6f 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c 20  ool/mkccode.tcl
11f40 5c 0a 20 20 73 71 6c 69 74 65 33 2e 63 20 5c 0a  \.  sqlite3.c \.
11f50 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c    $(TOP)/src/tcl 11f60 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28 54 sqlite.c \.$(T
11f70 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 73  OP)/ext/repair/s
11f80 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 74  qlite3_checker.t
11f90 63 6c 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  cl \.  $(TOP)/ex 11fa0 74 2f 72 65 70 61 69 72 2f 63 68 65 63 6b 69 6e t/repair/checkin 11fb0 64 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 dex.c \.$(TOP)
11fc0 2f 65 78 74 2f 72 65 70 61 69 72 2f 63 68 65 63  /ext/repair/chec
11fd0 6b 66 72 65 65 6c 69 73 74 2e 63 20 5c 0a 20 20  kfreelist.c \.
11fe0 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f  $(TOP)/ext/misc/ 11ff0 62 74 72 65 65 69 6e 66 6f 2e 63 20 5c 0a 20 20 btreeinfo.c \. 12000 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69$(TOP)/ext/repai
12010 72 2f 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  r/sqlite3_checke
12020 72 2e 63 2e 69 6e 0a 0a 73 71 6c 69 74 65 33 5f  r.c.in..sqlite3_
12030 63 68 65 63 6b 65 72 2e 63 3a 09 24 28 43 48 45  checker.c:.$(CHE 12040 43 4b 45 52 5f 44 45 50 53 29 0a 09 24 28 54 43 CKER_DEPS)..$(TC
12050 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ 12060 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c tool\mkccode.tcl 12070 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 65 70 61$(TOP)\ext\repa
12080 69 72 5c 73 71 6c 69 74 65 33 5f 63 68 65 63 6b  ir\sqlite3_check
12090 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71  er.c.in > $@..sq 120a0 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 65 78 lite3_checker.ex 120b0 65 3a 09 73 71 6c 69 74 65 33 5f 63 68 65 63 6b e:.sqlite3_check 120c0 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a er.c$(LIBRESOBJ
120d0 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  S)..$(LTLINK)$(
120e0 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44  NO_WARN) -DBUILD
120f0 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49  _sqlite -I$(TCLI 12100 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f 63 NCDIR) sqlite3_c 12110 68 65 63 6b 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 hecker.c \.../li 12120 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( 12130 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 LTLINKOPTS)$(TC
12140 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c  LLIBPATHS) $(LTL 12150 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 IBPATHS)$(LIBRE
12160 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53  SOBJS) $(TCLLIBS 12170 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c )$(LTLIBS) $(TL 12180 49 42 53 29 0a 0a 64 62 64 75 6d 70 2e 65 78 65 IBS)..dbdump.exe 12190 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 :.$(TOP)\ext\mis
121a0 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51 4c  c\dbdump.c $(SQL 121b0 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
121c0 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  H) $(LIBRESOBJS) 121d0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO 121e0 5f 57 41 52 4e 29 20 2d 44 44 42 44 55 4d 50 5f _WARN) -DDBDUMP_ 121f0 53 54 41 4e 44 41 4c 4f 4e 45 20 24 28 54 4f 50 STANDALONE$(TOP
12200 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d  )\ext\misc\dbdum
12210 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  p.c $(SQLITE3C) 12220 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c \.../link$(LDFL
12230 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT 12240 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 S)$(LTLIBPATHS)
12250 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS)$
12260 28 4c 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f  (LTLIBS)..testlo
12270 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  adext.lo:.$(TOP) 12280 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 \src\test_loadex 12290 74 2e 63 20 24 28 53 51 4c 49 54 45 33 48 29 0a t.c$(SQLITE3H).
122a0 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
122b0 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28 54 4f  NO_WARN) -c $(TO 122c0 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 P)\src\test_load 122d0 65 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 65 ext.c..testloade 122e0 78 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 64 xt.dll:.testload 122f0 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 ext.lo..$(LD) $( 12300 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
12310 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA 12320 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 THS) /DLL /OUT:$
12330 40 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f  @ testloadext.lo
12340 0a 0a 64 62 74 6f 74 78 74 2e 65 78 65 3a 09 24  ..dbtotxt.exe:.$12350 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 74 6f 74 (TOP)\tool\dbtot 12360 78 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 xt.c..$(LTLINK)
12370 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50  $(NO_WARN).$(TOP
12380 29 5c 74 6f 6f 6c 5c 64 62 74 6f 74 78 74 2e 63  )\tool\dbtotxt.c
12390 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS 123a0 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
123b0 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09 24 28 54  .showdb.exe:.$(T 123c0 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e OP)\tool\showdb. 123d0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 c$(SQLITE3C) $( 123e0 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c SQLITE3H)..$(LTL
123f0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 12400 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 -DSQLITE_THREADS 12410 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f AFE=0 -DSQLITE_O 12420 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 MIT_LOAD_EXTENSI 12430 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f ON \...$(TOP)\to
12440 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51  ol\showdb.c $(SQ 12450 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
12460 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 12470 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74 61 74 KOPTS)..showstat 12480 34 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 4.exe:.$(TOP)\to
12490 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24  ol\showstat4.c $124a0 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
124b0 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK 124c0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
124d0 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
124e0 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
124f0 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION
12500 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\ 12510 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 showstat4.c$(SQ
12520 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 12530 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
12540 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75 72  KOPTS)..showjour
12550 6e 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  nal.exe:.$(TOP)\ 12560 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c tool\showjournal 12570 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $12580 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
12590 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) 125a0 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 -DSQLITE_THREAD 125b0 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f SAFE=0 -DSQLITE_ 125c0 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 OMIT_LOAD_EXTENS 125d0 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 ION \...$(TOP)\t
125e0 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e  ool\showjournal.
125f0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l 12600 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $12610 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 (LTLINKOPTS)..sh 12620 6f 77 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 owwal.exe:.$(TOP
12630 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63  )\tool\showwal.c
12640 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
12650 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI 12660 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
12670 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
12680 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
12690 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
126a0 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  N \...$(TOP)\too 126b0 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 l\showwal.c$(SQ
126c0 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 126d0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
126e0 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 68 6d 2e  KOPTS)..showshm.
126f0 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool 12700 5c 73 68 6f 77 73 68 6d 2e 63 0a 09 24 28 4c 54 \showshm.c..$(LT
12710 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) 12720 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f .$(TOP)\tool\sho
12730 77 73 68 6d 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c  wshm.c /link $(L 12740 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
12750 4f 50 54 53 29 0a 0a 69 6e 64 65 78 5f 75 73 61  OPTS)..index_usa
12760 67 65 2e 65 78 65 3a 20 24 28 54 4f 50 29 5c 74  ge.exe: $(TOP)\t 12770 6f 6f 6c 5c 69 6e 64 65 78 5f 75 73 61 67 65 2e ool\index_usage. 12780 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 c$(SQLITE3C) $( 12790 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c SQLITE3H)..$(LTL
127a0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 127b0 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 -DSQLITE_THREADS 127c0 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f AFE=0 -DSQLITE_O 127d0 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 MIT_LOAD_EXTENSI 127e0 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f ON \...$(TOP)\to
127f0 6f 6c 5c 69 6e 64 65 78 5f 75 73 61 67 65 2e 63  ol\index_usage.c
12800 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li 12810 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( 12820 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 LTLINKOPTS)..cha 12830 6e 67 65 73 65 74 2e 65 78 65 3a 09 24 28 54 4f ngeset.exe:.$(TO
12840 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63  P)\ext\session\c
12850 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c  hangeset.c $(SQL 12860 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
12870 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK)$(
12880 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
12890 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
128a0 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
128b0 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09  D_EXTENSION \...
128c0 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
128d0 53 45 53 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49  SESSION=1 -DSQLI
128e0 54 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 44  TE_ENABLE_PREUPD
128f0 41 54 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24  ATE_HOOK=1 \...$12900 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f (TOP)\ext\sessio 12910 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 n\changeset.c$(
12920 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link
12930 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
12940 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67 65  INKOPTS)..change
12950 73 65 74 66 75 7a 7a 2e 65 78 65 3a 09 24 28 54  setfuzz.exe:.$(T 12960 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c OP)\ext\session\ 12970 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 63 20 changesetfuzz.c 12980 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ 12990 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e LITE3H)..$(LTLIN
129a0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D 129b0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 SQLITE_THREADSAF 129c0 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 E=0 -DSQLITE_OMI 129d0 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e T_LOAD_EXTENSION 129e0 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45 5f 45 4e \...-DSQLITE_EN 129f0 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 20 2d ABLE_SESSION=1 - 12a00 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50 DSQLITE_ENABLE_P 12a10 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 20 REUPDATE_HOOK=1 12a20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 \...$(TOP)\ext\s
12a30 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74  ession\changeset
12a40 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33  fuzz.c $(SQLITE3 12a50 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
12a60 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS 12a70 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65 3a )..fts3view.exe: 12a80 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 .$(TOP)\ext\fts3
12a90 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63  \tool\fts3view.c
12aa0 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
12ab0 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI 12ac0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
12ad0 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
12ae0 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
12af0 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
12b00 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74  N \...$(TOP)\ext 12b10 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 \fts3\tool\fts3v 12b20 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 43 iew.c$(SQLITE3C
12b30 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG 12b40 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
12b50 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e  ..rollback-test.
12b60 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool 12b70 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 \rollback-test.c 12b80 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S 12b90 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
12ba0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) - 12bb0 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 DSQLITE_THREADSA 12bc0 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d FE=0 -DSQLITE_OM 12bd0 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f IT_LOAD_EXTENSIO 12be0 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f N \...$(TOP)\too
12bf0 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e  l\rollback-test.
12c00 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l 12c10 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $12c20 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 61 74 (LTLINKOPTS)..at 12c30 72 63 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 rc.exe:.$(TOP)\t
12c40 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51 4c  est\atrc.c $(SQL 12c50 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
12c60 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK)$(
12c70 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
12c80 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
12c90 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
12ca0 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09  D_EXTENSION \...
12cb0 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72 63  $(TOP)\test\atrc 12cc0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f .c$(SQLITE3C) /
12cd0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 12ce0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c$(LTLINKOPTS)..L
12cf0 6f 67 45 73 74 2e 65 78 65 3a 09 24 28 54 4f 50  ogEst.exe:.$(TOP 12d00 29 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e 63 20 )\tool\logest.c 12d10 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 12d20 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
12d30 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f  ) $(TOP)\tool\Lo 12d40 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c gEst.c /link$(L
12d50 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK 12d60 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e 74 OPTS)..wordcount 12d70 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 .exe:.$(TOP)\tes
12d80 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28  t\wordcount.c $( 12d90 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 SQLITE3C)$(SQLI
12da0 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK) 12db0 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
12dc0 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
12dd0 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
12de0 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
12df0 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77  ...$(TOP)\test\w 12e00 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c ordcount.c$(SQL
12e10 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L 12e20 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
12e30 4f 50 54 53 29 0a 0a 73 70 65 65 64 74 65 73 74  OPTS)..speedtest
12e40 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65  1.exe:.$(TOP)\te 12e50 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 20 st\speedtest1.c 12e60 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ 12e70 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e LITE3H)..$(LTLIN
12e80 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN)$(
12e90 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  ST_COMPILE_OPTS)
12ea0 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
12eb0 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
12ec0 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70  ..$(TOP)\test\sp 12ed0 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c eedtest1.c$(SQL
12ee0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L 12ef0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
12f00 4f 50 54 53 29 0a 0a 6b 76 74 65 73 74 2e 65 78  OPTS)..kvtest.ex
12f10 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 6b  e:.$(TOP)\test\k 12f20 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 vtest.c$(SQLITE
12f30 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H). 12f40 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ 12f50 57 41 52 4e 29 20 24 28 4b 56 5f 43 4f 4d 50 49 WARN)$(KV_COMPI
12f60 4c 45 5f 4f 50 54 53 29 20 5c 0a 09 09 24 28 54  LE_OPTS) \...$(T 12f70 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e OP)\test\kvtest. 12f80 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c c$(SQLITE3C) /l
12f90 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
12fa0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 62  (LTLINKOPTS)..rb
12fb0 75 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  u.exe:.$(TOP)\ex 12fc0 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 54 4f t\rbu\rbu.c$(TO
12fd0 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74  P)\ext\rbu\sqlit
12fe0 65 33 72 62 75 2e 63 20 24 28 53 51 4c 49 54 45  e3rbu.c $(SQLITE 12ff0 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
13000 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
13010 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 45  WARN) -DSQLITE_E
13020 4e 41 42 4c 45 5f 52 42 55 20 5c 0a 09 09 24 28  NABLE_RBU \...$( 13030 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 TOP)\ext\rbu\rbu 13040 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f .c$(SQLITE3C) /
13050 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 13060 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c$(LTLINKOPTS)..L
13070 53 4d 44 49 52 3d 24 28 54 4f 50 29 5c 65 78 74  SMDIR=$(TOP)\ext 13080 5c 6c 73 6d 31 0a 21 49 4e 43 4c 55 44 45 20 24 \lsm1.!INCLUDE$
13090 28 4c 53 4d 44 49 52 29 5c 4d 61 6b 65 66 69 6c  (LSMDIR)\Makefil
130a0 65 2e 6d 73 63 0a 0a 6d 6f 72 65 63 6c 65 61 6e  e.msc..moreclean
130b0 3a 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f 51 20  :.clean..del /Q
130c0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
130d0 4c 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a 23 20  LITE3H) 2>NUL.#
130e0 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61 6e  <</mark>>..clean
130f0 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78 70 20  :..del /Q *.exp
13100 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69 62  *.lo *.ilk *.lib
13110 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e 70   *.obj *.ncb *.p
13120 64 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f 20 32  db *.sdf *.suo 2
13130 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e 62  >NUL..del /Q *.b
13140 73 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64 20 2a  sc *.def *.cod *
13150 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67 20 2a  .da *.bb *.bbg *
13160 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e 4e  .vc gmon.out 2>N
13170 55 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c  UL..del /Q $(SQL 13180 49 54 45 33 45 58 45 29 20 24 28 53 51 4c 49 54 ITE3EXE)$(SQLIT
13190 45 33 44 4c 4c 29 20 52 65 70 6c 61 63 65 2e 65  E3DLL) Replace.e
131a0 78 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61 72  xe 2>NUL.# <<mar
131b0 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 24 28 53 51  k>>..del /Q $(SQ 131c0 4c 49 54 45 33 54 43 4c 44 4c 4c 29 20 70 6b 67 LITE3TCLDLL) pkg 131d0 49 6e 64 65 78 2e 74 63 6c 20 32 3e 4e 55 4c 0a Index.tcl 2>NUL. 131e0 09 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65 73 2e .del /Q opcodes. 131f0 63 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e 4e 55 c opcodes.h 2>NU 13200 4c 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e L..del /Q lemon. 13210 2a 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73 65 * lempar.c parse 13220 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 .* 2>NUL..del /Q 13230 20 6d 6b 73 6f 75 72 63 65 69 64 2e 2a 20 6d 6b mksourceid.* mk 13240 6b 65 79 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 keywordhash.* ke 13250 79 77 6f 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 ywordhash.h 2>NU 13260 4c 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 L..del /Q notash 13270 61 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a aredlib.* 2>NUL. 13280 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 .-rmdir /Q/S .de 13290 70 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 ps 2>NUL..-rmdir 132a0 20 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 /Q/S .libs 2>NU 132b0 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 L..-rmdir /Q/S t 132c0 73 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f src 2>NUL..del / 132d0 51 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 Q .target_source 132e0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 2>NUL..del /Q t 132f0 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 20 24 28 clsqlite3.exe$(
13300 53 51 4c 49 54 45 54 43 4c 48 29 20 24 28 53 51  SQLITETCLH) \$(SQ
13310 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 32  LITETCLDECLSH) 2
13320 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d  >NUL..del /Q lsm
13330 2e 64 6c 6c 20 6c 73 6d 74 65 73 74 2e 65 78 65  .dll lsmtest.exe
13340 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 61   2>NUL..del /Q a
13350 74 72 63 2e 65 78 65 20 63 68 61 6e 67 65 73 65  trc.exe changese
13360 74 66 75 7a 7a 2e 65 78 65 20 64 62 74 6f 74 78  tfuzz.exe dbtotx
13370 74 2e 65 78 65 20 69 6e 64 65 78 5f 75 73 61 67  t.exe index_usag
13380 65 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c  e.exe 2>NUL..del
13390 20 2f 51 20 74 65 73 74 6c 6f 61 64 65 78 74 2e   /Q testloadext.
133a0 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  dll 2>NUL..del /
133b0 51 20 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  Q testfixture.ex
133c0 65 20 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a  e test.db 2>NUL.
133d0 09 64 65 6c 20 2f 51 20 4c 6f 67 45 73 74 2e 65  .del /Q LogEst.e
133e0 78 65 20 66 74 73 33 76 69 65 77 2e 65 78 65 20  xe fts3view.exe
133f0 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78  rollback-test.ex
13400 65 20 73 68 6f 77 64 62 2e 65 78 65 20 64 62 64  e showdb.exe dbd
13410 75 6d 70 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  ump.exe 2>NUL..d
13420 65 6c 20 2f 51 20 63 68 61 6e 67 65 73 65 74 2e  el /Q changeset.
13430 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
13440 51 20 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78  Q showjournal.ex
13450 65 20 73 68 6f 77 73 74 61 74 34 2e 65 78 65 20  e showstat4.exe
13460 73 68 6f 77 77 61 6c 2e 65 78 65 20 73 70 65 65  showwal.exe spee
13470 64 74 65 73 74 31 2e 65 78 65 20 32 3e 4e 55 4c  dtest1.exe 2>NUL
13480 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 65  ..del /Q mpteste
13490 72 2e 65 78 65 20 77 6f 72 64 63 6f 75 6e 74 2e  r.exe wordcount.
134a0 65 78 65 20 72 62 75 2e 65 78 65 20 73 72 63 63  exe rbu.exe srcc
134b0 6b 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  k1.exe 2>NUL..de
134c0 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63 20 73  l /Q sqlite3.c s
134d0 71 6c 69 74 65 33 2d 2a 2e 63 20 73 71 6c 69 74  qlite3-*.c sqlit
134e0 65 33 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  e3.h 2>NUL..del
134f0 2f 51 20 73 71 6c 69 74 65 33 72 63 2e 68 20 32  /Q sqlite3rc.h 2
13500 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65  >NUL..del /Q she
13510 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65 78 74 2e  ll.c sqlite3ext.
13520 68 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  h sqlite3session
13530 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
13540 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
13550 72 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 61 6e  r.exe sqlite3_an
13560 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09  alyzer.c 2>NUL..
13570 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d  del /Q sqlite-*-
13580 6f 75 74 70 75 74 2e 76 73 69 78 20 32 3e 4e 55  output.vsix 2>NU
13590 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72  L..del /Q fuzzer
135a0 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68  shell.exe fuzzch
135b0 65 63 6b 2e 65 78 65 20 73 71 6c 64 69 66 66 2e  eck.exe sqldiff.
135c0 65 78 65 20 64 62 68 61 73 68 2e 65 78 65 20 32  exe dbhash.exe 2
135d0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
135e0 74 63 6c 73 68 2e 2a 20 32 3e 4e 55 4c 0a 09 64  tclsh.* 2>NUL..d
135f0 65 6c 20 2f 51 20 64 62 66 75 7a 7a 2e 65 78 65  el /Q dbfuzz.exe
13600 20 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65   sessionfuzz.exe
13610 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6b   2>NUL..del /Q k
13620 76 74 65 73 74 2e 65 78 65 20 6f 73 73 73 68 65  vtest.exe ossshe
13630 6c 6c 2e 65 78 65 20 73 63 72 75 62 2e 65 78 65  ll.exe scrub.exe
13640 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
13650 68 6f 77 73 68 6d 2e 65 78 65 20 73 71 6c 69 74  howshm.exe sqlit
13660 65 33 5f 63 68 65 63 6b 65 72 2e 2a 20 73 71 6c  e3_checker.* sql
13670 69 74 65 33 5f 65 78 70 65 72 74 2e 65 78 65 20  ite3_expert.exe
13680 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74  2>NUL..del /Q ft
13690 73 35 2e 2a 20 66 74 73 35 70 61 72 73 65 2e 2a  s5.* fts5parse.*
136a0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c   2>NUL..del /Q l
136b0 73 6d 2e 68 20 6c 73 6d 31 2e 63 20 32 3e 4e 55  sm.h lsm1.c 2>NU
136c0 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a        L.# <</mark>>.