/ Hex Artifact Content

## Artifact 688fb6375f78dc41f3a4a67201e4d5ef62ef556faa776c7cbe2c50a887d1fa5d:

• File Makefile.msc — part of check-in [00cc26e3] at 2018-01-06 14:44:29 on branch trunk — Remove a trailing tab from the Makefile for MSVC. (user: mistachkin size: 75260)

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 65 73 h.!ENDIF..# Thes 1d90: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69 e are the additi 1da0: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 onal targets tha 1db0: 74 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68 t the targets th 1dc0: 61 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74 at integrate wit 1dd0: 68 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72 h the.# Tcl libr 1de0: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e ary should depen 1df0: 64 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c d on when compil 1e00: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e ing, etc..#.!IFN 1e10: 44 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44 DEF SQLITE_TCL_D 1e20: 45 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 EP.!IF$(USE_STD
1e30: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO 1e40: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 R_WIN10)!=0.SQLI 1e50: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53 TE_TCL_DEP =$(S
1e60: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH)
1e70: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E 1e80: 4c 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 LSE.SQLITE_TCL_D 1e90: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 EP =.!ENDIF.!END 1ea0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a IF.# <</mark>>.. 1eb0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 # These are the 1ec0: 22 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74 "standard" SQLit 1ed0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 e compilation op 1ee0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 tions used when 1ef0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 compiling for.# 1f00: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 the Windows plat 1f10: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 form..#.!IFNDEF 1f20: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG 1f30: 53 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f S.!IF$(MINIMAL_
1f40: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
1f50: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1f60: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU 1f70: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI 1f80: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31 TE_ENABLE_FTS3=1 1f90: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 .OPT_FEATURE_FLA 1fa0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 GS =$(OPT_FEATU
1fb0: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1fc0: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d  TE_ENABLE_RTREE=
1fd0: 31 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41  1.!ENDIF.OPT_FEA
1fe0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O 1ff0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 PT_FEATURE_FLAGS 2000: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ) -DSQLITE_ENABL 2010: 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 E_COLUMN_METADAT 2020: 41 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 A=1.!ENDIF..# Sh 2030: 6f 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e ould the session 2040: 20 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e extension be en 2050: 61 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61 abled? If so, a 2060: 64 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f dd compilation o 2070: 70 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62 ptions.# to enab 2080: 6c 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53 le it..#.!IF$(S
2090: 45 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46  ESSION)!=0.OPT_F
20a0: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $20b0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (OPT_FEATURE_FLA 20c0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 GS) -DSQLITE_ENA 20d0: 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50 BLE_SESSION=1.OP 20e0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 T_FEATURE_FLAGS 20f0: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f =$(OPT_FEATURE_
2100: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
2110: 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
2120: 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a  _HOOK=1.!ENDIF..
2130: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the
2140: 22 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74  "extended" SQLit
2150: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
2160: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when
2170: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.#
2180: 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70  the Windows 10 p
2190: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44  latform..#.!IFND
21a0: 45 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46  EF EXT_FEATURE_F
21b0: 4c 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57  LAGS.!IF $(FOR_W 21c0: 49 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41 IN10)!=0.EXT_FEA 21d0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 TURE_FLAGS =$(E
21e0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
21f0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
2200: 45 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41  E_FTS4=1.EXT_FEA
2210: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E 2220: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 XT_FEATURE_FLAGS 2230: 29 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45 ) -DSQLITE_SYSTE 2240: 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 M_MALLOC=1.EXT_F 2250: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 EATURE_FLAGS =$
2260: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
2270: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  GS) -DSQLITE_OMI
2280: 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45  T_LOCALTIME=1.!E
2290: 4c 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  LSE.EXT_FEATURE_
22a0: 46 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  FLAGS =.!ENDIF.!
22b0: 45 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23  ENDIF..#########
22c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2300: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2320: 23 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50  ###### END OF OP
2330: 54 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23  TIONS ##########
2340: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2350: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2370: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2390: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
23a0: 23 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63  ######..# When c
23b0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65  ompiling for the
23c0: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
23d0: 66 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f  form, the PLATFO
23e0: 52 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65  RM macro must be
23f0: 20 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70   set.# to an app
2400: 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28  ropriate value (
2410: 65 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61  e.g. x86, x64, a
2420: 72 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e  rm, arm64, etc).
2430: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN 2440: 31 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50 10)!=0.!IFNDEF P 2450: 4c 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55 LATFORM.!ERROR U 2460: 73 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e sing the FOR_WIN 2470: 31 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 10 option requir 2480: 65 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50 es a value for P 2490: 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a LATFORM..!ENDIF. 24a0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61 !ENDIF..# This a 24b0: 73 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43 ssumes that MSVC 24c0: 20 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61 is always insta 24d0: 6c 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50 lled in 32-bit P 24e0: 72 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72 rogram Files dir 24f0: 65 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74 ectory.# and set 2500: 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66 s the variable f 2510: 6f 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69 or use in locati 2520: 6e 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20 ng other 32-bit 2530: 69 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69 installs accordi 2540: 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 ngly..#.PROGRAMF 2550: 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49 ILES_X86 =$(VCI
2560: 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e  NSTALLDIR)\..\..
2570: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  .PROGRAMFILES_X8
2580: 36 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  6 = $(PROGRAMFIL 2590: 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 ES_X86:\\=\)..# 25a0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 Check for the pr 25b0: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 edefined command 25c0: 20 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73 macro CC. This 25d0: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f should point to 25e0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20 the compiler.# 25f0: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74 binary for the t 2600: 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 arget platform. 2610: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 If it is not de 2620: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 fined, simply de 2630: 66 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65 fine it to.# the 2640: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 legacy default 2650: 76 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a value 'cl.exe'.. 2660: 23 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20 #.!IFNDEF CC.CC 2670: 3d 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a = cl.exe.!ENDIF. 2680: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 .# Check for the 2690: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d predefined comm 26a0: 61 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20 and macro CSC. 26b0: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e This should poin 26c0: 74 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23 t to a working.# 26d0: 20 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65 C Sharp compile 26e0: 72 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74 r binary. If it 26f0: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c is not defined, 2700: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 simply define i 2710: 74 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63 t to the.# legac 2720: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 y default value 2730: 27 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 'csc.exe'..#.!IF 2740: 4e 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63 NDEF CSC.CSC = c 2750: 73 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 sc.exe.!ENDIF..# 2760: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 Check for the c 2770: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e ommand macro LD. 2780: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f This should po 2790: 69 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 int to the linke 27a0: 72 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 r binary for.# t 27b0: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f he target platfo 27c0: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f rm. If it is no 27d0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c t defined, simpl 27e0: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 y define it to t 27f0: 68 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61 he legacy.# defa 2800: 75 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e ult value 'link. 2810: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 exe'..#.!IFNDEF 2820: 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 LD.LD = link.exe 2830: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b .!ENDIF..# Check 2840: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 for the predefi 2850: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 ned command macr 2860: 6f 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75 o RC. This shou 2870: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 ld point to the 2880: 72 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 resource.# compi 2890: 6c 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 ler binary for t 28a0: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f he target platfo 28b0: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f rm. If it is no 28c0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c t defined, simpl 28d0: 79 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f y define.# it to 28e0: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61 the legacy defa 28f0: 75 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78 ult value 'rc.ex 2900: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 e'..#.!IFNDEF RC 2910: 0a 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e .RC = rc.exe.!EN 2920: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 DIF..# Check for 2930: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d the MSVC runtim 2940: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d e library path m 2950: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 acro. Otherwise 2960: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c , this value wil 2970: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 l.# default to t 2980: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f he 'lib' directo 2990: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 ry underneath th 29a0: 65 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 e MSVC installat 29b0: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 ion directory..# 29c0: 0a 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50 .!IFNDEF CRTLIBP 29d0: 41 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d ATH.CRTLIBPATH = 29e0: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29$(VCINSTALLDIR)
29f0: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54  \lib.!ENDIF..CRT
2a00: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL 2a10: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 IBPATH:\\=\)..# 2a20: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f Check for the co 2a30: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e mmand macro NCC. 2a40: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f This should po 2a50: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 int to the compi 2a60: 6c 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 ler binary.# for 2a70: 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 the platform th 2a80: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 e compilation pr 2a90: 6f 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 ocess is taking 2aa0: 70 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 place on. If it 2ab0: 20 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 is not.# define 2ac0: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 d, simply define 2ad0: 20 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20 it to have the 2ae0: 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68 same value as th 2af0: 65 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 e CC macro. Whe 2b00: 6e 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c n.# cross-compil 2b10: 69 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65 ing, it is sugge 2b20: 73 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d sted that this m 2b30: 61 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 acro be modified 2b40: 20 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 via the command 2b50: 0a 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e .# line (since n 2b60: 6d 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73 make itself does 2b70: 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62 not provide a b 2b80: 75 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 uilt-in method t 2b90: 6f 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46 o guess it)..# F 2ba0: 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 or example, to u 2bb0: 73 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69 se the x86 compi 2bc0: 6c 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 ler when cross-c 2bd0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 ompiling for x64 2be0: 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 , a command.# li 2bf0: 6e 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 ne similar to th 2c00: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c e following coul 2c10: 64 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f d be used (all o 2c20: 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 n one line):.#.# 2c30: 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 nmake /f Ma 2c40: 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 kefile.msc sqlit 2c50: 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 e3.dll.# 2c60: 20 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 XCOMPILE=1 US 2c70: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 E_NATIVE_LIBPATH 2c80: 53 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 S=1.#.# Alternat 2c90: 69 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 ively, the full 2ca0: 70 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 path and file na 2cb0: 6d 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c me to the compil 2cc0: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 er binary for th 2cd0: 65 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 e.# platform the 2ce0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f compilation pro 2cf0: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 cess is taking p 2d00: 6c 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63 lace may be spec 2d10: 69 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 ified (all on.# 2d20: 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 one line):.#.# 2d30: 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 nmake /f Make 2d40: 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 file.msc sqlite3 2d50: 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 .dll.# 2d60: 20 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41 "NCC=""%VCINSTA 2d70: 4c 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 LLDIR%\bin\cl.ex 2d80: 65 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20 e""".# 2d90: 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 USE_NATIVE_LIBP 2da0: 41 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 ATHS=1.#.!IFDEF 2db0: 4e 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a NCC.NCC =$(NCC:
2dc0: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28  \\=\).!ELSEIF $( 2dd0: 58 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 XCOMPILE)!=0.NCC 2de0: 20 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 = "$(VCINSTALLD
2df0: 49 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e  IR)\bin\$(CC)".N 2e00: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 CC =$(NCC:\\=\)
2e10: 0a 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43  .!ELSE.NCC = $(C 2e20: 43 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 C).!ENDIF..# Che 2e30: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 ck for the MSVC 2e40: 6e 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c native runtime l 2e50: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 ibrary path macr 2e60: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 o. Otherwise,.# 2e70: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c this value will 2e80: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 default to the 2e90: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 'lib' directory 2ea0: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d underneath the M 2eb0: 53 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 SVC.# installati 2ec0: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a on directory..#. 2ed0: 21 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 !IFNDEF NCRTLIBP 2ee0: 41 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 ATH.NCRTLIBPATH 2ef0: 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 =$(VCINSTALLDIR
2f00: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43  )\lib.!ENDIF..NC
2f10: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43  RTLIBPATH = $(NC 2f20: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a RTLIBPATH:\\=\). 2f30: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 .# Check for the 2f40: 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 Platform SDK li 2f50: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f brary path macro 2f60: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 . Otherwise, th 2f70: 69 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 is.# value will 2f80: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 default to the ' 2f90: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 lib' directory u 2fa0: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 nderneath the Wi 2fb0: 6e 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 ndows.# SDK inst 2fc0: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f allation directo 2fd0: 72 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d ry (the environm 2fe0: 65 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65 ent variable use 2ff0: 64 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62 d appears.# to b 3000: 65 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e e available when 3010: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b using Visual C+ 3020: 2b 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20 + 2008 or later 3030: 76 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e via the.# comman 3040: 64 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 d line)..#.!IFND 3050: 45 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e EF NSDKLIBPATH.N 3060: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57 SDKLIBPATH =$(W
3070: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
3080: 62 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49  b.!ENDIF..NSDKLI
3090: 42 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49  BPATH = $(NSDKLI 30a0: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 BPATH:\\=\)..# C 30b0: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52 heck for the UCR 30c0: 54 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d T library path m 30d0: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 acro. Otherwise 30e0: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c , this value wil 30f0: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 l.# default to t 3100: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 he version-speci 3110: 66 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 fic, platform-sp 3120: 65 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72 ecific 'lib' dir 3130: 65 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 ectory.# underne 3140: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20 ath the Windows 3150: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e SDK installation 3160: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 directory..#.!I 3170: 46 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54 FNDEF UCRTLIBPAT 3180: 48 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 H.UCRTLIBPATH = 3190: 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29$(WINDOWSSDKDIR)
31a0: 5c 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44  \lib\$(WINDOWSSD 31b0: 4b 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 KLIBVERSION)\ucr 31c0: 74 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 t\$(PLATFORM).!E
31d0: 4e 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54  NDIF..UCRTLIBPAT
31e0: 48 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54  H = $(UCRTLIBPAT 31f0: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d H:\\=\)..# C com 3200: 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e piler and option 3210: 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 s for use in bui 3220: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 lding executable 3230: 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 s that.# will ru 3240: 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 n on the platfor 3250: 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20 m that is doing 3260: 74 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 the build..#.!IF 3270: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29$(USE_FULLWARN)
3280: 21 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29  !=0.BCC = $(NCC) 3290: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43 -nologo -W4$(C
32a0: 43 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53  COPTS) $(BCCOPTS 32b0: 29 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28 ).!ELSE.BCC =$(
32c0: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33  NCC) -nologo -W3
32d0: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS)$(BCC
32e0: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..#
32f0: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
3300: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings
3310: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
3320: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
3330: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files
3340: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
3350: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST 3360: 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24 INGS)!=0.BCC =$
3370: 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (BCC) -FAcs.!END
3380: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74  IF..# Check if t
3390: 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72  he native librar
33a0: 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62  y paths should b
33b0: 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70  e used when comp
33c0: 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d  iling.# the comm
33d0: 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75  and line tools u
33e0: 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63  sed during the c
33f0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
3400: 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65  ss.  If.# so, se
3410: 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  t the necessary
3420: 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46  macro now..#.!IF
3430: 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49   $(USE_NATIVE_LI 3440: 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49 BPATHS)!=0.NLTLI 3450: 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41 BPATHS = "/LIBPA 3460: 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48 TH:$(NCRTLIBPATH
3470: 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  )" "/LIBPATH:$(N 3480: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49 SDKLIBPATH)"..!I 3490: 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54 FDEF NUCRTLIBPAT 34a0: 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d H.NUCRTLIBPATH = 34b0: 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a$(NUCRTLIBPATH:
34c0: 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48  \\=\).NLTLIBPATH
34d0: 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  S = $(NLTLIBPATH 34e0: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e S) "/LIBPATH:$(N
34f0: 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45  UCRTLIBPATH)".!E
3500: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43  NDIF.!ENDIF..# C
3510: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
3520: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
3530: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
3540: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
3550: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72  l run on the tar
3560: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28  get platform.  (
3570: 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20  BCC and TCC are
3580: 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61  usually the.# sa
3590: 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61  me unless your a
35a0: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
35b0: 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45  ng.).#.!IF $(USE 35c0: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43 _FULLWARN)!=0.TC 35d0: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 C =$(CC) -nolog
35e0: 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f  o -W4 -DINCLUDE_
35f0: 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54  MSVC_H=1 $(CCOPT 3600: 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45 S)$(TCCOPTS).!E
3610: 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20  LSE.TCC = $(CC) 3620: 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 -nologo -W3$(CC
3630: 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29  OPTS) $(TCCOPTS) 3640: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b .!ENDIF..# Check 3650: 20 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f if warnings sho 3660: 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 uld be treated a 3670: 73 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f s errors when co 3680: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24 mpiling..#.!IF$
3690: 28 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29  (USE_FATAL_WARN)
36a0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC) 36b0: 20 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43 -WX.!ENDIF..TCC 36c0: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 =$(TCC) -DSQLI
36d0: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20  TE_OS_WIN=1 -I.
36e0: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50  -I$(TOP) -I$(TOP
36f0: 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73  )\src -fp:precis
3700: 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44  e.RCC = $(RC) -D 3710: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 SQLITE_OS_WIN=1 3720: 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 -I. -I$(TOP) -I$3730: 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50 (TOP)\src$(RCOP
3740: 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a  TS) $(RCCOPTS).. 3750: 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61 # Check if we wa 3760: 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73 nt to use the "s 3770: 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 tdcall" calling 3780: 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20 convention when 3790: 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69 compiling..# Thi 37a0: 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 s is not support 37b0: 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c ed by the compil 37c0: 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 ers for non-x86 37d0: 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73 platforms. It s 37e0: 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20 hould.# also be 37f0: 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20 noted here that 3800: 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72 building any tar 3810: 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22 get with these " 3820: 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 stdcall" options 3830: 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b .# will most lik 3840: 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20 ely fail if the 3850: 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61 Tcl library is a 3860: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54 lso required. T 3870: 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20 his is due.# to 3880: 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72 how the Tcl libr 3890: 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 ary functions ar 38a0: 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65 e declared and e 38b0: 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69 xported (i.e. wi 38c0: 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69 thout.# an expli 38d0: 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 cit calling conv 38e0: 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65 ention, which re 38f0: 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22 sults in "cdecl" 3900: 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 )..#.!IF$(USE_S
3910: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $( 3920: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 FOR_WIN10)!=0.!I 3930: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d F "$(PLATFORM)"=
3940: 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e  ="x86".CORE_CCON
3950: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
3960: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
3970: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
3980: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3990: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
39a0: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
39b0: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
39c0: 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56  call.SHELL_CCONV
39d0: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
39e0: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
39f0: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3a00: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3a10: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
3a20: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3a30: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
3a40: 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54  all.# <<mark>>.T
3a50: 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  EST_CCONV_OPTS =
3a60: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3a70: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3a80: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3a90: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3aa0: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3ab0: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3ac0: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49  PI=__stdcall -DI
3ad0: 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43  NCLUDE_SQLITE_TC
3ae0: 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54  L_H=1 -DSQLITE_T
3af0: 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20  CLAPI=__cdecl.#
3b00: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a  <</mark>>.!ELSE.
3b10: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d  !IFNDEF PLATFORM
3b20: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3b30: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
3b40: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
3b50: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
3b60: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3b70: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
3b80: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3b90: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53  SAPI=__stdcall.S
3ba0: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS
3bb0: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3bc0: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3bd0: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3be0: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3bf0: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3c00: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3c10: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20  API=__stdcall.#
3c20: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3c30: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3c40: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3c50: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
3c60: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
3c70: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
3c80: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
3c90: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3ca0: 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45  tdcall -DINCLUDE
3cb0: 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20  _SQLITE_TCL_H=1
3cc0: 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d  -DSQLITE_TCLAPI=
3cd0: 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72  __cdecl.# <</mar
3ce0: 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43  k>>.!ELSE.CORE_C
3cf0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c  CONV_OPTS =.SHEL
3d00: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23  L_CCONV_OPTS =.#
3d10: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43   <<mark>>.TEST_C
3d20: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c  CONV_OPTS =.# <<
3d30: 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21  /mark>>.!ENDIF.!
3d40: 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45  ENDIF.!ELSE.CORE
3d50: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48  _CCONV_OPTS =.SH
3d60: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3d70: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54  .# <<mark>>.TEST
3d80: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.#
3d90: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46  <</mark>>.!ENDIF
3da0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
3db0: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
3dc0: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66  r options used f
3dd0: 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  or the core libr
3de0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  ary..#.!IFNDEF C
3df0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
3e00: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S 3e10: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f HELL)!=0 ||$(FO
3e20: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45  R_WIN10)!=0.CORE
3e30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS =
3e40: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT 3e50: 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d S) -DSQLITE_API= 3e60: 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78 __declspec(dllex 3e70: 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45 port).!ELSE.CORE 3e80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 _COMPILE_OPTS = 3e90: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54$(CORE_CCONV_OPT
3ea0: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  S).!ENDIF.!ENDIF
3eb0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
3ec0: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72  e additional tar
3ed0: 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f  gets that the co
3ee0: 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c  re library shoul
3ef0: 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68  d depend on.# wh
3f00: 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49  en linking..#.!I
3f10: 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f  FNDEF CORE_LINK_
3f20: 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  DEP.!IF $(DYNAMI 3f30: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 C_SHELL)!=0.CORE 3f40: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 _LINK_DEP =.!ELS 3f50: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 EIF$(FOR_WIN10)
3f60: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f  ==0 || "$(PLATFO 3f70: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 RM)"=="x86".CORE 3f80: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69 _LINK_DEP = sqli 3f90: 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f te3.def.!ELSE.CO 3fa0: 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 RE_LINK_DEP =.!E 3fb0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 NDIF.!ENDIF..# T 3fc0: 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f hese are additio 3fd0: 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f nal linker optio 3fe0: 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 ns used for the 3ff0: 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a core library..#. 4000: 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e !IFNDEF CORE_LIN 4010: 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e K_OPTS.!IF$(DYN
4020: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43  AMIC_SHELL)!=0.C
4030: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a  ORE_LINK_OPTS =.
4040: 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49  !ELSEIF $(FOR_WI 4050: 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c N10)==0 || "$(PL
4060: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
4070: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
4080: 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65   /DEF:sqlite3.de
4090: 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e  f.!ELSE.CORE_LIN
40a0: 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a  K_OPTS =.!ENDIF.
40b0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These
40c0: 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63  are additional c
40d0: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options
40e0: 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65  used for the she
40f0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23  ll executable..#
4100: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
4110: 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20  OMPILE_OPTS.!IF
4120: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL) 4130: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e !=0 ||$(FOR_WIN
4140: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)!=0.SHELL_COM
4150: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH 4160: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 ELL_CCONV_OPTS) 4170: 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 -DSQLITE_API=__d 4180: 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72 eclspec(dllimpor 4190: 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 t).!ELSE.SHELL_C 41a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 OMPILE_OPTS =$(
41b0: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53  SHELL_CCONV_OPTS
41c0: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
41d0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73  .# This is the s
41e0: 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20  ource code that
41f0: 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74  the shell execut
4200: 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63  able should be c
4210: 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a  ompiled.# with..
4220: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
4230: 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44  CORE_SRC.!IF $(D 4240: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 YNAMIC_SHELL)!=0 4250: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 ||$(FOR_WIN10)
4260: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  !=0.SHELL_CORE_S
4270: 52 43 20 3d 0a 21 45 4c 53 45 0a 53 48 45 4c 4c  RC =.!ELSE.SHELL
4280: 5f 43 4f 52 45 5f 53 52 43 20 3d 20 24 28 53 51  _CORE_SRC = $(SQ 4290: 4c 49 54 45 33 43 29 0a 21 45 4e 44 49 46 0a 21 LITE3C).!ENDIF.! 42a0: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 ENDIF..# This is 42b0: 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 the core librar 42c0: 79 20 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c y that the shell 42d0: 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75 executable shou 42e0: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a ld depend on..#. 42f0: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f !IFNDEF SHELL_CO 4300: 52 45 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e RE_DEP.!IF$(DYN
4310: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c  AMIC_SHELL)!=0 |
4320: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!= 4330: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0.SHELL_CORE_DEP 4340: 20 3d 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 =$(SQLITE3DLL)
4350: 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52  .!ELSE.SHELL_COR
4360: 45 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21  E_DEP =.!ENDIF.!
4370: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
4380: 3e 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70  >.# If zlib supp
4390: 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  ort is enabled,
43a0: 61 64 64 20 74 68 65 20 64 65 70 65 6e 64 65 6e  add the dependen
43b0: 63 69 65 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21  cies for it..#.!
43c0: 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d  IF $(USE_ZLIB)!= 43d0: 30 20 26 26 20 24 28 42 55 49 4c 44 5f 5a 4c 49 0 &&$(BUILD_ZLI
43e0: 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45  B)!=0.SHELL_CORE
43f0: 5f 44 45 50 20 3d 20 7a 6c 69 62 20 24 28 53 48  _DEP = zlib $(SH 4400: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 0a 54 45 ELL_CORE_DEP).TE 4410: 53 54 46 49 58 54 55 52 45 5f 44 45 50 20 3d 20 STFIXTURE_DEP = 4420: 7a 6c 69 62 20 24 28 54 45 53 54 46 49 58 54 55 zlib$(TESTFIXTU
4430: 52 45 5f 44 45 50 29 0a 21 45 4e 44 49 46 0a 23  RE_DEP).!ENDIF.#
4440: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68   <</mark>>..# Th
4450: 69 73 20 69 73 20 74 68 65 20 63 6f 72 65 20 6c  is is the core l
4460: 69 62 72 61 72 79 20 74 68 61 74 20 74 68 65 20  ibrary that the
4470: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  shell executable
4480: 20 73 68 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74   should link wit
4490: 68 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45  h..#.!IFNDEF SHE
44a0: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20  LL_CORE_LIB.!IF
44b0: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL) 44c0: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e !=0 ||$(FOR_WIN
44d0: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52  10)!=0.SHELL_COR
44e0: 45 5f 4c 49 42 20 3d 20 24 28 53 51 4c 49 54 45  E_LIB = $(SQLITE 44f0: 33 4c 49 42 29 0a 21 45 4c 53 45 0a 53 48 45 4c 3LIB).!ELSE.SHEL 4500: 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a 21 45 4e L_CORE_LIB =.!EN 4510: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 DIF.!ENDIF..# Th 4520: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e ese are addition 4530: 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e al linker option 4540: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 s used for the s 4550: 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e hell executable. 4560: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c .#.!IFNDEF SHELL 4570: 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48 45 4c 4c _LINK_OPTS.SHELL 4580: 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 24 28 53 _LINK_OPTS =$(S
4590: 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 29 0a 21  HELL_CORE_LIB).!
45a0: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69  ENDIF..# Check i
45b0: 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20  f assembly code
45c0: 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20  listings should
45d0: 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72  be generated for
45e0: 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f   the source.# co
45f0: 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63  de files to be c
4600: 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24  ompiled..#.!IF $4610: 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d (USE_LISTINGS)!= 4620: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 0.TCC =$(TCC) -
4630: 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 57  FAcs.!ENDIF..# W
4640: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68  hen compiling th
4650: 65 20 6c 69 62 72 61 72 79 20 66 6f 72 20 75 73  e library for us
4660: 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 20 65  e in the WinRT e
4670: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23 20 74 68  nvironment,.# th
4680: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 70  e following comp
4690: 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 6f 6e 73  ile-time options
46a0: 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 61 73   must be used as
46b0: 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69 73 61 62   well to.# disab
46c0: 6c 65 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20  le use of Win32
46d0: 41 50 49 73 20 74 68 61 74 20 61 72 65 20 6e 6f  APIs that are no
46e0: 74 20 61 76 61 69 6c 61 62 6c 65 20 61 6e 64 20  t available and
46f0: 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75 73 65 20  to enable.# use
4700: 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20 74 68  of Win32 APIs th
4710: 61 74 20 61 72 65 20 73 70 65 63 69 66 69 63 20  at are specific
4720: 74 6f 20 57 69 6e 64 6f 77 73 20 38 20 61 6e 64  to Windows 8 and
4730: 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a 21 49 46  /or WinRT..#.!IF
4740: 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30   $(FOR_WINRT)!=0 4750: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 .TCC =$(TCC) -D
4760: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d  SQLITE_OS_WINRT=
4770: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) - 4780: 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54 DSQLITE_OS_WINRT 4790: 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 =1.TCC =$(TCC)
47a0: 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d  -DWINAPI_FAMILY=
47b0: 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50  WINAPI_FAMILY_AP
47c0: 50 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  P.RCC = $(RCC) - 47d0: 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d 57 DWINAPI_FAMILY=W 47e0: 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50 50 INAPI_FAMILY_APP 47f0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d .!ENDIF..# C com 4800: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f piler options fo 4810: 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 r the Windows 10 4820: 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65 65 64 73 platform (needs 4830: 20 4d 53 56 43 20 32 30 31 35 29 2e 0a 23 0a 21 MSVC 2015)..#.! 4840: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 IF$(FOR_WIN10)!
4850: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 4860: 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41 52 4d /d2guard4 -D_ARM 4870: 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54 49 4f _WINAPI_PARTITIO 4880: 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 N_DESKTOP_SDK_AV 4890: 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d 20 24 28 AILABLE.BCC =$(
48a0: 42 43 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d  BCC) /d2guard4 -
48b0: 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52  D_ARM_WINAPI_PAR
48c0: 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53  TITION_DESKTOP_S
48d0: 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 21 45 4e  DK_AVAILABLE.!EN
48e0: 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20 77 65 20  DIF..# Also, we
48f0: 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d 69 63 61  need to dynamica
4900: 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20  lly link to the
4910: 63 6f 72 72 65 63 74 20 4d 53 56 43 20 72 75 6e  correct MSVC run
4920: 74 69 6d 65 0a 23 20 77 68 65 6e 20 63 6f 6d 70  time.# when comp
4930: 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 52 54 20  iling for WinRT
4940: 28 65 2e 67 2e 20 64 65 62 75 67 20 6f 72 20 72  (e.g. debug or r
4950: 65 6c 65 61 73 65 29 20 4f 52 20 69 66 20 74 68  elease) OR if th
4960: 65 0a 23 20 55 53 45 5f 43 52 54 5f 44 4c 4c 20  e.# USE_CRT_DLL
4970: 6f 70 74 69 6f 6e 20 69 73 20 73 65 74 20 74 6f  option is set to
4980: 20 66 6f 72 63 65 20 64 79 6e 61 6d 69 63 61 6c   force dynamical
4990: 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68  ly linking to th
49a0: 65 0a 23 20 4d 53 56 43 20 72 75 6e 74 69 6d 65  e.# MSVC runtime
49b0: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 20   library..#.!IF
49c0: 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 20  $(FOR_WINRT)!=0 49d0: 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f 44 4c 4c ||$(USE_CRT_DLL
49e0: 29 21 3d 30 0a 21 49 46 20 24 28 44 45 42 55 47  )!=0.!IF $(DEBUG 49f0: 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 )>1.TCC =$(TCC)
4a00: 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24 28 42 43   -MDd.BCC = $(BC 4a10: 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45 0a 54 43 C) -MDd.!ELSE.TC 4a20: 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 0a 42 C =$(TCC) -MD.B
4a30: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 0a  CC = $(BCC) -MD. 4a40: 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 21 49 46 !ENDIF.!ELSE.!IF 4a50: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20$(DEBUG)>1.TCC
4a60: 3d 20 24 28 54 43 43 29 20 2d 4d 54 64 0a 42 43  = $(TCC) -MTd.BC 4a70: 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54 64 0a C =$(BCC) -MTd.
4a80: 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54 43  !ELSE.TCC = $(TC 4a90: 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20 24 28 42 C) -MT.BCC =$(B
4aa0: 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49 46 0a 21  CC) -MT.!ENDIF.!
4ab0: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
4ac0: 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65  >.# The mksqlite
4ad0: 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b 73 71 6c  3c.tcl and mksql
4ae0: 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69 70 74  ite3h.tcl script
4af0: 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69 6e 0a 23  s will pull in.#
4b00: 20 61 6e 79 20 65 78 74 65 6e 73 69 6f 6e 20 68   any extension h
4b10: 65 61 64 65 72 20 66 69 6c 65 73 20 62 79 20 64  eader files by d
4b20: 65 66 61 75 6c 74 2e 20 20 46 6f 72 20 6e 6f 6e  efault.  For non
4b30: 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 20  -amalgamation.#
4b40: 62 75 69 6c 64 73 2c 20 77 65 20 6e 65 65 64 20  builds, we need
4b50: 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65  to make sure the
4b60: 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 20 66 69   compiler can fi
4b70: 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21 49 46 20  nd these..#.!IF
4b80: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI 4b90: 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 ON)==0.TCC =$(T
4ba0: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext 4bb0: 5c 66 74 73 33 0a 52 43 43 20 3d 20 24 28 52 43 \fts3.RCC =$(RC
4bc0: 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c  C) -I$(TOP)\ext\ 4bd0: 66 74 73 33 0a 54 43 43 20 3d 20 24 28 54 43 43 fts3.TCC =$(TCC
4be0: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 72  ) -I$(TOP)\ext\r 4bf0: 74 72 65 65 0a 52 43 43 20 3d 20 24 28 52 43 43 tree.RCC =$(RCC
4c00: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 72  ) -I$(TOP)\ext\r 4c10: 74 72 65 65 0a 54 43 43 20 3d 20 24 28 54 43 43 tree.TCC =$(TCC
4c20: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 73  ) -I$(TOP)\ext\s 4c30: 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20 24 28 52 ession.RCC =$(R
4c40: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext 4c50: 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44 49 46 0a \session.!ENDIF. 4c60: 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 .# The mksqlite3 4c70: 63 2e 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 c.tcl script acc 4c80: 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e epts some option 4c90: 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 s on the command 4ca0: 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65 6e 20 63 .# line. When c 4cb0: 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20 64 65 ompiling with de 4cc0: 62 75 67 67 69 6e 67 20 65 6e 61 62 6c 65 64 2c bugging enabled, 4cd0: 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 0a 23 some of these.# 4ce0: 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 6e 65 63 options are nec 4cf0: 65 73 73 61 72 79 20 69 6e 20 6f 72 64 65 72 20 essary in order 4d00: 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75 67 67 69 to allow debuggi 4d10: 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f 0a 23 20 ng symbols to.# 4d20: 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20 77 work correctly w 4d30: 69 74 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 ith Visual Studi 4d40: 6f 20 77 68 65 6e 20 75 73 69 6e 67 20 74 68 65 o when using the 4d50: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 amalgamation..# 4d60: 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 .!IFNDEF MKSQLIT 4d70: 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20 24 28 4d E3C_TOOL.!IF$(M
4d80: 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41 54  INIMAL_AMALGAMAT
4d90: 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45  ION)!=0.MKSQLITE
4da0: 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29  3C_TOOL = $(TOP) 4db0: 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 \tool\mksqlite3c 4dc0: 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45 4c 53 45 -noext.tcl.!ELSE 4dd0: 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c .MKSQLITE3C_TOOL 4de0: 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d =$(TOP)\tool\m
4df0: 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 21 45  ksqlite3c.tcl.!E
4e00: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46  NDIF.!ENDIF..!IF
4e10: 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f  NDEF MKSQLITE3C_
4e20: 41 52 47 53 0a 21 49 46 20 24 28 44 45 42 55 47  ARGS.!IF $(DEBUG 4e30: 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 )>1.MKSQLITE3C_A 4e40: 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d 61 63 72 RGS = --linemacr 4e50: 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 os.!ELSE.MKSQLIT 4e60: 45 33 43 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49 E3C_ARGS =.!ENDI 4e70: 46 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 F.!IF$(USE_STDC
4e80: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR 4e90: 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53 51 4c _WIN10)!=0.MKSQL 4ea0: 49 54 45 33 43 5f 41 52 47 53 20 3d 20 24 28 4d ITE3C_ARGS =$(M
4eb0: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29 20  KSQLITE3C_ARGS)
4ec0: 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21 45 4e  --useapicall.!EN
4ed0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
4ee0: 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  e mksqlite3h.tcl
4ef0: 20 73 63 72 69 70 74 20 61 63 63 65 70 74 73 20   script accepts
4f00: 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20  some options on
4f10: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  the command line
4f20: 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69  ..# When compili
4f30: 6e 67 20 77 69 74 68 20 73 74 64 63 61 6c 6c 20  ng with stdcall
4f40: 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65 20 6f 66  support, some of
4f50: 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 61   these options a
4f60: 72 65 0a 23 20 6e 65 63 65 73 73 61 72 79 2e 0a  re.# necessary..
4f70: 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49  #.!IFNDEF MKSQLI
4f80: 54 45 33 48 5f 41 52 47 53 0a 21 49 46 20 24 28  TE3H_ARGS.!IF $( 4f90: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 USE_STDCALL)!=0 4fa0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 ||$(FOR_WIN10)!
4fb0: 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52  =0.MKSQLITE3H_AR
4fc0: 47 53 20 3d 20 2d 2d 75 73 65 61 70 69 63 61 6c  GS = --useapical
4fd0: 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45  l.!ELSE.MKSQLITE
4fe0: 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49 46  3H_ARGS =.!ENDIF
4ff0: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
5000: 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65 20 2d 44  k>>..# Define -D
5010: 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d 70 69 6c  NDEBUG to compil
5020: 65 20 77 69 74 68 6f 75 74 20 64 65 62 75 67 67  e without debugg
5030: 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f 72 20 70  ing (i.e., for p
5040: 72 6f 64 75 63 74 69 6f 6e 20 75 73 61 67 65 29  roduction usage)
5050: 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74 68 65 20  .# Omitting the
5060: 64 65 66 69 6e 65 20 77 69 6c 6c 20 63 61 75 73  define will caus
5070: 65 20 65 78 74 72 61 20 64 65 62 75 67 67 69 6e  e extra debuggin
5080: 67 20 63 6f 64 65 20 74 6f 20 62 65 20 69 6e 73  g code to be ins
5090: 65 72 74 65 64 20 61 6e 64 0a 23 20 69 6e 63 6c  erted and.# incl
50a0: 75 64 65 73 20 65 78 74 72 61 20 63 6f 6d 6d 65  udes extra comme
50b0: 6e 74 73 20 77 68 65 6e 20 22 45 58 50 4c 41 49  nts when "EXPLAI
50c0: 4e 20 73 74 6d 74 22 20 69 73 20 75 73 65 64 2e  N stmt" is used.
50d0: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3d  .#.!IF $(DEBUG)= 50e0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 =0.TCC =$(TCC)
50f0: 2d 44 4e 44 45 42 55 47 0a 42 43 43 20 3d 20 24  -DNDEBUG.BCC = $5100: 28 42 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 52 (BCC) -DNDEBUG.R 5110: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 4e 44 CC =$(RCC) -DND
5120: 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 21 49 46  EBUG.!ENDIF..!IF
5130: 20 24 28 44 45 42 55 47 29 3e 30 20 7c 7c 20 24   $(DEBUG)>0 ||$
5140: 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d 30 20 7c  (API_ARMOR)!=0 |
5150: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!= 5160: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 0.TCC =$(TCC) -
5170: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41  DSQLITE_ENABLE_A
5180: 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43 43 20 3d  PI_ARMOR=1.RCC =
5190: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE 51a0: 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f _ENABLE_API_ARMO 51b0: 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 R=1.!ENDIF..!IF 51c0: 24 28 44 45 42 55 47 29 3e 32 0a 54 43 43 20 3d$(DEBUG)>2.TCC =
51d0: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE 51e0: 5f 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20 24 _DEBUG=1.RCC =$
51f0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 44  (RCC) -DSQLITE_D
5200: 45 42 55 47 3d 31 0a 21 49 46 20 24 28 44 59 4e  EBUG=1.!IF $(DYN 5210: 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 0a 54 AMIC_SHELL)==0.T 5220: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 CC =$(TCC) -DSQ
5230: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52  LITE_ENABLE_WHER
5240: 45 54 52 41 43 45 20 2d 44 53 51 4c 49 54 45 5f  ETRACE -DSQLITE_
5250: 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 54 52 41  ENABLE_SELECTTRA
5260: 43 45 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  CE.RCC = $(RCC) 5270: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 5280: 57 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c WHERETRACE -DSQL 5290: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 ITE_ENABLE_SELEC 52a0: 54 54 52 41 43 45 0a 21 45 4e 44 49 46 0a 21 45 TTRACE.!ENDIF.!E 52b0: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 NDIF..!IF$(DEBU
52c0: 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 52 41 43  G)>4 || $(OSTRAC 52d0: 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 E)!=0.TCC =$(TC
52e0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43  C) -DSQLITE_FORC
52f0: 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 53  E_OS_TRACE=1 -DS
5300: 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54  QLITE_DEBUG_OS_T
5310: 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  RACE=1.RCC = $(R 5320: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 CC) -DSQLITE_FOR 5330: 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 CE_OS_TRACE=1 -D 5340: 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f SQLITE_DEBUG_OS_ 5350: 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a TRACE=1.!ENDIF.. 5360: 21 49 46 20 24 28 44 45 42 55 47 29 3e 35 0a 54 !IF$(DEBUG)>5.T
5370: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ 5380: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52 LITE_ENABLE_IOTR 5390: 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 ACE=1.RCC =$(RC
53a0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
53b0: 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 21 45 4e  LE_IOTRACE=1.!EN
53c0: 44 49 46 0a 0a 23 20 50 72 65 76 65 6e 74 20 77  DIF..# Prevent w
53d0: 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 69  arnings about "i
53e0: 6e 73 65 63 75 72 65 22 20 4d 53 56 43 20 72 75  nsecure" MSVC ru
53f0: 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 66 75  ntime library fu
5400: 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 6e 67 20  nctions.# being
5410: 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28  used..#.TCC = $( 5420: 54 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 TCC) -D_CRT_SECU 5430: 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 RE_NO_DEPRECATE 5440: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f -D_CRT_SECURE_NO 5450: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 _WARNINGS.BCC = 5460: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 53 45$(BCC) -D_CRT_SE
5470: 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54  CURE_NO_DEPRECAT
5480: 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  E -D_CRT_SECURE_
5490: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20  NO_WARNINGS.RCC
54a0: 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f  = $(RCC) -D_CRT_ 54b0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 SECURE_NO_DEPREC 54c0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 ATE -D_CRT_SECUR 54d0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23 E_NO_WARNINGS..# 54e0: 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67 Prevent warning 54f0: 73 20 61 62 6f 75 74 20 22 64 65 70 72 65 63 61 s about "depreca 5500: 74 65 64 22 20 50 4f 53 49 58 20 66 75 6e 63 74 ted" POSIX funct 5510: 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 65 64 2e ions being used. 5520: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 .#.TCC =$(TCC)
5530: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
5540: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43  O_DEPRECATE -D_C
5550: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41  RT_NONSTDC_NO_WA
5560: 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28 42  RNINGS.BCC = $(B 5570: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 CC) -D_CRT_NONST 5580: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 DC_NO_DEPRECATE 5590: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e -D_CRT_NONSTDC_N 55a0: 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d O_WARNINGS.RCC = 55b0: 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f 4e$(RCC) -D_CRT_N
55c0: 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43  ONSTDC_NO_DEPREC
55d0: 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  ATE -D_CRT_NONST
55e0: 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a  DC_NO_WARNINGS..
55f0: 23 20 55 73 65 20 74 68 65 20 53 51 4c 69 74 65  # Use the SQLite
5600: 20 64 65 62 75 67 67 69 6e 67 20 68 65 61 70 20   debugging heap
5610: 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46  subsystem?.#.!IF
5620: 20 24 28 4d 45 4d 44 45 42 55 47 29 21 3d 30 0a   $(MEMDEBUG)!=0. 5630: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 TCC =$(TCC) -DS
5640: 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31  QLITE_MEMDEBUG=1
5650: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D 5660: 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d SQLITE_MEMDEBUG= 5670: 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 76 65 20 1..# Use native 5680: 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73 79 Win32 heap subsy 5690: 73 74 65 6d 20 69 6e 73 74 65 61 64 20 6f 66 20 stem instead of 56a0: 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a 23 0a 21 malloc/free?.#.! 56b0: 45 4c 53 45 49 46 20 24 28 57 49 4e 33 32 48 45 ELSEIF$(WIN32HE
56c0: 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  AP)!=0.TCC = $(T 56d0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e CC) -DSQLITE_WIN 56e0: 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 43 43 20 32_MALLOC=1.RCC 56f0: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 =$(RCC) -DSQLIT
5700: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31  E_WIN32_MALLOC=1
5710: 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 74 68 65  ..# Validate the
5720: 20 68 65 61 70 20 6f 6e 20 65 76 65 72 79 20 63   heap on every c
5730: 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 6e 61 74  all into the nat
5740: 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73  ive Win32 heap s
5750: 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20  ubsystem?.#.!IF
5760: 24 28 44 45 42 55 47 29 3e 33 0a 54 43 43 20 3d  $(DEBUG)>3.TCC = 5770: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45$(TCC) -DSQLITE
5780: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41  _WIN32_MALLOC_VA
5790: 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 3d 20 24  LIDATE=1.RCC = $57a0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 (RCC) -DSQLITE_W 57b0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 IN32_MALLOC_VALI 57c0: 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a 21 45 DATE=1.!ENDIF.!E 57d0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e NDIF..# <<mark>> 57e0: 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 .# The locations 57f0: 20 6f 66 20 74 68 65 20 54 63 6c 20 68 65 61 64 of the Tcl head 5800: 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 er and library f 5810: 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65 iles. Also, the 5820: 20 6c 69 62 72 61 72 79 20 74 68 61 74 0a 23 20 library that.# 5830: 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 62 6c 65 non-stubs enable 5840: 64 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 d programs using 5850: 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e 6b 20 61 Tcl must link a 5860: 67 61 69 6e 73 74 2e 20 20 54 68 65 73 65 20 76 gainst. These v 5870: 61 72 69 61 62 6c 65 73 0a 23 20 28 54 43 4c 49 ariables.# (TCLI 5880: 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 44 49 52 NCDIR, TCLLIBDIR 5890: 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 20 6d 61 , and LIBTCL) ma 58a0: 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 y be overridden 58b0: 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d via the environm 58c0: 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 ent.# prior to r 58d0: 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 unning nmake in 58e0: 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74 order to match t 58f0: 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c he actual instal 5900: 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 led location and 5910: 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e 20 74 68 .# version on th 5920: 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49 is machine..#.!I 5930: 46 4e 44 45 46 20 54 43 4c 44 49 52 0a 54 43 4c FNDEF TCLDIR.TCL 5940: 44 49 52 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d DIR =$(TOP)\com
5950: 70 61 74 5c 74 63 6c 0a 21 45 4e 44 49 46 0a 0a  pat\tcl.!ENDIF..
5960: 21 49 46 4e 44 45 46 20 54 43 4c 49 4e 43 44 49  !IFNDEF TCLINCDI
5970: 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 24 28  R.TCLINCDIR = $( 5980: 54 43 4c 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a TCLDIR)\include. 5990: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 !ENDIF..!IFNDEF 59a0: 54 43 4c 4c 49 42 44 49 52 0a 54 43 4c 4c 49 42 TCLLIBDIR.TCLLIB 59b0: 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52 29 5c DIR =$(TCLDIR)\
59c0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
59d0: 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49 42 54 43  DEF LIBTCL.LIBTC
59e0: 4c 20 3d 20 74 63 6c 38 36 2e 6c 69 62 0a 21 45  L = tcl86.lib.!E
59f0: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49  NDIF..!IFNDEF LI
5a00: 42 54 43 4c 53 54 55 42 0a 4c 49 42 54 43 4c 53  BTCLSTUB.LIBTCLS
5a10: 54 55 42 20 3d 20 74 63 6c 73 74 75 62 38 36 2e  TUB = tclstub86.
5a20: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
5a30: 44 45 46 20 4c 49 42 54 43 4c 50 41 54 48 0a 4c  DEF LIBTCLPATH.L
5a40: 49 42 54 43 4c 50 41 54 48 20 3d 20 24 28 54 43  IBTCLPATH = $(TC 5a50: 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e 44 49 46 LDIR)\bin.!ENDIF 5a60: 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e ..# The location 5a70: 73 20 6f 66 20 74 68 65 20 7a 6c 69 62 20 68 65 s of the zlib he 5a80: 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 ader and library 5a90: 20 66 69 6c 65 73 2e 20 20 54 68 65 73 65 20 76 files. These v 5aa0: 61 72 69 61 62 6c 65 73 0a 23 20 28 5a 4c 49 42 ariables.# (ZLIB 5ab0: 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c 49 42 44 INCDIR, ZLIBLIBD 5ac0: 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c 49 42 29 IR, and ZLIBLIB) 5ad0: 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 may be overridd 5ae0: 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 en via the envir 5af0: 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 onment.# prior t 5b00: 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 o running nmake 5b10: 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 in order to matc 5b20: 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 h the actual ins 5b30: 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f 75 72 63 talled (or sourc 5b40: 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63 61 74 69 e.# code) locati 5b50: 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63 68 69 on on this machi 5b60: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 5a 4c ne..#.!IFNDEF ZL 5b70: 49 42 44 49 52 0a 5a 4c 49 42 44 49 52 20 3d 20 IBDIR.ZLIBDIR = 5b80: 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 7a 6c$(TOP)\compat\zl
5b90: 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  ib.!ENDIF..!IFND
5ba0: 45 46 20 5a 4c 49 42 49 4e 43 44 49 52 0a 5a 4c  EF ZLIBINCDIR.ZL
5bb0: 49 42 49 4e 43 44 49 52 20 3d 20 24 28 5a 4c 49  IBINCDIR = $(ZLI 5bc0: 42 44 49 52 29 0a 21 45 4e 44 49 46 0a 0a 21 49 BDIR).!ENDIF..!I 5bd0: 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42 44 49 52 FNDEF ZLIBLIBDIR 5be0: 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d 20 24 28 .ZLIBLIBDIR =$(
5bf0: 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a  ZLIBDIR).!ENDIF.
5c00: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42  .!IFNDEF ZLIBLIB
5c10: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S 5c20: 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42 4c 49 42 HELL)!=0.ZLIBLIB 5c30: 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21 45 4c 53 = zdll.lib.!ELS 5c40: 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a 6c 69 62 E.ZLIBLIB = zlib 5c50: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 .lib.!ENDIF.!END 5c60: 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 IF..# The locati 5c70: 6f 6e 73 20 6f 66 20 74 68 65 20 49 43 55 20 68 ons of the ICU h 5c80: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72 eader and librar 5c90: 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73 65 20 y files. These 5ca0: 76 61 72 69 61 62 6c 65 73 0a 23 20 28 49 43 55 variables.# (ICU 5cb0: 49 4e 43 44 49 52 2c 20 49 43 55 4c 49 42 44 49 INCDIR, ICULIBDI 5cc0: 52 2c 20 61 6e 64 20 4c 49 42 49 43 55 29 20 6d R, and LIBICU) m 5cd0: 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e ay be overridden 5ce0: 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e via the environ 5cf0: 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 ment.# prior to 5d00: 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e running nmake in 5d10: 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20 order to match 5d20: 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61 the actual insta 5d30: 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e lled location on 5d40: 0a 23 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e .# this machine. 5d50: 0a 23 0a 21 49 46 4e 44 45 46 20 49 43 55 44 49 .#.!IFNDEF ICUDI 5d60: 52 0a 49 43 55 44 49 52 20 3d 20 24 28 54 4f 50 R.ICUDIR =$(TOP
5d70: 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a 21 45 4e  )\compat\icu.!EN
5d80: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 49 43 55  DIF..!IFNDEF ICU
5d90: 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 44 49 52  INCDIR.ICUINCDIR
5da0: 20 3d 20 24 28 49 43 55 44 49 52 29 5c 69 6e 63   = $(ICUDIR)\inc 5db0: 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 lude.!ENDIF..!IF 5dc0: 4e 44 45 46 20 49 43 55 4c 49 42 44 49 52 0a 49 NDEF ICULIBDIR.I 5dd0: 43 55 4c 49 42 44 49 52 20 3d 20 24 28 49 43 55 CULIBDIR =$(ICU
5de0: 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a  DIR)\lib.!ENDIF.
5df0: 0a 21 49 46 4e 44 45 46 20 4c 49 42 49 43 55 0a  .!IFNDEF LIBICU.
5e00: 4c 49 42 49 43 55 20 3d 20 69 63 75 75 63 2e 6c  LIBICU = icuuc.l
5e10: 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a 21 45 4e  ib icuin.lib.!EN
5e20: 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74  DIF..# This is t
5e30: 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73  he command to us
5e40: 65 20 66 6f 72 20 74 63 6c 73 68 20 2d 20 6e 6f  e for tclsh - no
5e50: 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22 74 63 6c  rmally just "tcl
5e60: 73 68 22 2c 20 62 75 74 20 77 65 20 6d 61 79 0a  sh", but we may.
5e70: 23 20 6b 6e 6f 77 20 74 68 65 20 73 70 65 63 69  # know the speci
5e80: 66 69 63 20 76 65 72 73 69 6f 6e 20 77 65 20 77  fic version we w
5e90: 61 6e 74 20 74 6f 20 75 73 65 2e 20 20 54 68 69  ant to use.  Thi
5ea0: 73 20 76 61 72 69 61 62 6c 65 20 28 54 43 4c 53  s variable (TCLS
5eb0: 48 5f 43 4d 44 29 20 6d 61 79 20 62 65 0a 23 20  H_CMD) may be.#
5ec0: 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 74  overridden via t
5ed0: 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70  he environment p
5ee0: 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20  rior to running
5ef0: 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74  nmake in order t
5f00: 6f 20 73 65 6c 65 63 74 20 61 0a 23 20 73 70 65  o select a.# spe
5f10: 63 69 66 69 63 20 54 63 6c 20 73 68 65 6c 6c 20  cific Tcl shell
5f20: 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46 4e 44 45  to use..#.!IFNDE
5f30: 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21 49 46 20  F TCLSH_CMD.!IF
5f40: 24 28 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  $(USE_TCLSH_IN_P 5f50: 41 54 48 29 21 3d 30 20 7c 7c 20 21 45 58 49 53 ATH)!=0 || !EXIS 5f60: 54 28 22 24 28 54 43 4c 44 49 52 29 5c 62 69 6e T("$(TCLDIR)\bin
5f70: 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a 54 43 4c  \tclsh.exe").TCL
5f80: 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73 68 0a 21  SH_CMD = tclsh.!
5f90: 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d 44 20 3d  ELSE.TCLSH_CMD =
5fa0: 20 24 28 54 43 4c 44 49 52 29 5c 62 69 6e 5c 74   $(TCLDIR)\bin\t 5fb0: 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44 49 46 0a clsh.exe.!ENDIF. 5fc0: 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b !ENDIF.# <</mark 5fd0: 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65 72 20 6f >>..# Compiler o 5fe0: 70 74 69 6f 6e 73 20 6e 65 65 64 65 64 20 66 6f ptions needed fo 5ff0: 72 20 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 r programs that 6000: 75 73 65 20 74 68 65 20 72 65 61 64 6c 69 6e 65 use the readline 6010: 28 29 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 () library..#.!I 6020: 46 4e 44 45 46 20 52 45 41 44 4c 49 4e 45 5f 46 FNDEF READLINE_F 6030: 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45 5f 46 4c LAGS.READLINE_FL 6040: 41 47 53 20 3d 20 2d 44 48 41 56 45 5f 52 45 41 AGS = -DHAVE_REA 6050: 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49 46 0a 0a DLINE=0.!ENDIF.. 6060: 23 20 54 68 65 20 6c 69 62 72 61 72 79 20 74 68 # The library th 6070: 61 74 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e at programs usin 6080: 67 20 72 65 61 64 6c 69 6e 65 28 29 20 6d 75 73 g readline() mus 6090: 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e 0a t link against.. 60a0: 23 0a 21 49 46 4e 44 45 46 20 4c 49 42 52 45 41 #.!IFNDEF LIBREA 60b0: 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44 4c 49 4e DLINE.LIBREADLIN 60c0: 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 E =.!ENDIF..# Sh 60d0: 6f 75 6c 64 20 74 68 65 20 64 61 74 61 62 61 73 ould the databas 60e0: 65 20 65 6e 67 69 6e 65 20 62 65 20 63 6f 6d 70 e engine be comp 60f0: 69 6c 65 64 20 74 68 72 65 61 64 73 61 66 65 0a iled threadsafe. 6100: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d #.TCC =$(TCC) -
6110: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
6120: 46 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  FE=1.RCC = $(RCC 6130: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 ) -DSQLITE_THREA 6140: 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f 20 74 68 DSAFE=1..# Do th 6150: 72 65 61 64 73 20 6f 76 65 72 72 69 64 65 20 65 reads override e 6160: 61 63 68 20 6f 74 68 65 72 73 20 6c 6f 63 6b 73 ach others locks 6170: 20 62 79 20 64 65 66 61 75 6c 74 20 28 31 29 2c by default (1), 6180: 20 6f 72 20 64 6f 20 77 65 20 74 65 73 74 20 28 or do we test ( 6190: 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 -1).#.TCC =$(TC
61a0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  C) -DSQLITE_THRE
61b0: 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 4b  AD_OVERRIDE_LOCK
61c0: 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  =-1.RCC = $(RCC) 61d0: 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 -DSQLITE_THREAD 61e0: 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d _OVERRIDE_LOCK=- 61f0: 31 0a 0a 23 20 41 6e 79 20 74 61 72 67 65 74 20 1..# Any target 6200: 6c 69 62 72 61 72 69 65 73 20 77 68 69 63 68 20 libraries which 6210: 6c 69 62 73 71 6c 69 74 65 20 6d 75 73 74 20 62 libsqlite must b 6220: 65 20 6c 69 6e 6b 65 64 20 61 67 61 69 6e 73 74 e linked against 6230: 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c 49 42 53 .#.!IFNDEF TLIBS 6240: 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44 49 46 0a .TLIBS =.!ENDIF. 6250: 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74 72 6f 6c .# Flags control 6260: 6c 69 6e 67 20 75 73 65 20 6f 66 20 74 68 65 20 ling use of the 6270: 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72 65 65 20 in memory btree 6280: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 23 implementation.# 6290: 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 .# SQLITE_TEMP_S 62a0: 54 4f 52 45 20 69 73 20 30 20 74 6f 20 66 6f 72 TORE is 0 to for 62b0: 63 65 20 74 65 6d 70 6f 72 61 72 79 20 74 61 62 ce temporary tab 62c0: 6c 65 73 20 74 6f 20 62 65 20 69 6e 20 61 20 66 les to be in a f 62d0: 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64 65 66 61 ile, 1 to.# defa 62e0: 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20 32 20 74 ult to file, 2 t 62f0: 6f 20 64 65 66 61 75 6c 74 20 74 6f 20 6d 65 6d o default to mem 6300: 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f 20 66 6f ory, and 3 to fo 6310: 72 63 65 20 74 65 6d 70 6f 72 61 72 79 0a 23 20 rce temporary.# 6320: 74 61 62 6c 65 73 20 74 6f 20 61 6c 77 61 79 73 tables to always 6330: 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a 23 be in memory..# 6340: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 .TCC =$(TCC) -D
6350: 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52  SQLITE_TEMP_STOR
6360: 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  E=1.RCC = $(RCC) 6370: 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 -DSQLITE_TEMP_S 6380: 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61 62 6c 65 TORE=1..# Enable 6390: 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64 61 62 6c /disable loadabl 63a0: 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 61 6e e extensions, an 63b0: 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e 61 6c d other optional 63c0: 20 66 65 61 74 75 72 65 73 0a 23 20 62 61 73 65 features.# base 63d0: 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72 61 74 69 d on configurati 63e0: 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45 5f 4f 4d on. (-DSQLITE_OM 63f0: 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45 5f 45 4e IT*, -DSQLITE_EN 6400: 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65 20 73 61 ABLE*)..# The sa 6410: 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49 54 20 61 me set of OMIT a 6420: 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61 67 73 20 nd ENABLE flags 6430: 73 68 6f 75 6c 64 20 62 65 20 70 61 73 73 65 64 should be passed 6440: 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d 4f 4e 20 to the.# LEMON 6450: 70 61 72 73 65 72 20 67 65 6e 65 72 61 74 6f 72 parser generator 6460: 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65 79 77 6f and the mkkeywo 6470: 72 64 68 61 73 68 20 74 6f 6f 6c 20 61 73 20 77 rdhash tool as w 6480: 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65 20 61 72 ell...# These ar 6490: 65 20 74 68 65 20 72 65 71 75 69 72 65 64 20 53 e the required S 64a0: 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f QLite compilatio 64b0: 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 77 n options used w 64c0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f hen compiling fo 64d0: 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 73 20 r.# the Windows 64e0: 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52 45 51 5f platform..#.REQ_ 64f0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 FEATURE_FLAGS = 6500: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c$(REQ_FEATURE_FL
6510: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4d 41  AGS) -DSQLITE_MA
6520: 58 5f 54 52 49 47 47 45 52 5f 44 45 50 54 48 3d  X_TRIGGER_DEPTH=
6530: 31 30 30 0a 0a 23 20 49 66 20 77 65 20 61 72 65  100..# If we are
6540: 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68 65 20   linking to the
6550: 52 50 43 52 54 34 20 6c 69 62 72 61 72 79 2c 20  RPCRT4 library,
6560: 65 6e 61 62 6c 65 20 66 65 61 74 75 72 65 73 20  enable features
6570: 74 68 61 74 20 6e 65 65 64 20 69 74 2e 0a 23 0a  that need it..#.
6580: 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 54 34  !IF $(USE_RPCRT4 6590: 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f 46 45 41 _LIB)!=0.REQ_FEA 65a0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 TURE_FLAGS =$(R
65b0: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
65c0: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32  ) -DSQLITE_WIN32
65d0: 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21 45 4e 44  _USE_UUID=1.!END
65e0: 49 46 0a 0a 23 20 41 64 64 20 74 68 65 20 72 65  IF..# Add the re
65f0: 71 75 69 72 65 64 20 61 6e 64 20 6f 70 74 69 6f  quired and optio
6600: 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f 6d 70 69  nal SQLite compi
6610: 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 69  lation options i
6620: 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a  nto the command.
6630: 23 20 6c 69 6e 65 73 20 75 73 65 64 20 74 6f 20  # lines used to
6640: 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53 56 43 20  invoke the MSVC
6650: 63 6f 64 65 20 61 6e 64 20 72 65 73 6f 75 72 63  code and resourc
6660: 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a 23 0a 54  e compilers..#.T
6670: 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 52 45  CC = $(TCC)$(RE
6680: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
6690: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F 66a0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 LAGS)$(EXT_FEAT
66b0: 55 52 45 5f 46 4c 41 47 53 29 0a 52 43 43 20 3d  URE_FLAGS).RCC =
66c0: 20 24 28 52 43 43 29 20 24 28 52 45 51 5f 46 45   $(RCC)$(REQ_FE
66d0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O 66e0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 PT_FEATURE_FLAGS 66f0: 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f )$(EXT_FEATURE_
6700: 46 4c 41 47 53 29 0a 0a 23 20 41 64 64 20 69 6e  FLAGS)..# Add in
6710: 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c 20 70 61   any optional pa
6720: 72 61 6d 65 74 65 72 73 20 73 70 65 63 69 66 69  rameters specifi
6730: 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e  ed on the comman
6740: 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a 23 20 6e  e line, e.g..# n
6750: 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65  make /f Makefile
6760: 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54 53 3d 2d  .msc all "OPTS=-
6770: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
6780: 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  OO=1 -DSQLITE_OM
6790: 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54 43 43 20  IT_FOO=1".#.TCC
67a0: 3d 20 24 28 54 43 43 29 20 24 28 4f 50 54 53 29  = $(TCC)$(OPTS)
67b0: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 24 28  .RCC = $(RCC)$(
67c0: 4f 50 54 53 29 0a 0a 23 20 49 66 20 63 6f 6d 70  OPTS)..# If comp
67d0: 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 75 67 67  iling for debugg
67e0: 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65 20 64 65  ing, add some de
67f0: 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20 24 28 44  fines..#.!IF $(D 6800: 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 EBUG)>1.TCC =$(
6810: 54 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 42 43  TCC) -D_DEBUG.BC
6820: 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 44 45  C = $(BCC) -D_DE 6830: 42 55 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 BUG.RCC =$(RCC)
6840: 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e 44 49 46   -D_DEBUG.!ENDIF
6850: 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69 7a 61 74  ..# If optimizat
6860: 69 6f 6e 73 20 61 72 65 20 65 6e 61 62 6c 65 64  ions are enabled
6870: 20 6f 72 20 64 69 73 61 62 6c 65 64 20 28 65 69   or disabled (ei
6880: 74 68 65 72 20 69 6d 70 6c 69 63 69 74 6c 79 20  ther implicitly
6890: 6f 72 0a 23 20 65 78 70 6c 69 63 69 74 6c 79 29  or.# explicitly)
68a0: 2c 20 61 64 64 20 74 68 65 20 6e 65 63 65 73 73  , add the necess
68b0: 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a 21 49 46  ary flags..#.!IF
68c0: 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24   $(DEBUG)>1 ||$
68d0: 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d  (OPTIMIZATIONS)=
68e0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 68f0: 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29 -Od.BCC =$(BCC)
6900: 20 2d 4f 64 0a 21 49 46 20 24 28 55 53 45 5f 52   -Od.!IF $(USE_R 6910: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 29 21 3d UNTIME_CHECKS)!= 6920: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 0.TCC =$(TCC) -
6930: 52 54 43 31 0a 42 43 43 20 3d 20 24 28 42 43 43  RTC1.BCC = $(BCC 6940: 29 20 2d 52 54 43 31 0a 21 45 4e 44 49 46 0a 21 ) -RTC1.!ENDIF.! 6950: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a ELSEIF$(OPTIMIZ
6960: 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43 43 20 3d  ATIONS)>=3.TCC =
6970: 20 24 28 54 43 43 29 20 2d 4f 78 0a 42 43 43 20   $(TCC) -Ox.BCC 6980: 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a 21 45 4c =$(BCC) -Ox.!EL
6990: 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54  SEIF $(OPTIMIZAT 69a0: 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20 3d 20 24 IONS)==2.TCC =$
69b0: 28 54 43 43 29 20 2d 4f 32 0a 42 43 43 20 3d 20  (TCC) -O2.BCC =
69c0: 24 28 42 43 43 29 20 2d 4f 32 0a 21 45 4c 53 45  $(BCC) -O2.!ELSE 69d0: 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f IF$(OPTIMIZATIO
69e0: 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20 24 28 54  NS)==1.TCC = $(T 69f0: 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d 20 24 28 CC) -O1.BCC =$(
6a00: 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44 49 46 0a  BCC) -O1.!ENDIF.
6a10: 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73 20 61 72  .# If symbols ar
6a20: 65 20 65 6e 61 62 6c 65 64 20 28 6f 72 20 63 6f  e enabled (or co
6a30: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 75  mpiling for debu
6a40: 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c 65 20 50  gging), enable P
6a50: 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42  DBs..#.!IF $(DEB 6a60: 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d 42 4f UG)>1 ||$(SYMBO
6a70: 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  LS)!=0.TCC = $(T 6a80: 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d 20 24 28 CC) -Zi.BCC =$(
6a90: 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44 49 46 0a  BCC) -Zi.!ENDIF.
6aa0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 49 66  .# <<mark>>.# If
6ab0: 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 20 69 73   zlib support is
6ac0: 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68   enabled, add th
6ad0: 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f  e compiler optio
6ae0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  ns for it..#.!IF
6af0: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a   $(USE_ZLIB)!=0. 6b00: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 TCC =$(TCC) -DS
6b10: 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c 49 42 3d  QLITE_HAVE_ZLIB=
6b20: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) - 6b30: 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c 49 DSQLITE_HAVE_ZLI 6b40: 42 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 B=1.TCC =$(TCC)
6b50: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29   -I$(ZLIBINCDIR) 6b60: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 .RCC =$(RCC) -I
6b70: 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 0a 21 45  $(ZLIBINCDIR).!E 6b80: 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55 20 73 NDIF..# If ICU s 6b90: 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 upport is enable 6ba0: 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d 70 69 d, add the compi 6bb0: 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 ler options for 6bc0: 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f it..#.!IF$(USE_
6bd0: 49 43 55 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  ICU)!=0.TCC = $( 6be0: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e TCC) -DSQLITE_EN 6bf0: 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43 43 20 3d ABLE_ICU=1.RCC = 6c00: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45$(RCC) -DSQLITE
6c10: 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 54 43  _ENABLE_ICU=1.TC
6c20: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
6c30: 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52 43 43 20  OP)\ext\icu.RCC
6c40: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50  = $(RCC) -I$(TOP
6c50: 29 5c 65 78 74 5c 69 63 75 0a 54 43 43 20 3d 20  )\ext\icu.TCC =
6c60: 24 28 54 43 43 29 20 2d 49 24 28 49 43 55 49 4e  $(TCC) -I$(ICUIN
6c70: 43 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43  CDIR).RCC = $(RC 6c80: 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52 C) -I$(ICUINCDIR
6c90: 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61  ).!ENDIF.# <</ma
6ca0: 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 6e 64 20  rk>>..# Command
6cb0: 6c 69 6e 65 20 70 72 65 66 69 78 65 73 20 66 6f  line prefixes fo
6cc0: 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 65  r compiling code
6cd0: 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72 65 73 6f  , compiling reso
6ce0: 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b 69 6e 67  urces,.# linking
6cf0: 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f 4d 50 49  , etc..#.LTCOMPI
6d00: 4c 45 20 3d 20 24 28 54 43 43 29 20 2d 46 6f 24  LE = $(TCC) -Fo$
6d10: 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24  @.LTRCOMPILE = $6d20: 28 52 43 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d (RCC) -r.LTLIB = 6d30: 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20 lib.exe.LTLINK 6d40: 3d 20 24 28 54 43 43 29 20 2d 46 65 24 40 0a 0a =$(TCC) -Fe$@.. 6d50: 23 20 49 66 20 72 65 71 75 65 73 74 65 64 2c 20 # If requested, 6d60: 6c 69 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 link to the RPCR 6d70: 54 34 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 T4 library..#.!I 6d80: 46 20 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c F$(USE_RPCRT4_L
6d90: 49 42 29 21 3d 30 0a 4c 54 4c 49 42 53 20 3d 20  IB)!=0.LTLIBS =
6da0: 24 28 4c 54 4c 49 42 53 29 20 72 70 63 72 74 34  $(LTLIBS) rpcrt4 6db0: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49 .lib.!ENDIF..# I 6dc0: 66 20 61 20 70 6c 61 74 66 6f 72 6d 20 77 61 73 f a platform was 6dd0: 20 73 65 74 2c 20 66 6f 72 63 65 20 74 68 65 20 set, force the 6de0: 6c 69 6e 6b 65 72 20 74 6f 20 74 61 72 67 65 74 linker to target 6df0: 20 74 68 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68 that..# Note th 6e00: 61 74 20 74 68 65 20 76 63 76 61 72 73 2a 2e 62 at the vcvars*.b 6e10: 61 74 20 66 61 6d 69 6c 79 20 6f 66 20 62 61 74 at family of bat 6e20: 63 68 20 66 69 6c 65 73 20 74 79 70 69 63 61 6c ch files typical 6e30: 6c 79 0a 23 20 73 65 74 20 74 68 69 73 20 66 6f ly.# set this fo 6e40: 72 20 79 6f 75 2e 20 20 4f 74 68 65 72 77 69 73 r you. Otherwis 6e50: 65 2c 20 74 68 65 20 6c 69 6e 6b 65 72 20 77 69 e, the linker wi 6e60: 6c 6c 20 61 74 74 65 6d 70 74 0a 23 20 74 6f 20 ll attempt.# to 6e70: 64 65 64 75 63 65 20 74 68 65 20 62 69 6e 61 72 deduce the binar 6e80: 79 20 74 79 70 65 20 62 61 73 65 64 20 6f 6e 20 y type based on 6e90: 74 68 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 the object files 6ea0: 2e 0a 21 49 46 44 45 46 20 50 4c 41 54 46 4f 52 ..!IFDEF PLATFOR 6eb0: 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f M.LTLINKOPTS = / 6ec0: 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a NOLOGO /MACHINE: 6ed0: 24 28 50 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49$(PLATFORM).LTLI
6ee0: 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20  BOPTS = /NOLOGO
6ef0: 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 46  /MACHINE:$(PLATF 6f00: 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e ORM).!ELSE.LTLIN 6f10: 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a KOPTS = /NOLOGO. 6f20: 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c LTLIBOPTS = /NOL 6f30: 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 OGO.!ENDIF..# Wh 6f40: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 en compiling for 6f50: 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52 use in the WinR 6f60: 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 74 T environment, t 6f70: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20 6c he following.# l 6f80: 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20 6d 75 73 inker option mus 6f90: 74 20 62 65 20 75 73 65 64 20 74 6f 20 6d 61 72 t be used to mar 6fa0: 6b 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 k the executable 6fb0: 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a 23 20 6f as runnable.# o 6fc0: 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 nly in the conte 6fd0: 78 74 20 6f 66 20 61 6e 20 61 70 70 6c 69 63 61 xt of an applica 6fe0: 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65 72 2e 0a tion container.. 6ff0: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 #.!IF$(FOR_WINR
7000: 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53  T)!=0.LTLINKOPTS
7010: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS) 7020: 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45 52 0a 21 /APPCONTAINER.! 7030: 49 46 20 22 24 28 56 49 53 55 41 4c 53 54 55 44 IF "$(VISUALSTUD
7040: 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32  IOVERSION)"=="12
7050: 2e 30 22 20 7c 7c 20 22 24 28 56 49 53 55 41 4c  .0" || "$(VISUAL 7060: 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d STUDIOVERSION)"= 7070: 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44 45 46 20 ="14.0".!IFNDEF 7080: 53 54 4f 52 45 4c 49 42 50 41 54 48 0a 21 49 46 STORELIBPATH.!IF 7090: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d "$(PLATFORM)"==
70a0: 22 78 38 36 22 0a 53 54 4f 52 45 4c 49 42 50 41  "x86".STORELIBPA
70b0: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT 70c0: 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53 45 49 46 H)\store.!ELSEIF 70d0: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d "$(PLATFORM)"==
70e0: 22 78 36 34 22 0a 53 54 4f 52 45 4c 49 42 50 41  "x64".STORELIBPA
70f0: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT 7100: 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36 34 0a 21 H)\store\amd64.! 7110: 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f ELSEIF "$(PLATFO
7120: 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 54 4f 52  RM)"=="ARM".STOR
7130: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54  ELIBPATH = $(CRT 7140: 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 LIBPATH)\store\a 7150: 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52 45 4c 49 rm.!ELSE.STORELI 7160: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 BPATH =$(CRTLIB
7170: 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4e 44  PATH)\store.!END
7180: 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f 52 45 4c  IF.!ENDIF.STOREL
7190: 49 42 50 41 54 48 20 3d 20 24 28 53 54 4f 52 45  IBPATH = $(STORE 71a0: 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c 54 LIBPATH:\\=\).LT 71b0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c LINKOPTS =$(LTL
71c0: 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41  INKOPTS) "/LIBPA
71d0: 54 48 3a 24 28 53 54 4f 52 45 4c 49 42 50 41 54  TH:$(STORELIBPAT 71e0: 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 H)".!ENDIF.!ENDI 71f0: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c F..# When compil 7200: 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 ing for Windows 7210: 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e 20 65 78 Phone 8.1, an ex 7220: 74 72 61 20 6c 69 62 72 61 72 79 20 70 61 74 68 tra library path 7230: 20 69 73 0a 23 20 72 65 71 75 69 72 65 64 2e 0a is.# required.. 7240: 23 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38 31 #.!IF$(USE_WP81
7250: 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 4e 44 45  _OPTS)!=0.!IFNDE
7260: 46 20 57 50 38 31 4c 49 42 50 41 54 48 0a 21 49  F WP81LIBPATH.!I
7270: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"= 7280: 3d 22 78 38 36 22 0a 57 50 38 31 4c 49 42 50 41 ="x86".WP81LIBPA 7290: 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 TH =$(PROGRAMFI
72a0: 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73  LES_X86)\Windows
72b0: 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c   Phone Kits\8.1\
72c0: 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45 49 46 20  lib\x86.!ELSEIF
72d0: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22  "$(PLATFORM)"==" 72e0: 41 52 4d 22 0a 57 50 38 31 4c 49 42 50 41 54 48 ARM".WP81LIBPATH 72f0: 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 =$(PROGRAMFILE
7300: 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50  S_X86)\Windows P
7310: 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69  hone Kits\8.1\li
7320: 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 50 38 31  b\ARM.!ELSE.WP81
7330: 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47  LIBPATH = $(PROG 7340: 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 RAMFILES_X86)\Wi 7350: 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 ndows Phone Kits 7360: 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4e \8.1\lib\x86.!EN 7370: 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 DIF.!ENDIF.!ENDI 7380: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c F..# When compil 7390: 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 ing for Windows 73a0: 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f 6d 65 20 Phone 8.1, some 73b0: 65 78 74 72 61 20 6c 69 6e 6b 65 72 20 6f 70 74 extra linker opt 73c0: 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c 73 6f 20 ions.# are also 73d0: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 required..#.!IF 73e0: 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29$(USE_WP81_OPTS)
73f0: 21 3d 30 0a 21 49 46 44 45 46 20 57 50 38 31 4c  !=0.!IFDEF WP81L
7400: 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54  IBPATH.LTLINKOPT
7410: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS 7420: 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 57 50 ) "/LIBPATH:$(WP
7430: 38 31 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44  81LIBPATH)".!END
7440: 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  IF.LTLINKOPTS =
7450: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44  $(LTLINKOPTS) /D 7460: 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54 4c 49 4e YNAMICBASE.LTLIN 7470: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b KOPTS =$(LTLINK
7480: 4f 50 54 53 29 20 57 69 6e 64 6f 77 73 50 68 6f  OPTS) WindowsPho
7490: 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75 6e 74 69  neCore.lib Runti
74a0: 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20 50 68 6f  meObject.lib Pho
74b0: 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73 74 2e 6c  neAppModelHost.l
74c0: 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  ib.LTLINKOPTS =
74d0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e  $(LTLINKOPTS) /N 74e0: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e ODEFAULTLIB:kern 74f0: 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44 45 46 41 el32.lib /NODEFA 7500: 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69 62 ULTLIB:ole32.lib 7510: 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 .!ENDIF..# When 7520: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 55 57 compiling for UW 7530: 50 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 P or the Windows 7540: 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f 10 platform, so 7550: 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 0a me extra linker. 7560: 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 61 6c # options are al 7570: 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 so required..#.! 7580: 49 46 20 24 28 46 4f 52 5f 55 57 50 29 21 3d 30 IF$(FOR_UWP)!=0
7590: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10) 75a0: 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d !=0.LTLINKOPTS = 75b0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f$(LTLINKOPTS) /
75c0: 44 59 4e 41 4d 49 43 42 41 53 45 20 2f 4e 4f 44  DYNAMICBASE /NOD
75d0: 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c  EFAULTLIB:kernel
75e0: 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54  32.lib.LTLINKOPT
75f0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS 7600: 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62 0a 21 49 ) mincore.lib.!I 7610: 46 44 45 46 20 50 53 44 4b 4c 49 42 50 41 54 48 FDEF PSDKLIBPATH 7620: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 .LTLINKOPTS =$(
7630: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49  LTLINKOPTS) "/LI
7640: 42 50 41 54 48 3a 24 28 50 53 44 4b 4c 49 42 50  BPATH:$(PSDKLIBP 7650: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e ATH)".!ENDIF.!EN 7660: 44 49 46 0a 0a 21 49 46 20 24 28 46 4f 52 5f 57 DIF..!IF$(FOR_W
7670: 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f  IN10)!=0.LTLINKO
7680: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP 7690: 54 53 29 20 2f 67 75 61 72 64 3a 63 66 20 22 2f TS) /guard:cf "/ 76a0: 4c 49 42 50 41 54 48 3a 24 28 55 43 52 54 4c 49 LIBPATH:$(UCRTLI
76b0: 42 50 41 54 48 29 22 0a 21 49 46 20 24 28 44 45  BPATH)".!IF $(DE 76c0: 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54 BUG)>1.LTLINKOPT 76d0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 S =$(LTLINKOPTS
76e0: 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a  ) /NODEFAULTLIB:
76f0: 6c 69 62 75 63 72 74 64 2e 6c 69 62 20 2f 44 45  libucrtd.lib /DE
7700: 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c  FAULTLIB:ucrtd.l
7710: 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f  ib.!ELSE.LTLINKO
7720: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP 7730: 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 TS) /NODEFAULTLI 7740: 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62 20 2f 44 B:libucrt.lib /D 7750: 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c EFAULTLIB:ucrt.l 7760: 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 ib.!ENDIF.!ENDIF 7770: 0a 0a 23 20 49 66 20 65 69 74 68 65 72 20 64 65 ..# If either de 7780: 62 75 67 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f bugging or symbo 7790: 6c 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2c 20 ls are enabled, 77a0: 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21 enable PDBs..#.! 77b0: 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c IF$(DEBUG)>1 ||
77c0: 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c   $(SYMBOLS)!=0.L 77d0: 44 46 4c 41 47 53 20 3d 20 2f 44 45 42 55 47 20 DFLAGS = /DEBUG 77e0: 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a$(LDOPTS).!ELSE.
77f0: 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50  LDFLAGS = $(LDOP 7800: 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c TS).!ENDIF..# << 7810: 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77 mark>>.# Start w 7820: 69 74 68 20 74 68 65 20 54 63 6c 20 72 65 6c 61 ith the Tcl rela 7830: 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f ted linker optio 7840: 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 ns..#.!IF$(NO_T
7850: 43 4c 29 3d 3d 30 0a 54 43 4c 4c 49 42 50 41 54  CL)==0.TCLLIBPAT
7860: 48 53 20 3d 20 24 28 54 43 4c 4c 49 42 50 41 54  HS = $(TCLLIBPAT 7870: 48 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 54 HS) /LIBPATH:$(T
7880: 43 4c 4c 49 42 44 49 52 29 0a 54 43 4c 4c 49 42  CLLIBDIR).TCLLIB
7890: 53 20 3d 20 24 28 54 43 4c 4c 49 42 53 29 20 24  S = $(TCLLIBS)$
78a0: 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a  (LIBTCL).!ENDIF.
78b0: 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f  .# If zlib suppo
78c0: 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61  rt is enabled, a
78d0: 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70  dd the linker op
78e0: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a  tions for it..#.
78f0: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21  !IF $(USE_ZLIB)! 7900: 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 =0.LTLIBPATHS = 7910: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4c$(LTLIBPATHS) /L
7920: 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42  IBPATH:$(ZLIBLIB 7930: 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 DIR).LTLIBS =$(
7940: 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49 42 4c 49  LTLIBS) $(ZLIBLI 7950: 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 B).!ENDIF..# If 7960: 49 43 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 ICU support is e 7970: 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 nabled, add the 7980: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 66 linker options f 7990: 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 or it..#.!IF$(U
79a0: 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54 4c 49 42  SE_ICU)!=0.LTLIB
79b0: 50 41 54 48 53 20 3d 20 24 28 4c 54 4c 49 42 50  PATHS = $(LTLIBP 79c0: 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 ATHS) /LIBPATH:$
79d0: 28 49 43 55 4c 49 42 44 49 52 29 0a 4c 54 4c 49  (ICULIBDIR).LTLI
79e0: 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 24  BS = $(LTLIBS)$
79f0: 28 4c 49 42 49 43 55 29 0a 21 45 4e 44 49 46 0a  (LIBICU).!ENDIF.
7a00: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 59  # <</mark>>..# Y
7a10: 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 68 61  ou should not ha
7a20: 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61 6e 79  ve to change any
7a30: 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68 69 73  thing below this
7a40: 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 23 23 23   line.##########
7a50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7a90: 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  #####..# <<mark>
7aa0: 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65 73  >.# Object files
7ab0: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite
7ac0: 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d 61 6d 61  library (non-ama
7ad0: 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 4c 49  lgamation)..#.LI
7ae0: 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 2e 6c 6f  BOBJS0 = vdbe.lo
7af0: 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 65 72 2e   parse.lo alter.
7b00: 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74  lo analyze.lo at
7b10: 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20  tach.lo auth.lo
7b20: 5c 0a 20 20 20 20 20 20 20 20 20 62 61 63 6b 75  \.         backu
7b30: 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c 6f 20 62  p.lo bitvec.lo b
7b40: 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 65 65 2e  tmutex.lo btree.
7b50: 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20  lo build.lo \.
7b60: 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 2e         callback.
7b70: 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63  lo complete.lo c
7b80: 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  time.lo \.
7b90: 20 20 20 64 61 74 65 2e 6c 6f 20 64 62 70 61 67     date.lo dbpag
7ba0: 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64  e.lo dbstat.lo d
7bb0: 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20  elete.lo \.
7bc0: 20 20 20 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c      expr.lo faul
7bd0: 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20  t.lo fkey.lo \.
7be0: 20 20 20 20 20 20 20 20 66 74 73 33 2e 6c 6f 20          fts3.lo
7bf0: 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33  fts3_aux.lo fts3
7c00: 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61  _expr.lo fts3_ha
7c10: 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c  sh.lo fts3_icu.l
7c20: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73  o \.         fts
7c30: 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33  3_porter.lo fts3
7c40: 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66 74 73 33  _snippet.lo fts3
7c50: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74  _tokenizer.lo ft
7c60: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f  s3_tokenizer1.lo
7c70: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33   \.         fts3
7c80: 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c  _tokenize_vtab.l
7c90: 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c  o fts3_unicode.l
7ca0: 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  o fts3_unicode2.
7cb0: 6c 6f 20 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f  lo fts3_write.lo
7cc0: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 35   \.         fts5
7cd0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
7ce0: 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f  unc.lo global.lo
7cf0: 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20   hash.lo \.
7d00: 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72      icu.lo inser
7d10: 74 2e 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c  t.lo legacy.lo l
7d20: 6f 61 64 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20  oadext.lo \.
7d30: 20 20 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c       main.lo mal
7d40: 6c 6f 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d  loc.lo mem0.lo m
7d50: 65 6d 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d  em1.lo mem2.lo m
7d60: 65 6d 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c  em3.lo mem5.lo \
7d70: 0a 20 20 20 20 20 20 20 20 20 6d 65 6d 6a 6f 75  .         memjou
7d80: 72 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  rnal.lo \.
7d90: 20 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65     mutex.lo mute
7da0: 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f  x_noop.lo mutex_
7db0: 75 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33  unix.lo mutex_w3
7dc0: 32 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  2.lo \.
7dd0: 6e 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65  notify.lo opcode
7de0: 73 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e  s.lo os.lo os_un
7df0: 69 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20  ix.lo os_win.lo
7e00: 5c 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 72  \.         pager
7e10: 2e 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20 70 63  .lo pcache.lo pc
7e20: 61 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e  ache1.lo pragma.
7e30: 6c 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20 70 72  lo prepare.lo pr
7e40: 69 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  intf.lo \.
7e50: 20 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73     random.lo res
7e60: 6f 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c  olve.lo rowset.l
7e70: 6f 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20 20 20  o rtree.lo \.
7e80: 20 20 20 20 20 20 73 71 6c 69 74 65 33 73 65 73        sqlite3ses
7e90: 73 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c  sion.lo select.l
7ea0: 6f 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20  o sqlite3rbu.lo
7eb0: 73 74 61 74 75 73 2e 6c 6f 20 5c 0a 20 20 20 20  status.lo \.
7ec0: 20 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68       table.lo th
7ed0: 72 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a  reads.lo tokeniz
7ee0: 65 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f  e.lo treeview.lo
7ef0: 20 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20   trigger.lo \.
7f00: 20 20 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f         update.lo
7f10: 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e   util.lo vacuum.
7f20: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64  lo \.         vd
7f30: 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78  beapi.lo vdbeaux
7f40: 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20  .lo vdbeblob.lo
7f50: 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73  vdbemem.lo vdbes
7f60: 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ort.lo \.
7f70: 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77    vdbetrace.lo w
7f80: 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20  al.lo walker.lo
7f90: 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f  where.lo whereco
7fa0: 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72 2e  de.lo whereexpr.
7fb0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 74  lo \.         ut
7fc0: 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 3c  f.lo vtab.lo.# <
7fd0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65  </mark>>..# Obje
7fe0: 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65  ct files for the
7ff0: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
8000: 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c 69  .LIBOBJS1 = sqli
8010: 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 6d  te3.lo..# Determ
8020: 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61 6c  ine the real val
8030: 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61 73  ue of LIBOBJ bas
8040: 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66 69  ed on the 'confi
8050: 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a 23  gure' script.#.#
8060: 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 28   <<mark>>.!IF $( 8070: 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e USE_AMALGAMATION 8080: 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 )==0.LIBOBJ =$(
8090: 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45 0a  LIBOBJS0).!ELSE.
80a0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f  # <</mark>>.LIBO
80b0: 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31 29  BJ = $(LIBOBJS1) 80c0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44 .# <<mark>>.!END 80d0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a IF.# <</mark>>.. 80e0: 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20 65 # Determine if e 80f0: 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72 63 65 mbedded resource 8100: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 compilation and 8110: 20 75 73 61 67 65 20 61 72 65 20 65 6e 61 62 6c usage are enabl 8120: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f ed..#.!IF$(USE_
8130: 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42 4a  RC)!=0.LIBRESOBJ
8140: 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e 6c  S = sqlite3res.l
8150: 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f 42  o.!ELSE.LIBRESOB
8160: 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  JS =.!ENDIF..# <
8170: 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20 73  <mark>>.# Core s
8180: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73  ource code files
8190: 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30  , part 1..#.SRC0
81a0: 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  0 = \.  $(TOP)\s 81b0: 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20 24 rc\alter.c \.$
81c0: 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a  (TOP)\src\analyz
81d0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 81e0: 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20 20 rc\attach.c \. 81f0: 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e$(TOP)\src\auth.
8200: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8210: 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 \backup.c \.$(
8220: 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e  TOP)\src\bitvec.
8230: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8240: 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 \btmutex.c \.$
8250: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
8260: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8270: 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54 \build.c \.$(T
8280: 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b  OP)\src\callback
8290: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 82a0: 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a 20 c\complete.c \. 82b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d$(TOP)\src\ctim
82c0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 82d0: 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 rc\date.c \.$(
82e0: 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65 2e  TOP)\src\dbpage.
82f0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8300: 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20 24 28 \dbstat.c \.$(
8310: 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e  TOP)\src\delete.
8320: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8330: 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f \expr.c \.$(TO
8340: 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 5c  P)\src\fault.c \
8350: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b  .  $(TOP)\src\fk 8360: 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ey.c \.$(TOP)\
8370: 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 20 24  src\func.c \.  $8380: 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c (TOP)\src\global 8390: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
83a0: 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54  c\hash.c \.  $(T 83b0: 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 OP)\src\insert.c 83c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
83d0: 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24 28 54  legacy.c \.  $(T 83e0: 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e OP)\src\loadext. 83f0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8400: 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f  \main.c \.  $(TO 8410: 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 P)\src\malloc.c 8420: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d \.$(TOP)\src\m
8430: 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  em0.c \.  $(TOP) 8440: 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20 20 \src\mem1.c \. 8450: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e$(TOP)\src\mem2.
8460: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8470: 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28 54 4f \mem3.c \.$(TO
8480: 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c 0a  P)\src\mem5.c \.
8490: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem 84a0: 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 journal.c \.$(
84b0: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63  TOP)\src\mutex.c
84c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 84d0: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20 mutex_noop.c \. 84e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65$(TOP)\src\mute
84f0: 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54  x_unix.c \.  $(T 8500: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 OP)\src\mutex_w3 8510: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 2.c \.$(TOP)\s
8520: 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a 20 20  rc\notify.c \.
8530: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20  $(TOP)\src\os.c 8540: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f \.$(TOP)\src\o
8550: 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54  s_unix.c \.  $(T 8560: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 OP)\src\os_win.c 8570: 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20 ..# Core source 8580: 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 code files, part 8590: 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20 5c 0a 2..#.SRC01 = \. 85a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67$(TOP)\src\pag
85b0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\ 85c0: 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c 0a 20 src\pcache.c \. 85d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63$(TOP)\src\pcac
85e0: 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  he1.c \.  $(TOP) 85f0: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 5c 0a \src\pragma.c \. 8600: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65$(TOP)\src\pre
8610: 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pare.c \.  $(TOP 8620: 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 5c )\src\printf.c \ 8630: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 .$(TOP)\src\ra
8640: 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ndom.c \.  $(TOP 8650: 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 )\src\resolve.c 8660: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 \.$(TOP)\src\r
8670: 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f  owset.c \.  $(TO 8680: 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 P)\src\select.c 8690: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 \.$(TOP)\src\s
86a0: 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 28 54 4f  tatus.c \.  $(TO 86b0: 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 5c P)\src\table.c \ 86c0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 .$(TOP)\src\th
86d0: 72 65 61 64 73 2e 63 20 5c 0a 20 20 24 28 54 4f  reads.c \.  $(TO 86e0: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 P)\src\tclsqlite 86f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8700: 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20  c\tokenize.c \.
8710: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65   $(TOP)\src\tree 8720: 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 view.c \.$(TOP
8730: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20  )\src\trigger.c
8740: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75  \.  $(TOP)\src\u 8750: 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c tf.c \.$(TOP)\
8760: 73 72 63 5c 75 70 64 61 74 65 2e 63 20 5c 0a 20  src\update.c \.
8770: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c   $(TOP)\src\util 8780: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8790: 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24  c\vacuum.c \.  $87a0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 (TOP)\src\vdbe.c 87b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
87c0: 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28  vdbeapi.c \.  $( 87d0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 TOP)\src\vdbeaux 87e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
87f0: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20  c\vdbeblob.c \.
8800: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe 8810: 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 mem.c \.$(TOP)
8820: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20  \src\vdbesort.c
8830: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v 8840: 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24 dbetrace.c \.$
8850: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63  (TOP)\src\vtab.c
8860: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8870: 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 wal.c \.$(TOP)
8880: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a  \src\walker.c \.
8890: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65    $(TOP)\src\whe 88a0: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c re.c \.$(TOP)\
88b0: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20  src\wherecode.c
88c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w 88d0: 68 65 72 65 65 78 70 72 2e 63 0a 0a 23 20 43 6f hereexpr.c..# Co 88e0: 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 re miscellaneous 88f0: 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30 33 20 files..#.SRC03 8900: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 = \.$(TOP)\src
8910: 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f 72 65  \parse.y..# Core
8920: 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70   header files, p
8930: 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34 20 3d  art 1..#.SRC04 =
8940: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8950: 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f btree.h \.$(TO
8960: 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e  P)\src\btreeInt.
8970: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src 8980: 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f \hash.h \.$(TO
8990: 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68 20  P)\src\hwtime.h
89a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m 89b0: 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 svc.h \.$(TOP)
89c0: 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20  \src\mutex.h \.
89d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68   $(TOP)\src\os.h 89e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
89f0: 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20  os_common.h \.
8a00: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65  $(TOP)\src\os_se 8a10: 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 tup.h \.$(TOP)
8a20: 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a 0a 23  \src\os_win.h..#
8a30: 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 69 6c   Core header fil
8a40: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52  es, part 2..#.SR
8a50: 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C05 = \.  $(TOP) 8a60: 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a 20 \src\pager.h \. 8a70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63$(TOP)\src\pcac
8a80: 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  he.h \.  $(TOP)\ 8a90: 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a 20 src\pragma.h \. 8aa0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69$(TOP)\src\sqli
8ab0: 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 54 4f  te.h.in \.  $(TO 8ac0: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 65 78 P)\src\sqlite3ex 8ad0: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 t.h \.$(TOP)\s
8ae0: 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c  rc\sqliteInt.h \
8af0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  .  $(TOP)\src\sq 8b00: 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 liteLimit.h \. 8b10: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e$(TOP)\src\vdbe.
8b20: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src 8b30: 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20 24 \vdbeInt.h \.$
8b40: 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b  (TOP)\src\vxwork
8b50: 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.h \.  $(TOP)\s 8b60: 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24 28 54 rc\wal.h \.$(T
8b70: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74  OP)\src\whereInt
8b80: 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20  .h..# Extension
8b90: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
8ba0: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43  s, part 1..#.SRC
8bb0: 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c  06 = \.  $(TOP)\ 8bc0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 63 20 ext\fts1\fts1.c 8bd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
8be0: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 63 20  ts1\fts1_hash.c
8bf0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 8c00: 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65 72 2e ts1\fts1_porter. 8c10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
8c20: 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e  \fts1\fts1_token
8c30: 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 54 4f  izer1.c \.  $(TO 8c40: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 8c50: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
8c60: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68  t\fts2\fts2_hash
8c70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 8c80: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e t\fts2\fts2_icu. 8c90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
8ca0: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65  \fts2\fts2_porte
8cb0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 8cc0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b xt\fts2\fts2_tok 8cd0: 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 enizer.c \.$(T
8ce0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
8cf0: 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a  2_tokenizer1.c..
8d00: 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72  # Extension sour
8d10: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70  ce code files, p
8d20: 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37 20 3d  art 2..#.SRC07 =
8d30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8d40: 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a 20 20 fts3\fts3.c \. 8d50: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
8d60: 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20 20 24  fts3_aux.c \.  $8d70: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f 8d80: 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20 20 24 ts3_expr.c \.$
8d90: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8da0: 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24  ts3_hash.c \.  $8db0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f 8dc0: 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28 ts3_icu.c \.$(
8dd0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8de0: 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s3_porter.c \.
8df0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 8e00: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 5c fts3_snippet.c \ 8e10: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
8e20: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
8e30: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 8e40: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b xt\fts3\fts3_tok 8e50: 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 enizer1.c \.$(
8e60: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8e70: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
8e80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 8e90: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 t\fts3\fts3_unic 8ea0: 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ode.c \.$(TOP)
8eb0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75  \ext\fts3\fts3_u
8ec0: 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 24 28  nicode2.c \.  $( 8ed0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 8ee0: 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20 20 24 s3_write.c \.$
8ef0: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63  (TOP)\ext\icu\ic
8f00: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e 8f10: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63 xt\rtree\rtree.c 8f20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8f30: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
8f40: 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24 28 54  ession.c \.  $(T 8f50: 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 OP)\ext\rbu\sqli 8f60: 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24 28 54 te3rbu.c \.$(T
8f70: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f  OP)\ext\misc\jso
8f80: 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  n1.c \.  $(TOP)\ 8f90: 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a ext\misc\stmt.c. 8fa0: 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 .# Extension hea 8fb0: 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 der files, part 8fc0: 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a 20 1..#.SRC08 = \. 8fd0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31$(TOP)\ext\fts1
8fe0: 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts1.h \.  $(TO 8ff0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 P)\ext\fts1\fts1 9000: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f _hash.h \.$(TO
9010: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
9020: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20  _tokenizer.h \.
9030: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 9040: 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f \fts2.h \.$(TO
9050: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
9060: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO 9070: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 9080: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23 20 _tokenizer.h..# 9090: 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 Extension header 90a0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a files, part 2.. 90b0: 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20 24 28 #.SRC09 = \.$(
90c0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
90d0: 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s3.h \.  $(TOP)\ 90e0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74 ext\fts3\fts3Int 90f0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .h \.$(TOP)\ex
9100: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
9110: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex 9120: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 t\fts3\fts3_toke 9130: 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f nizer.h \.$(TO
9140: 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74  P)\ext\icu\sqlit
9150: 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eicu.h \.  $(TOP 9160: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 )\ext\rtree\rtre 9170: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 e.h \.$(TOP)\e
9180: 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62  xt\rbu\sqlite3rb
9190: 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.h \.  $(TOP)\e 91a0: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 xt\session\sqlit 91b0: 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 47 e3session.h..# G 91c0: 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65 20 enerated source 91d0: 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43 code files.#.SRC 91e0: 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 73 10 = \. opcodes 91f0: 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a 0a .c \. parse.c.. 9200: 23 20 47 65 6e 65 72 61 74 65 64 20 68 65 61 64 # Generated head 9210: 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 31 er files.#.SRC11 9220: 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61 = \. keywordha 9230: 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73 sh.h \. opcodes 9240: 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 5c .h \. parse.h \ 9250: 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 24 . shell.c \.$
9260: 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20 47 65  (SQLITE3H)..# Ge
9270: 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65 61 64  nerated Tcl head
9280: 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46 20 24  er files.#.!IF $9290: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 (USE_STDCALL)!=0 92a0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 ||$(FOR_WIN10)
92b0: 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a 20 20  !=0.SRC12 = \.
92c0: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 5c 0a  $(SQLITETCLH) \. 92d0: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43$(SQLITETCLDEC
92e0: 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43 31 32  LSH).!ELSE.SRC12
92f0: 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 6c   =.!ENDIF..# All
9300: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
9310: 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52  es..#.SRC = $(SR 9320: 43 30 30 29 20 24 28 53 52 43 30 31 29 20 24 28 C00)$(SRC01) $( 9330: 53 52 43 30 33 29 20 24 28 53 52 43 30 34 29 20 SRC03)$(SRC04)
9340: 24 28 53 52 43 30 35 29 20 24 28 53 52 43 30 36  $(SRC05)$(SRC06
9350: 29 20 24 28 53 52 43 30 37 29 20 24 28 53 52 43  ) $(SRC07)$(SRC
9360: 30 38 29 20 24 28 53 52 43 30 39 29 20 24 28 53  08) $(SRC09)$(S
9370: 52 43 31 30 29 20 24 28 53 52 43 31 31 29 0a 0a  RC10) $(SRC11).. 9380: 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f # Source code to 9390: 20 74 68 65 20 74 65 73 74 20 66 69 6c 65 73 2e the test files. 93a0: 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c 0a 20 .#.TESTSRC = \. 93b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
93c0: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  1.c \.  $(TOP)\s 93d0: 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20 20 24 rc\test2.c \.$
93e0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 33 2e  (TOP)\src\test3.
93f0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9400: 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24 28 54 \test4.c \.$(T
9410: 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e 63 20  OP)\src\test5.c
9420: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9430: 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54 4f 50 est6.c \.$(TOP
9440: 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20 5c 0a  )\src\test7.c \.
9450: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9460: 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c t8.c \.$(TOP)\
9470: 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a 20 20  src\test9.c \.
9480: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 9490: 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20 24 28 autoext.c \.$(
94a0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 73  TOP)\src\test_as
94b0: 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ync.c \.  $(TOP) 94c0: 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b 75 70 \src\test_backup 94d0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
94e0: 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64 65 78  c\test_bestindex
94f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 9500: 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20 5c 0a c\test_blob.c \. 9510: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9520: 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  t_btree.c \.  $( 9530: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 63 6f TOP)\src\test_co 9540: 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54 4f 50 nfig.c \.$(TOP
9550: 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c 65 74  )\src\test_delet
9560: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 9570: 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73 2e rc\test_demovfs. 9580: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
9590: 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63 20 5c  \test_devsym.c \
95a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 95b0: 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f st_fs.c \.$(TO
95c0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75 6e 63  P)\src\test_func
95d0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 95e0: 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63 20 5c c\test_hexio.c \ 95f0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
9600: 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 24 28  st_init.c \.  $( 9610: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e TOP)\src\test_in 9620: 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54 tarray.c \.$(T
9630: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a 6f 75  OP)\src\test_jou
9640: 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rnal.c \.  $(TOP 9650: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c 6c 6f )\src\test_mallo 9660: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 c.c \.$(TOP)\s
9670: 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20 5c 0a  rc\test_md5.c \.
9680: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9690: 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c 0a t_multiplex.c \. 96a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
96b0: 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28  t_mutex.c \.  $( 96c0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 6e TOP)\src\test_on 96d0: 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f efile.c \.$(TO
96e0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69 6e  P)\src\test_osin
96f0: 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  st.c \.  $(TOP)\ 9700: 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 2e src\test_pcache. 9710: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
9720: 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c 0a  \test_quota.c \.
9730: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9740: 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 t_rtree.c \.$(
9750: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 63  TOP)\src\test_sc
9760: 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50  hema.c \.  $(TOP 9770: 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 65 )\src\test_serve 9780: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 r.c \.$(TOP)\s
9790: 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f 63  rc\test_superloc
97a0: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  k.c \.  $(TOP)\s 97b0: 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c 2e rc\test_syscall. 97c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
97d0: 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20 5c 0a  \test_tclsh.c \.
97e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 97f0: 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20 24 t_tclvar.c \.$
9800: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74  (TOP)\src\test_t
9810: 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 54 4f  hread.c \.  $(TO 9820: 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e P)\src\test_vfs. 9830: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
9840: 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e  \test_windirent.
9850: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9860: 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a 20 20 \test_wsd.c \. 9870: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
9880: 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a 20 20  fts3_term.c \.
9890: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 98a0: 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a 20 20 fts3_test.c \. 98b0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 74$(TOP)\ext\rbu\t
98c0: 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20 24 28  est_rbu.c \.  $( 98d0: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e TOP)\ext\session 98e0: 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e 63 0a \test_session.c. 98f0: 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20 6c 69 .# Statically li 9900: 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e 73 2e nked extensions. 9910: 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c 0a 20 .#.TESTEXT = \. 9920: 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65$(TOP)\ext\expe
9930: 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74  rt\sqlite3expert
9940: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9950: 74 5c 65 78 70 65 72 74 5c 74 65 73 74 5f 65 78 t\expert\test_ex 9960: 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 pert.c \.$(TOP
9970: 29 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61 74 63  )\ext\misc\amatc
9980: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.c \.  $(TOP)\e 9990: 78 74 5c 6d 69 73 63 5c 63 61 72 72 61 79 2e 63 xt\misc\carray.c 99a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
99b0: 6d 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63 20 5c  misc\closure.c \
99c0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi 99d0: 73 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24 28 54 sc\csv.c \.$(T
99e0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 76 61  OP)\ext\misc\eva
99f0: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  l.c \.  $(TOP)\e 9a00: 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 xt\misc\fileio.c 9a10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9a20: 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a  misc\fuzzer.c \.
9a30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 9a40: 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20 5\fts5_tcl.c \. 9a50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35$(TOP)\ext\fts5
9a60: 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20  \fts5_test_mi.c
9a70: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9a80: 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f ts5\fts5_test_to 9a90: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 k.c \.$(TOP)\e
9aa0: 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35 34 2e  xt\misc\ieee754.
9ab0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 9ac0: 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d 2e 63 \misc\mmapwarm.c 9ad0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9ae0: 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e 63 20  misc\nextchar.c
9af0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 9b00: 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63 isc\percentile.c 9b10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9b20: 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a  misc\regexp.c \.
9b30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis 9b40: 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c 0a 20 c\remember.c \. 9b50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
9b60: 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24 28  \series.c \.  $( 9b70: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70 TOP)\ext\misc\sp 9b80: 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28 54 ellfix.c \.$(T
9b90: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74  OP)\ext\misc\tot
9ba0: 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ype.c \.  $(TOP) 9bb0: 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f 6e 76 \ext\misc\unionv 9bc0: 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 tab.c \.$(TOP)
9bd0: 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e  \ext\misc\wholen
9be0: 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20 75 73  umber.c..# If us
9bf0: 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e 61  e of zlib is ena
9c00: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 22 7a  bled, add the "z
9c10: 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 63 65  ipfile.c" source
9c20: 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55   file..#.!IF $(U 9c30: 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45 53 54 SE_ZLIB)!=0.TEST 9c40: 45 58 54 20 3d 20 24 28 54 45 53 54 45 58 54 29 EXT =$(TESTEXT)
9c50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 9c60: 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49 \zipfile.c.!ENDI 9c70: 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 F..# Source code 9c80: 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 20 to the library 9c90: 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79 20 files needed by 9ca0: 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65 the test fixture 9cb0: 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 .# (non-amalgama 9cc0: 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43 32 tion).#.TESTSRC2 9cd0: 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29 20 = \.$(SRC00)
9ce0: 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a 20  \.  $(SRC01) \. 9cf0: 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24 28$(SRC06) \.  $( 9d00: 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52 43 SRC07) \.$(SRC
9d10: 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  10) \.  $(TOP)\e 9d20: 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65 33 xt\async\sqlite3 9d30: 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64 65 async.c..# Heade 9d40: 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 r files used by 9d50: 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75 72 all library sour 9d60: 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20 ce files..#.HDR 9d70: 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 = \.$(TOP)\sr
9d80: 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20 24  c\btree.h \.   $9d90: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 (TOP)\src\btreeI 9da0: 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 nt.h \.$(TOP)
9db0: 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20  \src\hash.h \.
9dc0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69   $(TOP)\src\hwti 9dd0: 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f 72 me.h \. keywor 9de0: 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 dhash.h \.$(T
9df0: 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c  OP)\src\msvc.h \
9e00: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  .   $(TOP)\src\m 9e10: 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63 6f utex.h \. opco 9e20: 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 des.h \.$(TOP
9e30: 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 20  )\src\os.h \.
9e40: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f  $(TOP)\src\os_co 9e50: 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f mmon.h \.$(TO
9e60: 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e  P)\src\os_setup.
9e70: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr 9e80: 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 c\os_win.h \. 9e90: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72$(TOP)\src\pager
9ea0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s 9eb0: 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 rc\pcache.h \. 9ec0: 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 parse.h \.$(
9ed0: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e  TOP)\src\pragma.
9ee0: 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45 33  h \.   $(SQLITE3 9ef0: 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 33 65 H) \. sqlite3e 9f00: 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 xt.h \.$(TOP)
9f10: 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68  \src\sqliteInt.h
9f20: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src 9f30: 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c \sqliteLimit.h \ 9f40: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 .$(TOP)\src\v
9f50: 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  dbe.h \.   $(TOP 9f60: 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 )\src\vdbeInt.h 9f70: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9f80: 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24  vxworks.h \.   $9f90: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 (TOP)\src\whereI 9fa0: 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20 66 nt.h..# Header f 9fb0: 69 6c 65 73 20 75 73 65 64 20 62 79 20 65 78 74 iles used by ext 9fc0: 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52 ensions.#.EXTHDR 9fd0: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 =$(EXTHDR) \.
9fe0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1 9ff0: 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f \fts1.h \.$(TO
a000: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
a010: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO a020: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 P)\ext\fts1\fts1 a030: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 _tokenizer.h.EXT a040: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 HDR =$(EXTHDR)
a050: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f a060: 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 ts2\fts2.h \.$
a070: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
a080: 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts2_hash.h \.  $a090: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f a0a0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a ts2_tokenizer.h. a0b0: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 EXTHDR =$(EXTHD
a0c0: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  R) \.  $(TOP)\ex a0d0: 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a t\fts3\fts3.h \. a0e0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
a0f0: 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20  3\fts3Int.h \.
a100: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ a110: 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 fts3_hash.h \. a120: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
a130: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts3_tokenizer.h
a140: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH a150: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 DR) \.$(TOP)\e
a160: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 68  xt\rtree\rtree.h
a170: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH a180: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 DR) \.$(TOP)\e
a190: 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75  xt\icu\sqliteicu
a1a0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX a1b0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 THDR) \.$(TOP)
a1c0: 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 74  \ext\rtree\sqlit
a1d0: 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52  e3rtree.h.EXTHDR
a1e0: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. a1f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73$(TOP)\ext\sess
a200: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
a210: 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 62  on.h..# executab
a220: 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74  les needed for t
a230: 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 4f  esting.#.TESTPRO
a240: 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 78  GS = \.  testfix
a250: 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 53  ture.exe \.  $(S a260: 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20 73 QLITE3EXE) \. s a270: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e qlite3_analyzer. a280: 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f exe \. sqlite3_ a290: 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20 20 checker.exe \. a2a0: 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20 20 sqldiff.exe \. a2b0: 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20 20 73 dbhash.exe \. s a2c0: 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20 44 qltclsh.exe..# D a2d0: 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69 6e atabases contain a2e0: 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74 20 ing fuzzer test a2f0: 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54 41 cases.#.FUZZDATA a300: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 = \.$(TOP)\te
a310: 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 20  st\fuzzdata1.db
a320: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\ a330: 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a 20 fuzzdata2.db \. a340: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a$(TOP)\test\fuz
a350: 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 28  zdata3.db \.  $( a360: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 TOP)\test\fuzzda a370: 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 ta4.db \.$(TOP
a380: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 35  )\test\fuzzdata5
a390: 2e 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  .db.# <</mark>>.
a3a0: 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f  .# Additional co
a3b0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66  mpiler options f
a3c0: 6f 72 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54  or the shell.  T
a3d0: 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66  hese are only ef
a3e0: 66 65 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74  fective.# when t
a3f0: 68 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20  he shell is not
a400: 62 65 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c  being dynamicall
a410: 79 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20  y linked..#.!IF
a420: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL) a430: 3d 3d 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e ==0 &&$(FOR_WIN
a440: 31 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)==0.SHELL_COM
a450: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH a460: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ELL_COMPILE_OPTS a470: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ) -DSQLITE_ENABL a480: 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 E_JSON1 -DSQLITE a490: 5f 45 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 53 _ENABLE_FTS4 -DS a4a0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50 QLITE_ENABLE_EXP a4b0: 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 20 2d 44 LAIN_COMMENTS -D a4c0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 SQLITE_ENABLE_ST a4d0: 4d 54 56 54 41 42 0a 53 48 45 4c 4c 5f 43 4f 4d MTVTAB.SHELL_COM a4e0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 PILE_OPTS =$(SH
a4f0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a500: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
a510: 45 5f 44 42 50 41 47 45 5f 56 54 41 42 20 2d 44  E_DBPAGE_VTAB -D
a520: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42  SQLITE_ENABLE_DB
a530: 53 54 41 54 5f 56 54 41 42 0a 53 48 45 4c 4c 5f  STAT_VTAB.SHELL_
a540: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $a550: 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f (SHELL_COMPILE_O a560: 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e PTS) -DSQLITE_EN a570: 41 42 4c 45 5f 4f 46 46 53 45 54 5f 53 51 4c 5f ABLE_OFFSET_SQL_ a580: 46 55 4e 43 20 2d 44 53 51 4c 49 54 45 5f 49 4e FUNC -DSQLITE_IN a590: 54 52 4f 53 50 45 43 54 49 4f 4e 5f 50 52 41 47 TROSPECTION_PRAG a5a0: 4d 41 53 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c MAS.!ENDIF..# << a5b0: 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20 63 mark>>.# Extra c a5c0: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 ompiler options a5d0: 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65 73 74 for various test a5e0: 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53 54 tools..#.MPTEST a5f0: 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 ER_COMPILE_OPTS a600: 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c = -DSQLITE_ENABL a610: 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 E_JSON1 -DSQLITE a620: 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55 5a _ENABLE_FTS5.FUZ a630: 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 ZERSHELL_COMPILE a640: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 _OPTS = -DSQLITE a650: 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55 _ENABLE_JSON1.FU a660: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f ZZCHECK_COMPILE_ a670: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f OPTS = -DSQLITE_ a680: 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 ENABLE_JSON1 -DS a690: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d QLITE_ENABLE_MEM a6a0: 53 59 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f 53 SYS5 -DSQLITE_OS a6b0: 53 5f 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45 5f S_FUZZ -DSQLITE_ a6c0: 4d 41 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30 30 MAX_MEMORY=50000 a6d0: 30 30 30 0a 46 55 5a 5a 43 48 45 43 4b 5f 53 52 000.FUZZCHECK_SR a6e0: 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c C =$(TOP)\test\
a6f0: 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 54 4f  fuzzcheck.c $(TO a700: 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e P)\test\ossfuzz. a710: 63 0a 4f 53 53 53 48 45 4c 4c 5f 53 52 43 20 3d c.OSSSHELL_SRC = a720: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73$(TOP)\test\oss
a730: 73 68 65 6c 6c 2e 63 20 24 28 54 4f 50 29 5c 74  shell.c $(TOP)\t a740: 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 44 42 est\ossfuzz.c.DB a750: 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 FUZZ_COMPILE_OPT a760: 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 S = -DSQLITE_THR a770: 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 EADSAFE=0 -DSQLI a780: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 TE_OMIT_LOAD_EXT a790: 45 4e 53 49 4f 4e 0a 4b 56 5f 43 4f 4d 50 49 4c ENSION.KV_COMPIL a7a0: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 E_OPTS = -DSQLIT a7b0: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d E_THREADSAFE=0 - a7c0: 44 53 51 4c 49 54 45 5f 44 49 52 45 43 54 5f 4f DSQLITE_DIRECT_O a7d0: 56 45 52 46 4c 4f 57 5f 52 45 41 44 0a 44 42 53 VERFLOW_READ.DBS a7e0: 45 4c 46 54 45 53 54 5f 43 4f 4d 50 49 4c 45 5f ELFTEST_COMPILE_ a7f0: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f OPTS = -DSQLITE_ a800: 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 THREADSAFE=0 -DS a810: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f QLITE_OMIT_LOAD_ a820: 45 58 54 45 4e 53 49 4f 4e 20 2d 44 53 51 4c 49 EXTENSION -DSQLI a830: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 20 TE_ENABLE_RTREE a840: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ a850: 46 54 53 34 20 2d 44 53 51 4c 49 54 45 5f 45 4e FTS4 -DSQLITE_EN a860: 41 42 4c 45 5f 46 54 53 35 0a 53 54 5f 43 4f 4d ABLE_FTS5.ST_COM a870: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 PILE_OPTS = -DSQ a880: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d LITE_THREADSAFE= a890: 30 0a 0a 23 20 53 74 61 6e 64 61 72 64 20 6f 70 0..# Standard op a8a0: 74 69 6f 6e 73 20 74 6f 20 74 65 73 74 66 69 78 tions to testfix a8b0: 74 75 72 65 2e 0a 23 0a 54 45 53 54 4f 50 54 53 ture..#.TESTOPTS a8c0: 20 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66 69 6c = --verbose=fil a8d0: 65 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73 74 2d e --output=test- a8e0: 6f 75 74 2e 74 78 74 0a 0a 23 20 45 78 74 72 61 out.txt..# Extra a8f0: 20 74 61 72 67 65 74 73 20 66 6f 72 20 74 68 65 targets for the a900: 20 22 61 6c 6c 22 20 74 61 72 67 65 74 20 74 68 "all" target th a910: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 2e 0a at require Tcl.. a920: 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d #.!IF$(NO_TCL)=
a930: 3d 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45  =0.ALL_TCL_TARGE
a940: 54 53 20 3d 20 6c 69 62 74 63 6c 73 71 6c 69 74  TS = libtclsqlit
a950: 65 33 2e 6c 69 62 0a 21 45 4c 53 45 0a 41 4c 4c  e3.lib.!ELSE.ALL
a960: 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 0a 21  _TCL_TARGETS =.!
a970: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  ENDIF.# <</mark>
a980: 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  >..# This is the
a990: 20 64 65 66 61 75 6c 74 20 4d 61 6b 65 66 69 6c   default Makefil
a9a0: 65 20 74 61 72 67 65 74 2e 20 20 54 68 65 20 6f  e target.  The o
a9b0: 62 6a 65 63 74 73 20 6c 69 73 74 65 64 20 68 65  bjects listed he
a9c0: 72 65 0a 23 20 61 72 65 20 77 68 61 74 20 67 65  re.# are what ge
a9d0: 74 20 62 75 69 6c 64 20 77 68 65 6e 20 79 6f 75  t build when you
a9e0: 20 74 79 70 65 20 6a 75 73 74 20 22 6d 61 6b 65   type just "make
a9f0: 22 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65  " with no argume
aa00: 6e 74 73 2e 0a 23 0a 63 6f 72 65 3a 09 64 6c 6c  nts..#.core:.dll
aa10: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20   libsqlite3.lib
aa20: 73 68 65 6c 6c 0a 0a 23 20 54 61 72 67 65 74 73  shell..# Targets
aa30: 20 74 68 61 74 20 72 65 71 75 69 72 65 20 74 68   that require th
aa40: 65 20 54 63 6c 20 6c 69 62 72 61 72 79 2e 0a 23  e Tcl library..#
aa50: 0a 74 63 6c 3a 09 24 28 41 4c 4c 5f 54 43 4c 5f  .tcl:.$(ALL_TCL_ aa60: 54 41 52 47 45 54 53 29 0a 0a 23 20 54 68 69 73 TARGETS)..# This aa70: 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 Makefile target aa80: 20 62 75 69 6c 64 73 20 61 6c 6c 20 6f 66 20 74 builds all of t aa90: 68 65 20 73 74 61 6e 64 61 72 64 20 62 69 6e 61 he standard bina aaa0: 72 69 65 73 2e 0a 23 0a 61 6c 6c 3a 09 63 6f 72 ries..#.all:.cor aab0: 65 20 74 63 6c 0a 0a 23 20 44 79 6e 61 6d 69 63 e tcl..# Dynamic aac0: 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 73 65 link library se aad0: 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09 24 28 ction..#.dll:.$(
aae0: 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23 20 53  SQLITE3DLL)..# S
aaf0: 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e  hell executable.
ab00: 0a 23 0a 73 68 65 6c 6c 3a 09 24 28 53 51 4c 49  .#.shell:.$(SQLI ab10: 54 45 33 45 58 45 29 0a 0a 23 20 3c 3c 6d 61 72 TE3EXE)..# <<mar ab20: 6b 3e 3e 0a 6c 69 62 73 71 6c 69 74 65 33 2e 6c k>>.libsqlite3.l ab30: 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a 09 24 ib:.$(LIBOBJ)..$ab40: 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f (LTLIB)$(LTLIBO
ab50: 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c  PTS) /OUT:$@$(L
ab60: 49 42 4f 42 4a 29 20 24 28 54 4c 49 42 53 29 0a  IBOBJ) $(TLIBS). ab70: 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c .libtclsqlite3.l ab80: 69 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e 6c 6f ib:.tclsqlite.lo ab90: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a libsqlite3.lib. aba0: 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49 .$(LTLIB) $(LTLI abb0: 42 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 BOPTS)$(LTLIBPA
abc0: 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c  THS) /OUT:$@ tcl abd0: 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c sqlite.lo libsql abe0: 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 54 43 ite3.lib$(LIBTC
abf0: 4c 53 54 55 42 29 20 24 28 54 4c 49 42 53 29 0a  LSTUB) $(TLIBS). ac00: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53 # <</mark>>..$(S
ac10: 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28 4c 49  QLITE3DLL):.$(LI ac20: 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 BOBJ)$(LIBRESOB
ac30: 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f  JS) $(CORE_LINK_ ac40: 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28 4c 44 DEP)..$(LD) $(LD ac50: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
ac60: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH ac70: 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45 5f 4c S) /DLL$(CORE_L
ac80: 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54 3a 24  INK_OPTS) /OUT:$ac90: 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 @$(LIBOBJ) $(LI aca0: 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 BRESOBJS)$(LTLI
acb0: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20  BS) $(TLIBS)..# acc0: 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74 <<block2>>.sqlit acd0: 65 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c 69 74 e3.def:.libsqlit ace0: 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45 58 50 e3.lib..echo EXP acf0: 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33 2e 64 ORTS > sqlite3.d ad00: 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c ef..dumpbin /all ad10: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 libsqlite3.lib ad20: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d \...|$(TCLSH_CM
ad30: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r ad40: 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75 eplace.tcl inclu ad50: 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c de "^\s+1 _?(sql ad60: 69 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e 7c 63 ite3(?:session|c ad70: 68 61 6e 67 65 73 65 74 7c 63 68 61 6e 67 65 67 hangeset|changeg ad80: 72 6f 75 70 29 3f 5f 5b 5e 40 5d 2a 29 28 3f 3a roup)?_[^@]*)(?: ad90: 40 5c 64 2b 29 3f 24 24 22 20 5c 31 20 5c 0a 09 @\d+)?$$" \1 \.. ada0: 09 7c 20 73 6f 72 74 20 3e 3e 20 73 71 6c 69 74 .| sort >> sqlit adb0: 65 33 2e 64 65 66 0a 23 20 3c 3c 2f 62 6c 6f 63 e3.def.# <</bloc adc0: 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 45 k2>>..$(SQLITE3E
add0: 58 45 29 3a 09 73 68 65 6c 6c 2e 63 20 24 28 53  XE):.shell.c $(S ade0: 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 HELL_CORE_DEP)$
adf0: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 53  (LIBRESOBJS) $(S ae00: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 24 HELL_CORE_SRC)$
ae10: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT ae20: 4c 49 4e 4b 29 20 24 28 53 48 45 4c 4c 5f 43 4f LINK)$(SHELL_CO
ae30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 52 45  MPILE_OPTS) $(RE ae40: 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20 73 68 ADLINE_FLAGS) sh ae50: 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f ell.c$(SHELL_CO
ae60: 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e  RE_SRC) \.../lin
ae70: 6b 20 24 28 53 51 4c 49 54 45 33 45 58 45 50 44  k $(SQLITE3EXEPD ae80: 42 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 B)$(LDFLAGS) $( ae90: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 53 48 LTLINKOPTS)$(SH
aea0: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 24  ELL_LINK_OPTS) $aeb0: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c (LTLIBPATHS)$(L
aec0: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 49 42  IBRESOBJS) $(LIB aed0: 52 45 41 44 4c 49 4e 45 29 20 24 28 4c 54 4c 49 READLINE)$(LTLI
aee0: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20  BS) $(TLIBS)..# aef0: 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69 66 66 <<mark>>.sqldiff af00: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f .exe:.$(TOP)\too
af10: 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51  l\sqldiff.c $(SQ af20: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 LITE3C)$(SQLITE
af30: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK)$
af40: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29  (NO_WARN) $(TOP) af50: 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 \tool\sqldiff.c af60: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
af70: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
af80: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 68 61  TLINKOPTS)..dbha
af90: 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  sh.exe:.$(TOP)\t afa0: 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 53 ool\dbhash.c$(S
afb0: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT afc0: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 E3H)..$(LTLINK)
afd0: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50  $(NO_WARN)$(TOP
afe0: 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20  )\tool\dbhash.c
aff0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin b000: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L b010: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 63 72 75 TLINKOPTS)..scru b020: 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 b.exe:.$(TOP)\ex
b030: 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24  t\misc\scrub.c $b040: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
b050: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK b060: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 )$(NO_WARN) $(T b070: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 OP)\ext\misc\scr b080: 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 ub.c$(SQLITE3C)
b090: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS b0a0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
b0b0: 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54  .srcck1.exe:.$(T b0c0: 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e OP)\tool\srcck1. b0d0: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 c..$(BCC) $(NO_W b0e0: 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 ARN) -Fe$@ $(TOP b0f0: 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a )\tool\srcck1.c. b100: 0a 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63 .sourcetest:.src b110: 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e ck1.exe sqlite3. b120: 63 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 73 71 c..srcck1.exe sq b130: 6c 69 74 65 33 2e 63 0a 0a 66 75 7a 7a 65 72 73 lite3.c..fuzzers b140: 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 hell.exe:.$(TOP)
b150: 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c  \tool\fuzzershel
b160: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) b170: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L b180: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
b190: 29 20 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f  ) $(FUZZERSHELL_ b1a0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
b1b0: 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72  TOP)\tool\fuzzer
b1c0: 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45  shell.c $(SQLITE b1d0: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 3C) /link$(LDFL
b1e0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT b1f0: 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78 65 3a 09 S)..dbfuzz.exe:. b200: 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66 75$(TOP)\test\dbfu
b210: 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  zz.c $(SQLITE3C) b220: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( b230: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
b240: 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43 4f 4d 50  N) $(DBFUZZ_COMP b250: 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 ILE_OPTS)$(TOP)
b260: 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24  \test\dbfuzz.c $b270: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b (SQLITE3C) /link b280: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT b290: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63 LINKOPTS)..fuzzc b2a0: 68 65 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a heck.exe:.$(FUZZ
b2b0: 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c  CHECK_SRC) $(SQL b2c0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
b2d0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK)$(
b2e0: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43  NO_WARN) $(FUZZC b2f0: 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 HECK_COMPILE_OPT b300: 53 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 S)$(FUZZCHECK_S
b310: 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20  RC) $(SQLITE3C) b320: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
b330: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS).. b340: 6f 73 73 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 ossshell.exe:.$(
b350: 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24 28  OSSSHELL_SRC) $( b360: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 SQLITE3C)$(SQLI
b370: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK) b380: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55$(NO_WARN) $(FU b390: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f ZZCHECK_COMPILE_ b3a0: 4f 50 54 53 29 20 24 28 4f 53 53 53 48 45 4c 4c OPTS)$(OSSSHELL
b3b0: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43  _SRC) $(SQLITE3C b3c0: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
b3d0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) b3e0: 0a 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a 09 ..mptester.exe:. b3f0: 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70$(TOP)\mptest\mp
b400: 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3 b410: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
b420: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
b430: 41 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52 5f  ARN) $(MPTESTER_ b440: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
b450: 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65  TOP)\mptest\mpte
b460: 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  st.c $(SQLITE3C) b470: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 /link$(LDFLAGS
b480: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS). b490: 0a 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65 73 .MPTEST1 = mptes b4a0: 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28 ter mptest.db$(
b4b0: 54 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61 73  TOP)\mptest\cras
b4c0: 68 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61  h01.test --repea
b4d0: 74 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d  t 20.MPTEST2 = m
b4e0: 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e 64  ptester mptest.d
b4f0: 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c  b $(TOP)\mptest\ b500: 6d 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65 73 multiwrite01.tes b510: 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d t --repeat 20..m b520: 70 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72 2e ptest:.mptester. b530: 65 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 exe..del /Q mpte b540: 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d st.db 2>NUL..$(M
b550: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST1) --journa
b560: 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24 28  lmode DELETE..$( b570: 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e MPTEST2) --journ b580: 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 almode WAL..$(MP
b590: 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST1) --journal
b5a0: 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45  mode WAL..$(MPTE b5b0: 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f ST2) --journalmo b5c0: 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 de PERSIST..$(MP
b5d0: 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST1) --journal
b5e0: 6d 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28  mode PERSIST..$( b5f0: 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e MPTEST2) --journ b600: 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a almode TRUNCATE. b610: 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f .$(MPTEST1) --jo
b620: 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41  urnalmode TRUNCA
b630: 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d  TE..$(MPTEST2) - b640: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c -journalmode DEL b650: 45 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72 67 ETE..# This targ b660: 65 74 20 63 72 65 61 74 65 73 20 61 20 64 69 72 et creates a dir b670: 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 ectory named "ts b680: 72 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 rc" and fills it b690: 20 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20 6f with.# copies o b6a0: 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 f all of the C s b6b0: 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68 ource code and h b6c0: 65 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65 64 eader files need b6d0: 65 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e ed to.# build on b6e0: 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73 74 the target syst b6f0: 65 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 em. Some of the b700: 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 C source code a b710: 6e 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c 65 nd header.# file b720: 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 s are automatica b730: 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 20 lly generated. b740: 54 68 69 73 20 74 61 72 67 65 74 20 74 61 6b 65 This target take b750: 73 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 s care of.# all b760: 74 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20 67 that automatic g b770: 65 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 eneration..#..ta b780: 72 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 rget_source:.$(S
b790: 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RC) $(TOP)\tool\ b7a0: 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 vdbe-compress.tc b7b0: 6c 20 66 74 73 35 2e 63 20 24 28 53 51 4c 49 54 l fts5.c$(SQLIT
b7c0: 45 5f 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64  E_TCL_DEP)..-rmd
b7d0: 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e  ir /Q/S tsrc 2>N
b7e0: 55 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a  UL..-mkdir tsrc.
b7f0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR b800: 43 30 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 C00)) do copy /Y b810: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 %i tsrc..for %i b820: 20 69 6e 20 28 24 28 53 52 43 30 31 29 29 20 64 in ($(SRC01)) d
b830: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
b840: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($( b850: 53 52 43 30 33 29 29 20 64 6f 20 63 6f 70 79 20 SRC03)) do copy b860: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 /Y %i tsrc..for b870: 25 69 20 69 6e 20 28 24 28 53 52 43 30 34 29 29 %i in ($(SRC04))
b880: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
b890: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
b8a0: 24 28 53 52 43 30 35 29 29 20 64 6f 20 63 6f 70  $(SRC05)) do cop b8b0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f y /Y %i tsrc..fo b8c0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 36 r %i in ($(SRC06
b8d0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
b8e0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
b8f0: 20 28 24 28 53 52 43 30 37 29 29 20 64 6f 20 63   ($(SRC07)) do c b900: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 opy /Y %i tsrc.. b910: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 for %i in ($(SRC
b920: 30 38 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  08)) do copy /Y
b930: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i
b940: 69 6e 20 28 24 28 53 52 43 30 39 29 29 20 64 6f  in ($(SRC09)) do b950: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 copy /Y %i tsrc b960: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 ..for %i in ($(S
b970: 52 43 31 30 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC10)) do copy /
b980: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
b990: 69 20 69 6e 20 28 24 28 53 52 43 31 31 29 29 20  i in ($(SRC11)) b9a0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 do copy /Y %i ts b9b0: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 rc..for %i in ($
b9c0: 28 53 52 43 31 32 29 29 20 64 6f 20 63 6f 70 79  (SRC12)) do copy
b9d0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 63 6f 70   /Y %i tsrc..cop
b9e0: 79 20 2f 59 20 66 74 73 35 2e 63 20 74 73 72 63  y /Y fts5.c tsrc
b9f0: 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 68  ..copy /Y fts5.h
ba00: 20 74 73 72 63 0a 09 64 65 6c 20 2f 51 20 74 73   tsrc..del /Q ts
ba10: 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74  rc\sqlite.h.in t
ba20: 73 72 63 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55  src\parse.y 2>NU
ba30: 4c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  L..$(TCLSH_CMD) ba40: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65$(TOP)\tool\vdbe
ba50: 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 24 28  -compress.tcl $( ba60: 4f 50 54 53 29 20 3c 20 74 73 72 63 5c 76 64 62 OPTS) < tsrc\vdb ba70: 65 2e 63 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09 e.c > vdbe.new.. ba80: 6d 6f 76 65 20 76 64 62 65 2e 6e 65 77 20 74 73 move vdbe.new ts ba90: 72 63 5c 76 64 62 65 2e 63 0a 09 65 63 68 6f 20 rc\vdbe.c..echo baa0: 3e 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 > .target_source bab0: 0a 0a 73 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61 ..sqlite3.c:..ta bac0: 72 67 65 74 5f 73 6f 75 72 63 65 20 73 71 6c 69 rget_source sqli bad0: 74 65 33 65 78 74 2e 68 20 24 28 4d 4b 53 51 4c te3ext.h$(MKSQL
bae0: 49 54 45 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 54  ITE3C_TOOL)..$(T baf0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 4d 4b 53 51 CLSH_CMD)$(MKSQ
bb00: 4c 49 54 45 33 43 5f 54 4f 4f 4c 29 20 24 28 4d  LITE3C_TOOL) $(M bb10: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29 0a KSQLITE3C_ARGS). bb20: 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 .copy$(TOP)\ext
bb30: 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33  \session\sqlite3
bb40: 73 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c  session.h ...sql
bb50: 69 74 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69  ite3-all.c:.sqli
bb60: 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f  te3.c $(TOP)\too bb70: 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 l\split-sqlite3c bb80: 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d .tcl..$(TCLSH_CM
bb90: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  D) $(TOP)\tool\s bba0: 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 plit-sqlite3c.tc bbb0: 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 l.# <</mark>>..# bbc0: 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 Rule to build t bbd0: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a he amalgamation. bbe0: 23 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 #.sqlite3.lo:.$(
bbf0: 53 51 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 43  SQLITE3C)..$(LTC bc00: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
bc10: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
bc20: 24 28 53 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c  $(SQLITE3C)..# < bc30: 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 <mark>>.# Rules bc40: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 4c 45 4d to build the LEM bc50: 4f 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 ON compiler gene bc60: 72 61 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 rator.#.lempar.c bc70: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 :.$(TOP)\tool\le
bc80: 6d 70 61 72 2e 63 0a 09 63 6f 70 79 20 24 28 54  mpar.c..copy $(T bc90: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e OP)\tool\lempar. bca0: 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 c ...lemon.exe:. bcb0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f$(TOP)\tool\lemo
bcc0: 6e 2e 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28  n.c lempar.c..$( bcd0: 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 BCC)$(NO_WARN)
bce0: 2d 44 61 63 63 65 73 73 3d 5f 61 63 63 65 73 73  -Daccess=_access
bcf0: 20 5c 0a 09 09 2d 46 65 24 40 20 24 28 54 4f 50   \...-Fe$@$(TOP
bd00: 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f  )\tool\lemon.c /
bd10: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) bd20: 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24$(NLTLINKOPTS) $bd30: 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 (NLTLIBPATHS)..# bd40: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 <<mark>>.# Rule bd50: 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 73 s to build the s bd60: 6f 75 72 63 65 2d 69 64 20 67 65 6e 65 72 61 74 ource-id generat bd70: 6f 72 20 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 or tool.#.mksour bd80: 63 65 69 64 2e 65 78 65 3a 09 24 28 54 4f 50 29 ceid.exe:.$(TOP)
bd90: 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64  \tool\mksourceid
bda0: 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f  .c..$(BCC)$(NO_
bdb0: 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f  WARN) -Fe$@$(TO
bdc0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65  P)\tool\mksource
bdd0: 69 64 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  id.c /link $(LDF bde0: 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f LAGS)$(NLTLINKO
bdf0: 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54  PTS) $(NLTLIBPAT be00: 48 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 HS)..# Rules to be10: 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c build individual be20: 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d *.lo files from be30: 20 67 65 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 generated *.c f be40: 69 6c 65 73 2e 20 54 68 69 73 0a 23 20 61 70 70 iles. This.# app be50: 6c 69 65 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 lies to:.#.# be60: 20 70 61 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 parse.lo.# be70: 6f 70 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 opcodes.lo.#.par be80: 73 65 2e 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 se.lo:.parse.c$
be90: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI bea0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
beb0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 70 61 72 73  LE_OPTS) -c pars
bec0: 65 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a  e.c..opcodes.lo:
bed0: 09 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54  .opcodes.c..$(LT bee0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
bef0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
bf00: 20 6f 70 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f   opcodes.c.# <</
bf10: 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74  mark>>..# Rule t
bf20: 6f 20 62 75 69 6c 64 20 74 68 65 20 57 69 6e 33  o build the Win3
bf30: 32 20 72 65 73 6f 75 72 63 65 73 20 6f 62 6a 65  2 resources obje
bf40: 63 74 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24  ct file..#.!IF $bf50: 28 55 53 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c (USE_RC)!=0.# << bf60: 62 6c 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 block1>>.$(LIBRE
bf70: 53 4f 42 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73  SOBJS):.$(TOP)\s bf80: 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 20 24 28 rc\sqlite3.rc$(
bf90: 53 51 4c 49 54 45 33 48 29 0a 09 65 63 68 6f 20  SQLITE3H)..echo
bfa0: 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 52  #ifndef SQLITE_R
bfb0: 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20  ESOURCE_VERSION
bfc0: 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 66  > sqlite3rc.h..f
bfd0: 6f 72 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74  or /F %%V in ('t
bfe0: 79 70 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53  ype "$(TOP)\VERS bff0: 49 4f 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 ION"') do ( \... c000: 65 63 68 6f 20 23 64 65 66 69 6e 65 20 53 51 4c echo #define SQL c010: 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 ITE_RESOURCE_VER c020: 53 49 4f 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 SION %%V \....| c030: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T c040: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 OP)\tool\replace c050: 2e 74 63 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 .tcl exact . ^, c060: 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 20 5c >> sqlite3rc.h \ c070: 0a 09 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 ..)..echo #endif c080: 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a >> sqlite3rc.h. c090: 09 24 28 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d .$(LTRCOMPILE) -
c0a0: 66 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  fo $(LIBRESOBJS) c0b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69$(TOP)\src\sqli
c0c0: 74 65 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63  te3.rc.# <</bloc
c0d0: 6b 31 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  k1>>.!ENDIF..# <
c0e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20  <mark>>.# Rules
c0f0: 74 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64  to build individ
c100: 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66  ual *.lo files f
c110: 72 6f 6d 20 66 69 6c 65 73 20 69 6e 20 74 68 65  rom files in the
c120: 20 73 72 63 20 64 69 72 65 63 74 6f 72 79 2e 0a   src directory..
c130: 23 0a 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f  #.alter.lo:.$(TO c140: 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 P)\src\alter.c$
c150: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI c160: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
c170: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO c180: 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a P)\src\alter.c.. c190: 61 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f analyze.lo:.$(TO
c1a0: 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63  P)\src\analyze.c
c1b0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c1c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM c1d0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
c1e0: 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65  TOP)\src\analyze
c1f0: 2e 63 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24  .c..attach.lo:.$c200: 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 (TOP)\src\attach c210: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC c220: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
c230: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
c240: 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63  $(TOP)\src\attac c250: 68 2e 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 h.c..auth.lo:.$(
c260: 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20  TOP)\src\auth.c
c270: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c280: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c290: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
c2a0: 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a  OP)\src\auth.c..
c2b0: 62 61 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50  backup.lo:.$(TOP c2c0: 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 )\src\backup.c$
c2d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI c2e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
c2f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO c300: 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a P)\src\backup.c. c310: 0a 62 69 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f .bitvec.lo:.$(TO
c320: 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20  P)\src\bitvec.c
c330: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c340: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c350: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
c360: 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63  OP)\src\bitvec.c
c370: 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28  ..btmutex.lo:.$( c380: 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 TOP)\src\btmutex c390: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC c3a0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
c3b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
c3c0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74  $(TOP)\src\btmut c3d0: 65 78 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 ex.c..btree.lo:. c3e0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65$(TOP)\src\btree
c3f0: 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29  .c $(HDR)$(TOP)
c400: 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28  \src\pager.h..$( c410: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
c420: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
c430: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74  -c $(TOP)\src\bt c440: 72 65 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a ree.c..build.lo: c450: 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c .$(TOP)\src\buil
c460: 64 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  d.c $(HDR)..$(LT
c470: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ c480: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c c490: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c$(TOP)\src\buil
c4a0: 64 2e 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f  d.c..callback.lo
c4b0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c  :.$(TOP)\src\cal c4c0: 6c 62 61 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 lback.c$(HDR)..
c4d0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
c4e0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c4f0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ c500: 63 61 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 callback.c..comp c510: 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c lete.lo:.$(TOP)\
c520: 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24  src\complete.c $c530: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
c540: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI c550: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
c560: 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e  P)\src\complete.
c570: 63 0a 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54  c..ctime.lo:.$(T c580: 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 OP)\src\ctime.c c590: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP c5a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
c5b0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T c5c0: 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a OP)\src\ctime.c. c5d0: 0a 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 .date.lo:.$(TOP)
c5e0: 5c 73 72 63 5c 64 61 74 65 2e 63 20 24 28 48 44  \src\date.c $(HD c5f0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c600: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c610: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c620: 73 72 63 5c 64 61 74 65 2e 63 0a 0a 64 62 70 61  src\date.c..dbpa
c630: 67 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ge.lo:.$(TOP)\sr c640: 63 5c 64 62 70 61 67 65 2e 63 20 24 28 48 44 52 c\dbpage.c$(HDR
c650: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) c660: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
c670: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s c680: 72 63 5c 64 62 70 61 67 65 2e 63 0a 0a 64 62 73 rc\dbpage.c..dbs c690: 74 61 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 tat.lo:.$(TOP)\s
c6a0: 72 63 5c 64 62 73 74 61 74 2e 63 20 24 28 48 44  rc\dbstat.c $(HD c6b0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c6c0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c6d0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c6e0: 73 72 63 5c 64 62 73 74 61 74 2e 63 0a 0a 64 65  src\dbstat.c..de
c6f0: 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lete.lo:.$(TOP)\ c700: 73 72 63 5c 64 65 6c 65 74 65 2e 63 20 24 28 48 src\delete.c$(H
c710: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE c720: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
c730: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) c740: 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 \src\delete.c..e c750: 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 xpr.lo:.$(TOP)\s
c760: 72 63 5c 65 78 70 72 2e 63 20 24 28 48 44 52 29  rc\expr.c $(HDR) c770: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c780: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP c790: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
c7a0: 63 5c 65 78 70 72 2e 63 0a 0a 66 61 75 6c 74 2e  c\expr.c..fault.
c7b0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66  lo:.$(TOP)\src\f c7c0: 61 75 6c 74 2e 63 20 24 28 48 44 52 29 0a 09 24 ault.c$(HDR)..$c7d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
c7e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c7f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66   -c $(TOP)\src\f c800: 61 75 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a ault.c..fkey.lo: c810: 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 .$(TOP)\src\fkey
c820: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c830: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C c840: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c c850: 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e$(TOP)\src\fkey.
c860: 63 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f  c..func.lo:.$(TO c870: 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 24 28 P)\src\func.c$(
c880: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL c890: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
c8a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP c8b0: 29 5c 73 72 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c )\src\func.c..gl c8c0: 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c obal.lo:.$(TOP)\
c8d0: 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 48  src\global.c $(H c8e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
c8f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE c900: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
c910: 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68  \src\global.c..h
c920: 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ash.lo:.$(TOP)\s c930: 72 63 5c 68 61 73 68 2e 63 20 24 28 48 44 52 29 rc\hash.c$(HDR)
c940: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
c950: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c960: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr c970: 63 5c 68 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74 c\hash.c..insert c980: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
c990: 69 6e 73 65 72 74 2e 63 20 24 28 48 44 52 29 0a  insert.c $(HDR). c9a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( c9b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT c9c0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
c9d0: 5c 69 6e 73 65 72 74 2e 63 0a 0a 6c 65 67 61 63  \insert.c..legac
c9e0: 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  y.lo:.$(TOP)\src c9f0: 5c 6c 65 67 61 63 79 2e 63 20 24 28 48 44 52 29 \legacy.c$(HDR)
ca00: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
ca10: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ca20: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr ca30: 63 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 c\legacy.c..load ca40: 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ext.lo:.$(TOP)\s
ca50: 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 24 28 48  rc\loadext.c $(H ca60: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
ca70: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE ca80: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
ca90: 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a  \src\loadext.c..
caa0: 6d 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  main.lo:.$(TOP)\ cab0: 73 72 63 5c 6d 61 69 6e 2e 63 20 24 28 48 44 52 src\main.c$(HDR
cac0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) cad0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
cae0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s caf0: 72 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f rc\main.c..mallo cb00: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 c.lo:.$(TOP)\src
cb10: 5c 6d 61 6c 6c 6f 63 2e 63 20 24 28 48 44 52 29  \malloc.c $(HDR) cb20: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $cb30: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP cb40: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
cb50: 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30  c\malloc.c..mem0
cb60: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ cb70: 6d 65 6d 30 2e 63 20 24 28 48 44 52 29 0a 09 24 mem0.c$(HDR)..$cb80: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
cb90: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cba0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m cbb0: 65 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 em0.c..mem1.lo:. cbc0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e$(TOP)\src\mem1.
cbd0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cbe0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO cbf0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
cc00: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63  (TOP)\src\mem1.c
cc10: 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50  ..mem2.lo:.$(TOP cc20: 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 24 28 48 )\src\mem2.c$(H
cc30: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE cc40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
cc50: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) cc60: 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d \src\mem2.c..mem cc70: 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 3.lo:.$(TOP)\src
cc80: 5c 6d 65 6d 33 2e 63 20 24 28 48 44 52 29 0a 09  \mem3.c $(HDR).. cc90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C cca0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS ccb0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
ccc0: 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a  mem3.c..mem5.lo:
ccd0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35  .$(TOP)\src\mem5 cce0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC ccf0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
cd00: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
cd10: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e  $(TOP)\src\mem5. cd20: 63 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f c..memjournal.lo cd30: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d :.$(TOP)\src\mem
cd40: 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44 52 29  journal.c $(HDR) cd50: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $cd60: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP cd70: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
cd80: 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 0a 0a  c\memjournal.c..
cd90: 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  mutex.lo:.$(TOP) cda0: 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 24 28 48 \src\mutex.c$(H
cdb0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE cdc0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
cdd0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) cde0: 5c 73 72 63 5c 6d 75 74 65 78 2e 63 0a 0a 6d 75 \src\mutex.c..mu cdf0: 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24 28 54 tex_noop.lo:.$(T
ce00: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
ce10: 6f 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  op.c $(HDR)..$(L
ce20: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE ce30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - ce40: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 c$(TOP)\src\mut
ce50: 65 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74 65 78  ex_noop.c..mutex
ce60: 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  _unix.lo:.$(TOP) ce70: 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e \src\mutex_unix. ce80: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO ce90: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
cea0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $ceb0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f (TOP)\src\mutex_ cec0: 75 6e 69 78 2e 63 0a 0a 6d 75 74 65 78 5f 77 33 unix.c..mutex_w3 ced0: 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 2.lo:.$(TOP)\src
cee0: 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 24 28 48  \mutex_w32.c $(H cef0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
cf00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE cf10: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
cf20: 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63  \src\mutex_w32.c
cf30: 0a 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24 28 54  ..notify.lo:.$(T cf40: 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 OP)\src\notify.c cf50: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM cf60: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
cf70: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( cf80: 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e TOP)\src\notify. cf90: 63 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09 24 28 54 c..pager.lo:.$(T
cfa0: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20  OP)\src\pager.c
cfb0: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72  $(HDR)$(TOP)\sr
cfc0: 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43  c\pager.h..$(LTC cfd0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
cfe0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
cff0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager d000: 2e 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a 09 24 .c..pcache.lo:.$
d010: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
d020: 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29  .c $(HDR)$(TOP)
d030: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24  \src\pcache.h..$d040: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d050: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d060: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p d070: 63 61 63 68 65 2e 63 0a 0a 70 63 61 63 68 65 31 cache.c..pcache1 d080: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
d090: 70 63 61 63 68 65 31 2e 63 20 24 28 48 44 52 29  pcache1.c $(HDR) d0a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63$(TOP)\src\pcac
d0b0: 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  he.h..$(LTCOMPIL d0c0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d0d0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d0e0: 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 0a )\src\pcache1.c. d0f0: 0a 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 .os.lo:.$(TOP)\s
d100: 72 63 5c 6f 73 2e 63 20 24 28 48 44 52 29 0a 09  rc\os.c $(HDR).. d110: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d120: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d130: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d140: 6f 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 2e 6c 6f  os.c..os_unix.lo
d150: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f  :.$(TOP)\src\os_ d160: 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24 unix.c$(HDR)..$d170: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d180: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d190: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f   -c $(TOP)\src\o d1a0: 73 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77 69 6e s_unix.c..os_win d1b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
d1c0: 6f 73 5f 77 69 6e 2e 63 20 24 28 48 44 52 29 0a  os_win.c $(HDR). d1d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d1e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d1f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d200: 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61 67 6d  \os_win.c..pragm
d210: 61 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  a.lo:.$(TOP)\src d220: 5c 70 72 61 67 6d 61 2e 63 20 24 28 48 44 52 29 \pragma.c$(HDR)
d230: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
d240: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d250: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr d260: 63 5c 70 72 61 67 6d 61 2e 63 0a 0a 70 72 65 70 c\pragma.c..prep d270: 61 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 are.lo:.$(TOP)\s
d280: 72 63 5c 70 72 65 70 61 72 65 2e 63 20 24 28 48  rc\prepare.c $(H d290: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
d2a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE d2b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
d2c0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 0a 0a  \src\prepare.c..
d2d0: 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f 50  printf.lo:.$(TOP d2e0: 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 24 )\src\printf.c$
d2f0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d300: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d310: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d320: 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 0a P)\src\printf.c. d330: 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24 28 54 4f .random.lo:.$(TO
d340: 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20  P)\src\random.c
d350: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d360: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP d370: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
d380: 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63  OP)\src\random.c
d390: 0a 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a 09 24 28  ..resolve.lo:.$( d3a0: 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 TOP)\src\resolve d3b0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC d3c0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
d3d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
d3e0: 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c  $(TOP)\src\resol d3f0: 76 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c 6f 3a ve.c..rowset.lo: d400: 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 .$(TOP)\src\rows
d410: 65 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  et.c $(HDR)..$(L
d420: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d430: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d440: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 c$(TOP)\src\row
d450: 73 65 74 2e 63 0a 0a 73 65 6c 65 63 74 2e 6c 6f  set.c..select.lo
d460: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c  :.$(TOP)\src\sel d470: 65 63 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ect.c$(HDR)..$( d480: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d490: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d4a0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65  -c $(TOP)\src\se d4b0: 6c 65 63 74 2e 63 0a 0a 73 74 61 74 75 73 2e 6c lect.c..status.l d4c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 o:.$(TOP)\src\st
d4d0: 61 74 75 73 2e 63 20 24 28 48 44 52 29 0a 09 24  atus.c $(HDR)..$
d4e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO d4f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) d500: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 -c$(TOP)\src\s
d510: 74 61 74 75 73 2e 63 0a 0a 74 61 62 6c 65 2e 6c  tatus.c..table.l
d520: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 61  o:.$(TOP)\src\ta d530: 62 6c 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ble.c$(HDR)..$( d540: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d550: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d560: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61  -c $(TOP)\src\ta d570: 62 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73 2e 6c ble.c..threads.l d580: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 o:.$(TOP)\src\th
d590: 72 65 61 64 73 2e 63 20 24 28 48 44 52 29 0a 09  reads.c $(HDR).. d5a0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d5b0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d5c0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d5d0: 74 68 72 65 61 64 73 2e 63 0a 0a 74 6f 6b 65 6e  threads.c..token
d5e0: 69 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ize.lo:.$(TOP)\s d5f0: 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 6b 65 rc\tokenize.c ke d600: 79 77 6f 72 64 68 61 73 68 2e 68 20 24 28 48 44 ywordhash.h$(HD
d610: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) d620: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
d630: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ d640: 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 0a 0a src\tokenize.c.. d650: 74 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24 28 54 treeview.lo:.$(T
d660: 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77  OP)\src\treeview
d670: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d680: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C d690: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c d6a0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76$(TOP)\src\treev
d6b0: 69 65 77 2e 63 0a 0a 74 72 69 67 67 65 72 2e 6c  iew.c..trigger.l
d6c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  o:.$(TOP)\src\tr d6d0: 69 67 67 65 72 2e 63 20 24 28 48 44 52 29 0a 09 igger.c$(HDR)..
d6e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
d6f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d700: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ d710: 74 72 69 67 67 65 72 2e 63 0a 0a 75 70 64 61 74 trigger.c..updat d720: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
d730: 5c 75 70 64 61 74 65 2e 63 20 24 28 48 44 52 29  \update.c $(HDR) d740: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $d750: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP d760: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
d770: 63 5c 75 70 64 61 74 65 2e 63 0a 0a 75 74 66 2e  c\update.c..utf.
d780: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75  lo:.$(TOP)\src\u d790: 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c tf.c$(HDR)..$(L d7a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d7b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d7c0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66  c $(TOP)\src\utf d7d0: 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 .c..util.lo:.$(T
d7e0: 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 24  OP)\src\util.c $d7f0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
d800: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI d810: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
d820: 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 0a 0a 76  P)\src\util.c..v
d830: 61 63 75 75 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29  acuum.lo:.$(TOP) d840: 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 24 28 \src\vacuum.c$(
d850: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d860: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d870: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d880: 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 0a 0a )\src\vacuum.c.. d890: 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c vdbe.lo:.$(TOP)\
d8a0: 73 72 63 5c 76 64 62 65 2e 63 20 24 28 48 44 52  src\vdbe.c $(HDR d8b0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
d8c0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O d8d0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
d8e0: 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64 62 65 61  rc\vdbe.c..vdbea
d8f0: 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  pi.lo:.$(TOP)\sr d900: 63 5c 76 64 62 65 61 70 69 2e 63 20 24 28 48 44 c\vdbeapi.c$(HD
d910: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) d920: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
d930: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ d940: 73 72 63 5c 76 64 62 65 61 70 69 2e 63 0a 0a 76 src\vdbeapi.c..v d950: 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 dbeaux.lo:.$(TOP
d960: 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20  )\src\vdbeaux.c
d970: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d980: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP d990: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
d9a0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e  OP)\src\vdbeaux.
d9b0: 63 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09  c..vdbeblob.lo:.
d9c0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62  $(TOP)\src\vdbeb d9d0: 6c 6f 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 lob.c$(HDR)..$( d9e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d9f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
da00: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd da10: 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62 65 6d 65 beblob.c..vdbeme da20: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 m.lo:.$(TOP)\src
da30: 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28 48 44 52  \vdbemem.c $(HDR da40: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
da50: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O da60: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
da70: 72 63 5c 76 64 62 65 6d 65 6d 2e 63 0a 0a 76 64  rc\vdbemem.c..vd
da80: 62 65 73 6f 72 74 2e 6c 6f 3a 09 24 28 54 4f 50  besort.lo:.$(TOP da90: 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 )\src\vdbesort.c daa0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM dab0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
dac0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( dad0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 TOP)\src\vdbesor dae0: 74 2e 63 0a 0a 76 64 62 65 74 72 61 63 65 2e 6c t.c..vdbetrace.l daf0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 o:.$(TOP)\src\vd
db00: 62 65 74 72 61 63 65 2e 63 20 24 28 48 44 52 29  betrace.c $(HDR) db10: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $db20: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP db30: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
db40: 63 5c 76 64 62 65 74 72 61 63 65 2e 63 0a 0a 76  c\vdbetrace.c..v
db50: 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  tab.lo:.$(TOP)\s db60: 72 63 5c 76 74 61 62 2e 63 20 24 28 48 44 52 29 rc\vtab.c$(HDR)
db70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
db80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
db90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr dba0: 63 5c 76 74 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f c\vtab.c..wal.lo dbb0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c :.$(TOP)\src\wal
dbc0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
dbd0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C dbe0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c dbf0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63$(TOP)\src\wal.c
dc00: 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54  ..walker.lo:.$(T dc10: 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 OP)\src\walker.c dc20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM dc30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
dc40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( dc50: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e TOP)\src\walker. dc60: 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09 24 28 54 c..where.lo:.$(T
dc70: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20  OP)\src\where.c
dc80: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dc90: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP dca0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
dcb0: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 0a  OP)\src\where.c.
dcc0: 0a 77 68 65 72 65 63 6f 64 65 2e 6c 6f 3a 09 24  .wherecode.lo:.$dcd0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63 (TOP)\src\wherec dce0: 6f 64 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ode.c$(HDR)..$( dcf0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
dd00: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
dd10: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh dd20: 65 72 65 63 6f 64 65 2e 63 0a 0a 77 68 65 72 65 erecode.c..where dd30: 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c expr.lo:.$(TOP)\
dd40: 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 20  src\whereexpr.c
dd50: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dd60: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP dd70: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
dd80: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70  OP)\src\whereexp
dd90: 72 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6c  r.c..tclsqlite.l
dda0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  o:.$(TOP)\src\tc ddb0: 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 lsqlite.c$(HDR)
ddc0: 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45   $(SQLITE_TCL_DE ddd0: 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 P)..$(LTCOMPILE)
dde0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53   $(NO_WARN) -DUS ddf0: 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 E_TCL_STUBS=1 -D de00: 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 BUILD_sqlite -I$
de10: 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24  (TCLINCDIR) -c $de20: 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c (TOP)\src\tclsql de30: 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 ite.c..tclsqlite de40: 2d 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 -shell.lo:.$(TOP
de50: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
de60: 63 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54  c $(HDR)$(SQLIT
de70: 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54  E_TCL_DEP)..$(LT de80: 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 COMPILE)$(NO_WA
de90: 52 4e 29 20 2d 44 54 43 4c 53 48 20 2d 44 42 55  RN) -DTCLSH -DBU
dea0: 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54  ILD_sqlite -I$(T deb0: 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 CLINCDIR) -c$(T
dec0: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
ded0: 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e  e.c..tclsqlite3.
dee0: 65 78 65 3a 09 74 63 6c 73 71 6c 69 74 65 2d 73  exe:.tclsqlite-s
def0: 68 65 6c 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 45  hell.lo $(SQLITE df00: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 3C)$(SQLITE3H)
df10: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24  $(LIBRESOBJS)..$
df20: 28 4c 54 4c 49 4e 4b 29 20 24 28 53 51 4c 49 54  (LTLINK) $(SQLIT df30: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 E3C) /link$(LDF
df40: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP df50: 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 TS)$(TCLLIBPATH
df60: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS) df70: 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 /OUT:$@ tclsqli
df80: 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49  te-shell.lo $(LI df90: 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c BRESOBJS)$(TCLL
dfa0: 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24  IBS) $(LTLIBS)$
dfb0: 28 54 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65 73  (TLIBS)..# Rules
dfc0: 20 74 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64 65   to build opcode
dfd0: 73 2e 63 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e  s.c and opcodes.
dfe0: 68 0a 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f  h.#.opcodes.c:.o
dff0: 70 63 6f 64 65 73 2e 68 20 24 28 54 4f 50 29 5c  pcodes.h $(TOP)\ e000: 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 tool\mkopcodec.t e010: 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 cl..$(TCLSH_CMD)
e020: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f   $(TOP)\tool\mko e030: 70 63 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 pcodec.tcl opcod e040: 65 73 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 es.h > opcodes.c e050: 0a 0a 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 ..opcodes.h:.par e060: 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c se.h$(TOP)\src\
e070: 76 64 62 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f  vdbe.c $(TOP)\to e080: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c ol\mkopcodeh.tcl e090: 0a 09 74 79 70 65 20 70 61 72 73 65 2e 68 20 24 ..type parse.h$
e0a0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
e0b0: 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20   | $(TCLSH_CMD) e0c0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70$(TOP)\tool\mkop
e0d0: 63 6f 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f  codeh.tcl > opco
e0e0: 64 65 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74  des.h..# Rules t
e0f0: 6f 20 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20  o build parse.c
e100: 61 6e 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68  and parse.h - th
e110: 65 20 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d  e outputs of lem
e120: 6f 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70  on..#.parse.h:.p
e130: 61 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a  arse.c..parse.c:
e140: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73  .$(TOP)\src\pars e150: 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 e.y lemon.exe$(
e160: 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63  TOP)\tool\addopc
e170: 6f 64 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51  odes.tcl..del /Q
e180: 20 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68   parse.y parse.h
e190: 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e   parse.h.temp 2>
e1a0: 4e 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29  NUL..copy $(TOP) e1b0: 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 \src\parse.y ... e1c0: 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 .\lemon.exe$(RE
e1d0: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
e1e0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F e1f0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 LAGS)$(EXT_FEAT
e200: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT e210: 53 29 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 S) parse.y..move e220: 20 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 parse.h parse.h e230: 2e 74 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 .temp..$(TCLSH_C
e240: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ e250: 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 addopcodes.tcl p e260: 61 72 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 arse.h.temp > pa e270: 72 73 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 rse.h..$(SQLITE3
e280: 48 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73  H):.$(TOP)\src\s e290: 71 6c 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 qlite.h.in$(TOP
e2a0: 29 5c 6d 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75  )\manifest mksou
e2b0: 72 63 65 69 64 2e 65 78 65 20 24 28 54 4f 50 29  rceid.exe $(TOP) e2c0: 5c 56 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 \VERSION..$(TCLS
e2d0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to e2e0: 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 ol\mksqlite3h.tc e2f0: 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 l$(TOP:\=/) > $e300: 28 53 51 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 (SQLITE3H)$(MKS
e310: 51 4c 49 54 45 33 48 5f 41 52 47 53 29 0a 0a 73  QLITE3H_ARGS)..s
e320: 71 6c 69 74 65 33 65 78 74 2e 68 3a 09 2e 74 61  qlite3ext.h:..ta
e330: 72 67 65 74 5f 73 6f 75 72 63 65 0a 21 49 46 20  rget_source.!IF
e340: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d  $(USE_STDCALL)!= e350: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 0 ||$(FOR_WIN10
e360: 29 21 3d 30 0a 09 74 79 70 65 20 74 73 72 63 5c  )!=0..type tsrc\
e370: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 7c 20 24  sqlite3ext.h | $e380: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
e390: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
e3a0: 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a  tcl regsub "$$\* e3b0: 5c 29 22 20 22 28 53 51 4c 49 54 45 5f 43 41 4c$$" "(SQLITE_CAL
e3c0: 4c 42 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20  LBACK *)" \...|
e3d0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD)$(T
e3e0: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
e3f0: 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c  .tcl regsub "\(\
e400: 2a 22 20 22 28 53 51 4c 49 54 45 5f 41 50 49 43  *" "(SQLITE_APIC
e410: 41 4c 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65 33  ALL *" > sqlite3
e420: 65 78 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73  ext.h..copy /Y s
e430: 71 6c 69 74 65 33 65 78 74 2e 68 20 74 73 72 63  qlite3ext.h tsrc
e440: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45  \sqlite3ext.h.!E
e450: 4c 53 45 0a 09 63 6f 70 79 20 2f 59 20 74 73 72  LSE..copy /Y tsr
e460: 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73  c\sqlite3ext.h s
e470: 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4e 44  qlite3ext.h.!END
e480: 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73  IF..mkkeywordhas
e490: 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  h.exe:.$(TOP)\to e4a0: 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 ol\mkkeywordhash e4b0: 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f .c..$(BCC) $(NO_ e4c0: 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 52 45 WARN) -Fe$@ $(RE e4d0: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 Q_FEATURE_FLAGS) e4e0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46$(OPT_FEATURE_F
e4f0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT e500: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 URE_FLAGS)$(OPT
e510: 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  S) \...$(TOP)\to e520: 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 ol\mkkeywordhash e530: 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 .c /link$(LDFLA
e540: 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54  GS) $(NLTLINKOPT e550: 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 S)$(NLTLIBPATHS
e560: 29 0a 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e 68  )..keywordhash.h
e570: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  :.$(TOP)\tool\mk e580: 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b keywordhash.c mk e590: 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 0a keywordhash.exe. e5a0: 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 ..\mkkeywordhash e5b0: 2e 65 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 .exe > keywordha e5c0: 73 68 2e 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 sh.h..# Source f e5d0: 69 6c 65 73 20 74 68 61 74 20 67 6f 20 69 6e 74 iles that go int e5e0: 6f 20 6d 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 o making shell.c e5f0: 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 .SHELL_SRC = \.. e600: 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c$(TOP)\src\shell
e610: 2e 63 2e 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c  .c.in \..$(TOP)\ e620: 65 78 74 5c 6d 69 73 63 5c 73 68 61 74 68 72 65 ext\misc\shathre e630: 65 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 e.c \..$(TOP)\ex
e640: 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20  t\misc\fileio.c
e650: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  \..$(TOP)\ext\mi e660: 73 63 5c 63 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20 sc\completion.c e670: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 \..$(TOP)\ext\ex
e680: 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
e690: 72 74 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65  rt.c \..$(TOP)\e e6a0: 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 xt\expert\sqlite e6b0: 33 65 78 70 65 72 74 2e 68 20 5c 0a 09 24 28 54 3expert.h \..$(T
e6c0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
e6d0: 64 69 72 65 6e 74 2e 63 0a 0a 23 20 49 66 20 75  dirent.c..# If u
e6e0: 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e  se of zlib is en
e6f0: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 22  abled, add the "
e700: 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 63  zipfile.c" sourc
e710: 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28  e file..#.!IF $( e720: 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 53 48 45 USE_ZLIB)!=0.SHE e730: 4c 4c 5f 53 52 43 20 3d 20 24 28 53 48 45 4c 4c LL_SRC =$(SHELL
e740: 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 65 78 74  _SRC) $(TOP)\ext e750: 5c 6d 69 73 63 5c 73 71 6c 61 72 2e 63 0a 53 48 \misc\sqlar.c.SH e760: 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 48 45 4c ELL_SRC =$(SHEL
e770: 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 65 78  L_SRC) $(TOP)\ex e780: 74 5c 6d 69 73 63 5c 7a 69 70 66 69 6c 65 2e 63 t\misc\zipfile.c e790: 0a 21 45 4e 44 49 46 0a 0a 73 68 65 6c 6c 2e 63 .!ENDIF..shell.c e7a0: 3a 09 24 28 53 48 45 4c 4c 5f 53 52 43 29 20 24 :.$(SHELL_SRC) $e7b0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 (TOP)\tool\mkshe e7c0: 6c 6c 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 llc.tcl..$(TCLSH
e7d0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too e7e0: 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 20 3e l\mkshellc.tcl > e7f0: 20 73 68 65 6c 6c 2e 63 0a 0a 7a 6c 69 62 3a 0a shell.c..zlib:. e800: 09 70 75 73 68 64 20 24 28 5a 4c 49 42 44 49 52 .pushd$(ZLIBDIR
e810: 29 20 26 26 20 24 28 4d 41 4b 45 29 20 2f 66 20  ) && $(MAKE) /f e820: 77 69 6e 33 32 5c 4d 61 6b 65 66 69 6c 65 2e 6d win32\Makefile.m e830: 73 63 20 63 6c 65 61 6e 20 24 28 5a 4c 49 42 4c sc clean$(ZLIBL
e840: 49 42 29 20 26 26 20 70 6f 70 64 0a 0a 23 20 52  IB) && popd..# R
e850: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68  ules to build th
e860: 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65  e extension obje
e870: 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24  cts..#.icu.lo:.$e880: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 (TOP)\ext\icu\ic e890: 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 u.c$(HDR) $(EXT e8a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
e8b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL e8c0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
e8d0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
e8e0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 69   -c $(TOP)\ext\i e8f0: 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e 6c cu\icu.c..fts2.l e900: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 o:.$(TOP)\ext\ft
e910: 73 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52 29  s2\fts2.c $(HDR) e920: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT e930: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
e940: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( e950: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT e960: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
e970: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63  \ext\fts2\fts2.c
e980: 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a 09  ..fts2_hash.lo:.
e990: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ e9a0: 66 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48 44 fts2_hash.c$(HD
e9b0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
e9c0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR e9d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) e9e0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
e9f0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO ea00: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 ea10: 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69 63 _hash.c..fts2_ic ea20: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 u.lo:.$(TOP)\ext
ea30: 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63  \fts2\fts2_icu.c
ea40: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
ea50: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) ea60: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
ea70: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) ea80: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c ea90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
eaa0: 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74 73  \fts2_icu.c..fts
eab0: 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54  2_porter.lo:.$(T eac0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts ead0: 32 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 2_porter.c$(HDR
eae0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
eaf0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE eb00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
eb10: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
eb20: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP eb30: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f )\ext\fts2\fts2_ eb40: 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f 74 porter.c..fts2_t eb50: 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 okenizer.lo:.$(T
eb60: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
eb70: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28  2_tokenizer.c $( eb80: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
eb90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
eba0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ebb0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS ebc0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
ebd0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
ebe0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a  s2_tokenizer.c..
ebf0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts2_tokenizer1.
ec00: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f ec10: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a ts2\fts2_tokeniz ec20: 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 er1.c$(HDR) $(E ec30: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
ec40: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP ec50: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
ec60: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
ec70: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext ec80: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e \fts2\fts2_token ec90: 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f izer1.c..fts3.lo eca0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
ecb0: 33 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29 20  3\fts3.c $(HDR) ecc0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC ecd0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
ece0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N ecf0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE ed00: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
ed10: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 0a  ext\fts3\fts3.c.
ed20: 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 28  .fts3_aux.lo:.$( ed30: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft ed40: 73 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29 20 s3_aux.c$(HDR)
ed50: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
ed60: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C ed70: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
ed80: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
ed90: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ eda0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 ext\fts3\fts3_au edb0: 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e 6c x.c..fts3_expr.l edc0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 o:.$(TOP)\ext\ft
edd0: 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 24  s3\fts3_expr.c $ede0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
edf0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
ee00: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
ee10: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D ee20: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
ee30: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
ee40: 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73 33  ts3_expr.c..fts3
ee50: 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29  _hash.lo:.$(TOP) ee60: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 \ext\fts3\fts3_h ee70: 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45 ash.c$(HDR) $(E ee80: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
ee90: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP eea0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
eeb0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
eec0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext eed0: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e \fts3\fts3_hash. eee0: 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a 09 c..fts3_icu.lo:. eef0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
ef00: 66 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44 52  fts3_icu.c $(HDR ef10: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L ef20: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
ef30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $ef40: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI ef50: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
ef60: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
ef70: 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69 70  icu.c..fts3_snip
ef80: 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  pet.lo:.$(TOP)\e ef90: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 xt\fts3\fts3_sni efa0: 70 70 65 74 2e 63 20 24 28 48 44 52 29 20 24 28 ppet.c$(HDR) $( efb0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
efc0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM efd0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
efe0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
eff0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex f000: 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 t\fts3\fts3_snip f010: 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 74 pet.c..fts3_port f020: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 er.lo:.$(TOP)\ex
f030: 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74  t\fts3\fts3_port
f040: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  er.c $(HDR)$(EX
f050: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI f060: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
f070: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA f080: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR f090: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
f0a0: 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72  fts3\fts3_porter
f0b0: 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  .c..fts3_tokeniz
f0c0: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  er.lo:.$(TOP)\ex f0d0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 t\fts3\fts3_toke f0e0: 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24 nizer.c$(HDR) $f0f0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f (EXTHDR)..$(LTCO
f100: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO f110: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f MPILE_OPTS)$(NO
f120: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f130: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e f140: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b xt\fts3\fts3_tok f150: 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f 74 enizer.c..fts3_t f160: 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 okenizer1.lo:.$(
f170: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f180: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s3_tokenizer1.c
f190: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
f1a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
f1b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f1c0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - f1d0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c f1e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
f1f0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
f200: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  c..fts3_tokenize
f210: 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29  _vtab.lo:.$(TOP) f220: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 \ext\fts3\fts3_t f230: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 24 okenize_vtab.c$
f240: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). f250: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( f260: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT f270: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
f280: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $f290: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f f2a0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 ts3_tokenize_vta f2b0: 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 b.c..fts3_unicod f2c0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 e.lo:.$(TOP)\ext
f2d0: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
f2e0: 64 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  de.c $(HDR)$(EX
f2f0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI f300: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
f310: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA f320: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR f330: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
f340: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64  fts3\fts3_unicod
f350: 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64  e.c..fts3_unicod
f360: 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  e2.lo:.$(TOP)\ex f370: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 t\fts3\fts3_unic f380: 6f 64 65 32 2e 63 20 24 28 48 44 52 29 20 24 28 ode2.c$(HDR) $( f390: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
f3a0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM f3b0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
f3c0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f3d0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex f3e0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 t\fts3\fts3_unic f3f0: 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72 69 ode2.c..fts3_wri f400: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 te.lo:.$(TOP)\ex
f410: 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74  t\fts3\fts3_writ
f420: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  e.c $(HDR)$(EXT
f430: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL f440: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
f450: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR f460: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE f470: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
f480: 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63  ts3\fts3_write.c
f490: 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f  ..rtree.lo:.$(TO f4a0: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 P)\ext\rtree\rtr f4b0: 65 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 ee.c$(HDR) $(EX f4c0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
f4d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI f4e0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
f4f0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f500: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ f510: 72 74 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a 73 rtree\rtree.c..s f520: 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f qlite3session.lo f530: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 :.$(TOP)\ext\ses
f540: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
f550: 69 6f 6e 2e 63 20 24 28 48 44 52 29 20 24 28 45  ion.c $(HDR)$(E
f560: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP f570: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
f580: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W f590: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO f5a0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
f5b0: 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33  \session\sqlite3
f5c0: 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 46 54 53  session.c..# FTS
f5d0: 35 20 74 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f  5 things.#.FTS5_
f5e0: 53 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50  SRC = \.   $(TOP f5f0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e )\ext\fts5\fts5. f600: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 h \.$(TOP)\ex
f610: 74 5c 66 74 73 35 5c 66 74 73 35 49 6e 74 2e 68  t\fts5\fts5Int.h
f620: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext f630: 5c 66 74 73 35 5c 66 74 73 35 5f 61 75 78 2e 63 \fts5\fts5_aux.c f640: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
f650: 5c 66 74 73 35 5c 66 74 73 35 5f 62 75 66 66 65  \fts5\fts5_buffe
f660: 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  r.c \.   $(TOP)\ f670: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 6d 61 ext\fts5\fts5_ma f680: 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 in.c \.$(TOP)
f690: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 63  \ext\fts5\fts5_c
f6a0: 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 20 24 28 54  onfig.c \.   $(T f6b0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts f6c0: 35 5f 65 78 70 72 2e 63 20 5c 0a 20 20 20 24 28 5_expr.c \.$(
f6d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
f6e0: 73 35 5f 68 61 73 68 2e 63 20 5c 0a 20 20 20 24  s5_hash.c \.   $f6f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 (TOP)\ext\fts5\f f700: 74 73 35 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20 ts5_index.c \. f710: 20 66 74 73 35 70 61 72 73 65 2e 63 20 66 74 73 fts5parse.c fts f720: 35 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 5parse.h \.$(
f730: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
f740: 73 35 5f 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20  s5_storage.c \.
f750: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts f760: 35 5c 66 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 5\fts5_tokenize. f770: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 c \.$(TOP)\ex
f780: 74 5c 66 74 73 35 5c 66 74 73 35 5f 75 6e 69 63  t\fts5\fts5_unic
f790: 6f 64 65 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f  ode2.c \.   $(TO f7a0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 P)\ext\fts5\fts5 f7b0: 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 _varint.c \.$
f7c0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
f7d0: 74 73 35 5f 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d  ts5_vocab.c..LSM
f7e0: 31 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24 28 54  1_SRC = \.   $(T f7f0: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d OP)\ext\lsm1\lsm f800: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .h \.$(TOP)\e
f810: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68  xt\lsm1\lsmInt.h
f820: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext f830: 5c 6c 73 6d 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 \lsm1\lsm_ckpt.c f840: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
f850: 5c 6c 73 6d 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63  \lsm1\lsm_file.c
f860: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext f870: 5c 6c 73 6d 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 \lsm1\lsm_log.c f880: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
f890: 6c 73 6d 31 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20  lsm1\lsm_main.c
f8a0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\ f8b0: 6c 73 6d 31 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c lsm1\lsm_mem.c \ f8c0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c .$(TOP)\ext\l
f8d0: 73 6d 31 5c 6c 73 6d 5f 6d 75 74 65 78 2e 63 20  sm1\lsm_mutex.c
f8e0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\ f8f0: 6c 73 6d 31 5c 6c 73 6d 5f 73 68 61 72 65 64 2e lsm1\lsm_shared. f900: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 c \.$(TOP)\ex
f910: 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65  t\lsm1\lsm_sorte
f920: 64 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  d.c \.   $(TOP)\ f930: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 ext\lsm1\lsm_str f940: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
f950: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 74 72 65 65  xt\lsm1\lsm_tree
f960: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e f970: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 xt\lsm1\lsm_unix f980: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
f990: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 61 72 69  xt\lsm1\lsm_vari
f9a0: 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  nt.c \.   $(TOP) f9b0: 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 \ext\lsm1\lsm_vt f9c0: 61 62 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 ab.c \.$(TOP)
f9d0: 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69  \ext\lsm1\lsm_wi
f9e0: 6e 33 32 2e 63 0a 0a 66 74 73 35 70 61 72 73 65  n32.c..fts5parse
f9f0: 2e 63 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  .c:.$(TOP)\ext\f fa00: 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20 ts5\fts5parse.y fa10: 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70 79 20 lemon.exe..copy fa20: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c$(TOP)\ext\fts5\
fa30: 66 74 73 35 70 61 72 73 65 2e 79 20 2e 0a 09 64  fts5parse.y ...d
fa40: 65 6c 20 2f 51 20 66 74 73 35 70 61 72 73 65 2e  el /Q fts5parse.
fa50: 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e  h 2>NUL...\lemon
fa60: 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41 54 55  .exe $(REQ_FEATU fa70: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f RE_FLAGS)$(OPT_
fa80: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $fa90: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (EXT_FEATURE_FLA faa0: 47 53 29 20 24 28 4f 50 54 53 29 20 66 74 73 35 GS)$(OPTS) fts5
fab0: 70 61 72 73 65 2e 79 0a 0a 66 74 73 35 70 61 72  parse.y..fts5par
fac0: 73 65 2e 68 3a 09 66 74 73 35 70 61 72 73 65 2e  se.h:.fts5parse.
fad0: 63 0a 0a 66 74 73 35 2e 63 3a 09 24 28 46 54 53  c..fts5.c:.$(FTS fae0: 35 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 5_SRC)..$(TCLSH_
faf0: 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c  CMD) $(TOP)\ext\ fb00: 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 fts5\tool\mkfts5 fb10: 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f c.tcl..copy$(TO
fb20: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
fb30: 2e 68 20 2e 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28  .h ...lsm1.c:.$( fb40: 4c 53 4d 31 5f 53 52 43 29 0a 09 24 28 54 43 4c LSM1_SRC)..$(TCL
fb50: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65  SH_CMD) $(TOP)\e fb60: 78 74 5c 6c 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c xt\lsm1\tool\mkl fb70: 73 6d 31 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 sm1c.tcl..copy$
fb80: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
fb90: 73 6d 2e 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a  sm.h ...fts5.lo:
fba0: 09 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24  .fts5.c $(HDR)$
fbb0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO fbc0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
fbd0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO fbe0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ fbf0: 43 4f 52 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a CORE -c fts5.c.. fc00: 66 74 73 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 fts5_ext.lo:.fts fc10: 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 5.c$(HDR) $(EXT fc20: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
fc30: 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63  E) $(NO_WARN) -c fc40: 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 2e 64 6c fts5.c..fts5.dl fc50: 6c 3a 09 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 l:.fts5_ext.lo.. fc60: 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29$(LD) $(LDFLAGS) fc70: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24$(LTLINKOPTS) $fc80: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c (LTLIBPATHS) /DL fc90: 4c 20 2f 4f 55 54 3a 24 40 20 66 74 73 35 5f 65 L /OUT:$@ fts5_e
fca0: 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65 33 72 62  xt.lo..sqlite3rb
fcb0: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext fcc0: 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e \rbu\sqlite3rbu. fcd0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD fce0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
fcf0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
fd00: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  c $(TOP)\ext\rbu fd10: 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 0a 0a 23 \sqlite3rbu.c..# fd20: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 Rules to build fd30: 74 68 65 20 27 74 65 73 74 66 69 78 74 75 72 65 the 'testfixture fd40: 27 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 ' application..# fd50: 0a 23 20 49 66 20 75 73 69 6e 67 20 74 68 65 20 .# If using the fd60: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 73 amalgamation, us fd70: 65 20 73 71 6c 69 74 65 33 2e 63 20 64 69 72 65 e sqlite3.c dire fd80: 63 74 6c 79 20 74 6f 20 62 75 69 6c 64 20 74 68 ctly to build th fd90: 65 20 74 65 73 74 0a 23 20 66 69 78 74 75 72 65 e test.# fixture fda0: 2e 20 20 4f 74 68 65 72 77 69 73 65 20 6c 69 6e . Otherwise lin fdb0: 6b 20 61 67 61 69 6e 73 74 20 6c 69 62 73 71 6c k against libsql fdc0: 69 74 65 33 2e 6c 69 62 2e 20 20 28 54 68 69 73 ite3.lib. (This fdd0: 20 64 69 73 74 69 6e 63 74 69 6f 6e 20 69 73 0a distinction is. fde0: 23 20 6e 65 63 65 73 73 61 72 79 20 62 65 63 61 # necessary beca fdf0: 75 73 65 20 74 68 65 20 74 65 73 74 20 66 69 78 use the test fix fe00: 74 75 72 65 20 72 65 71 75 69 72 65 73 20 6e 6f ture requires no fe10: 6e 2d 41 50 49 20 73 79 6d 62 6f 6c 73 20 77 68 n-API symbols wh fe20: 69 63 68 20 61 72 65 0a 23 20 68 69 64 64 65 6e ich are.# hidden fe30: 20 77 68 65 6e 20 74 68 65 20 6c 69 62 72 61 72 when the librar fe40: 79 20 69 73 20 62 75 69 6c 74 20 76 69 61 20 74 y is built via t fe50: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 he amalgamation) fe60: 2e 0a 23 0a 54 45 53 54 46 49 58 54 55 52 45 5f ..#.TESTFIXTURE_ fe70: 46 4c 41 47 53 20 3d 20 2d 44 54 43 4c 53 48 5f FLAGS = -DTCLSH_ fe80: 49 4e 49 54 5f 50 52 4f 43 3d 73 71 6c 69 74 65 INIT_PROC=sqlite fe90: 33 54 65 73 74 49 6e 69 74 20 2d 44 53 51 4c 49 3TestInit -DSQLI fea0: 54 45 5f 54 45 53 54 3d 31 20 2d 44 53 51 4c 49 TE_TEST=1 -DSQLI feb0: 54 45 5f 43 52 41 53 48 5f 54 45 53 54 3d 31 0a TE_CRASH_TEST=1. fec0: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 TESTFIXTURE_FLAG fed0: 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 S =$(TESTFIXTUR
fee0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
fef0: 45 5f 53 45 52 56 45 52 3d 31 20 2d 44 53 51 4c  E_SERVER=1 -DSQL
ff00: 49 54 45 5f 50 52 49 56 41 54 45 3d 22 22 0a 54  ITE_PRIVATE="".T
ff10: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
ff20: 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE ff30: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE ff40: 5f 43 4f 52 45 20 24 28 4e 4f 5f 57 41 52 4e 29 _CORE$(NO_WARN)
ff50: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
ff60: 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU ff70: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI ff80: 54 45 5f 53 45 52 49 45 53 5f 43 4f 4e 53 54 52 TE_SERIES_CONSTR ff90: 41 49 4e 54 5f 56 45 52 49 46 59 3d 31 0a 54 45 AINT_VERIFY=1.TE ffa0: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 STFIXTURE_FLAGS ffb0: 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f =$(TESTFIXTURE_
ffc0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
ffd0: 44 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a  DEFAULT_PAGE_SIZ
ffe0: 45 3d 31 30 32 34 0a 54 45 53 54 46 49 58 54 55  E=1024.TESTFIXTU
fff0: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES 10000 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 TFIXTURE_FLAGS) 10010 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 10020 53 54 4d 54 56 54 41 42 0a 54 45 53 54 46 49 58 STMTVTAB.TESTFIX 10030 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 TURE_FLAGS =$(T
10040 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10050 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
10060 45 5f 44 42 50 41 47 45 5f 56 54 41 42 0a 54 45  E_DBPAGE_VTAB.TE
10070 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS
10080 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_ 10090 46 4c 41 47 53 29 20 24 28 54 45 53 54 5f 43 43 FLAGS)$(TEST_CC
100a0 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45 53 54 46  ONV_OPTS)..TESTF
100b0 49 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24 28  IXTURE_SRC0 = $( 100c0 54 45 53 54 45 58 54 29 20 24 28 54 45 53 54 53 TESTEXT)$(TESTS
100d0 52 43 32 29 0a 54 45 53 54 46 49 58 54 55 52 45  RC2).TESTFIXTURE
100e0 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54 45 58  _SRC1 = $(TESTEX 100f0 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21 T)$(SQLITE3C).!
10100 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d  IF $(USE_AMALGAM 10110 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 49 ATION)==0.TESTFI 10120 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 XTURE_SRC =$(TE
10130 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72  STSRC) $(TOP)\sr 10140 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 c\tclsqlite.c$(
10150 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 30  TESTFIXTURE_SRC0
10160 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49 58 54  ).!ELSE.TESTFIXT
10170 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54  URE_SRC = $(TEST 10180 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c SRC)$(TOP)\src\
10190 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45  tclsqlite.c $(TE 101a0 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 29 0a STFIXTURE_SRC1). 101b0 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 55 53 !ENDIF..!IF$(US
101c0 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c  E_STDCALL)!=0 ||
101d0 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0 101e0 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 .sqlite_tclDecls 101f0 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 .h:..echo #ifnde 10200 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 f SQLITE_TCLAPI 10210 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 >$(SQLITETCLDEC
10220 4c 53 48 29 0a 09 65 63 68 6f 20 23 20 20 64 65  LSH)..echo #  de
10230 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c 41  fine SQLITE_TCLA
10240 50 49 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43  PI >> $(SQLITETC 10250 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 LDECLSH)..echo # 10260 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 4c 49 54 endif >>$(SQLIT
10270 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 74 79 70  ETCLDECLSH)..typ
10280 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c  e "$(TCLINCDIR)\ 10290 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09 09 tclDecls.h" \... 102a0 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 |$(TCLSH_CMD) $102b0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 (TOP)\tool\repla 102c0 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e ce.tcl regsub "^ 102d0 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53 54 (EXTERN(?: CONST 102e0 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a \d+?)?\s+?[^\(]* 102f0 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31 20 ?\s+?)Tcl_" "\1 10300 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 SQLITE_TCLAPI Tc 10310 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 l_" \...|$(TCLS
10320 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to 10330 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 ol\replace.tcl r 10340 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e 5c egsub "^(EXTERN\ 10350 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44 29 s+?(?:void|VOID) 10360 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a 22 \s+?)TclFreeObj" 10370 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 "\1 SQLITE_TCLA 10380 50 49 20 54 63 6c 46 72 65 65 4f 62 6a 22 20 5c PI TclFreeObj" \ 10390 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 ...|$(TCLSH_CMD
103a0 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re 103b0 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 place.tcl regsub 103c0 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53 51 "\(\*tcl_" "(SQ 103d0 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c LITE_TCLAPI *tcl 103e0 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 _" \...|$(TCLSH
103f0 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too 10400 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 l\replace.tcl re 10410 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72 65 gsub "\(\*tclFre 10420 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 45 5f 54 eObj" "(SQLITE_T 10430 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 65 4f 62 CLAPI *tclFreeOb 10440 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 j" \...|$(TCLSH
10450 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too 10460 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 l\replace.tcl re 10470 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 gsub "\(\*" "(SQ 10480 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 22 20 3e LITE_TCLAPI *" > 10490 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 >$(SQLITETCLDEC
104a0 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f 74 63 6c  LSH)..sqlite_tcl
104b0 2e 68 3a 0a 09 74 79 70 65 20 22 24 28 54 43 4c  .h:..type "$(TCL 104c0 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 20 7c INCDIR)\tcl.h" | 104d0 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28$(TCLSH_CMD) $( 104e0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 TOP)\tool\replac 104f0 65 2e 74 63 6c 20 65 78 61 63 74 20 74 63 6c 44 e.tcl exact tclD 10500 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74 63 ecls.h sqlite_tc 10510 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20 24 lDecls.h \...|$
10520 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO 10530 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e P)\tool\replace. 10540 74 63 6c 20 72 65 67 73 75 62 20 22 74 79 70 65 tcl regsub "type 10550 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f 22 def (.*?)\(Tcl_" 10560 20 22 74 79 70 65 64 65 66 20 5c 31 20 28 53 51 "typedef \1 (SQ 10570 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f LITE_TCLAPI Tcl_ 10580 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f " \...|$(TCLSH_
10590 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool 105a0 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 \replace.tcl exa 105b0 63 74 20 22 76 6f 69 64 20 28 2a 66 72 65 65 50 ct "void (*freeP 105c0 72 6f 63 29 22 20 22 76 6f 69 64 20 28 53 51 4c roc)" "void (SQL 105d0 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 65 65 ITE_TCLAPI *free 105e0 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28 54 Proc)" \...|$(T
105f0 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) 10600 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 \tool\replace.tc 10610 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61 73 l exact "Tcl_Has 10620 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50 72 hEntry *(*findPr 10630 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e oc)" "Tcl_HashEn 10640 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c try *(SQLITE_TCL 10650 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 22 20 API *findProc)" 10660 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d \...|$(TCLSH_CM
10670 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r 10680 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 eplace.tcl exact 10690 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 "Tcl_HashEntry 106a0 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 *(*createProc)" 106b0 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a "Tcl_HashEntry * 106c0 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a (SQLITE_TCLAPI * 106d0 63 72 65 61 74 65 50 72 6f 63 29 22 20 3e 3e 20 createProc)" >> 106e0 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45$(SQLITETCLH).!E
106f0 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75 72  NDIF..testfixtur
10700 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49 58  e.exe:.$(TESTFIX 10710 54 55 52 45 5f 53 52 43 29 20 24 28 54 45 53 54 TURE_SRC)$(TEST
10720 46 49 58 54 55 52 45 5f 44 45 50 29 20 24 28 53  FIXTURE_DEP) $(S 10730 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 QLITE3H)$(LIBRE
10740 53 4f 42 4a 53 29 20 24 28 48 44 52 29 20 24 28  SOBJS) $(HDR)$(
10750 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a  SQLITE_TCL_DEP).
10760 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c  .$(LTLINK) -DSQL 10770 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 ITE_NO_SYNC=1$(
10780 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10790 53 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73  S) \...-DBUILD_s
107a0 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43  qlite -I$(TCLINC 107b0 44 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46 DIR) \...$(TESTF
107c0 49 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09  IXTURE_SRC) \...
107d0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 107e0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24$(LTLINKOPTS) $107f0 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 (TCLLIBPATHS)$(
10800 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49  LTLIBPATHS) $(LI 10810 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c BRESOBJS)$(TCLL
10820 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24  IBS) $(LTLIBS)$
10830 28 54 4c 49 42 53 29 0a 0a 65 78 74 65 6e 73 69  (TLIBS)..extensi
10840 6f 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78 74  ontest:.testfixt
10850 75 72 65 2e 65 78 65 20 74 65 73 74 6c 6f 61 64  ure.exe testload
10860 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74 20 50 41  ext.dll..@set PA
10870 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH) 10880 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 ;$(PATH)...\test
10890 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO 108a0 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65 78 74 2e P)\test\loadext. 108b0 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 test$(TESTOPTS)
108c0 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24 28 54 45  ..fulltest:.$(TE 108d0 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 STPROGS) fuzztes 108e0 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c t..@set PATH=$(L
108f0 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT 10900 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 H)...\testfixtur 10910 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 e.exe$(TOP)\tes
10920 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28 54 45 53  t\all.test $(TES 10930 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74 65 73 74 TOPTS)..soaktest 10940 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 :.$(TESTPROGS)..
10950 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT 10960 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a CLPATH);$(PATH).
10970 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
10980 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61  xe $(TOP)\test\a 10990 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31 20 ll.test -soak=1 109a0 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c$(TESTOPTS)..ful
109b0 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28 54 45 53  ltestonly:.$(TES 109c0 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74 TPROGS) fuzztest 109d0 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 ..@set PATH=$(LI
109e0 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH 109f0 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 )...\testfixture 10a00 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 .exe$(TOP)\test
10a10 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 65 72  \full.test..quer
10a20 79 70 6c 61 6e 74 65 73 74 3a 09 74 65 73 74 66  yplantest:.testf
10a30 69 78 74 75 72 65 2e 65 78 65 20 73 68 65 6c 6c  ixture.exe shell
10a40 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI 10a50 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 BTCLPATH);$(PATH
10a60 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
10a70 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test 10a80 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73 2e 74 65 \permutations.te 10a90 73 74 20 71 75 65 72 79 70 6c 61 6e 6e 65 72 20 st queryplanner 10aa0 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 7a$(TESTOPTS)..fuz
10ab0 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b  ztest:.fuzzcheck
10ac0 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63  .exe...\fuzzchec
10ad0 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44 41 54 41  k.exe $(FUZZDATA 10ae0 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65 73 74 3a )..fastfuzztest: 10af0 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 .fuzzcheck.exe.. 10b00 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 .\fuzzcheck.exe 10b10 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31 30 30 4d --limit-mem 100M 10b20 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 23 20$(FUZZDATA)..#
10b30 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69 6e 67 20  Minimal testing
10b40 74 68 61 74 20 72 75 6e 73 20 69 6e 20 6c 65 73  that runs in les
10b50 73 20 74 68 61 6e 20 33 20 6d 69 6e 75 74 65 73  s than 3 minutes
10b60 20 28 6f 6e 20 61 20 66 61 73 74 20 6d 61 63 68   (on a fast mach
10b70 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74 65 73 74  ine).#.quicktest
10b80 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  :.testfixture.ex
10b90 65 20 73 6f 75 72 63 65 74 65 73 74 0a 09 40 73  e sourcetest..@s
10ba0 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL 10bb0 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e PATH);$(PATH)...
10bc0 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
10bd0 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 65 78 74   $(TOP)\test\ext 10be0 72 61 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 raquick.test$(T
10bf0 45 53 54 4f 50 54 53 29 0a 0a 23 20 54 68 69 73  ESTOPTS)..# This
10c00 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 63   is the common c
10c10 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e 79 20 74  ase.  Run many t
10c20 65 73 74 73 20 74 68 61 74 20 64 6f 20 6e 6f 74  ests that do not
10c30 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67 2c 0a   take too long,.
10c40 23 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 7a 7a  # including fuzz
10c50 63 68 65 63 6b 2c 20 73 71 6c 69 74 65 33 5f 61  check, sqlite3_a
10c60 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20 73 71 6c  nalyzer, and sql
10c70 64 69 66 66 20 74 65 73 74 73 2e 0a 23 0a 74 65  diff tests..#.te
10c80 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS) 10c90 20 73 6f 75 72 63 65 74 65 73 74 20 66 61 73 74 sourcetest fast 10ca0 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 fuzztest..@set P 10cb0 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 ATH=$(LIBTCLPATH
10cc0 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes 10cd0 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 tfixture.exe$(T
10ce0 4f 50 29 5c 74 65 73 74 5c 76 65 72 79 71 75 69  OP)\test\veryqui
10cf0 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  ck.test $(TESTOP 10d00 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 3a 09 TS)..smoketest:. 10d10 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73$(TESTPROGS)..@s
10d20 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL 10d30 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e PATH);$(PATH)...
10d40 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
10d50 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6d 61 69   $(TOP)\test\mai 10d60 6e 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 n.test$(TESTOPT
10d70 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c  S)..sqlite3_anal
10d80 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c 49 54 45  yzer.c:.$(SQLITE 10d90 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 3C)$(SQLITE3H)
10da0 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq 10db0 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f lite.c$(TOP)\to
10dc0 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c  ol\spaceanal.tcl
10dd0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63   $(TOP)\tool\mkc 10de0 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c code.tcl$(TOP)\
10df0 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e 61  tool\sqlite3_ana
10e00 6c 79 7a 65 72 2e 63 2e 69 6e 20 24 28 53 51 4c  lyzer.c.in $(SQL 10e10 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 ITE_TCL_DEP)..$(
10e20 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP 10e30 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 )\tool\mkccode.t 10e40 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 cl$(TOP)\tool\s
10e50 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
10e60 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 74  c.in > $@..sqlit 10e70 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 3a e3_analyzer.exe: 10e80 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 .sqlite3_analyze 10e90 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 r.c$(LIBRESOBJS
10ea0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
10eb0 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f  O_WARN) -DBUILD_
10ec0 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN 10ed0 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f 61 6e CDIR) sqlite3_an 10ee0 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 alyzer.c \.../li 10ef0 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( 10f00 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 LTLINKOPTS)$(TC
10f10 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c  LLIBPATHS) $(LTL 10f20 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 IBPATHS)$(LIBRE
10f30 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53  SOBJS) $(TCLLIBS 10f40 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c )$(LTLIBS) $(TL 10f50 49 42 53 29 0a 0a 73 71 6c 74 63 6c 73 68 2e 63 IBS)..sqltclsh.c 10f60 3a 20 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f : sqlite3.c$(TO
10f70 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
10f80 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  .c $(TOP)\tool\s 10f90 71 6c 74 63 6c 73 68 2e 74 63 6c 20 24 28 54 4f qltclsh.tcl$(TO
10fa0 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 70 70 65  P)\ext\misc\appe
10fb0 6e 64 76 66 73 2e 63 20 24 28 54 4f 50 29 5c 74  ndvfs.c $(TOP)\t 10fc0 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 ool\mkccode.tcl 10fd0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74$(TOP)\tool\sqlt
10fe0 63 6c 73 68 2e 63 2e 69 6e 0a 09 24 28 54 43 4c  clsh.c.in..$(TCL 10ff0 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 SH_CMD)$(TOP)\t
11000 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20  ool\mkccode.tcl
11010 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74  $(TOP)\tool\sqlt 11020 63 6c 73 68 2e 63 2e 69 6e 20 3e 73 71 6c 74 63 clsh.c.in >sqltc 11030 6c 73 68 2e 63 0a 0a 73 71 6c 74 63 6c 73 68 2e lsh.c..sqltclsh. 11040 65 78 65 3a 20 73 71 6c 74 63 6c 73 68 2e 63 0a exe: sqltclsh.c. 11050 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ 11060 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 WARN) -DBUILD_sq 11070 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 lite -I$(TCLINCD
11080 49 52 29 20 73 71 6c 74 63 6c 73 68 2e 63 20 5c  IR) sqltclsh.c \
11090 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .../link $(LDFLA 110a0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
110b0 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29  ) $(TCLLIBPATHS) 110c0 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24$(LTLIBPATHS) $110d0 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 (LIBRESOBJS)$(T
110e0 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53  CLLIBS) $(LTLIBS 110f0 29 20 24 28 54 4c 49 42 53 29 0a 0a 73 71 6c 69 )$(TLIBS)..sqli
11100 74 65 33 5f 65 78 70 65 72 74 2e 65 78 65 3a 20  te3_expert.exe:
11110 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 54 4f  $(SQLITE3C)$(TO
11120 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71  P)\ext\expert\sq
11130 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20 24 28  lite3expert.h $( 11140 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c TOP)\ext\expert\ 11150 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 sqlite3expert.c 11160 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72$(TOP)\ext\exper
11170 74 5c 65 78 70 65 72 74 2e 63 0a 09 24 28 4c 54  t\expert.c..$(LT 11180 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
11190 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65  .$(TOP)\ext\expe 111a0 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 rt\sqlite3expert 111b0 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 .c$(TOP)\ext\ex
111c0 70 65 72 74 5c 65 78 70 65 72 74 2e 63 20 24 28  pert\expert.c $( 111d0 53 51 4c 49 54 45 33 43 29 20 24 28 54 4c 49 42 SQLITE3C)$(TLIB
111e0 53 29 0a 0a 43 48 45 43 4b 45 52 5f 44 45 50 53  S)..CHECKER_DEPS
111f0 20 3d 5c 0a 20 20 24 28 54 4f 50 29 2f 74 6f 6f   =\.  $(TOP)/too 11200 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 5c 0a l/mkccode.tcl \. 11210 20 20 73 71 6c 69 74 65 33 2e 63 20 5c 0a 20 20 sqlite3.c \. 11220 24 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71$(TOP)/src/tclsq
11230 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lite.c \.  $(TOP 11240 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 73 71 6c )/ext/repair/sql 11250 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 74 63 6c ite3_checker.tcl 11260 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f \.$(TOP)/ext/
11270 72 65 70 61 69 72 2f 63 68 65 63 6b 69 6e 64 65  repair/checkinde
11280 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65  x.c \.  $(TOP)/e 11290 78 74 2f 72 65 70 61 69 72 2f 63 68 65 63 6b 66 xt/repair/checkf 112a0 72 65 65 6c 69 73 74 2e 63 20 5c 0a 20 20 24 28 reelist.c \.$(
112b0 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f 62 74  TOP)/ext/misc/bt
112c0 72 65 65 69 6e 66 6f 2e 63 20 5c 0a 20 20 24 28  reeinfo.c \.  $( 112d0 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f TOP)/ext/repair/ 112e0 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e sqlite3_checker. 112f0 63 2e 69 6e 0a 0a 73 71 6c 69 74 65 33 5f 63 68 c.in..sqlite3_ch 11300 65 63 6b 65 72 2e 63 3a 09 24 28 43 48 45 43 4b ecker.c:.$(CHECK
11310 45 52 5f 44 45 50 53 29 0a 09 24 28 54 43 4c 53  ER_DEPS)..$(TCLS 11320 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
11330 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24  ol\mkccode.tcl $11340 28 54 4f 50 29 5c 65 78 74 5c 72 65 70 61 69 72 (TOP)\ext\repair 11350 5c 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 \sqlite3_checker 11360 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 .c.in >$@..sqli
11370 74 65 33 5f 63 68 65 63 6b 65 72 2e 65 78 65 3a  te3_checker.exe:
11380 09 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72  .sqlite3_checker
11390 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  .c $(LIBRESOBJS) 113a0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO 113b0 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 _WARN) -DBUILD_s 113c0 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 qlite -I$(TCLINC
113d0 44 49 52 29 20 73 71 6c 69 74 65 33 5f 63 68 65  DIR) sqlite3_che
113e0 63 6b 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b  cker.c \.../link
113f0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
11400 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c  LINKOPTS) $(TCLL 11410 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 IBPATHS)$(LTLIB
11420 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO 11430 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 BJS)$(TCLLIBS)
11440 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS)$(TLIB
11450 53 29 0a 0a 64 62 64 75 6d 70 2e 65 78 65 3a 09  S)..dbdump.exe:.
11460 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ 11470 64 62 64 75 6d 70 2e 63 20 24 28 53 51 4c 49 54 dbdump.c$(SQLIT
11480 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) 11490 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO 114a0 5f 57 41 52 4e 29 20 2d 44 44 42 44 55 4d 50 5f _WARN) -DDBDUMP_ 114b0 53 54 41 4e 44 41 4c 4f 4e 45 20 24 28 54 4f 50 STANDALONE$(TOP
114c0 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d  )\ext\misc\dbdum
114d0 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  p.c $(SQLITE3C) 114e0 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c \.../link$(LDFL
114f0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT 11500 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 S)$(LTLIBPATHS)
11510 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS)$
11520 28 4c 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f  (LTLIBS)..testlo
11530 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  adext.lo:.$(TOP) 11540 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 \src\test_loadex 11550 74 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 t.c..$(LTCOMPILE
11560 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20  ) $(NO_WARN) -c 11570 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
11580 6c 6f 61 64 65 78 74 2e 63 0a 0a 74 65 73 74 6c  loadext.c..testl
11590 6f 61 64 65 78 74 2e 64 6c 6c 3a 09 74 65 73 74  oadext.dll:.test
115a0 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09 24 28 4c 44  loadext.lo..$(LD 115b0 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c )$(LDFLAGS) $(L 115c0 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c TLINKOPTS)$(LTL
115d0 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f  IBPATHS) /DLL /O
115e0 55 54 3a 24 40 20 74 65 73 74 6c 6f 61 64 65 78  UT:$@ testloadex 115f0 74 2e 6c 6f 0a 0a 73 68 6f 77 64 62 2e 65 78 65 t.lo..showdb.exe 11600 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 :.$(TOP)\tool\sh
11610 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33  owdb.c $(SQLITE3 11620 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
11630 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
11640 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
11650 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
11660 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
11670 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO 11680 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 P)\tool\showdb.c 11690 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69$(SQLITE3C) /li
116a0 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
116b0 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f  LTLINKOPTS)..sho
116c0 77 73 74 61 74 34 2e 65 78 65 3a 09 24 28 54 4f  wstat4.exe:.$(TO 116d0 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 P)\tool\showstat 116e0 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 4.c$(SQLITE3C)
116f0 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
11700 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN 11710 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 ) -DSQLITE_THREA 11720 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 DSAFE=0 -DSQLITE 11730 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e _OMIT_LOAD_EXTEN 11740 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c SION \...$(TOP)\
11750 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63  tool\showstat4.c
11760 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li 11770 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( 11780 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f LTLINKOPTS)..sho 11790 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a 09 24 28 wjournal.exe:.$(
117a0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f  TOP)\tool\showjo
117b0 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45  urnal.c $(SQLITE 117c0 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
117d0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
117e0 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
117f0 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
11800 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
11810 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54  XTENSION \...$(T 11820 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 OP)\tool\showjou 11830 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 rnal.c$(SQLITE3
11840 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA 11850 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
11860 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78 65 3a 09  )..showwal.exe:.
11870 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show 11880 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 wal.c$(SQLITE3C
11890 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
118a0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 118b0 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 RN) -DSQLITE_THR 118c0 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 EADSAFE=0 -DSQLI 118d0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 TE_OMIT_LOAD_EXT 118e0 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 ENSION \...$(TOP
118f0 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63  )\tool\showwal.c
11900 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li 11910 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( 11920 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f LTLINKOPTS)..sho 11930 77 73 68 6d 2e 65 78 65 3a 09 24 28 54 4f 50 29 wshm.exe:.$(TOP)
11940 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 0a  \tool\showshm.c.
11950 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
11960 57 41 52 4e 29 09 24 28 54 4f 50 29 5c 74 6f 6f  WARN).$(TOP)\too 11970 6c 5c 73 68 6f 77 73 68 6d 2e 63 20 2f 6c 69 6e l\showshm.c /lin 11980 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L 11990 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e TLINKOPTS)..chan 119a0 67 65 73 65 74 2e 65 78 65 3a 09 24 28 54 4f 50 geset.exe:.$(TOP
119b0 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68  )\ext\session\ch
119c0 61 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49  angeset.c $(SQLI 119d0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
119e0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
119f0 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
11a00 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
11a10 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
11a20 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d  _EXTENSION \...-
11a30 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53  DSQLITE_ENABLE_S
11a40 45 53 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54  ESSION=1 -DSQLIT
11a50 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41  E_ENABLE_PREUPDA
11a60 54 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28  TE_HOOK=1 \...$( 11a70 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e TOP)\ext\session 11a80 5c 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53 \changeset.c$(S
11a90 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $11aa0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
11ab0 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33 76 69 65  NKOPTS)..fts3vie
11ac0 77 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  w.exe:.$(TOP)\ex 11ad0 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 t\fts3\tool\fts3 11ae0 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 view.c$(SQLITE3
11af0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. 11b00 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W 11b10 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 ARN) -DSQLITE_TH 11b20 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c READSAFE=0 -DSQL 11b30 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 ITE_OMIT_LOAD_EX 11b40 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f TENSION \...$(TO
11b50 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c  P)\ext\fts3\tool
11b60 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53 51  \fts3view.c $(SQ 11b70 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
11b80 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 11b90 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b KOPTS)..rollback 11ba0 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 -test.exe:.$(TOP
11bb0 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d  )\tool\rollback-
11bc0 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3 11bd0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
11be0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
11bf0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
11c00 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
11c10 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
11c20 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO 11c30 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b P)\tool\rollback 11c40 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 -test.c$(SQLITE
11c50 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL 11c60 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 AGS)$(LTLINKOPT
11c70 53 29 0a 0a 4c 6f 67 45 73 74 2e 65 78 65 3a 09  S)..LogEst.exe:.
11c80 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65  $(TOP)\tool\loge 11c90 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 48 29 st.c$(SQLITE3H)
11ca0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
11cb0 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f  _WARN) $(TOP)\to 11cc0 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 2f 6c 69 6e ol\LogEst.c /lin 11cd0 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L 11ce0 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 TLINKOPTS)..word 11cf0 63 6f 75 6e 74 2e 65 78 65 3a 09 24 28 54 4f 50 count.exe:.$(TOP
11d00 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74  )\test\wordcount
11d10 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C)$
11d20 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT 11d30 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
11d40 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
11d50 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
11d60 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
11d70 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t 11d80 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 est\wordcount.c 11d90 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
11da0 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
11db0 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 70 65 65  TLINKOPTS)..spee
11dc0 64 74 65 73 74 31 2e 65 78 65 3a 09 24 28 54 4f  dtest1.exe:.$(TO 11dd0 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 P)\test\speedtes 11de0 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 t1.c$(SQLITE3C)
11df0 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
11e00 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR 11e10 4e 29 20 24 28 53 54 5f 43 4f 4d 50 49 4c 45 5f N)$(ST_COMPILE_
11e20 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f  OPTS) -DSQLITE_O
11e30 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
11e40 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65  ON \...$(TOP)\te 11e50 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 20 st\speedtest1.c 11e60 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
11e70 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
11e80 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6b 76 74 65  TLINKOPTS)..kvte
11e90 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  st.exe:.$(TOP)\t 11ea0 65 73 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 est\kvtest.c$(S
11eb0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT 11ec0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 E3H)..$(LTLINK)
11ed0 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4b 56 5f  $(NO_WARN)$(KV_
11ee0 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 5c 0a  COMPILE_OPTS) \.
11ef0 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76  ..$(TOP)\test\kv 11f00 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 test.c$(SQLITE3
11f10 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA 11f20 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
11f30 29 0a 0a 64 62 73 65 6c 66 74 65 73 74 2e 65 78  )..dbselftest.ex
11f40 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64  e:.$(TOP)\test\d 11f50 62 73 65 6c 66 74 65 73 74 2e 63 20 24 28 53 51 bselftest.c$(SQ
11f60 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE 11f70 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 3H)..$(LTLINK) $11f80 28 4e 4f 5f 57 41 52 4e 29 20 24 28 44 42 53 45 (NO_WARN)$(DBSE
11f90 4c 46 54 45 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f  LFTEST_COMPILE_O
11fa0 50 54 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74  PTS) $(TOP)\test 11fb0 5c 64 62 73 65 6c 66 74 65 73 74 2e 63 20 24 28 \dbselftest.c$(
11fc0 53 51 4c 49 54 45 33 43 29 0a 0a 72 62 75 2e 65  SQLITE3C)..rbu.e
11fd0 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72  xe:.$(TOP)\ext\r 11fe0 62 75 5c 72 62 75 2e 63 20 24 28 54 4f 50 29 5c bu\rbu.c$(TOP)\
11ff0 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
12000 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  bu.c $(SQLITE3C) 12010 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( 12020 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
12030 4e 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  N) -DSQLITE_ENAB
12040 4c 45 5f 52 42 55 20 5c 0a 09 09 24 28 54 4f 50  LE_RBU \...$(TOP 12050 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 )\ext\rbu\rbu.c 12060 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
12070 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
12080 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44  TLINKOPTS)..LSMD
12090 49 52 3d 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73  IR=$(TOP)\ext\ls 120a0 6d 31 0a 21 49 4e 43 4c 55 44 45 20 24 28 4c 53 m1.!INCLUDE$(LS
120b0 4d 44 49 52 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d  MDIR)\Makefile.m
120c0 73 63 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a 09 63  sc..moreclean:.c
120d0 6c 65 61 6e 0a 09 64 65 6c 20 2f 51 20 24 28 53  lean..del /Q $(S 120e0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
120f0 45 33 48 29 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f  E3H) 2>NUL.# <</
12100 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09  mark>>..clean:..
12110 64 65 6c 20 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c  del /Q *.exp *.l
12120 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e  o *.ilk *.lib *.
12130 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64 62 20  obj *.ncb *.pdb
12140 2a 2e 73 64 66 20 2a 2e 73 75 6f 20 32 3e 4e 55  *.sdf *.suo 2>NU
12150 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e 62 73 63 20  L..del /Q *.bsc
12160 2a 2e 64 65 66 20 2a 2e 63 6f 64 20 2a 2e 64 61  *.def *.cod *.da
12170 20 2a 2e 62 62 20 2a 2e 62 62 67 20 2a 2e 76 63   *.bb *.bbg *.vc
12180 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a   gmon.out 2>NUL.
12190 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45  .del /Q $(SQLITE 121a0 33 45 58 45 29 20 24 28 53 51 4c 49 54 45 33 44 3EXE)$(SQLITE3D
121b0 4c 4c 29 20 52 65 70 6c 61 63 65 2e 65 78 65 20  LL) Replace.exe
121c0 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  2>NUL.# <<mark>>
121d0 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33  ..del /Q sqlite3
121e0 2e 63 20 73 71 6c 69 74 65 33 2e 68 20 32 3e 4e  .c sqlite3.h 2>N
121f0 55 4c 0a 09 64 65 6c 20 2f 51 20 6f 70 63 6f 64  UL..del /Q opcod
12200 65 73 2e 63 20 6f 70 63 6f 64 65 73 2e 68 20 32  es.c opcodes.h 2
12210 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 65 6d  >NUL..del /Q lem
12220 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e 63 20 70 61  on.* lempar.c pa
12230 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c  rse.* 2>NUL..del
12240 20 2f 51 20 6d 6b 73 6f 75 72 63 65 69 64 2e 2a   /Q mksourceid.*
12250 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 2a   mkkeywordhash.*
12260 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 32   keywordhash.h 2
12270 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6e 6f 74  >NUL..del /Q not
12280 61 73 68 61 72 65 64 6c 69 62 2e 2a 20 32 3e 4e  asharedlib.* 2>N
12290 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20  UL..-rmdir /Q/S
122a0 2e 64 65 70 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d  .deps 2>NUL..-rm
122b0 64 69 72 20 2f 51 2f 53 20 2e 6c 69 62 73 20 32  dir /Q/S .libs 2
122c0 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f  >NUL..-rmdir /Q/
122d0 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 64 65  S tsrc 2>NUL..de
122e0 6c 20 2f 51 20 2e 74 61 72 67 65 74 5f 73 6f 75  l /Q .target_sou
122f0 72 63 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  rce 2>NUL..del /
12300 51 20 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65  Q tclsqlite3.exe
12310 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 24   $(SQLITETCLH)$
12320 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48  (SQLITETCLDECLSH
12330 29 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  ) 2>NUL..del /Q
12340 6c 73 6d 2e 64 6c 6c 20 6c 73 6d 74 65 73 74 2e  lsm.dll lsmtest.
12350 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
12360 51 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c  Q testloadext.dl
12370 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  l 2>NUL..del /Q
12380 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe
12390 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 64  test.db 2>NUL..d
123a0 65 6c 20 2f 51 20 4c 6f 67 45 73 74 2e 65 78 65  el /Q LogEst.exe
123b0 20 66 74 73 33 76 69 65 77 2e 65 78 65 20 72 6f   fts3view.exe ro
123c0 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 20  llback-test.exe
123d0 73 68 6f 77 64 62 2e 65 78 65 20 64 62 64 75 6d  showdb.exe dbdum
123e0 70 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c  p.exe 2>NUL..del
123f0 20 2f 51 20 63 68 61 6e 67 65 73 65 74 2e 65 78   /Q changeset.ex
12400 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q
12410 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 20  showjournal.exe
12420 73 68 6f 77 73 74 61 74 34 2e 65 78 65 20 73 68  showstat4.exe sh
12430 6f 77 77 61 6c 2e 65 78 65 20 73 70 65 65 64 74  owwal.exe speedt
12440 65 73 74 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  est1.exe 2>NUL..
12450 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 65 72 2e  del /Q mptester.
12460 65 78 65 20 77 6f 72 64 63 6f 75 6e 74 2e 65 78  exe wordcount.ex
12470 65 20 72 62 75 2e 65 78 65 20 73 72 63 63 6b 31  e rbu.exe srcck1
12480 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del
12490 2f 51 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c  /Q sqlite3.c sql
124a0 69 74 65 33 2d 2a 2e 63 20 32 3e 4e 55 4c 0a 09  ite3-*.c 2>NUL..
124b0 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 72 63  del /Q sqlite3rc
124c0 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
124d0 20 73 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33   shell.c sqlite3
124e0 65 78 74 2e 68 20 73 71 6c 69 74 65 33 73 65 73  ext.h sqlite3ses
124f0 73 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a 09 64 65  sion.h 2>NUL..de
12500 6c 20 2f 51 20 73 71 6c 69 74 65 33 5f 61 6e 61  l /Q sqlite3_ana
12510 6c 79 7a 65 72 2e 65 78 65 20 73 71 6c 69 74 65  lyzer.exe sqlite
12520 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e  3_analyzer.c 2>N
12530 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74  UL..del /Q sqlit
12540 65 2d 2a 2d 6f 75 74 70 75 74 2e 76 73 69 78 20  e-*-output.vsix
12550 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75  2>NUL..del /Q fu
12560 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 20 66 75  zzershell.exe fu
12570 7a 7a 63 68 65 63 6b 2e 65 78 65 20 73 71 6c 64  zzcheck.exe sqld
12580 69 66 66 2e 65 78 65 20 64 62 68 61 73 68 2e 65  iff.exe dbhash.e
12590 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
125a0 20 73 71 6c 74 63 6c 73 68 2e 65 78 65 20 32 3e   sqltclsh.exe 2>
125b0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73 35  NUL..del /Q fts5
125c0 2e 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20 32  .* fts5parse.* 2
125d0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d  >NUL..del /Q lsm
125e0 2e 68 20 6c 73 6d 31 2e 63 20 32 3e 4e 55 4c 0a  .h lsm1.c 2>NUL.
125f0 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a              # <</mark>>.