/ Hex Artifact Content

Artifact 1ce5a2f754201baf709132fe5b45027c73343fba2607107821f759d78cf136c0:

• File Makefile.msc — part of check-in [e77d48d1] at 2019-07-29 02:52:11 on branch trunk — Sync up warning related compiler options in the Makefiles for MSVC. (user: mistachkin size: 79719)

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 49 4e 54 52 4f 53 50 45  DSQLITE_INTROSPE
2210: 43 54 49 4f 4e 5f 50 52 41 47 4d 41 53 3d 31 0a  CTION_PRAGMAS=1.
2220: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
2230: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR 2240: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 E_FLAGS) -DSQLIT 2250: 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52 49 41 E_ENABLE_DESERIA 2260: 4c 49 5a 45 3d 31 0a 21 45 4e 44 49 46 0a 4f 50 LIZE=1.!ENDIF.OP 2270: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 T_FEATURE_FLAGS 2280: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f =$(OPT_FEATURE_
2290: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
22a0: 45 4e 41 42 4c 45 5f 43 4f 4c 55 4d 4e 5f 4d 45  ENABLE_COLUMN_ME
22b0: 54 41 44 41 54 41 3d 31 0a 21 45 4e 44 49 46 0a  TADATA=1.!ENDIF.
22c0: 0a 23 20 53 68 6f 75 6c 64 20 74 68 65 20 73 65  .# Should the se
22d0: 73 73 69 6f 6e 20 65 78 74 65 6e 73 69 6f 6e 20  ssion extension
22e0: 62 65 20 65 6e 61 62 6c 65 64 3f 20 20 49 66 20  be enabled?  If
22f0: 73 6f 2c 20 61 64 64 20 63 6f 6d 70 69 6c 61 74  so, add compilat
2300: 69 6f 6e 20 6f 70 74 69 6f 6e 73 0a 23 20 74 6f  ion options.# to
2310: 20 65 6e 61 62 6c 65 20 69 74 2e 0a 23 0a 21 49   enable it..#.!I
2320: 46 20 24 28 53 45 53 53 49 4f 4e 29 21 3d 30 0a  F $(SESSION)!=0. 2330: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG 2340: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 S =$(OPT_FEATUR
2350: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
2360: 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e  E_ENABLE_SESSION
2370: 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46  =1.OPT_FEATURE_F
2380: 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41  LAGS = $(OPT_FEA 2390: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 TURE_FLAGS) -DSQ 23a0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55 LITE_ENABLE_PREU 23b0: 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 0a 21 45 4e PDATE_HOOK=1.!EN 23c0: 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 DIF..# These are 23d0: 20 74 68 65 20 22 65 78 74 65 6e 64 65 64 22 20 the "extended" 23e0: 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 SQLite compilati 23f0: 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 on options used 2400: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 when compiling f 2410: 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 73 or.# the Windows 2420: 20 31 30 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 10 platform..#. 2430: 21 49 46 4e 44 45 46 20 45 58 54 5f 46 45 41 54 !IFNDEF EXT_FEAT 2440: 55 52 45 5f 46 4c 41 47 53 0a 21 49 46 20 24 28 URE_FLAGS.!IF$(
2450: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 45 58  FOR_WIN10)!=0.EX
2460: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS
2470: 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f  = $(EXT_FEATURE_ 2480: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f FLAGS) -DSQLITE_ 2490: 45 4e 41 42 4c 45 5f 46 54 53 34 3d 31 0a 45 58 ENABLE_FTS4=1.EX 24a0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 T_FEATURE_FLAGS 24b0: 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f =$(EXT_FEATURE_
24c0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
24d0: 53 59 53 54 45 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a  SYSTEM_MALLOC=1.
24e0: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
24f0: 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52  S = $(EXT_FEATUR 2500: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 E_FLAGS) -DSQLIT 2510: 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d 45 E_OMIT_LOCALTIME 2520: 3d 31 0a 21 45 4c 53 45 0a 45 58 54 5f 46 45 41 =1.!ELSE.EXT_FEA 2530: 54 55 52 45 5f 46 4c 41 47 53 20 3d 0a 21 45 4e TURE_FLAGS =.!EN 2540: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 23 23 23 DIF.!ENDIF..#### 2550: 23 23 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 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2580: 23 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 0a 23 23 23 23 ###########.#### 25a0: 23 23 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 20 45 4e 44 20 ########### END 25c0: 4f 46 20 4f 50 54 49 4f 4e 53 20 23 23 23 23 23 OF OPTIONS ##### 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 0a 23 23 23 23 ###########.#### 25f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2600: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2610: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2620: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2630: 23 23 23 23 23 23 23 23 23 23 23 0a 0a 23 20 57 ###########..# W 2640: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f hen compiling fo 2650: 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 r the Windows 10 2660: 20 70 6c 61 74 66 6f 72 6d 2c 20 74 68 65 20 50 platform, the P 2670: 4c 41 54 46 4f 52 4d 20 6d 61 63 72 6f 20 6d 75 LATFORM macro mu 2680: 73 74 20 62 65 20 73 65 74 0a 23 20 74 6f 20 61 st be set.# to a 2690: 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 76 61 n appropriate va 26a0: 6c 75 65 20 28 65 2e 67 2e 20 78 38 36 2c 20 78 lue (e.g. x86, x 26b0: 36 34 2c 20 61 72 6d 2c 20 61 72 6d 36 34 2c 20 64, arm, arm64, 26c0: 65 74 63 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f etc)..#.!IF$(FO
26d0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 46 4e  R_WIN10)!=0.!IFN
26e0: 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 21 45 52  DEF PLATFORM.!ER
26f0: 52 4f 52 20 55 73 69 6e 67 20 74 68 65 20 46 4f  ROR Using the FO
2700: 52 5f 57 49 4e 31 30 20 6f 70 74 69 6f 6e 20 72  R_WIN10 option r
2710: 65 71 75 69 72 65 73 20 61 20 76 61 6c 75 65 20  equires a value
2720: 66 6f 72 20 50 4c 41 54 46 4f 52 4d 2e 0a 21 45  for PLATFORM..!E
2730: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
2740: 68 69 73 20 61 73 73 75 6d 65 73 20 74 68 61 74  his assumes that
2750: 20 4d 53 56 43 20 69 73 20 61 6c 77 61 79 73 20   MSVC is always
2760: 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 33 32 2d  installed in 32-
2770: 62 69 74 20 50 72 6f 67 72 61 6d 20 46 69 6c 65  bit Program File
2780: 73 20 64 69 72 65 63 74 6f 72 79 0a 23 20 61 6e  s directory.# an
2790: 64 20 73 65 74 73 20 74 68 65 20 76 61 72 69 61  d sets the varia
27a0: 62 6c 65 20 66 6f 72 20 75 73 65 20 69 6e 20 6c  ble for use in l
27b0: 6f 63 61 74 69 6e 67 20 6f 74 68 65 72 20 33 32  ocating other 32
27c0: 2d 62 69 74 20 69 6e 73 74 61 6c 6c 73 20 61 63  -bit installs ac
27d0: 63 6f 72 64 69 6e 67 6c 79 2e 0a 23 0a 50 52 4f  cordingly..#.PRO
27e0: 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d 20  GRAMFILES_X86 =
27f0: 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c  $(VCINSTALLDIR)\ 2800: 2e 2e 5c 2e 2e 0a 50 52 4f 47 52 41 4d 46 49 4c ..\...PROGRAMFIL 2810: 45 53 5f 58 38 36 20 3d 20 24 28 50 52 4f 47 52 ES_X86 =$(PROGR
2820: 41 4d 46 49 4c 45 53 5f 58 38 36 3a 5c 5c 3d 5c  AMFILES_X86:\\=\
2830: 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74  )..# Check for t
2840: 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f  he predefined co
2850: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 43 43 2e 20  mmand macro CC.
2860: 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69   This should poi
2870: 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c  nt to the compil
2880: 65 72 0a 23 20 62 69 6e 61 72 79 20 66 6f 72 20  er.# binary for
2890: 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66  the target platf
28a0: 6f 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e  orm.  If it is n
28b0: 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70  ot defined, simp
28c0: 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 0a  ly define it to.
28d0: 23 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66  # the legacy def
28e0: 61 75 6c 74 20 76 61 6c 75 65 20 27 63 6c 2e 65  ault value 'cl.e
28f0: 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  xe'..#.!IFNDEF C
2900: 43 0a 43 43 20 3d 20 63 6c 2e 65 78 65 0a 21 45  C.CC = cl.exe.!E
2910: 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f  NDIF..# Check fo
2920: 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64  r the predefined
2930: 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 43   command macro C
2940: 53 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64  SC.  This should
2950: 20 70 6f 69 6e 74 20 74 6f 20 61 20 77 6f 72 6b   point to a work
2960: 69 6e 67 0a 23 20 43 20 53 68 61 72 70 20 63 6f  ing.# C Sharp co
2970: 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 2e 20 20  mpiler binary.
2980: 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66  If it is not def
2990: 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66  ined, simply def
29a0: 69 6e 65 20 69 74 20 74 6f 20 74 68 65 0a 23 20  ine it to the.#
29b0: 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 76  legacy default v
29c0: 61 6c 75 65 20 27 63 73 63 2e 65 78 65 27 2e 0a  alue 'csc.exe'..
29d0: 23 0a 21 49 46 4e 44 45 46 20 43 53 43 0a 43 53  #.!IFNDEF CSC.CS
29e0: 43 20 3d 20 63 73 63 2e 65 78 65 0a 21 45 4e 44  C = csc.exe.!END
29f0: 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20  IF..# Check for
2a00: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  the command macr
2a10: 6f 20 4c 44 2e 20 20 54 68 69 73 20 73 68 6f 75  o LD.  This shou
2a20: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20  ld point to the
2a30: 6c 69 6e 6b 65 72 20 62 69 6e 61 72 79 20 66 6f  linker binary fo
2a40: 72 0a 23 20 74 68 65 20 74 61 72 67 65 74 20 70  r.# the target p
2a50: 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20  latform.  If it
2a60: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20  is not defined,
2a70: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74  simply define it
2a80: 20 74 6f 20 74 68 65 20 6c 65 67 61 63 79 0a 23   to the legacy.#
2a90: 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27   default value '
2aa0: 6c 69 6e 6b 2e 65 78 65 27 2e 0a 23 0a 21 49 46  link.exe'..#.!IF
2ab0: 4e 44 45 46 20 4c 44 0a 4c 44 20 3d 20 6c 69 6e  NDEF LD.LD = lin
2ac0: 6b 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20  k.exe.!ENDIF..#
2ad0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
2ae0: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
2af0: 20 6d 61 63 72 6f 20 52 43 2e 20 20 54 68 69 73   macro RC.  This
2b00: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f   should point to
2b10: 20 74 68 65 20 72 65 73 6f 75 72 63 65 0a 23 20   the resource.#
2b20: 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 20  compiler binary
2b30: 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 70  for the target p
2b40: 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20  latform.  If it
2b50: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20  is not defined,
2b60: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 0a 23 20  simply define.#
2b70: 69 74 20 74 6f 20 74 68 65 20 6c 65 67 61 63 79  it to the legacy
2b80: 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27   default value '
2b90: 72 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44  rc.exe'..#.!IFND
2ba0: 45 46 20 52 43 0a 52 43 20 3d 20 72 63 2e 65 78  EF RC.RC = rc.ex
2bb0: 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  e.!ENDIF..# Chec
2bc0: 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 72  k for the MSVC r
2bd0: 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 70  untime library p
2be0: 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65  ath macro.  Othe
2bf0: 72 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c 75  rwise, this valu
2c00: 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c 74  e will.# default
2c10: 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69   to the 'lib' di
2c20: 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61  rectory undernea
2c30: 74 68 20 74 68 65 20 4d 53 56 43 20 69 6e 73 74  th the MSVC inst
2c40: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f  allation directo
2c50: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 52  ry..#.!IFNDEF CR
2c60: 54 4c 49 42 50 41 54 48 0a 43 52 54 4c 49 42 50  TLIBPATH.CRTLIBP
2c70: 41 54 48 20 3d 20 24 28 56 43 49 4e 53 54 41 4c  ATH = $(VCINSTAL 2c80: 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 LDIR)\lib.!ENDIF 2c90: 0a 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 ..CRTLIBPATH =$
2ca0: 28 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c  (CRTLIBPATH:\\=\
2cb0: 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74  )..# Check for t
2cc0: 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f  he command macro
2cd0: 20 4e 43 43 2e 20 20 54 68 69 73 20 73 68 6f 75   NCC.  This shou
2ce0: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20  ld point to the
2cf0: 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 0a  compiler binary.
2d00: 23 20 66 6f 72 20 74 68 65 20 70 6c 61 74 66 6f  # for the platfo
2d10: 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69  rm the compilati
2d20: 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74 61  on process is ta
2d30: 6b 69 6e 67 20 70 6c 61 63 65 20 6f 6e 2e 20 20  king place on.
2d40: 49 66 20 69 74 20 69 73 20 6e 6f 74 0a 23 20 64  If it is not.# d
2d50: 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64  efined, simply d
2d60: 65 66 69 6e 65 20 69 74 20 74 6f 20 68 61 76 65  efine it to have
2d70: 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20   the same value
2d80: 61 73 20 74 68 65 20 43 43 20 6d 61 63 72 6f 2e  as the CC macro.
2d90: 20 20 57 68 65 6e 0a 23 20 63 72 6f 73 73 2d 63    When.# cross-c
2da0: 6f 6d 70 69 6c 69 6e 67 2c 20 69 74 20 69 73 20  ompiling, it is
2db0: 73 75 67 67 65 73 74 65 64 20 74 68 61 74 20 74  suggested that t
2dc0: 68 69 73 20 6d 61 63 72 6f 20 62 65 20 6d 6f 64  his macro be mod
2dd0: 69 66 69 65 64 20 76 69 61 20 74 68 65 20 63 6f  ified via the co
2de0: 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 28 73 69  mmand.# line (si
2df0: 6e 63 65 20 6e 6d 61 6b 65 20 69 74 73 65 6c 66  nce nmake itself
2e00: 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64   does not provid
2e10: 65 20 61 20 62 75 69 6c 74 2d 69 6e 20 6d 65 74  e a built-in met
2e20: 68 6f 64 20 74 6f 20 67 75 65 73 73 20 69 74 29  hod to guess it)
2e30: 2e 0a 23 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c  ..# For example,
2e40: 20 74 6f 20 75 73 65 20 74 68 65 20 78 38 36 20   to use the x86
2e50: 63 6f 6d 70 69 6c 65 72 20 77 68 65 6e 20 63 72  compiler when cr
2e60: 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 20 66 6f  oss-compiling fo
2e70: 72 20 78 36 34 2c 20 61 20 63 6f 6d 6d 61 6e 64  r x64, a command
2e80: 0a 23 20 6c 69 6e 65 20 73 69 6d 69 6c 61 72 20  .# line similar
2e90: 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  to the following
2ea0: 20 63 6f 75 6c 64 20 62 65 20 75 73 65 64 20 28   could be used (
2eb0: 61 6c 6c 20 6f 6e 20 6f 6e 65 20 6c 69 6e 65 29  all on one line)
2ec0: 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65 20  :.#.#     nmake
2ed0: 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20  /f Makefile.msc
2ee0: 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20 20  sqlite3.dll.#
2ef0: 20 20 20 20 20 20 20 20 58 43 4f 4d 50 49 4c 45          XCOMPILE
2f00: 3d 31 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49  =1 USE_NATIVE_LI
2f10: 42 50 41 54 48 53 3d 31 0a 23 0a 23 20 41 6c 74  BPATHS=1.#.# Alt
2f20: 65 72 6e 61 74 69 76 65 6c 79 2c 20 74 68 65 20  ernatively, the
2f30: 66 75 6c 6c 20 70 61 74 68 20 61 6e 64 20 66 69  full path and fi
2f40: 6c 65 20 6e 61 6d 65 20 74 6f 20 74 68 65 20 63  le name to the c
2f50: 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 20 66  ompiler binary f
2f60: 6f 72 20 74 68 65 0a 23 20 70 6c 61 74 66 6f 72  or the.# platfor
2f70: 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f  m the compilatio
2f80: 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74 61 6b  n process is tak
2f90: 69 6e 67 20 70 6c 61 63 65 20 6d 61 79 20 62 65  ing place may be
2fa0: 20 73 70 65 63 69 66 69 65 64 20 28 61 6c 6c 20   specified (all
2fb0: 6f 6e 0a 23 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a  on.# one line):.
2fc0: 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66  #.#     nmake /f
2fd0: 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71   Makefile.msc sq
2fe0: 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20  lite3.dll.#
2ff0: 20 20 20 20 20 20 22 4e 43 43 3d 22 22 25 56 43        "NCC=""%VC
3000: 49 4e 53 54 41 4c 4c 44 49 52 25 5c 62 69 6e 5c  INSTALLDIR%\bin\
3010: 63 6c 2e 65 78 65 22 22 22 0a 23 20 20 20 20 20  cl.exe""".#
3020: 20 20 20 20 20 20 55 53 45 5f 4e 41 54 49 56 45        USE_NATIVE
3030: 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a 21 49  _LIBPATHS=1.#.!I
3040: 46 44 45 46 20 4e 43 43 0a 4e 43 43 20 3d 20 24  FDEF NCC.NCC = $3050: 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45 (NCC:\\=\).!ELSE 3060: 49 46 20 24 28 58 43 4f 4d 50 49 4c 45 29 21 3d IF$(XCOMPILE)!=
3070: 30 0a 4e 43 43 20 3d 20 22 24 28 56 43 49 4e 53  0.NCC = "$(VCINS 3080: 54 41 4c 4c 44 49 52 29 5c 62 69 6e 5c 24 28 43 TALLDIR)\bin\$(C
3090: 43 29 22 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a  C)".NCC = $(NCC: 30a0: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 0a 4e 43 43 20 \\=\).!ELSE.NCC 30b0: 3d 20 24 28 43 43 29 0a 21 45 4e 44 49 46 0a 0a =$(CC).!ENDIF..
30c0: 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20  # Check for the
30d0: 4d 53 56 43 20 6e 61 74 69 76 65 20 72 75 6e 74  MSVC native runt
30e0: 69 6d 65 20 6c 69 62 72 61 72 79 20 70 61 74 68  ime library path
30f0: 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69   macro.  Otherwi
3100: 73 65 2c 0a 23 20 74 68 69 73 20 76 61 6c 75 65  se,.# this value
3110: 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f   will default to
3120: 20 74 68 65 20 27 6c 69 62 27 20 64 69 72 65 63   the 'lib' direc
3130: 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20  tory underneath
3140: 74 68 65 20 4d 53 56 43 0a 23 20 69 6e 73 74 61  the MSVC.# insta
3150: 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72  llation director
3160: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 43 52  y..#.!IFNDEF NCR
3170: 54 4c 49 42 50 41 54 48 0a 4e 43 52 54 4c 49 42  TLIBPATH.NCRTLIB
3180: 50 41 54 48 20 3d 20 24 28 56 43 49 4e 53 54 41  PATH = $(VCINSTA 3190: 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 LLDIR)\lib.!ENDI 31a0: 46 0a 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d F..NCRTLIBPATH = 31b0: 20 24 28 4e 43 52 54 4c 49 42 50 41 54 48 3a 5c$(NCRTLIBPATH:\
31c0: 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f  \=\)..# Check fo
31d0: 72 20 74 68 65 20 50 6c 61 74 66 6f 72 6d 20 53  r the Platform S
31e0: 44 4b 20 6c 69 62 72 61 72 79 20 70 61 74 68 20  DK library path
31f0: 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73  macro.  Otherwis
3200: 65 2c 20 74 68 69 73 0a 23 20 76 61 6c 75 65 20  e, this.# value
3210: 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f 20  will default to
3220: 74 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74  the 'lib' direct
3230: 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74  ory underneath t
3240: 68 65 20 57 69 6e 64 6f 77 73 0a 23 20 53 44 4b  he Windows.# SDK
3250: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69   installation di
3260: 72 65 63 74 6f 72 79 20 28 74 68 65 20 65 6e 76  rectory (the env
3270: 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c  ironment variabl
3280: 65 20 75 73 65 64 20 61 70 70 65 61 72 73 0a 23  e used appears.#
3290: 20 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65   to be available
32a0: 20 77 68 65 6e 20 75 73 69 6e 67 20 56 69 73 75   when using Visu
32b0: 61 6c 20 43 2b 2b 20 32 30 30 38 20 6f 72 20 6c  al C++ 2008 or l
32c0: 61 74 65 72 20 76 69 61 20 74 68 65 0a 23 20 63  ater via the.# c
32d0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 29 2e 0a 23 0a  ommand line)..#.
32e0: 21 49 46 4e 44 45 46 20 4e 53 44 4b 4c 49 42 50  !IFNDEF NSDKLIBP
32f0: 41 54 48 0a 4e 53 44 4b 4c 49 42 50 41 54 48 20  ATH.NSDKLIBPATH
3300: 3d 20 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49  = $(WINDOWSSDKDI 3310: 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e R)\lib.!ENDIF..N 3320: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 4e SDKLIBPATH =$(N
3330: 53 44 4b 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29  SDKLIBPATH:\\=\)
3340: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
3350: 65 20 55 43 52 54 20 6c 69 62 72 61 72 79 20 70  e UCRT library p
3360: 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65  ath macro.  Othe
3370: 72 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c 75  rwise, this valu
3380: 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c 74  e will.# default
3390: 20 74 6f 20 74 68 65 20 76 65 72 73 69 6f 6e 2d   to the version-
33a0: 73 70 65 63 69 66 69 63 2c 20 70 6c 61 74 66 6f  specific, platfo
33b0: 72 6d 2d 73 70 65 63 69 66 69 63 20 27 6c 69 62  rm-specific 'lib
33c0: 27 20 64 69 72 65 63 74 6f 72 79 0a 23 20 75 6e  ' directory.# un
33d0: 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e  derneath the Win
33e0: 64 6f 77 73 20 53 44 4b 20 69 6e 73 74 61 6c 6c  dows SDK install
33f0: 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e  ation directory.
3400: 0a 23 0a 21 49 46 4e 44 45 46 20 55 43 52 54 4c  .#.!IFNDEF UCRTL
3410: 49 42 50 41 54 48 0a 55 43 52 54 4c 49 42 50 41  IBPATH.UCRTLIBPA
3420: 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 53 44  TH = $(WINDOWSSD 3430: 4b 44 49 52 29 5c 6c 69 62 5c 24 28 57 49 4e 44 KDIR)\lib\$(WIND
3440: 4f 57 53 53 44 4b 4c 49 42 56 45 52 53 49 4f 4e  OWSSDKLIBVERSION
3450: 29 5c 75 63 72 74 5c 24 28 50 4c 41 54 46 4f 52  )\ucrt\$(PLATFOR 3460: 4d 29 0a 21 45 4e 44 49 46 0a 0a 55 43 52 54 4c M).!ENDIF..UCRTL 3470: 49 42 50 41 54 48 20 3d 20 24 28 55 43 52 54 4c IBPATH =$(UCRTL
3480: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..#
3490: 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f  C compiler and o
34a0: 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69  ptions for use i
34b0: 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75  n building execu
34c0: 74 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69  tables that.# wi
34d0: 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 70 6c  ll run on the pl
34e0: 61 74 66 6f 72 6d 20 74 68 61 74 20 69 73 20 64  atform that is d
34f0: 6f 69 6e 67 20 74 68 65 20 62 75 69 6c 64 2e 0a  oing the build..
3500: 23 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c  #.!IF $(USE_FULL 3510: 57 41 52 4e 29 21 3d 30 0a 42 43 43 20 3d 20 24 WARN)!=0.BCC =$
3520: 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57  (NCC) -nologo -W
3530: 34 20 2d 46 64 24 2a 2e 70 64 62 20 24 28 43 43  4 -Fd$*.pdb$(CC
3540: 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53 29  OPTS) $(BCCOPTS) 3550: 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28 4e .!ELSE.BCC =$(N
3560: 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20  CC) -nologo -W3
3570: 2d 46 64 24 2a 2e 70 64 62 20 24 28 43 43 4f 50  -Fd$*.pdb$(CCOP
3580: 54 53 29 20 24 28 42 43 43 4f 50 54 53 29 0a 21  TS) $(BCCOPTS).! 3590: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 ENDIF..# Check i 35a0: 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20 f assembly code 35b0: 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20 listings should 35c0: 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 be generated for 35d0: 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f the source.# co 35e0: 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63 de files to be c 35f0: 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24 ompiled..#.!IF$
3600: 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d  (USE_LISTINGS)!=
3610: 30 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  0.BCC = $(BCC) - 3620: 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 43 FAcs.!ENDIF..# C 3630: 68 65 63 6b 20 69 66 20 74 68 65 20 6e 61 74 69 heck if the nati 3640: 76 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 ve library paths 3650: 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 should be used 3660: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a 23 when compiling.# 3670: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e the command lin 3680: 65 20 74 6f 6f 6c 73 20 75 73 65 64 20 64 75 72 e tools used dur 3690: 69 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 ing the compilat 36a0: 69 6f 6e 20 70 72 6f 63 65 73 73 2e 20 20 49 66 ion process. If 36b0: 0a 23 20 73 6f 2c 20 73 65 74 20 74 68 65 20 6e .# so, set the n 36c0: 65 63 65 73 73 61 72 79 20 6d 61 63 72 6f 20 6e ecessary macro n 36d0: 6f 77 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f ow..#.!IF$(USE_
36e0: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 29  NATIVE_LIBPATHS)
36f0: 21 3d 30 0a 4e 4c 54 4c 49 42 50 41 54 48 53 20  !=0.NLTLIBPATHS
3700: 3d 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 43  = "/LIBPATH:$(NC 3710: 52 54 4c 49 42 50 41 54 48 29 22 20 22 2f 4c 49 RTLIBPATH)" "/LI 3720: 42 50 41 54 48 3a 24 28 4e 53 44 4b 4c 49 42 50 BPATH:$(NSDKLIBP
3730: 41 54 48 29 22 0a 0a 21 49 46 44 45 46 20 4e 55  ATH)"..!IFDEF NU
3740: 43 52 54 4c 49 42 50 41 54 48 0a 4e 55 43 52 54  CRTLIBPATH.NUCRT
3750: 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 55 43 52  LIBPATH = $(NUCR 3760: 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4e TLIBPATH:\\=\).N 3770: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4e LTLIBPATHS =$(N
3780: 4c 54 4c 49 42 50 41 54 48 53 29 20 22 2f 4c 49  LTLIBPATHS) "/LI
3790: 42 50 41 54 48 3a 24 28 4e 55 43 52 54 4c 49 42  BPATH:$(NUCRTLIB 37a0: 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 PATH)".!ENDIF.!E 37b0: 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c NDIF..# C compil 37c0: 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 er and options f 37d0: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69 or use in buildi 37e0: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 ng executables t 37f0: 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f hat.# will run o 3800: 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 n the target pla 3810: 74 66 6f 72 6d 2e 20 20 28 42 43 43 20 61 6e 64 tform. (BCC and 3820: 20 54 43 43 20 61 72 65 20 75 73 75 61 6c 6c 79 TCC are usually 3830: 20 74 68 65 0a 23 20 73 61 6d 65 20 75 6e 6c 65 the.# same unle 3840: 73 73 20 79 6f 75 72 20 61 72 65 20 63 72 6f 73 ss your are cros 3850: 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 29 0a 23 0a s-compiling.).#. 3860: 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 !IF$(USE_FULLWA
3870: 52 4e 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 43  RN)!=0.TCC = $(C 3880: 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 2d C) -nologo -W4 - 3890: 44 49 4e 43 4c 55 44 45 5f 4d 53 56 43 5f 48 3d DINCLUDE_MSVC_H= 38a0: 31 20 24 28 43 43 4f 50 54 53 29 20 24 28 54 43 1$(CCOPTS) $(TC 38b0: 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 54 43 43 COPTS).!ELSE.TCC 38c0: 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f =$(CC) -nologo
38d0: 20 2d 57 33 20 24 28 43 43 4f 50 54 53 29 20 24   -W3 $(CCOPTS)$
38e0: 28 54 43 43 4f 50 54 53 29 0a 21 45 4e 44 49 46  (TCCOPTS).!ENDIF
38f0: 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 77 61 72  ..# Check if war
3900: 6e 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20  nings should be
3910: 74 72 65 61 74 65 64 20 61 73 20 65 72 72 6f 72  treated as error
3920: 73 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  s when compiling
3930: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46 41  ..#.!IF $(USE_FA 3940: 54 41 4c 5f 57 41 52 4e 29 21 3d 30 0a 54 43 43 TAL_WARN)!=0.TCC 3950: 20 3d 20 24 28 54 43 43 29 20 2d 57 58 0a 21 45 =$(TCC) -WX.!E
3960: 4e 44 49 46 0a 0a 54 43 43 20 3d 20 24 28 54 43  NDIF..TCC = $(TC 3970: 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 C) -DSQLITE_OS_W 3980: 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28 54 4f 50 IN=1 -I. -I$(TOP
3990: 29 20 2d 49 24 28 54 4f 50 29 5c 73 72 63 20 2d  ) -I$(TOP)\src - 39a0: 66 70 3a 70 72 65 63 69 73 65 0a 52 43 43 20 3d fp:precise.RCC = 39b0: 20 24 28 52 43 29 20 2d 44 53 51 4c 49 54 45 5f$(RC) -DSQLITE_
39c0: 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d 49 24  OS_WIN=1 -I. -I$39d0: 28 54 4f 50 29 20 2d 49 24 28 54 4f 50 29 5c 73 (TOP) -I$(TOP)\s
39e0: 72 63 20 24 28 52 43 4f 50 54 53 29 20 24 28 52  rc $(RCOPTS)$(R
39f0: 43 43 4f 50 54 53 29 0a 0a 23 20 43 68 65 63 6b  CCOPTS)..# Check
3a00: 20 69 66 20 77 65 20 77 61 6e 74 20 74 6f 20 75   if we want to u
3a10: 73 65 20 74 68 65 20 22 73 74 64 63 61 6c 6c 22  se the "stdcall"
3a20: 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74   calling convent
3a30: 69 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69  ion when compili
3a40: 6e 67 2e 0a 23 20 54 68 69 73 20 69 73 20 6e 6f  ng..# This is no
3a50: 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74  t supported by t
3a60: 68 65 20 63 6f 6d 70 69 6c 65 72 73 20 66 6f 72  he compilers for
3a70: 20 6e 6f 6e 2d 78 38 36 20 70 6c 61 74 66 6f 72   non-x86 platfor
3a80: 6d 73 2e 20 20 49 74 20 73 68 6f 75 6c 64 0a 23  ms.  It should.#
3a90: 20 61 6c 73 6f 20 62 65 20 6e 6f 74 65 64 20 68   also be noted h
3aa0: 65 72 65 20 74 68 61 74 20 62 75 69 6c 64 69 6e  ere that buildin
3ab0: 67 20 61 6e 79 20 74 61 72 67 65 74 20 77 69 74  g any target wit
3ac0: 68 20 74 68 65 73 65 20 22 73 74 64 63 61 6c 6c  h these "stdcall
3ad0: 22 20 6f 70 74 69 6f 6e 73 0a 23 20 77 69 6c 6c  " options.# will
3ae0: 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 66 61 69   most likely fai
3af0: 6c 20 69 66 20 74 68 65 20 54 63 6c 20 6c 69 62  l if the Tcl lib
3b00: 72 61 72 79 20 69 73 20 61 6c 73 6f 20 72 65 71  rary is also req
3b10: 75 69 72 65 64 2e 20 20 54 68 69 73 20 69 73 20  uired.  This is
3b20: 64 75 65 0a 23 20 74 6f 20 68 6f 77 20 74 68 65  due.# to how the
3b30: 20 54 63 6c 20 6c 69 62 72 61 72 79 20 66 75 6e   Tcl library fun
3b40: 63 74 69 6f 6e 73 20 61 72 65 20 64 65 63 6c 61  ctions are decla
3b50: 72 65 64 20 61 6e 64 20 65 78 70 6f 72 74 65 64  red and exported
3b60: 20 28 69 2e 65 2e 20 77 69 74 68 6f 75 74 0a 23   (i.e. without.#
3b70: 20 61 6e 20 65 78 70 6c 69 63 69 74 20 63 61 6c   an explicit cal
3b80: 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c  ling convention,
3b90: 20 77 68 69 63 68 20 72 65 73 75 6c 74 73 20 69   which results i
3ba0: 6e 20 22 63 64 65 63 6c 22 29 2e 0a 23 0a 21 49  n "cdecl")..#.!I
3bb0: 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29  F $(USE_STDCALL) 3bc0: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e !=0 ||$(FOR_WIN
3bd0: 31 30 29 21 3d 30 0a 21 49 46 20 22 24 28 50 4c  10)!=0.!IF "$(PL 3be0: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a ATFORM)"=="x86". 3bf0: 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 CORE_CCONV_OPTS 3c00: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 = -Gz -DSQLITE_C 3c10: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 DECL=__cdecl -DS 3c20: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f QLITE_APICALL=__ 3c30: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 stdcall -DSQLITE 3c40: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 _CALLBACK=__stdc 3c50: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 all -DSQLITE_SYS 3c60: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48 API=__stdcall.SH 3c70: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d ELL_CCONV_OPTS = 3c80: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 -Gz -DSQLITE_CD 3c90: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 ECL=__cdecl -DSQ 3ca0: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 LITE_APICALL=__s 3cb0: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f tdcall -DSQLITE_ 3cc0: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 CALLBACK=__stdca 3cd0: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 ll -DSQLITE_SYSA 3ce0: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c PI=__stdcall.# < 3cf0: 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f <mark>>.TEST_CCO 3d00: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 NV_OPTS = -Gz -D 3d10: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 SQLITE_CDECL=__c 3d20: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 decl -DSQLITE_AP 3d30: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 ICALL=__stdcall 3d40: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 -DSQLITE_CALLBAC 3d50: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 K=__stdcall -DSQ 3d60: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 LITE_SYSAPI=__st 3d70: 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f dcall -DINCLUDE_ 3d80: 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d SQLITE_TCL_H=1 - 3d90: 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f DSQLITE_TCLAPI=_ 3da0: 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b _cdecl.# <</mark 3db0: 3e 3e 0a 21 45 4c 53 45 0a 21 49 46 4e 44 45 46 >>.!ELSE.!IFNDEF 3dc0: 20 50 4c 41 54 46 4f 52 4d 0a 43 4f 52 45 5f 43 PLATFORM.CORE_C 3dd0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 CONV_OPTS = -Gz 3de0: 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f -DSQLITE_CDECL=_ 3df0: 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f _cdecl -DSQLITE_ 3e00: 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c APICALL=__stdcal 3e10: 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 l -DSQLITE_CALLB 3e20: 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 ACK=__stdcall -D 3e30: 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f SQLITE_SYSAPI=__ 3e40: 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 stdcall.SHELL_CC 3e50: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d ONV_OPTS = -Gz - 3e60: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f DSQLITE_CDECL=__ 3e70: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 cdecl -DSQLITE_A 3e80: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c PICALL=__stdcall 3e90: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 -DSQLITE_CALLBA 3ea0: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 CK=__stdcall -DS 3eb0: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 QLITE_SYSAPI=__s 3ec0: 74 64 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e tdcall.# <<mark> 3ed0: 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 >.TEST_CCONV_OPT 3ee0: 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 S = -Gz -DSQLITE 3ef0: 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d _CDECL=__cdecl - 3f00: 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d DSQLITE_APICALL= 3f10: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 __stdcall -DSQLI 3f20: 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 TE_CALLBACK=__st 3f30: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 dcall -DSQLITE_S 3f40: 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 YSAPI=__stdcall 3f50: 2d 44 49 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 -DINCLUDE_SQLITE 3f60: 5f 54 43 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 _TCL_H=1 -DSQLIT 3f70: 45 5f 54 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c E_TCLAPI=__cdecl 3f80: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c .# <</mark>>.!EL 3f90: 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 SE.CORE_CCONV_OP 3fa0: 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 TS =.SHELL_CCONV 3fb0: 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72 6b _OPTS =.# <<mark 3fc0: 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 >>.TEST_CCONV_OP 3fd0: 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e TS =.# <</mark>> 3fe0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 .!ENDIF.!ENDIF.! 3ff0: 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f ELSE.CORE_CCONV_ 4000: 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f OPTS =.SHELL_CCO 4010: 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 NV_OPTS =.# <<ma 4020: 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f rk>>.TEST_CCONV_ 4030: 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b OPTS =.# <</mark 4040: 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 >>.!ENDIF..# The 4050: 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 se are additiona 4060: 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f l compiler optio 4070: 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 ns used for the 4080: 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a core library..#. 4090: 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 43 4f 4d !IFNDEF CORE_COM 40a0: 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24 28 PILE_OPTS.!IF$(
40b0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
40c0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10 40d0: 29 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c )!=0.CORE_COMPIL 40e0: 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 5f E_OPTS =$(CORE_
40f0: 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51  CCONV_OPTS) -DSQ
4100: 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73  LITE_API=__decls
4110: 70 65 63 28 64 6c 6c 65 78 70 6f 72 74 29 0a 21  pec(dllexport).!
4120: 45 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c  ELSE.CORE_COMPIL
4130: 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 5f  E_OPTS = $(CORE_ 4140: 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44 CCONV_OPTS).!END 4150: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 IF.!ENDIF..# The 4160: 73 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 se are the addit 4170: 69 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 ional targets th 4180: 61 74 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 at the core libr 4190: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e ary should depen 41a0: 64 20 6f 6e 0a 23 20 77 68 65 6e 20 6c 69 6e 6b d on.# when link 41b0: 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 ing..#.!IFNDEF C 41c0: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a 21 49 46 ORE_LINK_DEP.!IF 41d0: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c$(DYNAMIC_SHELL
41e0: 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44  )!=0.CORE_LINK_D
41f0: 45 50 20 3d 0a 21 45 4c 53 45 49 46 20 24 28 46  EP =.!ELSEIF $(F 4200: 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20 7c 7c 20 OR_WIN10)==0 || 4210: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 "$(PLATFORM)"=="
4220: 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44  x86".CORE_LINK_D
4230: 45 50 20 3d 20 73 71 6c 69 74 65 33 2e 64 65 66  EP = sqlite3.def
4240: 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b  .!ELSE.CORE_LINK
4250: 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45  _DEP =.!ENDIF.!E
4260: 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72  NDIF..# These ar
4270: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e  e additional lin
4280: 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64  ker options used
4290: 20 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69   for the core li
42a0: 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46  brary..#.!IFNDEF
42b0: 20 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 0a   CORE_LINK_OPTS.
42c0: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH 42d0: 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e ELL)!=0.CORE_LIN 42e0: 4b 5f 4f 50 54 53 20 3d 0a 21 45 4c 53 45 49 46 K_OPTS =.!ELSEIF 42f0: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30$(FOR_WIN10)==0
4300: 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 29   || "$(PLATFORM) 4310: 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 "=="x86".CORE_LI 4320: 4e 4b 5f 4f 50 54 53 20 3d 20 2f 44 45 46 3a 73 NK_OPTS = /DEF:s 4330: 71 6c 69 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 qlite3.def.!ELSE 4340: 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 .CORE_LINK_OPTS 4350: 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a =.!ENDIF.!ENDIF. 4360: 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64 .# These are add 4370: 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 itional compiler 4380: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f options used fo 4390: 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 r the shell exec 43a0: 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 utable..#.!IFNDE 43b0: 46 20 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f F SHELL_COMPILE_ 43c0: 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41 4d OPTS.!IF$(DYNAM
43d0: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20  IC_SHELL)!=0 ||
43e0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0. 43f0: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 SHELL_COMPILE_OP 4400: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43 4f TS =$(SHELL_CCO
4410: 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  NV_OPTS) -DSQLIT
4420: 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65 63  E_API=__declspec
4430: 28 64 6c 6c 69 6d 70 6f 72 74 29 0a 21 45 4c 53  (dllimport).!ELS
4440: 45 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  E.SHELL_COMPILE_
4450: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43  OPTS = $(SHELL_C 4460: 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44 49 CONV_OPTS).!ENDI 4470: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 F.!ENDIF..# This 4480: 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 is the source c 4490: 6f 64 65 20 74 68 61 74 20 74 68 65 20 73 68 65 ode that the she 44a0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 ll executable sh 44b0: 6f 75 6c 64 20 62 65 20 63 6f 6d 70 69 6c 65 64 ould be compiled 44c0: 0a 23 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44 .# with..#.!IFND 44d0: 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 EF SHELL_CORE_SR 44e0: 43 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f C.!IF$(DYNAMIC_
44f0: 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  SHELL)!=0 || $(F 4500: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 OR_WIN10)!=0.SHE 4510: 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a 23 20 LL_CORE_SRC =.# 4520: 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 49 46 <<mark>>.!ELSEIF 4530: 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54$(USE_AMALGAMAT
4540: 49 4f 4e 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f  ION)==0.SHELL_CO
4550: 52 45 5f 53 52 43 20 3d 0a 23 20 3c 3c 2f 6d 61  RE_SRC =.# <</ma
4560: 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53 48 45 4c 4c  rk>>.!ELSE.SHELL
4570: 5f 43 4f 52 45 5f 53 52 43 20 3d 20 24 28 53 51  _CORE_SRC = $(SQ 4580: 4c 49 54 45 33 43 29 0a 21 45 4e 44 49 46 0a 21 LITE3C).!ENDIF.! 4590: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 ENDIF..# This is 45a0: 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 the core librar 45b0: 79 20 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c y that the shell 45c0: 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75 executable shou 45d0: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a ld depend on..#. 45e0: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f !IFNDEF SHELL_CO 45f0: 52 45 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e RE_DEP.!IF$(DYN
4600: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c  AMIC_SHELL)!=0 |
4610: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!= 4620: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0.SHELL_CORE_DEP 4630: 20 3d 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 =$(SQLITE3DLL)
4640: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4c 53  .# <<mark>>.!ELS
4650: 45 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  EIF $(USE_AMALGA 4660: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 45 4c 4c MATION)==0.SHELL 4670: 5f 43 4f 52 45 5f 44 45 50 20 3d 20 6c 69 62 73 _CORE_DEP = libs 4680: 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 3c 3c 2f qlite3.lib.# <</ 4690: 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53 48 45 mark>>.!ELSE.SHE 46a0: 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 0a 21 45 LL_CORE_DEP =.!E 46b0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c NDIF.!ENDIF..# < 46c0: 3c 6d 61 72 6b 3e 3e 0a 23 20 49 66 20 7a 6c 69 <mark>>.# If zli 46d0: 62 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 b support is ena 46e0: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 64 65 bled, add the de 46f0: 70 65 6e 64 65 6e 63 69 65 73 20 66 6f 72 20 69 pendencies for i 4700: 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a t..#.!IF$(USE_Z
4710: 4c 49 42 29 21 3d 30 20 26 26 20 24 28 42 55 49  LIB)!=0 && $(BUI 4720: 4c 44 5f 5a 4c 49 42 29 21 3d 30 0a 53 48 45 4c LD_ZLIB)!=0.SHEL 4730: 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 7a 6c 69 L_CORE_DEP = zli 4740: 62 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 b$(SHELL_CORE_D
4750: 45 50 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f  EP).TESTFIXTURE_
4760: 44 45 50 20 3d 20 7a 6c 69 62 20 24 28 54 45 53  DEP = zlib $(TES 4770: 54 46 49 58 54 55 52 45 5f 44 45 50 29 0a 21 45 TFIXTURE_DEP).!E 4780: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e NDIF.# <</mark>> 4790: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 ..# This is the 47a0: 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68 61 core library tha 47b0: 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 t the shell exec 47c0: 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c 69 utable should li 47d0: 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44 nk with..#.!IFND 47e0: 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 EF SHELL_CORE_LI 47f0: 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f B.!IF$(DYNAMIC_
4800: 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  SHELL)!=0 || $(F 4810: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 OR_WIN10)!=0.SHE 4820: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24 28 LL_CORE_LIB =$(
4830: 53 51 4c 49 54 45 33 4c 49 42 29 0a 23 20 3c 3c  SQLITE3LIB).# <<
4840: 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 49 46 20 24  mark>>.!ELSEIF $4850: 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f (USE_AMALGAMATIO 4860: 4e 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 N)==0.SHELL_CORE 4870: 5f 4c 49 42 20 3d 20 6c 69 62 73 71 6c 69 74 65 _LIB = libsqlite 4880: 33 2e 6c 69 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3.lib.# <</mark> 4890: 3e 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f >.!ELSE.SHELL_CO 48a0: 52 45 5f 4c 49 42 20 3d 0a 21 45 4e 44 49 46 0a RE_LIB =.!ENDIF. 48b0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 !ENDIF..# These 48c0: 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c are additional l 48d0: 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 inker options us 48e0: 65 64 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c ed for the shell 48f0: 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 executable..#.! 4900: 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 4c 49 4e IFNDEF SHELL_LIN 4910: 4b 5f 4f 50 54 53 0a 53 48 45 4c 4c 5f 4c 49 4e K_OPTS.SHELL_LIN 4920: 4b 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c K_OPTS =$(SHELL
4930: 5f 43 4f 52 45 5f 4c 49 42 29 0a 21 45 4e 44 49  _CORE_LIB).!ENDI
4940: 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 61 73  F..# Check if as
4950: 73 65 6d 62 6c 79 20 63 6f 64 65 20 6c 69 73 74  sembly code list
4960: 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20 67  ings should be g
4970: 65 6e 65 72 61 74 65 64 20 66 6f 72 20 74 68 65  enerated for the
4980: 20 73 6f 75 72 63 65 0a 23 20 63 6f 64 65 20 66   source.# code f
4990: 69 6c 65 73 20 74 6f 20 62 65 20 63 6f 6d 70 69  iles to be compi
49a0: 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  led..#.!IF $(USE 49b0: 5f 4c 49 53 54 49 4e 47 53 29 21 3d 30 0a 54 43 _LISTINGS)!=0.TC 49c0: 43 20 3d 20 24 28 54 43 43 29 20 2d 46 41 63 73 C =$(TCC) -FAcs
49d0: 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20  .!ENDIF..# When
49e0: 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 6c 69  compiling the li
49f0: 62 72 61 72 79 20 66 6f 72 20 75 73 65 20 69 6e  brary for use in
4a00: 20 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69 72   the WinRT envir
4a10: 6f 6e 6d 65 6e 74 2c 0a 23 20 74 68 65 20 66 6f  onment,.# the fo
4a20: 6c 6c 6f 77 69 6e 67 20 63 6f 6d 70 69 6c 65 2d  llowing compile-
4a30: 74 69 6d 65 20 6f 70 74 69 6f 6e 73 20 6d 75 73  time options mus
4a40: 74 20 62 65 20 75 73 65 64 20 61 73 20 77 65 6c  t be used as wel
4a50: 6c 20 74 6f 0a 23 20 64 69 73 61 62 6c 65 20 75  l to.# disable u
4a60: 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73  se of Win32 APIs
4a70: 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 61 76   that are not av
4a80: 61 69 6c 61 62 6c 65 20 61 6e 64 20 74 6f 20 65  ailable and to e
4a90: 6e 61 62 6c 65 0a 23 20 75 73 65 20 6f 66 20 57  nable.# use of W
4aa0: 69 6e 33 32 20 41 50 49 73 20 74 68 61 74 20 61  in32 APIs that a
4ab0: 72 65 20 73 70 65 63 69 66 69 63 20 74 6f 20 57  re specific to W
4ac0: 69 6e 64 6f 77 73 20 38 20 61 6e 64 2f 6f 72 20  indows 8 and/or
4ad0: 57 69 6e 52 54 2e 0a 23 0a 21 49 46 20 24 28 46  WinRT..#.!IF $(F 4ae0: 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a 54 43 43 OR_WINRT)!=0.TCC 4af0: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 =$(TCC) -DSQLI
4b00: 54 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 52 43  TE_OS_WINRT=1.RC
4b10: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL 4b20: 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 54 ITE_OS_WINRT=1.T 4b30: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 57 49 CC =$(TCC) -DWI
4b40: 4e 41 50 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41  NAPI_FAMILY=WINA
4b50: 50 49 5f 46 41 4d 49 4c 59 5f 41 50 50 0a 52 43  PI_FAMILY_APP.RC
4b60: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 57 49 4e  C = $(RCC) -DWIN 4b70: 41 50 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50 API_FAMILY=WINAP 4b80: 49 5f 46 41 4d 49 4c 59 5f 41 50 50 0a 21 45 4e I_FAMILY_APP.!EN 4b90: 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 DIF..# C compile 4ba0: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 r options for th 4bb0: 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 e Windows 10 pla 4bc0: 74 66 6f 72 6d 20 28 6e 65 65 64 73 20 4d 53 56 tform (needs MSV 4bd0: 43 20 32 30 31 35 29 2e 0a 23 0a 21 49 46 20 24 C 2015)..#.!IF$
4be0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54  (FOR_WIN10)!=0.T
4bf0: 43 43 20 3d 20 24 28 54 43 43 29 20 2f 64 32 67  CC = $(TCC) /d2g 4c00: 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e uard4 -D_ARM_WIN 4c10: 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 API_PARTITION_DE 4c20: 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 SKTOP_SDK_AVAILA 4c30: 42 4c 45 0a 42 43 43 20 3d 20 24 28 42 43 43 29 BLE.BCC =$(BCC)
4c40: 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41 52   /d2guard4 -D_AR
4c50: 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54 49  M_WINAPI_PARTITI
4c60: 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41  ON_DESKTOP_SDK_A
4c70: 56 41 49 4c 41 42 4c 45 0a 21 45 4e 44 49 46 0a  VAILABLE.!ENDIF.
4c80: 0a 23 20 41 6c 73 6f 2c 20 77 65 20 6e 65 65 64  .# Also, we need
4c90: 20 74 6f 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20   to dynamically
4ca0: 6c 69 6e 6b 20 74 6f 20 74 68 65 20 63 6f 72 72  link to the corr
4cb0: 65 63 74 20 4d 53 56 43 20 72 75 6e 74 69 6d 65  ect MSVC runtime
4cc0: 0a 23 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# when compilin
4cd0: 67 20 66 6f 72 20 57 69 6e 52 54 20 28 65 2e 67  g for WinRT (e.g
4ce0: 2e 20 64 65 62 75 67 20 6f 72 20 72 65 6c 65 61  . debug or relea
4cf0: 73 65 29 20 4f 52 20 69 66 20 74 68 65 0a 23 20  se) OR if the.#
4d00: 55 53 45 5f 43 52 54 5f 44 4c 4c 20 6f 70 74 69  USE_CRT_DLL opti
4d10: 6f 6e 20 69 73 20 73 65 74 20 74 6f 20 66 6f 72  on is set to for
4d20: 63 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c  ce dynamically l
4d30: 69 6e 6b 69 6e 67 20 74 6f 20 74 68 65 0a 23 20  inking to the.#
4d40: 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62  MSVC runtime lib
4d50: 72 61 72 79 2e 0a 23 0a 21 49 46 20 24 28 46 4f  rary..#.!IF $(FO 4d60: 52 5f 57 49 4e 52 54 29 21 3d 30 20 7c 7c 20 24 R_WINRT)!=0 ||$
4d70: 28 55 53 45 5f 43 52 54 5f 44 4c 4c 29 21 3d 30  (USE_CRT_DLL)!=0
4d80: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a  .!IF $(DEBUG)>1. 4d90: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 TCC =$(TCC) -MD
4da0: 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  d.BCC = $(BCC) - 4db0: 4d 44 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 MDd.!ELSE.TCC = 4dc0: 24 28 54 43 43 29 20 2d 4d 44 0a 42 43 43 20 3d$(TCC) -MD.BCC =
4dd0: 20 24 28 42 43 43 29 20 2d 4d 44 0a 21 45 4e 44   $(BCC) -MD.!END 4de0: 49 46 0a 21 45 4c 53 45 0a 21 49 46 20 24 28 44 IF.!ELSE.!IF$(D
4df0: 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28  EBUG)>1.TCC = $( 4e00: 54 43 43 29 20 2d 4d 54 64 0a 42 43 43 20 3d 20 TCC) -MTd.BCC = 4e10: 24 28 42 43 43 29 20 2d 4d 54 64 0a 21 45 4c 53$(BCC) -MTd.!ELS
4e20: 45 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  E.TCC = $(TCC) - 4e30: 4d 54 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 MT.BCC =$(BCC)
4e40: 2d 4d 54 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  -MT.!ENDIF.!ENDI
4e50: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.#
4e60: 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74  The mksqlite3c.t
4e70: 63 6c 20 61 6e 64 20 6d 6b 73 71 6c 69 74 65 33  cl and mksqlite3
4e80: 68 2e 74 63 6c 20 73 63 72 69 70 74 73 20 77 69  h.tcl scripts wi
4e90: 6c 6c 20 70 75 6c 6c 20 69 6e 0a 23 20 61 6e 79  ll pull in.# any
4ea0: 20 65 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65   extension heade
4eb0: 72 20 66 69 6c 65 73 20 62 79 20 64 65 66 61 75  r files by defau
4ec0: 6c 74 2e 20 20 46 6f 72 20 6e 6f 6e 2d 61 6d 61  lt.  For non-ama
4ed0: 6c 67 61 6d 61 74 69 6f 6e 0a 23 20 62 75 69 6c  lgamation.# buil
4ee0: 64 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 6d  ds, we need to m
4ef0: 61 6b 65 20 73 75 72 65 20 74 68 65 20 63 6f 6d  ake sure the com
4f00: 70 69 6c 65 72 20 63 61 6e 20 66 69 6e 64 20 74  piler can find t
4f10: 68 65 73 65 2e 0a 23 0a 21 49 46 20 24 28 55 53  hese..#.!IF $(US 4f20: 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d E_AMALGAMATION)= 4f30: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 =0.TCC =$(TCC)
4f40: 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  -I$(TOP)\ext\fts 4f50: 33 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 3.RCC =$(RCC) -
4f60: 49 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  I$(TOP)\ext\fts3 4f70: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 .TCC =$(TCC) -I
4f80: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree 4f90: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 .RCC =$(RCC) -I
4fa0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree 4fb0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 .TCC =$(TCC) -I
4fc0: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi 4fd0: 6f 6e 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 on.RCC =$(RCC)
4fe0: 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73  -I$(TOP)\ext\ses 4ff0: 73 69 6f 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 sion.!ENDIF..# T 5000: 68 65 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 he mksqlite3c.tc 5010: 6c 20 73 63 72 69 70 74 20 61 63 63 65 70 74 73 l script accepts 5020: 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e some options on 5030: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c the command.# l 5040: 69 6e 65 2e 20 20 57 68 65 6e 20 63 6f 6d 70 69 ine. When compi 5050: 6c 69 6e 67 20 77 69 74 68 20 64 65 62 75 67 67 ling with debugg 5060: 69 6e 67 20 65 6e 61 62 6c 65 64 2c 20 73 6f 6d ing enabled, som 5070: 65 20 6f 66 20 74 68 65 73 65 0a 23 20 6f 70 74 e of these.# opt 5080: 69 6f 6e 73 20 61 72 65 20 6e 65 63 65 73 73 61 ions are necessa 5090: 72 79 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 61 ry in order to a 50a0: 6c 6c 6f 77 20 64 65 62 75 67 67 69 6e 67 20 73 llow debugging s 50b0: 79 6d 62 6f 6c 73 20 74 6f 0a 23 20 77 6f 72 6b ymbols to.# work 50c0: 20 63 6f 72 72 65 63 74 6c 79 20 77 69 74 68 20 correctly with 50d0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 77 68 Visual Studio wh 50e0: 65 6e 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61 en using the ama 50f0: 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 lgamation..#.!IF 5100: 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f NDEF MKSQLITE3C_ 5110: 54 4f 4f 4c 0a 21 49 46 20 24 28 4d 49 4e 49 4d TOOL.!IF$(MINIM
5120: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29  AL_AMALGAMATION)
5130: 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54  !=0.MKSQLITE3C_T
5140: 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f  OOL = $(TOP)\too 5150: 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2d 6e 6f 65 l\mksqlite3c-noe 5160: 78 74 2e 74 63 6c 0a 21 45 4c 53 45 0a 4d 4b 53 xt.tcl.!ELSE.MKS 5170: 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 QLITE3C_TOOL =$
5180: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c  (TOP)\tool\mksql
5190: 69 74 65 33 63 2e 74 63 6c 0a 21 45 4e 44 49 46  ite3c.tcl.!ENDIF
51a0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
51b0: 20 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53   MKSQLITE3C_ARGS
51c0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a  .!IF $(DEBUG)>1. 51d0: 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 MKSQLITE3C_ARGS 51e0: 3d 20 2d 2d 6c 69 6e 65 6d 61 63 72 6f 73 0a 21 = --linemacros.! 51f0: 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f ELSE.MKSQLITE3C_ 5200: 41 52 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 49 ARGS =.!ENDIF.!I 5210: 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 F$(USE_STDCALL)
5220: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN 5230: 31 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 10)!=0.MKSQLITE3 5240: 43 5f 41 52 47 53 20 3d 20 24 28 4d 4b 53 51 4c C_ARGS =$(MKSQL
5250: 49 54 45 33 43 5f 41 52 47 53 29 20 2d 2d 75 73  ITE3C_ARGS) --us
5260: 65 61 70 69 63 61 6c 6c 0a 21 45 4e 44 49 46 0a  eapicall.!ENDIF.
5270: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b  !ENDIF..# The mk
5280: 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72  sqlite3h.tcl scr
5290: 69 70 74 20 61 63 63 65 70 74 73 20 73 6f 6d 65  ipt accepts some
52a0: 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20   options on the
52b0: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 23 20  command line..#
52c0: 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77  When compiling w
52d0: 69 74 68 20 73 74 64 63 61 6c 6c 20 73 75 70 70  ith stdcall supp
52e0: 6f 72 74 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65  ort, some of the
52f0: 73 65 20 6f 70 74 69 6f 6e 73 20 61 72 65 0a 23  se options are.#
5300: 20 6e 65 63 65 73 73 61 72 79 2e 0a 23 0a 21 49   necessary..#.!I
5310: 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 48  FNDEF MKSQLITE3H
5320: 5f 41 52 47 53 0a 21 49 46 20 24 28 55 53 45 5f  _ARGS.!IF $(USE_ 5330: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 STDCALL)!=0 ||$
5340: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d  (FOR_WIN10)!=0.M
5350: 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53 20 3d  KSQLITE3H_ARGS =
5360: 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21 45   --useapicall.!E
5370: 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 48 5f 41  LSE.MKSQLITE3H_A
5380: 52 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e  RGS =.!ENDIF.!EN
5390: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
53a0: 0a 23 20 44 65 66 69 6e 65 20 2d 44 4e 44 45 42  .# Define -DNDEB
53b0: 55 47 20 74 6f 20 63 6f 6d 70 69 6c 65 20 77 69  UG to compile wi
53c0: 74 68 6f 75 74 20 64 65 62 75 67 67 69 6e 67 20  thout debugging
53d0: 28 69 2e 65 2e 2c 20 66 6f 72 20 70 72 6f 64 75  (i.e., for produ
53e0: 63 74 69 6f 6e 20 75 73 61 67 65 29 0a 23 20 4f  ction usage).# O
53f0: 6d 69 74 74 69 6e 67 20 74 68 65 20 64 65 66 69  mitting the defi
5400: 6e 65 20 77 69 6c 6c 20 63 61 75 73 65 20 65 78  ne will cause ex
5410: 74 72 61 20 64 65 62 75 67 67 69 6e 67 20 63 6f  tra debugging co
5420: 64 65 20 74 6f 20 62 65 20 69 6e 73 65 72 74 65  de to be inserte
5430: 64 20 61 6e 64 0a 23 20 69 6e 63 6c 75 64 65 73  d and.# includes
5440: 20 65 78 74 72 61 20 63 6f 6d 6d 65 6e 74 73 20   extra comments
5450: 77 68 65 6e 20 22 45 58 50 4c 41 49 4e 20 73 74  when "EXPLAIN st
5460: 6d 74 22 20 69 73 20 75 73 65 64 2e 0a 23 0a 21  mt" is used..#.!
5470: 49 46 20 24 28 44 45 42 55 47 29 3d 3d 30 0a 54  IF $(DEBUG)==0.T 5480: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 4e 44 CC =$(TCC) -DND
5490: 45 42 55 47 0a 42 43 43 20 3d 20 24 28 42 43 43  EBUG.BCC = $(BCC 54a0: 29 20 2d 44 4e 44 45 42 55 47 0a 52 43 43 20 3d ) -DNDEBUG.RCC = 54b0: 20 24 28 52 43 43 29 20 2d 44 4e 44 45 42 55 47$(RCC) -DNDEBUG
54c0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D 54d0: 45 42 55 47 29 3e 30 20 7c 7c 20 24 28 41 50 49 EBUG)>0 ||$(API
54e0: 5f 41 52 4d 4f 52 29 21 3d 30 20 7c 7c 20 24 28  _ARMOR)!=0 || $( 54f0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43 FOR_WIN10)!=0.TC 5500: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c C =$(TCC) -DSQL
5510: 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41  ITE_ENABLE_API_A
5520: 52 4d 4f 52 3d 31 0a 52 43 43 20 3d 20 24 28 52  RMOR=1.RCC = $(R 5530: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 CC) -DSQLITE_ENA 5540: 42 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a BLE_API_ARMOR=1. 5550: 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 !ENDIF..!IF$(DE
5560: 42 55 47 29 3e 32 0a 54 43 43 20 3d 20 24 28 54  BUG)>2.TCC = $(T 5570: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 CC) -DSQLITE_DEB 5580: 55 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 UG=1.RCC =$(RCC
5590: 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47  ) -DSQLITE_DEBUG
55a0: 3d 31 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  =1.!IF $(DYNAMIC 55b0: 5f 53 48 45 4c 4c 29 3d 3d 30 0a 54 43 43 20 3d _SHELL)==0.TCC = 55c0: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45$(TCC) -DSQLITE
55d0: 5f 45 4e 41 42 4c 45 5f 57 48 45 52 45 54 52 41  _ENABLE_WHERETRA
55e0: 43 45 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  CE -DSQLITE_ENAB
55f0: 4c 45 5f 53 45 4c 45 43 54 54 52 41 43 45 0a 52  LE_SELECTTRACE.R
5600: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ 5610: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52 LITE_ENABLE_WHER 5620: 45 54 52 41 43 45 20 2d 44 53 51 4c 49 54 45 5f ETRACE -DSQLITE_ 5630: 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 54 52 41 ENABLE_SELECTTRA 5640: 43 45 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 CE.!ENDIF.!ENDIF 5650: 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 34 ..!IF$(DEBUG)>4
5660: 20 7c 7c 20 24 28 4f 53 54 52 41 43 45 29 21 3d   || $(OSTRACE)!= 5670: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 0.TCC =$(TCC) -
5680: 44 53 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53  DSQLITE_FORCE_OS
5690: 5f 54 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 54  _TRACE=1 -DSQLIT
56a0: 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 45  E_DEBUG_OS_TRACE
56b0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 56c0: 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f -DSQLITE_FORCE_O 56d0: 53 5f 54 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 S_TRACE=1 -DSQLI 56e0: 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 TE_DEBUG_OS_TRAC 56f0: 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 E=1.!ENDIF..!IF 5700: 24 28 44 45 42 55 47 29 3e 35 0a 54 43 43 20 3d$(DEBUG)>5.TCC =
5710: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE 5720: 5f 45 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d _ENABLE_IOTRACE= 5730: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 1.RCC =$(RCC) -
5740: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49  DSQLITE_ENABLE_I
5750: 4f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a  OTRACE=1.!ENDIF.
5760: 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69  .# Prevent warni
5770: 6e 67 73 20 61 62 6f 75 74 20 22 69 6e 73 65 63  ngs about "insec
5780: 75 72 65 22 20 4d 53 56 43 20 72 75 6e 74 69 6d  ure" MSVC runtim
5790: 65 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69  e library functi
57a0: 6f 6e 73 0a 23 20 62 65 69 6e 67 20 75 73 65 64  ons.# being used
57b0: 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ..#.TCC = $(TCC) 57c0: 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e -D_CRT_SECURE_N 57d0: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43 O_DEPRECATE -D_C 57e0: 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 RT_SECURE_NO_WAR 57f0: 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28 42 43 NINGS.BCC =$(BC
5800: 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45  C) -D_CRT_SECURE
5810: 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44  _NO_DEPRECATE -D
5820: 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57  _CRT_SECURE_NO_W
5830: 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d 20 24 28  ARNINGS.RCC = $( 5840: 52 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 RCC) -D_CRT_SECU 5850: 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 RE_NO_DEPRECATE 5860: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f -D_CRT_SECURE_NO 5870: 5f 57 41 52 4e 49 4e 47 53 0a 0a 23 20 50 72 65 _WARNINGS..# Pre 5880: 76 65 6e 74 20 77 61 72 6e 69 6e 67 73 20 61 62 vent warnings ab 5890: 6f 75 74 20 22 64 65 70 72 65 63 61 74 65 64 22 out "deprecated" 58a0: 20 50 4f 53 49 58 20 66 75 6e 63 74 69 6f 6e 73 POSIX functions 58b0: 20 62 65 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 being used..#.T 58c0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 CC =$(TCC) -D_C
58d0: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45  RT_NONSTDC_NO_DE
58e0: 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e  PRECATE -D_CRT_N
58f0: 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e  ONSTDC_NO_WARNIN
5900: 47 53 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  GS.BCC = $(BCC) 5910: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e -D_CRT_NONSTDC_N 5920: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43 O_DEPRECATE -D_C 5930: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 RT_NONSTDC_NO_WA 5940: 52 4e 49 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 RNINGS.RCC =$(R
5950: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  CC) -D_CRT_NONST
5960: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  DC_NO_DEPRECATE
5970: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
5980: 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23 20 55 73  O_WARNINGS..# Us
5990: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
59a0: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
59b0: 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20 24 28 4d  ystem?.#.!IF $(M 59c0: 45 4d 44 45 42 55 47 29 21 3d 30 0a 54 43 43 20 EMDEBUG)!=0.TCC 59d0: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 =$(TCC) -DSQLIT
59e0: 45 5f 4d 45 4d 44 45 42 55 47 3d 31 0a 52 43 43  E_MEMDEBUG=1.RCC
59f0: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI 5a00: 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31 0a 0a 23 TE_MEMDEBUG=1..# 5a10: 20 55 73 65 20 6e 61 74 69 76 65 20 57 69 6e 33 Use native Win3 5a20: 32 20 68 65 61 70 20 73 75 62 73 79 73 74 65 6d 2 heap subsystem 5a30: 20 69 6e 73 74 65 61 64 20 6f 66 20 6d 61 6c 6c instead of mall 5a40: 6f 63 2f 66 72 65 65 3f 0a 23 0a 21 45 4c 53 45 oc/free?.#.!ELSE 5a50: 49 46 20 24 28 57 49 4e 33 32 48 45 41 50 29 21 IF$(WIN32HEAP)!
5a60: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 5a70: 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d -DSQLITE_WIN32_M 5a80: 41 4c 4c 4f 43 3d 31 0a 52 43 43 20 3d 20 24 28 ALLOC=1.RCC =$(
5a90: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49  RCC) -DSQLITE_WI
5aa0: 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23 20  N32_MALLOC=1..#
5ab0: 56 61 6c 69 64 61 74 65 20 74 68 65 20 68 65 61  Validate the hea
5ac0: 70 20 6f 6e 20 65 76 65 72 79 20 63 61 6c 6c 20  p on every call
5ad0: 69 6e 74 6f 20 74 68 65 20 6e 61 74 69 76 65 20  into the native
5ae0: 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73 79  Win32 heap subsy
5af0: 73 74 65 6d 3f 0a 23 0a 21 49 46 20 24 28 44 45  stem?.#.!IF $(DE 5b00: 42 55 47 29 3e 33 0a 54 43 43 20 3d 20 24 28 54 BUG)>3.TCC =$(T
5b10: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e  CC) -DSQLITE_WIN
5b20: 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41  32_MALLOC_VALIDA
5b30: 54 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  TE=1.RCC = $(RCC 5b40: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 ) -DSQLITE_WIN32 5b50: 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 _MALLOC_VALIDATE 5b60: 3d 31 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 =1.!ENDIF.!ENDIF 5b70: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 ..# <<mark>>.# T 5b80: 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 he locations of 5b90: 74 68 65 20 54 63 6c 20 68 65 61 64 65 72 20 61 the Tcl header a 5ba0: 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 nd library files 5bb0: 2e 20 20 41 6c 73 6f 2c 20 74 68 65 20 6c 69 62 . Also, the lib 5bc0: 72 61 72 79 20 74 68 61 74 0a 23 20 6e 6f 6e 2d rary that.# non- 5bd0: 73 74 75 62 73 20 65 6e 61 62 6c 65 64 20 70 72 stubs enabled pr 5be0: 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 54 63 6c ograms using Tcl 5bf0: 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e must link again 5c00: 73 74 2e 20 20 54 68 65 73 65 20 76 61 72 69 61 st. These varia 5c10: 62 6c 65 73 0a 23 20 28 54 43 4c 49 4e 43 44 49 bles.# (TCLINCDI 5c20: 52 2c 20 54 43 4c 4c 49 42 44 49 52 2c 20 61 6e R, TCLLIBDIR, an 5c30: 64 20 4c 49 42 54 43 4c 29 20 6d 61 79 20 62 65 d LIBTCL) may be 5c40: 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 overridden via 5c50: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a the environment. 5c60: 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 # prior to runni 5c70: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 ng nmake in orde 5c80: 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61 r to match the a 5c90: 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 ctual installed 5ca0: 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 0a 23 20 76 location and.# v 5cb0: 65 72 73 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d ersion on this m 5cc0: 61 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 achine..#.!IFNDE 5cd0: 46 20 54 43 4c 56 45 52 53 49 4f 4e 0a 54 43 4c F TCLVERSION.TCL 5ce0: 56 45 52 53 49 4f 4e 20 3d 20 38 36 0a 21 45 4e VERSION = 86.!EN 5cf0: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c DIF..!IFNDEF TCL 5d00: 53 55 46 46 49 58 0a 54 43 4c 53 55 46 46 49 58 SUFFIX.TCLSUFFIX 5d10: 20 3d 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 =.!ENDIF..!IFND 5d20: 45 46 20 54 43 4c 44 49 52 0a 54 43 4c 44 49 52 EF TCLDIR.TCLDIR 5d30: 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74 =$(TOP)\compat
5d40: 5c 74 63 6c 0a 21 45 4e 44 49 46 0a 0a 21 49 46  \tcl.!ENDIF..!IF
5d50: 4e 44 45 46 20 54 43 4c 49 4e 43 44 49 52 0a 54  NDEF TCLINCDIR.T
5d60: 43 4c 49 4e 43 44 49 52 20 3d 20 24 28 54 43 4c  CLINCDIR = $(TCL 5d70: 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a 21 45 4e DIR)\include.!EN 5d80: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c DIF..!IFNDEF TCL 5d90: 4c 49 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 52 LIBDIR.TCLLIBDIR 5da0: 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 6c 69 62 =$(TCLDIR)\lib
5db0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46  .!ENDIF..!IFNDEF
5dc0: 20 4c 49 42 54 43 4c 0a 4c 49 42 54 43 4c 20 3d   LIBTCL.LIBTCL =
5dd0: 20 74 63 6c 24 28 54 43 4c 56 45 52 53 49 4f 4e   tcl$(TCLVERSION 5de0: 29 24 28 54 43 4c 53 55 46 46 49 58 29 2e 6c 69 )$(TCLSUFFIX).li
5df0: 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45  b.!ENDIF..!IFNDE
5e00: 46 20 4c 49 42 54 43 4c 53 54 55 42 0a 4c 49 42  F LIBTCLSTUB.LIB
5e10: 54 43 4c 53 54 55 42 20 3d 20 74 63 6c 73 74 75  TCLSTUB = tclstu
5e20: 62 24 28 54 43 4c 56 45 52 53 49 4f 4e 29 24 28  b$(TCLVERSION)$(
5e30: 54 43 4c 53 55 46 46 49 58 29 2e 6c 69 62 0a 21  TCLSUFFIX).lib.!
5e40: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c  ENDIF..!IFNDEF L
5e50: 49 42 54 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c  IBTCLPATH.LIBTCL
5e60: 50 41 54 48 20 3d 20 24 28 54 43 4c 44 49 52 29  PATH = $(TCLDIR) 5e70: 5c 62 69 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 \bin.!ENDIF..# T 5e80: 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 he locations of 5e90: 74 68 65 20 7a 6c 69 62 20 68 65 61 64 65 72 20 the zlib header 5ea0: 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 and library file 5eb0: 73 2e 20 20 54 68 65 73 65 20 76 61 72 69 61 62 s. These variab 5ec0: 6c 65 73 0a 23 20 28 5a 4c 49 42 49 4e 43 44 49 les.# (ZLIBINCDI 5ed0: 52 2c 20 5a 4c 49 42 4c 49 42 44 49 52 2c 20 61 R, ZLIBLIBDIR, a 5ee0: 6e 64 20 5a 4c 49 42 4c 49 42 29 20 6d 61 79 20 nd ZLIBLIB) may 5ef0: 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 be overridden vi 5f00: 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e a the environmen 5f10: 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e t.# prior to run 5f20: 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 ning nmake in or 5f30: 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 der to match the 5f40: 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 actual installe 5f50: 64 20 28 6f 72 20 73 6f 75 72 63 65 0a 23 20 63 d (or source.# c 5f60: 6f 64 65 29 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e ode) location on 5f70: 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 this machine..# 5f80: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 44 49 52 .!IFNDEF ZLIBDIR 5f90: 0a 5a 4c 49 42 44 49 52 20 3d 20 24 28 54 4f 50 .ZLIBDIR =$(TOP
5fa0: 29 5c 63 6f 6d 70 61 74 5c 7a 6c 69 62 0a 21 45  )\compat\zlib.!E
5fb0: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c  NDIF..!IFNDEF ZL
5fc0: 49 42 49 4e 43 44 49 52 0a 5a 4c 49 42 49 4e 43  IBINCDIR.ZLIBINC
5fd0: 44 49 52 20 3d 20 24 28 5a 4c 49 42 44 49 52 29  DIR = $(ZLIBDIR) 5fe0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 .!ENDIF..!IFNDEF 5ff0: 20 5a 4c 49 42 4c 49 42 44 49 52 0a 5a 4c 49 42 ZLIBLIBDIR.ZLIB 6000: 4c 49 42 44 49 52 20 3d 20 24 28 5a 4c 49 42 44 LIBDIR =$(ZLIBD
6010: 49 52 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  IR).!ENDIF..!IFN
6020: 44 45 46 20 5a 4c 49 42 4c 49 42 0a 21 49 46 20  DEF ZLIBLIB.!IF
6030: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL) 6040: 21 3d 30 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a 64 !=0.ZLIBLIB = zd 6050: 6c 6c 2e 6c 69 62 0a 21 45 4c 53 45 0a 5a 4c 49 ll.lib.!ELSE.ZLI 6060: 42 4c 49 42 20 3d 20 7a 6c 69 62 2e 6c 69 62 0a BLIB = zlib.lib. 6070: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 !ENDIF.!ENDIF..# 6080: 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f The locations o 6090: 66 20 74 68 65 20 49 43 55 20 68 65 61 64 65 72 f the ICU header 60a0: 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c and library fil 60b0: 65 73 2e 20 20 54 68 65 73 65 20 76 61 72 69 61 es. These varia 60c0: 62 6c 65 73 0a 23 20 28 49 43 55 49 4e 43 44 49 bles.# (ICUINCDI 60d0: 52 2c 20 49 43 55 4c 49 42 44 49 52 2c 20 61 6e R, ICULIBDIR, an 60e0: 64 20 4c 49 42 49 43 55 29 20 6d 61 79 20 62 65 d LIBICU) may be 60f0: 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 overridden via 6100: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a the environment. 6110: 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 # prior to runni 6120: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 ng nmake in orde 6130: 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61 r to match the a 6140: 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 ctual installed 6150: 6c 6f 63 61 74 69 6f 6e 20 6f 6e 0a 23 20 74 68 location on.# th 6160: 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49 is machine..#.!I 6170: 46 4e 44 45 46 20 49 43 55 44 49 52 0a 49 43 55 FNDEF ICUDIR.ICU 6180: 44 49 52 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d DIR =$(TOP)\com
6190: 70 61 74 5c 69 63 75 0a 21 45 4e 44 49 46 0a 0a  pat\icu.!ENDIF..
61a0: 21 49 46 4e 44 45 46 20 49 43 55 49 4e 43 44 49  !IFNDEF ICUINCDI
61b0: 52 0a 49 43 55 49 4e 43 44 49 52 20 3d 20 24 28  R.ICUINCDIR = $( 61c0: 49 43 55 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a ICUDIR)\include. 61d0: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 !ENDIF..!IFNDEF 61e0: 49 43 55 4c 49 42 44 49 52 0a 49 43 55 4c 49 42 ICULIBDIR.ICULIB 61f0: 44 49 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c DIR =$(ICUDIR)\
6200: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
6210: 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 42 49 43  DEF LIBICU.LIBIC
6220: 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 20 69 63  U = icuuc.lib ic
6230: 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  uin.lib.!ENDIF..
6240: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f  # This is the co
6250: 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 66 6f 72  mmand to use for
6260: 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c 6c   tclsh - normall
6270: 79 20 6a 75 73 74 20 22 74 63 6c 73 68 22 2c 20  y just "tclsh",
6280: 62 75 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e 6f  but we may.# kno
6290: 77 20 74 68 65 20 73 70 65 63 69 66 69 63 20 76  w the specific v
62a0: 65 72 73 69 6f 6e 20 77 65 20 77 61 6e 74 20 74  ersion we want t
62b0: 6f 20 75 73 65 2e 20 20 54 68 69 73 20 76 61 72  o use.  This var
62c0: 69 61 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d 44  iable (TCLSH_CMD
62d0: 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 65 72 72  ) may be.# overr
62e0: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e  idden via the en
62f0: 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72 20  vironment prior
6300: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
6310: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 65 6c   in order to sel
6320: 65 63 74 20 61 0a 23 20 73 70 65 63 69 66 69 63  ect a.# specific
6330: 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75 73   Tcl shell to us
6340: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54 43 4c  e..#.!IFNDEF TCL
6350: 53 48 5f 43 4d 44 0a 21 49 46 20 24 28 55 53 45  SH_CMD.!IF $(USE 6360: 5f 54 43 4c 53 48 5f 49 4e 5f 50 41 54 48 29 21 _TCLSH_IN_PATH)! 6370: 3d 30 20 7c 7c 20 21 45 58 49 53 54 28 22 24 28 =0 || !EXIST("$(
6380: 54 43 4c 44 49 52 29 5c 62 69 6e 5c 74 63 6c 73  TCLDIR)\bin\tcls
6390: 68 2e 65 78 65 22 29 0a 54 43 4c 53 48 5f 43 4d  h.exe").TCLSH_CM
63a0: 44 20 3d 20 74 63 6c 73 68 0a 21 45 4c 53 45 0a  D = tclsh.!ELSE.
63b0: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 24 28 54 43  TCLSH_CMD = $(TC 63c0: 4c 44 49 52 29 5c 62 69 6e 5c 74 63 6c 73 68 2e LDIR)\bin\tclsh. 63d0: 65 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 exe.!ENDIF.!ENDI 63e0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 F.# <</mark>>..# 63f0: 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e Compiler option 6400: 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72 6f s needed for pro 6410: 67 72 61 6d 73 20 74 68 61 74 20 75 73 65 20 74 grams that use t 6420: 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20 6c 69 he readline() li 6430: 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 brary..#.!IFNDEF 6440: 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 0a READLINE_FLAGS. 6450: 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20 3d READLINE_FLAGS = 6460: 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49 4e 45 -DHAVE_READLINE 6470: 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 =0.!ENDIF..# The 6480: 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 70 72 library that pr 6490: 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72 65 61 ograms using rea 64a0: 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c 69 6e dline() must lin 64b0: 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49 46 k against..#.!IF 64c0: 4e 44 45 46 20 4c 49 42 52 45 41 44 4c 49 4e 45 NDEF LIBREADLINE 64d0: 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a 21 .LIBREADLINE =.! 64e0: 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 ENDIF..# Should 64f0: 74 68 65 20 64 61 74 61 62 61 73 65 20 65 6e 67 the database eng 6500: 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65 64 20 ine be compiled 6510: 74 68 72 65 61 64 73 61 66 65 0a 23 0a 54 43 43 threadsafe.#.TCC 6520: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 =$(TCC) -DSQLI
6530: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31 0a  TE_THREADSAFE=1.
6540: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS 6550: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 QLITE_THREADSAFE 6560: 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 61 64 73 =1..# Do threads 6570: 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 20 6f override each o 6580: 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 79 20 64 thers locks by d 6590: 65 66 61 75 6c 74 20 28 31 29 2c 20 6f 72 20 64 efault (1), or d 65a0: 6f 20 77 65 20 74 65 73 74 20 28 2d 31 29 0a 23 o we test (-1).# 65b0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 .TCC =$(TCC) -D
65c0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56  SQLITE_THREAD_OV
65d0: 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 52  ERRIDE_LOCK=-1.R
65e0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ 65f0: 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 52 LITE_THREAD_OVER 6600: 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23 20 RIDE_LOCK=-1..# 6610: 41 6e 79 20 74 61 72 67 65 74 20 6c 69 62 72 61 Any target libra 6620: 72 69 65 73 20 77 68 69 63 68 20 6c 69 62 73 71 ries which libsq 6630: 6c 69 74 65 20 6d 75 73 74 20 62 65 20 6c 69 6e lite must be lin 6640: 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 0a 21 49 ked against.#.!I 6650: 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c 49 42 FNDEF TLIBS.TLIB 6660: 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46 6c S =.!ENDIF..# Fl 6670: 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 ags controlling 6680: 75 73 65 20 6f 66 20 74 68 65 20 69 6e 20 6d 65 use of the in me 6690: 6d 6f 72 79 20 62 74 72 65 65 20 69 6d 70 6c 65 mory btree imple 66a0: 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53 51 mentation.#.# SQ 66b0: 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 20 LITE_TEMP_STORE 66c0: 69 73 20 30 20 74 6f 20 66 6f 72 63 65 20 74 65 is 0 to force te 66d0: 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 73 20 74 mporary tables t 66e0: 6f 20 62 65 20 69 6e 20 61 20 66 69 6c 65 2c 20 o be in a file, 66f0: 31 20 74 6f 0a 23 20 64 65 66 61 75 6c 74 20 74 1 to.# default t 6700: 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 64 65 66 o file, 2 to def 6710: 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c 20 ault to memory, 6720: 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 65 20 74 and 3 to force t 6730: 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 62 6c 65 emporary.# table 6740: 73 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 69 s to always be i 6750: 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43 20 n memory..#.TCC 6760: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 =$(TCC) -DSQLIT
6770: 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a 52  E_TEMP_STORE=1.R
6780: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ 6790: 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d LITE_TEMP_STORE= 67a0: 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73 61 1..# Enable/disa 67b0: 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65 78 74 ble loadable ext 67c0: 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74 68 ensions, and oth 67d0: 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74 er optional feat 67e0: 75 72 65 73 0a 23 20 62 61 73 65 64 20 6f 6e 20 ures.# based on 67f0: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 28 configuration. ( 6800: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c 20 -DSQLITE_OMIT*, 6810: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 2a -DSQLITE_ENABLE* 6820: 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 20 73 65 )..# The same se 6830: 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45 4e t of OMIT and EN 6840: 41 42 4c 45 20 66 6c 61 67 73 20 73 68 6f 75 6c ABLE flags shoul 6850: 64 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 74 d be passed to t 6860: 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73 65 he.# LEMON parse 6870: 72 20 67 65 6e 65 72 61 74 6f 72 20 61 6e 64 20 r generator and 6880: 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 the mkkeywordhas 6890: 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e 0a h tool as well.. 68a0: 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 .# These are the 68b0: 20 72 65 71 75 69 72 65 64 20 53 51 4c 69 74 65 required SQLite 68c0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 compilation opt 68d0: 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 ions used when c 68e0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 ompiling for.# t 68f0: 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 he Windows platf 6900: 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54 55 orm..#.REQ_FEATU 6910: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 RE_FLAGS =$(REQ
6920: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
6930: 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52 49  -DSQLITE_MAX_TRI
6940: 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30 0a 0a  GGER_DEPTH=100..
6950: 23 20 49 66 20 77 65 20 61 72 65 20 6c 69 6e 6b  # If we are link
6960: 69 6e 67 20 74 6f 20 74 68 65 20 52 50 43 52 54  ing to the RPCRT
6970: 34 20 6c 69 62 72 61 72 79 2c 20 65 6e 61 62 6c  4 library, enabl
6980: 65 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20  e features that
6990: 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49 46 20 24  need it..#.!IF $69a0: 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 (USE_RPCRT4_LIB) 69b0: 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 52 45 5f !=0.REQ_FEATURE_ 69c0: 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46 45 FLAGS =$(REQ_FE
69d0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
69e0: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53 45 5f  QLITE_WIN32_USE_
69f0: 55 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a 23  UUID=1.!ENDIF..#
6a00: 20 41 64 64 20 74 68 65 20 72 65 71 75 69 72 65   Add the require
6a10: 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20 53  d and optional S
6a20: 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f  QLite compilatio
6a30: 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20 74  n options into t
6a40: 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e  he command.# lin
6a50: 65 73 20 75 73 65 64 20 74 6f 20 69 6e 76 6f 6b  es used to invok
6a60: 65 20 74 68 65 20 4d 53 56 43 20 63 6f 64 65 20  e the MSVC code
6a70: 61 6e 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d  and resource com
6a80: 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d 20  pilers..#.TCC =
6a90: 24 28 54 43 43 29 20 24 28 52 45 51 5f 46 45 41  $(TCC)$(REQ_FEA
6aa0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP 6ab0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) 6ac0: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46$(EXT_FEATURE_F
6ad0: 4c 41 47 53 29 0a 52 43 43 20 3d 20 24 28 52 43  LAGS).RCC = $(RC 6ae0: 43 29 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 C)$(REQ_FEATURE
6af0: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE 6b00: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 ATURE_FLAGS)$(E
6b10: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
6b20: 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e 79 20  )..# Add in any
6b30: 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74  optional paramet
6b40: 65 72 73 20 73 70 65 63 69 66 69 65 64 20 6f 6e  ers specified on
6b50: 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69 6e   the commane lin
6b60: 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65 20  e, e.g..# nmake
6b70: 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20  /f Makefile.msc
6b80: 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c 49  all "OPTS=-DSQLI
6b90: 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31 20  TE_ENABLE_FOO=1
6ba0: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f  -DSQLITE_OMIT_FO
6bb0: 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24 28 54  O=1".#.TCC = $(T 6bc0: 43 43 29 20 24 28 4f 50 54 53 29 0a 52 43 43 20 CC)$(OPTS).RCC
6bd0: 3d 20 24 28 52 43 43 29 20 24 28 4f 50 54 53 29  = $(RCC)$(OPTS)
6be0: 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e 67  ..# If compiling
6bf0: 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2c 20   for debugging,
6c00: 61 64 64 20 73 6f 6d 65 20 64 65 66 69 6e 65 73  add some defines
6c10: 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29  ..#.!IF $(DEBUG) 6c20: 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 >1.TCC =$(TCC)
6c30: 2d 44 5f 44 45 42 55 47 0a 42 43 43 20 3d 20 24  -D_DEBUG.BCC = $6c40: 28 42 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 52 (BCC) -D_DEBUG.R 6c50: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 44 CC =$(RCC) -D_D
6c60: 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20 49  EBUG.!ENDIF..# I
6c70: 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20  f optimizations
6c80: 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 20 64  are enabled or d
6c90: 69 73 61 62 6c 65 64 20 28 65 69 74 68 65 72 20  isabled (either
6ca0: 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23 20  implicitly or.#
6cb0: 65 78 70 6c 69 63 69 74 6c 79 29 2c 20 61 64 64  explicitly), add
6cc0: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 66   the necessary f
6cd0: 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24 28 44 45  lags..#.!IF $(DE 6ce0: 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54 49 BUG)>1 ||$(OPTI
6cf0: 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54 43  MIZATIONS)==0.TC
6d00: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a 42  C = $(TCC) -Od.B 6d10: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 64 0a CC =$(BCC) -Od.
6d20: 21 49 46 20 24 28 55 53 45 5f 52 55 4e 54 49 4d  !IF $(USE_RUNTIM 6d30: 45 5f 43 48 45 43 4b 53 29 21 3d 30 0a 54 43 43 E_CHECKS)!=0.TCC 6d40: 20 3d 20 24 28 54 43 43 29 20 2d 52 54 43 31 0a =$(TCC) -RTC1.
6d50: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 52 54  BCC = $(BCC) -RT 6d60: 43 31 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 49 C1.!ENDIF.!ELSEI 6d70: 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e F$(OPTIMIZATION
6d80: 53 29 3e 3d 33 0a 54 43 43 20 3d 20 24 28 54 43  S)>=3.TCC = $(TC 6d90: 43 29 20 2d 4f 78 0a 42 43 43 20 3d 20 24 28 42 C) -Ox.BCC =$(B
6da0: 43 43 29 20 2d 4f 78 0a 21 45 4c 53 45 49 46 20  CC) -Ox.!ELSEIF
6db0: 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29  $(OPTIMIZATIONS) 6dc0: 3d 3d 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 ==2.TCC =$(TCC)
6dd0: 20 2d 4f 32 0a 42 43 43 20 3d 20 24 28 42 43 43   -O2.BCC = $(BCC 6de0: 29 20 2d 4f 32 0a 21 45 4c 53 45 49 46 20 24 28 ) -O2.!ELSEIF$(
6df0: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d  OPTIMIZATIONS)==
6e00: 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  1.TCC = $(TCC) - 6e10: 4f 31 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 O1.BCC =$(BCC)
6e20: 2d 4f 31 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66  -O1.!ENDIF..# If
6e30: 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61   symbols are ena
6e40: 62 6c 65 64 20 28 6f 72 20 63 6f 6d 70 69 6c 69  bled (or compili
6e50: 6e 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67  ng for debugging
6e60: 29 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a  ), enable PDBs..
6e70: 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  #.!IF $(DEBUG)>1 6e80: 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d ||$(SYMBOLS)!=
6e90: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) - 6ea0: 5a 69 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 Zi.BCC =$(BCC)
6eb0: 2d 5a 69 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c  -Zi.!ENDIF..# <<
6ec0: 6d 61 72 6b 3e 3e 0a 23 20 49 66 20 7a 6c 69 62  mark>>.# If zlib
6ed0: 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62   support is enab
6ee0: 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d  led, add the com
6ef0: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
6f00: 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53  r it..#.!IF $(US 6f10: 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 43 43 20 3d E_ZLIB)!=0.TCC = 6f20: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45$(TCC) -DSQLITE
6f30: 5f 48 41 56 45 5f 5a 4c 49 42 3d 31 0a 52 43 43  _HAVE_ZLIB=1.RCC
6f40: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI 6f50: 54 45 5f 48 41 56 45 5f 5a 4c 49 42 3d 31 0a 54 TE_HAVE_ZLIB=1.T 6f60: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 CC =$(TCC) -I$( 6f70: 5a 4c 49 42 49 4e 43 44 49 52 29 0a 52 43 43 20 ZLIBINCDIR).RCC 6f80: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 5a 4c 49 =$(RCC) -I$(ZLI 6f90: 42 49 4e 43 44 49 52 29 0a 21 45 4e 44 49 46 0a BINCDIR).!ENDIF. 6fa0: 0a 23 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 .# If ICU suppor 6fb0: 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 t is enabled, ad 6fc0: 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f d the compiler o 6fd0: 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 ptions for it..# 6fe0: 0a 21 49 46 20 24 28 55 53 45 5f 49 43 55 29 21 .!IF$(USE_ICU)!
6ff0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 7000: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 7010: 49 43 55 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 ICU=1.RCC =$(RC
7020: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
7030: 4c 45 5f 49 43 55 3d 31 0a 54 43 43 20 3d 20 24  LE_ICU=1.TCC = $7040: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 (TCC) -I$(TOP)\e
7050: 78 74 5c 69 63 75 0a 52 43 43 20 3d 20 24 28 52  xt\icu.RCC = $(R 7060: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 CC) -I$(TOP)\ext
7070: 5c 69 63 75 0a 54 43 43 20 3d 20 24 28 54 43 43  \icu.TCC = $(TCC 7080: 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52 29 ) -I$(ICUINCDIR)
7090: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49  .RCC = $(RCC) -I 70a0: 24 28 49 43 55 49 4e 43 44 49 52 29 0a 21 45 4e$(ICUINCDIR).!EN
70b0: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
70c0: 0a 23 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20  .# Command line
70d0: 70 72 65 66 69 78 65 73 20 66 6f 72 20 63 6f 6d  prefixes for com
70e0: 70 69 6c 69 6e 67 20 63 6f 64 65 2c 20 63 6f 6d  piling code, com
70f0: 70 69 6c 69 6e 67 20 72 65 73 6f 75 72 63 65 73  piling resources
7100: 2c 0a 23 20 6c 69 6e 6b 69 6e 67 2c 20 65 74 63  ,.# linking, etc
7110: 2e 0a 23 0a 4c 54 43 4f 4d 50 49 4c 45 20 3d 20  ..#.LTCOMPILE =
7120: 24 28 54 43 43 29 20 2d 46 6f 24 40 20 2d 46 64  $(TCC) -Fo$@ -Fd
7130: 24 2a 2e 70 64 62 0a 4c 54 52 43 4f 4d 50 49 4c  $*.pdb.LTRCOMPIL 7140: 45 20 3d 20 24 28 52 43 43 29 20 2d 72 0a 4c 54 E =$(RCC) -r.LT
7150: 4c 49 42 20 3d 20 6c 69 62 2e 65 78 65 0a 4c 54  LIB = lib.exe.LT
7160: 4c 49 4e 4b 20 3d 20 24 28 54 43 43 29 20 2d 46  LINK = $(TCC) -F 7170: 65 24 40 0a 0a 23 20 49 66 20 72 65 71 75 65 73 e$@..# If reques
7180: 74 65 64 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65  ted, link to the
7190: 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 79 2e   RPCRT4 library.
71a0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43  .#.!IF $(USE_RPC 71b0: 52 54 34 5f 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 RT4_LIB)!=0.LTLI 71c0: 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 72 BS =$(LTLIBS) r
71d0: 70 63 72 74 34 2e 6c 69 62 0a 21 45 4e 44 49 46  pcrt4.lib.!ENDIF
71e0: 0a 0a 23 20 49 66 20 61 20 70 6c 61 74 66 6f 72  ..# If a platfor
71f0: 6d 20 77 61 73 20 73 65 74 2c 20 66 6f 72 63 65  m was set, force
7200: 20 74 68 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74   the linker to t
7210: 61 72 67 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f  arget that..# No
7220: 74 65 20 74 68 61 74 20 74 68 65 20 76 63 76 61  te that the vcva
7230: 72 73 2a 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f  rs*.bat family o
7240: 66 20 62 61 74 63 68 20 66 69 6c 65 73 20 74 79  f batch files ty
7250: 70 69 63 61 6c 6c 79 0a 23 20 73 65 74 20 74 68  pically.# set th
7260: 69 73 20 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68  is for you.  Oth
7270: 65 72 77 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b  erwise, the link
7280: 65 72 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a  er will attempt.
7290: 23 20 74 6f 20 64 65 64 75 63 65 20 74 68 65 20  # to deduce the
72a0: 62 69 6e 61 72 79 20 74 79 70 65 20 62 61 73 65  binary type base
72b0: 64 20 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 20  d on the object
72c0: 66 69 6c 65 73 2e 0a 21 49 46 44 45 46 20 50 4c  files..!IFDEF PL
72d0: 41 54 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54  ATFORM.LTLINKOPT
72e0: 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43  S = /NOLOGO /MAC
72f0: 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29  HINE:$(PLATFORM) 7300: 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f .LTLIBOPTS = /NO 7310: 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 LOGO /MACHINE:$(
7320: 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4c 53 45 49  PLATFORM).!ELSEI
7330: 46 20 22 24 28 56 49 53 55 41 4c 53 54 55 44 49  F "$(VISUALSTUDI 7340: 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32 2e OVERSION)"=="12. 7350: 30 22 20 7c 7c 20 5c 0a 20 20 20 20 20 20 20 20 0" || \. 7360: 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56 "$(VISUALSTUDIOV
7370: 45 52 53 49 4f 4e 29 22 3d 3d 22 31 34 2e 30 22  ERSION)"=="14.0"
7380: 20 7c 7c 20 5c 0a 20 20 20 20 20 20 20 20 22 24   || \.        "$7390: 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52 (VISUALSTUDIOVER 73a0: 53 49 4f 4e 29 22 3d 3d 22 31 35 2e 30 22 0a 4c SION)"=="15.0".L 73b0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c TLINKOPTS = /NOL 73c0: 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 78 38 36 OGO /MACHINE:x86 73d0: 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f .LTLIBOPTS = /NO 73e0: 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 78 38 LOGO /MACHINE:x8 73f0: 36 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50 6.!ELSE.LTLINKOP 7400: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c 54 4c TS = /NOLOGO.LTL 7410: 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f IBOPTS = /NOLOGO 7420: 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 .!ENDIF..# When 7430: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 75 73 compiling for us 7440: 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 20 65 e in the WinRT e 7450: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 74 68 65 20 nvironment, the 7460: 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20 6c 69 6e 6b following.# link 7470: 65 72 20 6f 70 74 69 6f 6e 20 6d 75 73 74 20 62 er option must b 7480: 65 20 75 73 65 64 20 74 6f 20 6d 61 72 6b 20 74 e used to mark t 7490: 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 61 73 he executable as 74a0: 20 72 75 6e 6e 61 62 6c 65 0a 23 20 6f 6e 6c 79 runnable.# only 74b0: 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 20 in the context 74c0: 6f 66 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f of an applicatio 74d0: 6e 20 63 6f 6e 74 61 69 6e 65 72 2e 0a 23 0a 21 n container..#.! 74e0: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 IF$(FOR_WINRT)!
74f0: 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  =0.LTLINKOPTS =
7500: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 41  $(LTLINKOPTS) /A 7510: 50 50 43 4f 4e 54 41 49 4e 45 52 0a 21 49 46 20 PPCONTAINER.!IF 7520: 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56 "$(VISUALSTUDIOV
7530: 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32 2e 30 22  ERSION)"=="12.0"
7540: 20 7c 7c 20 22 24 28 56 49 53 55 41 4c 53 54 55   || "$(VISUALSTU 7550: 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 DIOVERSION)"=="1 7560: 34 2e 30 22 0a 21 49 46 4e 44 45 46 20 53 54 4f 4.0".!IFNDEF STO 7570: 52 45 4c 49 42 50 41 54 48 0a 21 49 46 20 22 24 RELIBPATH.!IF "$
7580: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38  (PLATFORM)"=="x8
7590: 36 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20  6".STORELIBPATH
75a0: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c  = $(CRTLIBPATH)\ 75b0: 73 74 6f 72 65 0a 21 45 4c 53 45 49 46 20 22 24 store.!ELSEIF "$
75c0: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 36  (PLATFORM)"=="x6
75d0: 34 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20  4".STORELIBPATH
75e0: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c  = $(CRTLIBPATH)\ 75f0: 73 74 6f 72 65 5c 61 6d 64 36 34 0a 21 45 4c 53 store\amd64.!ELS 7600: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 EIF "$(PLATFORM)
7610: 22 3d 3d 22 41 52 4d 22 0a 53 54 4f 52 45 4c 49  "=="ARM".STORELI
7620: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB 7630: 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 72 6d 0a PATH)\store\arm. 7640: 21 45 4c 53 45 0a 53 54 4f 52 45 4c 49 42 50 41 !ELSE.STORELIBPA 7650: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 TH =$(CRTLIBPAT
7660: 48 29 5c 73 74 6f 72 65 0a 21 45 4e 44 49 46 0a  H)\store.!ENDIF.
7670: 21 45 4e 44 49 46 0a 53 54 4f 52 45 4c 49 42 50  !ENDIF.STORELIBP
7680: 41 54 48 20 3d 20 24 28 53 54 4f 52 45 4c 49 42  ATH = $(STORELIB 7690: 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c 54 4c 49 4e PATH:\\=\).LTLIN 76a0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b KOPTS =$(LTLINK
76b0: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a  OPTS) "/LIBPATH:
76c0: 24 28 53 54 4f 52 45 4c 49 42 50 41 54 48 29 22  $(STORELIBPATH)" 76d0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a .!ENDIF.!ENDIF.. 76e0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 # When compiling 76f0: 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 68 6f for Windows Pho 7700: 6e 65 20 38 2e 31 2c 20 61 6e 20 65 78 74 72 61 ne 8.1, an extra 7710: 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 69 73 library path is 7720: 0a 23 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 .# required..#.! 7730: 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 IF$(USE_WP81_OP
7740: 54 53 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 57  TS)!=0.!IFNDEF W
7750: 50 38 31 4c 49 42 50 41 54 48 0a 21 49 46 20 22  P81LIBPATH.!IF "
7760: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78  $(PLATFORM)"=="x 7770: 38 36 22 0a 57 50 38 31 4c 49 42 50 41 54 48 20 86".WP81LIBPATH 7780: 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 =$(PROGRAMFILES
7790: 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68  _X86)\Windows Ph
77a0: 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62  one Kits\8.1\lib
77b0: 5c 78 38 36 0a 21 45 4c 53 45 49 46 20 22 24 28  \x86.!ELSEIF "$( 77c0: 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d PLATFORM)"=="ARM 77d0: 22 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 ".WP81LIBPATH = 77e0: 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58$(PROGRAMFILES_X
77f0: 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e  86)\Windows Phon
7800: 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 41  e Kits\8.1\lib\A
7810: 52 4d 0a 21 45 4c 53 45 0a 57 50 38 31 4c 49 42  RM.!ELSE.WP81LIB
7820: 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d  PATH = $(PROGRAM 7830: 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f FILES_X86)\Windo 7840: 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e ws Phone Kits\8. 7850: 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4e 44 49 46 1\lib\x86.!ENDIF 7860: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a .!ENDIF.!ENDIF.. 7870: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 # When compiling 7880: 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 68 6f for Windows Pho 7890: 6e 65 20 38 2e 31 2c 20 73 6f 6d 65 20 65 78 74 ne 8.1, some ext 78a0: 72 61 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e ra linker option 78b0: 73 0a 23 20 61 72 65 20 61 6c 73 6f 20 72 65 71 s.# are also req 78c0: 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 uired..#.!IF$(U
78d0: 53 45 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d 30  SE_WP81_OPTS)!=0
78e0: 0a 21 49 46 44 45 46 20 57 50 38 31 4c 49 42 50  .!IFDEF WP81LIBP
78f0: 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  ATH.LTLINKOPTS =
7900: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22   $(LTLINKOPTS) " 7910: 2f 4c 49 42 50 41 54 48 3a 24 28 57 50 38 31 4c /LIBPATH:$(WP81L
7920: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a  IBPATH)".!ENDIF.
7930: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L 7940: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41 TLINKOPTS) /DYNA 7950: 4d 49 43 42 41 53 45 0a 4c 54 4c 49 4e 4b 4f 50 MICBASE.LTLINKOP 7960: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 TS =$(LTLINKOPT
7970: 53 29 20 57 69 6e 64 6f 77 73 50 68 6f 6e 65 43  S) WindowsPhoneC
7980: 6f 72 65 2e 6c 69 62 20 52 75 6e 74 69 6d 65 4f  ore.lib RuntimeO
7990: 62 6a 65 63 74 2e 6c 69 62 20 50 68 6f 6e 65 41  bject.lib PhoneA
79a0: 70 70 4d 6f 64 65 6c 48 6f 73 74 2e 6c 69 62 0a  ppModelHost.lib.
79b0: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L 79c0: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 TLINKOPTS) /NODE 79d0: 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33 FAULTLIB:kernel3 79e0: 32 2e 6c 69 62 20 2f 4e 4f 44 45 46 41 55 4c 54 2.lib /NODEFAULT 79f0: 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69 62 0a 21 45 LIB:ole32.lib.!E 7a00: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d NDIF..# When com 7a10: 70 69 6c 69 6e 67 20 66 6f 72 20 55 57 50 20 6f piling for UWP o 7a20: 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 r the Windows 10 7a30: 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f 6d 65 20 platform, some 7a40: 65 78 74 72 61 20 6c 69 6e 6b 65 72 0a 23 20 6f extra linker.# o 7a50: 70 74 69 6f 6e 73 20 61 72 65 20 61 6c 73 6f 20 ptions are also 7a60: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 required..#.!IF 7a70: 24 28 46 4f 52 5f 55 57 50 29 21 3d 30 20 7c 7c$(FOR_UWP)!=0 ||
7a80: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0 7a90: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 .LTLINKOPTS =$(
7aa0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e  LTLINKOPTS) /DYN
7ab0: 41 4d 49 43 42 41 53 45 20 2f 4e 4f 44 45 46 41  AMICBASE /NODEFA
7ac0: 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e  ULTLIB:kernel32.
7ad0: 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  lib.LTLINKOPTS =
7ae0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 6d   $(LTLINKOPTS) m 7af0: 69 6e 63 6f 72 65 2e 6c 69 62 0a 21 49 46 44 45 incore.lib.!IFDE 7b00: 46 20 50 53 44 4b 4c 49 42 50 41 54 48 0a 4c 54 F PSDKLIBPATH.LT 7b10: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c LINKOPTS =$(LTL
7b20: 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41  INKOPTS) "/LIBPA
7b30: 54 48 3a 24 28 50 53 44 4b 4c 49 42 50 41 54 48  TH:$(PSDKLIBPATH 7b40: 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 )".!ENDIF.!ENDIF 7b50: 0a 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 ..!IF$(FOR_WIN1
7b60: 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53  0)!=0.LTLINKOPTS
7b70: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS) 7b80: 20 2f 67 75 61 72 64 3a 63 66 20 22 2f 4c 49 42 /guard:cf "/LIB 7b90: 50 41 54 48 3a 24 28 55 43 52 54 4c 49 42 50 41 PATH:$(UCRTLIBPA
7ba0: 54 48 29 22 0a 21 49 46 20 24 28 44 45 42 55 47  TH)".!IF $(DEBUG 7bb0: 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d )>1.LTLINKOPTS = 7bc0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f$(LTLINKOPTS) /
7bd0: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62  NODEFAULTLIB:lib
7be0: 75 63 72 74 64 2e 6c 69 62 20 2f 44 45 46 41 55  ucrtd.lib /DEFAU
7bf0: 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c 69 62 0a  LTLIB:ucrtd.lib.
7c00: 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53  !ELSE.LTLINKOPTS
7c10: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS) 7c20: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c /NODEFAULTLIB:l 7c30: 69 62 75 63 72 74 2e 6c 69 62 20 2f 44 45 46 41 ibucrt.lib /DEFA 7c40: 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c 69 62 0a ULTLIB:ucrt.lib. 7c50: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 !ENDIF.!ENDIF..# 7c60: 20 49 66 20 65 69 74 68 65 72 20 64 65 62 75 67 If either debug 7c70: 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f 6c 73 20 ging or symbols 7c80: 61 72 65 20 65 6e 61 62 6c 65 64 2c 20 65 6e 61 are enabled, ena 7c90: 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 ble PDBs..#.!IF 7ca0: 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28$(DEBUG)>1 || $( 7cb0: 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c 44 46 4c SYMBOLS)!=0.LDFL 7cc0: 41 47 53 20 3d 20 2f 44 45 42 55 47 20 24 28 4c AGS = /DEBUG$(L
7cd0: 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a 4c 44 46  DOPTS).!ELSE.LDF
7ce0: 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50 54 53 29  LAGS = $(LDOPTS) 7cf0: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 .!ENDIF..# <<mar 7d00: 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77 69 74 68 k>>.# Start with 7d10: 20 74 68 65 20 54 63 6c 20 72 65 6c 61 74 65 64 the Tcl related 7d20: 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 2e linker options. 7d30: 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 .#.!IF$(NO_TCL)
7d40: 3d 3d 30 0a 54 43 4c 4c 49 42 50 41 54 48 53 20  ==0.TCLLIBPATHS
7d50: 3d 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29  = $(TCLLIBPATHS) 7d60: 20 2f 4c 49 42 50 41 54 48 3a 24 28 54 43 4c 4c /LIBPATH:$(TCLL
7d70: 49 42 44 49 52 29 0a 54 43 4c 4c 49 42 53 20 3d  IBDIR).TCLLIBS =
7d80: 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 49   $(TCLLIBS)$(LI
7d90: 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a 0a 23 20  BTCL).!ENDIF..#
7da0: 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 20  If zlib support
7db0: 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20  is enabled, add
7dc0: 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  the linker optio
7dd0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  ns for it..#.!IF
7de0: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a   $(USE_ZLIB)!=0. 7df0: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c LTLIBPATHS =$(L
7e00: 54 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50  TLIBPATHS) /LIBP
7e10: 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49 52  ATH:$(ZLIBLIBDIR 7e20: 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c ).LTLIBS =$(LTL
7e30: 49 42 53 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a  IBS) $(ZLIBLIB). 7e40: 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55 !ENDIF..# If ICU 7e50: 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 support is enab 7e60: 6c 65 64 2c 20 61 64 64 20 74 68 65 20 6c 69 6e led, add the lin 7e70: 6b 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 ker options for 7e80: 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f it..#.!IF$(USE_
7e90: 49 43 55 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54  ICU)!=0.LTLIBPAT
7ea0: 48 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48  HS = $(LTLIBPATH 7eb0: 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 49 43 S) /LIBPATH:$(IC
7ec0: 55 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20  ULIBDIR).LTLIBS
7ed0: 3d 20 24 28 4c 54 4c 49 42 53 29 20 24 28 4c 49  = $(LTLIBS)$(LI
7ee0: 42 49 43 55 29 0a 21 45 4e 44 49 46 0a 23 20 3c  BICU).!ENDIF.# <
7ef0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 59 6f 75 20  </mark>>..# You
7f00: 73 68 6f 75 6c 64 20 6e 6f 74 20 68 61 76 65 20  should not have
7f10: 74 6f 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69  to change anythi
7f20: 6e 67 20 62 65 6c 6f 77 20 74 68 69 73 20 6c 69  ng below this li
7f30: 6e 65 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ne.#############
7f40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f80: 23 23 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  ##..# <<mark>>.#
7f90: 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f   Object files fo
7fa0: 72 20 74 68 65 20 53 51 4c 69 74 65 20 6c 69 62  r the SQLite lib
7fb0: 72 61 72 79 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61  rary (non-amalga
7fc0: 6d 61 74 69 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42  mation)..#.LIBOB
7fd0: 4a 53 30 20 3d 20 76 64 62 65 2e 6c 6f 20 70 61  JS0 = vdbe.lo pa
7fe0: 72 73 65 2e 6c 6f 20 61 6c 74 65 72 2e 6c 6f 20  rse.lo alter.lo
7ff0: 61 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74 74 61 63  analyze.lo attac
8000: 68 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20 5c 0a 20  h.lo auth.lo \.
8010: 20 20 20 20 20 20 20 20 62 61 63 6b 75 70 2e 6c          backup.l
8020: 6f 20 62 69 74 76 65 63 2e 6c 6f 20 62 74 6d 75  o bitvec.lo btmu
8030: 74 65 78 2e 6c 6f 20 62 74 72 65 65 2e 6c 6f 20  tex.lo btree.lo
8040: 62 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20 20 20 20  build.lo \.
8050: 20 20 20 20 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20      callback.lo
8060: 63 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63 74 69 6d  complete.lo ctim
8070: 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  e.lo \.
8080: 64 61 74 65 2e 6c 6f 20 64 62 70 61 67 65 2e 6c  date.lo dbpage.l
8090: 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64 65 6c 65  o dbstat.lo dele
80a0: 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  te.lo \.
80b0: 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 2e 6c   expr.lo fault.l
80c0: 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 20 20  o fkey.lo \.
80d0: 20 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 74 73       fts3.lo fts
80e0: 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f 65 78  3_aux.lo fts3_ex
80f0: 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 68 2e  pr.lo fts3_hash.
8100: 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f 20 5c  lo fts3_icu.lo \
8110: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 70  .         fts3_p
8120: 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f 73 6e  orter.lo fts3_sn
8130: 69 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f 74 6f  ippet.lo fts3_to
8140: 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 33 5f  kenizer.lo fts3_
8150: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 5c 0a  tokenizer1.lo \.
8160: 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 74 6f           fts3_to
8170: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 20 66  kenize_vtab.lo f
8180: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 20 66  ts3_unicode.lo f
8190: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 20  ts3_unicode2.lo
81a0: 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20 5c 0a  fts3_write.lo \.
81b0: 20 20 20 20 20 20 20 20 20 66 74 73 35 2e 6c 6f           fts5.lo
81c0: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63   \.         func
81d0: 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20 68 61  .lo global.lo ha
81e0: 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  sh.lo \.
81f0: 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74 2e 6c   icu.lo insert.l
8200: 6f 20 6a 73 6f 6e 31 2e 6c 6f 20 6c 65 67 61 63  o json1.lo legac
8210: 79 2e 6c 6f 20 6c 6f 61 64 65 78 74 2e 6c 6f 20  y.lo loadext.lo
8220: 5c 0a 20 20 20 20 20 20 20 20 20 6d 61 69 6e 2e  \.         main.
8230: 6c 6f 20 6d 61 6c 6c 6f 63 2e 6c 6f 20 6d 65 6d  lo malloc.lo mem
8240: 30 2e 6c 6f 20 6d 65 6d 31 2e 6c 6f 20 6d 65 6d  0.lo mem1.lo mem
8250: 32 2e 6c 6f 20 6d 65 6d 33 2e 6c 6f 20 6d 65 6d  2.lo mem3.lo mem
8260: 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  5.lo \.
8270: 6d 65 6d 64 62 2e 6c 6f 20 6d 65 6d 6a 6f 75 72  memdb.lo memjour
8280: 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  nal.lo \.
8290: 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78    mutex.lo mutex
82a0: 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75  _noop.lo mutex_u
82b0: 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32  nix.lo mutex_w32
82c0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6e  .lo \.         n
82d0: 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73  otify.lo opcodes
82e0: 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69  .lo os.lo os_uni
82f0: 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c  x.lo os_win.lo \
8300: 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 72 2e  .         pager.
8310: 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20 70 63 61  lo pcache.lo pca
8320: 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c  che1.lo pragma.l
8330: 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20 70 72 69  o prepare.lo pri
8340: 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ntf.lo \.
8350: 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f    random.lo reso
8360: 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f  lve.lo rowset.lo
8370: 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20 20 20 20   rtree.lo \.
8380: 20 20 20 20 20 73 71 6c 69 74 65 33 73 65 73 73       sqlite3sess
8390: 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c 6f  ion.lo select.lo
83a0: 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20 73   sqlite3rbu.lo s
83b0: 74 61 74 75 73 2e 6c 6f 20 73 74 6d 74 2e 6c 6f  tatus.lo stmt.lo
83c0: 20 5c 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c   \.         tabl
83d0: 65 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20  e.lo threads.lo
83e0: 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65  tokenize.lo tree
83f0: 76 69 65 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e  view.lo trigger.
8400: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 70  lo \.         up
8410: 64 61 74 65 2e 6c 6f 20 75 70 73 65 72 74 2e 6c  date.lo upsert.l
8420: 6f 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d  o util.lo vacuum
8430: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76  .lo \.         v
8440: 64 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75  dbeapi.lo vdbeau
8450: 78 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f  x.lo vdbeblob.lo
8460: 20 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65   vdbemem.lo vdbe
8470: 73 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  sort.lo \.
8480: 20 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20     vdbetrace.lo
8490: 77 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f  wal.lo walker.lo
84a0: 20 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63   where.lo wherec
84b0: 6f 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72  ode.lo whereexpr
84c0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 77  .lo \.         w
84d0: 69 6e 64 6f 77 2e 6c 6f 20 75 74 66 2e 6c 6f 20  indow.lo utf.lo
84e0: 76 74 61 62 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61 72  vtab.lo.# <</mar
84f0: 6b 3e 3e 0a 0a 23 20 4f 62 6a 65 63 74 20 66 69  k>>..# Object fi
8500: 6c 65 73 20 66 6f 72 20 74 68 65 20 61 6d 61 6c  les for the amal
8510: 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 4c 49 42 4f  gamation..#.LIBO
8520: 42 4a 53 31 20 3d 20 73 71 6c 69 74 65 33 2e 6c  BJS1 = sqlite3.l
8530: 6f 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 74  o..# Determine t
8540: 68 65 20 72 65 61 6c 20 76 61 6c 75 65 20 6f 66  he real value of
8550: 20 4c 49 42 4f 42 4a 20 62 61 73 65 64 20 6f 6e   LIBOBJ based on
8560: 20 74 68 65 20 27 63 6f 6e 66 69 67 75 72 65 27   the 'configure'
8570: 20 73 63 72 69 70 74 0a 23 0a 23 20 3c 3c 6d 61   script.#.# <<ma
8580: 72 6b 3e 3e 0a 21 49 46 20 24 28 55 53 45 5f 41  rk>>.!IF $(USE_A 8590: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a MALGAMATION)==0. 85a0: 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 LIBOBJ =$(LIBOB
85b0: 4a 53 30 29 0a 21 45 4c 53 45 0a 23 20 3c 3c 2f  JS0).!ELSE.# <</
85c0: 6d 61 72 6b 3e 3e 0a 4c 49 42 4f 42 4a 20 3d 20  mark>>.LIBOBJ =
85d0: 24 28 4c 49 42 4f 42 4a 53 31 29 0a 23 20 3c 3c  $(LIBOBJS1).# << 85e0: 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 23 20 mark>>.!ENDIF.# 85f0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 74 <</mark>>..# Det 8600: 65 72 6d 69 6e 65 20 69 66 20 65 6d 62 65 64 64 ermine if embedd 8610: 65 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d 70 ed resource comp 8620: 69 6c 61 74 69 6f 6e 20 61 6e 64 20 75 73 61 67 ilation and usag 8630: 65 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 e are enabled..# 8640: 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29 21 3d .!IF$(USE_RC)!=
8650: 30 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 20 73  0.LIBRESOBJS = s
8660: 71 6c 69 74 65 33 72 65 73 2e 6c 6f 0a 21 45 4c  qlite3res.lo.!EL
8670: 53 45 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 0a  SE.LIBRESOBJS =.
8680: 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b  !ENDIF..# <<mark
8690: 3e 3e 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65  >>.# Core source
86a0: 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72   code files, par
86b0: 74 20 31 2e 0a 23 0a 53 52 43 30 30 20 3d 20 5c  t 1..#.SRC00 = \
86c0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c  .  $(TOP)\src\al 86d0: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ter.c \.$(TOP)
86e0: 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 5c  \src\analyze.c \
86f0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74  .  $(TOP)\src\at 8700: 74 61 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 tach.c \.$(TOP
8710: 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 5c 0a 20  )\src\auth.c \.
8720: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b   $(TOP)\src\back 8730: 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c up.c \.$(TOP)\
8740: 73 72 63 5c 62 69 74 76 65 63 2e 63 20 5c 0a 20  src\bitvec.c \.
8750: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75   $(TOP)\src\btmu 8760: 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 tex.c \.$(TOP)
8770: 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 5c 0a 20  \src\btree.c \.
8780: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c   $(TOP)\src\buil 8790: 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 d.c \.$(TOP)\s
87a0: 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 5c 0a  rc\callback.c \.
87b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d    $(TOP)\src\com 87c0: 70 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f plete.c \.$(TO
87d0: 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 5c  P)\src\ctime.c \
87e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61  .  $(TOP)\src\da 87f0: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c te.c \.$(TOP)\
8800: 73 72 63 5c 64 62 70 61 67 65 2e 63 20 5c 0a 20  src\dbpage.c \.
8810: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74   $(TOP)\src\dbst 8820: 61 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c at.c \.$(TOP)\
8830: 73 72 63 5c 64 65 6c 65 74 65 2e 63 20 5c 0a 20  src\delete.c \.
8840: 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72   $(TOP)\src\expr 8850: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8860: 63 5c 66 61 75 6c 74 2e 63 20 5c 0a 20 20 24 28  c\fault.c \.  $( 8870: 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 TOP)\src\fkey.c 8880: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 \.$(TOP)\src\f
8890: 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  unc.c \.  $(TOP) 88a0: 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a \src\global.c \. 88b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73$(TOP)\src\has
88c0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  h.c \.  $(TOP)\s 88d0: 72 63 5c 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20 rc\insert.c \. 88e0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63$(TOP)\src\legac
88f0: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s 8900: 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 5c 0a 20 rc\loadext.c \. 8910: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e$(TOP)\src\main
8920: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8930: 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 c\malloc.c \.$
8940: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63  (TOP)\src\mem0.c
8950: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8960: 6d 65 6d 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 mem1.c \.$(TOP
8970: 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20  )\src\mem2.c \.
8980: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33   $(TOP)\src\mem3 8990: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
89a0: 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 28 54  c\mem5.c \.  $(T 89b0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 OP)\src\memdb.c 89c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d \.$(TOP)\src\m
89d0: 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20  emjournal.c \.
89e0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex 89f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8a00: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c  c\mutex_noop.c \
8a10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu 8a20: 74 65 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 tex_unix.c \.$
8a30: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
8a40: 77 33 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  w32.c \.  $(TOP) 8a50: 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a \src\notify.c \. 8a60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e$(TOP)\src\os.
8a70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8a80: 5c 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 \os_unix.c \.$
8a90: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
8aa0: 2e 63 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72 63  .c..# Core sourc
8ab0: 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61  e code files, pa
8ac0: 72 74 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20  rt 2..#.SRC01 =
8ad0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p 8ae0: 61 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 ager.c \.$(TOP
8af0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c  )\src\pcache.c \
8b00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc 8b10: 61 63 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f ache1.c \.$(TO
8b20: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20  P)\src\pragma.c
8b30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p 8b40: 72 65 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 repare.c \.$(T
8b50: 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63  OP)\src\printf.c
8b60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8b70: 72 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 random.c \.$(T
8b80: 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e  OP)\src\resolve.
8b90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8ba0: 5c 72 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 28 \rowset.c \.$(
8bb0: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e  TOP)\src\select.
8bc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8bd0: 5c 73 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 28 \status.c \.$(
8be0: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
8bf0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8c00: 74 68 72 65 61 64 73 2e 63 20 5c 0a 20 20 24 28 threads.c \.$(
8c10: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
8c20: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\ 8c30: 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c src\tokenize.c \ 8c40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 .$(TOP)\src\tr
8c50: 65 65 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54  eeview.c \.  $(T 8c60: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e OP)\src\trigger. 8c70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8c80: 5c 75 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50  \utf.c \.  $(TOP 8c90: 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 5c )\src\update.c \ 8ca0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 .$(TOP)\src\up
8cb0: 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sert.c \.  $(TOP 8cc0: 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 )\src\util.c \. 8cd0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75$(TOP)\src\vacu
8ce0: 75 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  um.c \.  $(TOP)\ 8cf0: 73 72 63 5c 76 64 62 65 2e 63 20 5c 0a 20 20 24 src\vdbe.c \.$
8d00: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70  (TOP)\src\vdbeap
8d10: 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  i.c \.  $(TOP)\s 8d20: 72 63 5c 76 64 62 65 61 75 78 2e 63 20 5c 0a 20 rc\vdbeaux.c \. 8d30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
8d40: 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50  blob.c \.  $(TOP 8d50: 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 )\src\vdbemem.c 8d60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 \.$(TOP)\src\v
8d70: 64 62 65 73 6f 72 74 2e 63 20 5c 0a 20 20 24 28  dbesort.c \.  $( 8d80: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 TOP)\src\vdbetra 8d90: 63 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ce.c \.$(TOP)\
8da0: 73 72 63 5c 76 74 61 62 2e 63 20 5c 0a 20 20 24  src\vtab.c \.  $8db0: 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 (TOP)\src\wal.c 8dc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 \.$(TOP)\src\w
8dd0: 61 6c 6b 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  alker.c \.  $(TO 8de0: 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 5c P)\src\where.c \ 8df0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 .$(TOP)\src\wh
8e00: 65 72 65 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28  erecode.c \.  $( 8e10: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 TOP)\src\whereex 8e20: 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c pr.c \.$(TOP)\
8e30: 73 72 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 23 20  src\window.c..#
8e40: 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f  Core miscellaneo
8e50: 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30  us files..#.SRC0
8e60: 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3 = \.  $(TOP)\s 8e70: 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f rc\parse.y..# Co 8e80: 72 65 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c re header files, 8e90: 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34 part 1..#.SRC04 8ea0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 = \.$(TOP)\sr
8eb0: 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28  c\btree.h \.  $( 8ec0: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e TOP)\src\btreeIn 8ed0: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 t.h \.$(TOP)\s
8ee0: 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  rc\hash.h \.  $( 8ef0: 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e TOP)\src\hwtime. 8f00: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 h \.$(TOP)\src
8f10: 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f  \msvc.h \.  $(TO 8f20: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c P)\src\mutex.h \ 8f30: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 .$(TOP)\src\os
8f40: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr 8f50: 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a c\os_common.h \. 8f60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f$(TOP)\src\os_
8f70: 73 65 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f  setup.h \.  $(TO 8f80: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a P)\src\os_win.h. 8f90: 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 .# Core header f 8fa0: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a iles, part 2..#. 8fb0: 53 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f SRC05 = \.$(TO
8fc0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c  P)\src\pager.h \
8fd0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc 8fe0: 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 ache.h \.$(TOP
8ff0: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c  )\src\pragma.h \
9000: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  .  $(TOP)\src\sq 9010: 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 lite.h.in \.$(
9020: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33  TOP)\src\sqlite3
9030: 65 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ext.h \.  $(TOP) 9040: 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 \src\sqliteInt.h 9050: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9060: 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a  sqliteLimit.h \.
9070: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb 9080: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.h \.$(TOP)\s
9090: 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20  rc\vdbeInt.h \.
90a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f   $(TOP)\src\vxwo 90b0: 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 rks.h \.$(TOP)
90c0: 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24  \src\wal.h \.  $90d0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 (TOP)\src\whereI 90e0: 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f nt.h..# Extensio 90f0: 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 n source code fi 9100: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 les, part 1..#.S 9110: 52 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50 RC06 = \.$(TOP
9120: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e  )\ext\fts1\fts1.
9130: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 9140: 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e \fts1\fts1_hash. 9150: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9160: 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65  \fts1\fts1_porte
9170: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 9180: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b xt\fts1\fts1_tok 9190: 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 enizer1.c \.$(
91a0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
91b0: 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s2.c \.  $(TOP)\ 91c0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 ext\fts2\fts2_ha 91d0: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.c \.$(TOP)\
91e0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63  ext\fts2\fts2_ic
91f0: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e 9200: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 xt\fts2\fts2_por 9210: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ter.c \.$(TOP)
9220: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
9230: 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24  okenizer.c \.  $9240: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f 9250: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 ts2_tokenizer1.c 9260: 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f ..# Extension so 9270: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c urce code files, 9280: 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37 part 2..#.SRC07 9290: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 = \.$(TOP)\ex
92a0: 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a  t\fts3\fts3.c \.
92b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 92c0: 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20 3\fts3_aux.c \. 92d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
92e0: 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20  \fts3_expr.c \.
92f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 9300: 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20 \fts3_hash.c \. 9310: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
9320: 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20  \fts3_icu.c \.
9330: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 9340: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a fts3_porter.c \. 9350: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
9360: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
9370: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 9380: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 fts3\fts3_tokeni 9390: 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 zer.c \.$(TOP)
93a0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
93b0: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20  okenizer1.c \.
93c0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 93d0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 fts3_tokenize_vt 93e0: 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ab.c \.$(TOP)\
93f0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e  ext\fts3\fts3_un
9400: 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f  icode.c \.  $(TO 9410: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 9420: 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 _unicode2.c \. 9430: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
9440: 66 74 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20  fts3_write.c \.
9450: 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c   $(TOP)\ext\icu\ 9460: 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 icu.c \.$(TOP)
9470: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
9480: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9490: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 t\session\sqlite 94a0: 33 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24 3session.c \.$
94b0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
94c0: 6c 69 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24  lite3rbu.c \.  $94d0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a (TOP)\ext\misc\j 94e0: 73 6f 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 son1.c \.$(TOP
94f0: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e  )\ext\misc\stmt.
9500: 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68  c..# Extension h
9510: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72  eader files, par
9520: 74 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c  t 1..#.SRC08 = \
9530: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 9540: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 s1\fts1.h \.$(
9550: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9560: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $( 9570: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 TOP)\ext\fts1\ft 9580: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c s1_tokenizer.h \ 9590: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
95a0: 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28  s2\fts2.h \.  $( 95b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft 95c0: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 s2_hash.h \.$(
95d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
95e0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a  s2_tokenizer.h..
95f0: 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64  # Extension head
9600: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32  er files, part 2
9610: 2e 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20  ..#.SRC09 = \.
9620: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 9630: 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 fts3.h \.$(TOP
9640: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49  )\ext\fts3\fts3I
9650: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\ 9660: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 ext\fts3\fts3_ha 9670: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.h \.$(TOP)\
9680: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
9690: 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28  kenizer.h \.  $( 96a0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c TOP)\ext\icu\sql 96b0: 69 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 iteicu.h \.$(T
96c0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
96d0: 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ree.h \.  $(TOP) 96e0: 5c 65 78 74 5c 72 74 72 65 65 5c 67 65 6f 70 6f \ext\rtree\geopo 96f0: 6c 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ly.c \.$(TOP)\
9700: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
9710: 62 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  bu.h \.  $(TOP)\ 9720: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 ext\session\sqli 9730: 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 te3session.h..# 9740: 47 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65 Generated source 9750: 20 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 code files.#.SR 9760: 43 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 C10 = \. opcode 9770: 73 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a s.c \. parse.c. 9780: 0a 23 20 47 65 6e 65 72 61 74 65 64 20 68 65 61 .# Generated hea 9790: 64 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 der files.#.SRC1 97a0: 31 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 1 = \. keywordh 97b0: 61 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 ash.h \. opcode 97c0: 73 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 s.h \. parse.h 97d0: 5c 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 \. shell.c \. 97e0: 24 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20 47$(SQLITE3H)..# G
97f0: 65 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65 61  enerated Tcl hea
9800: 64 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46 20  der files.#.!IF
9810: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d  $(USE_STDCALL)!= 9820: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 0 ||$(FOR_WIN10
9830: 29 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a 20  )!=0.SRC12 = \.
9840: 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 5c   $(SQLITETCLH) \ 9850: 0a 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 .$(SQLITETCLDE
9860: 43 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43 31  CLSH).!ELSE.SRC1
9870: 32 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c  2 =.!ENDIF..# Al
9880: 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  l source code fi
9890: 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53  les..#.SRC = $(S 98a0: 52 43 30 30 29 20 24 28 53 52 43 30 31 29 20 24 RC00)$(SRC01) $98b0: 28 53 52 43 30 33 29 20 24 28 53 52 43 30 34 29 (SRC03)$(SRC04)
98c0: 20 24 28 53 52 43 30 35 29 20 24 28 53 52 43 30   $(SRC05)$(SRC0
98d0: 36 29 20 24 28 53 52 43 30 37 29 20 24 28 53 52  6) $(SRC07)$(SR
98e0: 43 30 38 29 20 24 28 53 52 43 30 39 29 20 24 28  C08) $(SRC09)$(
98f0: 53 52 43 31 30 29 20 24 28 53 52 43 31 31 29 0a  SRC10) $(SRC11). 9900: 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 .# Source code t 9910: 6f 20 74 68 65 20 74 65 73 74 20 66 69 6c 65 73 o the test files 9920: 2e 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c 0a ..#.TESTSRC = \. 9930: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9940: 74 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t1.c \.  $(TOP)\ 9950: 73 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20 20 src\test2.c \. 9960: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 33$(TOP)\src\test3
9970: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 9980: 63 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24 28 c\test4.c \.$(
9990: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e 63  TOP)\src\test5.c
99a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 99b0: 74 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54 4f test6.c \.$(TO
99c0: 50 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20 5c  P)\src\test7.c \
99d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 99e0: 73 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 st8.c \.$(TOP)
99f0: 5c 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a 20  \src\test9.c \.
9a00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 9a10: 5f 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20 24 _autoext.c \.$
9a20: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 61  (TOP)\src\test_a
9a30: 73 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sync.c \.  $(TOP 9a40: 29 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b 75 )\src\test_backu 9a50: 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 p.c \.$(TOP)\s
9a60: 72 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64 65  rc\test_bestinde
9a70: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  x.c \.  $(TOP)\s 9a80: 72 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20 5c rc\test_blob.c \ 9a90: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
9aa0: 73 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20 24  st_btree.c \.  $9ab0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 63 (TOP)\src\test_c 9ac0: 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54 4f onfig.c \.$(TO
9ad0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c 65  P)\src\test_dele
9ae0: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\ 9af0: 73 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73 src\test_demovfs 9b00: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
9b10: 63 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63 20  c\test_devsym.c
9b20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9b30: 65 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28 54 est_fs.c \.$(T
9b40: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75 6e  OP)\src\test_fun
9b50: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s 9b60: 72 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63 20 rc\test_hexio.c 9b70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
9b80: 65 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 24  est_init.c \.  $9b90: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 (TOP)\src\test_i 9ba0: 6e 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 ntarray.c \.$(
9bb0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a 6f  TOP)\src\test_jo
9bc0: 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  urnal.c \.  $(TO 9bd0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c 6c P)\src\test_mall 9be0: 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c oc.c \.$(TOP)\
9bf0: 73 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20 5c  src\test_md5.c \
9c00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9c10: 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c st_multiplex.c \ 9c20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
9c30: 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24  st_mutex.c \.  $9c40: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f (TOP)\src\test_o 9c50: 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 nefile.c \.$(T
9c60: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69  OP)\src\test_osi
9c70: 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nst.c \.  $(TOP) 9c80: 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 \src\test_pcache 9c90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
9ca0: 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c  c\test_quota.c \
9cb0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9cc0: 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 st_rtree.c \.$
9cd0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
9ce0: 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f  chema.c \.  $(TO 9cf0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 P)\src\test_serv 9d00: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c er.c \.$(TOP)\
9d10: 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f  src\test_superlo
9d20: 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ck.c \.  $(TOP)\ 9d30: 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c src\test_syscall 9d40: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
9d50: 63 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20 5c  c\test_tclsh.c \
9d60: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9d70: 73 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20 st_tclvar.c \. 9d80: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
9d90: 74 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 54  thread.c \.  $(T 9da0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 64 62 OP)\src\test_vdb 9db0: 65 63 6f 76 2e 63 20 5c 0a 20 20 24 28 54 4f 50 ecov.c \.$(TOP
9dc0: 29 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e 63  )\src\test_vfs.c
9dd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 9de0: 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e 63 test_windirent.c 9df0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9e00: 74 65 73 74 5f 77 69 6e 64 6f 77 2e 63 20 5c 0a  test_window.c \.
9e10: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9e20: 74 5f 77 73 64 2e 63 20 5c 0a 20 20 24 28 54 4f t_wsd.c \.$(TO
9e30: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
9e40: 5f 74 65 72 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  _term.c \.  $(TO 9e50: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 9e60: 5f 74 65 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f _test.c \.$(TO
9e70: 50 29 5c 65 78 74 5c 72 62 75 5c 74 65 73 74 5f  P)\ext\rbu\test_
9e80: 72 62 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  rbu.c \.  $(TOP) 9e90: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 74 65 73 \ext\session\tes 9ea0: 74 5f 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 53 t_session.c..# S 9eb0: 74 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 tatically linked 9ec0: 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a 23 0a 54 extensions..#.T 9ed0: 45 53 54 45 58 54 20 3d 20 5c 0a 20 20 24 28 54 ESTEXT = \.$(T
9ee0: 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73  OP)\ext\expert\s
9ef0: 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 5c  qlite3expert.c \
9f00: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  .  $(TOP)\ext\ex 9f10: 70 65 72 74 5c 74 65 73 74 5f 65 78 70 65 72 74 pert\test_expert 9f20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
9f30: 74 5c 6d 69 73 63 5c 61 6d 61 74 63 68 2e 63 20  t\misc\amatch.c
9f40: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 9f50: 69 73 63 5c 63 61 72 72 61 79 2e 63 20 5c 0a 20 isc\carray.c \. 9f60: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
9f70: 5c 63 6c 6f 73 75 72 65 2e 63 20 5c 0a 20 20 24  \closure.c \.  $9f80: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 (TOP)\ext\misc\c 9f90: 73 76 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c sv.c \.$(TOP)\
9fa0: 65 78 74 5c 6d 69 73 63 5c 65 76 61 6c 2e 63 20  ext\misc\eval.c
9fb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 9fc0: 69 73 63 5c 65 78 70 6c 61 69 6e 2e 63 20 5c 0a isc\explain.c \. 9fd0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73$(TOP)\ext\mis
9fe0: 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 20 20 24  c\fileio.c \.  $9ff0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 (TOP)\ext\misc\f a000: 75 7a 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f uzzer.c \.$(TO
a010: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
a020: 5f 74 63 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _tcl.c \.  $(TOP a030: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ a040: 74 65 73 74 5f 6d 69 2e 63 20 5c 0a 20 20 24 28 test_mi.c \.$(
a050: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
a060: 73 35 5f 74 65 73 74 5f 74 6f 6b 2e 63 20 5c 0a  s5_test_tok.c \.
a070: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis a080: 63 5c 69 65 65 65 37 35 34 2e 63 20 5c 0a 20 20 c\ieee754.c \. a090: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
a0a0: 6d 6d 61 70 77 61 72 6d 2e 63 20 5c 0a 20 20 24  mmapwarm.c \.  $a0b0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e (TOP)\ext\misc\n a0c0: 65 78 74 63 68 61 72 2e 63 20 5c 0a 20 20 24 28 extchar.c \.$(
a0d0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e 6f  TOP)\ext\misc\no
a0e0: 72 6d 61 6c 69 7a 65 2e 63 20 5c 0a 20 20 24 28  rmalize.c \.  $( a0f0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 70 65 TOP)\ext\misc\pe a100: 72 63 65 6e 74 69 6c 65 2e 63 20 5c 0a 20 20 24 rcentile.c \.$
a110: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 70  (TOP)\ext\misc\p
a120: 72 65 66 69 78 65 73 2e 63 20 5c 0a 20 20 24 28  refixes.c \.  $( a130: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65 TOP)\ext\misc\re a140: 67 65 78 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 gexp.c \.$(TOP
a150: 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65 6d 65 6d  )\ext\misc\remem
a160: 62 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ber.c \.  $(TOP) a170: 5c 65 78 74 5c 6d 69 73 63 5c 73 65 72 69 65 73 \ext\misc\series a180: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
a190: 74 5c 6d 69 73 63 5c 73 70 65 6c 6c 66 69 78 2e  t\misc\spellfix.
a1a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext a1b0: 5c 6d 69 73 63 5c 74 6f 74 79 70 65 2e 63 20 5c \misc\totype.c \ a1c0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
a1d0: 73 63 5c 75 6e 69 6f 6e 76 74 61 62 2e 63 20 5c  sc\unionvtab.c \
a1e0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi a1f0: 73 63 5c 77 68 6f 6c 65 6e 75 6d 62 65 72 2e 63 sc\wholenumber.c a200: 0a 0a 23 20 49 66 20 75 73 65 20 6f 66 20 7a 6c ..# If use of zl a210: 69 62 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 ib is enabled, a a220: 64 64 20 74 68 65 20 22 7a 69 70 66 69 6c 65 2e dd the "zipfile. a230: 63 22 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a c" source file.. a240: 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 #.!IF$(USE_ZLIB
a250: 29 21 3d 30 0a 54 45 53 54 45 58 54 20 3d 20 24  )!=0.TESTEXT = $a260: 28 54 45 53 54 45 58 54 29 20 24 28 54 4f 50 29 (TESTEXT)$(TOP)
a270: 5c 65 78 74 5c 6d 69 73 63 5c 7a 69 70 66 69 6c  \ext\misc\zipfil
a280: 65 2e 63 0a 21 45 4e 44 49 46 0a 0a 23 20 53 6f  e.c.!ENDIF..# So
a290: 75 72 63 65 20 63 6f 64 65 20 74 6f 20 74 68 65  urce code to the
a2a0: 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 20 6e   library files n
a2b0: 65 65 64 65 64 20 62 79 20 74 68 65 20 74 65 73  eeded by the tes
a2c0: 74 20 66 69 78 74 75 72 65 0a 23 20 28 6e 6f 6e  t fixture.# (non
a2d0: 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 0a 23  -amalgamation).#
a2e0: 0a 54 45 53 54 53 52 43 32 20 3d 20 5c 0a 20 20  .TESTSRC2 = \.
a2f0: 24 28 53 52 43 30 30 29 20 5c 0a 20 20 24 28 53  $(SRC00) \.$(S
a300: 52 43 30 31 29 20 5c 0a 20 20 24 28 53 52 43 30  RC01) \.  $(SRC0 a310: 36 29 20 5c 0a 20 20 24 28 53 52 43 30 37 29 20 6) \.$(SRC07)
a320: 5c 0a 20 20 24 28 53 52 43 31 30 29 20 5c 0a 20  \.  $(SRC10) \. a330: 20 24 28 54 4f 50 29 5c 65 78 74 5c 61 73 79 6e$(TOP)\ext\asyn
a340: 63 5c 73 71 6c 69 74 65 33 61 73 79 6e 63 2e 63  c\sqlite3async.c
a350: 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65 73  ..# Header files
a360: 20 75 73 65 64 20 62 79 20 61 6c 6c 20 6c 69 62   used by all lib
a370: 72 61 72 79 20 73 6f 75 72 63 65 20 66 69 6c 65  rary source file
a380: 73 2e 0a 23 0a 48 44 52 20 3d 20 5c 0a 20 20 20  s..#.HDR = \.
a390: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree a3a0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 .h \.$(TOP)\s
a3b0: 72 63 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a  rc\btreeInt.h \.
a3c0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61     $(TOP)\src\ha a3d0: 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 sh.h \.$(TOP)
a3e0: 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a  \src\hwtime.h \.
a3f0: 20 20 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68     keywordhash.h
a400: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src a410: 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 20 24 28 54 \msvc.h \.$(T
a420: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20  OP)\src\mutex.h
a430: 5c 0a 20 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c  \.   opcodes.h \
a440: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  .   $(TOP)\src\o a450: 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c s.h \.$(TOP)\
a460: 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20  src\os_common.h
a470: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\ a480: 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 20 os_setup.h \. a490: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69$(TOP)\src\os_wi
a4a0: 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  n.h \.   $(TOP)\ a4b0: 73 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a 20 20 src\pager.h \. a4c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63$(TOP)\src\pcac
a4d0: 68 65 2e 68 20 5c 0a 20 20 20 70 61 72 73 65 2e  he.h \.   parse.
a4e0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr a4f0: 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a 20 20 20 c\pragma.h \. a500: 24 28 53 51 4c 49 54 45 33 48 29 20 5c 0a 20 20$(SQLITE3H) \.
a510: 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a   sqlite3ext.h \.
a520: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71     $(TOP)\src\sq a530: 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 liteInt.h \.$
a540: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
a550: 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 20 24 28 54  Limit.h \.   $(T a560: 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c OP)\src\vdbe.h \ a570: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 .$(TOP)\src\v
a580: 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28  dbeInt.h \.   $( a590: 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73 TOP)\src\vxworks a5a0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 .h \.$(TOP)\s
a5b0: 72 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23  rc\whereInt.h..#
a5c0: 20 48 65 61 64 65 72 20 66 69 6c 65 73 20 75 73   Header files us
a5d0: 65 64 20 62 79 20 65 78 74 65 6e 73 69 6f 6e 73  ed by extensions
a5e0: 0a 23 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .#.EXTHDR = $(EX a5f0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 THDR) \.$(TOP)
a600: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68  \ext\fts1\fts1.h
a610: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ a620: 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 fts1\fts1_hash.h a630: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
a640: 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69  fts1\fts1_tokeni
a650: 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24  zer.h.EXTHDR = $a660: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 (EXTHDR) \.$(T
a670: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
a680: 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  2.h \.  $(TOP)\e a690: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 xt\fts2\fts2_has a6a0: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 h.h \.$(TOP)\e
a6b0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
a6c0: 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20  enizer.h.EXTHDR
a6d0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \. a6e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
a6f0: 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts3.h \.  $(TOP a700: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 )\ext\fts3\fts3I a710: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c nt.h \.$(TOP)\
a720: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
a730: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.h \.  $(TOP)\ a740: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f ext\fts3\fts3_to a750: 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 kenizer.h.EXTHDR a760: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 =$(EXTHDR) \.
a770: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre a780: 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 20 24 28 e\rtree.h \.$(
a790: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 67  TOP)\ext\rtree\g
a7a0: 65 6f 70 6f 6c 79 2e 63 0a 45 58 54 48 44 52 20  eopoly.c.EXTHDR
a7b0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \. a7c0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73$(TOP)\ext\icu\s
a7d0: 71 6c 69 74 65 69 63 75 2e 68 0a 45 58 54 48 44  qliteicu.h.EXTHD
a7e0: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \. a7f0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72$(TOP)\ext\rtr
a800: 65 65 5c 73 71 6c 69 74 65 33 72 74 72 65 65 2e  ee\sqlite3rtree.
a810: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT a820: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c HDR) \.$(TOP)\
a830: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
a840: 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20  te3session.h..#
a850: 65 78 65 63 75 74 61 62 6c 65 73 20 6e 65 65 64  executables need
a860: 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 0a 23  ed for testing.#
a870: 0a 54 45 53 54 50 52 4f 47 53 20 3d 20 5c 0a 20  .TESTPROGS = \.
a880: 20 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65   testfixture.exe
a890: 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 45 58   \.  $(SQLITE3EX a8a0: 45 29 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f 61 E) \. sqlite3_a a8b0: 6e 61 6c 79 7a 65 72 2e 65 78 65 20 5c 0a 20 20 nalyzer.exe \. a8c0: 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e sqlite3_checker. a8d0: 65 78 65 20 5c 0a 20 20 73 71 6c 64 69 66 66 2e exe \. sqldiff. a8e0: 65 78 65 20 5c 0a 20 20 64 62 68 61 73 68 2e 65 exe \. dbhash.e a8f0: 78 65 20 5c 0a 20 20 73 71 6c 74 63 6c 73 68 2e xe \. sqltclsh. a900: 65 78 65 0a 0a 23 20 44 61 74 61 62 61 73 65 73 exe..# Databases a910: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 66 75 7a 7a containing fuzz a920: 65 72 20 74 65 73 74 20 63 61 73 65 73 0a 23 0a er test cases.#. a930: 46 55 5a 5a 44 41 54 41 20 3d 20 5c 0a 20 20 24 FUZZDATA = \.$
a940: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
a950: 61 74 61 31 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata1.db \.  $(TO a960: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 P)\test\fuzzdata a970: 32 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 2.db \.$(TOP)\
a980: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 33 2e 64  test\fuzzdata3.d
a990: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes a9a0: 74 5c 66 75 7a 7a 64 61 74 61 34 2e 64 62 20 5c t\fuzzdata4.db \ a9b0: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 .$(TOP)\test\f
a9c0: 75 7a 7a 64 61 74 61 35 2e 64 62 20 5c 0a 20 20  uzzdata5.db \.
a9d0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz a9e0: 64 61 74 61 36 2e 64 62 20 5c 0a 20 20 24 28 54 data6.db \.$(T
a9f0: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74  OP)\test\fuzzdat
aa00: 61 37 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29  a7.db \.  $(TOP) aa10: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 38 2e \test\fuzzdata8. aa20: 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a db.# <</mark>>.. aa30: 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d # Additional com aa40: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f piler options fo aa50: 72 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54 68 r the shell. Th aa60: 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66 66 ese are only eff aa70: 65 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74 68 ective.# when th aa80: 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20 62 e shell is not b aa90: 65 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 eing dynamically aaa0: 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20 24 linked..#.!IF$
aab0: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d  (DYNAMIC_SHELL)=
aac0: 3d 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e 31  =0 && $(FOR_WIN1 aad0: 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 0)==0.SHELL_COMP aae0: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 ILE_OPTS =$(SHE
aaf0: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
ab00: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
ab10: 5f 46 54 53 34 3d 31 0a 53 48 45 4c 4c 5f 43 4f  _FTS4=1.SHELL_CO
ab20: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53  MPILE_OPTS = $(S ab30: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 HELL_COMPILE_OPT ab40: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 S) -DSQLITE_ENAB ab50: 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 LE_EXPLAIN_COMME ab60: 4e 54 53 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 NTS=1.SHELL_COMP ab70: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 ILE_OPTS =$(SHE
ab80: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  LL_COMPILE_OPTS)
ab90: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
aba0: 5f 4f 46 46 53 45 54 5f 53 51 4c 5f 46 55 4e 43  _OFFSET_SQL_FUNC
abb0: 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  =1.SHELL_COMPILE
abc0: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_ abd0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 COMPILE_OPTS) -D abe0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 45 SQLITE_ENABLE_DE abf0: 53 45 52 49 41 4c 49 5a 45 3d 31 0a 21 45 4e 44 SERIALIZE=1.!END ac00: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 IF..# <<mark>>.# ac10: 20 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 72 20 Extra compiler ac20: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 69 options for vari ac30: 6f 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a ous test tools.. ac40: 23 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 #.MPTESTER_COMPI ac50: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 LE_OPTS = -DSQLI ac60: 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 TE_ENABLE_JSON1 ac70: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ ac80: 46 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c 4c FTS5.FUZZERSHELL ac90: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 _COMPILE_OPTS = aca0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ acb0: 4a 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b 5f JSON1.FUZZCHECK_ acc0: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f OPTS = -DSQLITE_ acd0: 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 ENABLE_JSON1 -DS ace0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d QLITE_ENABLE_MEM acf0: 53 59 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f 53 SYS5 -DSQLITE_OS ad00: 53 5f 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45 5f S_FUZZ -DSQLITE_ ad10: 4d 41 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30 30 MAX_MEMORY=50000 ad20: 30 30 30 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 000 -DSQLITE_PRI ad30: 4e 54 46 5f 50 52 45 43 49 53 49 4f 4e 5f 4c 49 NTF_PRECISION_LI ad40: 4d 49 54 3d 31 30 30 30 0a 46 55 5a 5a 43 48 45 MIT=1000.FUZZCHE ad50: 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a CK_OPTS =$(FUZZ
ad60: 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51  CHECK_OPTS) -DSQ
ad70: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45  LITE_ENABLE_DESE
ad80: 52 49 41 4c 49 5a 45 0a 46 55 5a 5a 43 48 45 43  RIALIZE.FUZZCHEC
ad90: 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a 43  K_OPTS = $(FUZZC ada0: 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51 4c HECK_OPTS) -DSQL adb0: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 0a ITE_ENABLE_FTS4. adc0: 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d FUZZCHECK_OPTS = add0: 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54$(FUZZCHECK_OPT
ade0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
adf0: 4c 45 5f 52 54 52 45 45 0a 46 55 5a 5a 43 48 45  LE_RTREE.FUZZCHE
ae00: 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a  CK_OPTS = $(FUZZ ae10: 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51 CHECK_OPTS) -DSQ ae20: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 47 45 4f 50 LITE_ENABLE_GEOP ae30: 4f 4c 59 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 OLY.FUZZCHECK_OP ae40: 54 53 20 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b TS =$(FUZZCHECK
ae50: 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f  _OPTS) -DSQLITE_
ae60: 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 54  ENABLE_DBSTAT_VT
ae70: 41 42 0a 0a 46 55 5a 5a 43 48 45 43 4b 5f 53 52  AB..FUZZCHECK_SR
ae80: 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  C = $(TOP)\test\ ae90: 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 54 4f fuzzcheck.c$(TO
aea0: 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e  P)\test\ossfuzz.
aeb0: 63 0a 4f 53 53 53 48 45 4c 4c 5f 53 52 43 20 3d  c.OSSSHELL_SRC =
aec0: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73   $(TOP)\test\oss aed0: 73 68 65 6c 6c 2e 63 20 24 28 54 4f 50 29 5c 74 shell.c$(TOP)\t
aee0: 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 44 42  est\ossfuzz.c.DB
aef0: 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  FUZZ_COMPILE_OPT
af00: 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  S = -DSQLITE_THR
af10: 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
af20: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
af30: 45 4e 53 49 4f 4e 0a 4b 56 5f 43 4f 4d 50 49 4c  ENSION.KV_COMPIL
af40: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
af50: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
af60: 44 53 51 4c 49 54 45 5f 44 49 52 45 43 54 5f 4f  DSQLITE_DIRECT_O
af70: 56 45 52 46 4c 4f 57 5f 52 45 41 44 0a 53 54 5f  VERFLOW_READ.ST_
af80: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d  COMPILE_OPTS = -
af90: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
afa0: 46 45 3d 30 0a 0a 23 20 53 74 61 6e 64 61 72 64  FE=0..# Standard
afb0: 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74 65 73 74   options to test
afc0: 66 69 78 74 75 72 65 2e 0a 23 0a 54 45 53 54 4f  fixture..#.TESTO
afd0: 50 54 53 20 3d 20 2d 2d 76 65 72 62 6f 73 65 3d  PTS = --verbose=
afe0: 66 69 6c 65 20 2d 2d 6f 75 74 70 75 74 3d 74 65  file --output=te
aff0: 73 74 2d 6f 75 74 2e 74 78 74 0a 0a 23 20 45 78  st-out.txt..# Ex
b000: 74 72 61 20 74 61 72 67 65 74 73 20 66 6f 72 20  tra targets for
b010: 74 68 65 20 22 61 6c 6c 22 20 74 61 72 67 65 74  the "all" target
b020: 20 74 68 61 74 20 72 65 71 75 69 72 65 20 54 63   that require Tc
b030: 6c 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43  l..#.!IF $(NO_TC b040: 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 L)==0.ALL_TCL_TA b050: 52 47 45 54 53 20 3d 20 24 28 53 51 4c 49 54 45 RGETS =$(SQLITE
b060: 33 54 43 4c 44 4c 4c 29 0a 21 45 4c 53 45 0a 41  3TCLDLL).!ELSE.A
b070: 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d  LL_TCL_TARGETS =
b080: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
b090: 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74  k>>..# This is t
b0a0: 68 65 20 64 65 66 61 75 6c 74 20 4d 61 6b 65 66  he default Makef
b0b0: 69 6c 65 20 74 61 72 67 65 74 2e 20 20 54 68 65  ile target.  The
b0c0: 20 6f 62 6a 65 63 74 73 20 6c 69 73 74 65 64 20   objects listed
b0d0: 68 65 72 65 0a 23 20 61 72 65 20 77 68 61 74 20  here.# are what
b0e0: 67 65 74 20 62 75 69 6c 64 20 77 68 65 6e 20 79  get build when y
b0f0: 6f 75 20 74 79 70 65 20 6a 75 73 74 20 22 6d 61  ou type just "ma
b100: 6b 65 22 20 77 69 74 68 20 6e 6f 20 61 72 67 75  ke" with no argu
b110: 6d 65 6e 74 73 2e 0a 23 0a 63 6f 72 65 3a 09 64  ments..#.core:.d
b120: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  ll libsqlite3.li
b130: 62 20 73 68 65 6c 6c 0a 0a 23 20 54 61 72 67 65  b shell..# Targe
b140: 74 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20  ts that require
b150: 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 2e  the Tcl library.
b160: 0a 23 0a 74 63 6c 3a 09 24 28 41 4c 4c 5f 54 43  .#.tcl:.$(ALL_TC b170: 4c 5f 54 41 52 47 45 54 53 29 0a 0a 23 20 54 68 L_TARGETS)..# Th b180: 69 73 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 is Makefile targ b190: 65 74 20 62 75 69 6c 64 73 20 61 6c 6c 20 6f 66 et builds all of b1a0: 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 62 69 the standard bi b1b0: 6e 61 72 69 65 73 2e 0a 23 0a 61 6c 6c 3a 09 63 naries..#.all:.c b1c0: 6f 72 65 20 74 63 6c 0a 0a 23 20 44 79 6e 61 6d ore tcl..# Dynam b1d0: 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 ic link library b1e0: 73 65 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09 section..#.dll:. b1f0: 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23$(SQLITE3DLL)..#
b200: 20 53 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   Shell executabl
b210: 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09 24 28 53 51  e..#.shell:.$(SQ b220: 4c 49 54 45 33 45 58 45 29 0a 0a 23 20 3c 3c 6d LITE3EXE)..# <<m b230: 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c 69 74 65 33 ark>>.libsqlite3 b240: 2e 6c 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a .lib:.$(LIBOBJ).
b250: 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49  .$(LTLIB)$(LTLI
b260: 42 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24  BOPTS) /OUT:$@$
b270: 28 4c 49 42 4f 42 4a 29 20 24 28 54 4c 49 42 53  (LIBOBJ) $(TLIBS b280: 29 0a 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 )..libtclsqlite3 b290: 2e 6c 69 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e .lib:.tclsqlite. b2a0: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 lo libsqlite3.li b2b0: 62 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 b..$(LTLIB) $(LT b2c0: 4c 49 42 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 LIBOPTS)$(TCLLI
b2d0: 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50  BPATHS) $(LTLIBP b2e0: 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 ATHS) /OUT:$@ tc
b2f0: 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71  lsqlite.lo libsq
b300: 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 54  lite3.lib $(LIBT b310: 43 4c 53 54 55 42 29 20 24 28 54 4c 49 42 53 29 CLSTUB)$(TLIBS)
b320: 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e 64 65 66  ..tclsqlite3.def
b330: 3a 09 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 0a 09  :.tclsqlite.lo..
b340: 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20 74  echo EXPORTS > t
b350: 63 6c 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64  clsqlite3.def..d
b360: 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 74 63 6c 73  umpbin /all tcls
b370: 71 6c 69 74 65 2e 6c 6f 20 5c 0a 09 09 7c 20 24  qlite.lo \...| $b380: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
b390: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
b3a0: 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73  tcl include "^\s
b3b0: 2b 2f 45 58 50 4f 52 54 3a 5f 3f 28 28 3f 3a 53  +/EXPORT:_?((?:S
b3c0: 71 6c 69 74 65 33 7c 54 63 6c 73 71 6c 69 74 65  qlite3|Tclsqlite
b3d0: 33 29 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b  3)_[^@]*)(?:@\d+
b3e0: 29 3f 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73  )?$$" \1 \...| s b3f0: 6f 72 74 20 3e 3e 20 74 63 6c 73 71 6c 69 74 65 ort >> tclsqlite b400: 33 2e 64 65 66 0a 0a 70 6b 67 49 6e 64 65 78 2e 3.def..pkgIndex. b410: 74 63 6c 3a 09 24 28 54 4f 50 29 5c 56 45 52 53 tcl:.(TOP)\VERS b420: 49 4f 4e 0a 09 66 6f 72 20 2f 46 20 25 25 56 20 ION..for /F %%V b430: 69 6e 20 28 27 74 79 70 65 20 22 24 28 54 4f 50 in ('type "(TOP b440: 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 64 6f 20 )\VERSION"') do b450: 28 20 5c 0a 09 09 65 63 68 6f 20 70 61 63 6b 61 ( \...echo packa b460: 67 65 20 69 66 6e 65 65 64 65 64 20 73 71 6c 69 ge ifneeded sqli b470: 74 65 33 20 40 76 65 72 73 69 6f 6e 40 20 5b 6c te3 @version@ [l b480: 69 73 74 20 6c 6f 61 64 20 5b 66 69 6c 65 20 6a ist load [file j b490: 6f 69 6e 20 24 24 64 69 72 20 24 28 53 51 4c 49 oin$$dir $(SQLI b4a0: 54 45 33 54 43 4c 44 4c 4c 29 5d 20 73 71 6c 69 TE3TCLDLL)] sqli b4b0: 74 65 33 5d 20 5c 0a 09 09 09 7c 20 24 28 54 43 te3] \....|$(TC
b4c0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ b4d0: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c tool\replace.tcl b4e0: 20 65 78 61 63 74 20 40 76 65 72 73 69 6f 6e 40 exact @version@ b4f0: 20 25 25 56 20 3e 20 70 6b 67 49 6e 64 65 78 2e %%V > pkgIndex. b500: 74 63 6c 20 5c 0a 09 29 0a 0a 24 28 53 51 4c 49 tcl \..)..$(SQLI
b510: 54 45 33 54 43 4c 44 4c 4c 29 3a 09 6c 69 62 74  TE3TCLDLL):.libt
b520: 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 20 24 28  clsqlite3.lib $( b530: 4c 49 42 52 45 53 4f 42 4a 53 29 20 74 63 6c 73 LIBRESOBJS) tcls b540: 71 6c 69 74 65 33 2e 64 65 66 20 70 6b 67 49 6e qlite3.def pkgIn b550: 64 65 78 2e 74 63 6c 0a 09 24 28 4c 44 29 20 24 dex.tcl..$(LD) $b560: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
b570: 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  NKOPTS) $(LTLIBP b580: 41 54 48 53 29 20 2f 44 4c 4c 20 2f 44 45 46 3a ATHS) /DLL /DEF: b590: 74 63 6c 73 71 6c 69 74 65 33 2e 64 65 66 20 2f tclsqlite3.def / b5a0: 4f 55 54 3a 24 40 20 6c 69 62 74 63 6c 73 71 6c OUT:$@ libtclsql
b5b0: 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 52 45  ite3.lib $(LIBRE b5c0: 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 SOBJS)$(LTLIBS)
b5d0: 20 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d   $(TLIBS).# <</m b5e0: 61 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 ark>>..$(SQLITE3
b5f0: 44 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20  DLL):.$(LIBOBJ) b600: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28$(LIBRESOBJS) $( b610: 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 CORE_LINK_DEP).. b620: 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29$(LD) $(LDFLAGS) b630: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24$(LTLINKOPTS) $b640: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c (LTLIBPATHS) /DL b650: 4c 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 L$(CORE_LINK_OP
b660: 54 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49  TS) /OUT:$@$(LI
b670: 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42  BOBJ) $(LIBRESOB b680: 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 JS)$(LTLIBS) $( b690: 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 TLIBS)..# <<bloc b6a0: 6b 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 k2>>.sqlite3.def b6b0: 3a 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 :.libsqlite3.lib b6c0: 0a 09 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e ..echo EXPORTS > b6d0: 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 sqlite3.def..du b6e0: 6d 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 mpbin /all libsq b6f0: 6c 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 lite3.lib \...| b700: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T b710: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 OP)\tool\replace b720: 2e 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c .tcl include "^\ b730: 73 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33 28 3f s+1 _?(sqlite3(? b740: 3a 73 65 73 73 69 6f 6e 7c 63 68 61 6e 67 65 73 :session|changes b750: 65 74 7c 63 68 61 6e 67 65 67 72 6f 75 70 7c 72 et|changegroup|r b760: 65 62 61 73 65 72 29 3f 5f 5b 5e 40 5d 2a 29 28 ebaser)?_[^@]*)( b770: 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31 20 5c ?:@\d+)?$$" \1 \ b780: 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20 73 71 6c ...| sort >> sql b790: 69 74 65 33 2e 64 65 66 0a 23 20 3c 3c 2f 62 6c ite3.def.# <</bl b7a0: 6f 63 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 ock2>>..$(SQLITE
b7b0: 33 45 58 45 29 3a 09 73 68 65 6c 6c 2e 63 20 24  3EXE):.shell.c $b7c0: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 (SHELL_CORE_DEP) b7d0: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24$(LIBRESOBJS) $b7e0: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 (SHELL_CORE_SRC) b7f0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( b800: 4c 54 4c 49 4e 4b 29 20 24 28 53 48 45 4c 4c 5f LTLINK)$(SHELL_
b810: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( b820: 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20 READLINE_FLAGS) b830: 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f shell.c$(SHELL_
b840: 43 4f 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c  CORE_SRC) \.../l
b850: 69 6e 6b 20 24 28 53 51 4c 49 54 45 33 45 58 45  ink $(SQLITE3EXE b860: 50 44 42 29 20 24 28 4c 44 46 4c 41 47 53 29 20 PDB)$(LDFLAGS)
b870: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS)$(
b880: 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29  SHELL_LINK_OPTS)
b890: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24   $(LTLIBPATHS)$
b8a0: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c  (LIBRESOBJS) $(L b8b0: 49 42 52 45 41 44 4c 49 4e 45 29 20 24 28 4c 54 IBREADLINE)$(LT
b8c0: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS).. b8d0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69 # <<mark>>.sqldi b8e0: 66 66 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 ff.exe:.$(TOP)\t
b8f0: 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28  ool\sqldiff.c $( b900: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 SQLITE3C)$(SQLI
b910: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK) b920: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f$(NO_WARN) $(TO b930: 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e P)\tool\sqldiff. b940: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c c$(SQLITE3C) /l
b950: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
b960: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62  (LTLINKOPTS)..db
b970: 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29  hash.exe:.$(TOP) b980: 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 \tool\dbhash.c$
b990: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL b9a0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b ITE3H)..$(LTLINK
b9b0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54  ) $(NO_WARN)$(T
b9c0: 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e  OP)\tool\dbhash.
b9d0: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l b9e0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $b9f0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 63 (LTLINKOPTS)..sc ba00: 72 75 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c rub.exe:.$(TOP)\
ba10: 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63  ext\misc\scrub.c
ba20: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
ba30: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI ba40: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
ba50: 44 53 43 52 55 42 5f 53 54 41 4e 44 41 4c 4f 4e  DSCRUB_STANDALON
ba60: 45 3d 31 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  E=1 $(TOP)\ext\m ba70: 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28 53 51 isc\scrub.c$(SQ
ba80: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( ba90: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
baa0: 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31 2e 65  KOPTS)..srcck1.e
bab0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\ bac0: 73 72 63 63 6b 31 2e 63 0a 09 24 28 42 43 43 29 srcck1.c..$(BCC)
bad0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24   $(NO_WARN) -Fe$
bae0: 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72  @ $(TOP)\tool\sr baf0: 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65 74 65 cck1.c..sourcete bb00: 73 74 3a 09 73 72 63 63 6b 31 2e 65 78 65 20 24 st:.srcck1.exe$
bb10: 28 53 51 4c 49 54 45 33 43 29 0a 09 73 72 63 63  (SQLITE3C)..srcc
bb20: 6b 31 2e 65 78 65 20 24 28 53 51 4c 49 54 45 33  k1.exe $(SQLITE3 bb30: 43 29 0a 0a 66 75 7a 7a 65 72 73 68 65 6c 6c 2e C)..fuzzershell. bb40: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c exe:.$(TOP)\tool
bb50: 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24  \fuzzershell.c $bb60: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
bb70: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK bb80: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 )$(NO_WARN) $(F bb90: 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 UZZERSHELL_COMPI bba0: 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c LE_OPTS)$(TOP)\
bbb0: 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c  tool\fuzzershell
bbc0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) / bbd0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
bbe0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64  $(LTLINKOPTS)..d bbf0: 62 66 75 7a 7a 2e 65 78 65 3a 09 24 28 54 4f 50 bfuzz.exe:.$(TOP
bc00: 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20  )\test\dbfuzz.c
bc10: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
bc20: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN bc30: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 K)$(NO_WARN) $( bc40: 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f DBFUZZ_COMPILE_O bc50: 50 54 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74 PTS)$(TOP)\test
bc60: 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49  \dbfuzz.c $(SQLI bc70: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 TE3C) /link$(LD
bc80: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO bc90: 50 54 53 29 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e PTS)..fuzzcheck. bca0: 65 78 65 3a 09 24 28 46 55 5a 5a 43 48 45 43 4b exe:.$(FUZZCHECK
bcb0: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43  _SRC) $(SQLITE3C bcc0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 )$(SQLITE3H)..$bcd0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 (LTLINK)$(NO_WA
bce0: 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f  RN) $(FUZZCHECK_ bcf0: 4f 50 54 53 29 20 24 28 46 55 5a 5a 43 48 45 43 OPTS)$(FUZZCHEC
bd00: 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  K_SRC) $(SQLITE3 bd10: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
bd20: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS bd30: 29 0a 0a 6f 73 73 73 68 65 6c 6c 2e 65 78 65 3a )..ossshell.exe: bd40: 09 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29 .$(OSSSHELL_SRC)
bd50: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
bd60: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI bd70: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 NK)$(NO_WARN) $bd80: 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 (FUZZCHECK_OPTS) bd90: 20 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29$(OSSSHELL_SRC)
bda0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li bdb0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( bdc0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 65 73 LTLINKOPTS)..ses bdd0: 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 3a 09 7a 6c sionfuzz.exe:.zl bde0: 69 62 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 ib$(TOP)\test\s
bdf0: 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 24 28 53  essionfuzz.c $(S be00: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
be10: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) be20: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 49 24 28 5a$(NO_WARN) -I$(Z be30: 4c 49 42 49 4e 43 44 49 52 29 20 24 28 54 4f 50 LIBINCDIR)$(TOP
be40: 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e 66 75  )\test\sessionfu
be50: 7a 7a 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  zz.c /link $(LDF be60: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
be70: 54 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a  TS) /LIBPATH:$(Z be80: 4c 49 42 4c 49 42 44 49 52 29 20 24 28 5a 4c 49 LIBLIBDIR)$(ZLI
be90: 42 4c 49 42 29 0a 0a 6d 70 74 65 73 74 65 72 2e  BLIB)..mptester.
bea0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d 70 74 65  exe:.$(TOP)\mpte beb0: 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51 st\mptest.c$(SQ
bec0: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE bed0: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 3H)..$(LTLINK) $bee0: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d 50 54 45 (NO_WARN)$(MPTE
bef0: 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  STER_COMPILE_OPT
bf00: 53 29 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74  S) $(TOP)\mptest bf10: 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49 \mptest.c$(SQLI
bf20: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD bf30: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
bf40: 50 54 53 29 0a 0a 4d 50 54 45 53 54 31 20 3d 20  PTS)..MPTEST1 =
bf50: 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e  mptester mptest.
bf60: 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74  db $(TOP)\mptest bf70: 5c 63 72 61 73 68 30 31 2e 74 65 73 74 20 2d 2d \crash01.test -- bf80: 72 65 70 65 61 74 20 32 30 0a 4d 50 54 45 53 54 repeat 20.MPTEST bf90: 32 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74 2 = mptester mpt bfa0: 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70 est.db$(TOP)\mp
bfb0: 74 65 73 74 5c 6d 75 6c 74 69 77 72 69 74 65 30  test\multiwrite0
bfc0: 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20  1.test --repeat
bfd0: 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d 70 74 65  20..mptest:.mpte
bfe0: 73 74 65 72 2e 65 78 65 0a 09 64 65 6c 20 2f 51  ster.exe..del /Q
bff0: 20 6d 70 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c   mptest.db 2>NUL
c000: 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a  ..$(MPTEST1) --j c010: 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 ournalmode DELET c020: 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d E..$(MPTEST2) --
c030: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a  journalmode WAL.
c040: 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f  .$(MPTEST1) --jo c050: 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 urnalmode WAL..$
c060: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
c070: 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a  nalmode PERSIST.
c080: 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f  .$(MPTEST1) --jo c090: 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53 urnalmode PERSIS c0a0: 54 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d T..$(MPTEST2) --
c0b0: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e  journalmode TRUN
c0c0: 43 41 54 45 0a 09 24 28 4d 50 54 45 53 54 31 29  CATE..$(MPTEST1) c0d0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 --journalmode T c0e0: 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53 RUNCATE..$(MPTES
c0f0: 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T2) --journalmod
c100: 65 20 44 45 4c 45 54 45 0a 0a 23 20 54 68 69 73  e DELETE..# This
c110: 20 74 61 72 67 65 74 20 63 72 65 61 74 65 73 20   target creates
c120: 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65  a directory name
c130: 64 20 22 74 73 72 63 22 20 61 6e 64 20 66 69 6c  d "tsrc" and fil
c140: 6c 73 20 69 74 20 77 69 74 68 0a 23 20 63 6f 70  ls it with.# cop
c150: 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 68  ies of all of th
c160: 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20  e C source code
c170: 61 6e 64 20 68 65 61 64 65 72 20 66 69 6c 65 73  and header files
c180: 20 6e 65 65 64 65 64 20 74 6f 0a 23 20 62 75 69   needed to.# bui
c190: 6c 64 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74  ld on the target
c1a0: 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d 65 20 6f   system.  Some o
c1b0: 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 63  f the C source c
c1c0: 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 0a 23  ode and header.#
c1d0: 20 66 69 6c 65 73 20 61 72 65 20 61 75 74 6f 6d   files are autom
c1e0: 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74  atically generat
c1f0: 65 64 2e 20 20 54 68 69 73 20 74 61 72 67 65 74  ed.  This target
c200: 20 74 61 6b 65 73 20 63 61 72 65 20 6f 66 0a 23   takes care of.#
c210: 20 61 6c 6c 20 74 68 61 74 20 61 75 74 6f 6d 61   all that automa
c220: 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e 2e 0a  tic generation..
c230: 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65  #..target_source
c240: 3a 09 24 28 53 52 43 29 20 24 28 54 4f 50 29 5c  :.$(SRC)$(TOP)\
c250: 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65  tool\vdbe-compre
c260: 73 73 2e 74 63 6c 20 66 74 73 35 2e 63 20 24 28  ss.tcl fts5.c $( c270: 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a SQLITE_TCL_DEP). c280: 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 .-rmdir /Q/S tsr c290: 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20 c 2>NUL..-mkdir c2a0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 tsrc..for %i in c2b0: 28 24 28 53 52 43 30 30 29 29 20 64 6f 20 63 6f ($(SRC00)) do co
c2c0: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
c2d0: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0 c2e0: 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 1)) do copy /Y % c2f0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 i tsrc..for %i i c300: 6e 20 28 24 28 53 52 43 30 33 29 29 20 64 6f 20 n ($(SRC03)) do
c310: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
c320: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR c330: 43 30 34 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 C04)) do copy /Y c340: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 %i tsrc..for %i c350: 20 69 6e 20 28 24 28 53 52 43 30 35 29 29 20 64 in ($(SRC05)) d
c360: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
c370: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($( c380: 53 52 43 30 36 29 29 20 64 6f 20 63 6f 70 79 20 SRC06)) do copy c390: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 /Y %i tsrc..for c3a0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 37 29 29 %i in ($(SRC07))
c3b0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
c3c0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
c3d0: 24 28 53 52 43 30 38 29 29 20 64 6f 20 63 6f 70  $(SRC08)) do cop c3e0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f y /Y %i tsrc..fo c3f0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 39 r %i in ($(SRC09
c400: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
c410: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
c420: 20 28 24 28 53 52 43 31 30 29 29 20 64 6f 20 63   ($(SRC10)) do c c430: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 opy /Y %i tsrc.. c440: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 for %i in ($(SRC
c450: 31 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  11)) do copy /Y
c460: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i
c470: 69 6e 20 28 24 28 53 52 43 31 32 29 29 20 64 6f  in ($(SRC12)) do c480: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 copy /Y %i tsrc c490: 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 63 ..copy /Y fts5.c c4a0: 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 tsrc..copy /Y f c4b0: 74 73 35 2e 68 20 74 73 72 63 0a 09 64 65 6c 20 ts5.h tsrc..del c4c0: 2f 51 20 74 73 72 63 5c 73 71 6c 69 74 65 2e 68 /Q tsrc\sqlite.h c4d0: 2e 69 6e 20 74 73 72 63 5c 70 61 72 73 65 2e 79 .in tsrc\parse.y c4e0: 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c 53 48 5f 2>NUL..$(TCLSH_
c4f0: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool c500: 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 \vdbe-compress.t c510: 63 6c 20 24 28 4f 50 54 53 29 20 3c 20 74 73 72 cl$(OPTS) < tsr
c520: 63 5c 76 64 62 65 2e 63 20 3e 20 76 64 62 65 2e  c\vdbe.c > vdbe.
c530: 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62 65 2e 6e  new..move vdbe.n
c540: 65 77 20 74 73 72 63 5c 76 64 62 65 2e 63 0a 09  ew tsrc\vdbe.c..
c550: 65 63 68 6f 20 3e 20 2e 74 61 72 67 65 74 5f 73  echo > .target_s
c560: 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65 33 2e 63  ource..sqlite3.c
c570: 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65  :..target_source
c580: 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 24 28   sqlite3ext.h $( c590: 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 29 MKSQLITE3C_TOOL) c5a0: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 ..$(TCLSH_CMD) $c5b0: 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c (MKSQLITE3C_TOOL c5c0: 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 )$(MKSQLITE3C_A
c5d0: 52 47 53 29 0a 09 63 6f 70 79 20 24 28 54 4f 50  RGS)..copy $(TOP c5e0: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 )\ext\session\sq c5f0: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 20 2e lite3session.h . c600: 0a 0a 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 3a ..sqlite3-all.c: c610: 09 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 .sqlite3.c$(TOP
c620: 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c  )\tool\split-sql
c630: 69 74 65 33 63 2e 74 63 6c 0a 09 24 28 54 43 4c  ite3c.tcl..$(TCL c640: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 SH_CMD)$(TOP)\t
c650: 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65  ool\split-sqlite
c660: 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b  3c.tcl.# <</mark
c670: 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75  >>..# Rule to bu
c680: 69 6c 64 20 74 68 65 20 61 6d 61 6c 67 61 6d 61  ild the amalgama
c690: 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 65 33 2e 6c  tion.#.sqlite3.l
c6a0: 6f 3a 09 24 28 53 51 4c 49 54 45 33 43 29 0a 09  o:.$(SQLITE3C).. c6b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C c6c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS c6d0: 29 20 2d 63 20 24 28 53 51 4c 49 54 45 33 43 29 ) -c$(SQLITE3C)
c6e0: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52  ..# <<mark>>.# R
c6f0: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68  ules to build th
c700: 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72  e LEMON compiler
c710: 20 67 65 6e 65 72 61 74 6f 72 0a 23 0a 6c 65 6d   generator.#.lem
c720: 70 61 72 2e 63 3a 09 24 28 54 4f 50 29 5c 74 6f  par.c:.$(TOP)\to c730: 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09 63 6f 70 ol\lempar.c..cop c740: 79 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 y$(TOP)\tool\le
c750: 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e  mpar.c ...lemon.
c760: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool c770: 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70 61 72 2e \lemon.c lempar. c780: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 c..$(BCC) $(NO_W c790: 41 52 4e 29 20 2d 44 61 63 63 65 73 73 3d 5f 61 ARN) -Daccess=_a c7a0: 63 63 65 73 73 20 5c 0a 09 09 2d 46 65 24 40 20 ccess \...-Fe$@
c7b0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f  $(TOP)\tool\lemo c7c0: 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c n.c /link$(LDFL
c7d0: 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50  AGS) $(NLTLINKOP c7e0: 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 TS)$(NLTLIBPATH
c7f0: 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  S)..# <<mark>>.#
c800: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build
c810: 74 68 65 20 73 6f 75 72 63 65 2d 69 64 20 67 65  the source-id ge
c820: 6e 65 72 61 74 6f 72 20 74 6f 6f 6c 0a 23 0a 6d  nerator tool.#.m
c830: 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 3a 09 24  ksourceid.exe:.$c840: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 (TOP)\tool\mksou c850: 72 63 65 69 64 2e 63 0a 09 24 28 42 43 43 29 20 rceid.c..$(BCC)
c860: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40  $(NO_WARN) -Fe$@
c870: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73   $(TOP)\tool\mks c880: 6f 75 72 63 65 69 64 2e 63 20 2f 6c 69 6e 6b 20 ourceid.c /link c890: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54$(LDFLAGS) $(NLT c8a0: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c LINKOPTS)$(NLTL
c8b0: 49 42 50 41 54 48 53 29 0a 0a 23 20 52 75 6c 65  IBPATHS)..# Rule
c8c0: 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64 69 76  s to build indiv
c8d0: 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73  idual *.lo files
c8e0: 20 66 72 6f 6d 20 67 65 6e 65 72 61 74 65 64 20   from generated
c8f0: 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68 69 73 0a  *.c files. This.
c900: 23 20 61 70 70 6c 69 65 73 20 74 6f 3a 0a 23 0a  # applies to:.#.
c910: 23 20 20 20 20 20 70 61 72 73 65 2e 6c 6f 0a 23  #     parse.lo.#
c920: 20 20 20 20 20 6f 70 63 6f 64 65 73 2e 6c 6f 0a       opcodes.lo.
c930: 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 61 72 73  #.parse.lo:.pars
c940: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
c950: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ c960: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c c970: 20 70 61 72 73 65 2e 63 0a 0a 6f 70 63 6f 64 65 parse.c..opcode c980: 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73 2e 63 0a s.lo:.opcodes.c. c990: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( c9a0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT c9b0: 53 29 20 2d 63 20 6f 70 63 6f 64 65 73 2e 63 0a S) -c opcodes.c. c9c0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 # <</mark>>..# R c9d0: 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 ule to build the c9e0: 20 57 69 6e 33 32 20 72 65 73 6f 75 72 63 65 73 Win32 resources c9f0: 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 23 0a object file..#. ca00: 21 49 46 20 24 28 55 53 45 5f 52 43 29 21 3d 30 !IF$(USE_RC)!=0
ca10: 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e 0a 24 28  .# <<block1>>.$( ca20: 4c 49 42 52 45 53 4f 42 4a 53 29 3a 09 24 28 54 LIBRESOBJS):.$(T
ca30: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e  OP)\src\sqlite3.
ca40: 72 63 20 24 28 53 51 4c 49 54 45 33 48 29 20 24  rc $(SQLITE3H)$
ca50: 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 65  (TOP)\VERSION..e
ca60: 63 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49  cho #ifndef SQLI
ca70: 54 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53  TE_RESOURCE_VERS
ca80: 49 4f 4e 20 3e 20 73 71 6c 69 74 65 33 72 63 2e  ION > sqlite3rc.
ca90: 68 0a 09 66 6f 72 20 2f 46 20 25 25 56 20 69 6e  h..for /F %%V in
caa0: 20 28 27 74 79 70 65 20 22 24 28 54 4f 50 29 5c   ('type "$(TOP)\ cab0: 56 45 52 53 49 4f 4e 22 27 29 20 64 6f 20 28 20 VERSION"') do ( cac0: 5c 0a 09 09 65 63 68 6f 20 23 64 65 66 69 6e 65 \...echo #define cad0: 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 SQLITE_RESOURCE cae0: 5f 56 45 52 53 49 4f 4e 20 25 25 56 20 5c 0a 09 _VERSION %%V \.. caf0: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
cb00: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep cb10: 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 2e lace.tcl exact . cb20: 20 5e 2c 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 ^, >> sqlite3rc cb30: 2e 68 20 5c 0a 09 29 0a 09 65 63 68 6f 20 23 65 .h \..)..echo #e cb40: 6e 64 69 66 20 3e 3e 20 73 71 6c 69 74 65 33 72 ndif >> sqlite3r cb50: 63 2e 68 0a 09 24 28 4c 54 52 43 4f 4d 50 49 4c c.h..$(LTRCOMPIL
cb60: 45 29 20 2d 66 6f 20 24 28 4c 49 42 52 45 53 4f  E) -fo $(LIBRESO cb70: 42 4a 53 29 20 24 28 54 4f 50 29 5c 73 72 63 5c BJS)$(TOP)\src\
cb80: 73 71 6c 69 74 65 33 2e 72 63 0a 23 20 3c 3c 2f  sqlite3.rc.# <</
cb90: 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e 44 49 46 0a  block1>>.!ENDIF.
cba0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75  .# <<mark>>.# Ru
cbb0: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64  les to build ind
cbc0: 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c  ividual *.lo fil
cbd0: 65 73 20 66 72 6f 6d 20 66 69 6c 65 73 20 69 6e  es from files in
cbe0: 20 74 68 65 20 73 72 63 20 64 69 72 65 63 74 6f   the src directo
cbf0: 72 79 2e 0a 23 0a 61 6c 74 65 72 2e 6c 6f 3a 09  ry..#.alter.lo:.
cc00: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72  $(TOP)\src\alter cc10: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC cc20: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
cc30: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
cc40: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72  $(TOP)\src\alter cc50: 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 .c..analyze.lo:. cc60: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79$(TOP)\src\analy
cc70: 7a 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ze.c $(HDR)..$(L
cc80: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE cc90: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - cca0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 c$(TOP)\src\ana
ccb0: 6c 79 7a 65 2e 63 0a 0a 61 74 74 61 63 68 2e 6c  lyze.c..attach.l
ccc0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 74  o:.$(TOP)\src\at ccd0: 74 61 63 68 2e 63 20 24 28 48 44 52 29 0a 09 24 tach.c$(HDR)..$cce0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
ccf0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cd00: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a cd10: 74 74 61 63 68 2e 63 0a 0a 61 75 74 68 2e 6c 6f ttach.c..auth.lo cd20: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 :.$(TOP)\src\aut
cd30: 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.c $(HDR)..$(LT
cd40: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ cd50: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c cd60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68$(TOP)\src\auth
cd70: 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c 6f 3a 09 24  .c..backup.lo:.$cd80: 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 (TOP)\src\backup cd90: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC cda0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
cdb0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
cdc0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75  $(TOP)\src\backu cdd0: 70 2e 63 0a 0a 62 69 74 76 65 63 2e 6c 6f 3a 09 p.c..bitvec.lo:. cde0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65$(TOP)\src\bitve
cdf0: 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  c.c $(HDR)..$(LT
ce00: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ ce10: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c ce20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76$(TOP)\src\bitv
ce30: 65 63 2e 63 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f  ec.c..btmutex.lo
ce40: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d  :.$(TOP)\src\btm ce50: 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 utex.c$(HDR)..$ce60: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
ce70: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ce80: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b ce90: 74 6d 75 74 65 78 2e 63 0a 0a 62 74 72 65 65 2e tmutex.c..btree. cea0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 lo:.$(TOP)\src\b
ceb0: 74 72 65 65 2e 63 20 24 28 48 44 52 29 20 24 28  tree.c $(HDR)$(
cec0: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68  TOP)\src\pager.h
ced0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
cee0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cef0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr cf00: 63 5c 62 74 72 65 65 2e 63 0a 0a 62 75 69 6c 64 c\btree.c..build cf10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
cf20: 62 75 69 6c 64 2e 63 20 24 28 48 44 52 29 0a 09  build.c $(HDR).. cf30: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C cf40: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS cf50: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
cf60: 62 75 69 6c 64 2e 63 0a 0a 63 61 6c 6c 62 61 63  build.c..callbac
cf70: 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  k.lo:.$(TOP)\src cf80: 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 24 28 48 44 \callback.c$(HD
cf90: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) cfa0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
cfb0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ cfc0: 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 0a 0a src\callback.c.. cfd0: 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 complete.lo:.$(T
cfe0: 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65  OP)\src\complete
cff0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d000: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C d010: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c d020: 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c$(TOP)\src\compl
d030: 65 74 65 2e 63 0a 0a 63 74 69 6d 65 2e 6c 6f 3a  ete.c..ctime.lo:
d040: 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d  .$(TOP)\src\ctim d050: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 e.c$(HDR)..$(LT d060: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
d070: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d080: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d   $(TOP)\src\ctim d090: 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f 3a 09 24 28 e.c..date.lo:.$(
d0a0: 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20  TOP)\src\date.c
d0b0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d0c0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP d0d0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
d0e0: 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 0a 0a  OP)\src\date.c..
d0f0: 64 62 70 61 67 65 2e 6c 6f 3a 09 24 28 54 4f 50  dbpage.lo:.$(TOP d100: 29 5c 73 72 63 5c 64 62 70 61 67 65 2e 63 20 24 )\src\dbpage.c$
d110: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d120: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d130: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d140: 50 29 5c 73 72 63 5c 64 62 70 61 67 65 2e 63 0a P)\src\dbpage.c. d150: 0a 64 62 73 74 61 74 2e 6c 6f 3a 09 24 28 54 4f .dbstat.lo:.$(TO
d160: 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 20  P)\src\dbstat.c
d170: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d180: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP d190: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
d1a0: 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63  OP)\src\dbstat.c
d1b0: 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09 24 28 54  ..delete.lo:.$(T d1c0: 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 OP)\src\delete.c d1d0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM d1e0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
d1f0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( d200: 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e TOP)\src\delete. d210: 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f c..expr.lo:.$(TO
d220: 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 24 28  P)\src\expr.c $( d230: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d240: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d250: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
d260: 29 5c 73 72 63 5c 65 78 70 72 2e 63 0a 0a 66 61  )\src\expr.c..fa
d270: 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ult.lo:.$(TOP)\s d280: 72 63 5c 66 61 75 6c 74 2e 63 20 24 28 48 44 52 rc\fault.c$(HDR
d290: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) d2a0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
d2b0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s d2c0: 72 63 5c 66 61 75 6c 74 2e 63 0a 0a 66 6b 65 79 rc\fault.c..fkey d2d0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
d2e0: 66 6b 65 79 2e 63 20 24 28 48 44 52 29 0a 09 24  fkey.c $(HDR)..$
d2f0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO d300: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) d310: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 -c$(TOP)\src\f
d320: 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c 6f 3a 09  key.c..func.lo:.
d330: 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e  $(TOP)\src\func. d340: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO d350: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d360: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $d370: 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 (TOP)\src\func.c d380: 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54 ..global.lo:.$(T
d390: 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63  OP)\src\global.c
d3a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d3b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM d3c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
d3d0: 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e  TOP)\src\global.
d3e0: 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f  c..hash.lo:.$(TO d3f0: 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20 24 28 P)\src\hash.c$(
d400: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d410: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d420: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d430: 29 5c 73 72 63 5c 68 61 73 68 2e 63 0a 0a 69 6e )\src\hash.c..in d440: 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c sert.lo:.$(TOP)\
d450: 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 24 28 48  src\insert.c $(H d460: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
d470: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE d480: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
d490: 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 0a 0a 6c  \src\insert.c..l
d4a0: 65 67 61 63 79 2e 6c 6f 3a 09 24 28 54 4f 50 29  egacy.lo:.$(TOP) d4b0: 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 20 24 28 \src\legacy.c$(
d4c0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d4d0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d4e0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d4f0: 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 0a 0a )\src\legacy.c.. d500: 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f loadext.lo:.$(TO
d510: 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63  P)\src\loadext.c
d520: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d530: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM d540: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
d550: 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74  TOP)\src\loadext
d560: 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09 24 28 54  .c..main.lo:.$(T d570: 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 24 OP)\src\main.c$
d580: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d590: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d5a0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d5b0: 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 0a 0a 6d P)\src\main.c..m d5c0: 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 alloc.lo:.$(TOP)
d5d0: 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 24 28  \src\malloc.c $( d5e0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d5f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d600: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
d610: 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a  )\src\malloc.c..
d620: 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  mem0.lo:.$(TOP)\ d630: 73 72 63 5c 6d 65 6d 30 2e 63 20 24 28 48 44 52 src\mem0.c$(HDR
d640: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) d650: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
d660: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s d670: 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65 6d 31 2e rc\mem0.c..mem1. d680: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d lo:.$(TOP)\src\m
d690: 65 6d 31 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em1.c $(HDR)..$(
d6a0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR d6b0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) d6c0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 -c$(TOP)\src\me
d6d0: 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24  m1.c..mem2.lo:.$d6e0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 (TOP)\src\mem2.c d6f0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM d700: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
d710: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( d720: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a TOP)\src\mem2.c. d730: 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 .mem3.lo:.$(TOP)
d740: 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 24 28 48 44  \src\mem3.c $(HD d750: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d760: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d770: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
d780: 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35  src\mem3.c..mem5
d790: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d7a0: 6d 65 6d 35 2e 63 20 24 28 48 44 52 29 0a 09 24 mem5.c$(HDR)..$d7b0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d7c0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d7d0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m d7e0: 65 6d 35 2e 63 0a 0a 6d 65 6d 64 62 2e 6c 6f 3a em5.c..memdb.lo: d7f0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 64 .$(TOP)\src\memd
d800: 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  b.c $(HDR)..$(LT
d810: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d820: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d830: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 64$(TOP)\src\memd
d840: 62 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  b.c..memjournal.
d850: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m d860: 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44 emjournal.c$(HD
d870: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) d880: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
d890: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ d8a0: 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 src\memjournal.c d8b0: 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f ..mutex.lo:.$(TO
d8c0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 24  P)\src\mutex.c $d8d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
d8e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI d8f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
d900: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 0a 0a  P)\src\mutex.c..
d910: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24  mutex_noop.lo:.$d920: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f (TOP)\src\mutex_ d930: 6e 6f 6f 70 2e 63 20 24 28 48 44 52 29 0a 09 24 noop.c$(HDR)..$d940: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d950: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d960: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m d970: 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74 utex_noop.c..mut d980: 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f ex_unix.lo:.$(TO
d990: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69  P)\src\mutex_uni
d9a0: 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  x.c $(HDR)..$(LT
d9b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d9c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d9d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65$(TOP)\src\mute
d9e0: 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74 65 78 5f  x_unix.c..mutex_
d9f0: 77 33 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  w32.lo:.$(TOP)\s da00: 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 24 rc\mutex_w32.c$
da10: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI da20: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
da30: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO da40: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 P)\src\mutex_w32 da50: 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24 .c..notify.lo:.$
da60: 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79  (TOP)\src\notify
da70: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
da80: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C da90: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c daa0: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66$(TOP)\src\notif
dab0: 79 2e 63 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09 24  y.c..pager.lo:.$dac0: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e (TOP)\src\pager. dad0: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c c$(HDR) $(TOP)\ dae0: 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c src\pager.h..$(L
daf0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE db00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - db10: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 c$(TOP)\src\pag
db20: 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a  er.c..pcache.lo:
db30: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63  .$(TOP)\src\pcac db40: 68 65 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f he.c$(HDR) $(TO db50: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a P)\src\pcache.h. db60: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( db70: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT db80: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
db90: 5c 70 63 61 63 68 65 2e 63 0a 0a 70 63 61 63 68  \pcache.c..pcach
dba0: 65 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  e1.lo:.$(TOP)\sr dbb0: 63 5c 70 63 61 63 68 65 31 2e 63 20 24 28 48 44 c\pcache1.c$(HD
dbc0: 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  R) $(TOP)\src\pc dbd0: 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 ache.h..$(LTCOMP
dbe0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP dbf0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
dc00: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e  OP)\src\pcache1.
dc10: 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50 29  c..os.lo:.$(TOP) dc20: 5c 73 72 63 5c 6f 73 2e 63 20 24 28 48 44 52 29 \src\os.c$(HDR)
dc30: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
dc40: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
dc50: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr dc60: 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 2e c\os.c..os_unix. dc70: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f lo:.$(TOP)\src\o
dc80: 73 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a  s_unix.c $(HDR). dc90: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( dca0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT dcb0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
dcc0: 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77  \os_unix.c..os_w
dcd0: 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  in.lo:.$(TOP)\sr dce0: 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 28 48 44 52 c\os_win.c$(HDR
dcf0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) dd00: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
dd10: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s dd20: 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61 rc\os_win.c..pra dd30: 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 gma.lo:.$(TOP)\s
dd40: 72 63 5c 70 72 61 67 6d 61 2e 63 20 24 28 48 44  rc\pragma.c $(HD dd50: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
dd60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ dd70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
dd80: 73 72 63 5c 70 72 61 67 6d 61 2e 63 0a 0a 70 72  src\pragma.c..pr
dd90: 65 70 61 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  epare.lo:.$(TOP) dda0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 24 \src\prepare.c$
ddb0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI ddc0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
ddd0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO dde0: 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 P)\src\prepare.c ddf0: 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 ..printf.lo:.$(T
de00: 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63  OP)\src\printf.c
de10: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
de20: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM de30: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
de40: 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e  TOP)\src\printf.
de50: 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24 28  c..random.lo:.$( de60: 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e TOP)\src\random. de70: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO de80: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
de90: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $dea0: 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d (TOP)\src\random deb0: 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a 09 .c..resolve.lo:. dec0: 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c$(TOP)\src\resol
ded0: 76 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ve.c $(HDR)..$(L
dee0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE def0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - df00: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 c$(TOP)\src\res
df10: 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c  olve.c..rowset.l
df20: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f  o:.$(TOP)\src\ro df30: 77 73 65 74 2e 63 20 24 28 48 44 52 29 0a 09 24 wset.c$(HDR)..$df40: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
df50: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
df60: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72   -c $(TOP)\src\r df70: 6f 77 73 65 74 2e 63 0a 0a 73 65 6c 65 63 74 2e owset.c..select. df80: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 lo:.$(TOP)\src\s
df90: 65 6c 65 63 74 2e 63 20 24 28 48 44 52 29 0a 09  elect.c $(HDR).. dfa0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C dfb0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS dfc0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
dfd0: 73 65 6c 65 63 74 2e 63 0a 0a 73 74 61 74 75 73  select.c..status
dfe0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ dff0: 73 74 61 74 75 73 2e 63 20 24 28 48 44 52 29 0a status.c$(HDR).
e000: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
e010: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e020: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src e030: 5c 73 74 61 74 75 73 2e 63 0a 0a 74 61 62 6c 65 \status.c..table e040: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
e050: 74 61 62 6c 65 2e 63 20 24 28 48 44 52 29 0a 09  table.c $(HDR).. e060: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C e070: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS e080: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
e090: 74 61 62 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73  table.c..threads
e0a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ e0b0: 74 68 72 65 61 64 73 2e 63 20 24 28 48 44 52 29 threads.c$(HDR)
e0c0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
e0d0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e0e0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr e0f0: 63 5c 74 68 72 65 61 64 73 2e 63 0a 0a 74 6f 6b c\threads.c..tok e100: 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 enize.lo:.$(TOP)
e110: 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20  \src\tokenize.c
e120: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 24 28  keywordhash.h $( e130: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
e140: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL e150: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
e160: 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63  )\src\tokenize.c
e170: 0a 0a 74 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24  ..treeview.lo:.$e180: 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69 (TOP)\src\treevi e190: 65 77 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c ew.c$(HDR)..$(L e1a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
e1b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
e1c0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65  c $(TOP)\src\tre e1d0: 65 76 69 65 77 2e 63 0a 0a 74 72 69 67 67 65 72 eview.c..trigger e1e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
e1f0: 74 72 69 67 67 65 72 2e 63 20 24 28 48 44 52 29  trigger.c $(HDR) e200: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $e210: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP e220: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
e230: 63 5c 74 72 69 67 67 65 72 2e 63 0a 0a 75 70 64  c\trigger.c..upd
e240: 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ate.lo:.$(TOP)\s e250: 72 63 5c 75 70 64 61 74 65 2e 63 20 24 28 48 44 rc\update.c$(HD
e260: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e270: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e280: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ e290: 73 72 63 5c 75 70 64 61 74 65 2e 63 0a 0a 75 70 src\update.c..up e2a0: 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c sert.lo:.$(TOP)\
e2b0: 73 72 63 5c 75 70 73 65 72 74 2e 63 20 24 28 48  src\upsert.c $(H e2c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
e2d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE e2e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
e2f0: 5c 73 72 63 5c 75 70 73 65 72 74 2e 63 0a 0a 75  \src\upsert.c..u
e300: 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  tf.lo:.$(TOP)\sr e310: 63 5c 75 74 66 2e 63 20 24 28 48 44 52 29 0a 09 c\utf.c$(HDR)..
e320: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
e330: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e340: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ e350: 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 utf.c..util.lo:. e360: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e$(TOP)\src\util.
e370: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e380: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO e390: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
e3a0: 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63  (TOP)\src\util.c
e3b0: 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09 24 28 54  ..vacuum.lo:.$(T e3c0: 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 OP)\src\vacuum.c e3d0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM e3e0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
e3f0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( e400: 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e TOP)\src\vacuum. e410: 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f c..vdbe.lo:.$(TO
e420: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28  P)\src\vdbe.c $( e430: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
e440: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL e450: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
e460: 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64  )\src\vdbe.c..vd
e470: 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29  beapi.lo:.$(TOP) e480: 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63 20 24 \src\vdbeapi.c$
e490: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI e4a0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
e4b0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO e4c0: 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63 P)\src\vdbeapi.c e4d0: 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28 ..vdbeaux.lo:.$(
e4e0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
e4f0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e500: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C e510: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c e520: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61$(TOP)\src\vdbea
e530: 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c  ux.c..vdbeblob.l
e540: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd e550: 62 65 62 6c 6f 62 2e 63 20 24 28 48 44 52 29 0a beblob.c$(HDR).
e560: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
e570: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e580: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src e590: 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62 \vdbeblob.c..vdb e5a0: 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c emem.lo:.$(TOP)\
e5b0: 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28  src\vdbemem.c $( e5c0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
e5d0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL e5e0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
e5f0: 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 0a  )\src\vdbemem.c.
e600: 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a 09 24 28  .vdbesort.lo:.$( e610: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 TOP)\src\vdbesor e620: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 t.c$(HDR)..$(LT e630: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
e640: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e650: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe e660: 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74 72 61 63 sort.c..vdbetrac e670: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
e680: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 24 28 48  \vdbetrace.c $(H e690: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
e6a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE e6b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
e6c0: 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63  \src\vdbetrace.c
e6d0: 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50  ..vtab.lo:.$(TOP e6e0: 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 24 28 48 )\src\vtab.c$(H
e6f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE e700: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
e710: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) e720: 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a 77 61 6c \src\vtab.c..wal e730: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
e740: 77 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28  wal.c $(HDR)..$(
e750: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR e760: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) e770: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 -c$(TOP)\src\wa
e780: 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09  l.c..walker.lo:.
e790: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65  $(TOP)\src\walke e7a0: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 r.c$(HDR)..$(LT e7b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
e7c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e7d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b   $(TOP)\src\walk e7e0: 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09 er.c..where.lo:. e7f0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65$(TOP)\src\where
e800: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e810: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C e820: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c e830: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65$(TOP)\src\where
e840: 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65 2e 6c 6f  .c..wherecode.lo
e850: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  :.$(TOP)\src\whe e860: 72 65 63 6f 64 65 2e 63 20 24 28 48 44 52 29 0a recode.c$(HDR).
e870: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
e880: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e890: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src e8a0: 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a 0a 77 68 \wherecode.c..wh e8b0: 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f ereexpr.lo:.$(TO
e8c0: 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72  P)\src\whereexpr
e8d0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e8e0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C e8f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c e900: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65$(TOP)\src\where
e910: 65 78 70 72 2e 63 0a 0a 77 69 6e 64 6f 77 2e 6c  expr.c..window.l
e920: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 69  o:.$(TOP)\src\wi e930: 6e 64 6f 77 2e 63 20 24 28 48 44 52 29 0a 09 24 ndow.c$(HDR)..$e940: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
e950: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e960: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77   -c $(TOP)\src\w e970: 69 6e 64 6f 77 2e 63 0a 0a 74 63 6c 73 71 6c 69 indow.c..tclsqli e980: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 te.lo:.$(TOP)\sr
e990: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $( e9a0: 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 HDR)$(SQLITE_TC
e9b0: 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50  L_DEP)..$(LTCOMP e9c0: 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 ILE)$(NO_WARN)
e9d0: 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d  -DUSE_TCL_STUBS=
e9e0: 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  1 -DBUILD_sqlite
e9f0: 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) ea00: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 -c$(TOP)\src\tc
ea10: 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71  lsqlite.c..tclsq
ea20: 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a 09 24  lite-shell.lo:.$ea30: 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c (TOP)\src\tclsql ea40: 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 53 ite.c$(HDR) $(S ea50: 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 QLITE_TCL_DEP).. ea60: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e$(LTCOMPILE) $(N ea70: 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c 53 48 20 O_WARN) -DTCLSH ea80: 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d -DBUILD_sqlite - ea90: 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 I$(TCLINCDIR) -c
eaa0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls eab0: 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 qlite.c..tclsqli eac0: 74 65 33 2e 65 78 65 3a 09 74 63 6c 73 71 6c 69 te3.exe:.tclsqli ead0: 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 53 51 te-shell.lo$(SQ
eae0: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE eaf0: 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 3H)$(LIBRESOBJS
eb00: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53  )..$(LTLINK)$(S
eb10: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $eb20: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
eb30: 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42  NKOPTS) $(TCLLIB eb40: 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 PATHS)$(LTLIBPA
eb50: 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c  THS) /OUT:$@ tcl eb60: 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 sqlite-shell.lo eb70: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28$(LIBRESOBJS) $( eb80: 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 TCLLIBS)$(LTLIB
eb90: 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 52  S) $(TLIBS)..# R eba0: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 6f 70 ules to build op ebb0: 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f 70 63 6f codes.c and opco ebc0: 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64 65 73 2e des.h.#.opcodes. ebd0: 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20 24 28 54 c:.opcodes.h$(T
ebe0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64  OP)\tool\mkopcod
ebf0: 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f  ec.tcl..$(TCLSH_ ec00: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c CMD)$(TOP)\tool
ec10: 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 20 6f  \mkopcodec.tcl o
ec20: 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70 63 6f 64  pcodes.h > opcod
ec30: 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 68 3a  es.c..opcodes.h:
ec40: 09 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29 5c  .parse.h $(TOP)\ ec50: 73 72 63 5c 76 64 62 65 2e 63 20 24 28 54 4f 50 src\vdbe.c$(TOP
ec60: 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68  )\tool\mkopcodeh
ec70: 2e 74 63 6c 0a 09 74 79 70 65 20 70 61 72 73 65  .tcl..type parse
ec80: 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .h $(TOP)\src\vd ec90: 62 65 2e 63 20 7c 20 24 28 54 43 4c 53 48 5f 43 be.c |$(TCLSH_C
eca0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ ecb0: 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 20 3e 20 mkopcodeh.tcl > ecc0: 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20 52 75 6c opcodes.h..# Rul ecd0: 65 73 20 74 6f 20 62 75 69 6c 64 20 70 61 72 73 es to build pars ece0: 65 2e 63 20 61 6e 64 20 70 61 72 73 65 2e 68 20 e.c and parse.h ecf0: 2d 20 74 68 65 20 6f 75 74 70 75 74 73 20 6f 66 - the outputs of ed00: 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72 73 65 2e lemon..#.parse. ed10: 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70 61 72 73 h:.parse.c..pars ed20: 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c e.c:.$(TOP)\src\
ed30: 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78  parse.y lemon.ex
ed40: 65 0a 09 64 65 6c 20 2f 51 20 70 61 72 73 65 2e  e..del /Q parse.
ed50: 79 20 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e  y parse.h parse.
ed60: 68 2e 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f  h.temp 2>NUL..co
ed70: 70 79 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  py $(TOP)\src\pa ed80: 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e rse.y ....\lemon ed90: 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 .exe$(REQ_FEATU
eda0: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f  RE_FLAGS) $(OPT_ edb0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 FEATURE_FLAGS)$
edc0: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
edd0: 47 53 29 20 24 28 4f 50 54 53 29 20 70 61 72 73  GS) $(OPTS) pars ede0: 65 2e 79 0a 0a 24 28 53 51 4c 49 54 45 33 48 29 e.y..$(SQLITE3H)
edf0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c  :.$(TOP)\src\sql ee00: 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c ite.h.in$(TOP)\
ee10: 6d 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72 63  manifest mksourc
ee20: 65 69 64 2e 65 78 65 20 24 28 54 4f 50 29 5c 56  eid.exe $(TOP)\V ee30: 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f ERSION..$(TCLSH_
ee40: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool ee50: 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 \mksqlite3h.tcl ee60: 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53$(TOP:\=/) > $(S ee70: 51 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51 4c QLITE3H)$(MKSQL
ee80: 49 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71 6c  ITE3H_ARGS)..sql
ee90: 69 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72 67  ite3ext.h:..targ
eea0: 65 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24 28  et_source.!IF $( eeb0: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 USE_STDCALL)!=0 eec0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 ||$(FOR_WIN10)!
eed0: 3d 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73 71  =0..type tsrc\sq
eee0: 6c 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28 54  lite3ext.h | $(T eef0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
ef00: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
ef10: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c 29  l regsub "$$\*$$
ef20: 22 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c 42  " "(SQLITE_CALLB
ef30: 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24 28  ACK *)" \...| $( ef40: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
ef50: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
ef60: 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22  cl regsub "\(\*"
ef70: 20 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41 4c   "(SQLITE_APICAL
ef80: 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65 78  L *" > sqlite3ex
ef90: 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71 6c  t.h..copy /Y sql
efa0: 69 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c 73  ite3ext.h tsrc\s
efb0: 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c 53  qlite3ext.h.!ELS
efc0: 45 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63 5c  E..copy /Y tsrc\
efd0: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c  sqlite3ext.h sql
efe0: 69 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49 46  ite3ext.h.!ENDIF
eff0: 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  ..mkkeywordhash.
f000: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool f010: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 \mkkeywordhash.c f020: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 ..$(BCC) $(NO_WA f030: 52 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f RN) -Fe$@ $(REQ_ f040: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 FEATURE_FLAGS)$
f050: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
f060: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52  GS) $(EXT_FEATUR f070: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 E_FLAGS)$(OPTS)
f080: 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool f090: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 \mkkeywordhash.c f0a0: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 /link$(LDFLAGS
f0b0: 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29  ) $(NLTLINKOPTS) f0c0: 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a$(NLTLIBPATHS).
f0d0: 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09  .keywordhash.h:.
f0e0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65  $(TOP)\tool\mkke f0f0: 79 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65 ywordhash.c mkke f100: 79 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e ywordhash.exe... f110: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 \mkkeywordhash.e f120: 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68 xe > keywordhash f130: 2e 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 69 6c .h..# Source fil f140: 65 73 20 74 68 61 74 20 67 6f 20 69 6e 74 6f 20 es that go into f150: 6d 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a 53 making shell.c.S f160: 48 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24 28 HELL_SRC = \..$(
f170: 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63  TOP)\src\shell.c
f180: 2e 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78  .in \..$(TOP)\ex f190: 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 t\misc\appendvfs f1a0: 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 .c \..$(TOP)\ext
f1b0: 5c 6d 69 73 63 5c 73 68 61 74 68 72 65 65 2e 63  \misc\shathree.c
f1c0: 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d   \..$(TOP)\ext\m f1d0: 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 09 isc\fileio.c \.. f1e0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
f1f0: 63 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09  completion.c \..
f200: 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72  $(TOP)\ext\exper f210: 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e t\sqlite3expert. f220: 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c c \..$(TOP)\ext\
f230: 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
f240: 70 65 72 74 2e 68 20 5c 0a 09 24 28 54 4f 50 29  pert.h \..$(TOP) f250: 5c 65 78 74 5c 6d 69 73 63 5c 6d 65 6d 74 72 61 \ext\misc\memtra f260: 63 65 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 73 ce.c \..$(TOP)\s
f270: 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e  rc\test_windiren
f280: 74 2e 63 0a 0a 23 20 49 66 20 75 73 65 20 6f 66  t.c..# If use of
f290: 20 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c 65 64   zlib is enabled
f2a0: 2c 20 61 64 64 20 74 68 65 20 22 7a 69 70 66 69  , add the "zipfi
f2b0: 6c 65 2e 63 22 20 73 6f 75 72 63 65 20 66 69 6c  le.c" source fil
f2c0: 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a  e..#.!IF $(USE_Z f2d0: 4c 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 53 52 LIB)!=0.SHELL_SR f2e0: 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29 C =$(SHELL_SRC)
f2f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc f300: 5c 73 71 6c 61 72 2e 63 0a 53 48 45 4c 4c 5f 53 \sqlar.c.SHELL_S f310: 52 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 RC =$(SHELL_SRC
f320: 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ) $(TOP)\ext\mis f330: 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 c\zipfile.c.!END f340: 49 46 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24 28 53 IF..shell.c:.$(S
f350: 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29  HELL_SRC) $(TOP) f360: 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 \tool\mkshellc.t f370: 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 cl..$(TCLSH_CMD)
f380: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73   $(TOP)\tool\mks f390: 68 65 6c 6c 63 2e 74 63 6c 20 3e 20 73 68 65 6c hellc.tcl > shel f3a0: 6c 2e 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75 73 68 l.c..zlib:..push f3b0: 64 20 24 28 5a 4c 49 42 44 49 52 29 20 26 26 20 d$(ZLIBDIR) &&
f3c0: 24 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33 32  $(MAKE) /f win32 f3d0: 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 63 6c \Makefile.msc cl f3e0: 65 61 6e 20 24 28 5a 4c 49 42 4c 49 42 29 20 26 ean$(ZLIBLIB) &
f3f0: 26 20 70 6f 70 64 0a 0a 23 20 52 75 6c 65 73 20  & popd..# Rules
f400: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78 74  to build the ext
f410: 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a  ension objects..
f420: 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29  #.icu.lo:.$(TOP) f430: 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 24 \ext\icu\icu.c$
f440: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). f450: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( f460: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT f470: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
f480: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $f490: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 (TOP)\ext\icu\ic f4a0: 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28 u.c..fts2.lo:.$(
f4b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
f4c0: 73 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s2.c $(HDR)$(EX
f4d0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI f4e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
f4f0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA f500: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR f510: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
f520: 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73  fts2\fts2.c..fts
f530: 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50  2_hash.lo:.$(TOP f540: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f )\ext\fts2\fts2_ f550: 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 hash.c$(HDR) $( f560: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
f570: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM f580: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
f590: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f5a0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex f5b0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 t\fts2\fts2_hash f5c0: 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a .c..fts2_icu.lo: f5d0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 .$(TOP)\ext\fts2
f5e0: 5c 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48 44  \fts2_icu.c $(HD f5f0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( f600: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
f610: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
f620: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL f630: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
f640: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
f650: 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72  _icu.c..fts2_por
f660: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ter.lo:.$(TOP)\e f670: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 xt\fts2\fts2_por f680: 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 ter.c$(HDR) $(E f690: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
f6a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP f6b0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
f6c0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f6d0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext f6e0: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 \fts2\fts2_porte f6f0: 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 r.c..fts2_tokeni f700: 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 zer.lo:.$(TOP)\e
f710: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
f720: 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20  enizer.c $(HDR) f730: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC f740: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
f750: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N f760: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE f770: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
f780: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
f790: 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f  kenizer.c..fts2_
f7a0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24  tokenizer1.lo:.$f7b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f f7c0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 ts2_tokenizer1.c f7d0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR f7e0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
f7f0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O f800: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
f810: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f820: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 f830: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 \fts2_tokenizer1 f840: 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54 .c..fts3.lo:.$(T
f850: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f860: 33 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  3.c $(HDR)$(EXT
f870: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL f880: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
f890: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR f8a0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE f8b0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
f8c0: 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33  ts3\fts3.c..fts3
f8d0: 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  _aux.lo:.$(TOP)\ f8e0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 ext\fts3\fts3_au f8f0: 78 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 x.c$(HDR) $(EXT f900: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
f910: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL f920: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
f930: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f940: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f f950: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a ts3\fts3_aux.c.. f960: 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28 fts3_expr.lo:.$(
f970: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f980: 73 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52 29  s3_expr.c $(HDR) f990: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT f9a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
f9b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( f9c0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT f9d0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
f9e0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65  \ext\fts3\fts3_e
f9f0: 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68  xpr.c..fts3_hash
fa00: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ fa10: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 fts3\fts3_hash.c fa20: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR fa30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
fa40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O fa50: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
fa60: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
fa70: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 fa80: 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74 \fts3_hash.c..ft fa90: 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 s3_icu.lo:.$(TOP
faa0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fab0: 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45  icu.c $(HDR)$(E
fac0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP fad0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
fae0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W faf0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO fb00: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
fb10: 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63  \fts3\fts3_icu.c
fb20: 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c  ..fts3_snippet.l
fb30: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft fb40: 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e s3\fts3_snippet. fb50: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD fb60: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
fb70: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ fb80: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
fb90: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
fba0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts fbb0: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 3\fts3_snippet.c fbc0: 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f ..fts3_porter.lo fbd0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
fbe0: 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20  3\fts3_porter.c
fbf0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
fc00: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
fc10: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
fc20: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - fc30: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c fc40: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
fc50: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66  fts3_porter.c..f
fc60: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f  ts3_tokenizer.lo
fc70: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts fc80: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 3\fts3_tokenizer fc90: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 .c$(HDR) $(EXTH fca0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
fcb0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE fcc0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e _OPTS)$(NO_WARN
fcd0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE
fce0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft fcf0: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 s3\fts3_tokenize fd00: 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 r.c..fts3_tokeni fd10: 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c zer1.lo:.$(TOP)\
fd20: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
fd30: 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52  kenizer1.c $(HDR fd40: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L fd50: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
fd60: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $fd70: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI fd80: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
fd90: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fda0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74  tokenizer1.c..ft
fdb0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
fdc0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ fdd0: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 fts3\fts3_tokeni fde0: 7a 65 5f 76 74 61 62 2e 63 20 24 28 48 44 52 29 ze_vtab.c$(HDR)
fdf0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
fe00: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ fe10: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
fe20: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
fe30: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) fe40: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 \ext\fts3\fts3_t fe50: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a okenize_vtab.c.. fe60: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a fts3_unicode.lo: fe70: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 .$(TOP)\ext\fts3
fe80: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20  \fts3_unicode.c
fe90: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
fea0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
feb0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
fec0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - fed0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c fee0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
fef0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a  fts3_unicode.c..
ff00: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f  fts3_unicode2.lo
ff10: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts ff20: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 3\fts3_unicode2. ff30: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD ff40: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
ff50: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ ff60: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
ff70: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
ff80: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts ff90: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 3\fts3_unicode2. ffa0: 63 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f c..fts3_write.lo ffb0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
ffc0: 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 24  3\fts3_write.c $ffd0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
ffe0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
fff0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
10000 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D 10010 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
10020 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
10030 74 73 33 5f 77 72 69 74 65 2e 63 0a 0a 6a 73 6f  ts3_write.c..jso
10040 6e 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  n1.lo:.$(TOP)\ex 10050 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 24 t\misc\json1.c$
10060 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). 10070 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( 10080 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT 10090 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
100a0 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $100b0 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a (TOP)\ext\misc\j 100c0 73 6f 6e 31 2e 63 0a 0a 73 74 6d 74 2e 6c 6f 3a son1.c..stmt.lo: 100d0 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 .$(TOP)\ext\misc
100e0 5c 73 74 6d 74 2e 63 20 24 28 48 44 52 29 20 24  \stmt.c $(HDR)$
100f0 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO 10100 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
10110 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO 10120 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ 10130 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
10140 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a 0a  xt\misc\stmt.c..
10150 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  rtree.lo:.$(TOP) 10160 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 \ext\rtree\rtree 10170 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 .c$(HDR) $(EXTH 10180 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
10190 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE 101a0 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e _OPTS)$(NO_WARN
101b0 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE
101c0 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  -c $(TOP)\ext\rt 101d0 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c ree\rtree.c..sql 101e0 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 ite3session.lo:. 101f0 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69$(TOP)\ext\sessi
10200 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f  on\sqlite3sessio
10210 6e 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  n.c $(HDR)$(EXT
10220 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL 10230 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
10240 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR 10250 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE 10260 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 -c$(TOP)\ext\s
10270 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65  ession\sqlite3se
10280 73 73 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20  ssion.c..# FTS5
10290 74 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52  things.#.FTS5_SR
102a0 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  C = \.   $(TOP)\ 102b0 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 ext\fts5\fts5.h 102c0 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
102d0 66 74 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c  fts5\fts5Int.h \
102e0 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f 102f0 74 73 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c ts5\fts5_aux.c \ 10300 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 .$(TOP)\ext\f
10310 74 73 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e  ts5\fts5_buffer.
10320 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex 10330 74 5c 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e t\fts5\fts5_main 10340 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
10350 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e  xt\fts5\fts5_con
10360 66 69 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  fig.c \.   $(TOP 10370 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ 10380 65 78 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f expr.c \.$(TO
10390 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
103a0 5f 68 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54  _hash.c \.   $(T 103b0 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts 103c0 35 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 5_index.c \. f 103d0 74 73 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 ts5parse.c fts5p 103e0 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f arse.h \.$(TO
103f0 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
10400 5f 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20  _storage.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 74 6f 6b 65 6e 69 7a 65 2e 63 20 fts5_tokenize.c 10430 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
10440 66 74 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64  fts5\fts5_unicod
10450 65 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  e2.c \.   $(TOP) 10460 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 \ext\fts5\fts5_v 10470 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 arint.c \.$(T
10480 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
10490 35 5f 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f  5_vocab.c..LSM1_
104a0 53 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50  SRC = \.   $(TOP 104b0 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 )\ext\lsm1\lsm.h 104c0 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
104d0 5c 6c 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c  \lsm1\lsmInt.h \
104e0 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l 104f0 73 6d 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c sm1\lsm_ckpt.c \ 10500 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c .$(TOP)\ext\l
10510 73 6d 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c  sm1\lsm_file.c \
10520 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l 10530 73 6d 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a sm1\lsm_log.c \. 10540 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73$(TOP)\ext\ls
10550 6d 31 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a  m1\lsm_main.c \.
10560 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls 10570 6d 31 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 m1\lsm_mem.c \. 10580 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d$(TOP)\ext\lsm
10590 31 5c 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a  1\lsm_mutex.c \.
105a0 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls 105b0 6d 31 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20 m1\lsm_shared.c 105c0 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
105d0 6c 73 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65 64 2e  lsm1\lsm_sorted.
105e0 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex 105f0 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63 t\lsm1\lsm_str.c 10600 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
10610 5c 6c 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63  \lsm1\lsm_tree.c
10620 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext 10630 5c 6c 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63 \lsm1\lsm_unix.c 10640 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
10650 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74  \lsm1\lsm_varint
10660 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e 10670 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62 xt\lsm1\lsm_vtab 10680 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
10690 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69 6e 33  xt\lsm1\lsm_win3
106a0 32 2e 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63  2.c..fts5parse.c
106b0 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts 106c0 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 5\fts5parse.y le 106d0 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 mon.exe..copy$(
106e0 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
106f0 73 35 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c  s5parse.y ...del
10700 20 2f 51 20 66 74 73 35 70 61 72 73 65 2e 68 20   /Q fts5parse.h
10710 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65  2>NUL...\lemon.e
10720 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  xe $(REQ_FEATURE 10730 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 _FLAGS)$(OPT_FE
10740 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E 10750 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 XT_FEATURE_FLAGS 10760 29 20 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 )$(OPTS) fts5pa
10770 72 73 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65  rse.y..fts5parse
10780 2e 68 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a  .h:.fts5parse.c.
10790 0a 66 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f  .fts5.c:.$(FTS5_ 107a0 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d SRC)..$(TCLSH_CM
107b0 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  D) $(TOP)\ext\ft 107c0 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e s5\tool\mkfts5c. 107d0 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 tcl..copy$(TOP)
107e0 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68  \ext\fts5\fts5.h
107f0 20 2e 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53   ...lsm1.c:.$(LS 10800 4d 31 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 M1_SRC)..$(TCLSH
10810 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74  _CMD) $(TOP)\ext 10820 5c 6c 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d \lsm1\tool\mklsm 10830 31 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 1c.tcl..copy$(T
10840 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
10850 2e 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66  .h ...fts5.lo:.f
10860 74 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 45  ts5.c $(HDR)$(E
10870 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP 10880 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
10890 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W 108a0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO 108b0 52 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 RE -c fts5.c..ft 108c0 73 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e s5_ext.lo:.fts5. 108d0 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD 108e0 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
108f0 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66   $(NO_WARN) -c f 10900 74 73 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a ts5.c..fts5.dll: 10910 09 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 .fts5_ext.lo..$(
10920 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24  LD) $(LDFLAGS)$
10930 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L 10940 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 TLIBPATHS) /DLL 10950 2f 4f 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 /OUT:$@ fts5_ext
10960 2e 6c 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e  .lo..sqlite3rbu.
10970 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72  lo:.$(TOP)\ext\r 10980 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 bu\sqlite3rbu.c 10990 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) 109a0 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d ..$(LTCOMPILE) -
109b0 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
109c0 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73  $(TOP)\ext\rbu\s 109d0 71 6c 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 qlite3rbu.c..# R 109e0 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 ules to build th 109f0 65 20 27 74 65 73 74 66 69 78 74 75 72 65 27 20 e 'testfixture' 10a00 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 application..#.# 10a10 20 49 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d If using the am 10a20 61 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 algamation, use 10a30 73 71 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 sqlite3.c direct 10a40 6c 79 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 ly to build the 10a50 74 65 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 test.# fixture. 10a60 20 4f 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 Otherwise link 10a70 61 67 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 against libsqlit 10a80 65 33 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 e3.lib. (This d 10a90 69 73 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 istinction is.# 10aa0 6e 65 63 65 73 73 61 72 79 20 62 65 63 61 75 73 necessary becaus 10ab0 65 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 e the test fixtu 10ac0 72 65 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d re requires non- 10ad0 41 50 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 API symbols whic 10ae0 68 20 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 h are.# hidden w 10af0 68 65 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 hen the library 10b00 69 73 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 is built via the 10b10 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a amalgamation).. 10b20 23 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c #.TESTFIXTURE_FL 10b30 41 47 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e AGS = -DTCLSH_IN 10b40 49 54 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54 IT_PROC=sqlite3T 10b50 65 73 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45 estInit -DSQLITE 10b60 5f 54 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 _TEST=1 -DSQLITE 10b70 5f 43 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 _CRASH_TEST=1.TE 10b80 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 STFIXTURE_FLAGS 10b90 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f =$(TESTFIXTURE_
10ba0 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
10bb0 53 45 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54  SERVER=1 -DSQLIT
10bc0 45 5f 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53  E_PRIVATE="".TES
10bd0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
10be0 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F 10bf0 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 LAGS) -DSQLITE_C 10c00 4f 52 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 ORE$(NO_WARN).T
10c10 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10c20 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE 10c30 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE 10c40 5f 53 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 _SERIES_CONSTRAI 10c50 4e 54 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 NT_VERIFY=1.TEST 10c60 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 FIXTURE_FLAGS = 10c70 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c$(TESTFIXTURE_FL
10c80 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45  AGS) -DSQLITE_DE
10c90 46 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d  FAULT_PAGE_SIZE=
10ca0 31 30 32 34 0a 54 45 53 54 46 49 58 54 55 52 45  1024.TESTFIXTURE
10cb0 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF 10cc0 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 IXTURE_FLAGS) -D 10cd0 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 SQLITE_ENABLE_ST 10ce0 4d 54 56 54 41 42 3d 31 0a 54 45 53 54 46 49 58 MTVTAB=1.TESTFIX 10cf0 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 TURE_FLAGS =$(T
10d00 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10d10 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
10d20 45 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31 0a  E_DBPAGE_VTAB=1.
10d30 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10d40 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR 10d50 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 E_FLAGS) -DSQLIT 10d60 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 3d 31 E_ENABLE_JSON1=1 10d70 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 .TESTFIXTURE_FLA 10d80 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 GS =$(TESTFIXTU
10d90 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
10da0 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52 49  TE_ENABLE_DESERI
10db0 41 4c 49 5a 45 3d 31 0a 54 45 53 54 46 49 58 54  ALIZE=1.TESTFIXT
10dc0 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE 10dd0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 STFIXTURE_FLAGS) 10de0 20 24 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50$(TEST_CCONV_OP
10df0 54 53 29 0a 0a 54 45 53 54 46 49 58 54 55 52 45  TS)..TESTFIXTURE
10e00 5f 53 52 43 30 20 3d 20 24 28 54 45 53 54 45 58  _SRC0 = $(TESTEX 10e10 54 29 20 24 28 54 45 53 54 53 52 43 32 29 0a 54 T)$(TESTSRC2).T
10e20 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 20  ESTFIXTURE_SRC1
10e30 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28 53  = $(TESTEXT)$(S
10e40 51 4c 49 54 45 33 43 29 0a 21 49 46 20 24 28 55  QLITE3C).!IF $(U 10e50 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 SE_AMALGAMATION) 10e60 3d 3d 30 0a 54 45 53 54 46 49 58 54 55 52 45 5f ==0.TESTFIXTURE_ 10e70 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 SRC =$(TESTSRC)
10e80 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls 10e90 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 qlite.c$(TESTFI
10ea0 58 54 55 52 45 5f 53 52 43 30 29 0a 21 45 4c 53  XTURE_SRC0).!ELS
10eb0 45 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  E.TESTFIXTURE_SR
10ec0 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24  C = $(TESTSRC)$
10ed0 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
10ee0 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54  ite.c $(TESTFIXT 10ef0 55 52 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 46 URE_SRC1).!ENDIF 10f00 0a 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 ..!IF$(USE_STDC
10f10 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR 10f20 5f 57 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69 74 _WIN10)!=0.sqlit 10f30 65 5f 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 65 e_tclDecls.h:..e 10f40 63 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 cho #ifndef SQLI 10f50 54 45 5f 54 43 4c 41 50 49 20 3e 20 24 28 53 51 TE_TCLAPI >$(SQ
10f60 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09  LITETCLDECLSH)..
10f70 65 63 68 6f 20 23 20 20 64 65 66 69 6e 65 20 53  echo #  define S
10f80 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e 20  QLITE_TCLAPI >>
10f90 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53  $(SQLITETCLDECLS 10fa0 48 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 H)..echo #endif 10fb0 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 >>$(SQLITETCLDE
10fc0 43 4c 53 48 29 0a 09 74 79 70 65 20 22 24 28 54  CLSH)..type "$(T 10fd0 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 44 65 63 CLINCDIR)\tclDec 10fe0 6c 73 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54 43 ls.h" \...|$(TC
10ff0 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ 11000 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c tool\replace.tcl 11010 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 regsub "^(EXTER 11020 4e 28 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f N(?: CONST\d+?)? 11030 5c 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29 \s+?[^\(]*?\s+?) 11040 54 63 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54 45 Tcl_" "\1 SQLITE 11050 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a _TCLAPI Tcl_" \. 11060 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
11070 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep 11080 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 lace.tcl regsub 11090 22 5e 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a "^(EXTERN\s+?(?: 110a0 76 6f 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 54 void|VOID)\s+?)T 110b0 63 6c 46 72 65 65 4f 62 6a 22 20 22 5c 31 20 53 clFreeObj" "\1 S 110c0 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c QLITE_TCLAPI Tcl 110d0 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 FreeObj" \...|$
110e0 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO 110f0 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e P)\tool\replace. 11100 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a tcl regsub "\(\* 11110 74 63 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f 54 tcl_" "(SQLITE_T 11120 43 4c 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a 09 CLAPI *tcl_" \.. 11130 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 .|$(TCLSH_CMD)
11140 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl 11150 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 ace.tcl regsub " 11160 5c 28 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 \(\*tclFreeObj" 11170 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 "(SQLITE_TCLAPI 11180 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 *tclFreeObj" \.. 11190 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 .|$(TCLSH_CMD)
111a0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl 111b0 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 ace.tcl regsub " 111c0 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 54 \(\*" "(SQLITE_T 111d0 43 4c 41 50 49 20 2a 22 20 3e 3e 20 24 28 53 51 CLAPI *" >>$(SQ
111e0 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 0a  LITETCLDECLSH)..
111f0 73 71 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09 74  sqlite_tcl.h:..t
11200 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52  ype "$(TCLINCDIR 11210 29 5c 74 63 6c 2e 68 22 20 7c 20 24 28 54 43 4c )\tcl.h" |$(TCL
11220 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t 11230 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 ool\replace.tcl 11240 65 78 61 63 74 20 74 63 6c 44 65 63 6c 73 2e 68 exact tclDecls.h 11250 20 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 sqlite_tclDecls 11260 2e 68 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 .h \...|$(TCLSH
11270 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too 11280 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 l\replace.tcl re 11290 67 73 75 62 20 22 74 79 70 65 64 65 66 20 28 2e gsub "typedef (. 112a0 2a 3f 29 5c 28 54 63 6c 5f 22 20 22 74 79 70 65 *?)\(Tcl_" "type 112b0 64 65 66 20 5c 31 20 28 53 51 4c 49 54 45 5f 54 def \1 (SQLITE_T 112c0 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 CLAPI Tcl_" \... 112d0 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 |$(TCLSH_CMD) $112e0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 (TOP)\tool\repla 112f0 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22 76 6f ce.tcl exact "vo 11300 69 64 20 28 2a 66 72 65 65 50 72 6f 63 29 22 20 id (*freeProc)" 11310 22 76 6f 69 64 20 28 53 51 4c 49 54 45 5f 54 43 "void (SQLITE_TC 11320 4c 41 50 49 20 2a 66 72 65 65 50 72 6f 63 29 22 LAPI *freeProc)" 11330 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 \...|$(TCLSH_C
11340 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ 11350 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 replace.tcl exac 11360 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 t "Tcl_HashEntry 11370 20 2a 28 2a 66 69 6e 64 50 72 6f 63 29 22 20 22 *(*findProc)" " 11380 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 Tcl_HashEntry *( 11390 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 SQLITE_TCLAPI *f 113a0 69 6e 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 indProc)" \...| 113b0 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T 113c0 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 OP)\tool\replace 113d0 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f .tcl exact "Tcl_ 113e0 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 63 72 65 HashEntry *(*cre 113f0 61 74 65 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 ateProc)" "Tcl_H 11400 61 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 ashEntry *(SQLIT 11410 45 5f 54 43 4c 41 50 49 20 2a 63 72 65 61 74 65 E_TCLAPI *create 11420 50 72 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c 49 Proc)" >>$(SQLI
11430 54 45 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a 0a  TETCLH).!ENDIF..
11440 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 3a  testfixture.exe:
11450 09 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53  .$(TESTFIXTURE_S 11460 52 43 29 20 24 28 54 45 53 54 46 49 58 54 55 52 RC)$(TESTFIXTUR
11470 45 5f 44 45 50 29 20 24 28 53 51 4c 49 54 45 33  E_DEP) $(SQLITE3 11480 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 H)$(LIBRESOBJS)
11490 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45   $(HDR)$(SQLITE
114a0 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 4c  _TCL_DEP)..$(LTL 114b0 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f INK) -DSQLITE_NO 114c0 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49 _SYNC=1$(TESTFI
114d0 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09  XTURE_FLAGS) \..
114e0 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20  .-DBUILD_sqlite
114f0 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c  -I$(TCLINCDIR) \ 11500 0a 09 09 24 28 54 45 53 54 46 49 58 54 55 52 45 ...$(TESTFIXTURE
11510 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20  _SRC) \.../link
11520 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
11530 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49  INKOPTS) $(TCLLI 11540 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 BPATHS)$(LTLIBP
11550 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42  ATHS) $(LIBRESOB 11560 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 JS)$(TCLLIBS) $11570 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 (LTLIBS)$(TLIBS
11580 29 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73 74  )..extensiontest
11590 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  :.testfixture.ex
115a0 65 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c  e testloadext.dl
115b0 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  l..@set PATH=$(L 115c0 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 IBTCLPATH);$(PAT
115d0 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
115e0 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes 115f0 74 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74 20 24 t\loadext.test$
11600 28 54 45 53 54 4f 50 54 53 29 0a 0a 63 6f 72 65  (TESTOPTS)..core
11610 74 65 73 74 70 72 6f 67 73 3a 09 24 28 54 45 53  testprogs:.$(TES 11620 54 50 52 4f 47 53 29 0a 0a 74 65 73 74 70 72 6f TPROGS)..testpro 11630 67 73 3a 09 63 6f 72 65 74 65 73 74 70 72 6f 67 gs:.coretestprog 11640 73 20 73 72 63 63 6b 31 2e 65 78 65 20 66 75 7a s srcck1.exe fuz 11650 7a 63 68 65 63 6b 2e 65 78 65 20 73 65 73 73 69 zcheck.exe sessi 11660 6f 6e 66 75 7a 7a 2e 65 78 65 0a 0a 66 75 6c 6c onfuzz.exe..full 11670 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 test:.$(TESTPROG
11680 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65  S) fuzztest..@se
11690 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP 116a0 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c ATH);$(PATH)...\
116b0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe
116c0 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e  $(TOP)\test\all. 116d0 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 test$(TESTOPTS)
116e0 0a 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28 54 45  ..soaktest:.$(TE 116f0 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 STPROGS)..@set P 11700 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 ATH=$(LIBTCLPATH
11710 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes 11720 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 tfixture.exe$(T
11730 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73  OP)\test\all.tes
11740 74 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53 54  t -soak=1 $(TEST 11750 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 6f OPTS)..fulltesto 11760 6e 6c 79 3a 09 24 28 54 45 53 54 50 52 4f 47 53 nly:.$(TESTPROGS
11770 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74  ) fuzztest..@set
11780 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA 11790 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 TH);$(PATH)...\t
117a0 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $117b0 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c 2e (TOP)\test\full. 117c0 74 65 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e 74 test..queryplant 117d0 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 est:.testfixture 117e0 2e 65 78 65 20 73 68 65 6c 6c 0a 09 40 73 65 74 .exe shell..@set 117f0 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 PATH=$(LIBTCLPA
11800 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t 11810 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 estfixture.exe$
11820 28 54 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d 75  (TOP)\test\permu
11830 74 61 74 69 6f 6e 73 2e 74 65 73 74 20 71 75 65  tations.test que
11840 72 79 70 6c 61 6e 6e 65 72 20 24 28 54 45 53 54  ryplanner $(TEST 11850 4f 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74 3a OPTS)..fuzztest: 11860 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 .fuzzcheck.exe.. 11870 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 .\fuzzcheck.exe 11880 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61 73$(FUZZDATA)..fas
11890 74 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63  tfuzztest:.fuzzc
118a0 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a  heck.exe...\fuzz
118b0 63 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69  check.exe --limi
118c0 74 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46 55 5a  t-mem 100M $(FUZ 118d0 5a 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 ZDATA)..# Minima 118e0 6c 20 74 65 73 74 69 6e 67 20 74 68 61 74 20 72 l testing that r 118f0 75 6e 73 20 69 6e 20 6c 65 73 73 20 74 68 61 6e uns in less than 11900 20 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20 61 3 minutes (on a 11910 20 66 61 73 74 20 6d 61 63 68 69 6e 65 29 0a 23 fast machine).# 11920 0a 71 75 69 63 6b 74 65 73 74 3a 09 74 65 73 74 .quicktest:.test 11930 66 69 78 74 75 72 65 2e 65 78 65 20 73 6f 75 72 fixture.exe sour 11940 63 65 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 cetest..@set PAT 11950 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b H=$(LIBTCLPATH);
11960 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf 11970 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 ixture.exe$(TOP
11980 29 5c 74 65 73 74 5c 65 78 74 72 61 71 75 69 63  )\test\extraquic
11990 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54  k.test $(TESTOPT 119a0 53 29 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 S)..# This is th 119b0 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 e common case. 119c0 52 75 6e 20 6d 61 6e 79 20 74 65 73 74 73 20 74 Run many tests t 119d0 68 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20 hat do not take 119e0 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c too long,.# incl 119f0 75 64 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c uding fuzzcheck, 11a00 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 sqlite3_analyze 11a10 72 2c 20 61 6e 64 20 73 71 6c 64 69 66 66 20 74 r, and sqldiff t 11a20 65 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 ests..#.test:.$(
11a30 54 45 53 54 50 52 4f 47 53 29 20 73 6f 75 72 63  TESTPROGS) sourc
11a40 65 74 65 73 74 20 66 61 73 74 66 75 7a 7a 74 65  etest fastfuzzte
11a50 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  st..@set PATH=$( 11a60 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 LIBTCLPATH);$(PA
11a70 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
11a80 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te 11a90 73 74 5c 76 65 72 79 71 75 69 63 6b 2e 74 65 73 st\veryquick.tes 11aa0 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 t$(TESTOPTS)..s
11ab0 6d 6f 6b 65 74 65 73 74 3a 09 24 28 54 45 53 54  moketest:.$(TEST 11ac0 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 PROGS)..@set PAT 11ad0 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b H=$(LIBTCLPATH);
11ae0 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf 11af0 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 ixture.exe$(TOP
11b00 29 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73 74  )\test\main.test
11b10 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 71   $(TESTOPTS)..sq 11b20 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 lite3_analyzer.c 11b30 3a 09 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 :.$(SQLITE3C) $( 11b40 53 51 4c 49 54 45 33 48 29 20 24 28 54 4f 50 29 SQLITE3H)$(TOP)
11b50 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
11b60 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61   $(TOP)\tool\spa 11b70 63 65 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f 50 ceanal.tcl$(TOP
11b80 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74  )\tool\mkccode.t
11b90 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  cl $(TOP)\tool\s 11ba0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e qlite3_analyzer. 11bb0 63 2e 69 6e 20 24 28 53 51 4c 49 54 45 5f 54 43 c.in$(SQLITE_TC
11bc0 4c 5f 44 45 50 29 0a 09 24 28 54 43 4c 53 48 5f  L_DEP)..$(TCLSH_ 11bd0 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c CMD)$(TOP)\tool
11be0 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54  \mkccode.tcl $(T 11bf0 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 OP)\tool\sqlite3 11c00 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e _analyzer.c.in > 11c10 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61$@..sqlite3_ana
11c20 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 74  lyzer.exe:.sqlit
11c30 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 28  e3_analyzer.c $( 11c40 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c LIBRESOBJS)..$(L
11c50 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN 11c60 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 ) -DBUILD_sqlite 11c70 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 -I$(TCLINCDIR)
11c80 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
11c90 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c  .c \.../link $(L 11ca0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
11cb0 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41  OPTS) $(TCLLIBPA 11cc0 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 THS)$(LTLIBPATH
11cd0 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  S) $(LIBRESOBJS) 11ce0 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54$(TCLLIBS) $(LT 11cf0 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a LIBS)$(TLIBS)..
11d00 73 71 6c 74 63 6c 73 68 2e 63 3a 20 73 71 6c 69  sqltclsh.c: sqli
11d10 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 73 72 63  te3.c $(TOP)\src 11d20 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 \tclsqlite.c$(T
11d30 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73  OP)\tool\sqltcls
11d40 68 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 74  h.tcl $(TOP)\ext 11d50 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e \misc\appendvfs. 11d60 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b c$(TOP)\tool\mk
11d70 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29  ccode.tcl $(TOP) 11d80 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 \tool\sqltclsh.c 11d90 2e 69 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 .in..$(TCLSH_CMD
11da0 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk 11db0 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 ccode.tcl$(TOP)
11dc0 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63  \tool\sqltclsh.c
11dd0 2e 69 6e 20 3e 73 71 6c 74 63 6c 73 68 2e 63 0a  .in >sqltclsh.c.
11de0 0a 73 71 6c 74 63 6c 73 68 2e 65 78 65 3a 20 73  .sqltclsh.exe: s
11df0 71 6c 74 63 6c 73 68 2e 63 20 20 24 28 53 48 45  qltclsh.c  $(SHE 11e00 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c LL_CORE_DEP)$(L
11e10 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT 11e20 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
11e30 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite
11e40 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73  -I$(TCLINCDIR) s 11e50 71 6c 74 63 6c 73 68 2e 63 20 5c 0a 09 09 2f 6c qltclsh.c \.../l 11e60 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $11e70 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 (LTLINKOPTS)$(T
11e80 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54  CLLIBPATHS) $(LT 11e90 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 LIBPATHS)$(LIBR
11ea0 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42  ESOBJS) $(TCLLIB 11eb0 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 S)$(LTLIBS) $(T 11ec0 4c 49 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f 65 LIBS)..sqlite3_e 11ed0 78 70 65 72 74 2e 65 78 65 3a 20 24 28 53 51 4c xpert.exe:$(SQL
11ee0 49 54 45 33 43 29 20 24 28 54 4f 50 29 5c 65 78  ITE3C) $(TOP)\ex 11ef0 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 t\expert\sqlite3 11f00 65 78 70 65 72 74 2e 68 20 24 28 54 4f 50 29 5c expert.h$(TOP)\
11f10 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74  ext\expert\sqlit
11f20 65 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f 50  e3expert.c $(TOP 11f30 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78 70 )\ext\expert\exp 11f40 65 72 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 ert.c..$(LTLINK)
11f50 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f   $(NO_WARN).$(TO
11f60 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71  P)\ext\expert\sq
11f70 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 24 28  lite3expert.c $( 11f80 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c TOP)\ext\expert\ 11f90 65 78 70 65 72 74 2e 63 20 24 28 53 51 4c 49 54 expert.c$(SQLIT
11fa0 45 33 43 29 20 24 28 54 4c 49 42 53 29 0a 0a 43  E3C) $(TLIBS)..C 11fb0 48 45 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a 20 HECKER_DEPS =\. 11fc0 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 63$(TOP)/tool/mkc
11fd0 63 6f 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71 6c  code.tcl \.  sql
11fe0 69 74 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ite3.c \.  $(TOP 11ff0 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e )/src/tclsqlite. 12000 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 c \.$(TOP)/ext
12010 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33 5f  /repair/sqlite3_
12020 63 68 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20 20  checker.tcl \.
12030 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69  $(TOP)/ext/repai 12040 72 2f 63 68 65 63 6b 69 6e 64 65 78 2e 63 20 5c r/checkindex.c \ 12050 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 .$(TOP)/ext/re
12060 70 61 69 72 2f 63 68 65 63 6b 66 72 65 65 6c 69  pair/checkfreeli
12070 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  st.c \.  $(TOP)/ 12080 65 78 74 2f 6d 69 73 63 2f 62 74 72 65 65 69 6e ext/misc/btreein 12090 66 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f fo.c \.$(TOP)/
120a0 65 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74  ext/repair/sqlit
120b0 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 0a  e3_checker.c.in.
120c0 0a 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72  .sqlite3_checker
120d0 2e 63 3a 09 24 28 43 48 45 43 4b 45 52 5f 44 45  .c:.$(CHECKER_DE 120e0 50 53 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 PS)..$(TCLSH_CMD
120f0 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk 12100 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 ccode.tcl$(TOP)
12110 5c 65 78 74 5c 72 65 70 61 69 72 5c 73 71 6c 69  \ext\repair\sqli
12120 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e  te3_checker.c.in
12130 20 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 63   > $@..sqlite3_c 12140 68 65 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c 69 hecker.exe:.sqli 12150 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 24 28 te3_checker.c$(
12160 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c  LIBRESOBJS)..$(L 12170 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
12180 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  ) -DBUILD_sqlite
12190 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 121a0 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e sqlite3_checker. 121b0 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 c \.../link$(LD
121c0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 121d0 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 PTS)$(TCLLIBPAT
121e0 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  HS) $(LTLIBPATHS 121f0 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 )$(LIBRESOBJS)
12200 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c  $(TCLLIBS)$(LTL
12210 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 64  IBS) $(TLIBS)..d 12220 62 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f 50 bdump.exe:.$(TOP
12230 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d  )\ext\misc\dbdum
12240 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  p.c $(SQLITE3C) 12250 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49$(SQLITE3H) $(LI 12260 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c BRESOBJS)..$(LTL
12270 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 12280 2d 44 44 42 44 55 4d 50 5f 53 54 41 4e 44 41 4c -DDBDUMP_STANDAL 12290 4f 4e 45 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d ONE$(TOP)\ext\m
122a0 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53  isc\dbdump.c $(S 122b0 51 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c 69 QLITE3C) \.../li 122c0 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( 122d0 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 LTLINKOPTS)$(LT
122e0 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR 122f0 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 ESOBJS)$(LTLIBS
12300 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c  )..testloadext.l
12310 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  o:.$(TOP)\src\te 12320 73 74 5f 6c 6f 61 64 65 78 74 2e 63 20 24 28 53 st_loadext.c$(S
12330 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 43 4f  QLITE3H)..$(LTCO 12340 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e MPILE)$(NO_WARN
12350 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ 12360 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a test_loadext.c.. 12370 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a testloadext.dll: 12380 09 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a .testloadext.lo. 12390 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 .$(LD) $(LDFLAGS 123a0 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 )$(LTLINKOPTS)
123b0 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44  $(LTLIBPATHS) /D 123c0 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c LL /OUT:$@ testl
123d0 6f 61 64 65 78 74 2e 6c 6f 0a 0a 64 62 74 6f 74  oadext.lo..dbtot
123e0 78 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  xt.exe:.$(TOP)\t 123f0 6f 6f 6c 5c 64 62 74 6f 74 78 74 2e 63 0a 09 24 ool\dbtotxt.c..$
12400 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 12410 52 4e 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c RN).$(TOP)\tool\
12420 64 62 74 6f 74 78 74 2e 63 20 2f 6c 69 6e 6b 20  dbtotxt.c /link
12430 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
12440 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 64 62  INKOPTS)..showdb
12450 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too 12460 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c l\showdb.c$(SQL
12470 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 12480 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( 12490 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT 124a0 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d E_THREADSAFE=0 - 124b0 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 DSQLITE_OMIT_LOA 124c0 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 D_EXTENSION \... 124d0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77$(TOP)\tool\show
124e0 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  db.c $(SQLITE3C) 124f0 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 /link$(LDFLAGS
12500 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS). 12510 0a 73 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09 .showstat4.exe:. 12520 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77$(TOP)\tool\show
12530 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45  stat4.c $(SQLITE 12540 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
12550 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
12560 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
12570 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
12580 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
12590 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54  XTENSION \...$(T 125a0 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 OP)\tool\showsta 125b0 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 t4.c$(SQLITE3C)
125c0 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS 125d0 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
125e0 0a 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65  .showjournal.exe
125f0 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh 12600 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 owjournal.c$(SQ
12610 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE 12620 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 3H)..$(LTLINK) $12630 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI 12640 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 TE_THREADSAFE=0 12650 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f -DSQLITE_OMIT_LO 12660 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 AD_EXTENSION \.. 12670 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f .$(TOP)\tool\sho
12680 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c  wjournal.c $(SQL 12690 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
126a0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK 126b0 4f 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 OPTS)..showwal.e 126c0 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c xe:.$(TOP)\tool\
126d0 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49  showwal.c $(SQLI 126e0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
126f0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
12700 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12710 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12720 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12730 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$12740 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 (TOP)\tool\showw 12750 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 al.c$(SQLITE3C)
12760 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS 12770 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
12780 0a 73 68 6f 77 73 68 6d 2e 65 78 65 3a 09 24 28  .showshm.exe:.$( 12790 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 TOP)\tool\showsh 127a0 6d 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 m.c..$(LTLINK) $127b0 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29 (NO_WARN).$(TOP)
127c0 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 20  \tool\showshm.c
127d0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 127e0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
127f0 69 6e 64 65 78 5f 75 73 61 67 65 2e 65 78 65 3a  index_usage.exe:
12800 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64   $(TOP)\tool\ind 12810 65 78 5f 75 73 61 67 65 2e 63 20 24 28 53 51 4c ex_usage.c$(SQL
12820 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 12830 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( 12840 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT 12850 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d E_THREADSAFE=0 - 12860 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 DSQLITE_OMIT_LOA 12870 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 D_EXTENSION \... 12880 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64 65$(TOP)\tool\inde
12890 78 5f 75 73 61 67 65 2e 63 20 24 28 53 51 4c 49  x_usage.c $(SQLI 128a0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 TE3C) /link$(LD
128b0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 128c0 50 54 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e PTS)..changeset. 128d0 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c exe:.$(TOP)\ext\
128e0 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
128f0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 12900 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 12910 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
12920 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
12930 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
12940 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
12950 53 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54  SION \...-DSQLIT
12960 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e  E_ENABLE_SESSION
12970 3d 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  =1 -DSQLITE_ENAB
12980 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f  LE_PREUPDATE_HOO
12990 4b 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  K=1 \...$(TOP)\e 129a0 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 xt\session\chang 129b0 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 eset.c$(SQLITE3
129c0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA 129d0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
129e0 29 0a 0a 63 68 61 6e 67 65 73 65 74 66 75 7a 7a  )..changesetfuzz
129f0 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74  .exe:.$(TOP)\ext 12a00 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 \session\changes 12a10 65 74 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 etfuzz.c$(SQLIT
12a20 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) 12a30 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO 12a40 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ 12a50 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 THREADSAFE=0 -DS 12a60 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f QLITE_OMIT_LOAD_ 12a70 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44 EXTENSION \...-D 12a80 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 SQLITE_ENABLE_SE 12a90 53 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 SSION=1 -DSQLITE 12aa0 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 _ENABLE_PREUPDAT 12ab0 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54 E_HOOK=1 \...$(T
12ac0 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
12ad0 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 63 20  changesetfuzz.c
12ae0 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin 12af0 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L 12b00 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33 TLINKOPTS)..fts3 12b10 76 69 65 77 2e 65 78 65 3a 09 24 28 54 4f 50 29 view.exe:.$(TOP)
12b20 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66  \ext\fts3\tool\f
12b30 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49  ts3view.c $(SQLI 12b40 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
12b50 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
12b60 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12b70 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12b80 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12b90 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$12ba0 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 (TOP)\ext\fts3\t 12bb0 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 ool\fts3view.c$
12bc0 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
12bd0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
12be0 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62  LINKOPTS)..rollb
12bf0 61 63 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28  ack-test.exe:.$( 12c00 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 TOP)\tool\rollba 12c10 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 ck-test.c$(SQLI
12c20 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H 12c30 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N 12c40 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE 12c50 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 _THREADSAFE=0 -D 12c60 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 SQLITE_OMIT_LOAD 12c70 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 _EXTENSION \...$
12c80 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62  (TOP)\tool\rollb
12c90 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c  ack-test.c $(SQL 12ca0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
12cb0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK 12cc0 4f 50 54 53 29 0a 0a 61 74 72 63 2e 65 78 65 3a OPTS)..atrc.exe: 12cd0 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72 .$(TOP)\test\atr
12ce0 63 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  c.c $(SQLITE3C) 12cf0 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 12d00 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
12d10 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
12d20 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
12d30 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
12d40 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\ 12d50 74 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51 test\atrc.c$(SQ
12d60 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 12d70 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
12d80 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65  KOPTS)..LogEst.e
12d90 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\ 12da0 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54 logest.c$(SQLIT
12db0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 12dc0 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50$(NO_WARN) $(TOP 12dd0 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 )\tool\LogEst.c 12de0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
12df0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS).. 12e00 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a 09 24 wordcount.exe:.$
12e10 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63  (TOP)\test\wordc
12e20 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33  ount.c $(SQLITE3 12e30 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
12e40 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
12e50 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
12e60 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
12e70 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
12e80 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO 12e90 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e P)\test\wordcoun 12ea0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 t.c$(SQLITE3C)
12eb0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 12ec0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
12ed0 73 70 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09  speedtest1.exe:.
12ee0 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65  $(TOP)\test\spee 12ef0 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 dtest1.c$(SQLIT
12f00 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) 12f10 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO 12f20 5f 57 41 52 4e 29 20 24 28 53 54 5f 43 4f 4d 50 _WARN)$(ST_COMP
12f30 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ILE_OPTS) -DSQLI
12f40 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
12f50 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP 12f60 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 )\test\speedtest 12f70 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 1.c$(SQLITE3C)
12f80 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 12f90 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
12fa0 6b 76 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f  kvtest.exe:.$(TO 12fb0 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 P)\test\kvtest.c 12fc0 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S 12fd0 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
12fe0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN)$
12ff0 28 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  (KV_COMPILE_OPTS
13000 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73  ) \...$(TOP)\tes 13010 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c t\kvtest.c$(SQL
13020 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L 13030 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
13040 4f 50 54 53 29 0a 0a 72 62 75 2e 65 78 65 3a 09  OPTS)..rbu.exe:.
13050 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72  $(TOP)\ext\rbu\r 13060 62 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c bu.c$(TOP)\ext\
13070 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
13080 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
13090 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI 130a0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
130b0 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52  DSQLITE_ENABLE_R
130c0 42 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  BU \...$(TOP)\ex 130d0 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 t\rbu\rbu.c$(SQ
130e0 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 130f0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
13100 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24  KOPTS)..LSMDIR=$13110 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21 (TOP)\ext\lsm1.! 13120 49 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52 INCLUDE$(LSMDIR
13130 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a  )\Makefile.msc..
13140 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e  moreclean:.clean
13150 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54  ..del /Q $(SQLIT 13160 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
13170 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b   2>NUL.# <</mark
13180 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20  >>..clean:..del
13190 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e  /Q *.exp *.lo *.
131a0 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20  ilk *.lib *.obj
131b0 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64  *.ncb *.pdb *.sd
131c0 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64  f *.suo 2>NUL..d
131d0 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65  el /Q *.bsc *.de
131e0 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62  f *.cod *.da *.b
131f0 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f  b *.bbg *.vc gmo
13200 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c  n.out 2>NUL..del
13210 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45 58 45   /Q $(SQLITE3EXE 13220 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20 )$(SQLITE3DLL)
13230 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55  Replace.exe 2>NU
13240 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65  L.# <<mark>>..de
13250 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33 54 43  l /Q $(SQLITE3TC 13260 4c 44 4c 4c 29 20 70 6b 67 49 6e 64 65 78 2e 74 LDLL) pkgIndex.t 13270 63 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 cl 2>NUL..del /Q 13280 20 6f 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 opcodes.c opcod 13290 65 73 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 es.h 2>NUL..del 132a0 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 /Q lemon.* lempa 132b0 72 2e 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 r.c parse.* 2>NU 132c0 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b 73 6f 75 72 L..del /Q mksour 132d0 63 65 69 64 2e 2a 20 6d 6b 6b 65 79 77 6f 72 64 ceid.* mkkeyword 132e0 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68 61 hash.* keywordha 132f0 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 sh.h 2>NUL..del 13300 2f 51 20 6e 6f 74 61 73 68 61 72 65 64 6c 69 62 /Q notasharedlib 13310 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 .* 2>NUL..-rmdir 13320 20 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e 55 /Q/S .deps 2>NU 13330 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e L..-rmdir /Q/S . 13340 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 libs 2>NUL..-rmd 13350 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e ir /Q/S tsrc 2>N 13360 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61 72 67 UL..del /Q .targ 13370 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55 4c 0a et_source 2>NUL. 13380 09 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c 69 74 .del /Q tclsqlit 13390 65 33 2e 65 78 65 20 24 28 53 51 4c 49 54 45 54 e3.exe$(SQLITET
133a0 43 4c 48 29 20 24 28 53 51 4c 49 54 45 54 43 4c  CLH) \$(SQLITETCL
133b0 44 45 43 4c 53 48 29 20 32 3e 4e 55 4c 0a 09 64  DECLSH) 2>NUL..d
133c0 65 6c 20 2f 51 20 6c 73 6d 2e 64 6c 6c 20 6c 73  el /Q lsm.dll ls
133d0 6d 74 65 73 74 2e 65 78 65 20 32 3e 4e 55 4c 0a  mtest.exe 2>NUL.
133e0 09 64 65 6c 20 2f 51 20 61 74 72 63 2e 65 78 65  .del /Q atrc.exe
133f0 20 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 65   changesetfuzz.e
13400 78 65 20 64 62 74 6f 74 78 74 2e 65 78 65 20 69  xe dbtotxt.exe i
13410 6e 64 65 78 5f 75 73 61 67 65 2e 65 78 65 20 32  ndex_usage.exe 2
13420 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73  >NUL..del /Q tes
13430 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e  tloadext.dll 2>N
13440 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 66  UL..del /Q testf
13450 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 2e  ixture.exe test.
13460 64 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  db 2>NUL..del /Q
13470 20 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73 33   LogEst.exe fts3
13480 76 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63  view.exe rollbac
13490 6b 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77 64  k-test.exe showd
134a0 62 2e 65 78 65 20 64 62 64 75 6d 70 2e 65 78 65  b.exe dbdump.exe
134b0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63   2>NUL..del /Q c
134c0 68 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e  hangeset.exe 2>N
134d0 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a  UL..del /Q showj
134e0 6f 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73  ournal.exe shows
134f0 74 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c  tat4.exe showwal
13500 2e 65 78 65 20 73 70 65 65 64 74 65 73 74 31 2e  .exe speedtest1.
13510 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
13520 51 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77  Q mptester.exe w
13530 6f 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75  ordcount.exe rbu
13540 2e 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20  .exe srcck1.exe
13550 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
13560 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d  lite3.c sqlite3-
13570 2a 2e 63 20 73 71 6c 69 74 65 33 2e 68 20 32 3e  *.c sqlite3.h 2>
13580 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69  NUL..del /Q sqli
13590 74 65 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09 64  te3rc.h 2>NUL..d
135a0 65 6c 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73 71  el /Q shell.c sq
135b0 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74  lite3ext.h sqlit
135c0 65 33 73 65 73 73 69 6f 6e 2e 68 20 32 3e 4e 55  e3session.h 2>NU
135d0 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
135e0 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 73  3_analyzer.exe s
135f0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
13600 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  c 2>NUL..del /Q
13610 73 71 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e  sqlite-*-output.
13620 76 73 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  vsix 2>NUL..del
13630 2f 51 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65  /Q fuzzershell.e
13640 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  xe fuzzcheck.exe
13650 20 73 71 6c 64 69 66 66 2e 65 78 65 20 64 62 68   sqldiff.exe dbh
13660 61 73 68 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  ash.exe 2>NUL..d
13670 65 6c 20 2f 51 20 73 71 6c 74 63 6c 73 68 2e 2a  el /Q sqltclsh.*
13680 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 64   2>NUL..del /Q d
13690 62 66 75 7a 7a 2e 65 78 65 20 73 65 73 73 69 6f  bfuzz.exe sessio
136a0 6e 66 75 7a 7a 2e 65 78 65 20 32 3e 4e 55 4c 0a  nfuzz.exe 2>NUL.
136b0 09 64 65 6c 20 2f 51 20 6b 76 74 65 73 74 2e 65  .del /Q kvtest.e
136c0 78 65 20 6f 73 73 73 68 65 6c 6c 2e 65 78 65 20  xe ossshell.exe
136d0 73 63 72 75 62 2e 65 78 65 20 32 3e 4e 55 4c 0a  scrub.exe 2>NUL.
136e0 09 64 65 6c 20 2f 51 20 73 68 6f 77 73 68 6d 2e  .del /Q showshm.
136f0 65 78 65 20 73 71 6c 69 74 65 33 5f 63 68 65 63  exe sqlite3_chec
13700 6b 65 72 2e 2a 20 73 71 6c 69 74 65 33 5f 65 78  ker.* sqlite3_ex
13710 70 65 72 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  pert.exe 2>NUL..
13720 64 65 6c 20 2f 51 20 66 74 73 35 2e 2a 20 66 74  del /Q fts5.* ft
13730 73 35 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a  s5parse.* 2>NUL.
13740 09 64 65 6c 20 2f 51 20 6c 73 6d 2e 68 20 6c 73  .del /Q lsm.h ls
13750 6d 31 2e 63 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f  m1.c 2>NUL.# <</
13760 6d 61 72 6b 3e 3e 0a                             mark>>.