/ Hex Artifact Content

• File Makefile.msc — part of check-in [8d015399] at 2019-03-23 00:38:52 on branch msvcTcl — Support Tcl libraries with a suffix. (user: mistachkin size: 79730) [more...]

0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS =
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U 06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a SE_FULLWARN)!=0. 0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35 NO_WARN = -wd405 0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30 4 -wd4055 -wd410 0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33 0 -wd4127 -wd413 0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38 0 -wd4152 -wd418 0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52 9 -wd4206.NO_WAR 0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d N =$(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
0970: 61 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70  abled.# for comp
0980: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f  atibility with o
0990: 6c 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72  lder build envir
09a0: 6f 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73  onments.  This s
09b0: 65 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70  etting only.# ap
09c0: 70 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43  plies if TCLSH_C
09d0: 4d 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61  MD is not set ma
09e0: 6e 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45  nually..#.!IFNDE
09f0: 46 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  F USE_TCLSH_IN_P
0a00: 41 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e  ATH.USE_TCLSH_IN
0a10: 5f 50 41 54 48 20 3d 20 30 0a 21 45 4e 44 49 46  _PATH = 0.!ENDIF
0a20: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0a30: 2d 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20  -0 to use zlib,
0a40: 70 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69  possibly compili
0a50: 6e 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63  ng it from sourc
0a60: 65 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45  e code..#.!IFNDE
0a70: 46 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a  F USE_ZLIB.USE_Z
0a80: 4c 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  LIB = 0.!ENDIF..
0a90: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0aa0: 20 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66   to build zlib f
0ab0: 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  rom source code.
0ac0: 20 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65    This is enable
0ad0: 64 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61  d by.# default a
0ae0: 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20  nd in that case
0af0: 69 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  it will be assum
0b00: 65 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42  ed that the ZLIB
0b10: 44 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e  DIR macro.# poin
0b20: 74 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65  ts to the top-le
0b30: 76 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  vel source code
0b40: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c  directory for zl
0b50: 69 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55  ib..#.!IFNDEF BU
0b60: 49 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a  ILD_ZLIB.BUILD_Z
0b70: 4c 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a  LIB = 1.!ENDIF..
0b80: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0b90: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0ba0: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0bb0: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0bc0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0bd0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0be0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0bf0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set
0c00: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0c10: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0c20: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0c30: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0c40: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0c50: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL =
0c60: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
0c70: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0c80: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0c90: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0ca0: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0cb0: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0cc0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..#
0cd0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0ce0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0cf0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0d00: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0d10: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0d20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0d30: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0d40: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0d50: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0d60: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0d70: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0d80: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0d90: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0da0: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0db0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0dc0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during
0dd0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0de0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0df0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0e00: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0e10: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0e20: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0e30: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries
0e40: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0e50: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the
0e60: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0e70: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0e80: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0e90: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0ea0: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0eb0: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ec0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0ed0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0ee0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0ef0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0f00: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0f10: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0f20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0f30: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0f40: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0f50: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0f60: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0f70: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0f80: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0f90: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does
0fa0: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0fb0: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0fc0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0fd0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0fe0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text
0ff0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
1000: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
1010: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
1020: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1030: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1040: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1050: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
1060: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
1070: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
1080: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
1090: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
10a0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
10b0: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
10c0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
10d0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
10e0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
10f0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
1100: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1110: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1120: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1130: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
1140: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
1150: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
1160: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
1170: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..#
1180: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
1190: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
11a0: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to
11b0: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or
11c0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
11d0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
11e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
11f0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
1200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
1210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
1220: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
1230: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
1240: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
1250: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
1260: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1280: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
1290: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
12a0: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
12b0: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
12c0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
12d0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
12e0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
12f0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap
1300: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
1310: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1320: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1330: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this
1340: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1350: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1360: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1370: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.#
1380: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1390: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
13a0: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
13b0: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
13c0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
13d0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
13e0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
13f0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
1400: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
1410: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1420: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1430: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1440: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1450: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1460: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for
1470: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1480: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1490: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
14a0: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime
14b0: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
14c0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
14d0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
14e0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
14f0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of
1500: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 ==
1510: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG
1520: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1530: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1540: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1550: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1560: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1570: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1580: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1590: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
15a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
15b0: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
15c0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native
15d0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
15e0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
15f0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1600: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1610: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1620: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1630: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1640: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1650: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1660: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1670: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1680: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1690: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
16a0: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
16b0: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
16c0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
16d0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
16e0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
16f0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero,
1700: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1710: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1720: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1730: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1740: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1750: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1760: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS =
1770: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set
1780: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1790: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support
17a0: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session
17b0: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
17c0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
17d0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
17e0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
17f0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1800: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1810: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1820: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they
1830: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1840: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1850: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $( 1860: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 SPLIT_AMALGAMATI 1870: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20 ON)!=0.SQLITE3C 1880: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a = sqlite3-all.c. 1890: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d !ELSE.SQLITE3C = 18a0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49 sqlite3.c.!ENDI 18b0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 F.!ENDIF..# Set 18c0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65 the include code 18d0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 file to be used 18e0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 by executables 18f0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 and libraries wh 1900: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53 en.# they need S 1910: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46 QLite..#.!IFNDEF 1920: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45 SQLITE3H.SQLITE 1930: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21 3H = sqlite3.h.! 1940: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 ENDIF..# This is 1950: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 the name to use 1960: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 for the SQLite 1970: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 dynamic link lib 1980: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49 rary (DLL)..#.!I 1990: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c FNDEF SQLITE3DLL 19a0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 .!IF$(FOR_WIN10
19b0: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL
19c0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
19d0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
19e0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
19f0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1a00: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1a10: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1a20: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1a30: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1a40: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1a50: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN 1a60: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49 10)!=0.SQLITE3LI 1a70: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c B = winsqlite3.l 1a80: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 ib.!ELSE.SQLITE3 1a90: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69 LIB = sqlite3.li 1aa0: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a b.!ENDIF.!ENDIF. 1ab0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e .# This is the n 1ac0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 ame to use for t 1ad0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 he SQLite shell 1ae0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 executable (EXE) 1af0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 ..#.!IFNDEF SQLI 1b00: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52 TE3EXE.!IF$(FOR
1b10: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1b20: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1b30: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1b40: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1b50: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1b70: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1b80: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1b90: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1ba0: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1bb0: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1bc0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1bd0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF
1be0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!= 1c00: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 0.SQLITE3EXEPDB 1c10: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45 =.!ELSE.SQLITE3E 1c20: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c XEPDB = /pdb:sql 1c30: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49 ite3sh.pdb.!ENDI 1c40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 F.!ENDIF..# <<ma 1c50: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65 rk>>.# These are 1c60: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 the names of th 1c70: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c e customized Tcl 1c80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 header files us 1c90: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61 ed by various pa 1ca0: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61 rts.# of this ma 1cb0: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20 kefile when the 1cc0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20 stdcall calling 1cd0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e convention is in 1ce0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74 use. It is not 1cf0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 .# used for any 1d00: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23 other purpose..# 1d10: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54 .!IFNDEF SQLITET 1d20: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d CLH.SQLITETCLH = 1d30: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45 sqlite_tcl.h.!E 1d40: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51 NDIF..!IFNDEF SQ 1d50: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51 LITETCLDECLSH.SQ 1d60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20 LITETCLDECLSH = 1d70: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e sqlite_tclDecls. 1d80: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 h.!ENDIF..# This 1d90: 20 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 is the name to 1da0: 75 73 65 20 66 6f 72 20 74 68 65 20 64 79 6e 61 use for the dyna 1db0: 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 mic link library 1dc0: 20 28 44 4c 4c 29 20 63 6f 6e 74 61 69 6e 69 6e (DLL) containin 1dd0: 67 20 74 68 65 0a 23 20 54 63 6c 20 62 69 6e 64 g the.# Tcl bind 1de0: 69 6e 67 73 20 66 6f 72 20 53 51 4c 69 74 65 2e ings for SQLite. 1df0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 .#.!IFNDEF SQLIT 1e00: 45 33 54 43 4c 44 4c 4c 0a 53 51 4c 49 54 45 33 E3TCLDLL.SQLITE3 1e10: 54 43 4c 44 4c 4c 20 3d 20 74 63 6c 73 71 6c 69 TCLDLL = tclsqli 1e20: 74 65 33 2e 64 6c 6c 0a 21 45 4e 44 49 46 0a 0a te3.dll.!ENDIF.. 1e30: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 # These are the 1e40: 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 67 65 additional targe 1e50: 74 73 20 74 68 61 74 20 74 68 65 20 74 61 72 67 ts that the targ 1e60: 65 74 73 20 74 68 61 74 20 69 6e 74 65 67 72 61 ets that integra 1e70: 74 65 20 77 69 74 68 20 74 68 65 0a 23 20 54 63 te with the.# Tc 1e80: 6c 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c 64 l library should 1e90: 20 64 65 70 65 6e 64 20 6f 6e 20 77 68 65 6e 20 depend on when 1ea0: 63 6f 6d 70 69 6c 69 6e 67 2c 20 65 74 63 2e 0a compiling, etc.. 1eb0: 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 #.!IFNDEF SQLITE 1ec0: 5f 54 43 4c 5f 44 45 50 0a 21 49 46 20 24 28 55 _TCL_DEP.!IF$(U
1ed0: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
1ee0: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!= 1ef0: 30 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 0.SQLITE_TCL_DEP 1f00: 20 3d 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 =$(SQLITETCLDE
1f10: 43 4c 53 48 29 20 24 28 53 51 4c 49 54 45 54 43  CLSH) $(SQLITETC 1f20: 4c 48 29 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 LH).!ELSE.SQLITE 1f30: 5f 54 43 4c 5f 44 45 50 20 3d 0a 21 45 4e 44 49 _TCL_DEP =.!ENDI 1f40: 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 F.!ENDIF.# <</ma 1f50: 72 6b 3e 3e 0a 0a 23 20 54 68 65 73 65 20 61 72 rk>>..# These ar 1f60: 65 20 74 68 65 20 22 73 74 61 6e 64 61 72 64 22 e the "standard" 1f70: 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 SQLite compilat 1f80: 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 ion options used 1f90: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 when compiling 1fa0: 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 for.# the Window 1fb0: 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 s platform..#.!I 1fc0: 46 4e 44 45 46 20 4f 50 54 5f 46 45 41 54 55 52 FNDEF OPT_FEATUR 1fd0: 45 5f 46 4c 41 47 53 0a 21 49 46 20 24 28 4d 49 E_FLAGS.!IF$(MI
1fe0: 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49  NIMAL_AMALGAMATI
1ff0: 4f 4e 29 3d 3d 30 0a 4f 50 54 5f 46 45 41 54 55  ON)==0.OPT_FEATU
2000: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54  RE_FLAGS = $(OPT 2010: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) 2020: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 2030: 46 54 53 33 3d 31 0a 4f 50 54 5f 46 45 41 54 55 FTS3=1.OPT_FEATU 2040: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 RE_FLAGS =$(OPT
2050: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
2060: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
2070: 52 54 52 45 45 3d 31 0a 4f 50 54 5f 46 45 41 54  RTREE=1.OPT_FEAT
2080: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP 2090: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) 20a0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 20b0: 5f 47 45 4f 50 4f 4c 59 3d 31 0a 4f 50 54 5f 46 _GEOPOLY=1.OPT_F 20c0: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 EATURE_FLAGS =$
20d0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
20e0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
20f0: 42 4c 45 5f 4a 53 4f 4e 31 3d 31 0a 4f 50 54 5f  BLE_JSON1=1.OPT_
2100: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS =
2110: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL 2120: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e AGS) -DSQLITE_EN 2130: 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 3d 31 0a ABLE_STMTVTAB=1. 2140: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG 2150: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 S =$(OPT_FEATUR
2160: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
2170: 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f  E_ENABLE_DBPAGE_
2180: 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54 55  VTAB=1.OPT_FEATU
2190: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54  RE_FLAGS = $(OPT 21a0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) 21b0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 21c0: 44 42 53 54 41 54 5f 56 54 41 42 3d 31 0a 4f 50 DBSTAT_VTAB=1.OP 21d0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 T_FEATURE_FLAGS 21e0: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f =$(OPT_FEATURE_
21f0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
2200: 49 4e 54 52 4f 53 50 45 43 54 49 4f 4e 5f 50 52  INTROSPECTION_PR
2210: 41 47 4d 41 53 3d 31 0a 4f 50 54 5f 46 45 41 54  AGMAS=1.OPT_FEAT
2220: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP 2230: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) 2240: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 2250: 5f 44 45 53 45 52 49 41 4c 49 5a 45 3d 31 0a 21 _DESERIALIZE=1.! 2260: 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41 54 55 52 ENDIF.OPT_FEATUR 2270: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f E_FLAGS =$(OPT_
2280: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2290: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43  DSQLITE_ENABLE_C
22a0: 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41 3d 31  OLUMN_METADATA=1
22b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c  .!ENDIF..# Shoul
22c0: 64 20 74 68 65 20 73 65 73 73 69 6f 6e 20 65 78  d the session ex
22d0: 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e 61 62 6c  tension be enabl
22e0: 65 64 3f 20 20 49 66 20 73 6f 2c 20 61 64 64 20  ed?  If so, add
22f0: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69  compilation opti
2300: 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62 6c 65 20  ons.# to enable
2310: 69 74 2e 0a 23 0a 21 49 46 20 24 28 53 45 53 53  it..#.!IF $(SESS 2320: 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46 45 41 54 ION)!=0.OPT_FEAT 2330: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 URE_FLAGS =$(OP
2340: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2350: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2360: 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50 54 5f 46  _SESSION=1.OPT_F
2370: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $2380: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (OPT_FEATURE_FLA 2390: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 GS) -DSQLITE_ENA 23a0: 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f BLE_PREUPDATE_HO 23b0: 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 54 OK=1.!ENDIF..# T 23c0: 68 65 73 65 20 61 72 65 20 74 68 65 20 22 65 78 hese are the "ex 23d0: 74 65 6e 64 65 64 22 20 53 51 4c 69 74 65 20 63 tended" SQLite c 23e0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f ompilation optio 23f0: 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d ns used when com 2400: 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68 65 piling for.# the 2410: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 Windows 10 plat 2420: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 form..#.!IFNDEF 2430: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 EXT_FEATURE_FLAG 2440: 53 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 S.!IF$(FOR_WIN1
2450: 30 29 21 3d 30 0a 45 58 54 5f 46 45 41 54 55 52  0)!=0.EXT_FEATUR
2460: 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f  E_FLAGS = $(EXT_ 2470: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d FEATURE_FLAGS) - 2480: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 DSQLITE_ENABLE_F 2490: 54 53 34 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 TS4=1.EXT_FEATUR 24a0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f E_FLAGS =$(EXT_
24b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
24c0: 44 53 51 4c 49 54 45 5f 53 59 53 54 45 4d 5f 4d  DSQLITE_SYSTEM_M
24d0: 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 45 41 54  ALLOC=1.EXT_FEAT
24e0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58  URE_FLAGS = $(EX 24f0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) 2500: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c -DSQLITE_OMIT_L 2510: 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45 4c 53 45 OCALTIME=1.!ELSE 2520: 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 .EXT_FEATURE_FLA 2530: 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 GS =.!ENDIF.!END 2540: 49 46 0a 0a 23 23 23 23 23 23 23 23 23 23 23 23 IF..############ 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 0a 23 23 23 23 23 23 23 23 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 20 45 4e 44 20 4f 46 20 4f 50 54 49 4f ### END OF OPTIO 25c0: 4e 53 20 23 23 23 23 23 23 23 23 23 23 23 23 23 NS ############# 25d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 25e0: 23 23 23 0a 23 23 23 23 23 23 23 23 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 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 ###..# When comp 2640: 69 6c 69 6e 67 20 66 6f 72 20 74 68 65 20 57 69 iling for the Wi 2650: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 ndows 10 platfor 2660: 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f 52 4d 20 m, the PLATFORM 2670: 6d 61 63 72 6f 20 6d 75 73 74 20 62 65 20 73 65 macro must be se 2680: 74 0a 23 20 74 6f 20 61 6e 20 61 70 70 72 6f 70 t.# to an approp 2690: 72 69 61 74 65 20 76 61 6c 75 65 20 28 65 2e 67 riate value (e.g 26a0: 2e 20 78 38 36 2c 20 78 36 34 2c 20 61 72 6d 2c . x86, x64, arm, 26b0: 20 61 72 6d 36 34 2c 20 65 74 63 29 2e 0a 23 0a arm64, etc)..#. 26c0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 !IF$(FOR_WIN10)
26d0: 21 3d 30 0a 21 49 46 4e 44 45 46 20 50 4c 41 54  !=0.!IFNDEF PLAT
26e0: 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55 73 69 6e  FORM.!ERROR Usin
26f0: 67 20 74 68 65 20 46 4f 52 5f 57 49 4e 31 30 20  g the FOR_WIN10
2700: 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20  option requires
2710: 61 20 76 61 6c 75 65 20 66 6f 72 20 50 4c 41 54  a value for PLAT
2720: 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a 21 45 4e  FORM..!ENDIF.!EN
2730: 44 49 46 0a 0a 23 20 54 68 69 73 20 61 73 73 75  DIF..# This assu
2740: 6d 65 73 20 74 68 61 74 20 4d 53 56 43 20 69 73  mes that MSVC is
2750: 20 61 6c 77 61 79 73 20 69 6e 73 74 61 6c 6c 65   always installe
2760: 64 20 69 6e 20 33 32 2d 62 69 74 20 50 72 6f 67  d in 32-bit Prog
2770: 72 61 6d 20 46 69 6c 65 73 20 64 69 72 65 63 74  ram Files direct
2780: 6f 72 79 0a 23 20 61 6e 64 20 73 65 74 73 20 74  ory.# and sets t
2790: 68 65 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20  he variable for
27a0: 75 73 65 20 69 6e 20 6c 6f 63 61 74 69 6e 67 20  use in locating
27b0: 6f 74 68 65 72 20 33 32 2d 62 69 74 20 69 6e 73  other 32-bit ins
27c0: 74 61 6c 6c 73 20 61 63 63 6f 72 64 69 6e 67 6c  talls accordingl
27d0: 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 49 4c 45  y..#.PROGRAMFILE
27e0: 53 5f 58 38 36 20 3d 20 24 28 56 43 49 4e 53 54  S_X86 = $(VCINST 27f0: 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e 0a 50 52 ALLDIR)\..\...PR 2800: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d OGRAMFILES_X86 = 2810: 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f$(PROGRAMFILES_
2820: 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65  X86:\\=\)..# Che
2830: 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65 64 65  ck for the prede
2840: 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61  fined command ma
2850: 63 72 6f 20 43 43 2e 20 20 54 68 69 73 20 73 68  cro CC.  This sh
2860: 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68  ould point to th
2870: 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20 62 69 6e  e compiler.# bin
2880: 61 72 79 20 66 6f 72 20 74 68 65 20 74 61 72 67  ary for the targ
2890: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66  et platform.  If
28a0: 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e   it is not defin
28b0: 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e  ed, simply defin
28c0: 65 20 69 74 20 74 6f 0a 23 20 74 68 65 20 6c 65  e it to.# the le
28d0: 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c  gacy default val
28e0: 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a 23 0a 21  ue 'cl.exe'..#.!
28f0: 49 46 4e 44 45 46 20 43 43 0a 43 43 20 3d 20 63  IFNDEF CC.CC = c
2900: 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20  l.exe.!ENDIF..#
2910: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
2920: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
2930: 20 6d 61 63 72 6f 20 43 53 43 2e 20 20 54 68 69   macro CSC.  Thi
2940: 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74  s should point t
2950: 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23 20 43 20  o a working.# C
2960: 53 68 61 72 70 20 63 6f 6d 70 69 6c 65 72 20 62  Sharp compiler b
2970: 69 6e 61 72 79 2e 20 20 49 66 20 69 74 20 69 73  inary.  If it is
2980: 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 69   not defined, si
2990: 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74  mply define it t
29a0: 6f 20 74 68 65 0a 23 20 6c 65 67 61 63 79 20 64  o the.# legacy d
29b0: 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 63 73  efault value 'cs
29c0: 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45  c.exe'..#.!IFNDE
29d0: 46 20 43 53 43 0a 43 53 43 20 3d 20 63 73 63 2e  F CSC.CSC = csc.
29e0: 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68  exe.!ENDIF..# Ch
29f0: 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d  eck for the comm
2a00: 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e 20 20 54  and macro LD.  T
2a10: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
2a20: 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 72 20 62   to the linker b
2a30: 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 68 65 20  inary for.# the
2a40: 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e  target platform.
2a50: 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64    If it is not d
2a60: 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64  efined, simply d
2a70: 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68 65 20  efine it to the
2a80: 6c 65 67 61 63 79 0a 23 20 64 65 66 61 75 6c 74  legacy.# default
2a90: 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e 65 78 65   value 'link.exe
2aa0: 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 44 0a  '..#.!IFNDEF LD.
2ab0: 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 0a 21 45  LD = link.exe.!E
2ac0: 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f  NDIF..# Check fo
2ad0: 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64  r the predefined
2ae0: 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 52   command macro R
2af0: 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20  C.  This should
2b00: 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 72 65 73  point to the res
2b10: 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 6c 65 72  ource.# compiler
2b20: 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20   binary for the
2b30: 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e  target platform.
2b40: 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64    If it is not d
2b50: 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64  efined, simply d
2b60: 65 66 69 6e 65 0a 23 20 69 74 20 74 6f 20 74 68  efine.# it to th
2b70: 65 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74  e legacy default
2b80: 20 76 61 6c 75 65 20 27 72 63 2e 65 78 65 27 2e   value 'rc.exe'.
2b90: 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 0a 52 43  .#.!IFNDEF RC.RC
2ba0: 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e 44 49 46   = rc.exe.!ENDIF
2bb0: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
2bc0: 65 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c  e MSVC runtime l
2bd0: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
2be0: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74  o.  Otherwise, t
2bf0: 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23  his value will.#
2c00: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the
2c10: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20  'lib' directory
2c20: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d  underneath the M
2c30: 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  SVC installation
2c40: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49   directory..#.!I
2c50: 46 4e 44 45 46 20 43 52 54 4c 49 42 50 41 54 48  FNDEF CRTLIBPATH
2c60: 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28  .CRTLIBPATH = $( 2c70: 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 VCINSTALLDIR)\li 2c80: 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54 4c 49 42 b.!ENDIF..CRTLIB 2c90: 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 PATH =$(CRTLIBP
2ca0: 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65  ATH:\\=\)..# Che
2cb0: 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61  ck for the comma
2cc0: 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e 20 20 54  nd macro NCC.  T
2cd0: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
2ce0: 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72   to the compiler
2cf0: 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 20 74 68   binary.# for th
2d00: 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 63  e platform the c
2d10: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
2d20: 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61  ss is taking pla
2d30: 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 20 69 73  ce on.  If it is
2d40: 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 64 2c 20   not.# defined,
2d50: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74  simply define it
2d60: 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 61 6d   to have the sam
2d70: 65 20 76 61 6c 75 65 20 61 73 20 74 68 65 20 43  e value as the C
2d80: 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 6e 0a 23  C macro.  When.#
2d90: 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67   cross-compiling
2da0: 2c 20 69 74 20 69 73 20 73 75 67 67 65 73 74 65  , it is suggeste
2db0: 64 20 74 68 61 74 20 74 68 69 73 20 6d 61 63 72  d that this macr
2dc0: 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 76 69  o be modified vi
2dd0: 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20  a the command.#
2de0: 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e 6d 61 6b  line (since nmak
2df0: 65 20 69 74 73 65 6c 66 20 64 6f 65 73 20 6e 6f  e itself does no
2e00: 74 20 70 72 6f 76 69 64 65 20 61 20 62 75 69 6c  t provide a buil
2e10: 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 6f 20 67  t-in method to g
2e20: 75 65 73 73 20 69 74 29 2e 0a 23 20 46 6f 72 20  uess it)..# For
2e30: 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 73 65 20  example, to use
2e40: 74 68 65 20 78 38 36 20 63 6f 6d 70 69 6c 65 72  the x86 compiler
2e50: 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 6f 6d 70   when cross-comp
2e60: 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 2c 20 61  iling for x64, a
2e70: 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20   command.# line
2e80: 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 66  similar to the f
2e90: 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c 64 20 62  ollowing could b
2ea0: 65 20 75 73 65 64 20 28 61 6c 6c 20 6f 6e 20 6f  e used (all on o
2eb0: 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20  ne line):.#.#
2ec0: 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66    nmake /f Makef
2ed0: 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e  ile.msc sqlite3.
2ee0: 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20  dll.#
2ef0: 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 45 5f 4e  XCOMPILE=1 USE_N
2f00: 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31  ATIVE_LIBPATHS=1
2f10: 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 69 76 65  .#.# Alternative
2f20: 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 70 61 74  ly, the full pat
2f30: 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 6d 65 20  h and file name
2f40: 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20  to the compiler
2f50: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 0a 23  binary for the.#
2f60: 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 63 6f   platform the co
2f70: 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73  mpilation proces
2f80: 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61 63  s is taking plac
2f90: 65 20 6d 61 79 20 62 65 20 73 70 65 63 69 66 69  e may be specifi
2fa0: 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 6f 6e 65  ed (all on.# one
2fb0: 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20   line):.#.#
2fc0: 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c  nmake /f Makefil
2fd0: 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c  e.msc sqlite3.dl
2fe0: 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20 22 4e  l.#           "N
2ff0: 43 43 3d 22 22 25 56 43 49 4e 53 54 41 4c 4c 44  CC=""%VCINSTALLD
3000: 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 65 22 22  IR%\bin\cl.exe""
3010: 22 0a 23 20 20 20 20 20 20 20 20 20 20 20 55 53  ".#           US
3020: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48  E_NATIVE_LIBPATH
3030: 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 4e 43 43  S=1.#.!IFDEF NCC
3040: 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d  .NCC = $(NCC:\\= 3050: 5c 29 0a 21 45 4c 53 45 49 46 20 24 28 58 43 4f \).!ELSEIF$(XCO
3060: 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 20 3d 20  MPILE)!=0.NCC =
3070: 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29  "$(VCINSTALLDIR) 3080: 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e 43 43 20 \bin\$(CC)".NCC
3090: 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45  = $(NCC:\\=\).!E 30a0: 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43 43 29 0a LSE.NCC =$(CC).
30b0: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check
30c0: 66 6f 72 20 74 68 65 20 4d 53 56 43 20 6e 61 74  for the MSVC nat
30d0: 69 76 65 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  ive runtime libr
30e0: 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20  ary path macro.
30f0: 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 20 74 68   Otherwise,.# th
3100: 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 65  is value will de
3110: 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69  fault to the 'li
3120: 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64  b' directory und
3130: 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43  erneath the MSVC
3140: 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20  .# installation
3150: 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46  directory..#.!IF
3160: 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 41 54 48  NDEF NCRTLIBPATH
3170: 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24  .NCRTLIBPATH = $3180: 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c (VCINSTALLDIR)\l 3190: 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43 52 54 4c ib.!ENDIF..NCRTL 31a0: 49 42 50 41 54 48 20 3d 20 24 28 4e 43 52 54 4c IBPATH =$(NCRTL
31b0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..#
31c0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 50 6c  Check for the Pl
31d0: 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 62 72 61  atform SDK libra
31e0: 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20  ry path macro.
31f0: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 0a  Otherwise, this.
3200: 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 65 66  # value will def
3210: 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62  ault to the 'lib
3220: 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65  ' directory unde
3230: 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e 64 6f  rneath the Windo
3240: 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 61 6c 6c  ws.# SDK install
3250: 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 20  ation directory
3260: 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  (the environment
3270: 20 76 61 72 69 61 62 6c 65 20 75 73 65 64 20 61   variable used a
3280: 70 70 65 61 72 73 0a 23 20 74 6f 20 62 65 20 61  ppears.# to be a
3290: 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 75 73  vailable when us
32a0: 69 6e 67 20 56 69 73 75 61 6c 20 43 2b 2b 20 32  ing Visual C++ 2
32b0: 30 30 38 20 6f 72 20 6c 61 74 65 72 20 76 69 61  008 or later via
32c0: 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e 64 20 6c   the.# command l
32d0: 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  ine)..#.!IFNDEF
32e0: 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e 53 44 4b  NSDKLIBPATH.NSDK
32f0: 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44  LIBPATH = $(WIND 3300: 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62 0a 21 OWSSDKDIR)\lib.! 3310: 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49 42 50 41 ENDIF..NSDKLIBPA 3320: 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49 42 50 41 TH =$(NSDKLIBPA
3330: 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63  TH:\\=\)..# Chec
3340: 6b 20 66 6f 72 20 74 68 65 20 55 43 52 54 20 6c  k for the UCRT l
3350: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
3360: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74  o.  Otherwise, t
3370: 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23  his value will.#
3380: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the
3390: 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63  version-specific
33a0: 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69  , platform-speci
33b0: 66 69 63 20 27 6c 69 62 27 20 64 69 72 65 63 74  fic 'lib' direct
33c0: 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 61 74 68  ory.# underneath
33d0: 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53 44 4b   the Windows SDK
33e0: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69   installation di
33f0: 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44  rectory..#.!IFND
3400: 45 46 20 55 43 52 54 4c 49 42 50 41 54 48 0a 55  EF UCRTLIBPATH.U
3410: 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 57  CRTLIBPATH = $(W 3420: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 INDOWSSDKDIR)\li 3430: 62 5c 24 28 57 49 4e 44 4f 57 53 53 44 4b 4c 49 b\$(WINDOWSSDKLI
3440: 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 74 5c 24  BVERSION)\ucrt\$3450: 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4e 44 49 (PLATFORM).!ENDI 3460: 46 0a 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d F..UCRTLIBPATH = 3470: 20 24 28 55 43 52 54 4c 49 42 50 41 54 48 3a 5c$(UCRTLIBPATH:\
3480: 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d 70 69 6c  \=\)..# C compil
3490: 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66  er and options f
34a0: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
34b0: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
34c0: 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f  hat.# will run o
34d0: 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74  n the platform t
34e0: 68 61 74 20 69 73 20 64 6f 69 6e 67 20 74 68 65  hat is doing the
34f0: 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 20 24 28   build..#.!IF $( 3500: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 USE_FULLWARN)!=0 3510: 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e .BCC =$(NCC) -n
3520: 6f 6c 6f 67 6f 20 2d 57 34 20 2d 46 64 24 2a 2e  ologo -W4 -Fd$*. 3530: 70 64 62 20 24 28 43 43 4f 50 54 53 29 20 24 28 pdb$(CCOPTS) $( 3540: 42 43 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 42 BCCOPTS).!ELSE.B 3550: 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c CC =$(NCC) -nol
3560: 6f 67 6f 20 2d 57 33 20 2d 46 64 24 2a 2e 70 64  ogo -W3 -Fd$*.pd 3570: 62 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 b$(CCOPTS) $(BC 3580: 43 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 COPTS).!ENDIF..# 3590: 20 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 Check if assemb 35a0: 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 ly code listings 35b0: 20 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 should be gener 35c0: 61 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 ated for the sou 35d0: 72 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 rce.# code files 35e0: 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e to be compiled. 35f0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 .#.!IF$(USE_LIS
3600: 54 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20  TINGS)!=0.BCC =
3610: 24 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e  $(BCC) -FAcs.!EN 3620: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 DIF..# Check if 3630: 74 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 the native libra 3640: 72 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 ry paths should 3650: 62 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d be used when com 3660: 70 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d piling.# the com 3670: 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 mand line tools 3680: 75 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 used during the 3690: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 compilation proc 36a0: 65 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 ess. If.# so, s 36b0: 65 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 et the necessary 36c0: 20 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 macro now..#.!I 36d0: 46 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c F$(USE_NATIVE_L
36e0: 49 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c  IBPATHS)!=0.NLTL
36f0: 49 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50  IBPATHS = "/LIBP
3700: 41 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54  ATH:$(NCRTLIBPAT 3710: 48 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 H)" "/LIBPATH:$(
3720: 4e 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21  NSDKLIBPATH)"..!
3730: 49 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41  IFDEF NUCRTLIBPA
3740: 54 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20  TH.NUCRTLIBPATH
3750: 3d 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48  = $(NUCRTLIBPATH 3760: 3a 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 :\\=\).NLTLIBPAT 3770: 48 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 HS =$(NLTLIBPAT
3780: 48 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28  HS) "/LIBPATH:$( 3790: 4e 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 NUCRTLIBPATH)".! 37a0: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 ENDIF.!ENDIF..# 37b0: 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f C compiler and o 37c0: 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 ptions for use i 37d0: 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 n building execu 37e0: 74 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 tables that.# wi 37f0: 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 ll run on the ta 3800: 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 rget platform. 3810: 28 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 (BCC and TCC are 3820: 20 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 usually the.# s 3830: 61 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 ame unless your 3840: 61 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c are cross-compil 3850: 69 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 ing.).#.!IF$(US
3860: 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54  E_FULLWARN)!=0.T
3870: 43 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f  CC = $(CC) -nolo 3880: 67 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 go -W4 -DINCLUDE 3890: 5f 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 _MSVC_H=1$(CCOP
38a0: 54 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21  TS) $(TCCOPTS).! 38b0: 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 ELSE.TCC =$(CC)
38c0: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43   -nologo -W3 $(C 38d0: 43 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 COPTS)$(TCCOPTS
38e0: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  ).!ENDIF..# Chec
38f0: 6b 20 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68  k if warnings sh
3900: 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20  ould be treated
3910: 61 73 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63  as errors when c
3920: 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20  ompiling..#.!IF
3930: 24 28 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e  $(USE_FATAL_WARN 3940: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 )!=0.TCC =$(TCC
3950: 29 20 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43  ) -WX.!ENDIF..TC
3960: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL 3970: 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e ITE_OS_WIN=1 -I. 3980: 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f -I$(TOP) -I$(TO 3990: 50 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 P)\src -fp:preci 39a0: 73 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d se.RCC =$(RC) -
39b0: 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31  DSQLITE_OS_WIN=1
39c0: 20 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49   -I. -I$(TOP) -I 39d0: 24 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f$(TOP)\src $(RCO 39e0: 50 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a PTS)$(RCCOPTS).
39f0: 0a 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77  .# Check if we w
3a00: 61 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22  ant to use the "
3a10: 73 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67  stdcall" calling
3a20: 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e   convention when
3a30: 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68   compiling..# Th
3a40: 69 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72  is is not suppor
3a50: 74 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69  ted by the compi
3a60: 6c 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36  lers for non-x86
3a70: 20 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20   platforms.  It
3a80: 73 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65  should.# also be
3a90: 20 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74   noted here that
3aa0: 20 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61   building any ta
3ab0: 72 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20  rget with these
3ac0: 22 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e  "stdcall" option
3ad0: 73 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69  s.# will most li
3ae0: 6b 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65  kely fail if the
3af0: 20 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20   Tcl library is
3b00: 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20  also required.
3b10: 54 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f  This is due.# to
3b20: 20 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62   how the Tcl lib
3b30: 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61  rary functions a
3b40: 72 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20  re declared and
3b50: 65 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77  exported (i.e. w
3b60: 69 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c  ithout.# an expl
3b70: 69 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e  icit calling con
3b80: 76 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72  vention, which r
3b90: 65 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c  esults in "cdecl
3ba0: 22 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ")..#.!IF $(USE_ 3bb0: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 STDCALL)!=0 ||$
3bc0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21  (FOR_WIN10)!=0.!
3bd0: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)" 3be0: 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f =="x86".CORE_CCO 3bf0: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 NV_OPTS = -Gz -D 3c00: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 SQLITE_CDECL=__c 3c10: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 decl -DSQLITE_AP 3c20: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 ICALL=__stdcall 3c30: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 -DSQLITE_CALLBAC 3c40: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 K=__stdcall -DSQ 3c50: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 LITE_SYSAPI=__st 3c60: 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e dcall.SHELL_CCON 3c70: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 V_OPTS = -Gz -DS 3c80: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 QLITE_CDECL=__cd 3c90: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 ecl -DSQLITE_API 3ca0: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d CALL=__stdcall - 3cb0: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b DSQLITE_CALLBACK 3cc0: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c =__stdcall -DSQL 3cd0: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 ITE_SYSAPI=__std 3ce0: 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a call.# <<mark>>. 3cf0: 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 TEST_CCONV_OPTS 3d00: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 = -Gz -DSQLITE_C 3d10: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 DECL=__cdecl -DS 3d20: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f QLITE_APICALL=__ 3d30: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 stdcall -DSQLITE 3d40: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 _CALLBACK=__stdc 3d50: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 all -DSQLITE_SYS 3d60: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 API=__stdcall -D 3d70: 49 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 INCLUDE_SQLITE_T 3d80: 43 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f CL_H=1 -DSQLITE_ 3d90: 54 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 TCLAPI=__cdecl.# 3da0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 <</mark>>.!ELSE 3db0: 0a 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 .!IFNDEF PLATFOR 3dc0: 4d 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 M.CORE_CCONV_OPT 3dd0: 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 S = -Gz -DSQLITE 3de0: 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d _CDECL=__cdecl - 3df0: 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d DSQLITE_APICALL= 3e00: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 __stdcall -DSQLI 3e10: 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 TE_CALLBACK=__st 3e20: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 dcall -DSQLITE_S 3e30: 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a YSAPI=__stdcall. 3e40: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 SHELL_CCONV_OPTS 3e50: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f = -Gz -DSQLITE_ 3e60: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 CDECL=__cdecl -D 3e70: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f SQLITE_APICALL=_ 3e80: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 _stdcall -DSQLIT 3e90: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 E_CALLBACK=__std 3ea0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 call -DSQLITE_SY 3eb0: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 SAPI=__stdcall.# 3ec0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 <<mark>>.TEST_C 3ed0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 CONV_OPTS = -Gz 3ee0: 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f -DSQLITE_CDECL=_ 3ef0: 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f _cdecl -DSQLITE_ 3f00: 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c APICALL=__stdcal 3f10: 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 l -DSQLITE_CALLB 3f20: 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 ACK=__stdcall -D 3f30: 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f SQLITE_SYSAPI=__ 3f40: 73 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 stdcall -DINCLUD 3f50: 45 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 E_SQLITE_TCL_H=1 3f60: 20 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 -DSQLITE_TCLAPI 3f70: 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 =__cdecl.# <</ma 3f80: 72 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f rk>>.!ELSE.CORE_ 3f90: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 CCONV_OPTS =.SHE 3fa0: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a LL_CCONV_OPTS =. 3fb0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f # <<mark>>.TEST_ 3fc0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c CCONV_OPTS =.# < 3fd0: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a </mark>>.!ENDIF. 3fe0: 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 !ENDIF.!ELSE.COR 3ff0: 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 E_CCONV_OPTS =.S 4000: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 HELL_CCONV_OPTS 4010: 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 =.# <<mark>>.TES 4020: 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 T_CCONV_OPTS =.# 4030: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 <</mark>>.!ENDI 4040: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 F..# These are a 4050: 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c dditional compil 4060: 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 er options used 4070: 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 for the core lib 4080: 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 rary..#.!IFNDEF 4090: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT 40a0: 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f S.!IF$(DYNAMIC_
40b0: 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  SHELL)!=0 || $(F 40c0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 OR_WIN10)!=0.COR 40d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d E_COMPILE_OPTS = 40e0: 20 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50$(CORE_CCONV_OP
40f0: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  TS) -DSQLITE_API
4100: 3d 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65  =__declspec(dlle
4110: 78 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52  xport).!ELSE.COR
4120: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  E_COMPILE_OPTS =
4130: 20 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50   $(CORE_CCONV_OP 4140: 54 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 TS).!ENDIF.!ENDI 4150: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 F..# These are t 4160: 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 he additional ta 4170: 72 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63 rgets that the c 4180: 6f 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 ore library shou 4190: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 ld depend on.# w 41a0: 68 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 hen linking..#.! 41b0: 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b IFNDEF CORE_LINK 41c0: 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d _DEP.!IF$(DYNAM
41d0: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52  IC_SHELL)!=0.COR
41e0: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c  E_LINK_DEP =.!EL
41f0: 53 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  SEIF $(FOR_WIN10 4200: 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 )==0 || "$(PLATF
4210: 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52  ORM)"=="x86".COR
4220: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c  E_LINK_DEP = sql
4230: 69 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43  ite3.def.!ELSE.C
4240: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21  ORE_LINK_DEP =.!
4250: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
4260: 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69  These are additi
4270: 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69  onal linker opti
4280: 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65  ons used for the
4290: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23   core library..#
42a0: 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49  .!IFNDEF CORE_LI
42b0: 4e 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59  NK_OPTS.!IF $(DY 42c0: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a NAMIC_SHELL)!=0. 42d0: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d CORE_LINK_OPTS = 42e0: 0a 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 .!ELSEIF$(FOR_W
42f0: 49 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50  IN10)==0 || "$(P 4300: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 LATFORM)"=="x86" 4310: 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 .CORE_LINK_OPTS 4320: 3d 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 = /DEF:sqlite3.d 4330: 65 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 ef.!ELSE.CORE_LI 4340: 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 NK_OPTS =.!ENDIF 4350: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 .!ENDIF..# These 4360: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 are additional 4370: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 compiler options 4380: 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 used for the sh 4390: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a ell executable.. 43a0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f #.!IFNDEF SHELL_ 43b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 COMPILE_OPTS.!IF 43c0: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c$(DYNAMIC_SHELL
43d0: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI 43e0: 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f N10)!=0.SHELL_CO 43f0: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 MPILE_OPTS =$(S
4400: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29  HELL_CCONV_OPTS)
4410: 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f   -DSQLITE_API=__
4420: 64 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f  declspec(dllimpo
4430: 72 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f  rt).!ELSE.SHELL_
4440: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $4450: 28 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 (SHELL_CCONV_OPT 4460: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 S).!ENDIF.!ENDIF 4470: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 ..# This is the 4480: 73 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 source code that 4490: 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 the shell execu 44a0: 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 table should be 44b0: 63 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e compiled.# with. 44c0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c .#.!IFNDEF SHELL 44d0: 5f 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 _CORE_SRC.!IF$(
44e0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
44f0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10 4500: 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f )!=0.SHELL_CORE_ 4510: 53 52 43 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e SRC =.# <<mark>> 4520: 0a 21 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 .!ELSEIF$(USE_A
4530: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
4540: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d  SHELL_CORE_SRC =
4550: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c  .# <</mark>>.!EL
4560: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  SE.SHELL_CORE_SR
4570: 43 20 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a  C = $(SQLITE3C). 4580: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 !ENDIF.!ENDIF..# 4590: 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72 This is the cor 45a0: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74 e library that t 45b0: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 he shell executa 45c0: 62 6c 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e ble should depen 45d0: 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 d on..#.!IFNDEF 45e0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21 SHELL_CORE_DEP.! 45f0: 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 IF$(DYNAMIC_SHE
4600: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_ 4610: 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f WIN10)!=0.SHELL_ 4620: 43 4f 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c CORE_DEP =$(SQL
4630: 49 54 45 33 44 4c 4c 29 0a 23 20 3c 3c 6d 61 72  ITE3DLL).# <<mar
4640: 6b 3e 3e 0a 21 45 4c 53 45 49 46 20 24 28 55 53  k>>.!ELSEIF $(US 4650: 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d E_AMALGAMATION)= 4660: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 =0.SHELL_CORE_DE 4670: 50 20 3d 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c P = libsqlite3.l 4680: 69 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 ib.# <</mark>>.! 4690: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f ELSE.SHELL_CORE_ 46a0: 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e DEP =.!ENDIF.!EN 46b0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a DIF..# <<mark>>. 46c0: 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 # If zlib suppor 46d0: 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 t is enabled, ad 46e0: 64 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 d the dependenci 46f0: 65 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 es for it..#.!IF 4700: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 20$(USE_ZLIB)!=0
4710: 26 26 20 24 28 42 55 49 4c 44 5f 5a 4c 49 42 29  && $(BUILD_ZLIB) 4720: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 !=0.SHELL_CORE_D 4730: 45 50 20 3d 20 7a 6c 69 62 20 24 28 53 48 45 4c EP = zlib$(SHEL
4740: 4c 5f 43 4f 52 45 5f 44 45 50 29 0a 54 45 53 54  L_CORE_DEP).TEST
4750: 46 49 58 54 55 52 45 5f 44 45 50 20 3d 20 7a 6c  FIXTURE_DEP = zl
4760: 69 62 20 24 28 54 45 53 54 46 49 58 54 55 52 45  ib $(TESTFIXTURE 4770: 5f 44 45 50 29 0a 21 45 4e 44 49 46 0a 23 20 3c _DEP).!ENDIF.# < 4780: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 </mark>>..# This 4790: 20 69 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62 is the core lib 47a0: 72 61 72 79 20 74 68 61 74 20 74 68 65 20 73 68 rary that the sh 47b0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 ell executable s 47c0: 68 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74 68 2e hould link with. 47d0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c .#.!IFNDEF SHELL 47e0: 5f 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20 24 28 _CORE_LIB.!IF$(
47f0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
4800: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10 4810: 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f )!=0.SHELL_CORE_ 4820: 4c 49 42 20 3d 20 24 28 53 51 4c 49 54 45 33 4c LIB =$(SQLITE3L
4830: 49 42 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21  IB).# <<mark>>.!
4840: 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41  ELSEIF $(USE_AMA 4850: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 LGAMATION)==0.SH 4860: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 6c ELL_CORE_LIB = l 4870: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 ibsqlite3.lib.# 4880: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a <</mark>>.!ELSE. 4890: 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d SHELL_CORE_LIB = 48a0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a .!ENDIF.!ENDIF.. 48b0: 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69 # These are addi 48c0: 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 tional linker op 48d0: 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 tions used for t 48e0: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 he shell executa 48f0: 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 ble..#.!IFNDEF S 4900: 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 HELL_LINK_OPTS.S 4910: 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d HELL_LINK_OPTS = 4920: 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49$(SHELL_CORE_LI
4930: 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  B).!ENDIF..# Che
4940: 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63  ck if assembly c
4950: 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f  ode listings sho
4960: 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 64  uld be generated
4970: 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a   for the source.
4980: 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20  # code files to
4990: 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21  be compiled..#.!
49a0: 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47  IF $(USE_LISTING 49b0: 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 S)!=0.TCC =$(TC
49c0: 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a  C) -FAcs.!ENDIF.
49d0: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# When compilin
49e0: 67 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f  g the library fo
49f0: 72 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e  r use in the Win
4a00: 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a  RT environment,.
4a10: 23 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  # the following
4a20: 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74  compile-time opt
4a30: 69 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65  ions must be use
4a40: 64 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64  d as well to.# d
4a50: 69 73 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69  isable use of Wi
4a60: 6e 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72  n32 APIs that ar
4a70: 65 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20  e not available
4a80: 61 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20  and to enable.#
4a90: 75 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49  use of Win32 API
4aa0: 73 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69  s that are speci
4ab0: 66 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38  fic to Windows 8
4ac0: 20 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23   and/or WinRT..#
4ad0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54  .!IF $(FOR_WINRT 4ae0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 )!=0.TCC =$(TCC
4af0: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49  ) -DSQLITE_OS_WI
4b00: 4e 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  NRT=1.RCC = $(RC 4b10: 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 C) -DSQLITE_OS_W 4b20: 49 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54 INRT=1.TCC =$(T
4b30: 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d  CC) -DWINAPI_FAM
4b40: 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c  ILY=WINAPI_FAMIL
4b50: 59 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43  Y_APP.RCC = $(RC 4b60: 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 C) -DWINAPI_FAMI 4b70: 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 LY=WINAPI_FAMILY 4b80: 5f 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43 _APP.!ENDIF..# C 4b90: 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e compiler option 4ba0: 73 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 s for the Window 4bb0: 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e s 10 platform (n 4bc0: 65 65 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e eeds MSVC 2015). 4bd0: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e .#.!IF$(FOR_WIN
4be0: 31 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  10)!=0.TCC = $(T 4bf0: 43 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 CC) /d2guard4 -D 4c00: 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 _ARM_WINAPI_PART 4c10: 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 ITION_DESKTOP_SD 4c20: 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20 K_AVAILABLE.BCC 4c30: 3d 20 24 28 42 43 43 29 20 2f 64 32 67 75 61 72 =$(BCC) /d2guar
4c40: 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49  d4 -D_ARM_WINAPI
4c50: 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54  _PARTITION_DESKT
4c60: 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45  OP_SDK_AVAILABLE
4c70: 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c  .!ENDIF..# Also,
4c80: 20 77 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61   we need to dyna
4c90: 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20  mically link to
4ca0: 74 68 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43  the correct MSVC
4cb0: 20 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20   runtime.# when
4cc0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69  compiling for Wi
4cd0: 6e 52 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20  nRT (e.g. debug
4ce0: 6f 72 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69  or release) OR i
4cf0: 66 20 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f  f the.# USE_CRT_
4d00: 44 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65  DLL option is se
4d10: 74 20 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d  t to force dynam
4d20: 69 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74  ically linking t
4d30: 6f 20 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e  o the.# MSVC run
4d40: 74 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a  time library..#.
4d50: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29  !IF $(FOR_WINRT) 4d60: 21 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54 !=0 ||$(USE_CRT
4d70: 5f 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44  _DLL)!=0.!IF $(D 4d80: 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 EBUG)>1.TCC =$(
4d90: 54 43 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20  TCC) -MDd.BCC =
4da0: 24 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53  $(BCC) -MDd.!ELS 4db0: 45 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d E.TCC =$(TCC) -
4dc0: 4d 44 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  MD.BCC = $(BCC) 4dd0: 2d 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 -MD.!ENDIF.!ELSE 4de0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a .!IF$(DEBUG)>1.
4df0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54  TCC = $(TCC) -MT 4e00: 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d d.BCC =$(BCC) -
4e10: 4d 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20  MTd.!ELSE.TCC =
4e20: 24 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d  $(TCC) -MT.BCC = 4e30: 20 24 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44$(BCC) -MT.!END
4e40: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d  IF.!ENDIF..# <<m
4e50: 61 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71  ark>>.# The mksq
4e60: 6c 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d  lite3c.tcl and m
4e70: 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63  ksqlite3h.tcl sc
4e80: 72 69 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20  ripts will pull
4e90: 69 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69  in.# any extensi
4ea0: 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 20  on header files
4eb0: 62 79 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72  by default.  For
4ec0: 20 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f   non-amalgamatio
4ed0: 6e 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e  n.# builds, we n
4ee0: 65 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65  eed to make sure
4ef0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61   the compiler ca
4f00: 6e 20 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a  n find these..#.
4f10: 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  !IF $(USE_AMALGA 4f20: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d MATION)==0.TCC = 4f30: 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29$(TCC) -I$(TOP) 4f40: 5c 65 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20 \ext\fts3.RCC = 4f50: 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c$(RCC) -I$(TOP)\ 4f60: 65 78 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24 ext\fts3.TCC =$
4f70: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (TCC) -I$(TOP)\e 4f80: 78 74 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24 xt\rtree.RCC =$
4f90: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (RCC) -I$(TOP)\e 4fa0: 78 74 5c 72 74 72 65 65 0a 54 43 43 20 3d 20 24 xt\rtree.TCC =$
4fb0: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (TCC) -I$(TOP)\e 4fc0: 78 74 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d xt\session.RCC = 4fd0: 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29$(RCC) -I$(TOP) 4fe0: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e \ext\session.!EN 4ff0: 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c DIF..# The mksql 5000: 69 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 ite3c.tcl script 5010: 20 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 accepts some op 5020: 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d tions on the com 5030: 6d 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 mand.# line. Wh 5040: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 en compiling wit 5050: 68 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 h debugging enab 5060: 6c 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 led, some of the 5070: 73 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 se.# options are 5080: 20 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 necessary in or 5090: 64 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 der to allow deb 50a0: 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 ugging symbols t 50b0: 6f 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 o.# work correct 50c0: 6c 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 ly with Visual S 50d0: 74 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 tudio when using 50e0: 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f the amalgamatio 50f0: 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 n..#.!IFNDEF MKS 5100: 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 QLITE3C_TOOL.!IF 5110: 20 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47$(MINIMAL_AMALG
5120: 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51  AMATION)!=0.MKSQ
5130: 4c 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28  LITE3C_TOOL = $( 5140: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 TOP)\tool\mksqli 5150: 74 65 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 te3c-noext.tcl.! 5160: 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f ELSE.MKSQLITE3C_ 5170: 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f TOOL =$(TOP)\to
5180: 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63  ol\mksqlite3c.tc
5190: 6c 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  l.!ENDIF.!ENDIF.
51a0: 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54  .!IFNDEF MKSQLIT
51b0: 45 33 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44  E3C_ARGS.!IF $(D 51c0: 45 42 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 EBUG)>1.MKSQLITE 51d0: 33 43 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 3C_ARGS = --line 51e0: 6d 61 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 macros.!ELSE.MKS 51f0: 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21 QLITE3C_ARGS =.! 5200: 45 4e 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f ENDIF.!IF$(USE_
5210: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24  STDCALL)!=0 || $5220: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d (FOR_WIN10)!=0.M 5230: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d KSQLITE3C_ARGS = 5240: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52$(MKSQLITE3C_AR
5250: 47 53 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c  GS) --useapicall
5260: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
5270: 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68  # The mksqlite3h
5280: 2e 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 65  .tcl script acce
5290: 70 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73  pts some options
52a0: 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20   on the command
52b0: 6c 69 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d  line..# When com
52c0: 70 69 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63  piling with stdc
52d0: 61 6c 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d  all support, som
52e0: 65 20 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f  e of these optio
52f0: 6e 73 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61  ns are.# necessa
5300: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b  ry..#.!IFNDEF MK
5310: 53 51 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49  SQLITE3H_ARGS.!I
5320: 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29  F $(USE_STDCALL) 5330: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e !=0 ||$(FOR_WIN
5340: 31 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33  10)!=0.MKSQLITE3
5350: 48 5f 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70  H_ARGS = --useap
5360: 69 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51  icall.!ELSE.MKSQ
5370: 4c 49 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45  LITE3H_ARGS =.!E
5380: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  NDIF.!ENDIF.# <<
5390: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e  /mark>>..# Defin
53a0: 65 20 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f  e -DNDEBUG to co
53b0: 6d 70 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65  mpile without de
53c0: 62 75 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66  bugging (i.e., f
53d0: 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73  or production us
53e0: 61 67 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20  age).# Omitting
53f0: 74 68 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20  the define will
5400: 63 61 75 73 65 20 65 78 74 72 61 20 64 65 62 75  cause extra debu
5410: 67 67 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65  gging code to be
5420: 20 69 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20   inserted and.#
5430: 69 6e 63 6c 75 64 65 73 20 65 78 74 72 61 20 63  includes extra c
5440: 6f 6d 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58  omments when "EX
5450: 50 4c 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75  PLAIN stmt" is u
5460: 73 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42  sed..#.!IF $(DEB 5470: 55 47 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 UG)==0.TCC =$(T
5480: 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43  CC) -DNDEBUG.BCC
5490: 20 3d 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42   = $(BCC) -DNDEB 54a0: 55 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 UG.RCC =$(RCC)
54b0: 2d 44 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a  -DNDEBUG.!ENDIF.
54c0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 30 20  .!IF $(DEBUG)>0 54d0: 7c 7c 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21 ||$(API_ARMOR)!
54e0: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1 54f0: 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 0)!=0.TCC =$(TC
5500: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
5510: 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52  LE_API_ARMOR=1.R
5520: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ 5530: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f LITE_ENABLE_API_ 5540: 41 52 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a ARMOR=1.!ENDIF.. 5550: 21 49 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54 !IF$(DEBUG)>2.T
5560: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ 5570: 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43 LITE_DEBUG=1.RCC 5580: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 =$(RCC) -DSQLI
5590: 54 45 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24  TE_DEBUG=1.!IF $55a0: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d (DYNAMIC_SHELL)= 55b0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 =0.TCC =$(TCC)
55c0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
55d0: 57 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c  WHERETRACE -DSQL
55e0: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43  ITE_ENABLE_SELEC
55f0: 54 54 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52  TTRACE.RCC = $(R 5600: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 CC) -DSQLITE_ENA 5610: 42 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d BLE_WHERETRACE - 5620: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 DSQLITE_ENABLE_S 5630: 45 4c 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49 ELECTTRACE.!ENDI 5640: 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 F.!ENDIF..!IF$(
5650: 44 45 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53  DEBUG)>4 || $(OS 5660: 54 52 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 TRACE)!=0.TCC = 5670: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(TCC) -DSQLITE_
5680: 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31  FORCE_OS_TRACE=1
5690: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f   -DSQLITE_DEBUG_
56a0: 4f 53 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d  OS_TRACE=1.RCC =
56b0: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE 56c0: 5f 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d _FORCE_OS_TRACE= 56d0: 31 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 1 -DSQLITE_DEBUG 56e0: 5f 4f 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 _OS_TRACE=1.!END 56f0: 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 IF..!IF$(DEBUG)
5700: 3e 35 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >5.TCC = $(TCC) 5710: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 5720: 49 4f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 IOTRACE=1.RCC = 5730: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(RCC) -DSQLITE_
5740: 45 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31  ENABLE_IOTRACE=1
5750: 0a 21 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65  .!ENDIF..# Preve
5760: 6e 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75  nt warnings abou
5770: 74 20 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56  t "insecure" MSV
5780: 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72  C runtime librar
5790: 79 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65  y functions.# be
57a0: 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20  ing used..#.TCC
57b0: 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f  = $(TCC) -D_CRT_ 57c0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 SECURE_NO_DEPREC 57d0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 ATE -D_CRT_SECUR 57e0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 E_NO_WARNINGS.BC 57f0: 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 C =$(BCC) -D_CR
5800: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52  T_SECURE_NO_DEPR
5810: 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43  ECATE -D_CRT_SEC
5820: 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a  URE_NO_WARNINGS.
5830: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f  RCC = $(RCC) -D_ 5840: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 CRT_SECURE_NO_DE 5850: 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 PRECATE -D_CRT_S 5860: 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 ECURE_NO_WARNING 5870: 53 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 S..# Prevent war 5880: 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70 nings about "dep 5890: 72 65 63 61 74 65 64 22 20 50 4f 53 49 58 20 66 recated" POSIX f 58a0: 75 6e 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 unctions being u 58b0: 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 sed..#.TCC =$(T
58c0: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  CC) -D_CRT_NONST
58d0: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  DC_NO_DEPRECATE
58e0: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
58f0: 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d  O_WARNINGS.BCC =
5900: 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e   $(BCC) -D_CRT_N 5910: 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 ONSTDC_NO_DEPREC 5920: 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 ATE -D_CRT_NONST 5930: 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 DC_NO_WARNINGS.R 5940: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 CC =$(RCC) -D_C
5950: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45  RT_NONSTDC_NO_DE
5960: 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e  PRECATE -D_CRT_N
5970: 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e  ONSTDC_NO_WARNIN
5980: 47 53 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51  GS..# Use the SQ
5990: 4c 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68  Lite debugging h
59a0: 65 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23  eap subsystem?.#
59b0: 0a 21 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29  .!IF $(MEMDEBUG) 59c0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 !=0.TCC =$(TCC)
59d0: 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42   -DSQLITE_MEMDEB
59e0: 55 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  UG=1.RCC = $(RCC 59f0: 29 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 ) -DSQLITE_MEMDE 5a00: 42 55 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 BUG=1..# Use nat 5a10: 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 ive Win32 heap s 5a20: 75 62 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64 ubsystem instead 5a30: 20 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f of malloc/free? 5a40: 0a 23 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e .#.!ELSEIF$(WIN
5a50: 33 32 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d  32HEAP)!=0.TCC =
5a60: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE 5a70: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a _WIN32_MALLOC=1. 5a80: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 RCC =$(RCC) -DS
5a90: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c  QLITE_WIN32_MALL
5aa0: 4f 43 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65  OC=1..# Validate
5ab0: 20 74 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65   the heap on eve
5ac0: 72 79 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65  ry call into the
5ad0: 20 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68 65   native Win32 he
5ae0: 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a  ap subsystem?.#.
5af0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54  !IF $(DEBUG)>3.T 5b00: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 CC =$(TCC) -DSQ
5b10: 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f  LITE_WIN32_MALLO
5b20: 43 5f 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43  C_VALIDATE=1.RCC
5b30: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI 5b40: 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f TE_WIN32_MALLOC_ 5b50: 56 41 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 VALIDATE=1.!ENDI 5b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 F.!ENDIF..# <<ma 5b70: 72 6b 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 rk>>.# The locat 5b80: 69 6f 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20 ions of the Tcl 5b90: 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 header and libra 5ba0: 72 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c ry files. Also, 5bb0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 the library tha 5bc0: 74 0a 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e t.# non-stubs en 5bd0: 61 62 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75 abled programs u 5be0: 73 69 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 sing Tcl must li 5bf0: 6e 6b 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65 nk against. The 5c00: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 se variables.# ( 5c10: 54 43 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 TCLINCDIR, TCLLI 5c20: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c BDIR, and LIBTCL 5c30: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 ) may be overrid 5c40: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 den via the envi 5c50: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 ronment.# prior 5c60: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 to running nmake 5c70: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 in order to mat 5c80: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e ch the actual in 5c90: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e stalled location 5ca0: 20 61 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f and.# version o 5cb0: 6e 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a n this machine.. 5cc0: 23 0a 21 49 46 4e 44 45 46 20 54 43 4c 56 45 52 #.!IFNDEF TCLVER 5cd0: 53 49 4f 4e 0a 54 43 4c 56 45 52 53 49 4f 4e 20 SION.TCLVERSION 5ce0: 3d 20 38 36 0a 21 45 4e 44 49 46 0a 0a 21 49 46 = 86.!ENDIF..!IF 5cf0: 4e 44 45 46 20 54 43 4c 53 55 46 46 49 58 0a 54 NDEF TCLSUFFIX.T 5d00: 43 4c 53 55 46 46 49 58 20 3d 0a 21 45 4e 44 49 CLSUFFIX =.!ENDI 5d10: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 44 49 F..!IFNDEF TCLDI 5d20: 52 0a 54 43 4c 44 49 52 20 3d 20 24 28 54 4f 50 R.TCLDIR =$(TOP
5d30: 29 5c 63 6f 6d 70 61 74 5c 74 63 6c 0a 21 45 4e  )\compat\tcl.!EN
5d40: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c  DIF..!IFNDEF TCL
5d50: 49 4e 43 44 49 52 0a 54 43 4c 49 4e 43 44 49 52  INCDIR.TCLINCDIR
5d60: 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 69 6e 63   = $(TCLDIR)\inc 5d70: 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 lude.!ENDIF..!IF 5d80: 4e 44 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 NDEF TCLLIBDIR.T 5d90: 43 4c 4c 49 42 44 49 52 20 3d 20 24 28 54 43 4c CLLIBDIR =$(TCL
5da0: 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a  DIR)\lib.!ENDIF.
5db0: 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 0a  .!IFNDEF LIBTCL.
5dc0: 4c 49 42 54 43 4c 20 3d 20 74 63 6c 24 28 54 43  LIBTCL = tcl$(TC 5dd0: 4c 56 45 52 53 49 4f 4e 29 24 28 54 43 4c 53 55 LVERSION)$(TCLSU
5de0: 46 46 49 58 29 2e 6c 69 62 0a 21 45 4e 44 49 46  FFIX).lib.!ENDIF
5df0: 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c  ..!IFNDEF LIBTCL
5e00: 53 54 55 42 0a 4c 49 42 54 43 4c 53 54 55 42 20  STUB.LIBTCLSTUB
5e10: 3d 20 74 63 6c 73 74 75 62 24 28 54 43 4c 56 45  = tclstub$(TCLVE 5e20: 52 53 49 4f 4e 29 24 28 54 43 4c 53 55 46 46 49 RSION)$(TCLSUFFI
5e30: 58 29 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  X).lib.!ENDIF..!
5e40: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54  IFNDEF LIBTCLPAT
5e50: 48 0a 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 24  H.LIBTCLPATH = $5e60: 28 54 43 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e (TCLDIR)\bin.!EN 5e70: 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74 DIF..# The locat 5e80: 69 6f 6e 73 20 6f 66 20 74 68 65 20 7a 6c 69 62 ions of the zlib 5e90: 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 header and libr 5ea0: 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73 ary files. Thes 5eb0: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 5a e variables.# (Z 5ec0: 4c 49 42 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c LIBINCDIR, ZLIBL 5ed0: 49 42 44 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c IBDIR, and ZLIBL 5ee0: 49 42 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 IB) may be overr 5ef0: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e idden via the en 5f00: 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f vironment.# prio 5f10: 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 r to running nma 5f20: 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d ke in order to m 5f30: 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 atch the actual 5f40: 69 6e 73 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f installed (or so 5f50: 75 72 63 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63 urce.# code) loc 5f60: 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 ation on this ma 5f70: 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 chine..#.!IFNDEF 5f80: 20 5a 4c 49 42 44 49 52 0a 5a 4c 49 42 44 49 52 ZLIBDIR.ZLIBDIR 5f90: 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74 =$(TOP)\compat
5fa0: 5c 7a 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49  \zlib.!ENDIF..!I
5fb0: 46 4e 44 45 46 20 5a 4c 49 42 49 4e 43 44 49 52  FNDEF ZLIBINCDIR
5fc0: 0a 5a 4c 49 42 49 4e 43 44 49 52 20 3d 20 24 28  .ZLIBINCDIR = $( 5fd0: 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a ZLIBDIR).!ENDIF. 5fe0: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42 .!IFNDEF ZLIBLIB 5ff0: 44 49 52 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d DIR.ZLIBLIBDIR = 6000: 20 24 28 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44$(ZLIBDIR).!END
6010: 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42  IF..!IFNDEF ZLIB
6020: 4c 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  LIB.!IF $(DYNAMI 6030: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42 C_SHELL)!=0.ZLIB 6040: 4c 49 42 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21 LIB = zdll.lib.! 6050: 45 4c 53 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a ELSE.ZLIBLIB = z 6060: 6c 69 62 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 lib.lib.!ENDIF.! 6070: 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 ENDIF..# The loc 6080: 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43 ations of the IC 6090: 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 U header and lib 60a0: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 rary files. The 60b0: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 se variables.# ( 60c0: 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49 ICUINCDIR, ICULI 60d0: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55 BDIR, and LIBICU 60e0: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 ) may be overrid 60f0: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 den via the envi 6100: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 ronment.# prior 6110: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 to running nmake 6120: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 in order to mat 6130: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e ch the actual in 6140: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e stalled location 6150: 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69 on.# this machi 6160: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43 ne..#.!IFNDEF IC 6170: 55 44 49 52 0a 49 43 55 44 49 52 20 3d 20 24 28 UDIR.ICUDIR =$(
6180: 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a  TOP)\compat\icu.
6190: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20  !ENDIF..!IFNDEF
61a0: 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43  ICUINCDIR.ICUINC
61b0: 44 49 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c  DIR = $(ICUDIR)\ 61c0: 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a include.!ENDIF.. 61d0: 21 49 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49 !IFNDEF ICULIBDI 61e0: 52 0a 49 43 55 4c 49 42 44 49 52 20 3d 20 24 28 R.ICULIBDIR =$(
61f0: 49 43 55 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44  ICUDIR)\lib.!END
6200: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 49  IF..!IFNDEF LIBI
6210: 43 55 0a 4c 49 42 49 43 55 20 3d 20 69 63 75 75  CU.LIBICU = icuu
6220: 63 2e 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a  c.lib icuin.lib.
6230: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69  !ENDIF..# This i
6240: 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f  s the command to
6250: 20 75 73 65 20 66 6f 72 20 74 63 6c 73 68 20 2d   use for tclsh -
6260: 20 6e 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22   normally just "
6270: 74 63 6c 73 68 22 2c 20 62 75 74 20 77 65 20 6d  tclsh", but we m
6280: 61 79 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73 70  ay.# know the sp
6290: 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20 77  ecific version w
62a0: 65 20 77 61 6e 74 20 74 6f 20 75 73 65 2e 20 20  e want to use.
62b0: 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 28 54  This variable (T
62c0: 43 4c 53 48 5f 43 4d 44 29 20 6d 61 79 20 62 65  CLSH_CMD) may be
62d0: 0a 23 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69  .# overridden vi
62e0: 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e  a the environmen
62f0: 74 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69  t prior to runni
6300: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65  ng nmake in orde
6310: 72 20 74 6f 20 73 65 6c 65 63 74 20 61 0a 23 20  r to select a.#
6320: 73 70 65 63 69 66 69 63 20 54 63 6c 20 73 68 65  specific Tcl she
6330: 6c 6c 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46  ll to use..#.!IF
6340: 4e 44 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21  NDEF TCLSH_CMD.!
6350: 49 46 20 24 28 55 53 45 5f 54 43 4c 53 48 5f 49  IF $(USE_TCLSH_I 6360: 4e 5f 50 41 54 48 29 21 3d 30 20 7c 7c 20 21 45 N_PATH)!=0 || !E 6370: 58 49 53 54 28 22 24 28 54 43 4c 44 49 52 29 5c XIST("$(TCLDIR)\
6380: 62 69 6e 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a  bin\tclsh.exe").
6390: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73  TCLSH_CMD = tcls
63a0: 68 0a 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d  h.!ELSE.TCLSH_CM
63b0: 44 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62 69  D = $(TCLDIR)\bi 63c0: 6e 5c 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44 n\tclsh.exe.!END 63d0: 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d IF.!ENDIF.# <</m 63e0: 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65 ark>>..# Compile 63f0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64 r options needed 6400: 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 68 for programs th 6410: 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64 6c at use the readl 6420: 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a 23 ine() library..# 6430: 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49 4e .!IFNDEF READLIN 6440: 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45 E_FLAGS.READLINE 6450: 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45 5f _FLAGS = -DHAVE_ 6460: 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49 READLINE=0.!ENDI 6470: 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79 F..# The library 6480: 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75 that programs u 6490: 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20 sing readline() 64a0: 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 must link agains 64b0: 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49 42 t..#.!IFNDEF LIB 64c0: 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44 READLINE.LIBREAD 64d0: 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 LINE =.!ENDIF..# 64e0: 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74 61 Should the data 64f0: 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20 63 base engine be c 6500: 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73 61 ompiled threadsa 6510: 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 fe.#.TCC =$(TCC
6520: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
6530: 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24 28  DSAFE=1.RCC = $( 6540: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 RCC) -DSQLITE_TH 6550: 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f READSAFE=1..# Do 6560: 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69 64 threads overrid 6570: 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c 6f e each others lo 6580: 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20 28 cks by default ( 6590: 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65 73 1), or do we tes 65a0: 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24 t (-1).#.TCC =$
65b0: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54  (TCC) -DSQLITE_T
65c0: 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c  HREAD_OVERRIDE_L
65d0: 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52  OCK=-1.RCC = $(R 65e0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 CC) -DSQLITE_THR 65f0: 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 EAD_OVERRIDE_LOC 6600: 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72 67 K=-1..# Any targ 6610: 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68 69 et libraries whi 6620: 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75 73 ch libsqlite mus 6630: 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61 69 t be linked agai 6640: 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c nst.#.!IFNDEF TL 6650: 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44 IBS.TLIBS =.!END 6660: 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74 IF..# Flags cont 6670: 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20 74 rolling use of t 6680: 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72 he in memory btr 6690: 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ee implementatio 66a0: 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d n.#.# SQLITE_TEM 66b0: 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f 20 P_STORE is 0 to 66c0: 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 20 force temporary 66d0: 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e 20 tables to be in 66e0: 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64 a file, 1 to.# d 66f0: 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20 efault to file, 6700: 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f 20 2 to default to 6710: 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f memory, and 3 to 6720: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 force temporary 6730: 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c 77 .# tables to alw 6740: 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79 ays be in memory 6750: 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 ..#.TCC =$(TCC)
6760: 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53   -DSQLITE_TEMP_S
6770: 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  TORE=1.RCC = $(R 6780: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d CC) -DSQLITE_TEM 6790: 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61 P_STORE=1..# Ena 67a0: 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64 ble/disable load 67b0: 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c able extensions, 67c0: 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f and other optio 67d0: 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20 62 nal features.# b 67e0: 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72 ased on configur 67f0: 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45 ation. (-DSQLITE 6800: 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45 _OMIT*, -DSQLITE 6810: 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65 _ENABLE*)..# The 6820: 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49 same set of OMI 6830: 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61 T and ENABLE fla 6840: 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61 73 gs should be pas 6850: 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d sed to the.# LEM 6860: 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72 61 ON parser genera 6870: 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65 tor and the mkke 6880: 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20 61 ywordhash tool a 6890: 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65 s well...# These 68a0: 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72 65 are the require 68b0: 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 d SQLite compila 68c0: 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 tion options use 68d0: 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 d when compiling 68e0: 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f for.# the Windo 68f0: 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52 ws platform..#.R 6900: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 EQ_FEATURE_FLAGS 6910: 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 =$(REQ_FEATURE
6920: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
6930: 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45 50  _MAX_TRIGGER_DEP
6940: 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65 20  TH=100..# If we
6950: 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74  are linking to t
6960: 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72  he RPCRT4 librar
6970: 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75 72  y, enable featur
6980: 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74 2e  es that need it.
6990: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43  .#.!IF $(USE_RPC 69a0: 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f RT4_LIB)!=0.REQ_ 69b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 FEATURE_FLAGS = 69c0: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c$(REQ_FEATURE_FL
69d0: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57 49  AGS) -DSQLITE_WI
69e0: 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21  N32_USE_UUID=1.!
69f0: 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68 65  ENDIF..# Add the
6a00: 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f 70   required and op
6a10: 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f  tional SQLite co
6a20: 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e  mpilation option
6a30: 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61  s into the comma
6a40: 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64 20  nd.# lines used
6a50: 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53  to invoke the MS
6a60: 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73 6f  VC code and reso
6a70: 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a  urce compilers..
6a80: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 24  #.TCC = $(TCC)$
6a90: 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41  (REQ_FEATURE_FLA
6aa0: 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52  GS) $(OPT_FEATUR 6ab0: 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 E_FLAGS)$(EXT_F
6ac0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52 43  EATURE_FLAGS).RC
6ad0: 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45 51  C = $(RCC)$(REQ
6ae0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
6af0: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL 6b00: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 AGS)$(EXT_FEATU
6b10: 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64 64  RE_FLAGS)..# Add
6b20: 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c   in any optional
6b30: 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65 63   parameters spec
6b40: 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d  ified on the com
6b50: 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a  mane line, e.g..
6b60: 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66  # nmake /f Makef
6b70: 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54  ile.msc all "OPT
6b80: 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  S=-DSQLITE_ENABL
6b90: 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45  E_FOO=1 -DSQLITE
6ba0: 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54  _OMIT_FOO=1".#.T
6bb0: 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f 50  CC = $(TCC)$(OP
6bc0: 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29  TS).RCC = $(RCC) 6bd0: 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20 63$(OPTS)..# If c
6be0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62  ompiling for deb
6bf0: 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65  ugging, add some
6c00: 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20   defines..#.!IF
6c10: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d  $(DEBUG)>1.TCC = 6c20: 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55 47$(TCC) -D_DEBUG
6c30: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44  .BCC = $(BCC) -D 6c40: 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52 _DEBUG.RCC =$(R
6c50: 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e  CC) -D_DEBUG.!EN
6c60: 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69  DIF..# If optimi
6c70: 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 62  zations are enab
6c80: 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64 20  led or disabled
6c90: 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69 74  (either implicit
6ca0: 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69 74  ly or.# explicit
6cb0: 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65 63  ly), add the nec
6cc0: 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a  essary flags..#.
6cd0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c  !IF $(DEBUG)>1 | 6ce0: 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e |$(OPTIMIZATION
6cf0: 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)==0.TCC = $(TC 6d00: 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42 C) -Od.BCC =$(B
6d10: 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55 53  CC) -Od.!IF $(US 6d20: 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 E_RUNTIME_CHECKS 6d30: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 )!=0.TCC =$(TCC
6d40: 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24 28  ) -RTC1.BCC = $( 6d50: 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44 49 BCC) -RTC1.!ENDI 6d60: 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 F.!ELSEIF$(OPTI
6d70: 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43  MIZATIONS)>=3.TC
6d80: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42  C = $(TCC) -Ox.B 6d90: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a CC =$(BCC) -Ox.
6da0: 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49  !ELSEIF $(OPTIMI 6db0: 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20 ZATIONS)==2.TCC 6dc0: 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43 =$(TCC) -O2.BCC
6dd0: 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45   = $(BCC) -O2.!E 6de0: 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 LSEIF$(OPTIMIZA
6df0: 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20  TIONS)==1.TCC =
6e00: 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d  $(TCC) -O1.BCC = 6e10: 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44$(BCC) -O1.!END
6e20: 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73  IF..# If symbols
6e30: 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72   are enabled (or
6e40: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64   compiling for d
6e50: 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c  ebugging), enabl
6e60: 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28  e PDBs..#.!IF $( 6e70: 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 DEBUG)>1 ||$(SY
6e80: 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20  MBOLS)!=0.TCC =
6e90: 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d  $(TCC) -Zi.BCC = 6ea0: 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44$(BCC) -Zi.!END
6eb0: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
6ec0: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74   If zlib support
6ed0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
6ee0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70   the compiler op
6ef0: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a  tions for it..#.
6f00: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21  !IF $(USE_ZLIB)! 6f10: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 =0.TCC =$(TCC)
6f20: 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c  -DSQLITE_HAVE_ZL
6f30: 49 42 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  IB=1.RCC = $(RCC 6f40: 29 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f ) -DSQLITE_HAVE_ 6f50: 5a 4c 49 42 3d 31 0a 54 43 43 20 3d 20 24 28 54 ZLIB=1.TCC =$(T
6f60: 43 43 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44  CC) -I$(ZLIBINCD 6f70: 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29 IR).RCC =$(RCC)
6f80: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29   -I$(ZLIBINCDIR) 6f90: 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 .!ENDIF..# If IC 6fa0: 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 U support is ena 6fb0: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f bled, add the co 6fc0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 mpiler options f 6fd0: 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 or it..#.!IF$(U
6fe0: 53 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d  SE_ICU)!=0.TCC =
6ff0: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE 7000: 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43 _ENABLE_ICU=1.RC 7010: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c C =$(RCC) -DSQL
7020: 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31  ITE_ENABLE_ICU=1
7030: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I 7040: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52$(TOP)\ext\icu.R
7050: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28  CC = $(RCC) -I$(
7060: 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43  TOP)\ext\icu.TCC
7070: 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49 43   = $(TCC) -I$(IC
7080: 55 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24  UINCDIR).RCC = $7090: 28 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43 (RCC) -I$(ICUINC
70a0: 44 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  DIR).!ENDIF.# <<
70b0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61  /mark>>..# Comma
70c0: 6e 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73  nd line prefixes
70d0: 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63   for compiling c
70e0: 6f 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72  ode, compiling r
70f0: 65 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b  esources,.# link
7100: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f  ing, etc..#.LTCO
7110: 4d 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d  MPILE = $(TCC) - 7120: 46 6f 24 40 20 2d 46 64 24 2a 2e 70 64 62 0a 4c Fo$@ -Fd$*.pdb.L 7130: 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24 28 52 43 TRCOMPILE =$(RC
7140: 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c 69  C) -r.LTLIB = li
7150: 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20 24  b.exe.LTLINK = $7160: 28 54 43 43 29 20 2d 46 65 24 40 0a 0a 23 20 49 (TCC) -Fe$@..# I
7170: 66 20 72 65 71 75 65 73 74 65 64 2c 20 6c 69 6e  f requested, lin
7180: 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34 20  k to the RPCRT4
7190: 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 20 24  library..#.!IF $71a0: 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 (USE_RPCRT4_LIB) 71b0: 21 3d 30 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c !=0.LTLIBS =$(L
71c0: 54 4c 49 42 53 29 20 72 70 63 72 74 34 2e 6c 69  TLIBS) rpcrt4.li
71d0: 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 61  b.!ENDIF..# If a
71e0: 20 70 6c 61 74 66 6f 72 6d 20 77 61 73 20 73 65   platform was se
71f0: 74 2c 20 66 6f 72 63 65 20 74 68 65 20 6c 69 6e  t, force the lin
7200: 6b 65 72 20 74 6f 20 74 61 72 67 65 74 20 74 68  ker to target th
7210: 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68 61 74 20  at..# Note that
7220: 74 68 65 20 76 63 76 61 72 73 2a 2e 62 61 74 20  the vcvars*.bat
7230: 66 61 6d 69 6c 79 20 6f 66 20 62 61 74 63 68 20  family of batch
7240: 66 69 6c 65 73 20 74 79 70 69 63 61 6c 6c 79 0a  files typically.
7250: 23 20 73 65 74 20 74 68 69 73 20 66 6f 72 20 79  # set this for y
7260: 6f 75 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20  ou.  Otherwise,
7270: 74 68 65 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20  the linker will
7280: 61 74 74 65 6d 70 74 0a 23 20 74 6f 20 64 65 64  attempt.# to ded
7290: 75 63 65 20 74 68 65 20 62 69 6e 61 72 79 20 74  uce the binary t
72a0: 79 70 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65  ype based on the
72b0: 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e 0a 21   object files..!
72c0: 49 46 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 4c  IFDEF PLATFORM.L
72d0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c  TLINKOPTS = /NOL
72e0: 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50  OGO /MACHINE:$(P 72f0: 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50 LATFORM).LTLIBOP 7300: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 TS = /NOLOGO /MA 7310: 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d CHINE:$(PLATFORM
7320: 29 0a 21 45 4c 53 45 49 46 20 22 24 28 56 49 53  ).!ELSEIF "$(VIS 7330: 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e UALSTUDIOVERSION 7340: 29 22 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 5c 0a )"=="12.0" || \. 7350: 20 20 20 20 20 20 20 20 22 24 28 56 49 53 55 41 "$(VISUA
7360: 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22  LSTUDIOVERSION)"
7370: 3d 3d 22 31 34 2e 30 22 20 7c 7c 20 5c 0a 20 20  =="14.0" || \.
7380: 20 20 20 20 20 20 22 24 28 56 49 53 55 41 4c 53        "$(VISUALS 7390: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d TUDIOVERSION)"== 73a0: 22 31 35 2e 30 22 0a 4c 54 4c 49 4e 4b 4f 50 54 "15.0".LTLINKOPT 73b0: 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 S = /NOLOGO /MAC 73c0: 48 49 4e 45 3a 78 38 36 0a 4c 54 4c 49 42 4f 50 HINE:x86.LTLIBOP 73d0: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 TS = /NOLOGO /MA 73e0: 43 48 49 4e 45 3a 78 38 36 0a 21 45 4c 53 45 0a CHINE:x86.!ELSE. 73f0: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f LTLINKOPTS = /NO 7400: 4c 4f 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d LOGO.LTLIBOPTS = 7410: 20 2f 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a /NOLOGO.!ENDIF. 7420: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e .# When compilin 7430: 67 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 g for use in the 7440: 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 WinRT environme 7450: 6e 74 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e nt, the followin 7460: 67 0a 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f g.# linker optio 7470: 6e 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 n must be used t 7480: 6f 20 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 o mark the execu 7490: 74 61 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c table as runnabl 74a0: 65 0a 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 e.# only in the 74b0: 63 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 context of an ap 74c0: 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 plication contai 74d0: 6e 65 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 ner..#.!IF$(FOR
74e0: 5f 57 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e  _WINRT)!=0.LTLIN
74f0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK 7500: 4f 50 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 OPTS) /APPCONTAI 7510: 4e 45 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 NER.!IF "$(VISUA
7520: 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22  LSTUDIOVERSION)"
7530: 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56  =="12.0" || "$(V 7540: 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 ISUALSTUDIOVERSI 7550: 4f 4e 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 ON)"=="14.0".!IF 7560: 4e 44 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 NDEF STORELIBPAT 7570: 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 H.!IF "$(PLATFOR
7580: 4d 29 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45  M)"=="x86".STORE
7590: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL 75a0: 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 IBPATH)\store.!E 75b0: 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 LSEIF "$(PLATFOR
75c0: 4d 29 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45  M)"=="x64".STORE
75d0: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL 75e0: 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d IBPATH)\store\am 75f0: 64 36 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 d64.!ELSEIF "$(P
7600: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22  LATFORM)"=="ARM"
7610: 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20  .STORELIBPATH =
7620: 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74  $(CRTLIBPATH)\st 7630: 6f 72 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 ore\arm.!ELSE.ST 7640: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 ORELIBPATH =$(C
7650: 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65  RTLIBPATH)\store
7660: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53  .!ENDIF.!ENDIF.S
7670: 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28  TORELIBPATH = $( 7680: 53 54 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d STORELIBPATH:\\= 7690: 5c 29 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 \).LTLINKOPTS = 76a0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f$(LTLINKOPTS) "/
76b0: 4c 49 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c  LIBPATH:$(STOREL 76c0: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a IBPATH)".!ENDIF. 76d0: 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 !ENDIF..# When c 76e0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e ompiling for Win 76f0: 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 dows Phone 8.1, 7700: 61 6e 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 an extra library 7710: 20 70 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 path is.# requi 7720: 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 red..#.!IF$(USE
7730: 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21  _WP81_OPTS)!=0.!
7740: 49 46 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41  IFNDEF WP81LIBPA
7750: 54 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f  TH.!IF "$(PLATFO 7760: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 RM)"=="x86".WP81 7770: 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 LIBPATH =$(PROG
7780: 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69  RAMFILES_X86)\Wi
7790: 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73  ndows Phone Kits
77a0: 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c  \8.1\lib\x86.!EL
77b0: 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  SEIF "$(PLATFORM 77c0: 29 22 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 )"=="ARM".WP81LI 77d0: 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 BPATH =$(PROGRA
77e0: 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64  MFILES_X86)\Wind
77f0: 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38  ows Phone Kits\8
7800: 2e 31 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45  .1\lib\ARM.!ELSE
7810: 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24  .WP81LIBPATH = $7820: 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 (PROGRAMFILES_X8 7830: 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 6)\Windows Phone 7840: 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 Kits\8.1\lib\x8 7850: 36 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 6.!ENDIF.!ENDIF. 7860: 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 !ENDIF..# When c 7870: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e ompiling for Win 7880: 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 dows Phone 8.1, 7890: 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 some extra linke 78a0: 72 20 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 r options.# are 78b0: 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 also required..# 78c0: 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f .!IF$(USE_WP81_
78d0: 4f 50 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20  OPTS)!=0.!IFDEF
78e0: 57 50 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49  WP81LIBPATH.LTLI
78f0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN 7900: 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 KOPTS) "/LIBPATH 7910: 3a 24 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 :$(WP81LIBPATH)"
7920: 0a 21 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50  .!ENDIF.LTLINKOP
7930: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT 7940: 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a S) /DYNAMICBASE. 7950: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c LTLINKOPTS =$(L
7960: 54 4c 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f  TLINKOPTS) Windo
7970: 77 73 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20  wsPhoneCore.lib
7980: 52 75 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69  RuntimeObject.li
7990: 62 20 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48  b PhoneAppModelH
79a0: 6f 73 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50  ost.lib.LTLINKOP
79b0: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT 79c0: 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 S) /NODEFAULTLIB 79d0: 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e :kernel32.lib /N 79e0: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 ODEFAULTLIB:ole3 79f0: 32 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 2.lib.!ENDIF..# 7a00: 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 When compiling f 7a10: 6f 72 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 or UWP or the Wi 7a20: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 ndows 10 platfor 7a30: 6d 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 m, some extra li 7a40: 6e 6b 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 nker.# options a 7a50: 72 65 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 re also required 7a60: 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 ..#.!IF$(FOR_UW
7a70: 50 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  P)!=0 || $(FOR_W 7a80: 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f IN10)!=0.LTLINKO 7a90: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 PTS =$(LTLINKOP
7aa0: 54 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45  TS) /DYNAMICBASE
7ab0: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b   /NODEFAULTLIB:k
7ac0: 65 72 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49  ernel32.lib.LTLI
7ad0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN 7ae0: 4b 4f 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c KOPTS) mincore.l 7af0: 69 62 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 ib.!IFDEF PSDKLI 7b00: 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 BPATH.LTLINKOPTS 7b10: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 =$(LTLINKOPTS)
7b20: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44   "/LIBPATH:$(PSD 7b30: 4b 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 KLIBPATH)".!ENDI 7b40: 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 F.!ENDIF..!IF$(
7b50: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54  FOR_WIN10)!=0.LT
7b60: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL 7b70: 49 4e 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a INKOPTS) /guard: 7b80: 63 66 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 cf "/LIBPATH:$(U
7b90: 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46  CRTLIBPATH)".!IF
7ba0: 20 24 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49   $(DEBUG)>1.LTLI 7bb0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e NKOPTS =$(LTLIN
7bc0: 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c  KOPTS) /NODEFAUL
7bd0: 54 4c 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69  TLIB:libucrtd.li
7be0: 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63  b /DEFAULTLIB:uc
7bf0: 72 74 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54  rtd.lib.!ELSE.LT
7c00: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL 7c10: 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 INKOPTS) /NODEFA 7c20: 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c ULTLIB:libucrt.l 7c30: 69 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 ib /DEFAULTLIB:u 7c40: 63 72 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 crt.lib.!ENDIF.! 7c50: 45 4e 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 ENDIF..# If eith 7c60: 65 72 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 er debugging or 7c70: 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 symbols are enab 7c80: 6c 65 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 led, enable PDBs 7c90: 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 ..#.!IF$(DEBUG)
7ca0: 3e 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29  >1 || $(SYMBOLS) 7cb0: 21 3d 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 !=0.LDFLAGS = /D 7cc0: 45 42 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 EBUG$(LDOPTS).!
7cd0: 45 4c 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24  ELSE.LDFLAGS = $7ce0: 28 4c 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a (LDOPTS).!ENDIF. 7cf0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 .# <<mark>>.# St 7d00: 61 72 74 20 77 69 74 68 20 74 68 65 20 54 63 6c art with the Tcl 7d10: 20 72 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 related linker 7d20: 6f 70 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 options..#.!IF$
7d30: 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 54 43 4c 4c  (NO_TCL)==0.TCLL
7d40: 49 42 50 41 54 48 53 20 3d 20 24 28 54 43 4c 4c  IBPATHS = $(TCLL 7d50: 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 IBPATHS) /LIBPAT 7d60: 48 3a 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 54 H:$(TCLLIBDIR).T
7d70: 43 4c 4c 49 42 53 20 3d 20 24 28 54 43 4c 4c 49  CLLIBS = $(TCLLI 7d80: 42 53 29 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 BS)$(LIBTCL).!E
7d90: 4e 44 49 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20  NDIF..# If zlib
7da0: 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c  support is enabl
7db0: 65 64 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b  ed, add the link
7dc0: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69  er options for i
7dd0: 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a  t..#.!IF $(USE_Z 7de0: 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 LIB)!=0.LTLIBPAT 7df0: 48 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 HS =$(LTLIBPATH
7e00: 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c  S) /LIBPATH:$(ZL 7e10: 49 42 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 IBLIBDIR).LTLIBS 7e20: 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 24 28 5a =$(LTLIBS) $(Z 7e30: 4c 49 42 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a LIBLIB).!ENDIF.. 7e40: 23 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 # If ICU support 7e50: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 is enabled, add 7e60: 20 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 the linker opti 7e70: 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 ons for it..#.!I 7e80: 46 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a F$(USE_ICU)!=0.
7e90: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c  LTLIBPATHS = $(L 7ea0: 54 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 TLIBPATHS) /LIBP 7eb0: 41 54 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 ATH:$(ICULIBDIR)
7ec0: 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49  .LTLIBS = $(LTLI 7ed0: 42 53 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 BS)$(LIBICU).!E
7ee0: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
7ef0: 0a 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e  ..# You should n
7f00: 6f 74 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67  ot have to chang
7f10: 65 20 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77  e anything below
7f20: 20 74 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23   this line.#####
7f30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
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 0a 0a 23 20 3c 3c  ##########..# <<
7f80: 6d 61 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20  mark>>.# Object
7f90: 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51  files for the SQ
7fa0: 4c 69 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f  Lite library (no
7fb0: 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e  n-amalgamation).
7fc0: 0a 23 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64  .#.LIBOBJS0 = vd
7fd0: 62 65 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61  be.lo parse.lo a
7fe0: 6c 74 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e  lter.lo analyze.
7ff0: 6c 6f 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74  lo attach.lo aut
8000: 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  h.lo \.
8010: 62 61 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63  backup.lo bitvec
8020: 2e 6c 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62  .lo btmutex.lo b
8030: 74 72 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f  tree.lo build.lo
8040: 20 5c 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c   \.         call
8050: 62 61 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65  back.lo complete
8060: 2e 6c 6f 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20  .lo ctime.lo \.
8070: 20 20 20 20 20 20 20 20 64 61 74 65 2e 6c 6f 20          date.lo
8080: 64 62 70 61 67 65 2e 6c 6f 20 64 62 73 74 61 74  dbpage.lo dbstat
8090: 2e 6c 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a  .lo delete.lo \.
80a0: 20 20 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f           expr.lo
80b0: 20 66 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c   fault.lo fkey.l
80c0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73  o \.         fts
80d0: 33 2e 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f  3.lo fts3_aux.lo
80e0: 20 66 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74   fts3_expr.lo ft
80f0: 73 33 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f  s3_hash.lo fts3_
8100: 69 63 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  icu.lo \.
8110: 20 20 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f    fts3_porter.lo
8120: 20 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f   fts3_snippet.lo
8130: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e   fts3_tokenizer.
8140: 6c 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  lo fts3_tokenize
8150: 72 31 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  r1.lo \.
8160: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76   fts3_tokenize_v
8170: 74 61 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63  tab.lo fts3_unic
8180: 6f 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63  ode.lo fts3_unic
8190: 6f 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69  ode2.lo fts3_wri
81a0: 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  te.lo \.
81b0: 20 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20   fts5.lo \.
81c0: 20 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62      func.lo glob
81d0: 61 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a  al.lo hash.lo \.
81e0: 20 20 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20           icu.lo
81f0: 69 6e 73 65 72 74 2e 6c 6f 20 6a 73 6f 6e 31 2e  insert.lo json1.
8200: 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61  lo legacy.lo loa
8210: 64 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  dext.lo \.
8220: 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f     main.lo mallo
8230: 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d  c.lo mem0.lo mem
8240: 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d  1.lo mem2.lo mem
8250: 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20  3.lo mem5.lo \.
8260: 20 20 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f          memdb.lo
8270: 20 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c   memjournal.lo \
8280: 0a 20 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e  .         mutex.
8290: 6c 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f  lo mutex_noop.lo
82a0: 20 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d   mutex_unix.lo m
82b0: 75 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20  utex_w32.lo \.
82c0: 20 20 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f         notify.lo
82d0: 20 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c   opcodes.lo os.l
82e0: 6f 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f  o os_unix.lo os_
82f0: 77 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  win.lo \.
8300: 20 20 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68    pager.lo pcach
8310: 65 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20  e.lo pcache1.lo
8320: 70 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72  pragma.lo prepar
8330: 65 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c  e.lo printf.lo \
8340: 0a 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d  .         random
8350: 2e 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72  .lo resolve.lo r
8360: 6f 77 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c  owset.lo rtree.l
8370: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c  o \.         sql
8380: 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73  ite3session.lo s
8390: 65 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33  elect.lo sqlite3
83a0: 72 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f  rbu.lo status.lo
83b0: 20 73 74 6d 74 2e 6c 6f 20 5c 0a 20 20 20 20 20   stmt.lo \.
83c0: 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72      table.lo thr
83d0: 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65  eads.lo tokenize
83e0: 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20  .lo treeview.lo
83f0: 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20  trigger.lo \.
8400: 20 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20        update.lo
8410: 75 70 73 65 72 74 2e 6c 6f 20 75 74 69 6c 2e 6c  upsert.lo util.l
8420: 6f 20 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20  o vacuum.lo \.
8430: 20 20 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c         vdbeapi.l
8440: 6f 20 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62  o vdbeaux.lo vdb
8450: 65 62 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d  eblob.lo vdbemem
8460: 2e 6c 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20  .lo vdbesort.lo
8470: 5c 0a 20 20 20 20 20 20 20 20 20 76 64 62 65 74  \.         vdbet
8480: 72 61 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77  race.lo wal.lo w
8490: 61 6c 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c  alker.lo where.l
84a0: 6f 20 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77  o wherecode.lo w
84b0: 68 65 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20  hereexpr.lo \.
84c0: 20 20 20 20 20 20 20 77 69 6e 64 6f 77 2e 6c 6f         window.lo
84d0: 20 75 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a   utf.lo vtab.lo.
84e0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f  # <</mark>>..# O
84f0: 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20  bject files for
8500: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
8510: 2e 0a 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73  ..#.LIBOBJS1 = s
8520: 71 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74  qlite3.lo..# Det
8530: 65 72 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20  ermine the real
8540: 76 61 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20  value of LIBOBJ
8550: 62 61 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f  based on the 'co
8560: 6e 66 69 67 75 72 65 27 20 73 63 72 69 70 74 0a  nfigure' script.
8570: 23 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46  #.# <<mark>>.!IF
8580: 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54   $(USE_AMALGAMAT 8590: 49 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d ION)==0.LIBOBJ = 85a0: 20 24 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c$(LIBOBJS0).!EL
85b0: 53 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c  SE.# <</mark>>.L
85c0: 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a  IBOBJ = $(LIBOBJ 85d0: 53 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 S1).# <<mark>>.! 85e0: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e ENDIF.# <</mark> 85f0: 3e 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 >..# Determine i 8600: 66 20 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 f embedded resou 8610: 72 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 rce compilation 8620: 61 6e 64 20 75 73 61 67 65 20 61 72 65 20 65 6e and usage are en 8630: 61 62 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 abled..#.!IF$(U
8640: 53 45 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53  SE_RC)!=0.LIBRES
8650: 4f 42 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65  OBJS = sqlite3re
8660: 73 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45  s.lo.!ELSE.LIBRE
8670: 53 4f 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a  SOBJS =.!ENDIF..
8680: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72  # <<mark>>.# Cor
8690: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  e source code fi
86a0: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
86b0: 52 43 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC00 = \.  $(TOP 86c0: 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a )\src\alter.c \. 86d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61$(TOP)\src\ana
86e0: 6c 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lyze.c \.  $(TOP 86f0: 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c )\src\attach.c \ 8700: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 .$(TOP)\src\au
8710: 74 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  th.c \.  $(TOP)\ 8720: 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 src\backup.c \. 8730: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76$(TOP)\src\bitv
8740: 65 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ec.c \.  $(TOP)\ 8750: 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a src\btmutex.c \. 8760: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72$(TOP)\src\btr
8770: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ee.c \.  $(TOP)\ 8780: 73 72 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 src\build.c \. 8790: 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62$(TOP)\src\callb
87a0: 61 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ack.c \.  $(TOP) 87b0: 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 \src\complete.c 87c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 \.$(TOP)\src\c
87d0: 74 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  time.c \.  $(TOP 87e0: 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 )\src\date.c \. 87f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61$(TOP)\src\dbpa
8800: 67 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ge.c \.  $(TOP)\ 8810: 73 72 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 src\dbstat.c \. 8820: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65$(TOP)\src\dele
8830: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\ 8840: 73 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 src\expr.c \.$
8850: 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e  (TOP)\src\fault.
8860: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8870: 5c 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f \fkey.c \.$(TO
8880: 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a  P)\src\func.c \.
8890: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f    $(TOP)\src\glo 88a0: 62 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 bal.c \.$(TOP)
88b0: 5c 73 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20  \src\hash.c \.
88c0: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72  $(TOP)\src\inser 88d0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 t.c \.$(TOP)\s
88e0: 72 63 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20  rc\legacy.c \.
88f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65  $(TOP)\src\loade 8900: 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c xt.c \.$(TOP)\
8910: 73 72 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24  src\main.c \.  $8920: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 (TOP)\src\malloc 8930: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8940: 63 5c 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54  c\mem0.c \.  $(T 8950: 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c OP)\src\mem1.c \ 8960: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 .$(TOP)\src\me
8970: 6d 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  m2.c \.  $(TOP)\ 8980: 73 72 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 src\mem3.c \.$
8990: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63  (TOP)\src\mem5.c
89a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 89b0: 6d 65 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f memdb.c \.$(TO
89c0: 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61  P)\src\memjourna
89d0: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s 89e0: 72 63 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 rc\mutex.c \.$
89f0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
8a00: 6e 6f 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50  noop.c \.  $(TOP 8a10: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 )\src\mutex_unix 8a20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8a30: 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a  c\mutex_w32.c \.
8a40: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74    $(TOP)\src\not 8a50: 69 66 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ify.c \.$(TOP)
8a60: 5c 73 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28  \src\os.c \.  $( 8a70: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 TOP)\src\os_unix 8a80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8a90: 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f  c\os_win.c..# Co
8aa0: 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  re source code f
8ab0: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a  iles, part 2..#.
8ac0: 53 52 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC01 = \.  $(TO 8ad0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c P)\src\pager.c \ 8ae0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 .$(TOP)\src\pc
8af0: 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ache.c \.  $(TOP 8b00: 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 )\src\pcache1.c 8b10: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 \.$(TOP)\src\p
8b20: 72 61 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f  ragma.c \.  $(TO 8b30: 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 P)\src\prepare.c 8b40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8b50: 70 72 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54  printf.c \.  $(T 8b60: 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 OP)\src\random.c 8b70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8b80: 72 65 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28  resolve.c \.  $( 8b90: 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e TOP)\src\rowset. 8ba0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8bb0: 5c 73 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28  \select.c \.  $( 8bc0: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e TOP)\src\status. 8bd0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8be0: 5c 74 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54  \table.c \.  $(T 8bf0: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e OP)\src\threads. 8c00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8c10: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20  \tclsqlite.c \.
8c20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65   $(TOP)\src\toke 8c30: 6e 69 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 nize.c \.$(TOP
8c40: 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63  )\src\treeview.c
8c50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8c60: 74 72 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 trigger.c \.$(
8c70: 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c  TOP)\src\utf.c \
8c80: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70  .  $(TOP)\src\up 8c90: 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 date.c \.$(TOP
8ca0: 29 5c 73 72 63 5c 75 70 73 65 72 74 2e 63 20 5c  )\src\upsert.c \
8cb0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  .  $(TOP)\src\ut 8cc0: 69 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c il.c \.$(TOP)\
8cd0: 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20  src\vacuum.c \.
8ce0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe 8cf0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8d00: 63 5c 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20  c\vdbeapi.c \.
8d10: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea 8d20: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ux.c \.$(TOP)\
8d30: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c  src\vdbeblob.c \
8d40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd 8d50: 62 65 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f bemem.c \.$(TO
8d60: 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e  P)\src\vdbesort.
8d70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8d80: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 \vdbetrace.c \. 8d90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62$(TOP)\src\vtab
8da0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8db0: 63 5c 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f c\wal.c \.$(TO
8dc0: 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20  P)\src\walker.c
8dd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w 8de0: 68 65 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 here.c \.$(TOP
8df0: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e  )\src\wherecode.
8e00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8e10: 5c 77 68 65 72 65 65 78 70 72 2e 63 20 5c 0a 20 \whereexpr.c \. 8e20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64$(TOP)\src\wind
8e30: 6f 77 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73  ow.c..# Core mis
8e40: 63 65 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73  cellaneous files
8e50: 2e 0a 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20  ..#.SRC03 = \.
8e60: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65  $(TOP)\src\parse 8e70: 2e 79 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 .y..# Core heade 8e80: 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e r files, part 1. 8e90: 0a 23 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 .#.SRC04 = \.$
8ea0: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
8eb0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src 8ec0: 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 \btreeInt.h \. 8ed0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e$(TOP)\src\hash.
8ee0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src 8ef0: 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 \hwtime.h \.$(
8f00: 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20  TOP)\src\msvc.h
8f10: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m 8f20: 75 74 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 utex.h \.$(TOP
8f30: 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24  )\src\os.h \.  $8f40: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d (TOP)\src\os_com 8f50: 6d 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 mon.h \.$(TOP)
8f60: 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20  \src\os_setup.h
8f70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o 8f80: 73 5f 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 s_win.h..# Core 8f90: 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 header files, pa 8fa0: 72 74 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 rt 2..#.SRC05 = 8fb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 \.$(TOP)\src\p
8fc0: 61 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50  ager.h \.  $(TOP 8fd0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c )\src\pcache.h \ 8fe0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 .$(TOP)\src\pr
8ff0: 61 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50  agma.h \.  $(TOP 9000: 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 )\src\sqlite.h.i 9010: 6e 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 n \.$(TOP)\src
9020: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a  \sqlite3ext.h \.
9030: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql 9040: 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 iteInt.h \.$(T
9050: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69  OP)\src\sqliteLi
9060: 6d 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  mit.h \.  $(TOP) 9070: 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 \src\vdbe.h \. 9080: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49$(TOP)\src\vdbeI
9090: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\ 90a0: 73 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a src\vxworks.h \. 90b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c$(TOP)\src\wal
90c0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr 90d0: 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 c\whereInt.h..# 90e0: 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 Extension source 90f0: 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 code files, par 9100: 74 20 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c t 1..#.SRC06 = \ 9110: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
9120: 73 31 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28  s1\fts1.c \.  $( 9130: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 TOP)\ext\fts1\ft 9140: 73 31 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 s1_hash.c \.$(
9150: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9160: 73 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s1_porter.c \.
9170: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\ 9180: 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e fts1_tokenizer1. 9190: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
91a0: 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20  \fts2\fts2.c \.
91b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 91c0: 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 \fts2_hash.c \. 91d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
91e0: 5c 66 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20  \fts2_icu.c \.
91f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ 9200: 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a fts2_porter.c \. 9210: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
9220: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
9230: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9240: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 t\fts2\fts2_toke 9250: 6e 69 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 nizer1.c..# Exte 9260: 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 nsion source cod 9270: 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e e files, part 2. 9280: 0a 23 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 .#.SRC07 = \.$
9290: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
92a0: 74 73 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ts3.c \.  $(TOP) 92b0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 \ext\fts3\fts3_a 92c0: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ux.c \.$(TOP)\
92d0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78  ext\fts3\fts3_ex
92e0: 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  pr.c \.  $(TOP)\ 92f0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 ext\fts3\fts3_ha 9300: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.c \.$(TOP)\
9310: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63  ext\fts3\fts3_ic
9320: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e 9330: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 xt\fts3\fts3_por 9340: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ter.c \.$(TOP)
9350: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73  \ext\fts3\fts3_s
9360: 6e 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54  nippet.c \.  $(T 9370: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 9380: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 3_tokenizer.c \. 9390: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
93a0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
93b0: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.c \.  $(TOP)\e 93c0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b xt\fts3\fts3_tok 93d0: 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 enize_vtab.c \. 93e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
93f0: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20  \fts3_unicode.c
9400: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9410: 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 ts3\fts3_unicode 9420: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 2.c \.$(TOP)\e
9430: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69  xt\fts3\fts3_wri
9440: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\ 9450: 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a ext\icu\icu.c \. 9460: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72$(TOP)\ext\rtr
9470: 65 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24  ee\rtree.c \.  $9480: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f (TOP)\ext\sessio 9490: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e n\sqlite3session 94a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
94b0: 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75  t\rbu\sqlite3rbu
94c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 94d0: 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c t\misc\json1.c \ 94e0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
94f0: 73 63 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 78 74  sc\stmt.c..# Ext
9500: 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69  ension header fi
9510: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
9520: 52 43 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC08 = \.  $(TOP 9530: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e )\ext\fts1\fts1. 9540: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 h \.$(TOP)\ext
9550: 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e  \fts1\fts1_hash.
9560: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext 9570: 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e \fts1\fts1_token 9580: 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 izer.h \.$(TOP
9590: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e  )\ext\fts2\fts2.
95a0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext 95b0: 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e \fts2\fts2_hash. 95c0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 h \.$(TOP)\ext
95d0: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
95e0: 69 7a 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73  izer.h..# Extens
95f0: 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73  ion header files
9600: 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30  , part 2..#.SRC0
9610: 39 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  9 = \.  $(TOP)\e 9620: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c xt\fts3\fts3.h \ 9630: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
9640: 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20  s3\fts3Int.h \.
9650: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 9660: 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 \fts3_hash.h \. 9670: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
9680: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts3_tokenizer.
9690: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext 96a0: 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 \icu\sqliteicu.h 96b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
96c0: 72 74 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a  rtree\rtree.h \.
96d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72    $(TOP)\ext\rtr 96e0: 65 65 5c 67 65 6f 70 6f 6c 79 2e 63 20 5c 0a 20 ee\geopoly.c \. 96f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c$(TOP)\ext\rbu\
9700: 73 71 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20  sqlite3rbu.h \.
9710: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess 9720: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 ion\sqlite3sessi 9730: 6f 6e 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 on.h..# Generate 9740: 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 d source code fi 9750: 6c 65 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a les.#.SRC10 = \. 9760: 20 20 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 opcodes.c \. 9770: 70 61 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 parse.c..# Gener 9780: 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 ated header file 9790: 73 0a 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 s.#.SRC11 = \. 97a0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a keywordhash.h \. 97b0: 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 opcodes.h \. 97c0: 70 61 72 73 65 2e 68 20 5c 0a 20 20 73 68 65 6c parse.h \. shel 97d0: 6c 2e 63 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 l.c \.$(SQLITE
97e0: 33 48 29 0a 0a 23 20 47 65 6e 65 72 61 74 65 64  3H)..# Generated
97f0: 20 54 63 6c 20 68 65 61 64 65 72 20 66 69 6c 65   Tcl header file
9800: 73 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54  s.#.!IF $(USE_ST 9810: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 DCALL)!=0 ||$(F
9820: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 52 43  OR_WIN10)!=0.SRC
9830: 31 32 20 3d 20 5c 0a 20 20 24 28 53 51 4c 49 54  12 = \.  $(SQLIT 9840: 45 54 43 4c 48 29 20 5c 0a 20 20 24 28 53 51 4c ETCLH) \.$(SQL
9850: 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 21 45  ITETCLDECLSH).!E
9860: 4c 53 45 0a 53 52 43 31 32 20 3d 0a 21 45 4e 44  LSE.SRC12 =.!END
9870: 49 46 0a 0a 23 20 41 6c 6c 20 73 6f 75 72 63 65  IF..# All source
9880: 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53   code files..#.S
9890: 52 43 20 3d 20 24 28 53 52 43 30 30 29 20 24 28  RC = $(SRC00)$(
98a0: 53 52 43 30 31 29 20 24 28 53 52 43 30 33 29 20  SRC01) $(SRC03) 98b0: 24 28 53 52 43 30 34 29 20 24 28 53 52 43 30 35$(SRC04) $(SRC05 98c0: 29 20 24 28 53 52 43 30 36 29 20 24 28 53 52 43 )$(SRC06) $(SRC 98d0: 30 37 29 20 24 28 53 52 43 30 38 29 20 24 28 53 07)$(SRC08) $(S 98e0: 52 43 30 39 29 20 24 28 53 52 43 31 30 29 20 24 RC09)$(SRC10) $98f0: 28 53 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 (SRC11)..# Sourc 9900: 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 e code to the te 9910: 73 74 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 st files..#.TEST 9920: 53 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 SRC = \.$(TOP)
9930: 5c 73 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20  \src\test1.c \.
9940: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 9950: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 2.c \.$(TOP)\s
9960: 72 63 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24  rc\test3.c \.  $9970: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e (TOP)\src\test4. 9980: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
9990: 5c 74 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54  \test5.c \.  $(T 99a0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 OP)\src\test6.c 99b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
99c0: 65 73 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est7.c \.  $(TOP 99d0: 29 5c 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a )\src\test8.c \. 99e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
99f0: 74 39 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t9.c \.  $(TOP)\ 9a00: 73 72 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 src\test_autoext 9a10: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
9a20: 63 5c 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c  c\test_async.c \
9a30: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9a40: 73 74 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 st_backup.c \. 9a50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
9a60: 62 65 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20  bestindex.c \.
9a70: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 9a80: 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 blob.c \.$(TOP
9a90: 29 5c 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65  )\src\test_btree
9aa0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 9ab0: 63 5c 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 c\test_config.c 9ac0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
9ad0: 65 73 74 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20  est_delete.c \.
9ae0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 9af0: 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 _demovfs.c \.$
9b00: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64  (TOP)\src\test_d
9b10: 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  evsym.c \.  $(TO 9b20: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 P)\src\test_fs.c 9b30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9b40: 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20  test_func.c \.
9b50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 9b60: 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f hexio.c \.$(TO
9b70: 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74  P)\src\test_init
9b80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 9b90: 63 5c 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e c\test_intarray. 9ba0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
9bb0: 5c 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20  \test_journal.c
9bc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9bd0: 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 est_malloc.c \. 9be0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
9bf0: 5f 6d 64 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _md5.c \.  $(TOP 9c00: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69 )\src\test_multi 9c10: 70 6c 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 plex.c \.$(TOP
9c20: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75 74 65 78  )\src\test_mutex
9c30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 9c40: 63 5c 74 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 c\test_onefile.c 9c50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9c60: 74 65 73 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a  test_osinst.c \.
9c70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9c80: 74 5f 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 t_pcache.c \.$
9c90: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 71  (TOP)\src\test_q
9ca0: 75 6f 74 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50  uota.c \.  $(TOP 9cb0: 29 5c 73 72 63 5c 74 65 73 74 5f 72 74 72 65 65 )\src\test_rtree 9cc0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
9cd0: 63 5c 74 65 73 74 5f 73 63 68 65 6d 61 2e 63 20  c\test_schema.c
9ce0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9cf0: 65 73 74 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20 est_server.c \. 9d00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
9d10: 5f 73 75 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20  _superlock.c \.
9d20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 9d30: 5f 73 79 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 _syscall.c \.$
9d40: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74  (TOP)\src\test_t
9d50: 63 6c 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50  clsh.c \.  $(TOP 9d60: 29 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 )\src\test_tclva 9d70: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 r.c \.$(TOP)\s
9d80: 72 63 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63  rc\test_thread.c
9d90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 9da0: 74 65 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 test_vfs.c \.$
9db0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77  (TOP)\src\test_w
9dc0: 69 6e 64 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24  indirent.c \.  $9dd0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 (TOP)\src\test_w 9de0: 69 6e 64 6f 77 2e 63 20 5c 0a 20 20 24 28 54 4f indow.c \.$(TO
9df0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e  P)\src\test_wsd.
9e00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 9e10: 5c 66 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e \fts3\fts3_term. 9e20: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9e30: 5c 66 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e  \fts3\fts3_test.
9e40: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 9e50: 5c 72 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 \rbu\test_rbu.c 9e60: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 \.$(TOP)\ext\s
9e70: 65 73 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73  ession\test_sess
9e80: 69 6f 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61  ion.c..# Statica
9e90: 6c 6c 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e  lly linked exten
9ea0: 73 69 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54  sions..#.TESTEXT
9eb0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex 9ec0: 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 t\expert\sqlite3 9ed0: 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 expert.c \.$(T
9ee0: 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 74  OP)\ext\expert\t
9ef0: 65 73 74 5f 65 78 70 65 72 74 2e 63 20 5c 0a 20  est_expert.c \.
9f00: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 9f10: 5c 61 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28 \amatch.c \.$(
9f20: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 61  TOP)\ext\misc\ca
9f30: 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rray.c \.  $(TOP 9f40: 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 )\ext\misc\closu 9f50: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c re.c \.$(TOP)\
9f60: 65 78 74 5c 6d 69 73 63 5c 63 73 76 2e 63 20 5c  ext\misc\csv.c \
9f70: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi 9f80: 73 63 5c 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28 sc\eval.c \.$(
9f90: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 78  TOP)\ext\misc\ex
9fa0: 70 6c 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f  plain.c \.  $(TO 9fb0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 P)\ext\misc\file 9fc0: 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c io.c \.$(TOP)\
9fd0: 65 78 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e  ext\misc\fuzzer.
9fe0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 9ff0: 5c 66 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 \fts5\fts5_tcl.c a000: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
a010: 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d  fts5\fts5_test_m
a020: 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  i.c \.  $(TOP)\e a030: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 xt\fts5\fts5_tes a040: 74 5f 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f t_tok.c \.$(TO
a050: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65  P)\ext\misc\ieee
a060: 37 35 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  754.c \.  $(TOP) a070: 5c 65 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 \ext\misc\mmapwa a080: 72 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c rm.c \.$(TOP)\
a090: 65 78 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61  ext\misc\nextcha
a0a0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e a0b0: 78 74 5c 6d 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a xt\misc\normaliz a0c0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 e.c \.$(TOP)\e
a0d0: 78 74 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69  xt\misc\percenti
a0e0: 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  le.c \.  $(TOP)\ a0f0: 65 78 74 5c 6d 69 73 63 5c 70 72 65 66 69 78 65 ext\misc\prefixe a100: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 s.c \.$(TOP)\e
a110: 78 74 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63  xt\misc\regexp.c
a120: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ a130: 6d 69 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 misc\remember.c a140: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d \.$(TOP)\ext\m
a150: 69 73 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20  isc\series.c \.
a160: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc a170: 5c 73 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 \spellfix.c \. a180: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
a190: 74 6f 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54  totype.c \.  $(T a1a0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 OP)\ext\misc\uni a1b0: 6f 6e 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 onvtab.c \.$(T
a1c0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f  OP)\ext\misc\who
a1d0: 6c 65 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66  lenumber.c..# If
a1e0: 20 75 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20   use of zlib is
a1f0: 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65  enabled, add the
a200: 20 22 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75   "zipfile.c" sou
a210: 72 63 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20  rce file..#.!IF
a220: 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54  $(USE_ZLIB)!=0.T a230: 45 53 54 45 58 54 20 3d 20 24 28 54 45 53 54 45 ESTEXT =$(TESTE
a240: 58 54 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  XT) $(TOP)\ext\m a250: 69 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 isc\zipfile.c.!E a260: 4e 44 49 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 NDIF..# Source c a270: 6f 64 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 ode to the libra a280: 72 79 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 ry files needed a290: 62 79 20 74 68 65 20 74 65 73 74 20 66 69 78 74 by the test fixt a2a0: 75 72 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 ure.# (non-amalg a2b0: 61 6d 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 amation).#.TESTS a2c0: 52 43 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 RC2 = \.$(SRC0
a2d0: 30 29 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20  0) \.  $(SRC01) a2e0: 5c 0a 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 \.$(SRC06) \.
a2f0: 20 24 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28   $(SRC07) \.$(
a300: 53 52 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50  SRC10) \.  $(TOP a310: 29 5c 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 )\ext\async\sqli a320: 74 65 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 te3async.c..# He a330: 61 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 ader files used a340: 62 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 by all library s a350: 6f 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 ource files..#.H a360: 44 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 DR = \.$(TOP)
a370: 5c 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20  \src\btree.h \.
a380: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72    $(TOP)\src\btr a390: 65 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 eeInt.h \.$(T
a3a0: 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c  OP)\src\hash.h \
a3b0: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68  .   $(TOP)\src\h a3c0: 77 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 wtime.h \. key a3d0: 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 wordhash.h \. a3e0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e$(TOP)\src\msvc.
a3f0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr a400: 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f c\mutex.h \. o a410: 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 pcodes.h \.$(
a420: 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a  TOP)\src\os.h \.
a430: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73     $(TOP)\src\os a440: 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 _common.h \.$
a450: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74  (TOP)\src\os_set
a460: 75 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  up.h \.   $(TOP) a470: 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a \src\os_win.h \. a480: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61$(TOP)\src\pa
a490: 67 65 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  ger.h \.   $(TOP a4a0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c )\src\pcache.h \ a4b0: 0a 20 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 . parse.h \. a4c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67$(TOP)\src\prag
a4d0: 6d 61 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49  ma.h \.   $(SQLI a4e0: 54 45 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 TE3H) \. sqlit a4f0: 65 33 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 e3ext.h \.$(T
a500: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e  OP)\src\sqliteIn
a510: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.h \.   $(TOP)\ a520: 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e src\sqliteLimit. a530: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 h \.$(TOP)\sr
a540: 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28  c\vdbe.h \.   $( a550: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 TOP)\src\vdbeInt a560: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 .h \.$(TOP)\s
a570: 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20  rc\vxworks.h \.
a580: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65    $(TOP)\src\whe a590: 72 65 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 reInt.h..# Heade a5a0: 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 r files used by a5b0: 65 78 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 extensions.#.EXT a5c0: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 HDR =$(EXTHDR)
a5d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f a5e0: 74 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 ts1\fts1.h \.$
a5f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
a600: 74 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts1_hash.h \.  $a610: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 (TOP)\ext\fts1\f a620: 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a ts1_tokenizer.h. a630: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 EXTHDR =$(EXTHD
a640: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  R) \.  $(TOP)\ex a650: 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a t\fts2\fts2.h \. a660: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
a670: 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a  2\fts2_hash.h \.
a680: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts a690: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2\fts2_tokenizer a6a0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 .h.EXTHDR =$(EX
a6b0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP) a6c0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 \ext\fts3\fts3.h a6d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
a6e0: 66 74 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c  fts3\fts3Int.h \
a6f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft a700: 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c s3\fts3_hash.h \ a710: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
a720: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
a730: 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45  r.h.EXTHDR = $(E a740: 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 XTHDR) \.$(TOP
a750: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65  )\ext\rtree\rtre
a760: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.h \.  $(TOP)\e a770: 78 74 5c 72 74 72 65 65 5c 67 65 6f 70 6f 6c 79 xt\rtree\geopoly a780: 2e 63 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 .c.EXTHDR =$(EX
a790: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP) a7a0: 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 \ext\icu\sqlitei a7b0: 63 75 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 cu.h.EXTHDR =$(
a7c0: 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f  EXTHDR) \.  $(TO a7d0: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c P)\ext\rtree\sql a7e0: 69 74 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 ite3rtree.h.EXTH a7f0: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c DR =$(EXTHDR) \
a800: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  .  $(TOP)\ext\se a810: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 ssion\sqlite3ses a820: 73 69 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 sion.h..# execut a830: 61 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 ables needed for a840: 20 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 testing.#.TESTP a850: 52 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 ROGS = \. testf a860: 69 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 ixture.exe \.$
a870: 28 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20  (SQLITE3EXE) \.
a880: 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
a890: 72 2e 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65  r.exe \.  sqlite
a8a0: 33 5f 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a  3_checker.exe \.
a8b0: 20 20 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a    sqldiff.exe \.
a8c0: 20 20 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20    dbhash.exe \.
a8d0: 20 73 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23   sqltclsh.exe..#
a8e0: 20 44 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61   Databases conta
a8f0: 69 6e 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73  ining fuzzer tes
a900: 74 20 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41  t cases.#.FUZZDA
a910: 54 41 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  TA = \.  $(TOP)\ a920: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 test\fuzzdata1.d a930: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 b \.$(TOP)\tes
a940: 74 5c 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c  t\fuzzdata2.db \
a950: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  .  $(TOP)\test\f a960: 75 7a 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 uzzdata3.db \. a970: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a$(TOP)\test\fuzz
a980: 64 61 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54  data4.db \.  $(T a990: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 OP)\test\fuzzdat a9a0: 61 35 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 a5.db \.$(TOP)
a9b0: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 36 2e  \test\fuzzdata6.
a9c0: 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65  db \.  $(TOP)\te a9d0: 73 74 5c 66 75 7a 7a 64 61 74 61 37 2e 64 62 20 st\fuzzdata7.db a9e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c \.$(TOP)\test\
a9f0: 66 75 7a 7a 64 61 74 61 38 2e 64 62 0a 23 20 3c  fuzzdata8.db.# <
aa00: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 69  </mark>>..# Addi
aa10: 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20  tional compiler
aa20: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20  options for the
aa30: 73 68 65 6c 6c 2e 20 20 54 68 65 73 65 20 61 72  shell.  These ar
aa40: 65 20 6f 6e 6c 79 20 65 66 66 65 63 74 69 76 65  e only effective
aa50: 0a 23 20 77 68 65 6e 20 74 68 65 20 73 68 65 6c  .# when the shel
aa60: 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 64  l is not being d
aa70: 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65  ynamically linke
aa80: 64 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e 41 4d  d..#.!IF $(DYNAM aa90: 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26 26 20 IC_SHELL)==0 && aaa0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 0a$(FOR_WIN10)==0.
aab0: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
aac0: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d  TS = $(SHELL_COM aad0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c PILE_OPTS) -DSQL aae0: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 3d ITE_ENABLE_FTS4= aaf0: 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 1.SHELL_COMPILE_ ab00: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 OPTS =$(SHELL_C
ab10: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
ab20: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50  QLITE_ENABLE_EXP
ab30: 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 3d 31 0a  LAIN_COMMENTS=1.
ab40: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
ab50: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d  TS = $(SHELL_COM ab60: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c PILE_OPTS) -DSQL ab70: 49 54 45 5f 45 4e 41 42 4c 45 5f 4f 46 46 53 45 ITE_ENABLE_OFFSE ab80: 54 5f 53 51 4c 5f 46 55 4e 43 3d 31 0a 53 48 45 T_SQL_FUNC=1.SHE ab90: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 LL_COMPILE_OPTS aba0: 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c =$(SHELL_COMPIL
abb0: 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45  E_OPTS) -DSQLITE
abc0: 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52 49 41 4c  _ENABLE_DESERIAL
abd0: 49 5a 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20  IZE=1.!ENDIF..#
abe0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61  <<mark>>.# Extra
abf0: 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e   compiler option
ac00: 73 20 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65  s for various te
ac10: 73 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45  st tools..#.MPTE
ac20: 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  STER_COMPILE_OPT
ac30: 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  S = -DSQLITE_ENA
ac40: 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49  BLE_JSON1 -DSQLI
ac50: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46  TE_ENABLE_FTS5.F
ac60: 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49  UZZERSHELL_COMPI
ac70: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  LE_OPTS = -DSQLI
ac80: 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a  TE_ENABLE_JSON1.
ac90: 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d  FUZZCHECK_OPTS =
aca0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
acb0: 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f  _JSON1 -DSQLITE_
acc0: 45 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d  ENABLE_MEMSYS5 -
acd0: 44 53 51 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a  DSQLITE_OSS_FUZZ
ace0: 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45   -DSQLITE_MAX_ME
acf0: 4d 4f 52 59 3d 35 30 30 30 30 30 30 30 20 2d 44  MORY=50000000 -D
ad00: 53 51 4c 49 54 45 5f 50 52 49 4e 54 46 5f 50 52  SQLITE_PRINTF_PR
ad10: 45 43 49 53 49 4f 4e 5f 4c 49 4d 49 54 3d 31 30  ECISION_LIMIT=10
ad20: 30 30 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54  00.FUZZCHECK_OPT
ad30: 53 20 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f  S = $(FUZZCHECK_ ad40: 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 OPTS) -DSQLITE_E ad50: 4e 41 42 4c 45 5f 44 45 53 45 52 49 41 4c 49 5a NABLE_DESERIALIZ ad60: 45 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 E.FUZZCHECK_OPTS ad70: 20 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f =$(FUZZCHECK_O
ad80: 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  PTS) -DSQLITE_EN
ad90: 41 42 4c 45 5f 46 54 53 34 0a 46 55 5a 5a 43 48  ABLE_FTS4.FUZZCH
ada0: 45 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a  ECK_OPTS = $(FUZ adb0: 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 ZCHECK_OPTS) -DS adc0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 QLITE_ENABLE_RTR add0: 45 45 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 EE.FUZZCHECK_OPT ade0: 53 20 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f S =$(FUZZCHECK_
adf0: 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  OPTS) -DSQLITE_E
ae00: 4e 41 42 4c 45 5f 47 45 4f 50 4f 4c 59 0a 46 55  NABLE_GEOPOLY.FU
ae10: 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 24  ZZCHECK_OPTS = $ae20: 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 (FUZZCHECK_OPTS) ae30: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE ae40: 5f 44 42 53 54 41 54 5f 56 54 41 42 0a 0a 46 55 _DBSTAT_VTAB..FU ae50: 5a 5a 43 48 45 43 4b 5f 53 52 43 20 3d 20 24 28 ZZCHECK_SRC =$(
ae60: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68  TOP)\test\fuzzch
ae70: 65 63 6b 2e 63 20 24 28 54 4f 50 29 5c 74 65 73  eck.c $(TOP)\tes ae80: 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 t\ossfuzz.c.OSSS ae90: 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 54 4f 50 HELL_SRC =$(TOP
aea0: 29 5c 74 65 73 74 5c 6f 73 73 73 68 65 6c 6c 2e  )\test\ossshell.
aeb0: 63 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73  c $(TOP)\test\os aec0: 73 66 75 7a 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 sfuzz.c.DBFUZZ_C aed0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 OMPILE_OPTS = -D aee0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 SQLITE_THREADSAF aef0: 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 E=0 -DSQLITE_OMI af00: 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e T_LOAD_EXTENSION af10: 0a 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 .KV_COMPILE_OPTS af20: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 = -DSQLITE_THRE af30: 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 ADSAFE=0 -DSQLIT af40: 45 5f 44 49 52 45 43 54 5f 4f 56 45 52 46 4c 4f E_DIRECT_OVERFLO af50: 57 5f 52 45 41 44 0a 53 54 5f 43 4f 4d 50 49 4c W_READ.ST_COMPIL af60: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 E_OPTS = -DSQLIT af70: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 0a 0a E_THREADSAFE=0.. af80: 23 20 53 74 61 6e 64 61 72 64 20 6f 70 74 69 6f # Standard optio af90: 6e 73 20 74 6f 20 74 65 73 74 66 69 78 74 75 72 ns to testfixtur afa0: 65 2e 0a 23 0a 54 45 53 54 4f 50 54 53 20 3d 20 e..#.TESTOPTS = afb0: 2d 2d 76 65 72 62 6f 73 65 3d 66 69 6c 65 20 2d --verbose=file - afc0: 2d 6f 75 74 70 75 74 3d 74 65 73 74 2d 6f 75 74 -output=test-out afd0: 2e 74 78 74 0a 0a 23 20 45 78 74 72 61 20 74 61 .txt..# Extra ta afe0: 72 67 65 74 73 20 66 6f 72 20 74 68 65 20 22 61 rgets for the "a aff0: 6c 6c 22 20 74 61 72 67 65 74 20 74 68 61 74 20 ll" target that b000: 72 65 71 75 69 72 65 20 54 63 6c 2e 0a 23 0a 21 require Tcl..#.! b010: 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a IF$(NO_TCL)==0.
b020: 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20  ALL_TCL_TARGETS
b030: 3d 20 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c  = $(SQLITE3TCLDL b040: 4c 29 0a 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c L).!ELSE.ALL_TCL b050: 5f 54 41 52 47 45 54 53 20 3d 0a 21 45 4e 44 49 _TARGETS =.!ENDI b060: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 F.# <</mark>>..# b070: 20 54 68 69 73 20 69 73 20 74 68 65 20 64 65 66 This is the def b080: 61 75 6c 74 20 4d 61 6b 65 66 69 6c 65 20 74 61 ault Makefile ta b090: 72 67 65 74 2e 20 20 54 68 65 20 6f 62 6a 65 63 rget. The objec b0a0: 74 73 20 6c 69 73 74 65 64 20 68 65 72 65 0a 23 ts listed here.# b0b0: 20 61 72 65 20 77 68 61 74 20 67 65 74 20 62 75 are what get bu b0c0: 69 6c 64 20 77 68 65 6e 20 79 6f 75 20 74 79 70 ild when you typ b0d0: 65 20 6a 75 73 74 20 22 6d 61 6b 65 22 20 77 69 e just "make" wi b0e0: 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e th no arguments. b0f0: 0a 23 0a 63 6f 72 65 3a 09 64 6c 6c 20 6c 69 62 .#.core:.dll lib b100: 73 71 6c 69 74 65 33 2e 6c 69 62 20 73 68 65 6c sqlite3.lib shel b110: 6c 0a 0a 23 20 54 61 72 67 65 74 73 20 74 68 61 l..# Targets tha b120: 74 20 72 65 71 75 69 72 65 20 74 68 65 20 54 63 t require the Tc b130: 6c 20 6c 69 62 72 61 72 79 2e 0a 23 0a 74 63 6c l library..#.tcl b140: 3a 09 24 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 :.$(ALL_TCL_TARG
b150: 45 54 53 29 0a 0a 23 20 54 68 69 73 20 4d 61 6b  ETS)..# This Mak
b160: 65 66 69 6c 65 20 74 61 72 67 65 74 20 62 75 69  efile target bui
b170: 6c 64 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 73  lds all of the s
b180: 74 61 6e 64 61 72 64 20 62 69 6e 61 72 69 65 73  tandard binaries
b190: 2e 0a 23 0a 61 6c 6c 3a 09 63 6f 72 65 20 74 63  ..#.all:.core tc
b1a0: 6c 0a 0a 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e  l..# Dynamic lin
b1b0: 6b 20 6c 69 62 72 61 72 79 20 73 65 63 74 69 6f  k library sectio
b1c0: 6e 2e 0a 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49  n..#.dll:.$(SQLI b1d0: 54 45 33 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c TE3DLL)..# Shell b1e0: 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 executable..#.s b1f0: 68 65 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 45 hell:.$(SQLITE3E
b200: 58 45 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  XE)..# <<mark>>.
b210: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09  libsqlite3.lib:.
b220: 24 28 4c 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c  $(LIBOBJ)..$(LTL
b230: 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29  IB) $(LTLIBOPTS) b240: 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 /OUT:$@ $(LIBOB b250: 4a 29 20 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62 J)$(TLIBS)..lib
b260: 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09  tclsqlite3.lib:.
b270: 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62  tclsqlite.lo lib
b280: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c  sqlite3.lib..$(L b290: 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 TLIB)$(LTLIBOPT
b2a0: 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53  S) $(TCLLIBPATHS b2b0: 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 )$(LTLIBPATHS)
b2c0: 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74  /OUT:$@ tclsqlit b2d0: 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e e.lo libsqlite3. b2e0: 6c 69 62 20 24 28 4c 49 42 54 43 4c 53 54 55 42 lib$(LIBTCLSTUB
b2f0: 29 20 24 28 54 4c 49 42 53 29 0a 0a 74 63 6c 73  ) $(TLIBS)..tcls b300: 71 6c 69 74 65 33 2e 64 65 66 3a 09 74 63 6c 73 qlite3.def:.tcls b310: 71 6c 69 74 65 2e 6c 6f 0a 09 65 63 68 6f 20 45 qlite.lo..echo E b320: 58 50 4f 52 54 53 20 3e 20 74 63 6c 73 71 6c 69 XPORTS > tclsqli b330: 74 65 33 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e te3.def..dumpbin b340: 20 2f 61 6c 6c 20 74 63 6c 73 71 6c 69 74 65 2e /all tclsqlite. b350: 6c 6f 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 lo \...|$(TCLSH
b360: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too b370: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e l\replace.tcl in b380: 63 6c 75 64 65 20 22 5e 5c 73 2b 2f 45 58 50 4f clude "^\s+/EXPO b390: 52 54 3a 5f 3f 28 28 3f 3a 53 71 6c 69 74 65 33 RT:_?((?:Sqlite3 b3a0: 7c 54 63 6c 73 71 6c 69 74 65 33 29 5f 5b 5e 40 |Tclsqlite3)_[^@ b3b0: 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 ]*)(?:@\d+)?$$" b3c0: 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e \1 \...| sort >> b3d0: 20 74 63 6c 73 71 6c 69 74 65 33 2e 64 65 66 0a tclsqlite3.def. b3e0: 0a 70 6b 67 49 6e 64 65 78 2e 74 63 6c 3a 09 24 .pkgIndex.tcl:. b3f0: 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 66 (TOP)\VERSION..f b400: 6f 72 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74 or /F %%V in ('t b410: 79 70 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53 ype "(TOP)\VERS b420: 49 4f 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 ION"') do ( \... b430: 65 63 68 6f 20 70 61 63 6b 61 67 65 20 69 66 6e echo package ifn b440: 65 65 64 65 64 20 73 71 6c 69 74 65 33 20 40 76 eeded sqlite3 @v b450: 65 72 73 69 6f 6e 40 20 5b 6c 69 73 74 20 6c 6f ersion@ [list lo b460: 61 64 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 24 ad [file join$$ b470: 64 69 72 20 24 28 53 51 4c 49 54 45 33 54 43 4c dir$(SQLITE3TCL
b480: 44 4c 4c 29 5d 20 73 71 6c 69 74 65 33 5d 20 5c  DLL)] sqlite3] \
b490: 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  ....| $(TCLSH_CM b4a0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 D)$(TOP)\tool\r
b4b0: 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74  eplace.tcl exact
b4c0: 20 40 76 65 72 73 69 6f 6e 40 20 25 25 56 20 3e   @version@ %%V >
b4d0: 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 20 5c 0a   pkgIndex.tcl \.
b4e0: 09 29 0a 0a 24 28 53 51 4c 49 54 45 33 54 43 4c  .)..$(SQLITE3TCL b4f0: 44 4c 4c 29 3a 09 6c 69 62 74 63 6c 73 71 6c 69 DLL):.libtclsqli b500: 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 52 45 53 te3.lib$(LIBRES
b510: 4f 42 4a 53 29 20 74 63 6c 73 71 6c 69 74 65 33  OBJS) tclsqlite3
b520: 2e 64 65 66 20 70 6b 67 49 6e 64 65 78 2e 74 63  .def pkgIndex.tc
b530: 6c 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41  l..$(LD)$(LDFLA
b540: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS b550: 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 )$(LTLIBPATHS)
b560: 2f 44 4c 4c 20 2f 44 45 46 3a 74 63 6c 73 71 6c  /DLL /DEF:tclsql
b570: 69 74 65 33 2e 64 65 66 20 2f 4f 55 54 3a 24 40  ite3.def /OUT:$@ b580: 20 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c libtclsqlite3.l b590: 69 62 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 ib$(LIBRESOBJS)
b5a0: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS)$(TLI
b5b0: 42 53 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  BS).# <</mark>>.
b5c0: 0a 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 3a 09  .$(SQLITE3DLL):. b5d0: 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52$(LIBOBJ) $(LIBR b5e0: 45 53 4f 42 4a 53 29 20 24 28 43 4f 52 45 5f 4c ESOBJS)$(CORE_L
b5f0: 49 4e 4b 5f 44 45 50 29 0a 09 24 28 4c 44 29 20  INK_DEP)..$(LD) b600: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL b610: 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 INKOPTS)$(LTLIB
b620: 50 41 54 48 53 29 20 2f 44 4c 4c 20 24 28 43 4f  PATHS) /DLL $(CO b630: 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f RE_LINK_OPTS) /O b640: 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 UT:$@ $(LIBOBJ) b650: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28$(LIBRESOBJS) $( b660: 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 LTLIBS)$(TLIBS)
b670: 0a 0a 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73  ..# <<block2>>.s
b680: 71 6c 69 74 65 33 2e 64 65 66 3a 09 6c 69 62 73  qlite3.def:.libs
b690: 71 6c 69 74 65 33 2e 6c 69 62 0a 09 65 63 68 6f  qlite3.lib..echo
b6a0: 20 45 58 50 4f 52 54 53 20 3e 20 73 71 6c 69 74   EXPORTS > sqlit
b6b0: 65 33 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20  e3.def..dumpbin
b6c0: 2f 61 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e  /all libsqlite3.
b6d0: 6c 69 62 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  lib \...| $(TCLS b6e0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
b6f0: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69  ol\replace.tcl i
b700: 6e 63 6c 75 64 65 20 22 5e 5c 73 2b 31 20 5f 3f  nclude "^\s+1 _?
b710: 28 73 71 6c 69 74 65 33 28 3f 3a 73 65 73 73 69  (sqlite3(?:sessi
b720: 6f 6e 7c 63 68 61 6e 67 65 73 65 74 7c 63 68 61  on|changeset|cha
b730: 6e 67 65 67 72 6f 75 70 7c 72 65 62 61 73 65 72  ngegroup|rebaser
b740: 29 3f 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b  )?_[^@]*)(?:@\d+
b750: 29 3f 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73  )?" \1 \...| s
b760: 6f 72 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64  ort >> sqlite3.d
b770: 65 66 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e  ef.# <</block2>>
b780: 0a 0a 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a  ..$(SQLITE3EXE): b790: 09 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c .shell.c$(SHELL
b7a0: 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42  _CORE_DEP) $(LIB b7b0: 52 45 53 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c RESOBJS)$(SHELL
b7c0: 5f 43 4f 52 45 5f 53 52 43 29 20 24 28 53 51 4c  _CORE_SRC) $(SQL b7d0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b ITE3H)..$(LTLINK
b7e0: 29 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  ) $(SHELL_COMPIL b7f0: 45 5f 4f 50 54 53 29 20 24 28 52 45 41 44 4c 49 E_OPTS)$(READLI
b800: 4e 45 5f 46 4c 41 47 53 29 20 73 68 65 6c 6c 2e  NE_FLAGS) shell.
b810: 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  c $(SHELL_CORE_S b820: 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 RC) \.../link$(
b830: 53 51 4c 49 54 45 33 45 58 45 50 44 42 29 20 24  SQLITE3EXEPDB) $b840: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
b850: 4e 4b 4f 50 54 53 29 20 24 28 53 48 45 4c 4c 5f  NKOPTS) $(SHELL_ b860: 4c 49 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c LINK_OPTS)$(LTL
b870: 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45  IBPATHS) $(LIBRE b880: 53 4f 42 4a 53 29 20 24 28 4c 49 42 52 45 41 44 SOBJS)$(LIBREAD
b890: 4c 49 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 20  LINE) $(LTLIBS) b8a0: 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61$(TLIBS)..# <<ma
b8b0: 72 6b 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65  rk>>.sqldiff.exe
b8c0: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71  :.$(TOP)\tool\sq b8d0: 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 ldiff.c$(SQLITE
b8e0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H). b8f0: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ b900: 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f WARN)$(TOP)\too
b910: 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51  l\sqldiff.c $(SQ b920: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
b930: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN b940: 4b 4f 50 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 KOPTS)..dbhash.e b950: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c xe:.$(TOP)\tool\
b960: 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54  dbhash.c $(SQLIT b970: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
b980: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
b990: 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f  _WARN) $(TOP)\to b9a0: 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 ol\dbhash.c$(SQ
b9b0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( b9c0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
b9d0: 4b 4f 50 54 53 29 0a 0a 73 63 72 75 62 2e 65 78  KOPTS)..scrub.ex
b9e0: 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  e:.$(TOP)\ext\mi b9f0: 73 63 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c sc\scrub.c$(SQL
ba00: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 ba10: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( ba20: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 43 52 55 42 NO_WARN) -DSCRUB ba30: 5f 53 54 41 4e 44 41 4c 4f 4e 45 3d 31 20 24 28 _STANDALONE=1$(
ba40: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63  TOP)\ext\misc\sc
ba50: 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43  rub.c $(SQLITE3C ba60: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
ba70: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) ba80: 0a 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 ..srcck1.exe:.$(
ba90: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31  TOP)\tool\srcck1
baa0: 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f  .c..$(BCC)$(NO_
bab0: 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f  WARN) -Fe$@$(TO
bac0: 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63  P)\tool\srcck1.c
bad0: 0a 0a 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72  ..sourcetest:.sr
bae0: 63 63 6b 31 2e 65 78 65 20 24 28 53 51 4c 49 54  cck1.exe $(SQLIT baf0: 45 33 43 29 0a 09 73 72 63 63 6b 31 2e 65 78 65 E3C)..srcck1.exe bb00: 20 24 28 53 51 4c 49 54 45 33 43 29 0a 0a 66 75$(SQLITE3C)..fu
bb10: 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 3a 09 24  zzershell.exe:.$bb20: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 (TOP)\tool\fuzze bb30: 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 rshell.c$(SQLIT
bb40: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) bb50: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO bb60: 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 45 52 53 _WARN)$(FUZZERS
bb70: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
bb80: 53 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66  S) $(TOP)\tool\f bb90: 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 uzzershell.c$(S
bba0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $bbb0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
bbc0: 4e 4b 4f 50 54 53 29 0a 0a 64 62 66 75 7a 7a 2e  NKOPTS)..dbfuzz.
bbd0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74  exe:.$(TOP)\test bbe0: 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 \dbfuzz.c$(SQLI
bbf0: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H bc00: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N bc10: 4f 5f 57 41 52 4e 29 20 24 28 44 42 46 55 5a 5a O_WARN)$(DBFUZZ
bc20: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $bc30: 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a (TOP)\test\dbfuz bc40: 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 z.c$(SQLITE3C)
bc50: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) bc60: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
bc70: 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24  fuzzcheck.exe:.$bc80: 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 (FUZZCHECK_SRC) bc90: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ bca0: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e LITE3H)..$(LTLIN
bcb0: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN)$(
bcc0: 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20  FUZZCHECK_OPTS)
bcd0: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29  $(FUZZCHECK_SRC) bce0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69$(SQLITE3C) /li
bcf0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
bd00: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73  LTLINKOPTS)..oss
bd10: 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 4f 53 53  shell.exe:.$(OSS bd20: 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c SHELL_SRC)$(SQL
bd30: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 bd40: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( bd50: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 NO_WARN)$(FUZZC
bd60: 48 45 43 4b 5f 4f 50 54 53 29 20 24 28 4f 53 53  HECK_OPTS) $(OSS bd70: 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c SHELL_SRC)$(SQL
bd80: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L bd90: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
bda0: 4f 50 54 53 29 0a 0a 73 65 73 73 69 6f 6e 66 75  OPTS)..sessionfu
bdb0: 7a 7a 2e 65 78 65 3a 09 7a 6c 69 62 20 24 28 54  zz.exe:.zlib $(T bdc0: 4f 50 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e OP)\test\session bdd0: 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 fuzz.c$(SQLITE3
bde0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. bdf0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W be00: 41 52 4e 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 ARN) -I$(ZLIBINC
be10: 44 49 52 29 20 24 28 54 4f 50 29 5c 74 65 73 74  DIR) $(TOP)\test be20: 5c 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 2f \sessionfuzz.c / be30: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
be40: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4c  $(LTLINKOPTS) /L be50: 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 IBPATH:$(ZLIBLIB
be60: 44 49 52 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a  DIR) $(ZLIBLIB). be70: 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24 .mptester.exe:.$
be80: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74  (TOP)\mptest\mpt
be90: 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  est.c $(SQLITE3C bea0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 )$(SQLITE3H)..$beb0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 (LTLINK)$(NO_WA
bec0: 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43  RN) $(MPTESTER_C bed0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 OMPILE_OPTS)$(T
bee0: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73  OP)\mptest\mptes
bef0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) bf00: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
bf10: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS).. bf20: 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74 MPTEST1 = mptest bf30: 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 er mptest.db$(T
bf40: 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68  OP)\mptest\crash
bf50: 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74  01.test --repeat
bf60: 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70   20.MPTEST2 = mp
bf70: 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62  tester mptest.db
bf80: 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d   $(TOP)\mptest\m bf90: 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 ultiwrite01.test bfa0: 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70 --repeat 20..mp bfb0: 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65 test:.mptester.e bfc0: 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 xe..del /Q mptes bfd0: 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 t.db 2>NUL..$(MP
bfe0: 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST1) --journal
bff0: 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d  mode DELETE..$(M c000: 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 PTEST2) --journa c010: 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 lmode WAL..$(MPT
c020: 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST1) --journalm
c030: 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53  ode WAL..$(MPTES c040: 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 T2) --journalmod c050: 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 e PERSIST..$(MPT
c060: 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST1) --journalm
c070: 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d  ode PERSIST..$(M c080: 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 PTEST2) --journa c090: 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 lmode TRUNCATE.. c0a0: 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75$(MPTEST1) --jou
c0b0: 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54  rnalmode TRUNCAT
c0c0: 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d  E..$(MPTEST2) -- c0d0: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 journalmode DELE c0e0: 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65 TE..# This targe c0f0: 74 20 63 72 65 61 74 65 73 20 61 20 64 69 72 65 t creates a dire c100: 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72 ctory named "tsr c110: 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 c" and fills it c120: 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 with.# copies of c130: 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f all of the C so c140: 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 urce code and he c150: 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65 ader files neede c160: 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 d to.# build on c170: 74 68 65 20 74 61 72 67 65 74 20 73 79 73 74 65 the target syste c180: 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 m. Some of the c190: 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e C source code an c1a0: 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73 d header.# files c1b0: 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c are automatical c1c0: 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54 ly generated. T c1d0: 68 69 73 20 74 61 72 67 65 74 20 74 61 6b 65 73 his target takes c1e0: 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 care of.# all t c1f0: 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65 hat automatic ge c200: 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 neration..#..tar c210: 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52 get_source:.$(SR
c220: 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76  C) $(TOP)\tool\v c230: 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c dbe-compress.tcl c240: 20 66 74 73 35 2e 63 20 24 28 53 51 4c 49 54 45 fts5.c$(SQLITE
c250: 5f 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 69  _TCL_DEP)..-rmdi
c260: 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55  r /Q/S tsrc 2>NU
c270: 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09  L..-mkdir tsrc..
c280: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC c290: 30 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 00)) do copy /Y c2a0: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 %i tsrc..for %i c2b0: 69 6e 20 28 24 28 53 52 43 30 31 29 29 20 64 6f in ($(SRC01)) do
c2c0: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
c2d0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S c2e0: 52 43 30 33 29 29 20 64 6f 20 63 6f 70 79 20 2f RC03)) do copy / c2f0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 Y %i tsrc..for % c300: 69 20 69 6e 20 28 24 28 53 52 43 30 34 29 29 20 i in ($(SRC04))
c310: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
c320: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($c330: 28 53 52 43 30 35 29 29 20 64 6f 20 63 6f 70 79 (SRC05)) do copy c340: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 /Y %i tsrc..for c350: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 36 29 %i in ($(SRC06)
c360: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i
c370: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in
c380: 28 24 28 53 52 43 30 37 29 29 20 64 6f 20 63 6f  ($(SRC07)) do co c390: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 py /Y %i tsrc..f c3a0: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 or %i in ($(SRC0
c3b0: 38 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  8)) do copy /Y %
c3c0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
c3d0: 6e 20 28 24 28 53 52 43 30 39 29 29 20 64 6f 20  n ($(SRC09)) do c3e0: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a copy /Y %i tsrc. c3f0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 .for %i in ($(SR
c400: 43 31 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C10)) do copy /Y
c410: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
c420: 20 69 6e 20 28 24 28 53 52 43 31 31 29 29 20 64   in ($(SRC11)) d c430: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 o copy /Y %i tsr c440: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 c..for %i in ($(
c450: 53 52 43 31 32 29 29 20 64 6f 20 63 6f 70 79 20  SRC12)) do copy
c460: 2f 59 20 25 69 20 74 73 72 63 0a 09 63 6f 70 79  /Y %i tsrc..copy
c470: 20 2f 59 20 66 74 73 35 2e 63 20 74 73 72 63 0a   /Y fts5.c tsrc.
c480: 09 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 68 20  .copy /Y fts5.h
c490: 74 73 72 63 0a 09 64 65 6c 20 2f 51 20 74 73 72  tsrc..del /Q tsr
c4a0: 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74 73  c\sqlite.h.in ts
c4b0: 72 63 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55 4c  rc\parse.y 2>NUL
c4c0: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD)$
c4d0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d  (TOP)\tool\vdbe-
c4e0: 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 24 28 4f  compress.tcl $(O c4f0: 50 54 53 29 20 3c 20 74 73 72 63 5c 76 64 62 65 PTS) < tsrc\vdbe c500: 2e 63 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09 6d .c > vdbe.new..m c510: 6f 76 65 20 76 64 62 65 2e 6e 65 77 20 74 73 72 ove vdbe.new tsr c520: 63 5c 76 64 62 65 2e 63 0a 09 65 63 68 6f 20 3e c\vdbe.c..echo > c530: 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a .target_source. c540: 0a 73 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61 72 .sqlite3.c:..tar c550: 67 65 74 5f 73 6f 75 72 63 65 20 73 71 6c 69 74 get_source sqlit c560: 65 33 65 78 74 2e 68 20 24 28 4d 4b 53 51 4c 49 e3ext.h$(MKSQLI
c570: 54 45 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 54 43  TE3C_TOOL)..$(TC c580: 4c 53 48 5f 43 4d 44 29 20 24 28 4d 4b 53 51 4c LSH_CMD)$(MKSQL
c590: 49 54 45 33 43 5f 54 4f 4f 4c 29 20 24 28 4d 4b  ITE3C_TOOL) $(MK c5a0: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29 0a 09 SQLITE3C_ARGS).. c5b0: 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c copy$(TOP)\ext\
c5c0: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
c5d0: 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69  ession.h ...sqli
c5e0: 74 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74  te3-all.c:.sqlit
c5f0: 65 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  e3.c $(TOP)\tool c600: 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e \split-sqlite3c. c610: 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 tcl..$(TCLSH_CMD
c620: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70  ) $(TOP)\tool\sp c630: 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c lit-sqlite3c.tcl c640: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 .# <</mark>>..# c650: 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 Rule to build th c660: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 e amalgamation.# c670: 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53 .sqlite3.lo:.$(S
c680: 51 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f  QLITE3C)..$(LTCO c690: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
c6a0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $c6b0: 28 53 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c (SQLITE3C)..# << c6c0: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 mark>>.# Rules t c6d0: 6f 20 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f o build the LEMO c6e0: 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 N compiler gener c6f0: 61 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a ator.#.lempar.c: c700: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d .$(TOP)\tool\lem
c710: 70 61 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f  par.c..copy $(TO c720: 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 P)\tool\lempar.c c730: 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 ...lemon.exe:.$
c740: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e  (TOP)\tool\lemon
c750: 2e 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42  .c lempar.c..$(B c760: 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d CC)$(NO_WARN) -
c770: 44 61 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20  Daccess=_access
c780: 5c 0a 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29  \...-Fe$@$(TOP)
c790: 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c  \tool\lemon.c /l
c7a0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
c7b0: 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  (NLTLINKOPTS) $( c7c0: 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 NLTLIBPATHS)..# c7d0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 <<mark>>.# Rules c7e0: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 73 6f to build the so c7f0: 75 72 63 65 2d 69 64 20 67 65 6e 65 72 61 74 6f urce-id generato c800: 72 20 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63 r tool.#.mksourc c810: 65 69 64 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c eid.exe:.$(TOP)\
c820: 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e  tool\mksourceid.
c830: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57  c..$(BCC)$(NO_W
c840: 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50  ARN) -Fe$@$(TOP
c850: 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69  )\tool\mksourcei
c860: 64 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  d.c /link $(LDFL c870: 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 AGS)$(NLTLINKOP
c880: 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  TS) $(NLTLIBPATH c890: 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 S)..# Rules to b c8a0: 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 uild individual c8b0: 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 *.lo files from c8c0: 67 65 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69 generated *.c fi c8d0: 6c 65 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c les. This.# appl c8e0: 69 65 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20 ies to:.#.# c8f0: 70 61 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f parse.lo.# o c900: 70 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 pcodes.lo.#.pars c910: 65 2e 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28 e.lo:.parse.c$(
c920: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL c930: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
c940: 45 5f 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65  E_OPTS) -c parse
c950: 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09  .c..opcodes.lo:.
c960: 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43  opcodes.c..$(LTC c970: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
c980: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
c990: 6f 70 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d  opcodes.c.# <</m
c9a0: 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f  ark>>..# Rule to
c9b0: 20 62 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32   build the Win32
c9c0: 20 72 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63   resources objec
c9d0: 74 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28  t file..#.!IF $( c9e0: 55 53 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62 USE_RC)!=0.# <<b c9f0: 6c 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53 lock1>>.$(LIBRES
ca00: 4f 42 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72  OBJS):.$(TOP)\sr ca10: 63 5c 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53 c\sqlite3.rc$(S
ca20: 51 4c 49 54 45 33 48 29 20 24 28 54 4f 50 29 5c  QLITE3H) $(TOP)\ ca30: 56 45 52 53 49 4f 4e 0a 09 65 63 68 6f 20 23 69 VERSION..echo #i ca40: 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 52 45 53 fndef SQLITE_RES ca50: 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20 OURCE_VERSION > ca60: 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f 72 sqlite3rc.h..for ca70: 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 /F %%V in ('typ ca80: 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f e "$(TOP)\VERSIO
ca90: 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63  N"') do ( \...ec
caa0: 68 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54  ho #define SQLIT
cab0: 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49  E_RESOURCE_VERSI
cac0: 4f 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 24 28  ON %%V \....| $( cad0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
cae0: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
caf0: 63 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e  cl exact . ^, >>
cb00: 20 73 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09   sqlite3rc.h \..
cb10: 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e  )..echo #endif >
cb20: 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 24  > sqlite3rc.h..$cb30: 28 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f (LTRCOMPILE) -fo cb40: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24$(LIBRESOBJS) $cb50: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 (TOP)\src\sqlite cb60: 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3.rc.# <</block1 cb70: 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d >>.!ENDIF..# <<m cb80: 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f ark>>.# Rules to cb90: 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 build individua cba0: 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f l *.lo files fro cbb0: 6d 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73 m files in the s cbc0: 72 63 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a rc directory..#. cbd0: 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 alter.lo:.$(TOP)
cbe0: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 28 48  \src\alter.c $(H cbf0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
cc00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE cc10: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
cc20: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e  \src\alter.c..an
cc30: 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  alyze.lo:.$(TOP) cc40: 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 \src\analyze.c$
cc50: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI cc60: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
cc70: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO cc80: 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 P)\src\analyze.c cc90: 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54 ..attach.lo:.$(T
cca0: 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63  OP)\src\attach.c
ccb0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
ccc0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM ccd0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
cce0: 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e  TOP)\src\attach.
ccf0: 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f  c..auth.lo:.$(TO cd00: 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 28 P)\src\auth.c$(
cd10: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL cd20: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
cd30: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP cd40: 29 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61 )\src\auth.c..ba cd50: 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c ckup.lo:.$(TOP)\
cd60: 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48  src\backup.c $(H cd70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
cd80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE cd90: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
cda0: 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62  \src\backup.c..b
cdb0: 69 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29  itvec.lo:.$(TOP) cdc0: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20 24 28 \src\bitvec.c$(
cdd0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL cde0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
cdf0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP ce00: 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a )\src\bitvec.c.. ce10: 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f btmutex.lo:.$(TO
ce20: 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63  P)\src\btmutex.c
ce30: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
ce40: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM ce50: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
ce60: 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78  TOP)\src\btmutex
ce70: 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28  .c..btree.lo:.$( ce80: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 TOP)\src\btree.c ce90: 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73$(HDR) $(TOP)\s cea0: 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 rc\pager.h..$(LT
ceb0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ cec0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c ced0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65$(TOP)\src\btre
cee0: 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24  e.c..build.lo:.$cef0: 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e (TOP)\src\build. cf00: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO cf10: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
cf20: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $cf30: 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e (TOP)\src\build. cf40: 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 c..callback.lo:. cf50: 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62$(TOP)\src\callb
cf60: 61 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ack.c $(HDR)..$(
cf70: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR cf80: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) cf90: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 -c$(TOP)\src\ca
cfa0: 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65  llback.c..comple
cfb0: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  te.lo:.$(TOP)\sr cfc0: 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 c\complete.c$(H
cfd0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE cfe0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
cff0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) d000: 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a \src\complete.c. d010: 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 .ctime.lo:.$(TOP
d020: 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 24 28  )\src\ctime.c $( d030: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d040: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d050: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
d060: 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64  )\src\ctime.c..d
d070: 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ate.lo:.$(TOP)\s d080: 72 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52 29 rc\date.c$(HDR)
d090: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
d0a0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d0b0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr d0c0: 63 5c 64 61 74 65 2e 63 0a 0a 64 62 70 61 67 65 c\date.c..dbpage d0d0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
d0e0: 64 62 70 61 67 65 2e 63 20 24 28 48 44 52 29 0a  dbpage.c $(HDR). d0f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d100: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d110: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d120: 5c 64 62 70 61 67 65 2e 63 0a 0a 64 62 73 74 61  \dbpage.c..dbsta
d130: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src d140: 5c 64 62 73 74 61 74 2e 63 20 24 28 48 44 52 29 \dbstat.c$(HDR)
d150: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
d160: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d170: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr d180: 63 5c 64 62 73 74 61 74 2e 63 0a 0a 64 65 6c 65 c\dbstat.c..dele d190: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 te.lo:.$(TOP)\sr
d1a0: 63 5c 64 65 6c 65 74 65 2e 63 20 24 28 48 44 52  c\delete.c $(HDR d1b0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
d1c0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O d1d0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
d1e0: 72 63 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70  rc\delete.c..exp
d1f0: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src d200: 5c 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 \expr.c$(HDR)..
d210: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
d220: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d230: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ d240: 65 78 70 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f expr.c..fault.lo d250: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 :.$(TOP)\src\fau
d260: 6c 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  lt.c $(HDR)..$(L
d270: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d280: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d290: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 c$(TOP)\src\fau
d2a0: 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24  lt.c..fkey.lo:.$d2b0: 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 (TOP)\src\fkey.c d2c0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM d2d0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
d2e0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( d2f0: 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 0a TOP)\src\fkey.c. d300: 0a 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 .func.lo:.$(TOP)
d310: 5c 73 72 63 5c 66 75 6e 63 2e 63 20 24 28 48 44  \src\func.c $(HD d320: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d330: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d340: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
d350: 73 72 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62  src\func.c..glob
d360: 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  al.lo:.$(TOP)\sr d370: 63 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 48 44 52 c\global.c$(HDR
d380: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) d390: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
d3a0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s d3b0: 72 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 rc\global.c..has d3c0: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 h.lo:.$(TOP)\src
d3d0: 5c 68 61 73 68 2e 63 20 24 28 48 44 52 29 0a 09  \hash.c $(HDR).. d3e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d3f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d400: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d410: 68 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c  hash.c..insert.l
d420: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e  o:.$(TOP)\src\in d430: 73 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 sert.c$(HDR)..$d440: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d450: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d460: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 69   -c $(TOP)\src\i d470: 6e 73 65 72 74 2e 63 0a 0a 6c 65 67 61 63 79 2e nsert.c..legacy. d480: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c lo:.$(TOP)\src\l
d490: 65 67 61 63 79 2e 63 20 24 28 48 44 52 29 0a 09  egacy.c $(HDR).. d4a0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d4b0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d4c0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d4d0: 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65 78  legacy.c..loadex
d4e0: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src d4f0: 5c 6c 6f 61 64 65 78 74 2e 63 20 24 28 48 44 52 \loadext.c$(HDR
d500: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) d510: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
d520: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s d530: 72 63 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 rc\loadext.c..ma d540: 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 in.lo:.$(TOP)\sr
d550: 63 5c 6d 61 69 6e 2e 63 20 24 28 48 44 52 29 0a  c\main.c $(HDR). d560: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d570: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d580: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d590: 5c 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e  \main.c..malloc.
d5a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m d5b0: 61 6c 6c 6f 63 2e 63 20 24 28 48 44 52 29 0a 09 alloc.c$(HDR)..
d5c0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
d5d0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d5e0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ d5f0: 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c malloc.c..mem0.l d600: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 o:.$(TOP)\src\me
d610: 6d 30 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  m0.c $(HDR)..$(L
d620: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d630: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d640: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d c$(TOP)\src\mem
d650: 30 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28  0.c..mem1.lo:.$( d660: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 TOP)\src\mem1.c d670: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP d680: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
d690: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T d6a0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a OP)\src\mem1.c.. d6b0: 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c mem2.lo:.$(TOP)\
d6c0: 73 72 63 5c 6d 65 6d 32 2e 63 20 24 28 48 44 52  src\mem2.c $(HDR d6d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
d6e0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O d6f0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
d700: 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e  rc\mem2.c..mem3.
d710: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m d720: 65 6d 33 2e 63 20 24 28 48 44 52 29 0a 09 24 28 em3.c$(HDR)..$( d730: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d740: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d750: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  -c $(TOP)\src\me d760: 6d 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 m3.c..mem5.lo:.$
d770: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63  (TOP)\src\mem5.c
d780: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d790: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM d7a0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
d7b0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a  TOP)\src\mem5.c.
d7c0: 0a 6d 65 6d 64 62 2e 6c 6f 3a 09 24 28 54 4f 50  .memdb.lo:.$(TOP d7d0: 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 24 28 )\src\memdb.c$(
d7e0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d7f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d800: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d810: 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 0a 0a 6d )\src\memdb.c..m d820: 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 emjournal.lo:.$(
d830: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72  TOP)\src\memjour
d840: 6e 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28  nal.c $(HDR)..$(
d850: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR d860: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) d870: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 -c$(TOP)\src\me
d880: 6d 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65  mjournal.c..mute
d890: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  x.lo:.$(TOP)\src d8a0: 5c 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a \mutex.c$(HDR).
d8b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d8c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d8d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src d8e0: 5c 6d 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f \mutex.c..mutex_ d8f0: 6e 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c noop.lo:.$(TOP)\
d900: 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63  src\mutex_noop.c
d910: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d920: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM d930: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
d940: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e  TOP)\src\mutex_n
d950: 6f 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69  oop.c..mutex_uni
d960: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  x.lo:.$(TOP)\src d970: 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 \mutex_unix.c$(
d980: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d990: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d9a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d9b0: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 )\src\mutex_unix d9c0: 2e 63 0a 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f .c..mutex_w32.lo d9d0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 :.$(TOP)\src\mut
d9e0: 65 78 5f 77 33 32 2e 63 20 24 28 48 44 52 29 0a  ex_w32.c $(HDR). d9f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( da00: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT da10: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
da20: 5c 6d 75 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f  \mutex_w32.c..no
da30: 74 69 66 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tify.lo:.$(TOP)\ da40: 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 src\notify.c$(H
da50: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE da60: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
da70: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) da80: 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 \src\notify.c..p da90: 61 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c ager.lo:.$(TOP)\
daa0: 73 72 63 5c 70 61 67 65 72 2e 63 20 24 28 48 44  src\pager.c $(HD dab0: 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 R)$(TOP)\src\pa
dac0: 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49  ger.h..$(LTCOMPI dad0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
dae0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO daf0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a P)\src\pager.c.. db00: 70 63 61 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 pcache.lo:.$(TOP
db10: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 24  )\src\pcache.c $db20: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 (HDR)$(TOP)\src
db30: 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43  \pcache.h..$(LTC db40: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
db50: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
db60: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach db70: 65 2e 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a e.c..pcache1.lo: db80: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 .$(TOP)\src\pcac
db90: 68 65 31 2e 63 20 24 28 48 44 52 29 20 24 28 54  he1.c $(HDR)$(T
dba0: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68  OP)\src\pcache.h
dbb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
dbc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
dbd0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr dbe0: 63 5c 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e c\pcache1.c..os. dbf0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f lo:.$(TOP)\src\o
dc00: 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  s.c $(HDR)..$(LT
dc10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ dc20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c dc30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63$(TOP)\src\os.c
dc40: 0a 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28  ..os_unix.lo:.$( dc50: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 TOP)\src\os_unix dc60: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC dc70: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
dc80: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
dc90: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e  $(TOP)\src\os_un dca0: 69 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a ix.c..os_win.lo: dcb0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 .$(TOP)\src\os_w
dcc0: 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  in.c $(HDR)..$(L
dcd0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE dce0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - dcf0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f c$(TOP)\src\os_
dd00: 77 69 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f  win.c..pragma.lo
dd10: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61  :.$(TOP)\src\pra dd20: 67 6d 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28 gma.c$(HDR)..$( dd30: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
dd40: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
dd50: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  -c $(TOP)\src\pr dd60: 61 67 6d 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e agma.c..prepare. dd70: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 lo:.$(TOP)\src\p
dd80: 72 65 70 61 72 65 2e 63 20 24 28 48 44 52 29 0a  repare.c $(HDR). dd90: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( dda0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT ddb0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
ddc0: 5c 70 72 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e  \prepare.c..prin
ddd0: 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  tf.lo:.$(TOP)\sr dde0: 63 5c 70 72 69 6e 74 66 2e 63 20 24 28 48 44 52 c\printf.c$(HDR
ddf0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) de00: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
de10: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s de20: 72 63 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e rc\printf.c..ran de30: 64 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 dom.lo:.$(TOP)\s
de40: 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44  rc\random.c $(HD de50: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
de60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ de70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
de80: 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65  src\random.c..re
de90: 73 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  solve.lo:.$(TOP) dea0: 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 \src\resolve.c$
deb0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI dec0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
ded0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO dee0: 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 P)\src\resolve.c def0: 0a 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 ..rowset.lo:.$(T
df00: 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63  OP)\src\rowset.c
df10: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
df20: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM df30: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
df40: 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e  TOP)\src\rowset.
df50: 63 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28  c..select.lo:.$( df60: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e TOP)\src\select. df70: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO df80: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
df90: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $dfa0: 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 (TOP)\src\select dfb0: 2e 63 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 .c..status.lo:.$
dfc0: 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73  (TOP)\src\status
dfd0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
dfe0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C dff0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c e000: 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75$(TOP)\src\statu
e010: 73 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24  s.c..table.lo:.$e020: 28 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e (TOP)\src\table. e030: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO e040: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
e050: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $e060: 28 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e (TOP)\src\table. e070: 63 0a 0a 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 c..threads.lo:.$
e080: 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64  (TOP)\src\thread
e090: 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  s.c $(HDR)..$(LT
e0a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ e0b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c e0c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65$(TOP)\src\thre
e0d0: 61 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e  ads.c..tokenize.
e0e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t e0f0: 6f 6b 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 okenize.c keywor e100: 64 68 61 73 68 2e 68 20 24 28 48 44 52 29 0a 09 dhash.h$(HDR)..
e110: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
e120: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e130: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ e140: 74 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 tokenize.c..tree e150: 76 69 65 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c view.lo:.$(TOP)\
e160: 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 24  src\treeview.c $e170: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
e180: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI e190: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
e1a0: 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e  P)\src\treeview.
e1b0: 63 0a 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24  c..trigger.lo:.$e1c0: 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 (TOP)\src\trigge e1d0: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 r.c$(HDR)..$(LT e1e0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
e1f0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e200: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67   $(TOP)\src\trig e210: 67 65 72 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f ger.c..update.lo e220: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 :.$(TOP)\src\upd
e230: 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ate.c $(HDR)..$(
e240: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR e250: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) e260: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 -c$(TOP)\src\up
e270: 64 61 74 65 2e 63 0a 0a 75 70 73 65 72 74 2e 6c  date.c..upsert.l
e280: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70  o:.$(TOP)\src\up e290: 73 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 sert.c$(HDR)..$e2a0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
e2b0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e2c0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75   -c $(TOP)\src\u e2d0: 70 73 65 72 74 2e 63 0a 0a 75 74 66 2e 6c 6f 3a psert.c..utf.lo: e2e0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e .$(TOP)\src\utf.
e2f0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e300: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO e310: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
e320: 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 0a  (TOP)\src\utf.c.
e330: 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29  .util.lo:.$(TOP) e340: 5c 73 72 63 5c 75 74 69 6c 2e 63 20 24 28 48 44 \src\util.c$(HD
e350: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e360: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e370: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ e380: 73 72 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 63 75 src\util.c..vacu e390: 75 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 um.lo:.$(TOP)\sr
e3a0: 63 5c 76 61 63 75 75 6d 2e 63 20 24 28 48 44 52  c\vacuum.c $(HDR e3b0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
e3c0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O e3d0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
e3e0: 72 63 5c 76 61 63 75 75 6d 2e 63 0a 0a 76 64 62  rc\vacuum.c..vdb
e3f0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src e400: 5c 76 64 62 65 2e 63 20 24 28 48 44 52 29 0a 09 \vdbe.c$(HDR)..
e410: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
e420: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e430: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ e440: 76 64 62 65 2e 63 0a 0a 76 64 62 65 61 70 69 2e vdbe.c..vdbeapi. e450: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 lo:.$(TOP)\src\v
e460: 64 62 65 61 70 69 2e 63 20 24 28 48 44 52 29 0a  dbeapi.c $(HDR). e470: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( e480: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT e490: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
e4a0: 5c 76 64 62 65 61 70 69 2e 63 0a 0a 76 64 62 65  \vdbeapi.c..vdbe
e4b0: 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  aux.lo:.$(TOP)\s e4c0: 72 63 5c 76 64 62 65 61 75 78 2e 63 20 24 28 48 rc\vdbeaux.c$(H
e4d0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE e4e0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
e4f0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) e500: 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 0a 0a \src\vdbeaux.c.. e510: 76 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 vdbeblob.lo:.$(T
e520: 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62  OP)\src\vdbeblob
e530: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e540: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C e550: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c e560: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62$(TOP)\src\vdbeb
e570: 6c 6f 62 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c  lob.c..vdbemem.l
e580: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd e590: 62 65 6d 65 6d 2e 63 20 24 28 48 44 52 29 0a 09 bemem.c$(HDR)..
e5a0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
e5b0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
e5c0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ e5d0: 76 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 vdbemem.c..vdbes e5e0: 6f 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ort.lo:.$(TOP)\s
e5f0: 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 24 28  rc\vdbesort.c $( e600: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
e610: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL e620: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
e630: 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63  )\src\vdbesort.c
e640: 0a 0a 76 64 62 65 74 72 61 63 65 2e 6c 6f 3a 09  ..vdbetrace.lo:.
e650: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74  $(TOP)\src\vdbet e660: 72 61 63 65 2e 63 20 24 28 48 44 52 29 0a 09 24 race.c$(HDR)..$e670: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
e680: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e690: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v e6a0: 64 62 65 74 72 61 63 65 2e 63 0a 0a 76 74 61 62 dbetrace.c..vtab e6b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
e6c0: 76 74 61 62 2e 63 20 24 28 48 44 52 29 0a 09 24  vtab.c $(HDR)..$
e6d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO e6e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) e6f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 -c$(TOP)\src\v
e700: 74 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24  tab.c..wal.lo:.$e710: 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 (TOP)\src\wal.c e720: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP e730: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
e740: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T e750: 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 OP)\src\wal.c..w e760: 61 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 alker.lo:.$(TOP)
e770: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 24 28  \src\walker.c $( e780: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
e790: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL e7a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
e7b0: 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a  )\src\walker.c..
e7c0: 77 68 65 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  where.lo:.$(TOP) e7d0: 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 24 28 48 \src\where.c$(H
e7e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE e7f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
e800: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) e810: 5c 73 72 63 5c 77 68 65 72 65 2e 63 0a 0a 77 68 \src\where.c..wh e820: 65 72 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f erecode.lo:.$(TO
e830: 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65  P)\src\wherecode
e840: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
e850: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C e860: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c e870: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65$(TOP)\src\where
e880: 63 6f 64 65 2e 63 0a 0a 77 68 65 72 65 65 78 70  code.c..whereexp
e890: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src e8a0: 5c 77 68 65 72 65 65 78 70 72 2e 63 20 24 28 48 \whereexpr.c$(H
e8b0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE e8c0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
e8d0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) e8e0: 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 \src\whereexpr.c e8f0: 0a 0a 77 69 6e 64 6f 77 2e 6c 6f 3a 09 24 28 54 ..window.lo:.$(T
e900: 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63  OP)\src\window.c
e910: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
e920: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM e930: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
e940: 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e  TOP)\src\window.
e950: 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a  c..tclsqlite.lo:
e960: 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73  .$(TOP)\src\tcls e970: 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 qlite.c$(HDR) $e980: 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 (SQLITE_TCL_DEP) e990: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $e9a0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45 5f (NO_WARN) -DUSE_ e9b0: 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42 55 TCL_STUBS=1 -DBU e9c0: 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 ILD_sqlite -I$(T
e9d0: 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54  CLINCDIR) -c $(T e9e0: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 OP)\src\tclsqlit e9f0: 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d 73 e.c..tclsqlite-s ea00: 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c hell.lo:.$(TOP)\
ea10: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20  src\tclsqlite.c
ea20: 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f  $(HDR)$(SQLITE_
ea30: 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f  TCL_DEP)..$(LTCO ea40: 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e MPILE)$(NO_WARN
ea50: 29 20 2d 44 54 43 4c 53 48 20 2d 44 42 55 49 4c  ) -DTCLSH -DBUIL
ea60: 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c  D_sqlite -I$(TCL ea70: 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 INCDIR) -c$(TOP
ea80: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
ea90: 63 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65 78  c..tclsqlite3.ex
eaa0: 65 3a 09 74 63 6c 73 71 6c 69 74 65 2d 73 68 65  e:.tclsqlite-she
eab0: 6c 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33 43  ll.lo $(SQLITE3C eac0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 )$(SQLITE3H) $( ead0: 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c LIBRESOBJS)..$(L
eae0: 54 4c 49 4e 4b 29 20 24 28 53 51 4c 49 54 45 33  TLINK) $(SQLITE3 eaf0: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
eb00: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS eb10: 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 )$(TCLLIBPATHS)
eb20: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) / eb30: 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 OUT:$@ tclsqlite
eb40: 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52  -shell.lo $(LIBR eb50: 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 ESOBJS)$(TCLLIB
eb60: 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS)$(T
eb70: 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74  LIBS)..# Rules t
eb80: 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e  o build opcodes.
eb90: 63 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a  c and opcodes.h.
eba0: 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63  #.opcodes.c:.opc
ebb0: 6f 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f  odes.h $(TOP)\to ebc0: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c ol\mkopcodec.tcl ebd0: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 ..$(TCLSH_CMD) $ebe0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 (TOP)\tool\mkopc ebf0: 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73 odec.tcl opcodes ec00: 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a .h > opcodes.c.. ec10: 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65 opcodes.h:.parse ec20: 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 .h$(TOP)\src\vd
ec30: 62 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  be.c $(TOP)\tool ec40: 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09 \mkopcodeh.tcl.. ec50: 74 79 70 65 20 70 61 72 73 65 2e 68 20 24 28 54 type parse.h$(T
ec60: 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c  OP)\src\vdbe.c |
ec70: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD)$(
ec80: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
ec90: 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65  deh.tcl > opcode
eca0: 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20  s.h..# Rules to
ecb0: 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e  build parse.c an
ecc0: 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20  d parse.h - the
ecd0: 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e  outputs of lemon
ece0: 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72  ..#.parse.h:.par
ecf0: 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24  se.c..parse.c:.$ed00: 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e (TOP)\src\parse. ed10: 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f y lemon.exe$(TO
ed20: 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64  P)\tool\addopcod
ed30: 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70  es.tcl..del /Q p
ed40: 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 70  arse.y parse.h p
ed50: 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55  arse.h.temp 2>NU
ed60: 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 73  L..copy $(TOP)\s ed70: 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c rc\parse.y ....\ ed80: 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f lemon.exe$(REQ_
ed90: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $eda0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (OPT_FEATURE_FLA edb0: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 GS)$(EXT_FEATUR
edc0: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29  E_FLAGS) $(OPTS) edd0: 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70 parse.y..move p ede0: 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 arse.h parse.h.t edf0: 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 emp..$(TCLSH_CMD
ee00: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64  ) $(TOP)\tool\ad ee10: 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 72 dopcodes.tcl par ee20: 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 73 se.h.temp > pars ee30: 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 29 e.h..$(SQLITE3H)
ee40: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c  :.$(TOP)\src\sql ee50: 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c ite.h.in$(TOP)\
ee60: 6d 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72 63  manifest mksourc
ee70: 65 69 64 2e 65 78 65 20 24 28 54 4f 50 29 5c 56  eid.exe $(TOP)\V ee80: 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f ERSION..$(TCLSH_
ee90: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool eea0: 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 \mksqlite3h.tcl eeb0: 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53$(TOP:\=/) > $(S eec0: 51 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51 4c QLITE3H)$(MKSQL
eed0: 49 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71 6c  ITE3H_ARGS)..sql
eee0: 69 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72 67  ite3ext.h:..targ
eef0: 65 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24 28  et_source.!IF $( ef00: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 USE_STDCALL)!=0 ef10: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 ||$(FOR_WIN10)!
ef20: 3d 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73 71  =0..type tsrc\sq
ef30: 6c 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28 54  lite3ext.h | $(T ef40: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
ef50: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
ef60: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c 29  l regsub "$$\*$$
ef70: 22 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c 42  " "(SQLITE_CALLB
ef80: 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24 28  ACK *)" \...| $( ef90: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
efa0: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
efb0: 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22  cl regsub "\(\*"
efc0: 20 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41 4c   "(SQLITE_APICAL
efd0: 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65 78  L *" > sqlite3ex
efe0: 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71 6c  t.h..copy /Y sql
eff0: 69 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c 73  ite3ext.h tsrc\s
f000: 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c 53  qlite3ext.h.!ELS
f010: 45 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63 5c  E..copy /Y tsrc\
f020: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c  sqlite3ext.h sql
f030: 69 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49 46  ite3ext.h.!ENDIF
f040: 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  ..mkkeywordhash.
f050: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool f060: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 \mkkeywordhash.c f070: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 ..$(BCC) $(NO_WA f080: 52 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f RN) -Fe$@ $(REQ_ f090: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 FEATURE_FLAGS)$
f0a0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
f0b0: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52  GS) $(EXT_FEATUR f0c0: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 E_FLAGS)$(OPTS)
f0d0: 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool f0e0: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 \mkkeywordhash.c f0f0: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 /link$(LDFLAGS
f100: 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29  ) $(NLTLINKOPTS) f110: 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a$(NLTLIBPATHS).
f120: 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09  .keywordhash.h:.
f130: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65  $(TOP)\tool\mkke f140: 79 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65 ywordhash.c mkke f150: 79 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e ywordhash.exe... f160: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 \mkkeywordhash.e f170: 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68 xe > keywordhash f180: 2e 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 69 6c .h..# Source fil f190: 65 73 20 74 68 61 74 20 67 6f 20 69 6e 74 6f 20 es that go into f1a0: 6d 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a 53 making shell.c.S f1b0: 48 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24 28 HELL_SRC = \..$(
f1c0: 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63  TOP)\src\shell.c
f1d0: 2e 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78  .in \..$(TOP)\ex f1e0: 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 t\misc\appendvfs f1f0: 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 .c \..$(TOP)\ext
f200: 5c 6d 69 73 63 5c 73 68 61 74 68 72 65 65 2e 63  \misc\shathree.c
f210: 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d   \..$(TOP)\ext\m f220: 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 09 isc\fileio.c \.. f230: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
f240: 63 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09  completion.c \..
f250: 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72  $(TOP)\ext\exper f260: 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e t\sqlite3expert. f270: 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c c \..$(TOP)\ext\
f280: 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
f290: 70 65 72 74 2e 68 20 5c 0a 09 24 28 54 4f 50 29  pert.h \..$(TOP) f2a0: 5c 65 78 74 5c 6d 69 73 63 5c 6d 65 6d 74 72 61 \ext\misc\memtra f2b0: 63 65 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 73 ce.c \..$(TOP)\s
f2c0: 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e  rc\test_windiren
f2d0: 74 2e 63 0a 0a 23 20 49 66 20 75 73 65 20 6f 66  t.c..# If use of
f2e0: 20 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c 65 64   zlib is enabled
f2f0: 2c 20 61 64 64 20 74 68 65 20 22 7a 69 70 66 69  , add the "zipfi
f300: 6c 65 2e 63 22 20 73 6f 75 72 63 65 20 66 69 6c  le.c" source fil
f310: 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a  e..#.!IF $(USE_Z f320: 4c 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 53 52 LIB)!=0.SHELL_SR f330: 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29 C =$(SHELL_SRC)
f340: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc f350: 5c 73 71 6c 61 72 2e 63 0a 53 48 45 4c 4c 5f 53 \sqlar.c.SHELL_S f360: 52 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 RC =$(SHELL_SRC
f370: 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ) $(TOP)\ext\mis f380: 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 c\zipfile.c.!END f390: 49 46 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24 28 53 IF..shell.c:.$(S
f3a0: 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29  HELL_SRC) $(TOP) f3b0: 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 \tool\mkshellc.t f3c0: 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 cl..$(TCLSH_CMD)
f3d0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73   $(TOP)\tool\mks f3e0: 68 65 6c 6c 63 2e 74 63 6c 20 3e 20 73 68 65 6c hellc.tcl > shel f3f0: 6c 2e 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75 73 68 l.c..zlib:..push f400: 64 20 24 28 5a 4c 49 42 44 49 52 29 20 26 26 20 d$(ZLIBDIR) &&
f410: 24 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33 32  $(MAKE) /f win32 f420: 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 63 6c \Makefile.msc cl f430: 65 61 6e 20 24 28 5a 4c 49 42 4c 49 42 29 20 26 ean$(ZLIBLIB) &
f440: 26 20 70 6f 70 64 0a 0a 23 20 52 75 6c 65 73 20  & popd..# Rules
f450: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78 74  to build the ext
f460: 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a  ension objects..
f470: 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29  #.icu.lo:.$(TOP) f480: 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 24 \ext\icu\icu.c$
f490: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). f4a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( f4b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT f4c0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
f4d0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $f4e0: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 (TOP)\ext\icu\ic f4f0: 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28 u.c..fts2.lo:.$(
f500: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
f510: 73 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s2.c $(HDR)$(EX
f520: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI f530: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
f540: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA f550: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR f560: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
f570: 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73  fts2\fts2.c..fts
f580: 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50  2_hash.lo:.$(TOP f590: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f )\ext\fts2\fts2_ f5a0: 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 hash.c$(HDR) $( f5b0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
f5c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM f5d0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
f5e0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f5f0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex f600: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 t\fts2\fts2_hash f610: 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a .c..fts2_icu.lo: f620: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 .$(TOP)\ext\fts2
f630: 5c 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48 44  \fts2_icu.c $(HD f640: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( f650: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
f660: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
f670: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL f680: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
f690: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
f6a0: 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72  _icu.c..fts2_por
f6b0: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ter.lo:.$(TOP)\e f6c0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 xt\fts2\fts2_por f6d0: 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 ter.c$(HDR) $(E f6e0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
f6f0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP f700: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
f710: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f720: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext f730: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 \fts2\fts2_porte f740: 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 r.c..fts2_tokeni f750: 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 zer.lo:.$(TOP)\e
f760: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
f770: 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20  enizer.c $(HDR) f780: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC f790: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
f7a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N f7b0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE f7c0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
f7d0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
f7e0: 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f  kenizer.c..fts2_
f7f0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24  tokenizer1.lo:.$f800: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f f810: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 ts2_tokenizer1.c f820: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR f830: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
f840: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O f850: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
f860: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f870: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 f880: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 \fts2_tokenizer1 f890: 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54 .c..fts3.lo:.$(T
f8a0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f8b0: 33 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  3.c $(HDR)$(EXT
f8c0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL f8d0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
f8e0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR f8f0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE f900: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
f910: 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33  ts3\fts3.c..fts3
f920: 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  _aux.lo:.$(TOP)\ f930: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 ext\fts3\fts3_au f940: 78 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 x.c$(HDR) $(EXT f950: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
f960: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL f970: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
f980: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f990: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f f9a0: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a ts3\fts3_aux.c.. f9b0: 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28 fts3_expr.lo:.$(
f9c0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f9d0: 73 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52 29  s3_expr.c $(HDR) f9e0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT f9f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
fa00: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( fa10: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT fa20: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
fa30: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65  \ext\fts3\fts3_e
fa40: 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68  xpr.c..fts3_hash
fa50: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ fa60: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 fts3\fts3_hash.c fa70: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR fa80: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
fa90: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O faa0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
fab0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
fac0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 fad0: 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74 \fts3_hash.c..ft fae0: 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 s3_icu.lo:.$(TOP
faf0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fb00: 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45  icu.c $(HDR)$(E
fb10: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP fb20: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
fb30: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W fb40: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO fb50: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
fb60: 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63  \fts3\fts3_icu.c
fb70: 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c  ..fts3_snippet.l
fb80: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft fb90: 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e s3\fts3_snippet. fba0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD fbb0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
fbc0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ fbd0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
fbe0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
fbf0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts fc00: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 3\fts3_snippet.c fc10: 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f ..fts3_porter.lo fc20: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
fc30: 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20  3\fts3_porter.c
fc40: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
fc50: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
fc60: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
fc70: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - fc80: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c fc90: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
fca0: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66  fts3_porter.c..f
fcb0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f  ts3_tokenizer.lo
fcc0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts fcd0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 3\fts3_tokenizer fce0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 .c$(HDR) $(EXTH fcf0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
fd00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE fd10: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e _OPTS)$(NO_WARN
fd20: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE
fd30: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft fd40: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 s3\fts3_tokenize fd50: 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 r.c..fts3_tokeni fd60: 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c zer1.lo:.$(TOP)\
fd70: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
fd80: 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52  kenizer1.c $(HDR fd90: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L fda0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
fdb0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $fdc0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI fdd0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
fde0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
fdf0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74  tokenizer1.c..ft
fe00: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
fe10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ fe20: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 fts3\fts3_tokeni fe30: 7a 65 5f 76 74 61 62 2e 63 20 24 28 48 44 52 29 ze_vtab.c$(HDR)
fe40: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
fe50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ fe60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
fe70: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
fe80: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) fe90: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 \ext\fts3\fts3_t fea0: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a okenize_vtab.c.. feb0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a fts3_unicode.lo: fec0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 .$(TOP)\ext\fts3
fed0: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20  \fts3_unicode.c
fee0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
fef0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
ff00: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ff10: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - ff20: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c ff30: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
ff40: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a  fts3_unicode.c..
ff50: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f  fts3_unicode2.lo
ff60: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts ff70: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 3\fts3_unicode2. ff80: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD ff90: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
ffa0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ ffb0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
ffc0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
ffd0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts ffe0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 3\fts3_unicode2. fff0: 63 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f c..fts3_write.lo 10000 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
10010 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 24  3\fts3_write.c $10020 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
10030 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
10040 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
10050 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D 10060 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
10070 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
10080 74 73 33 5f 77 72 69 74 65 2e 63 0a 0a 6a 73 6f  ts3_write.c..jso
10090 6e 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  n1.lo:.$(TOP)\ex 100a0 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 24 t\misc\json1.c$
100b0 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). 100c0 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( 100d0 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT 100e0 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
100f0 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $10100 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a (TOP)\ext\misc\j 10110 73 6f 6e 31 2e 63 0a 0a 73 74 6d 74 2e 6c 6f 3a son1.c..stmt.lo: 10120 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 .$(TOP)\ext\misc
10130 5c 73 74 6d 74 2e 63 20 24 28 48 44 52 29 20 24  \stmt.c $(HDR)$
10140 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO 10150 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
10160 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO 10170 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ 10180 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
10190 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a 0a  xt\misc\stmt.c..
101a0 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  rtree.lo:.$(TOP) 101b0 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 \ext\rtree\rtree 101c0 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 .c$(HDR) $(EXTH 101d0 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
101e0 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE 101f0 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e _OPTS)$(NO_WARN
10200 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE
10210 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  -c $(TOP)\ext\rt 10220 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c ree\rtree.c..sql 10230 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 ite3session.lo:. 10240 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69$(TOP)\ext\sessi
10250 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f  on\sqlite3sessio
10260 6e 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  n.c $(HDR)$(EXT
10270 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL 10280 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
10290 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR 102a0 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE 102b0 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 -c$(TOP)\ext\s
102c0 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65  ession\sqlite3se
102d0 73 73 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20  ssion.c..# FTS5
102e0 74 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52  things.#.FTS5_SR
102f0 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  C = \.   $(TOP)\ 10300 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 ext\fts5\fts5.h 10310 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
10320 66 74 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c  fts5\fts5Int.h \
10330 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f 10340 74 73 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c ts5\fts5_aux.c \ 10350 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 .$(TOP)\ext\f
10360 74 73 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e  ts5\fts5_buffer.
10370 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex 10380 74 5c 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e t\fts5\fts5_main 10390 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
103a0 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e  xt\fts5\fts5_con
103b0 66 69 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  fig.c \.   $(TOP 103c0 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ 103d0 65 78 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f expr.c \.$(TO
103e0 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
103f0 5f 68 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54  _hash.c \.   $(T 10400 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts 10410 35 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 5_index.c \. f 10420 74 73 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 ts5parse.c fts5p 10430 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f arse.h \.$(TO
10440 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
10450 5f 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20  _storage.c \.
10460 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\ 10470 66 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 fts5_tokenize.c 10480 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
10490 66 74 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64  fts5\fts5_unicod
104a0 65 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  e2.c \.   $(TOP) 104b0 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 \ext\fts5\fts5_v 104c0 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 arint.c \.$(T
104d0 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
104e0 35 5f 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f  5_vocab.c..LSM1_
104f0 53 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50  SRC = \.   $(TOP 10500 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 )\ext\lsm1\lsm.h 10510 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
10520 5c 6c 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c  \lsm1\lsmInt.h \
10530 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l 10540 73 6d 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c sm1\lsm_ckpt.c \ 10550 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c .$(TOP)\ext\l
10560 73 6d 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c  sm1\lsm_file.c \
10570 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l 10580 73 6d 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a sm1\lsm_log.c \. 10590 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73$(TOP)\ext\ls
105a0 6d 31 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a  m1\lsm_main.c \.
105b0 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls 105c0 6d 31 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 m1\lsm_mem.c \. 105d0 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d$(TOP)\ext\lsm
105e0 31 5c 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a  1\lsm_mutex.c \.
105f0 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls 10600 6d 31 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20 m1\lsm_shared.c 10610 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
10620 6c 73 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65 64 2e  lsm1\lsm_sorted.
10630 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex 10640 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63 t\lsm1\lsm_str.c 10650 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
10660 5c 6c 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63  \lsm1\lsm_tree.c
10670 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext 10680 5c 6c 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63 \lsm1\lsm_unix.c 10690 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
106a0 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74  \lsm1\lsm_varint
106b0 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e 106c0 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62 xt\lsm1\lsm_vtab 106d0 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
106e0 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69 6e 33  xt\lsm1\lsm_win3
106f0 32 2e 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63  2.c..fts5parse.c
10700 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts 10710 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 5\fts5parse.y le 10720 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 mon.exe..copy$(
10730 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
10740 73 35 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c  s5parse.y ...del
10750 20 2f 51 20 66 74 73 35 70 61 72 73 65 2e 68 20   /Q fts5parse.h
10760 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65  2>NUL...\lemon.e
10770 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  xe $(REQ_FEATURE 10780 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 _FLAGS)$(OPT_FE
10790 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E 107a0 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 XT_FEATURE_FLAGS 107b0 29 20 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 )$(OPTS) fts5pa
107c0 72 73 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65  rse.y..fts5parse
107d0 2e 68 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a  .h:.fts5parse.c.
107e0 0a 66 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f  .fts5.c:.$(FTS5_ 107f0 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d SRC)..$(TCLSH_CM
10800 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  D) $(TOP)\ext\ft 10810 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e s5\tool\mkfts5c. 10820 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 tcl..copy$(TOP)
10830 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68  \ext\fts5\fts5.h
10840 20 2e 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53   ...lsm1.c:.$(LS 10850 4d 31 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 M1_SRC)..$(TCLSH
10860 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74  _CMD) $(TOP)\ext 10870 5c 6c 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d \lsm1\tool\mklsm 10880 31 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 1c.tcl..copy$(T
10890 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
108a0 2e 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66  .h ...fts5.lo:.f
108b0 74 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 45  ts5.c $(HDR)$(E
108c0 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP 108d0 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
108e0 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W 108f0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO 10900 52 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 RE -c fts5.c..ft 10910 73 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e s5_ext.lo:.fts5. 10920 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD 10930 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
10940 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66   $(NO_WARN) -c f 10950 74 73 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a ts5.c..fts5.dll: 10960 09 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 .fts5_ext.lo..$(
10970 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24  LD) $(LDFLAGS)$
10980 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L 10990 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 TLIBPATHS) /DLL 109a0 2f 4f 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 /OUT:$@ fts5_ext
109b0 2e 6c 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e  .lo..sqlite3rbu.
109c0 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72  lo:.$(TOP)\ext\r 109d0 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 bu\sqlite3rbu.c 109e0 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) 109f0 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d ..$(LTCOMPILE) -
10a00 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
10a10 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73  $(TOP)\ext\rbu\s 10a20 71 6c 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 qlite3rbu.c..# R 10a30 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 ules to build th 10a40 65 20 27 74 65 73 74 66 69 78 74 75 72 65 27 20 e 'testfixture' 10a50 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 application..#.# 10a60 20 49 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d If using the am 10a70 61 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 algamation, use 10a80 73 71 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 sqlite3.c direct 10a90 6c 79 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 ly to build the 10aa0 74 65 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 test.# fixture. 10ab0 20 4f 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 Otherwise link 10ac0 61 67 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 against libsqlit 10ad0 65 33 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 e3.lib. (This d 10ae0 69 73 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 istinction is.# 10af0 6e 65 63 65 73 73 61 72 79 20 62 65 63 61 75 73 necessary becaus 10b00 65 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 e the test fixtu 10b10 72 65 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d re requires non- 10b20 41 50 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 API symbols whic 10b30 68 20 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 h are.# hidden w 10b40 68 65 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 hen the library 10b50 69 73 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 is built via the 10b60 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a amalgamation).. 10b70 23 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c #.TESTFIXTURE_FL 10b80 41 47 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e AGS = -DTCLSH_IN 10b90 49 54 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54 IT_PROC=sqlite3T 10ba0 65 73 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45 estInit -DSQLITE 10bb0 5f 54 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 _TEST=1 -DSQLITE 10bc0 5f 43 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 _CRASH_TEST=1.TE 10bd0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 STFIXTURE_FLAGS 10be0 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f =$(TESTFIXTURE_
10bf0 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
10c00 53 45 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54  SERVER=1 -DSQLIT
10c10 45 5f 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53  E_PRIVATE="".TES
10c20 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
10c30 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F 10c40 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 LAGS) -DSQLITE_C 10c50 4f 52 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 ORE$(NO_WARN).T
10c60 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10c70 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE 10c80 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE 10c90 5f 53 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 _SERIES_CONSTRAI 10ca0 4e 54 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 NT_VERIFY=1.TEST 10cb0 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 FIXTURE_FLAGS = 10cc0 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c$(TESTFIXTURE_FL
10cd0 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45  AGS) -DSQLITE_DE
10ce0 46 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d  FAULT_PAGE_SIZE=
10cf0 31 30 32 34 0a 54 45 53 54 46 49 58 54 55 52 45  1024.TESTFIXTURE
10d00 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF 10d10 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 IXTURE_FLAGS) -D 10d20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 SQLITE_ENABLE_ST 10d30 4d 54 56 54 41 42 3d 31 0a 54 45 53 54 46 49 58 MTVTAB=1.TESTFIX 10d40 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 TURE_FLAGS =$(T
10d50 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10d60 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
10d70 45 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31 0a  E_DBPAGE_VTAB=1.
10d80 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10d90 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR 10da0 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 E_FLAGS) -DSQLIT 10db0 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 3d 31 E_ENABLE_JSON1=1 10dc0 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 .TESTFIXTURE_FLA 10dd0 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 GS =$(TESTFIXTU
10de0 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
10df0 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52 49  TE_ENABLE_DESERI
10e00 41 4c 49 5a 45 3d 31 0a 54 45 53 54 46 49 58 54  ALIZE=1.TESTFIXT
10e10 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE 10e20 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 STFIXTURE_FLAGS) 10e30 20 24 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50$(TEST_CCONV_OP
10e40 54 53 29 0a 0a 54 45 53 54 46 49 58 54 55 52 45  TS)..TESTFIXTURE
10e50 5f 53 52 43 30 20 3d 20 24 28 54 45 53 54 45 58  _SRC0 = $(TESTEX 10e60 54 29 20 24 28 54 45 53 54 53 52 43 32 29 0a 54 T)$(TESTSRC2).T
10e70 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 20  ESTFIXTURE_SRC1
10e80 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28 53  = $(TESTEXT)$(S
10e90 51 4c 49 54 45 33 43 29 0a 21 49 46 20 24 28 55  QLITE3C).!IF $(U 10ea0 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 SE_AMALGAMATION) 10eb0 3d 3d 30 0a 54 45 53 54 46 49 58 54 55 52 45 5f ==0.TESTFIXTURE_ 10ec0 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 SRC =$(TESTSRC)
10ed0 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls 10ee0 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 qlite.c$(TESTFI
10ef0 58 54 55 52 45 5f 53 52 43 30 29 0a 21 45 4c 53  XTURE_SRC0).!ELS
10f00 45 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  E.TESTFIXTURE_SR
10f10 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24  C = $(TESTSRC)$
10f20 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
10f30 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54  ite.c $(TESTFIXT 10f40 55 52 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 46 URE_SRC1).!ENDIF 10f50 0a 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 ..!IF$(USE_STDC
10f60 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR 10f70 5f 57 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69 74 _WIN10)!=0.sqlit 10f80 65 5f 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 65 e_tclDecls.h:..e 10f90 63 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 cho #ifndef SQLI 10fa0 54 45 5f 54 43 4c 41 50 49 20 3e 20 24 28 53 51 TE_TCLAPI >$(SQ
10fb0 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09  LITETCLDECLSH)..
10fc0 65 63 68 6f 20 23 20 20 64 65 66 69 6e 65 20 53  echo #  define S
10fd0 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e 20  QLITE_TCLAPI >>
10fe0 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53  $(SQLITETCLDECLS 10ff0 48 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 H)..echo #endif 11000 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 >>$(SQLITETCLDE
11010 43 4c 53 48 29 0a 09 74 79 70 65 20 22 24 28 54  CLSH)..type "$(T 11020 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 44 65 63 CLINCDIR)\tclDec 11030 6c 73 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54 43 ls.h" \...|$(TC
11040 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ 11050 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c tool\replace.tcl 11060 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 regsub "^(EXTER 11070 4e 28 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f N(?: CONST\d+?)? 11080 5c 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29 \s+?[^\(]*?\s+?) 11090 54 63 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54 45 Tcl_" "\1 SQLITE 110a0 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a _TCLAPI Tcl_" \. 110b0 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
110c0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep 110d0 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 lace.tcl regsub 110e0 22 5e 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a "^(EXTERN\s+?(?: 110f0 76 6f 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 54 void|VOID)\s+?)T 11100 63 6c 46 72 65 65 4f 62 6a 22 20 22 5c 31 20 53 clFreeObj" "\1 S 11110 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c QLITE_TCLAPI Tcl 11120 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 FreeObj" \...|$
11130 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO 11140 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e P)\tool\replace. 11150 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a tcl regsub "\(\* 11160 74 63 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f 54 tcl_" "(SQLITE_T 11170 43 4c 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a 09 CLAPI *tcl_" \.. 11180 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 .|$(TCLSH_CMD)
11190 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl 111a0 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 ace.tcl regsub " 111b0 5c 28 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 \(\*tclFreeObj" 111c0 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 "(SQLITE_TCLAPI 111d0 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 *tclFreeObj" \.. 111e0 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 .|$(TCLSH_CMD)
111f0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl 11200 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 ace.tcl regsub " 11210 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 54 \(\*" "(SQLITE_T 11220 43 4c 41 50 49 20 2a 22 20 3e 3e 20 24 28 53 51 CLAPI *" >>$(SQ
11230 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 0a  LITETCLDECLSH)..
11240 73 71 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09 74  sqlite_tcl.h:..t
11250 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52  ype "$(TCLINCDIR 11260 29 5c 74 63 6c 2e 68 22 20 7c 20 24 28 54 43 4c )\tcl.h" |$(TCL
11270 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t 11280 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 ool\replace.tcl 11290 65 78 61 63 74 20 74 63 6c 44 65 63 6c 73 2e 68 exact tclDecls.h 112a0 20 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 sqlite_tclDecls 112b0 2e 68 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 .h \...|$(TCLSH
112c0 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too 112d0 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 l\replace.tcl re 112e0 67 73 75 62 20 22 74 79 70 65 64 65 66 20 28 2e gsub "typedef (. 112f0 2a 3f 29 5c 28 54 63 6c 5f 22 20 22 74 79 70 65 *?)\(Tcl_" "type 11300 64 65 66 20 5c 31 20 28 53 51 4c 49 54 45 5f 54 def \1 (SQLITE_T 11310 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 CLAPI Tcl_" \... 11320 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 |$(TCLSH_CMD) $11330 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 (TOP)\tool\repla 11340 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22 76 6f ce.tcl exact "vo 11350 69 64 20 28 2a 66 72 65 65 50 72 6f 63 29 22 20 id (*freeProc)" 11360 22 76 6f 69 64 20 28 53 51 4c 49 54 45 5f 54 43 "void (SQLITE_TC 11370 4c 41 50 49 20 2a 66 72 65 65 50 72 6f 63 29 22 LAPI *freeProc)" 11380 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 \...|$(TCLSH_C
11390 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ 113a0 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 replace.tcl exac 113b0 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 t "Tcl_HashEntry 113c0 20 2a 28 2a 66 69 6e 64 50 72 6f 63 29 22 20 22 *(*findProc)" " 113d0 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 Tcl_HashEntry *( 113e0 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 SQLITE_TCLAPI *f 113f0 69 6e 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 indProc)" \...| 11400 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T 11410 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 OP)\tool\replace 11420 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f .tcl exact "Tcl_ 11430 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 63 72 65 HashEntry *(*cre 11440 61 74 65 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 ateProc)" "Tcl_H 11450 61 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 ashEntry *(SQLIT 11460 45 5f 54 43 4c 41 50 49 20 2a 63 72 65 61 74 65 E_TCLAPI *create 11470 50 72 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c 49 Proc)" >>$(SQLI
11480 54 45 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a 0a  TETCLH).!ENDIF..
11490 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 3a  testfixture.exe:
114a0 09 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53  .$(TESTFIXTURE_S 114b0 52 43 29 20 24 28 54 45 53 54 46 49 58 54 55 52 RC)$(TESTFIXTUR
114c0 45 5f 44 45 50 29 20 24 28 53 51 4c 49 54 45 33  E_DEP) $(SQLITE3 114d0 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 H)$(LIBRESOBJS)
114e0 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45   $(HDR)$(SQLITE
114f0 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 4c  _TCL_DEP)..$(LTL 11500 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f INK) -DSQLITE_NO 11510 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49 _SYNC=1$(TESTFI
11520 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09  XTURE_FLAGS) \..
11530 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20  .-DBUILD_sqlite
11540 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c  -I$(TCLINCDIR) \ 11550 0a 09 09 24 28 54 45 53 54 46 49 58 54 55 52 45 ...$(TESTFIXTURE
11560 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20  _SRC) \.../link
11570 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
11580 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49  INKOPTS) $(TCLLI 11590 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 BPATHS)$(LTLIBP
115a0 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42  ATHS) $(LIBRESOB 115b0 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 JS)$(TCLLIBS) $115c0 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 (LTLIBS)$(TLIBS
115d0 29 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73 74  )..extensiontest
115e0 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  :.testfixture.ex
115f0 65 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c  e testloadext.dl
11600 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  l..@set PATH=$(L 11610 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 IBTCLPATH);$(PAT
11620 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
11630 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes 11640 74 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74 20 24 t\loadext.test$
11650 28 54 45 53 54 4f 50 54 53 29 0a 0a 63 6f 72 65  (TESTOPTS)..core
11660 74 65 73 74 70 72 6f 67 73 3a 09 24 28 54 45 53  testprogs:.$(TES 11670 54 50 52 4f 47 53 29 0a 0a 74 65 73 74 70 72 6f TPROGS)..testpro 11680 67 73 3a 09 63 6f 72 65 74 65 73 74 70 72 6f 67 gs:.coretestprog 11690 73 20 73 72 63 63 6b 31 2e 65 78 65 20 66 75 7a s srcck1.exe fuz 116a0 7a 63 68 65 63 6b 2e 65 78 65 20 73 65 73 73 69 zcheck.exe sessi 116b0 6f 6e 66 75 7a 7a 2e 65 78 65 0a 0a 66 75 6c 6c onfuzz.exe..full 116c0 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 test:.$(TESTPROG
116d0 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65  S) fuzztest..@se
116e0 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP 116f0 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c ATH);$(PATH)...\
11700 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe
11710 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e  $(TOP)\test\all. 11720 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 test$(TESTOPTS)
11730 0a 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28 54 45  ..soaktest:.$(TE 11740 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 STPROGS)..@set P 11750 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 ATH=$(LIBTCLPATH
11760 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes 11770 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 tfixture.exe$(T
11780 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73  OP)\test\all.tes
11790 74 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53 54  t -soak=1 $(TEST 117a0 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 6f OPTS)..fulltesto 117b0 6e 6c 79 3a 09 24 28 54 45 53 54 50 52 4f 47 53 nly:.$(TESTPROGS
117c0 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74  ) fuzztest..@set
117d0 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA 117e0 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 TH);$(PATH)...\t
117f0 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $11800 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c 2e (TOP)\test\full. 11810 74 65 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e 74 test..queryplant 11820 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 est:.testfixture 11830 2e 65 78 65 20 73 68 65 6c 6c 0a 09 40 73 65 74 .exe shell..@set 11840 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 PATH=$(LIBTCLPA
11850 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t 11860 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 estfixture.exe$
11870 28 54 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d 75  (TOP)\test\permu
11880 74 61 74 69 6f 6e 73 2e 74 65 73 74 20 71 75 65  tations.test que
11890 72 79 70 6c 61 6e 6e 65 72 20 24 28 54 45 53 54  ryplanner $(TEST 118a0 4f 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74 3a OPTS)..fuzztest: 118b0 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 .fuzzcheck.exe.. 118c0 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 .\fuzzcheck.exe 118d0 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61 73$(FUZZDATA)..fas
118e0 74 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63  tfuzztest:.fuzzc
118f0 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a  heck.exe...\fuzz
11900 63 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69  check.exe --limi
11910 74 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46 55 5a  t-mem 100M $(FUZ 11920 5a 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 ZDATA)..# Minima 11930 6c 20 74 65 73 74 69 6e 67 20 74 68 61 74 20 72 l testing that r 11940 75 6e 73 20 69 6e 20 6c 65 73 73 20 74 68 61 6e uns in less than 11950 20 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20 61 3 minutes (on a 11960 20 66 61 73 74 20 6d 61 63 68 69 6e 65 29 0a 23 fast machine).# 11970 0a 71 75 69 63 6b 74 65 73 74 3a 09 74 65 73 74 .quicktest:.test 11980 66 69 78 74 75 72 65 2e 65 78 65 20 73 6f 75 72 fixture.exe sour 11990 63 65 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 cetest..@set PAT 119a0 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b H=$(LIBTCLPATH);
119b0 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf 119c0 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 ixture.exe$(TOP
119d0 29 5c 74 65 73 74 5c 65 78 74 72 61 71 75 69 63  )\test\extraquic
119e0 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54  k.test $(TESTOPT 119f0 53 29 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 S)..# This is th 11a00 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 e common case. 11a10 52 75 6e 20 6d 61 6e 79 20 74 65 73 74 73 20 74 Run many tests t 11a20 68 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20 hat do not take 11a30 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c too long,.# incl 11a40 75 64 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c uding fuzzcheck, 11a50 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 sqlite3_analyze 11a60 72 2c 20 61 6e 64 20 73 71 6c 64 69 66 66 20 74 r, and sqldiff t 11a70 65 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 ests..#.test:.$(
11a80 54 45 53 54 50 52 4f 47 53 29 20 73 6f 75 72 63  TESTPROGS) sourc
11a90 65 74 65 73 74 20 66 61 73 74 66 75 7a 7a 74 65  etest fastfuzzte
11aa0 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  st..@set PATH=$( 11ab0 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 LIBTCLPATH);$(PA
11ac0 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
11ad0 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te 11ae0 73 74 5c 76 65 72 79 71 75 69 63 6b 2e 74 65 73 st\veryquick.tes 11af0 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 t$(TESTOPTS)..s
11b00 6d 6f 6b 65 74 65 73 74 3a 09 24 28 54 45 53 54  moketest:.$(TEST 11b10 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 PROGS)..@set PAT 11b20 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b H=$(LIBTCLPATH);
11b30 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf 11b40 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 ixture.exe$(TOP
11b50 29 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73 74  )\test\main.test
11b60 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 71   $(TESTOPTS)..sq 11b70 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 lite3_analyzer.c 11b80 3a 09 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 :.$(SQLITE3C) $( 11b90 53 51 4c 49 54 45 33 48 29 20 24 28 54 4f 50 29 SQLITE3H)$(TOP)
11ba0 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
11bb0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61   $(TOP)\tool\spa 11bc0 63 65 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f 50 ceanal.tcl$(TOP
11bd0 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74  )\tool\mkccode.t
11be0 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  cl $(TOP)\tool\s 11bf0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e qlite3_analyzer. 11c00 63 2e 69 6e 20 24 28 53 51 4c 49 54 45 5f 54 43 c.in$(SQLITE_TC
11c10 4c 5f 44 45 50 29 0a 09 24 28 54 43 4c 53 48 5f  L_DEP)..$(TCLSH_ 11c20 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c CMD)$(TOP)\tool
11c30 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54  \mkccode.tcl $(T 11c40 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 OP)\tool\sqlite3 11c50 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e _analyzer.c.in > 11c60 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61$@..sqlite3_ana
11c70 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 74  lyzer.exe:.sqlit
11c80 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 28  e3_analyzer.c $( 11c90 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c LIBRESOBJS)..$(L
11ca0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN 11cb0 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 ) -DBUILD_sqlite 11cc0 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 -I$(TCLINCDIR)
11cd0 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
11ce0 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c  .c \.../link $(L 11cf0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
11d00 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41  OPTS) $(TCLLIBPA 11d10 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 THS)$(LTLIBPATH
11d20 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  S) $(LIBRESOBJS) 11d30 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54$(TCLLIBS) $(LT 11d40 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a LIBS)$(TLIBS)..
11d50 73 71 6c 74 63 6c 73 68 2e 63 3a 20 73 71 6c 69  sqltclsh.c: sqli
11d60 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 73 72 63  te3.c $(TOP)\src 11d70 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 \tclsqlite.c$(T
11d80 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73  OP)\tool\sqltcls
11d90 68 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 74  h.tcl $(TOP)\ext 11da0 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e \misc\appendvfs. 11db0 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b c$(TOP)\tool\mk
11dc0 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29  ccode.tcl $(TOP) 11dd0 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 \tool\sqltclsh.c 11de0 2e 69 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 .in..$(TCLSH_CMD
11df0 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk 11e00 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 ccode.tcl$(TOP)
11e10 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63  \tool\sqltclsh.c
11e20 2e 69 6e 20 3e 73 71 6c 74 63 6c 73 68 2e 63 0a  .in >sqltclsh.c.
11e30 0a 73 71 6c 74 63 6c 73 68 2e 65 78 65 3a 20 73  .sqltclsh.exe: s
11e40 71 6c 74 63 6c 73 68 2e 63 20 20 24 28 53 48 45  qltclsh.c  $(SHE 11e50 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c LL_CORE_DEP)$(L
11e60 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT 11e70 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
11e80 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20   -DBUILD_sqlite
11e90 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73  -I$(TCLINCDIR) s 11ea0 71 6c 74 63 6c 73 68 2e 63 20 5c 0a 09 09 2f 6c qltclsh.c \.../l 11eb0 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $11ec0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 (LTLINKOPTS)$(T
11ed0 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54  CLLIBPATHS) $(LT 11ee0 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 LIBPATHS)$(LIBR
11ef0 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42  ESOBJS) $(TCLLIB 11f00 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 S)$(LTLIBS) $(T 11f10 4c 49 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f 65 LIBS)..sqlite3_e 11f20 78 70 65 72 74 2e 65 78 65 3a 20 24 28 53 51 4c xpert.exe:$(SQL
11f30 49 54 45 33 43 29 20 24 28 54 4f 50 29 5c 65 78  ITE3C) $(TOP)\ex 11f40 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 t\expert\sqlite3 11f50 65 78 70 65 72 74 2e 68 20 24 28 54 4f 50 29 5c expert.h$(TOP)\
11f60 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74  ext\expert\sqlit
11f70 65 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f 50  e3expert.c $(TOP 11f80 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78 70 )\ext\expert\exp 11f90 65 72 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 ert.c..$(LTLINK)
11fa0 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f   $(NO_WARN).$(TO
11fb0 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71  P)\ext\expert\sq
11fc0 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 24 28  lite3expert.c $( 11fd0 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c TOP)\ext\expert\ 11fe0 65 78 70 65 72 74 2e 63 20 24 28 53 51 4c 49 54 expert.c$(SQLIT
11ff0 45 33 43 29 20 24 28 54 4c 49 42 53 29 0a 0a 43  E3C) $(TLIBS)..C 12000 48 45 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a 20 HECKER_DEPS =\. 12010 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 63$(TOP)/tool/mkc
12020 63 6f 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71 6c  code.tcl \.  sql
12030 69 74 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ite3.c \.  $(TOP 12040 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e )/src/tclsqlite. 12050 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 c \.$(TOP)/ext
12060 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33 5f  /repair/sqlite3_
12070 63 68 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20 20  checker.tcl \.
12080 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69  $(TOP)/ext/repai 12090 72 2f 63 68 65 63 6b 69 6e 64 65 78 2e 63 20 5c r/checkindex.c \ 120a0 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 .$(TOP)/ext/re
120b0 70 61 69 72 2f 63 68 65 63 6b 66 72 65 65 6c 69  pair/checkfreeli
120c0 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  st.c \.  $(TOP)/ 120d0 65 78 74 2f 6d 69 73 63 2f 62 74 72 65 65 69 6e ext/misc/btreein 120e0 66 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f fo.c \.$(TOP)/
120f0 65 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74  ext/repair/sqlit
12100 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 0a  e3_checker.c.in.
12110 0a 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72  .sqlite3_checker
12120 2e 63 3a 09 24 28 43 48 45 43 4b 45 52 5f 44 45  .c:.$(CHECKER_DE 12130 50 53 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 PS)..$(TCLSH_CMD
12140 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk 12150 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 ccode.tcl$(TOP)
12160 5c 65 78 74 5c 72 65 70 61 69 72 5c 73 71 6c 69  \ext\repair\sqli
12170 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e  te3_checker.c.in
12180 20 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 63   > $@..sqlite3_c 12190 68 65 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c 69 hecker.exe:.sqli 121a0 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 24 28 te3_checker.c$(
121b0 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c  LIBRESOBJS)..$(L 121c0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
121d0 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  ) -DBUILD_sqlite
121e0 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 121f0 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e sqlite3_checker. 12200 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 c \.../link$(LD
12210 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 12220 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 PTS)$(TCLLIBPAT
12230 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  HS) $(LTLIBPATHS 12240 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 )$(LIBRESOBJS)
12250 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c  $(TCLLIBS)$(LTL
12260 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 64  IBS) $(TLIBS)..d 12270 62 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f 50 bdump.exe:.$(TOP
12280 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d  )\ext\misc\dbdum
12290 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  p.c $(SQLITE3C) 122a0 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49$(SQLITE3H) $(LI 122b0 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c BRESOBJS)..$(LTL
122c0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 122d0 2d 44 44 42 44 55 4d 50 5f 53 54 41 4e 44 41 4c -DDBDUMP_STANDAL 122e0 4f 4e 45 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d ONE$(TOP)\ext\m
122f0 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53  isc\dbdump.c $(S 12300 51 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c 69 QLITE3C) \.../li 12310 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( 12320 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 LTLINKOPTS)$(LT
12330 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR 12340 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 ESOBJS)$(LTLIBS
12350 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c  )..testloadext.l
12360 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  o:.$(TOP)\src\te 12370 73 74 5f 6c 6f 61 64 65 78 74 2e 63 20 24 28 53 st_loadext.c$(S
12380 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 43 4f  QLITE3H)..$(LTCO 12390 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e MPILE)$(NO_WARN
123a0 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ 123b0 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a test_loadext.c.. 123c0 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a testloadext.dll: 123d0 09 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a .testloadext.lo. 123e0 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 .$(LD) $(LDFLAGS 123f0 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 )$(LTLINKOPTS)
12400 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44  $(LTLIBPATHS) /D 12410 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c LL /OUT:$@ testl
12420 6f 61 64 65 78 74 2e 6c 6f 0a 0a 64 62 74 6f 74  oadext.lo..dbtot
12430 78 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  xt.exe:.$(TOP)\t 12440 6f 6f 6c 5c 64 62 74 6f 74 78 74 2e 63 0a 09 24 ool\dbtotxt.c..$
12450 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 12460 52 4e 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c RN).$(TOP)\tool\
12470 64 62 74 6f 74 78 74 2e 63 20 2f 6c 69 6e 6b 20  dbtotxt.c /link
12480 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
12490 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 64 62  INKOPTS)..showdb
124a0 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too 124b0 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c l\showdb.c$(SQL
124c0 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 124d0 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( 124e0 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT 124f0 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d E_THREADSAFE=0 - 12500 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 DSQLITE_OMIT_LOA 12510 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 D_EXTENSION \... 12520 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77$(TOP)\tool\show
12530 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  db.c $(SQLITE3C) 12540 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 /link$(LDFLAGS
12550 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS). 12560 0a 73 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09 .showstat4.exe:. 12570 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77$(TOP)\tool\show
12580 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45  stat4.c $(SQLITE 12590 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
125a0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
125b0 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
125c0 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
125d0 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
125e0 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54  XTENSION \...$(T 125f0 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 OP)\tool\showsta 12600 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 t4.c$(SQLITE3C)
12610 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS 12620 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
12630 0a 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65  .showjournal.exe
12640 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh 12650 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 owjournal.c$(SQ
12660 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE 12670 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 3H)..$(LTLINK) $12680 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI 12690 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 TE_THREADSAFE=0 126a0 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f -DSQLITE_OMIT_LO 126b0 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 AD_EXTENSION \.. 126c0 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f .$(TOP)\tool\sho
126d0 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c  wjournal.c $(SQL 126e0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
126f0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK 12700 4f 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 OPTS)..showwal.e 12710 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c xe:.$(TOP)\tool\
12720 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49  showwal.c $(SQLI 12730 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
12740 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
12750 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12760 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12770 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12780 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$12790 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 (TOP)\tool\showw 127a0 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 al.c$(SQLITE3C)
127b0 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS 127c0 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
127d0 0a 73 68 6f 77 73 68 6d 2e 65 78 65 3a 09 24 28  .showshm.exe:.$( 127e0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 TOP)\tool\showsh 127f0 6d 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 m.c..$(LTLINK) $12800 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29 (NO_WARN).$(TOP)
12810 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 20  \tool\showshm.c
12820 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 12830 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
12840 69 6e 64 65 78 5f 75 73 61 67 65 2e 65 78 65 3a  index_usage.exe:
12850 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64   $(TOP)\tool\ind 12860 65 78 5f 75 73 61 67 65 2e 63 20 24 28 53 51 4c ex_usage.c$(SQL
12870 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 12880 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( 12890 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT 128a0 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d E_THREADSAFE=0 - 128b0 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 DSQLITE_OMIT_LOA 128c0 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 D_EXTENSION \... 128d0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 69 6e 64 65$(TOP)\tool\inde
128e0 78 5f 75 73 61 67 65 2e 63 20 24 28 53 51 4c 49  x_usage.c $(SQLI 128f0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 TE3C) /link$(LD
12900 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 12910 50 54 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e PTS)..changeset. 12920 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c exe:.$(TOP)\ext\
12930 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
12940 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 12950 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 12960 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
12970 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
12980 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
12990 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
129a0 53 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54  SION \...-DSQLIT
129b0 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e  E_ENABLE_SESSION
129c0 3d 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  =1 -DSQLITE_ENAB
129d0 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f  LE_PREUPDATE_HOO
129e0 4b 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  K=1 \...$(TOP)\e 129f0 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 xt\session\chang 12a00 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 eset.c$(SQLITE3
12a10 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA 12a20 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
12a30 29 0a 0a 63 68 61 6e 67 65 73 65 74 66 75 7a 7a  )..changesetfuzz
12a40 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74  .exe:.$(TOP)\ext 12a50 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 \session\changes 12a60 65 74 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 etfuzz.c$(SQLIT
12a70 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) 12a80 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO 12a90 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ 12aa0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 THREADSAFE=0 -DS 12ab0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f QLITE_OMIT_LOAD_ 12ac0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44 EXTENSION \...-D 12ad0 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 SQLITE_ENABLE_SE 12ae0 53 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 SSION=1 -DSQLITE 12af0 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 _ENABLE_PREUPDAT 12b00 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54 E_HOOK=1 \...$(T
12b10 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
12b20 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 63 20  changesetfuzz.c
12b30 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin 12b40 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L 12b50 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33 TLINKOPTS)..fts3 12b60 76 69 65 77 2e 65 78 65 3a 09 24 28 54 4f 50 29 view.exe:.$(TOP)
12b70 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66  \ext\fts3\tool\f
12b80 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49  ts3view.c $(SQLI 12b90 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
12ba0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
12bb0 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12bc0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12bd0 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12be0 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$12bf0 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 (TOP)\ext\fts3\t 12c00 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 ool\fts3view.c$
12c10 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
12c20 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
12c30 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62  LINKOPTS)..rollb
12c40 61 63 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28  ack-test.exe:.$( 12c50 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 TOP)\tool\rollba 12c60 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 ck-test.c$(SQLI
12c70 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H 12c80 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N 12c90 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE 12ca0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 _THREADSAFE=0 -D 12cb0 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 SQLITE_OMIT_LOAD 12cc0 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 _EXTENSION \...$
12cd0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62  (TOP)\tool\rollb
12ce0 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c  ack-test.c $(SQL 12cf0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
12d00 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK 12d10 4f 50 54 53 29 0a 0a 61 74 72 63 2e 65 78 65 3a OPTS)..atrc.exe: 12d20 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72 .$(TOP)\test\atr
12d30 63 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  c.c $(SQLITE3C) 12d40 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 12d50 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
12d60 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
12d70 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
12d80 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
12d90 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\ 12da0 74 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51 test\atrc.c$(SQ
12db0 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 12dc0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
12dd0 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65  KOPTS)..LogEst.e
12de0 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\ 12df0 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54 logest.c$(SQLIT
12e00 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 12e10 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50$(NO_WARN) $(TOP 12e20 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 )\tool\LogEst.c 12e30 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
12e40 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS).. 12e50 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a 09 24 wordcount.exe:.$
12e60 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63  (TOP)\test\wordc
12e70 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33  ount.c $(SQLITE3 12e80 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
12e90 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
12ea0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
12eb0 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
12ec0 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
12ed0 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO 12ee0 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e P)\test\wordcoun 12ef0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 t.c$(SQLITE3C)
12f00 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 12f10 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
12f20 73 70 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09  speedtest1.exe:.
12f30 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65  $(TOP)\test\spee 12f40 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 dtest1.c$(SQLIT
12f50 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) 12f60 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO 12f70 5f 57 41 52 4e 29 20 24 28 53 54 5f 43 4f 4d 50 _WARN)$(ST_COMP
12f80 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ILE_OPTS) -DSQLI
12f90 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
12fa0 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP 12fb0 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 )\test\speedtest 12fc0 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 1.c$(SQLITE3C)
12fd0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 12fe0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
12ff0 6b 76 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f  kvtest.exe:.$(TO 13000 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 P)\test\kvtest.c 13010 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S 13020 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
13030 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN)$
13040 28 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  (KV_COMPILE_OPTS
13050 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73  ) \...$(TOP)\tes 13060 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c t\kvtest.c$(SQL
13070 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L 13080 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
13090 4f 50 54 53 29 0a 0a 72 62 75 2e 65 78 65 3a 09  OPTS)..rbu.exe:.
130a0 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72  $(TOP)\ext\rbu\r 130b0 62 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c bu.c$(TOP)\ext\
130c0 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
130d0 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
130e0 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI 130f0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
13100 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52  DSQLITE_ENABLE_R
13110 42 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  BU \...$(TOP)\ex 13120 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 t\rbu\rbu.c$(SQ
13130 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 13140 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
13150 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24  KOPTS)..LSMDIR=$13160 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21 (TOP)\ext\lsm1.! 13170 49 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52 INCLUDE$(LSMDIR
13180 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a  )\Makefile.msc..
13190 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e  moreclean:.clean
131a0 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54  ..del /Q $(SQLIT 131b0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
131c0 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b   2>NUL.# <</mark
131d0 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20  >>..clean:..del
131e0 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e  /Q *.exp *.lo *.
131f0 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20  ilk *.lib *.obj
13200 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64  *.ncb *.pdb *.sd
13210 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64  f *.suo 2>NUL..d
13220 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65  el /Q *.bsc *.de
13230 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62  f *.cod *.da *.b
13240 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f  b *.bbg *.vc gmo
13250 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c  n.out 2>NUL..del
13260 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45 58 45   /Q $(SQLITE3EXE 13270 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20 )$(SQLITE3DLL)
13280 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55  Replace.exe 2>NU
13290 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65  L.# <<mark>>..de
132a0 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33 54 43  l /Q $(SQLITE3TC 132b0 4c 44 4c 4c 29 20 70 6b 67 49 6e 64 65 78 2e 74 LDLL) pkgIndex.t 132c0 63 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 cl 2>NUL..del /Q 132d0 20 6f 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 opcodes.c opcod 132e0 65 73 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 es.h 2>NUL..del 132f0 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 /Q lemon.* lempa 13300 72 2e 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 r.c parse.* 2>NU 13310 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b 73 6f 75 72 L..del /Q mksour 13320 63 65 69 64 2e 2a 20 6d 6b 6b 65 79 77 6f 72 64 ceid.* mkkeyword 13330 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68 61 hash.* keywordha 13340 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 sh.h 2>NUL..del 13350 2f 51 20 6e 6f 74 61 73 68 61 72 65 64 6c 69 62 /Q notasharedlib 13360 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 .* 2>NUL..-rmdir 13370 20 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e 55 /Q/S .deps 2>NU 13380 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e L..-rmdir /Q/S . 13390 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 libs 2>NUL..-rmd 133a0 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e ir /Q/S tsrc 2>N 133b0 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61 72 67 UL..del /Q .targ 133c0 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55 4c 0a et_source 2>NUL. 133d0 09 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c 69 74 .del /Q tclsqlit 133e0 65 33 2e 65 78 65 20 24 28 53 51 4c 49 54 45 54 e3.exe$(SQLITET
133f0 43 4c 48 29 20 24 28 53 51 4c 49 54 45 54 43 4c  CLH) \$(SQLITETCL
13400 44 45 43 4c 53 48 29 20 32 3e 4e 55 4c 0a 09 64  DECLSH) 2>NUL..d
13410 65 6c 20 2f 51 20 6c 73 6d 2e 64 6c 6c 20 6c 73  el /Q lsm.dll ls
13420 6d 74 65 73 74 2e 65 78 65 20 32 3e 4e 55 4c 0a  mtest.exe 2>NUL.
13430 09 64 65 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64  .del /Q testload
13440 65 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64  ext.dll 2>NUL..d
13450 65 6c 20 2f 51 20 74 65 73 74 66 69 78 74 75 72  el /Q testfixtur
13460 65 2e 65 78 65 20 74 65 73 74 2e 64 62 20 32 3e  e.exe test.db 2>
13470 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45  NUL..del /Q LogE
13480 73 74 2e 65 78 65 20 66 74 73 33 76 69 65 77 2e  st.exe fts3view.
13490 65 78 65 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  exe rollback-tes
134a0 74 2e 65 78 65 20 73 68 6f 77 64 62 2e 65 78 65  t.exe showdb.exe
134b0 20 64 62 64 75 6d 70 2e 65 78 65 20 32 3e 4e 55   dbdump.exe 2>NU
134c0 4c 0a 09 64 65 6c 20 2f 51 20 63 68 61 6e 67 65  L..del /Q change
134d0 73 65 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  set.exe 2>NUL..d
134e0 65 6c 20 2f 51 20 73 68 6f 77 6a 6f 75 72 6e 61  el /Q showjourna
134f0 6c 2e 65 78 65 20 73 68 6f 77 73 74 61 74 34 2e  l.exe showstat4.
13500 65 78 65 20 73 68 6f 77 77 61 6c 2e 65 78 65 20  exe showwal.exe
13510 73 70 65 65 64 74 65 73 74 31 2e 65 78 65 20 32  speedtest1.exe 2
13520 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 70 74  >NUL..del /Q mpt
13530 65 73 74 65 72 2e 65 78 65 20 77 6f 72 64 63 6f  ester.exe wordco
13540 75 6e 74 2e 65 78 65 20 72 62 75 2e 65 78 65 20  unt.exe rbu.exe
13550 73 72 63 63 6b 31 2e 65 78 65 20 32 3e 4e 55 4c  srcck1.exe 2>NUL
13560 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33  ..del /Q sqlite3
13570 2e 63 20 73 71 6c 69 74 65 33 2d 2a 2e 63 20 73  .c sqlite3-*.c s
13580 71 6c 69 74 65 33 2e 68 20 32 3e 4e 55 4c 0a 09  qlite3.h 2>NUL..
13590 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 72 63  del /Q sqlite3rc
135a0 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
135b0 20 73 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33   shell.c sqlite3
135c0 65 78 74 2e 68 20 73 71 6c 69 74 65 33 73 65 73  ext.h sqlite3ses
135d0 73 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a 09 64 65  sion.h 2>NUL..de
135e0 6c 20 2f 51 20 73 71 6c 69 74 65 33 5f 61 6e 61  l /Q sqlite3_ana
135f0 6c 79 7a 65 72 2e 65 78 65 20 73 71 6c 69 74 65  lyzer.exe sqlite
13600 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e  3_analyzer.c 2>N
13610 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74  UL..del /Q sqlit
13620 65 2d 2a 2d 6f 75 74 70 75 74 2e 76 73 69 78 20  e-*-output.vsix
13630 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75  2>NUL..del /Q fu
13640 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 20 66 75  zzershell.exe fu
13650 7a 7a 63 68 65 63 6b 2e 65 78 65 20 73 71 6c 64  zzcheck.exe sqld
13660 69 66 66 2e 65 78 65 20 64 62 68 61 73 68 2e 65  iff.exe dbhash.e
13670 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
13680 20 73 71 6c 74 63 6c 73 68 2e 2a 20 32 3e 4e 55   sqltclsh.* 2>NU
13690 4c 0a 09 64 65 6c 20 2f 51 20 64 62 66 75 7a 7a  L..del /Q dbfuzz
136a0 2e 65 78 65 20 73 65 73 73 69 6f 6e 66 75 7a 7a  .exe sessionfuzz
136b0 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del
136c0 2f 51 20 6b 76 74 65 73 74 2e 65 78 65 20 6f 73  /Q kvtest.exe os
136d0 73 73 68 65 6c 6c 2e 65 78 65 20 73 63 72 75 62  sshell.exe scrub
136e0 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del
136f0 2f 51 20 73 68 6f 77 73 68 6d 2e 65 78 65 20 73  /Q showshm.exe s
13700 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 2a  qlite3_checker.*
13710 20 73 71 6c 69 74 65 33 5f 65 78 70 65 72 74 2e   sqlite3_expert.
13720 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
13730 51 20 66 74 73 35 2e 2a 20 66 74 73 35 70 61 72  Q fts5.* fts5par
13740 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  se.* 2>NUL..del
13750 2f 51 20 6c 73 6d 2e 68 20 6c 73 6d 31 2e 63 20  /Q lsm.h lsm1.c
13760 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  2>NUL.# <</mark>
13770 3e 0a                                            >.