/ Hex Artifact Content
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

## Artifact bdcad21b027a56a73e54a1121cfb9edd0a35c0abfa53aa12c2f996006ff99960:

• File Makefile.msc — part of check-in [56d11c25] at 2018-03-16 23:53:47 on branch testFixes — Fix a duplicate test number and cleanup a bit of Makefile whitespace. (user: mistachkin size: 75753) [more...]

0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS =
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U 06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a SE_FULLWARN)!=0. 0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35 NO_WARN = -wd405 0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30 4 -wd4055 -wd410 0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33 0 -wd4127 -wd413 0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38 0 -wd4152 -wd418 0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52 9 -wd4206.NO_WAR 0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d N =$(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
0970: 61 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70  abled.# for comp
0980: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f  atibility with o
0990: 6c 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72  lder build envir
09a0: 6f 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73  onments.  This s
09b0: 65 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70  etting only.# ap
09c0: 70 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43  plies if TCLSH_C
09d0: 4d 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61  MD is not set ma
09e0: 6e 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45  nually..#.!IFNDE
09f0: 46 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  F USE_TCLSH_IN_P
0a00: 41 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e  ATH.USE_TCLSH_IN
0a10: 5f 50 41 54 48 20 3d 20 30 0a 21 45 4e 44 49 46  _PATH = 0.!ENDIF
0a20: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0a30: 2d 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20  -0 to use zlib,
0a40: 70 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69  possibly compili
0a50: 6e 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63  ng it from sourc
0a60: 65 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45  e code..#.!IFNDE
0a70: 46 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a  F USE_ZLIB.USE_Z
0a80: 4c 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  LIB = 0.!ENDIF..
0a90: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0aa0: 20 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66   to build zlib f
0ab0: 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  rom source code.
0ac0: 20 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65    This is enable
0ad0: 64 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61  d by.# default a
0ae0: 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20  nd in that case
0af0: 69 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  it will be assum
0b00: 65 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42  ed that the ZLIB
0b10: 44 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e  DIR macro.# poin
0b20: 74 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65  ts to the top-le
0b30: 76 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  vel source code
0b40: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c  directory for zl
0b50: 69 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55  ib..#.!IFNDEF BU
0b60: 49 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a  ILD_ZLIB.BUILD_Z
0b70: 4c 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a  LIB = 1.!ENDIF..
0b80: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0b90: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0ba0: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0bb0: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0bc0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0bd0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0be0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0bf0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set
0c00: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0c10: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0c20: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0c30: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0c40: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0c50: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL =
0c60: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
0c70: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0c80: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0c90: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0ca0: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0cb0: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0cc0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..#
0cd0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0ce0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0cf0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0d00: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0d10: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0d20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0d30: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0d40: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0d50: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0d60: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0d70: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0d80: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0d90: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0da0: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0db0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0dc0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during
0dd0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0de0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0df0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0e00: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0e10: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0e20: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0e30: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries
0e40: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0e50: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the
0e60: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0e70: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0e80: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0e90: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0ea0: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0eb0: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ec0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0ed0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0ee0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0ef0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0f00: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0f10: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0f20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0f30: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0f40: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0f50: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0f60: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0f70: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0f80: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0f90: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does
0fa0: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0fb0: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0fc0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0fd0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0fe0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text
0ff0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
1000: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
1010: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
1020: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1030: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1040: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1050: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
1060: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
1070: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
1080: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
1090: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
10a0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
10b0: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
10c0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
10d0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
10e0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
10f0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
1100: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1110: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1120: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1130: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
1140: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
1150: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
1160: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
1170: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..#
1180: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
1190: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
11a0: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to
11b0: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or
11c0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
11d0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
11e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
11f0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
1200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
1210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
1220: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
1230: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
1240: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
1250: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
1260: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1280: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
1290: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
12a0: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
12b0: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
12c0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
12d0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
12e0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
12f0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap
1300: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
1310: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1320: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1330: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this
1340: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1350: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1360: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1370: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.#
1380: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1390: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
13a0: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
13b0: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
13c0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
13d0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
13e0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
13f0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
1400: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
1410: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1420: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1430: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1440: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1450: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1460: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for
1470: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1480: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1490: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
14a0: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime
14b0: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
14c0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
14d0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
14e0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
14f0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of
1500: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 ==
1510: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG
1520: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1530: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1540: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1550: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1560: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1570: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1580: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1590: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
15a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
15b0: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
15c0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native
15d0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
15e0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
15f0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1600: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1610: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1620: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1630: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1640: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1650: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1660: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1670: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1680: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1690: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
16a0: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
16b0: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
16c0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
16d0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
16e0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
16f0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero,
1700: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1710: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1720: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1730: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1740: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1750: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1760: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS =
1770: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set
1780: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1790: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support
17a0: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session
17b0: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
17c0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
17d0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
17e0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
17f0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1800: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1810: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1820: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they
1830: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1840: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1850: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $( 1860: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 SPLIT_AMALGAMATI 1870: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20 ON)!=0.SQLITE3C 1880: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a = sqlite3-all.c. 1890: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d !ELSE.SQLITE3C = 18a0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49 sqlite3.c.!ENDI 18b0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 F.!ENDIF..# Set 18c0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65 the include code 18d0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 file to be used 18e0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 by executables 18f0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 and libraries wh 1900: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53 en.# they need S 1910: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46 QLite..#.!IFNDEF 1920: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45 SQLITE3H.SQLITE 1930: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21 3H = sqlite3.h.! 1940: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 ENDIF..# This is 1950: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 the name to use 1960: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 for the SQLite 1970: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 dynamic link lib 1980: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49 rary (DLL)..#.!I 1990: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c FNDEF SQLITE3DLL 19a0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 .!IF$(FOR_WIN10
19b0: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL
19c0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
19d0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
19e0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
19f0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1a00: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1a10: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1a20: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1a30: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1a40: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1a50: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN 1a60: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49 10)!=0.SQLITE3LI 1a70: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c B = winsqlite3.l 1a80: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 ib.!ELSE.SQLITE3 1a90: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69 LIB = sqlite3.li 1aa0: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a b.!ENDIF.!ENDIF. 1ab0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e .# This is the n 1ac0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 ame to use for t 1ad0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 he SQLite shell 1ae0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 executable (EXE) 1af0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 ..#.!IFNDEF SQLI 1b00: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52 TE3EXE.!IF$(FOR
1b10: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1b20: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1b30: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1b40: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1b50: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1b70: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1b80: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1b90: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1ba0: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1bb0: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1bc0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1bd0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF
1be0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!= 1c00: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 0.SQLITE3EXEPDB 1c10: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45 =.!ELSE.SQLITE3E 1c20: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c XEPDB = /pdb:sql 1c30: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49 ite3sh.pdb.!ENDI 1c40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 F.!ENDIF..# <<ma 1c50: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65 rk>>.# These are 1c60: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 the names of th 1c70: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c e customized Tcl 1c80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 header files us 1c90: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61 ed by various pa 1ca0: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61 rts.# of this ma 1cb0: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20 kefile when the 1cc0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20 stdcall calling 1cd0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e convention is in 1ce0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74 use. It is not 1cf0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 .# used for any 1d00: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23 other purpose..# 1d10: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54 .!IFNDEF SQLITET 1d20: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d CLH.SQLITETCLH = 1d30: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45 sqlite_tcl.h.!E 1d40: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51 NDIF..!IFNDEF SQ 1d50: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51 LITETCLDECLSH.SQ 1d60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20 LITETCLDECLSH = 1d70: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e sqlite_tclDecls. 1d80: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 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 64 62 2e  .         memdb.
7d80: 6c 6f 20 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f  lo memjournal.lo
7d90: 20 5c 0a 20 20 20 20 20 20 20 20 20 6d 75 74 65   \.         mute
7da0: 78 2e 6c 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e  x.lo mutex_noop.
7db0: 6c 6f 20 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f  lo mutex_unix.lo
7dc0: 20 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a   mutex_w32.lo \.
7dd0: 20 20 20 20 20 20 20 20 20 6e 6f 74 69 66 79 2e           notify.
7de0: 6c 6f 20 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73  lo opcodes.lo os
7df0: 2e 6c 6f 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f  .lo os_unix.lo o
7e00: 73 5f 77 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20  s_win.lo \.
7e10: 20 20 20 20 70 61 67 65 72 2e 6c 6f 20 70 63 61      pager.lo pca
7e20: 63 68 65 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c  che.lo pcache1.l
7e30: 6f 20 70 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70  o pragma.lo prep
7e40: 61 72 65 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f  are.lo printf.lo
7e50: 20 5c 0a 20 20 20 20 20 20 20 20 20 72 61 6e 64   \.         rand
7e60: 6f 6d 2e 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f  om.lo resolve.lo
7e70: 20 72 6f 77 73 65 74 2e 6c 6f 20 72 74 72 65 65   rowset.lo rtree
7e80: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 73  .lo \.         s
7e90: 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f  qlite3session.lo
7ea0: 20 73 65 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74   select.lo sqlit
7eb0: 65 33 72 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e  e3rbu.lo status.
7ec0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 74 61  lo \.         ta
7ed0: 62 6c 65 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c  ble.lo threads.l
7ee0: 6f 20 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72  o tokenize.lo tr
7ef0: 65 65 76 69 65 77 2e 6c 6f 20 74 72 69 67 67 65  eeview.lo trigge
7f00: 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  r.lo \.
7f10: 75 70 64 61 74 65 2e 6c 6f 20 75 74 69 6c 2e 6c  update.lo util.l
7f20: 6f 20 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20  o vacuum.lo \.
7f30: 20 20 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c         vdbeapi.l
7f40: 6f 20 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62  o vdbeaux.lo vdb
7f50: 65 62 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d  eblob.lo vdbemem
7f60: 2e 6c 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20  .lo vdbesort.lo
7f70: 5c 0a 20 20 20 20 20 20 20 20 20 76 64 62 65 74  \.         vdbet
7f80: 72 61 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77  race.lo wal.lo w
7f90: 61 6c 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c  alker.lo where.l
7fa0: 6f 20 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77  o wherecode.lo w
7fb0: 68 65 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20  hereexpr.lo \.
7fc0: 20 20 20 20 20 20 20 75 74 66 2e 6c 6f 20 76 74         utf.lo vt
7fd0: 61 62 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  ab.lo.# <</mark>
7fe0: 3e 0a 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65  >..# Object file
7ff0: 73 20 66 6f 72 20 74 68 65 20 61 6d 61 6c 67 61  s for the amalga
8000: 6d 61 74 69 6f 6e 2e 0a 23 0a 4c 49 42 4f 42 4a  mation..#.LIBOBJ
8010: 53 31 20 3d 20 73 71 6c 69 74 65 33 2e 6c 6f 0a  S1 = sqlite3.lo.
8020: 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 74 68 65  .# Determine the
8030: 20 72 65 61 6c 20 76 61 6c 75 65 20 6f 66 20 4c   real value of L
8040: 49 42 4f 42 4a 20 62 61 73 65 64 20 6f 6e 20 74  IBOBJ based on t
8050: 68 65 20 27 63 6f 6e 66 69 67 75 72 65 27 20 73  he 'configure' s
8060: 63 72 69 70 74 0a 23 0a 23 20 3c 3c 6d 61 72 6b  cript.#.# <<mark
8070: 3e 3e 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41  >>.!IF $(USE_AMA 8080: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4c 49 LGAMATION)==0.LI 8090: 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 BOBJ =$(LIBOBJS
80a0: 30 29 0a 21 45 4c 53 45 0a 23 20 3c 3c 2f 6d 61  0).!ELSE.# <</ma
80b0: 72 6b 3e 3e 0a 4c 49 42 4f 42 4a 20 3d 20 24 28  rk>>.LIBOBJ = $( 80c0: 4c 49 42 4f 42 4a 53 31 29 0a 23 20 3c 3c 6d 61 LIBOBJS1).# <<ma 80d0: 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 23 20 3c 3c rk>>.!ENDIF.# << 80e0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 74 65 72 /mark>>..# Deter 80f0: 6d 69 6e 65 20 69 66 20 65 6d 62 65 64 64 65 64 mine if embedded 8100: 20 72 65 73 6f 75 72 63 65 20 63 6f 6d 70 69 6c resource compil 8110: 61 74 69 6f 6e 20 61 6e 64 20 75 73 61 67 65 20 ation and usage 8120: 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 21 are enabled..#.! 8130: 49 46 20 24 28 55 53 45 5f 52 43 29 21 3d 30 0a IF$(USE_RC)!=0.
8140: 4c 49 42 52 45 53 4f 42 4a 53 20 3d 20 73 71 6c  LIBRESOBJS = sql
8150: 69 74 65 33 72 65 73 2e 6c 6f 0a 21 45 4c 53 45  ite3res.lo.!ELSE
8160: 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 0a 21 45  .LIBRESOBJS =.!E
8170: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
8180: 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20 63  .# Core source c
8190: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part
81a0: 31 2e 0a 23 0a 53 52 43 30 30 20 3d 20 5c 0a 20  1..#.SRC00 = \.
81b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65   $(TOP)\src\alte 81c0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 r.c \.$(TOP)\s
81d0: 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 5c 0a 20  rc\analyze.c \.
81e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61   $(TOP)\src\atta 81f0: 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ch.c \.$(TOP)\
8200: 73 72 63 5c 61 75 74 68 2e 63 20 5c 0a 20 20 24  src\auth.c \.  $8210: 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 (TOP)\src\backup 8220: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8230: 63 5c 62 69 74 76 65 63 2e 63 20 5c 0a 20 20 24  c\bitvec.c \.  $8240: 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 (TOP)\src\btmute 8250: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 x.c \.$(TOP)\s
8260: 72 63 5c 62 74 72 65 65 2e 63 20 5c 0a 20 20 24  rc\btree.c \.  $8270: 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e (TOP)\src\build. 8280: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8290: 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 5c 0a 20 20  \callback.c \.
82a0: 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c  $(TOP)\src\compl 82b0: 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ete.c \.$(TOP)
82c0: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 5c 0a 20  \src\ctime.c \.
82d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65   $(TOP)\src\date 82e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
82f0: 63 5c 64 62 70 61 67 65 2e 63 20 5c 0a 20 20 24  c\dbpage.c \.  $8300: 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 (TOP)\src\dbstat 8310: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8320: 63 5c 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24  c\delete.c \.  $8330: 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 (TOP)\src\expr.c 8340: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8350: 66 61 75 6c 74 2e 63 20 5c 0a 20 20 24 28 54 4f  fault.c \.  $(TO 8360: 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 5c 0a P)\src\fkey.c \. 8370: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e$(TOP)\src\fun
8380: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s 8390: 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20 20 rc\global.c \. 83a0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e$(TOP)\src\hash.
83b0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 83c0: 5c 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 \insert.c \.$(
83d0: 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e  TOP)\src\legacy.
83e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 83f0: 5c 6c 6f 61 64 65 78 74 2e 63 20 5c 0a 20 20 24 \loadext.c \.$
8400: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63  (TOP)\src\main.c
8410: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8420: 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 malloc.c \.$(T
8430: 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 5c  OP)\src\mem0.c \
8440: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me 8450: 6d 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c m1.c \.$(TOP)\
8460: 73 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20 20 24  src\mem2.c \.  $8470: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 (TOP)\src\mem3.c 8480: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8490: 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50  mem5.c \.  $(TOP 84a0: 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 5c 0a )\src\memdb.c \. 84b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d$(TOP)\src\mem
84c0: 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28  journal.c \.  $( 84d0: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 TOP)\src\mutex.c 84e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
84f0: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20  mutex_noop.c \.
8500: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute 8510: 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 x_unix.c \.$(T
8520: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33  OP)\src\mutex_w3
8530: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  2.c \.  $(TOP)\s 8540: 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a 20 20 rc\notify.c \. 8550: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20$(TOP)\src\os.c
8560: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o 8570: 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 s_unix.c \.$(T
8580: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63  OP)\src\os_win.c
8590: 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20  ..# Core source
85a0: 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74  code files, part
85b0: 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20 5c 0a   2..#.SRC01 = \.
85c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag 85d0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c er.c \.$(TOP)\
85e0: 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c 0a 20  src\pcache.c \.
85f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac 8600: 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 he1.c \.$(TOP)
8610: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 5c 0a  \src\pragma.c \.
8620: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65    $(TOP)\src\pre 8630: 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 pare.c \.$(TOP
8640: 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 5c  )\src\printf.c \
8650: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61  .  $(TOP)\src\ra 8660: 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 ndom.c \.$(TOP
8670: 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20  )\src\resolve.c
8680: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72  \.  $(TOP)\src\r 8690: 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f owset.c \.$(TO
86a0: 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20  P)\src\select.c
86b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s 86c0: 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 28 54 4f tatus.c \.$(TO
86d0: 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 5c  P)\src\table.c \
86e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 68  .  $(TOP)\src\th 86f0: 72 65 61 64 73 2e 63 20 5c 0a 20 20 24 28 54 4f reads.c \.$(TO
8700: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
8710: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8720: 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 c\tokenize.c \. 8730: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65$(TOP)\src\tree
8740: 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50  view.c \.  $(TOP 8750: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 )\src\trigger.c 8760: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 \.$(TOP)\src\u
8770: 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  tf.c \.  $(TOP)\ 8780: 73 72 63 5c 75 70 64 61 74 65 2e 63 20 5c 0a 20 src\update.c \. 8790: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c$(TOP)\src\util
87a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 87b0: 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24 c\vacuum.c \.$
87c0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
87d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 87e0: 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 vdbeapi.c \.$(
87f0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
8800: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8810: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 c\vdbeblob.c \. 8820: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
8830: 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mem.c \.  $(TOP) 8840: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 \src\vdbesort.c 8850: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 \.$(TOP)\src\v
8860: 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24  dbetrace.c \.  $8870: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 (TOP)\src\vtab.c 8880: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8890: 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  wal.c \.  $(TOP) 88a0: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a \src\walker.c \. 88b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65$(TOP)\src\whe
88c0: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\ 88d0: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 src\wherecode.c 88e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 \.$(TOP)\src\w
88f0: 68 65 72 65 65 78 70 72 2e 63 0a 0a 23 20 43 6f  hereexpr.c..# Co
8900: 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 73  re miscellaneous
8910: 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30 33 20   files..#.SRC03
8920: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  = \.  $(TOP)\src 8930: 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f 72 65 \parse.y..# Core 8940: 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 header files, p 8950: 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34 20 3d art 1..#.SRC04 = 8960: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8970: 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f  btree.h \.  $(TO 8980: 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e P)\src\btreeInt. 8990: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 h \.$(TOP)\src
89a0: 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  \hash.h \.  $(TO 89b0: 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68 20 P)\src\hwtime.h 89c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d \.$(TOP)\src\m
89d0: 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  svc.h \.  $(TOP) 89e0: 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 \src\mutex.h \. 89f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68$(TOP)\src\os.h
8a00: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8a10: 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 os_common.h \. 8a20: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65$(TOP)\src\os_se
8a30: 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  tup.h \.  $(TOP) 8a40: 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a 0a 23 \src\os_win.h..# 8a50: 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 69 6c Core header fil 8a60: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 es, part 2..#.SR 8a70: 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 C05 = \.$(TOP)
8a80: 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a 20  \src\pager.h \.
8a90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac 8aa0: 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c he.h \.$(TOP)\
8ab0: 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a 20  src\pragma.h \.
8ac0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69   $(TOP)\src\sqli 8ad0: 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 54 4f te.h.in \.$(TO
8ae0: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 65 78  P)\src\sqlite3ex
8af0: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s 8b00: 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c rc\sqliteInt.h \ 8b10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 .$(TOP)\src\sq
8b20: 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20  liteLimit.h \.
8b30: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe. 8b40: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 h \.$(TOP)\src
8b50: 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20 24  \vdbeInt.h \.  $8b60: 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b (TOP)\src\vxwork 8b70: 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 s.h \.$(TOP)\s
8b80: 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24 28 54  rc\wal.h \.  $(T 8b90: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74 OP)\src\whereInt 8ba0: 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 .h..# Extension 8bb0: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 source code file 8bc0: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 s, part 1..#.SRC 8bd0: 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 06 = \.$(TOP)\
8be0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 63 20  ext\fts1\fts1.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 68 61 73 68 2e 63 20 ts1\fts1_hash.c 8c10: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
8c20: 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65 72 2e  ts1\fts1_porter.
8c30: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 8c40: 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e \fts1\fts1_token 8c50: 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 54 4f izer1.c \.$(TO
8c60: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
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 68 61 73 68 t\fts2\fts2_hash 8c90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
8ca0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e  t\fts2\fts2_icu.
8cb0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 8cc0: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 \fts2\fts2_porte 8cd0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 r.c \.$(TOP)\e
8ce0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
8cf0: 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54  enizer.c \.  $(T 8d00: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts 8d10: 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 2_tokenizer1.c.. 8d20: 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72 # Extension sour 8d30: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 ce code files, p 8d40: 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37 20 3d art 2..#.SRC07 = 8d50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8d60: 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a 20 20  fts3\fts3.c \.
8d70: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 8d80: 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20 20 24 fts3_aux.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 65 78 70 72 2e 63 20 5c 0a 20 20 24  ts3_expr.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 68 61 73 68 2e 63 20 5c 0a 20 20 24 ts3_hash.c \.$
8dd0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8de0: 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28  ts3_icu.c \.  $( 8df0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 8e00: 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 s3_porter.c \. 8e10: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
8e20: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 5c  fts3_snippet.c \
8e30: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 8e40: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 s3\fts3_tokenize 8e50: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 r.c \.$(TOP)\e
8e60: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
8e70: 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28  enizer1.c \.  $( 8e80: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 8e90: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 s3_tokenize_vtab 8ea0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
8eb0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
8ec0: 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ode.c \.  $(TOP) 8ed0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 \ext\fts3\fts3_u 8ee0: 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 24 28 nicode2.c \.$(
8ef0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8f00: 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20 20 24  s3_write.c \.  $8f10: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 (TOP)\ext\icu\ic 8f20: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 u.c \.$(TOP)\e
8f30: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
8f40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8f50: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 session\sqlite3s 8f60: 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24 28 54 ession.c \.$(T
8f70: 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69  OP)\ext\rbu\sqli
8f80: 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24 28 54  te3rbu.c \.  $(T 8f90: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f OP)\ext\misc\jso 8fa0: 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c n1.c \.$(TOP)\
8fb0: 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a  ext\misc\stmt.c.
8fc0: 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61  .# Extension hea
8fd0: 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20  der files, part
8fe0: 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a 20  1..#.SRC08 = \.
8ff0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1 9000: 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f \fts1.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 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO 9030: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 P)\ext\fts1\fts1 9040: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 _tokenizer.h \. 9050: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
9060: 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts2.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 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f _hash.h \.$(TO
9090: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
90a0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23 20  _tokenizer.h..#
90b0: 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72  Extension header
90c0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a   files, part 2..
90d0: 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20 24 28  #.SRC09 = \.  $( 90e0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 90f0: 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c s3.h \.$(TOP)\
9100: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74  ext\fts3\fts3Int
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 68 61 73 68 t\fts3\fts3_hash 9130: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .h \.$(TOP)\ex
9140: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
9150: 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f  nizer.h \.  $(TO 9160: 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 P)\ext\icu\sqlit 9170: 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 eicu.h \.$(TOP
9180: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65  )\ext\rtree\rtre
9190: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.h \.  $(TOP)\e 91a0: 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 xt\rbu\sqlite3rb 91b0: 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 u.h \.$(TOP)\e
91c0: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
91d0: 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 47  e3session.h..# G
91e0: 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65 20  enerated source
91f0: 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43  code files.#.SRC
9200: 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 73  10 = \.  opcodes
9210: 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a 0a  .c \.  parse.c..
9220: 23 20 47 65 6e 65 72 61 74 65 64 20 68 65 61 64  # Generated head
9230: 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 31  er files.#.SRC11
9240: 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61   = \.  keywordha
9250: 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73  sh.h \.  opcodes
9260: 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 5c  .h \.  parse.h \
9270: 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 24  .  shell.c \.  $9280: 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20 47 65 (SQLITE3H)..# Ge 9290: 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65 61 64 nerated Tcl head 92a0: 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46 20 24 er files.#.!IF$
92b0: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
92c0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10) 92d0: 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a 20 20 !=0.SRC12 = \. 92e0: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 5c 0a$(SQLITETCLH) \.
92f0: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43    $(SQLITETCLDEC 9300: 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43 31 32 LSH).!ELSE.SRC12 9310: 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 6c =.!ENDIF..# All 9320: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c source code fil 9330: 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 es..#.SRC =$(SR
9340: 43 30 30 29 20 24 28 53 52 43 30 31 29 20 24 28  C00) $(SRC01)$(
9350: 53 52 43 30 33 29 20 24 28 53 52 43 30 34 29 20  SRC03) $(SRC04) 9360: 24 28 53 52 43 30 35 29 20 24 28 53 52 43 30 36$(SRC05) $(SRC06 9370: 29 20 24 28 53 52 43 30 37 29 20 24 28 53 52 43 )$(SRC07) $(SRC 9380: 30 38 29 20 24 28 53 52 43 30 39 29 20 24 28 53 08)$(SRC09) $(S 9390: 52 43 31 30 29 20 24 28 53 52 43 31 31 29 0a 0a RC10)$(SRC11)..
93a0: 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f  # Source code to
93b0: 20 74 68 65 20 74 65 73 74 20 66 69 6c 65 73 2e   the test files.
93c0: 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c 0a 20  .#.TESTSRC = \.
93d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 93e0: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 1.c \.$(TOP)\s
93f0: 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20 20 24  rc\test2.c \.  $9400: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 33 2e (TOP)\src\test3. 9410: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
9420: 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24 28 54  \test4.c \.  $(T 9430: 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e 63 20 OP)\src\test5.c 9440: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
9450: 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est6.c \.  $(TOP 9460: 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20 5c 0a )\src\test7.c \. 9470: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9480: 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t8.c \.  $(TOP)\ 9490: 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a 20 20 src\test9.c \. 94a0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
94b0: 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20 24 28  autoext.c \.  $( 94c0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 73 TOP)\src\test_as 94d0: 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ync.c \.$(TOP)
94e0: 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b 75 70  \src\test_backup
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 65 73 74 69 6e 64 65 78 c\test_bestindex 9510: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
9520: 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20 5c 0a  c\test_blob.c \.
9530: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9540: 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 t_btree.c \.$(
9550: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 63 6f  TOP)\src\test_co
9560: 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54 4f 50  nfig.c \.  $(TOP 9570: 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c 65 74 )\src\test_delet 9580: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.c \.$(TOP)\s
9590: 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73 2e  rc\test_demovfs.
95a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 95b0: 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63 20 5c \test_devsym.c \ 95c0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
95d0: 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f  st_fs.c \.  $(TO 95e0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75 6e 63 P)\src\test_func 95f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
9600: 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63 20 5c  c\test_hexio.c \
9610: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9620: 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 24 28 st_init.c \.$(
9630: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e  TOP)\src\test_in
9640: 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54  tarray.c \.  $(T 9650: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a 6f 75 OP)\src\test_jou 9660: 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 rnal.c \.$(TOP
9670: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c 6c 6f  )\src\test_mallo
9680: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s 9690: 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20 5c 0a rc\test_md5.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 6c 74 69 70 6c 65 78 2e 63 20 5c 0a  t_multiplex.c \.
96c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 96d0: 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 t_mutex.c \.$(
96e0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 6e  TOP)\src\test_on
96f0: 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f  efile.c \.  $(TO 9700: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69 6e P)\src\test_osin 9710: 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c st.c \.$(TOP)\
9720: 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 2e  src\test_pcache.
9730: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9740: 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c 0a \test_quota.c \. 9750: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9760: 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  t_rtree.c \.  $( 9770: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 63 TOP)\src\test_sc 9780: 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 hema.c \.$(TOP
9790: 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 65  )\src\test_serve
97a0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s 97b0: 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f 63 rc\test_superloc 97c0: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 k.c \.$(TOP)\s
97d0: 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c 2e  rc\test_syscall.
97e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 97f0: 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20 5c 0a \test_tclsh.c \. 9800: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9810: 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20 24  t_tclvar.c \.  $9820: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 (TOP)\src\test_t 9830: 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 54 4f hread.c \.$(TO
9840: 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e  P)\src\test_vfs.
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 69 6e 64 69 72 65 6e 74 2e \test_windirent. 9870: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
9880: 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a 20 20  \test_wsd.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 72 6d 2e 63 20 5c 0a 20 20 fts3_term.c \. 98b0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
98c0: 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a 20 20  fts3_test.c \.
98d0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 74  $(TOP)\ext\rbu\t 98e0: 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20 24 28 est_rbu.c \.$(
98f0: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
9900: 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e 63 0a  \test_session.c.
9910: 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20 6c 69  .# Statically li
9920: 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e 73 2e  nked extensions.
9930: 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c 0a 20  .#.TESTEXT = \.
9940: 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65   $(TOP)\ext\expe 9950: 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 rt\sqlite3expert 9960: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
9970: 74 5c 65 78 70 65 72 74 5c 74 65 73 74 5f 65 78  t\expert\test_ex
9980: 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pert.c \.  $(TOP 9990: 29 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61 74 63 )\ext\misc\amatc 99a0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 h.c \.$(TOP)\e
99b0: 78 74 5c 6d 69 73 63 5c 63 61 72 72 61 79 2e 63  xt\misc\carray.c
99c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 99d0: 6d 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63 20 5c misc\closure.c \ 99e0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
99f0: 73 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24 28 54  sc\csv.c \.  $(T 9a00: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 76 61 OP)\ext\misc\eva 9a10: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 l.c \.$(TOP)\e
9a20: 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63  xt\misc\fileio.c
9a30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 9a40: 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a misc\fuzzer.c \. 9a50: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
9a60: 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20  5\fts5_tcl.c \.
9a70: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 9a80: 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20 \fts5_test_mi.c 9a90: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9aa0: 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f  ts5\fts5_test_to
9ab0: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  k.c \.  $(TOP)\e 9ac0: 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35 34 2e xt\misc\ieee754. 9ad0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9ae0: 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d 2e 63  \misc\mmapwarm.c
9af0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 9b00: 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e 63 20 misc\nextchar.c 9b10: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d \.$(TOP)\ext\m
9b20: 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65 2e 63 20  isc\normalize.c
9b30: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 9b40: 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63 isc\percentile.c 9b50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9b60: 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a  misc\regexp.c \.
9b70: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis 9b80: 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c 0a 20 c\remember.c \. 9b90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
9ba0: 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24 28  \series.c \.  $( 9bb0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70 TOP)\ext\misc\sp 9bc0: 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28 54 ellfix.c \.$(T
9bd0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74  OP)\ext\misc\tot
9be0: 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ype.c \.  $(TOP) 9bf0: 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f 6e 76 \ext\misc\unionv 9c00: 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 tab.c \.$(TOP)
9c10: 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e  \ext\misc\wholen
9c20: 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20 75 73  umber.c..# If us
9c30: 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e 61  e of zlib is ena
9c40: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 22 7a  bled, add the "z
9c50: 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 63 65  ipfile.c" source
9c60: 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55   file..#.!IF $(U 9c70: 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45 53 54 SE_ZLIB)!=0.TEST 9c80: 45 58 54 20 3d 20 24 28 54 45 53 54 45 58 54 29 EXT =$(TESTEXT)
9c90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 9ca0: 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49 \zipfile.c.!ENDI 9cb0: 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 F..# Source code 9cc0: 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 20 to the library 9cd0: 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79 20 files needed by 9ce0: 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65 the test fixture 9cf0: 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 .# (non-amalgama 9d00: 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43 32 tion).#.TESTSRC2 9d10: 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29 20 = \.$(SRC00)
9d20: 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a 20  \.  $(SRC01) \. 9d30: 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24 28$(SRC06) \.  $( 9d40: 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52 43 SRC07) \.$(SRC
9d50: 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  10) \.  $(TOP)\e 9d60: 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65 33 xt\async\sqlite3 9d70: 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64 65 async.c..# Heade 9d80: 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 r files used by 9d90: 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75 72 all library sour 9da0: 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20 ce files..#.HDR 9db0: 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 = \.$(TOP)\sr
9dc0: 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20 24  c\btree.h \.   $9dd0: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 (TOP)\src\btreeI 9de0: 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 nt.h \.$(TOP)
9df0: 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20  \src\hash.h \.
9e00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69   $(TOP)\src\hwti 9e10: 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f 72 me.h \. keywor 9e20: 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 dhash.h \.$(T
9e30: 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c  OP)\src\msvc.h \
9e40: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  .   $(TOP)\src\m 9e50: 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63 6f utex.h \. opco 9e60: 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 des.h \.$(TOP
9e70: 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 20  )\src\os.h \.
9e80: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f  $(TOP)\src\os_co 9e90: 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f mmon.h \.$(TO
9ea0: 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e  P)\src\os_setup.
9eb0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr 9ec0: 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 c\os_win.h \. 9ed0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72$(TOP)\src\pager
9ee0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s 9ef0: 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 rc\pcache.h \. 9f00: 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 parse.h \.$(
9f10: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e  TOP)\src\pragma.
9f20: 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45 33  h \.   $(SQLITE3 9f30: 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 33 65 H) \. sqlite3e 9f40: 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 xt.h \.$(TOP)
9f50: 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68  \src\sqliteInt.h
9f60: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src 9f70: 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c \sqliteLimit.h \ 9f80: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 .$(TOP)\src\v
9f90: 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  dbe.h \.   $(TOP 9fa0: 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 )\src\vdbeInt.h 9fb0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9fc0: 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24  vxworks.h \.   $9fd0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 (TOP)\src\whereI 9fe0: 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20 66 nt.h..# Header f 9ff0: 69 6c 65 73 20 75 73 65 64 20 62 79 20 65 78 74 iles used by ext a000: 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52 ensions.#.EXTHDR a010: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 =$(EXTHDR) \.
a020: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1 a030: 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f \fts1.h \.$(TO
a040: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
a050: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO a060: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 P)\ext\fts1\fts1 a070: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 _tokenizer.h.EXT a080: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 HDR =$(EXTHDR)
a090: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f a0a0: 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 ts2\fts2.h \.$
a0b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
a0c0: 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts2_hash.h \.  $a0d0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f a0e0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a ts2_tokenizer.h. a0f0: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 EXTHDR =$(EXTHD
a100: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  R) \.  $(TOP)\ex a110: 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a t\fts3\fts3.h \. a120: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
a130: 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20  3\fts3Int.h \.
a140: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ a150: 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 fts3_hash.h \. a160: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
a170: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts3_tokenizer.h
a180: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH a190: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 DR) \.$(TOP)\e
a1a0: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 68  xt\rtree\rtree.h
a1b0: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH a1c0: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 DR) \.$(TOP)\e
a1d0: 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75  xt\icu\sqliteicu
a1e0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX a1f0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 THDR) \.$(TOP)
a200: 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 74  \ext\rtree\sqlit
a210: 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52  e3rtree.h.EXTHDR
a220: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. a230: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73$(TOP)\ext\sess
a240: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
a250: 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 62  on.h..# executab
a260: 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74  les needed for t
a270: 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 4f  esting.#.TESTPRO
a280: 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 78  GS = \.  testfix
a290: 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 53  ture.exe \.  $(S a2a0: 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20 73 QLITE3EXE) \. s a2b0: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e qlite3_analyzer. a2c0: 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f exe \. sqlite3_ a2d0: 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20 20 checker.exe \. a2e0: 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20 20 sqldiff.exe \. a2f0: 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20 20 73 dbhash.exe \. s a300: 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20 44 qltclsh.exe..# D a310: 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69 6e atabases contain a320: 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74 20 ing fuzzer test a330: 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54 41 cases.#.FUZZDATA a340: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 = \.$(TOP)\te
a350: 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 20  st\fuzzdata1.db
a360: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\ a370: 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a 20 fuzzdata2.db \. a380: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a$(TOP)\test\fuz
a390: 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 28  zdata3.db \.  $( a3a0: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 TOP)\test\fuzzda a3b0: 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 ta4.db \.$(TOP
a3c0: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 35  )\test\fuzzdata5
a3d0: 2e 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  .db.# <</mark>>.
a3e0: 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f  .# Additional co
a3f0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66  mpiler options f
a400: 6f 72 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54  or the shell.  T
a410: 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66  hese are only ef
a420: 66 65 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74  fective.# when t
a430: 68 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20  he shell is not
a440: 62 65 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c  being dynamicall
a450: 79 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20  y linked..#.!IF
a460: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL) a470: 3d 3d 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e ==0 &&$(FOR_WIN
a480: 31 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)==0.SHELL_COM
a490: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH a4a0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ELL_COMPILE_OPTS a4b0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ) -DSQLITE_ENABL a4c0: 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 E_JSON1 -DSQLITE a4d0: 5f 45 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 53 _ENABLE_FTS4 -DS a4e0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50 QLITE_ENABLE_EXP a4f0: 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 20 2d 44 LAIN_COMMENTS -D a500: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 SQLITE_ENABLE_ST a510: 4d 54 56 54 41 42 0a 53 48 45 4c 4c 5f 43 4f 4d MTVTAB.SHELL_COM a520: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 PILE_OPTS =$(SH
a530: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a540: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
a550: 45 5f 44 42 50 41 47 45 5f 56 54 41 42 20 2d 44  E_DBPAGE_VTAB -D
a560: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42  SQLITE_ENABLE_DB
a570: 53 54 41 54 5f 56 54 41 42 0a 53 48 45 4c 4c 5f  STAT_VTAB.SHELL_
a580: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $a590: 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f (SHELL_COMPILE_O a5a0: 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e PTS) -DSQLITE_EN a5b0: 41 42 4c 45 5f 4f 46 46 53 45 54 5f 53 51 4c 5f ABLE_OFFSET_SQL_ a5c0: 46 55 4e 43 20 2d 44 53 51 4c 49 54 45 5f 49 4e FUNC -DSQLITE_IN a5d0: 54 52 4f 53 50 45 43 54 49 4f 4e 5f 50 52 41 47 TROSPECTION_PRAG a5e0: 4d 41 53 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c MAS.SHELL_COMPIL a5f0: 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c E_OPTS =$(SHELL
a600: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
a610: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52  DSQLITE_ENABLE_R
a620: 54 52 45 45 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  TREE.!ENDIF..# <
a630: 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20  <mark>>.# Extra
a640: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
a650: 20 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65 73   for various tes
a660: 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53  t tools..#.MPTES
a670: 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  TER_COMPILE_OPTS
a680: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42   = -DSQLITE_ENAB
a690: 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54  LE_JSON1 -DSQLIT
a6a0: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55  E_ENABLE_FTS5.FU
a6b0: 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  ZZERSHELL_COMPIL
a6c0: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
a6d0: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46  E_ENABLE_JSON1.F
a6e0: 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45  UZZCHECK_COMPILE
a6f0: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45  _OPTS = -DSQLITE
a700: 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44  _ENABLE_JSON1 -D
a710: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45  SQLITE_ENABLE_ME
a720: 4d 53 59 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f  MSYS5 -DSQLITE_O
a730: 53 53 5f 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45  SS_FUZZ -DSQLITE
a740: 5f 4d 41 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30  _MAX_MEMORY=5000
a750: 30 30 30 30 20 2d 44 53 51 4c 49 54 45 5f 50 52  0000 -DSQLITE_PR
a760: 49 4e 54 46 5f 50 52 45 43 49 53 49 4f 4e 5f 4c  INTF_PRECISION_L
a770: 49 4d 49 54 3d 31 30 30 30 0a 46 55 5a 5a 43 48  IMIT=1000.FUZZCH
a780: 45 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f 50 29  ECK_SRC = $(TOP) a790: 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e \test\fuzzcheck. a7a0: 63 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 c$(TOP)\test\os
a7b0: 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c  sfuzz.c.OSSSHELL
a7c0: 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65  _SRC = $(TOP)\te a7d0: 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28 st\ossshell.c$(
a7e0: 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a  TOP)\test\ossfuz
a7f0: 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50 49  z.c.DBFUZZ_COMPI
a800: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  LE_OPTS = -DSQLI
a810: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0
a820: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
a830: 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 4b 56 5f  AD_EXTENSION.KV_
a840: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d  COMPILE_OPTS = -
a850: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
a860: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 44 49  FE=0 -DSQLITE_DI
a870: 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f 52 45  RECT_OVERFLOW_RE
a880: 41 44 0a 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50  AD.ST_COMPILE_OP
a890: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48  TS = -DSQLITE_TH
a8a0: 52 45 41 44 53 41 46 45 3d 30 0a 0a 23 20 53 74  READSAFE=0..# St
a8b0: 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e 73 20 74  andard options t
a8c0: 6f 20 74 65 73 74 66 69 78 74 75 72 65 2e 0a 23  o testfixture..#
a8d0: 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65  .TESTOPTS = --ve
a8e0: 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74  rbose=file --out
a8f0: 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74  put=test-out.txt
a900: 0a 0a 23 20 45 78 74 72 61 20 74 61 72 67 65 74  ..# Extra target
a910: 73 20 66 6f 72 20 74 68 65 20 22 61 6c 6c 22 20  s for the "all"
a920: 74 61 72 67 65 74 20 74 68 61 74 20 72 65 71 75  target that requ
a930: 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24  ire Tcl..#.!IF $a940: 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f (NO_TCL)==0.ALL_ a950: 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 20 6c 69 TCL_TARGETS = li a960: 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a btclsqlite3.lib. a970: 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 !ELSE.ALL_TCL_TA a980: 52 47 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 RGETS =.!ENDIF.# a990: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 <</mark>>..# Th a9a0: 69 73 20 69 73 20 74 68 65 20 64 65 66 61 75 6c is is the defaul a9b0: 74 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 t Makefile targe a9c0: 74 2e 20 20 54 68 65 20 6f 62 6a 65 63 74 73 20 t. The objects a9d0: 6c 69 73 74 65 64 20 68 65 72 65 0a 23 20 61 72 listed here.# ar a9e0: 65 20 77 68 61 74 20 67 65 74 20 62 75 69 6c 64 e what get build a9f0: 20 77 68 65 6e 20 79 6f 75 20 74 79 70 65 20 6a when you type j aa00: 75 73 74 20 22 6d 61 6b 65 22 20 77 69 74 68 20 ust "make" with aa10: 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a no arguments..#. aa20: 63 6f 72 65 3a 09 64 6c 6c 20 6c 69 62 73 71 6c core:.dll libsql aa30: 69 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c 0a 0a ite3.lib shell.. aa40: 23 20 54 61 72 67 65 74 73 20 74 68 61 74 20 72 # Targets that r aa50: 65 71 75 69 72 65 20 74 68 65 20 54 63 6c 20 6c equire the Tcl l aa60: 69 62 72 61 72 79 2e 0a 23 0a 74 63 6c 3a 09 24 ibrary..#.tcl:.$
aa70: 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53  (ALL_TCL_TARGETS
aa80: 29 0a 0a 23 20 54 68 69 73 20 4d 61 6b 65 66 69  )..# This Makefi
aa90: 6c 65 20 74 61 72 67 65 74 20 62 75 69 6c 64 73  le target builds
aaa0: 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 74 61 6e   all of the stan
aab0: 64 61 72 64 20 62 69 6e 61 72 69 65 73 2e 0a 23  dard binaries..#
aac0: 0a 61 6c 6c 3a 09 63 6f 72 65 20 74 63 6c 0a 0a  .all:.core tcl..
aad0: 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c  # Dynamic link l
aae0: 69 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a  ibrary section..
aaf0: 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33  #.dll:.$(SQLITE3 ab00: 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78 DLL)..# Shell ex ab10: 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c ecutable..#.shel ab20: 6c 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45 29 l:.$(SQLITE3EXE)
ab30: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62  ..# <<mark>>.lib
ab40: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c  sqlite3.lib:.$(L ab50: 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29 IBOBJ)..$(LTLIB)
ab60: 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f   $(LTLIBOPTS) /O ab70: 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 UT:$@ $(LIBOBJ) ab80: 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c$(TLIBS)..libtcl
ab90: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c  sqlite3.lib:.tcl
aba0: 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c  sqlite.lo libsql
abb0: 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49  ite3.lib..$(LTLI abc0: 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 B)$(LTLIBOPTS)
abd0: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f  $(LTLIBPATHS) /O abe0: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e UT:$@ tclsqlite.
abf0: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  lo libsqlite3.li
ac00: 62 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20  b $(LIBTCLSTUB) ac10: 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61$(TLIBS).# <</ma
ac20: 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44  rk>>..$(SQLITE3D ac30: 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24 LL):.$(LIBOBJ) $ac40: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 43 (LIBRESOBJS)$(C
ac50: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24  ORE_LINK_DEP)..$ac60: 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 (LD)$(LDFLAGS)
ac70: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS)$(
ac80: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c  LTLIBPATHS) /DLL
ac90: 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54   $(CORE_LINK_OPT aca0: 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 S) /OUT:$@ $(LIB acb0: 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a OBJ)$(LIBRESOBJ
acc0: 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS)$(T
acd0: 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b  LIBS)..# <<block
ace0: 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a  2>>.sqlite3.def:
acf0: 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a  .libsqlite3.lib.
ad00: 09 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20  .echo EXPORTS >
ad10: 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 6d  sqlite3.def..dum
ad20: 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c  pbin /all libsql
ad30: 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24  ite3.lib \...| $ad40: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
ad50: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
ad60: 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73  tcl include "^\s
ad70: 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33 28 3f 3a  +1 _?(sqlite3(?:
ad80: 73 65 73 73 69 6f 6e 7c 63 68 61 6e 67 65 73 65  session|changese
ad90: 74 7c 63 68 61 6e 67 65 67 72 6f 75 70 29 3f 5f  t|changegroup)?_
ada0: 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24  [^@]*)(?:@\d+)?$adb0: 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74$" \1 \...| sort
adc0: 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a   >> sqlite3.def.
add0: 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24  # <</block2>>..$ade0: 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 73 68 (SQLITE3EXE):.sh adf0: 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f ell.c$(SHELL_CO
ae00: 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53  RE_DEP) $(LIBRES ae10: 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f OBJS)$(SHELL_CO
ae20: 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45  RE_SRC) $(SQLITE ae30: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 3H)..$(LTLINK) $ae40: 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f (SHELL_COMPILE_O ae50: 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45 5f PTS)$(READLINE_
ae60: 46 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63 20 24  FLAGS) shell.c $ae70: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 (SHELL_CORE_SRC) ae80: 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c \.../link$(SQL
ae90: 49 54 45 33 45 58 45 50 44 42 29 20 24 28 4c 44  ITE3EXEPDB) $(LD aea0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
aeb0: 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e  PTS) $(SHELL_LIN aec0: 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 K_OPTS)$(LTLIBP
aed0: 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42  ATHS) $(LIBRESOB aee0: 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49 4e JS)$(LIBREADLIN
aef0: 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  E) $(LTLIBS)$(T
af00: 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  LIBS)..# <<mark>
af10: 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 24  >.sqldiff.exe:.$af20: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 (TOP)\tool\sqldi af30: 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 ff.c$(SQLITE3C)
af40: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
af50: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR af60: 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 N)$(TOP)\tool\s
af70: 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54  qldiff.c $(SQLIT af80: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 E3C) /link$(LDF
af90: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP afa0: 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a TS)..dbhash.exe: afb0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 .$(TOP)\tool\dbh
afc0: 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43  ash.c $(SQLITE3C afd0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 )$(SQLITE3H)..$afe0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 (LTLINK)$(NO_WA
aff0: 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\ b000: 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 dbhash.c$(SQLIT
b010: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF b020: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
b030: 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09  TS)..scrub.exe:.
b040: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ b050: 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 scrub.c$(SQLITE
b060: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H). b070: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ b080: 57 41 52 4e 29 20 2d 44 53 43 52 55 42 5f 53 54 WARN) -DSCRUB_ST b090: 41 4e 44 41 4c 4f 4e 45 3d 31 20 24 28 54 4f 50 ANDALONE=1$(TOP
b0a0: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62  )\ext\misc\scrub
b0b0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) / b0c0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
b0d0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s b0e0: 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f 50 rcck1.exe:.$(TOP
b0f0: 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a  )\tool\srcck1.c.
b100: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52  .$(BCC)$(NO_WAR
b110: 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c  N) -Fe$@$(TOP)\
b120: 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a 73  tool\srcck1.c..s
b130: 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63 63 6b  ourcetest:.srcck
b140: 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e 63 0a  1.exe sqlite3.c.
b150: 09 73 72 63 63 6b 31 2e 65 78 65 20 73 71 6c 69  .srcck1.exe sqli
b160: 74 65 33 2e 63 0a 0a 66 75 7a 7a 65 72 73 68 65  te3.c..fuzzershe
b170: 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  ll.exe:.$(TOP)\t b180: 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e ool\fuzzershell. b190: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 c$(SQLITE3C) $( b1a0: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c SQLITE3H)..$(LTL
b1b0: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) b1c0: 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f$(FUZZERSHELL_CO
b1d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f  MPILE_OPTS) $(TO b1e0: 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 P)\tool\fuzzersh b1f0: 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 ell.c$(SQLITE3C
b200: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG b210: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
b220: 0a 0a 64 62 66 75 7a 7a 2e 65 78 65 3a 09 24 28  ..dbfuzz.exe:.$( b230: 54 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a TOP)\test\dbfuzz b240: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $b250: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
b260: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) b270: 20 24 28 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c$(DBFUZZ_COMPIL
b280: 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74  E_OPTS) $(TOP)\t b290: 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53 est\dbfuzz.c$(S
b2a0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $b2b0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
b2c0: 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63 68 65  NKOPTS)..fuzzche
b2d0: 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a 43 48  ck.exe:.$(FUZZCH b2e0: 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54 ECK_SRC)$(SQLIT
b2f0: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) b300: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO b310: 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 _WARN)$(FUZZCHE
b320: 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  CK_COMPILE_OPTS)
b330: 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43   $(FUZZCHECK_SRC b340: 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c )$(SQLITE3C) /l
b350: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
b360: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6f 73  (LTLINKOPTS)..os
b370: 73 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 4f 53  sshell.exe:.$(OS b380: 53 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 SSHELL_SRC)$(SQ
b390: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE b3a0: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 3H)..$(LTLINK) $b3b0: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a (NO_WARN)$(FUZZ
b3c0: 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50  CHECK_COMPILE_OP
b3d0: 54 53 29 20 24 28 4f 53 53 53 48 45 4c 4c 5f 53  TS) $(OSSSHELL_S b3e0: 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 RC)$(SQLITE3C)
b3f0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) b400: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
b410: 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 3a  sessionfuzz.exe:
b420: 09 7a 6c 69 62 20 24 28 54 4f 50 29 5c 74 65 73  .zlib $(TOP)\tes b430: 74 5c 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 t\sessionfuzz.c b440: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ b450: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e LITE3H)..$(LTLIN
b460: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 49  K) $(NO_WARN) -I b470: 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 20 24 28$(ZLIBINCDIR) $( b480: 54 4f 50 29 5c 74 65 73 74 5c 73 65 73 73 69 6f TOP)\test\sessio b490: 6e 66 75 7a 7a 2e 63 20 2f 6c 69 6e 6b 20 24 28 nfuzz.c /link$(
b4a0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN b4b0: 4b 4f 50 54 53 29 20 2f 4c 49 42 50 41 54 48 3a KOPTS) /LIBPATH: b4c0: 24 28 5a 4c 49 42 4c 49 42 44 49 52 29 20 24 28$(ZLIBLIBDIR) $( b4d0: 5a 4c 49 42 4c 49 42 29 0a 0a 6d 70 74 65 73 74 ZLIBLIB)..mptest b4e0: 65 72 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d er.exe:.$(TOP)\m
b4f0: 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24  ptest\mptest.c $b500: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
b510: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK b520: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d )$(NO_WARN) $(M b530: 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f PTESTER_COMPILE_ b540: 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 6d 70 74 OPTS)$(TOP)\mpt
b550: 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53  est\mptest.c $(S b560: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 QLITE3C) /link$
b570: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI b580: 4e 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53 54 31 NKOPTS)..MPTEST1 b590: 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74 65 = mptester mpte b5a0: 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 st.db$(TOP)\mpt
b5b0: 65 73 74 5c 63 72 61 73 68 30 31 2e 74 65 73 74  est\crash01.test
b5c0: 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d 50 54   --repeat 20.MPT
b5d0: 45 53 54 32 20 3d 20 6d 70 74 65 73 74 65 72 20  EST2 = mptester
b5e0: 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29  mptest.db $(TOP) b5f0: 5c 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77 72 69 \mptest\multiwri b600: 74 65 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 te01.test --repe b610: 61 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d at 20..mptest:.m b620: 70 74 65 73 74 65 72 2e 65 78 65 0a 09 64 65 6c ptester.exe..del b630: 20 2f 51 20 6d 70 74 65 73 74 2e 64 62 20 32 3e /Q mptest.db 2> b640: 4e 55 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 NUL..$(MPTEST1)
b650: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45  --journalmode DE
b660: 4c 45 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29  LETE..$(MPTEST2) b670: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 --journalmode W b680: 41 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d AL..$(MPTEST1) -
b690: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c  -journalmode WAL
b6a0: 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a  ..$(MPTEST2) --j b6b0: 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 ournalmode PERSI b6c0: 53 54 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d ST..$(MPTEST1) -
b6d0: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52  -journalmode PER
b6e0: 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54 32 29  SIST..$(MPTEST2) b6f0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 --journalmode T b700: 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53 RUNCATE..$(MPTES
b710: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
b720: 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50  e TRUNCATE..$(MP b730: 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c TEST2) --journal b740: 6d 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23 20 54 mode DELETE..# T b750: 68 69 73 20 74 61 72 67 65 74 20 63 72 65 61 74 his target creat b760: 65 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e es a directory n b770: 61 6d 65 64 20 22 74 73 72 63 22 20 61 6e 64 20 amed "tsrc" and b780: 66 69 6c 6c 73 20 69 74 20 77 69 74 68 0a 23 20 fills it with.# b790: 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66 copies of all of b7a0: 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 6f the C source co b7b0: 64 65 20 61 6e 64 20 68 65 61 64 65 72 20 66 69 de and header fi b7c0: 6c 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 23 20 les needed to.# b7d0: 62 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 61 72 build on the tar b7e0: 67 65 74 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d get system. Som b7f0: 65 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63 e of the C sourc b800: 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65 e code and heade b810: 72 0a 23 20 66 69 6c 65 73 20 61 72 65 20 61 75 r.# files are au b820: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 tomatically gene b830: 72 61 74 65 64 2e 20 20 54 68 69 73 20 74 61 72 rated. This tar b840: 67 65 74 20 74 61 6b 65 73 20 63 61 72 65 20 6f get takes care o b850: 66 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 75 74 f.# all that aut b860: 6f 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69 6f omatic generatio b870: 6e 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75 n..#..target_sou b880: 72 63 65 3a 09 24 28 53 52 43 29 20 24 28 54 4f rce:.$(SRC) $(TO b890: 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d P)\tool\vdbe-com b8a0: 70 72 65 73 73 2e 74 63 6c 20 66 74 73 35 2e 63 press.tcl fts5.c b8b0: 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45$(SQLITE_TCL_DE
b8c0: 50 29 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20  P)..-rmdir /Q/S
b8d0: 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b 64  tsrc 2>NUL..-mkd
b8e0: 69 72 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  ir tsrc..for %i
b8f0: 69 6e 20 28 24 28 53 52 43 30 30 29 29 20 64 6f  in ($(SRC00)) do b900: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 copy /Y %i tsrc b910: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 ..for %i in ($(S
b920: 52 43 30 31 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC01)) do copy /
b930: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
b940: 69 20 69 6e 20 28 24 28 53 52 43 30 33 29 29 20  i in ($(SRC03)) b950: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 do copy /Y %i ts b960: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 rc..for %i in ($
b970: 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f 70 79  (SRC04)) do copy
b980: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
b990: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 35 29   %i in ($(SRC05) b9a0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 ) do copy /Y %i b9b0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 tsrc..for %i in b9c0: 28 24 28 53 52 43 30 36 29 29 20 64 6f 20 63 6f ($(SRC06)) do co
b9d0: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
b9e0: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0 b9f0: 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 7)) do copy /Y % ba00: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 i tsrc..for %i i ba10: 6e 20 28 24 28 53 52 43 30 38 29 29 20 64 6f 20 n ($(SRC08)) do
ba20: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
ba30: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR ba40: 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 C09)) do copy /Y ba50: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 %i tsrc..for %i ba60: 20 69 6e 20 28 24 28 53 52 43 31 30 29 29 20 64 in ($(SRC10)) d
ba70: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
ba80: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($( ba90: 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70 79 20 SRC11)) do copy baa0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 /Y %i tsrc..for bab0: 25 69 20 69 6e 20 28 24 28 53 52 43 31 32 29 29 %i in ($(SRC12))
bac0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
bad0: 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73  src..copy /Y fts
bae0: 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 20 2f  5.c tsrc..copy /
baf0: 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a 09 64  Y fts5.h tsrc..d
bb00: 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69 74  el /Q tsrc\sqlit
bb10: 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72 73  e.h.in tsrc\pars
bb20: 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c  e.y 2>NUL..$(TCL bb30: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 SH_CMD)$(TOP)\t
bb40: 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73  ool\vdbe-compres
bb50: 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 3c 20  s.tcl $(OPTS) < bb60: 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 64 tsrc\vdbe.c > vd bb70: 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62 be.new..move vdb bb80: 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65 2e e.new tsrc\vdbe. bb90: 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 65 c..echo > .targe bba0: 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65 t_source..sqlite bbb0: 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 3.c:..target_sou bbc0: 72 63 65 20 73 71 6c 69 74 65 33 65 78 74 2e 68 rce sqlite3ext.h bbd0: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f$(MKSQLITE3C_TO
bbe0: 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  OL)..$(TCLSH_CMD bbf0: 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 )$(MKSQLITE3C_T
bc00: 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45 33  OOL) $(MKSQLITE3 bc10: 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 24 28 C_ARGS)..copy$(
bc20: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
bc30: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
bc40: 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61 6c 6c  h ...sqlite3-all
bc50: 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63 20 24 28  .c:.sqlite3.c $( bc60: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d TOP)\tool\split- bc70: 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 24 28 sqlite3c.tcl..$(
bc80: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP bc90: 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c )\tool\split-sql bca0: 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d ite3c.tcl.# <</m bcb0: 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f ark>>..# Rule to bcc0: 20 62 75 69 6c 64 20 74 68 65 20 61 6d 61 6c 67 build the amalg bcd0: 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 65 amation.#.sqlite bce0: 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 33 43 3.lo:.$(SQLITE3C
bcf0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) bd00: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
bd10: 50 54 53 29 20 2d 63 20 24 28 53 51 4c 49 54 45  PTS) -c $(SQLITE bd20: 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 3C)..# <<mark>>. bd30: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 # Rules to build bd40: 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69 the LEMON compi bd50: 6c 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 23 0a ler generator.#. bd60: 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f 50 29 lempar.c:.$(TOP)
bd70: 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09  \tool\lempar.c..
bd80: 63 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  copy $(TOP)\tool bd90: 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d \lempar.c ...lem bda0: 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 on.exe:.$(TOP)\t
bdb0: 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70  ool\lemon.c lemp
bdc0: 61 72 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e  ar.c..$(BCC)$(N
bdd0: 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63 65 73 73  O_WARN) -Daccess
bde0: 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d 46 65  =_access \...-Fe
bdf0: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  $@$(TOP)\tool\l
be00: 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c  emon.c /link $(L be10: 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e DFLAGS)$(NLTLIN
be20: 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50  KOPTS) $(NLTLIBP be30: 41 54 48 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e ATHS)..# <<mark> be40: 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 >.# Rules to bui be50: 6c 64 20 74 68 65 20 73 6f 75 72 63 65 2d 69 64 ld the source-id be60: 20 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c 0a generator tool. be70: 23 0a 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 #.mksourceid.exe be80: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b :.$(TOP)\tool\mk
be90: 73 6f 75 72 63 65 69 64 2e 63 0a 09 24 28 42 43  sourceid.c..$(BC bea0: 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 C)$(NO_WARN) -F
beb0: 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e$@$(TOP)\tool\
bec0: 6d 6b 73 6f 75 72 63 65 69 64 2e 63 20 2f 6c 69  mksourceid.c /li
bed0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
bee0: 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e  NLTLINKOPTS) $(N bef0: 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 52 LTLIBPATHS)..# R bf00: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e ules to build in bf10: 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 dividual *.lo fi bf20: 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 74 les from generat bf30: 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68 ed *.c files. Th bf40: 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f 3a is.# applies to: bf50: 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e 6c .#.# parse.l bf60: 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73 2e o.# opcodes. bf70: 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 lo.#.parse.lo:.p bf80: 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24 arse.c$(HDR)..$bf90: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
bfa0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
bfb0: 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70 63   -c parse.c..opc
bfc0: 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73  odes.lo:.opcodes
bfd0: 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  .c..$(LTCOMPILE) bfe0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
bff0: 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65 73  OPTS) -c opcodes
c000: 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  .c.# <</mark>>..
c010: 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20  # Rule to build
c020: 74 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75 72  the Win32 resour
c030: 63 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e  ces object file.
c040: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29  .#.!IF $(USE_RC) c050: 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e !=0.# <<block1>> c060: 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a 09 .$(LIBRESOBJS):.
c070: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit c080: 65 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33 48 e3.rc$(SQLITE3H
c090: 29 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20  )..echo #ifndef
c0a0: 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f  SQLITE_RESOURCE_
c0b0: 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74 65  VERSION > sqlite
c0c0: 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25 25  3rc.h..for /F %%
c0d0: 56 20 69 6e 20 28 27 74 79 70 65 20 22 24 28 54  V in ('type "$(T c0e0: 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 64 OP)\VERSION"') d c0f0: 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64 65 o ( \...echo #de c100: 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53 4f fine SQLITE_RESO c110: 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25 56 URCE_VERSION %%V c120: 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 5f \....|$(TCLSH_
c130: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool c140: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 \replace.tcl exa c150: 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69 74 ct . ^, >> sqlit c160: 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63 68 e3rc.h \..)..ech c170: 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c 69 o #endif >> sqli c180: 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43 4f te3rc.h..$(LTRCO
c190: 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49 42  MPILE) -fo $(LIB c1a0: 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29 5c RESOBJS)$(TOP)\
c1b0: 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a 23  src\sqlite3.rc.#
c1c0: 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e   <</block1>>.!EN
c1d0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
c1e0: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
c1f0: 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f   individual *.lo
c200: 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c 65   files from file
c210: 73 20 69 6e 20 74 68 65 20 73 72 63 20 64 69 72  s in the src dir
c220: 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72 2e  ectory..#.alter.
c230: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61  lo:.$(TOP)\src\a c240: 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 lter.c$(HDR)..$c250: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
c260: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c270: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a c280: 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e lter.c..analyze. c290: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 lo:.$(TOP)\src\a
c2a0: 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29 0a  nalyze.c $(HDR). c2b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( c2c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT c2d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
c2e0: 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74 61  \analyze.c..atta
c2f0: 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ch.lo:.$(TOP)\sr c300: 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44 52 c\attach.c$(HDR
c310: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) c320: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
c330: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s c340: 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75 74 rc\attach.c..aut c350: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 h.lo:.$(TOP)\src
c360: 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a 09  \auth.c $(HDR).. c370: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C c380: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS c390: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
c3a0: 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c  auth.c..backup.l
c3b0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 61  o:.$(TOP)\src\ba c3c0: 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09 24 ckup.c$(HDR)..$c3d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
c3e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c3f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b c400: 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 2e ackup.c..bitvec. c410: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 lo:.$(TOP)\src\b
c420: 69 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a 09  itvec.c $(HDR).. c430: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C c440: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS c450: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
c460: 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74 65  bitvec.c..btmute
c470: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  x.lo:.$(TOP)\src c480: 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44 52 \btmutex.c$(HDR
c490: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) c4a0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
c4b0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s c4c0: 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62 74 rc\btmutex.c..bt c4d0: 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ree.lo:.$(TOP)\s
c4e0: 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44 52  rc\btree.c $(HDR c4f0: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 )$(TOP)\src\pag
c500: 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  er.h..$(LTCOMPIL c510: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
c520: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP c530: 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a 62 )\src\btree.c..b c540: 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c uild.lo:.$(TOP)\
c550: 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48 44  src\build.c $(HD c560: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c570: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c580: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c590: 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61 6c  src\build.c..cal
c5a0: 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29  lback.lo:.$(TOP) c5b0: 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 \src\callback.c c5c0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP c5d0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
c5e0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T c5f0: 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b OP)\src\callback c600: 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a .c..complete.lo: c610: 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 .$(TOP)\src\comp
c620: 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24  lete.c $(HDR)..$
c630: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO c640: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) c650: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 -c$(TOP)\src\c
c660: 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d 65  omplete.c..ctime
c670: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ c680: 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a 09 ctime.c$(HDR)..
c690: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
c6a0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c6b0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ c6c0: 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f ctime.c..date.lo c6d0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 :.$(TOP)\src\dat
c6e0: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
c6f0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ c700: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c c710: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65$(TOP)\src\date
c720: 2e 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a 09 24  .c..dbpage.lo:.$c730: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65 (TOP)\src\dbpage c740: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC c750: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
c760: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
c770: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67  $(TOP)\src\dbpag c780: 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a 09 e.c..dbstat.lo:. c790: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61$(TOP)\src\dbsta
c7a0: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
c7b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ c7c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c c7d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74$(TOP)\src\dbst
c7e0: 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a  at.c..delete.lo:
c7f0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65  .$(TOP)\src\dele c800: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c te.c$(HDR)..$(L c810: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
c820: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c830: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c  c $(TOP)\src\del c840: 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 ete.c..expr.lo:. c850: 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e$(TOP)\src\expr.
c860: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c870: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO c880: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
c890: 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63  (TOP)\src\expr.c
c8a0: 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f  ..fault.lo:.$(TO c8b0: 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 24 P)\src\fault.c$
c8c0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI c8d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
c8e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO c8f0: 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a 0a P)\src\fault.c.. c900: 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c fkey.lo:.$(TOP)\
c910: 73 72 63 5c 66 6b 65 79 2e 63 20 24 28 48 44 52  src\fkey.c $(HDR c920: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
c930: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O c940: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
c950: 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e  rc\fkey.c..func.
c960: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66  lo:.$(TOP)\src\f c970: 75 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 unc.c$(HDR)..$( c980: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
c990: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
c9a0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75  -c $(TOP)\src\fu c9b0: 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a nc.c..global.lo: c9c0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 .$(TOP)\src\glob
c9d0: 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  al.c $(HDR)..$(L
c9e0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE c9f0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - ca00: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f c$(TOP)\src\glo
ca10: 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09  bal.c..hash.lo:.
ca20: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e  $(TOP)\src\hash. ca30: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO ca40: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
ca50: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $ca60: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 (TOP)\src\hash.c ca70: 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 54 ..insert.lo:.$(T
ca80: 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63  OP)\src\insert.c
ca90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
caa0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM cab0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
cac0: 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e  TOP)\src\insert.
cad0: 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24 28  c..legacy.lo:.$( cae0: 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e TOP)\src\legacy. caf0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO cb00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
cb10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $cb20: 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 (TOP)\src\legacy cb30: 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 .c..loadext.lo:. cb40: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65$(TOP)\src\loade
cb50: 78 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  xt.c $(HDR)..$(L
cb60: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE cb70: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - cb80: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 c$(TOP)\src\loa
cb90: 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a  dext.c..main.lo:
cba0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e  .$(TOP)\src\main cbb0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC cbc0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
cbd0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
cbe0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e  $(TOP)\src\main. cbf0: 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 c..malloc.lo:.$(
cc00: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e  TOP)\src\malloc.
cc10: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cc20: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO cc30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
cc40: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63  (TOP)\src\malloc
cc50: 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54  .c..mem0.lo:.$(T cc60: 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 24 OP)\src\mem0.c$
cc70: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI cc80: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
cc90: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO cca0: 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d P)\src\mem0.c..m ccb0: 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 em1.lo:.$(TOP)\s
ccc0: 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52 29  rc\mem1.c $(HDR) ccd0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $cce0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP ccf0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
cd00: 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c  c\mem1.c..mem2.l
cd10: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me cd20: 6d 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c m2.c$(HDR)..$(L cd30: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
cd40: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cd50: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem cd60: 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 2.c..mem3.lo:.$(
cd70: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20  TOP)\src\mem3.c
cd80: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cd90: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP cda0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
cdb0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a  OP)\src\mem3.c..
cdc0: 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  mem5.lo:.$(TOP)\ cdd0: 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44 52 src\mem5.c$(HDR
cde0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) cdf0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
ce00: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s ce10: 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 64 62 rc\mem5.c..memdb ce20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
ce30: 6d 65 6d 64 62 2e 63 20 24 28 48 44 52 29 0a 09  memdb.c $(HDR).. ce40: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C ce50: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS ce60: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
ce70: 6d 65 6d 64 62 2e 63 0a 0a 6d 65 6d 6a 6f 75 72  memdb.c..memjour
ce80: 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  nal.lo:.$(TOP)\s ce90: 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 rc\memjournal.c cea0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP ceb0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
cec0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T ced0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e OP)\src\memjourn cee0: 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 al.c..mutex.lo:. cef0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78$(TOP)\src\mutex
cf00: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cf10: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C cf20: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c cf30: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78$(TOP)\src\mutex
cf40: 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c  .c..mutex_noop.l
cf50: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  o:.$(TOP)\src\mu cf60: 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52 tex_noop.c$(HDR
cf70: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) cf80: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
cf90: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s cfa0: 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a rc\mutex_noop.c. cfb0: 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 .mutex_unix.lo:. cfc0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78$(TOP)\src\mutex
cfd0: 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09  _unix.c $(HDR).. cfe0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C cff0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d000: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d010: 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75  mutex_unix.c..mu
d020: 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f  tex_w32.lo:.$(TO d030: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 P)\src\mutex_w32 d040: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC d050: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
d060: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
d070: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex d080: 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c _w32.c..notify.l d090: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f o:.$(TOP)\src\no
d0a0: 74 69 66 79 2e 63 20 24 28 48 44 52 29 0a 09 24  tify.c $(HDR)..$
d0b0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO d0c0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) d0d0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e -c$(TOP)\src\n
d0e0: 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 2e 6c  otify.c..pager.l
d0f0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  o:.$(TOP)\src\pa d100: 67 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 54 ger.c$(HDR) $(T d110: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a OP)\src\pager.h. d120: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d130: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d140: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d150: 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 68 65  \pager.c..pcache
d160: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d170: 70 63 61 63 68 65 2e 63 20 24 28 48 44 52 29 20 pcache.c$(HDR)
d180: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach d190: 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 e.h..$(LTCOMPILE
d1a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE d1b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
d1c0: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 0a 0a 70  \src\pcache.c..p
d1d0: 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 4f 50  cache1.lo:.$(TOP d1e0: 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 )\src\pcache1.c d1f0: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72$(HDR) $(TOP)\sr d200: 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 c\pcache.h..$(LT
d210: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d220: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d230: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63$(TOP)\src\pcac
d240: 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28  he1.c..os.lo:.$( d250: 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 24 28 TOP)\src\os.c$(
d260: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d270: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d280: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d290: 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 )\src\os.c..os_u d2a0: 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 nix.lo:.$(TOP)\s
d2b0: 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48  rc\os_unix.c $(H d2c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
d2d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE d2e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
d2f0: 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a  \src\os_unix.c..
d300: 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50  os_win.lo:.$(TOP d310: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 )\src\os_win.c$
d320: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d330: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d340: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d350: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a P)\src\os_win.c. d360: 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f .pragma.lo:.$(TO
d370: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20  P)\src\pragma.c
d380: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d390: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP d3a0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
d3b0: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63  OP)\src\pragma.c
d3c0: 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28  ..prepare.lo:.$( d3d0: 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 TOP)\src\prepare d3e0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC d3f0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
d400: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
d410: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61  $(TOP)\src\prepa d420: 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a re.c..printf.lo: d430: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e .$(TOP)\src\prin
d440: 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  tf.c $(HDR)..$(L
d450: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d460: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d470: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 c$(TOP)\src\pri
d480: 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f  ntf.c..random.lo
d490: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e  :.$(TOP)\src\ran d4a0: 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 dom.c$(HDR)..$( d4b0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d4c0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d4d0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61  -c $(TOP)\src\ra d4e0: 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e ndom.c..resolve. d4f0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 lo:.$(TOP)\src\r
d500: 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 29 0a  esolve.c $(HDR). d510: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d520: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d530: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d540: 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73  \resolve.c..rows
d550: 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  et.lo:.$(TOP)\sr d560: 63 5c 72 6f 77 73 65 74 2e 63 20 24 28 48 44 52 c\rowset.c$(HDR
d570: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) d580: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
d590: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s d5a0: 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c rc\rowset.c..sel d5b0: 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ect.lo:.$(TOP)\s
d5c0: 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 48 44  rc\select.c $(HD d5d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d5e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d5f0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
d600: 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a 73 74  src\select.c..st
d610: 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  atus.lo:.$(TOP)\ d620: 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24 28 48 src\status.c$(H
d630: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE d640: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
d650: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) d660: 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 0a 0a 74 \src\status.c..t d670: 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c able.lo:.$(TOP)\
d680: 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 48 44  src\table.c $(HD d690: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d6a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d6b0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
d6c0: 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 68 72  src\table.c..thr
d6d0: 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  eads.lo:.$(TOP)\ d6e0: 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 24 28 src\threads.c$(
d6f0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d700: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d710: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d720: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 0a )\src\threads.c. d730: 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 .tokenize.lo:.$(
d740: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a  TOP)\src\tokeniz
d750: 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  e.c keywordhash.
d760: 68 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  h $(HDR)..$(LTCO
d770: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO d780: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
d790: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
d7a0: 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 2e 6c  ze.c..treeview.l
d7b0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  o:.$(TOP)\src\tr d7c0: 65 65 76 69 65 77 2e 63 20 24 28 48 44 52 29 0a eeview.c$(HDR).
d7d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d7e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d7f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src d800: 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a 74 72 69 \treeview.c..tri d810: 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c gger.lo:.$(TOP)\
d820: 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 24 28  src\trigger.c $( d830: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d840: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d850: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
d860: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 0a  )\src\trigger.c.
d870: 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f  .update.lo:.$(TO d880: 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 P)\src\update.c d890: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP d8a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
d8b0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T d8c0: 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 OP)\src\update.c d8d0: 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 ..utf.lo:.$(TOP)
d8e0: 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 48 44 52  \src\utf.c $(HDR d8f0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
d900: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O d910: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
d920: 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c  rc\utf.c..util.l
d930: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  o:.$(TOP)\src\ut d940: 69 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c il.c$(HDR)..$(L d950: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d960: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d970: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69  c $(TOP)\src\uti d980: 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09 l.c..vacuum.lo:. d990: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75$(TOP)\src\vacuu
d9a0: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
d9b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d9c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d9d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75$(TOP)\src\vacu
d9e0: 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24  um.c..vdbe.lo:.$d9f0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 (TOP)\src\vdbe.c da00: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM da10: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
da20: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( da30: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a TOP)\src\vdbe.c. da40: 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54 .vdbeapi.lo:.$(T
da50: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e  OP)\src\vdbeapi.
da60: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
da70: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO da80: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
da90: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70  (TOP)\src\vdbeap
daa0: 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a  i.c..vdbeaux.lo:
dab0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe dac0: 61 75 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 aux.c$(HDR)..$( dad0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
dae0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
daf0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd db00: 62 65 61 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f beaux.c..vdbeblo db10: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 b.lo:.$(TOP)\src
db20: 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 48 44  \vdbeblob.c $(HD db30: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
db40: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ db50: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
db60: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a  src\vdbeblob.c..
db70: 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f  vdbemem.lo:.$(TO db80: 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 P)\src\vdbemem.c db90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM dba0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
dbb0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( dbc0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d TOP)\src\vdbemem dbd0: 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a .c..vdbesort.lo: dbe0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 .$(TOP)\src\vdbe
dbf0: 73 6f 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24  sort.c $(HDR)..$
dc00: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO dc10: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) dc20: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 -c$(TOP)\src\v
dc30: 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74  dbesort.c..vdbet
dc40: 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  race.lo:.$(TOP)\ dc50: 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 20 src\vdbetrace.c dc60: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP dc70: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
dc80: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T dc90: 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 OP)\src\vdbetrac dca0: 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28 e.c..vtab.lo:.$(
dcb0: 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20  TOP)\src\vtab.c
dcc0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dcd0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP dce0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
dcf0: 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a  OP)\src\vtab.c..
dd00: 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  wal.lo:.$(TOP)\s dd10: 72 63 5c 77 61 6c 2e 63 20 24 28 48 44 52 29 0a rc\wal.c$(HDR).
dd20: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
dd30: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
dd40: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src dd50: 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c \wal.c..walker.l dd60: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 o:.$(TOP)\src\wa
dd70: 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  lker.c $(HDR)..$
dd80: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO dd90: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) dda0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 -c$(TOP)\src\w
ddb0: 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c  alker.c..where.l
ddc0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  o:.$(TOP)\src\wh ddd0: 65 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ere.c$(HDR)..$( dde0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
ddf0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
de00: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh de10: 65 72 65 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65 ere.c..wherecode de20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
de30: 77 68 65 72 65 63 6f 64 65 2e 63 20 24 28 48 44  wherecode.c $(HD de40: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
de50: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ de60: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
de70: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a  src\wherecode.c.
de80: 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24  .whereexpr.lo:.$de90: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 (TOP)\src\wheree dea0: 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 xpr.c$(HDR)..$( deb0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
dec0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
ded0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh dee0: 65 72 65 65 78 70 72 2e 63 0a 0a 74 63 6c 73 71 ereexpr.c..tclsq def0: 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c lite.lo:.$(TOP)\
df00: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20  src\tclsqlite.c
df10: 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f  $(HDR)$(SQLITE_
df20: 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f  TCL_DEP)..$(LTCO df30: 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e MPILE)$(NO_WARN
df40: 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55 42  ) -DUSE_TCL_STUB
df50: 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69  S=1 -DBUILD_sqli
df60: 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52  te -I$(TCLINCDIR df70: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
df80: 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c  tclsqlite.c..tcl
df90: 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a  sqlite-shell.lo:
dfa0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73  .$(TOP)\src\tcls dfb0: 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 qlite.c$(HDR) $dfc0: 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 (SQLITE_TCL_DEP) dfd0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $dfe0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c 53 (NO_WARN) -DTCLS dff0: 48 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 H -DBUILD_sqlite e000: 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 -I$(TCLINCDIR)
e010: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  -c $(TOP)\src\tc e020: 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 lsqlite.c..tclsq e030: 6c 69 74 65 33 2e 65 78 65 3a 09 74 63 6c 73 71 lite3.exe:.tclsq e040: 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 lite-shell.lo$(
e050: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI e060: 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 TE3H)$(LIBRESOB
e070: 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  JS)..$(LTLINK)$
e080: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
e090: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
e0a0: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c  LINKOPTS) $(TCLL e0b0: 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 IBPATHS)$(LTLIB
e0c0: 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74  PATHS) /OUT:$@ t e0d0: 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c clsqlite-shell.l e0e0: 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 o$(LIBRESOBJS)
e0f0: 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c  $(TCLLIBS)$(LTL
e100: 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23  IBS) $(TLIBS)..# e110: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 Rules to build e120: 6f 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f 70 opcodes.c and op e130: 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64 65 codes.h.#.opcode e140: 73 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20 24 s.c:.opcodes.h$
e150: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63  (TOP)\tool\mkopc
e160: 6f 64 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53  odec.tcl..$(TCLS e170: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
e180: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c  ol\mkopcodec.tcl
e190: 20 6f 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70 63   opcodes.h > opc
e1a0: 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e  odes.c..opcodes.
e1b0: 68 3a 09 70 61 72 73 65 2e 68 20 24 28 54 4f 50  h:.parse.h $(TOP e1c0: 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28 54 )\src\vdbe.c$(T
e1d0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64  OP)\tool\mkopcod
e1e0: 65 68 2e 74 63 6c 0a 09 74 79 70 65 20 70 61 72  eh.tcl..type par
e1f0: 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c  se.h $(TOP)\src\ e200: 76 64 62 65 2e 63 20 7c 20 24 28 54 43 4c 53 48 vdbe.c |$(TCLSH
e210: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too e220: 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 20 l\mkopcodeh.tcl e230: 3e 20 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20 52 > opcodes.h..# R e240: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 70 61 ules to build pa e250: 72 73 65 2e 63 20 61 6e 64 20 70 61 72 73 65 2e rse.c and parse. e260: 68 20 2d 20 74 68 65 20 6f 75 74 70 75 74 73 20 h - the outputs e270: 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72 73 of lemon..#.pars e280: 65 2e 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70 61 e.h:.parse.c..pa e290: 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73 72 rse.c:.$(TOP)\sr
e2a0: 63 5c 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e  c\parse.y lemon.
e2b0: 65 78 65 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  exe $(TOP)\tool\ e2c0: 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 0a 09 addopcodes.tcl.. e2d0: 64 65 6c 20 2f 51 20 70 61 72 73 65 2e 79 20 70 del /Q parse.y p e2e0: 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 arse.h parse.h.t e2f0: 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f 70 79 20 emp 2>NUL..copy e300: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65$(TOP)\src\parse
e310: 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78  .y ....\lemon.ex
e320: 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f  e $(REQ_FEATURE_ e330: 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 FLAGS)$(OPT_FEA
e340: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58  TURE_FLAGS) $(EX e350: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) e360: 20 24 28 4f 50 54 53 29 20 70 61 72 73 65 2e 79$(OPTS) parse.y
e370: 0a 09 6d 6f 76 65 20 70 61 72 73 65 2e 68 20 70  ..move parse.h p
e380: 61 72 73 65 2e 68 2e 74 65 6d 70 0a 09 24 28 54  arse.h.temp..$(T e390: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
e3a0: 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 73  \tool\addopcodes
e3b0: 2e 74 63 6c 20 70 61 72 73 65 2e 68 2e 74 65 6d  .tcl parse.h.tem
e3c0: 70 20 3e 20 70 61 72 73 65 2e 68 0a 0a 24 28 53  p > parse.h..$(S e3d0: 51 4c 49 54 45 33 48 29 3a 09 24 28 54 4f 50 29 QLITE3H):.$(TOP)
e3e0: 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e  \src\sqlite.h.in
e3f0: 20 24 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73 74   $(TOP)\manifest e400: 20 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 20 mksourceid.exe e410: 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09$(TOP)\VERSION..
e420: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD)$(T
e430: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74  OP)\tool\mksqlit
e440: 65 33 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c 3d  e3h.tcl $(TOP:\= e450: 2f 29 20 3e 20 24 28 53 51 4c 49 54 45 33 48 29 /) >$(SQLITE3H)
e460: 20 24 28 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52   $(MKSQLITE3H_AR e470: 47 53 29 0a 0a 73 71 6c 69 74 65 33 65 78 74 2e GS)..sqlite3ext. e480: 68 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 h:..target_sourc e490: 65 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 e.!IF$(USE_STDC
e4a0: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR e4b0: 5f 57 49 4e 31 30 29 21 3d 30 0a 09 74 79 70 65 _WIN10)!=0..type e4c0: 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 tsrc\sqlite3ext e4d0: 2e 68 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 .h |$(TCLSH_CMD
e4e0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re e4f0: 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 place.tcl regsub e500: 20 22 5c 28 5c 2a 5c 29 22 20 22 28 53 51 4c 49 "$$\*$$" "(SQLI e510: 54 45 5f 43 41 4c 4c 42 41 43 4b 20 2a 29 22 20 TE_CALLBACK *)" e520: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d \...|$(TCLSH_CM
e530: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r e540: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 eplace.tcl regsu e550: 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 b "\(\*" "(SQLIT e560: 45 5f 41 50 49 43 41 4c 4c 20 2a 22 20 3e 20 73 E_APICALL *" > s e570: 71 6c 69 74 65 33 65 78 74 2e 68 0a 09 63 6f 70 qlite3ext.h..cop e580: 79 20 2f 59 20 73 71 6c 69 74 65 33 65 78 74 2e y /Y sqlite3ext. e590: 68 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 h tsrc\sqlite3ex e5a0: 74 2e 68 0a 21 45 4c 53 45 0a 09 63 6f 70 79 20 t.h.!ELSE..copy e5b0: 2f 59 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 /Y tsrc\sqlite3e e5c0: 78 74 2e 68 20 73 71 6c 69 74 65 33 65 78 74 2e xt.h sqlite3ext. e5d0: 68 0a 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79 77 h.!ENDIF..mkkeyw e5e0: 6f 72 64 68 61 73 68 2e 65 78 65 3a 09 24 28 54 ordhash.exe:.$(T
e5f0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f  OP)\tool\mkkeywo
e600: 72 64 68 61 73 68 2e 63 0a 09 24 28 42 43 43 29  rdhash.c..$(BCC) e610: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24$(NO_WARN) -Fe$e620: 40 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f @$(REQ_FEATURE_
e630: 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41  FLAGS) $(OPT_FEA e640: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 TURE_FLAGS)$(EX
e650: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
e660: 20 24 28 4f 50 54 53 29 20 5c 0a 09 09 24 28 54   $(OPTS) \...$(T
e670: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f  OP)\tool\mkkeywo
e680: 72 64 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20 24  rdhash.c /link $e690: 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c (LDFLAGS)$(NLTL
e6a0: 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49  INKOPTS) $(NLTLI e6b0: 42 50 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72 64 BPATHS)..keyword e6c0: 68 61 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c 74 hash.h:.$(TOP)\t
e6d0: 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73  ool\mkkeywordhas
e6e0: 68 2e 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73  h.c mkkeywordhas
e6f0: 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77 6f  h.exe...\mkkeywo
e700: 72 64 68 61 73 68 2e 65 78 65 20 3e 20 6b 65 79  rdhash.exe > key
e710: 77 6f 72 64 68 61 73 68 2e 68 0a 0a 23 20 53 6f  wordhash.h..# So
e720: 75 72 63 65 20 66 69 6c 65 73 20 74 68 61 74 20  urce files that
e730: 67 6f 20 69 6e 74 6f 20 6d 61 6b 69 6e 67 20 73  go into making s
e740: 68 65 6c 6c 2e 63 0a 53 48 45 4c 4c 5f 53 52 43  hell.c.SHELL_SRC
e750: 20 3d 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72 63   = \..$(TOP)\src e760: 5c 73 68 65 6c 6c 2e 63 2e 69 6e 20 5c 0a 09 24 \shell.c.in \..$
e770: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61  (TOP)\ext\misc\a
e780: 70 70 65 6e 64 76 66 73 2e 63 20 5c 0a 09 24 28  ppendvfs.c \..$( e790: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 68 TOP)\ext\misc\sh e7a0: 61 74 68 72 65 65 2e 63 20 5c 0a 09 24 28 54 4f athree.c \..$(TO
e7b0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65  P)\ext\misc\file
e7c0: 69 6f 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65  io.c \..$(TOP)\e e7d0: 78 74 5c 6d 69 73 63 5c 63 6f 6d 70 6c 65 74 69 xt\misc\completi e7e0: 6f 6e 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 on.c \..$(TOP)\e
e7f0: 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65  xt\expert\sqlite
e800: 33 65 78 70 65 72 74 2e 63 20 5c 0a 09 24 28 54  3expert.c \..$(T e810: 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 OP)\ext\expert\s e820: 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20 5c qlite3expert.h \ e830: 0a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 ..$(TOP)\src\tes
e840: 74 5f 77 69 6e 64 69 72 65 6e 74 2e 63 0a 0a 23  t_windirent.c..#
e850: 20 49 66 20 75 73 65 20 6f 66 20 7a 6c 69 62 20   If use of zlib
e860: 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20  is enabled, add
e870: 74 68 65 20 22 7a 69 70 66 69 6c 65 2e 63 22 20  the "zipfile.c"
e880: 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 23 0a 21  source file..#.!
e890: 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d  IF $(USE_ZLIB)!= e8a0: 30 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 0.SHELL_SRC =$(
e8b0: 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50  SHELL_SRC) $(TOP e8c0: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 71 6c 61 72 )\ext\misc\sqlar e8d0: 2e 63 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 .c.SHELL_SRC =$
e8e0: 28 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f  (SHELL_SRC) $(TO e8f0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 7a 69 70 66 P)\ext\misc\zipf e900: 69 6c 65 2e 63 0a 21 45 4e 44 49 46 0a 0a 73 68 ile.c.!ENDIF..sh e910: 65 6c 6c 2e 63 3a 09 24 28 53 48 45 4c 4c 5f 53 ell.c:.$(SHELL_S
e920: 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RC) $(TOP)\tool\ e930: 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 0a 09 24 28 mkshellc.tcl..$(
e940: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP e950: 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e )\tool\mkshellc. e960: 74 63 6c 20 3e 20 73 68 65 6c 6c 2e 63 0a 0a 7a tcl > shell.c..z e970: 6c 69 62 3a 0a 09 70 75 73 68 64 20 24 28 5a 4c lib:..pushd$(ZL
e980: 49 42 44 49 52 29 20 26 26 20 24 28 4d 41 4b 45  IBDIR) && $(MAKE e990: 29 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b 65 66 ) /f win32\Makef e9a0: 69 6c 65 2e 6d 73 63 20 63 6c 65 61 6e 20 24 28 ile.msc clean$(
e9b0: 5a 4c 49 42 4c 49 42 29 20 26 26 20 70 6f 70 64  ZLIBLIB) && popd
e9c0: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
e9d0: 6c 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e  ld the extension
e9e0: 20 6f 62 6a 65 63 74 73 2e 0a 23 0a 69 63 75 2e   objects..#.icu.
e9f0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 69  lo:.$(TOP)\ext\i ea00: 63 75 5c 69 63 75 2e 63 20 24 28 48 44 52 29 20 cu\icu.c$(HDR)
ea10: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
ea20: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C ea30: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
ea40: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
ea50: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ ea60: 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 0a 0a 66 ext\icu\icu.c..f ea70: 74 73 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 ts2.lo:.$(TOP)\e
ea80: 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 24  xt\fts2\fts2.c $ea90: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
eaa0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
eab0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
eac0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D ead0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
eae0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
eaf0: 74 73 32 2e 63 0a 0a 66 74 73 32 5f 68 61 73 68  ts2.c..fts2_hash
eb00: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ eb10: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 fts2\fts2_hash.c eb20: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR eb30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
eb40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O eb50: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
eb60: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
eb70: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 eb80: 5c 66 74 73 32 5f 68 61 73 68 2e 63 0a 0a 66 74 \fts2_hash.c..ft eb90: 73 32 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 s2_icu.lo:.$(TOP
eba0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
ebb0: 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45  icu.c $(HDR)$(E
ebc0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP ebd0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
ebe0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W ebf0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO ec00: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
ec10: 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63  \fts2\fts2_icu.c
ec20: 0a 0a 66 74 73 32 5f 70 6f 72 74 65 72 2e 6c 6f  ..fts2_porter.lo
ec30: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts ec40: 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 2\fts2_porter.c ec50: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) ec60: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $ec70: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP ec80: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
ec90: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
eca0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ ecb0: 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 fts2_porter.c..f ecc0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f ts2_tokenizer.lo ecd0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
ece0: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
ecf0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
ed00: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE ed10: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
ed20: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN ed30: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE ed40: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
ed50: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  s2\fts2_tokenize
ed60: 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69  r.c..fts2_tokeni
ed70: 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  zer1.lo:.$(TOP)\ ed80: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f ext\fts2\fts2_to ed90: 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 kenizer1.c$(HDR
eda0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
edb0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE edc0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
edd0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
ede0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP edf0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f )\ext\fts2\fts2_ ee00: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 tokenizer1.c..ft ee10: 73 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 s3.lo:.$(TOP)\ex
ee20: 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 24 28  t\fts3\fts3.c $( ee30: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
ee40: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
ee50: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ee60: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS ee70: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
ee80: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
ee90: 73 33 2e 63 0a 0a 66 74 73 33 5f 61 75 78 2e 6c  s3.c..fts3_aux.l
eea0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft eeb0: 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 24 28 s3\fts3_aux.c$(
eec0: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR).. eed0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C eee0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS eef0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
ef00: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $( ef10: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft ef20: 73 33 5f 61 75 78 2e 63 0a 0a 66 74 73 33 5f 65 s3_aux.c..fts3_e ef30: 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 xpr.lo:.$(TOP)\e
ef40: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70  xt\fts3\fts3_exp
ef50: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR)$(EXT
ef60: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL ef70: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
ef80: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR ef90: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE efa0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
efb0: 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 0a  ts3\fts3_expr.c.
efc0: 0a 66 74 73 33 5f 68 61 73 68 2e 6c 6f 3a 09 24  .fts3_hash.lo:.$efd0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f efe0: 74 73 33 5f 68 61 73 68 2e 63 20 24 28 48 44 52 ts3_hash.c$(HDR
eff0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f000: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE f010: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
f020: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f030: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP f040: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ f050: 68 61 73 68 2e 63 0a 0a 66 74 73 33 5f 69 63 75 hash.c..fts3_icu f060: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
f070: 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20  fts3\fts3_icu.c
f080: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
f090: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
f0a0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
f0b0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - f0c0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c f0d0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
f0e0: 66 74 73 33 5f 69 63 75 2e 63 0a 0a 66 74 73 33  fts3_icu.c..fts3
f0f0: 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a 09 24 28 54  _snippet.lo:.$(T f100: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts f110: 33 5f 73 6e 69 70 70 65 74 2e 63 20 24 28 48 44 3_snippet.c$(HD
f120: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f130: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR f140: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) f150: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
f160: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO f170: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 f180: 5f 73 6e 69 70 70 65 74 2e 63 0a 0a 66 74 73 33 _snippet.c..fts3 f190: 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f _porter.lo:.$(TO
f1a0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f1b0: 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29  _porter.c $(HDR) f1c0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT f1d0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
f1e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( f1f0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT f200: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
f210: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70  \ext\fts3\fts3_p
f220: 6f 72 74 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f  orter.c..fts3_to
f230: 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f  kenizer.lo:.$(TO f240: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 f250: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 _tokenizer.c$(H
f260: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
f270: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO f280: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) f290: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
f2a0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T f2b0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts f2c0: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 3_tokenizer.c..f f2d0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c ts3_tokenizer1.l f2e0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 o:.$(TOP)\ext\ft
f2f0: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
f300: 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  r1.c $(HDR)$(EX
f310: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI f320: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
f330: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA f340: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR f350: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
f360: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
f370: 7a 65 72 31 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b  zer1.c..fts3_tok
f380: 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 3a 09 24  enize_vtab.lo:.$f390: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f f3a0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 ts3_tokenize_vta f3b0: 62 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 b.c$(HDR) $(EXT f3c0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
f3d0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL f3e0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
f3f0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f400: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f f410: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a ts3\fts3_tokeniz f420: 65 5f 76 74 61 62 2e 63 0a 0a 66 74 73 33 5f 75 e_vtab.c..fts3_u f430: 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 nicode.lo:.$(TOP
f440: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f450: 75 6e 69 63 6f 64 65 2e 63 20 24 28 48 44 52 29  unicode.c $(HDR) f460: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT f470: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
f480: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( f490: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT f4a0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
f4b0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75  \ext\fts3\fts3_u
f4c0: 6e 69 63 6f 64 65 2e 63 0a 0a 66 74 73 33 5f 75  nicode.c..fts3_u
f4d0: 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09 24 28 54 4f  nicode2.lo:.$(TO f4e0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 f4f0: 5f 75 6e 69 63 6f 64 65 32 2e 63 20 24 28 48 44 _unicode2.c$(HD
f500: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f510: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR f520: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) f530: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
f540: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO f550: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 f560: 5f 75 6e 69 63 6f 64 65 32 2e 63 0a 0a 66 74 73 _unicode2.c..fts f570: 33 5f 77 72 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 3_write.lo:.$(TO
f580: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f590: 5f 77 72 69 74 65 2e 63 20 24 28 48 44 52 29 20  _write.c $(HDR) f5a0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC f5b0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
f5c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N f5d0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE f5e0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
f5f0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72  ext\fts3\fts3_wr
f600: 69 74 65 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f 3a  ite.c..rtree.lo:
f610: 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65  .$(TOP)\ext\rtre f620: 65 5c 72 74 72 65 65 2e 63 20 24 28 48 44 52 29 e\rtree.c$(HDR)
f630: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f640: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ f650: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
f660: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f670: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) f680: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 \ext\rtree\rtree f690: 2e 63 0a 0a 73 71 6c 69 74 65 33 73 65 73 73 69 .c..sqlite3sessi f6a0: 6f 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 on.lo:.$(TOP)\ex
f6b0: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65  t\session\sqlite
f6c0: 33 73 65 73 73 69 6f 6e 2e 63 20 24 28 48 44 52  3session.c $(HDR f6d0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L f6e0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
f6f0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $f700: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI f710: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
f720: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71  )\ext\session\sq
f730: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 0a 0a  lite3session.c..
f740: 23 20 46 54 53 35 20 74 68 69 6e 67 73 0a 23 0a  # FTS5 things.#.
f750: 46 54 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20 20  FTS5_SRC = \.
f760: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\ f770: 66 74 73 35 2e 68 20 5c 0a 20 20 20 24 28 54 4f fts5.h \.$(TO
f780: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
f790: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  Int.h \.   $(TOP f7a0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ f7b0: 61 75 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 aux.c \.$(TOP
f7c0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
f7d0: 62 75 66 66 65 72 2e 63 20 5c 0a 20 20 20 24 28  buffer.c \.   $( f7e0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 TOP)\ext\fts5\ft f7f0: 73 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 s5_main.c \.$
f800: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
f810: 74 73 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20  ts5_config.c \.
f820: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts f830: 35 5c 66 74 73 35 5f 65 78 70 72 2e 63 20 5c 0a 5\fts5_expr.c \. f840: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74$(TOP)\ext\ft
f850: 73 35 5c 66 74 73 35 5f 68 61 73 68 2e 63 20 5c  s5\fts5_hash.c \
f860: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f f870: 74 73 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e 63 ts5\fts5_index.c f880: 20 5c 0a 20 20 20 66 74 73 35 70 61 72 73 65 2e \. fts5parse. f890: 63 20 66 74 73 35 70 61 72 73 65 2e 68 20 5c 0a c fts5parse.h \. f8a0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74$(TOP)\ext\ft
f8b0: 73 35 5c 66 74 73 35 5f 73 74 6f 72 61 67 65 2e  s5\fts5_storage.
f8c0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex f8d0: 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b 65 t\fts5\fts5_toke f8e0: 6e 69 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f nize.c \.$(TO
f8f0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
f900: 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20  _unicode2.c \.
f910: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 f920: 5c 66 74 73 35 5f 76 61 72 69 6e 74 2e 63 20 5c \fts5_varint.c \ f930: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 .$(TOP)\ext\f
f940: 74 73 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e 63  ts5\fts5_vocab.c
f950: 0a 0a 4c 53 4d 31 5f 53 52 43 20 3d 20 5c 0a 20  ..LSM1_SRC = \.
f960: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm f970: 31 5c 6c 73 6d 2e 68 20 5c 0a 20 20 20 24 28 54 1\lsm.h \.$(T
f980: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
f990: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  Int.h \.   $(TOP f9a0: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 63 )\ext\lsm1\lsm_c f9b0: 6b 70 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 kpt.c \.$(TOP
f9c0: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 66  )\ext\lsm1\lsm_f
f9d0: 69 6c 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ile.c \.   $(TOP f9e0: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6c )\ext\lsm1\lsm_l f9f0: 6f 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 og.c \.$(TOP)
fa00: 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 61  \ext\lsm1\lsm_ma
fa10: 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  in.c \.   $(TOP) fa20: 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 65 \ext\lsm1\lsm_me fa30: 6d 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c m.c \.$(TOP)\
fa40: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 75 74  ext\lsm1\lsm_mut
fa50: 65 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ex.c \.   $(TOP) fa60: 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 68 \ext\lsm1\lsm_sh fa70: 61 72 65 64 2e 63 20 5c 0a 20 20 20 24 28 54 4f ared.c \.$(TO
fa80: 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
fa90: 73 6f 72 74 65 64 2e 63 20 5c 0a 20 20 20 24 28  sorted.c \.   $( faa0: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 TOP)\ext\lsm1\ls fab0: 6d 5f 73 74 72 2e 63 20 5c 0a 20 20 20 24 28 54 m_str.c \.$(T
fac0: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
fad0: 5f 74 72 65 65 2e 63 20 5c 0a 20 20 20 24 28 54  _tree.c \.   $(T fae0: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d OP)\ext\lsm1\lsm faf0: 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 20 24 28 54 _unix.c \.$(T
fb00: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
fb10: 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24  _varint.c \.   $fb20: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c (TOP)\ext\lsm1\l fb30: 73 6d 5f 76 74 61 62 2e 63 20 5c 0a 20 20 20 24 sm_vtab.c \.$
fb40: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
fb50: 73 6d 5f 77 69 6e 33 32 2e 63 0a 0a 66 74 73 35  sm_win32.c..fts5
fb60: 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c  parse.c:.$(TOP)\ fb70: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72 ext\fts5\fts5par fb80: 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 se.y lemon.exe.. fb90: 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c copy$(TOP)\ext\
fba0: 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79  fts5\fts5parse.y
fbb0: 20 2e 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 70   ...del /Q fts5p
fbc0: 61 72 73 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c  arse.h 2>NUL...\
fbd0: 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f  lemon.exe $(REQ_ fbe0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 FEATURE_FLAGS)$
fbf0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
fc00: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52  GS) $(EXT_FEATUR fc10: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 E_FLAGS)$(OPTS)
fc20: 20 66 74 73 35 70 61 72 73 65 2e 79 0a 0a 66 74   fts5parse.y..ft
fc30: 73 35 70 61 72 73 65 2e 68 3a 09 66 74 73 35 70  s5parse.h:.fts5p
fc40: 61 72 73 65 2e 63 0a 0a 66 74 73 35 2e 63 3a 09  arse.c..fts5.c:.
fc50: 24 28 46 54 53 35 5f 53 52 43 29 0a 09 24 28 54  $(FTS5_SRC)..$(T
fc60: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) fc70: 5c 65 78 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d \ext\fts5\tool\m fc80: 6b 66 74 73 35 63 2e 74 63 6c 0a 09 63 6f 70 79 kfts5c.tcl..copy fc90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35$(TOP)\ext\fts5
fca0: 5c 66 74 73 35 2e 68 20 2e 0a 0a 6c 73 6d 31 2e  \fts5.h ...lsm1.
fcb0: 63 3a 09 24 28 4c 53 4d 31 5f 53 52 43 29 0a 09  c:.$(LSM1_SRC).. fcc0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T fcd0: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 74 6f 6f OP)\ext\lsm1\too fce0: 6c 5c 6d 6b 6c 73 6d 31 63 2e 74 63 6c 0a 09 63 l\mklsm1c.tcl..c fcf0: 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c opy$(TOP)\ext\l
fd00: 73 6d 31 5c 6c 73 6d 2e 68 20 2e 0a 0a 66 74 73  sm1\lsm.h ...fts
fd10: 35 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48  5.lo:.fts5.c $(H fd20: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$fd30: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
fd40: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
fd50: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ fd60: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 66 74 73 LITE_CORE -c fts fd70: 35 2e 63 0a 0a 66 74 73 35 5f 65 78 74 2e 6c 6f 5.c..fts5_ext.lo fd80: 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 :.fts5.c$(HDR)
fd90: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
fda0: 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52  OMPILE) $(NO_WAR fdb0: 4e 29 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 N) -c fts5.c..ft fdc0: 73 35 2e 64 6c 6c 3a 09 66 74 73 35 5f 65 78 74 s5.dll:.fts5_ext fdd0: 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 .lo..$(LD) $(LDF fde0: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
fdf0: 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  TS) $(LTLIBPATHS fe00: 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 66 ) /DLL /OUT:$@ f
fe10: 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c 69  ts5_ext.lo..sqli
fe20: 74 65 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f 50  te3rbu.lo:.$(TOP fe30: 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 )\ext\rbu\sqlite fe40: 33 72 62 75 2e 63 20 24 28 48 44 52 29 20 24 28 3rbu.c$(HDR) $( fe50: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
fe60: 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43  PILE) -DSQLITE_C
fe70: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex fe80: 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 t\rbu\sqlite3rbu fe90: 2e 63 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 .c..# Rules to b fea0: 75 69 6c 64 20 74 68 65 20 27 74 65 73 74 66 69 uild the 'testfi feb0: 78 74 75 72 65 27 20 61 70 70 6c 69 63 61 74 69 xture' applicati fec0: 6f 6e 2e 0a 23 0a 23 20 49 66 20 75 73 69 6e 67 on..#.# If using fed0: 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f the amalgamatio fee0: 6e 2c 20 75 73 65 20 73 71 6c 69 74 65 33 2e 63 n, use sqlite3.c fef0: 20 64 69 72 65 63 74 6c 79 20 74 6f 20 62 75 69 directly to bui ff00: 6c 64 20 74 68 65 20 74 65 73 74 0a 23 20 66 69 ld the test.# fi ff10: 78 74 75 72 65 2e 20 20 4f 74 68 65 72 77 69 73 xture. Otherwis ff20: 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 6c e link against l ff30: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 2e 20 20 ibsqlite3.lib. ff40: 28 54 68 69 73 20 64 69 73 74 69 6e 63 74 69 6f (This distinctio ff50: 6e 20 69 73 0a 23 20 6e 65 63 65 73 73 61 72 79 n is.# necessary ff60: 20 62 65 63 61 75 73 65 20 74 68 65 20 74 65 73 because the tes ff70: 74 20 66 69 78 74 75 72 65 20 72 65 71 75 69 72 t fixture requir ff80: 65 73 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62 6f es non-API symbo ff90: 6c 73 20 77 68 69 63 68 20 61 72 65 0a 23 20 68 ls which are.# h ffa0: 69 64 64 65 6e 20 77 68 65 6e 20 74 68 65 20 6c idden when the l ffb0: 69 62 72 61 72 79 20 69 73 20 62 75 69 6c 74 20 ibrary is built ffc0: 76 69 61 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 via the amalgama ffd0: 74 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49 58 tion)..#.TESTFIX ffe0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 2d 44 54 TURE_FLAGS = -DT fff0: 43 4c 53 48 5f 49 4e 49 54 5f 50 52 4f 43 3d 73 CLSH_INIT_PROC=s 10000 71 6c 69 74 65 33 54 65 73 74 49 6e 69 74 20 2d qlite3TestInit - 10010 44 53 51 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d DSQLITE_TEST=1 - 10020 44 53 51 4c 49 54 45 5f 43 52 41 53 48 5f 54 45 DSQLITE_CRASH_TE 10030 53 54 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 ST=1.TESTFIXTURE 10040 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 _FLAGS =$(TESTF
10050 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
10060 53 51 4c 49 54 45 5f 53 45 52 56 45 52 3d 31 20  SQLITE_SERVER=1
10070 2d 44 53 51 4c 49 54 45 5f 50 52 49 56 41 54 45  -DSQLITE_PRIVATE
10080 3d 22 22 0a 54 45 53 54 46 49 58 54 55 52 45 5f  ="".TESTFIXTURE_
10090 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI 100a0 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 XTURE_FLAGS) -DS 100b0 51 4c 49 54 45 5f 43 4f 52 45 20 24 28 4e 4f 5f QLITE_CORE$(NO_
100c0 57 41 52 4e 29 0a 54 45 53 54 46 49 58 54 55 52  WARN).TESTFIXTUR
100d0 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST 100e0 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d FIXTURE_FLAGS) - 100f0 44 53 51 4c 49 54 45 5f 53 45 52 49 45 53 5f 43 DSQLITE_SERIES_C 10100 4f 4e 53 54 52 41 49 4e 54 5f 56 45 52 49 46 59 ONSTRAINT_VERIFY 10110 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 =1.TESTFIXTURE_F 10120 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 LAGS =$(TESTFIX
10130 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
10140 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 50 41 47  LITE_DEFAULT_PAG
10150 45 5f 53 49 5a 45 3d 31 30 32 34 0a 54 45 53 54  E_SIZE=1024.TEST
10160 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS =
10170 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL 10180 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e AGS) -DSQLITE_EN 10190 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 0a 54 45 ABLE_STMTVTAB.TE 101a0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 STFIXTURE_FLAGS 101b0 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f =$(TESTFIXTURE_
101c0 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
101d0 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f 56 54  ENABLE_DBPAGE_VT
101e0 41 42 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  AB.TESTFIXTURE_F
101f0 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX 10200 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 TURE_FLAGS) -DSQ 10210 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e LITE_ENABLE_JSON 10220 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 1.TESTFIXTURE_FL 10230 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 AGS =$(TESTFIXT
10240 55 52 45 5f 46 4c 41 47 53 29 20 24 28 54 45 53  URE_FLAGS) $(TES 10250 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 T_CCONV_OPTS)..T 10260 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 30 20 ESTFIXTURE_SRC0 10270 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28 54 =$(TESTEXT) $(T 10280 45 53 54 53 52 43 32 29 0a 54 45 53 54 46 49 58 ESTSRC2).TESTFIX 10290 54 55 52 45 5f 53 52 43 31 20 3d 20 24 28 54 45 TURE_SRC1 =$(TE
102a0 53 54 45 58 54 29 20 24 28 53 51 4c 49 54 45 33  STEXT) $(SQLITE3 102b0 43 29 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41 C).!IF$(USE_AMA
102c0 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45  LGAMATION)==0.TE
102d0 53 54 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20  STFIXTURE_SRC =
102e0 24 28 54 45 53 54 53 52 43 29 20 24 28 54 4f 50  $(TESTSRC)$(TOP
102f0 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
10300 63 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  c $(TESTFIXTURE_ 10310 53 52 43 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 SRC0).!ELSE.TEST 10320 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 FIXTURE_SRC =$(
10330 54 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c  TESTSRC) $(TOP)\ 10340 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 src\tclsqlite.c 10350 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52$(TESTFIXTURE_SR
10360 43 31 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20  C1).!ENDIF..!IF
10370 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d  $(USE_STDCALL)!= 10380 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 0 ||$(FOR_WIN10
10390 29 21 3d 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44  )!=0.sqlite_tclD
103a0 65 63 6c 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69  ecls.h:..echo #i
103b0 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 54 43 4c  fndef SQLITE_TCL
103c0 41 50 49 20 3e 20 24 28 53 51 4c 49 54 45 54 43  API > $(SQLITETC 103d0 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 LDECLSH)..echo # 103e0 20 20 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f define SQLITE_ 103f0 54 43 4c 41 50 49 20 3e 3e 20 24 28 53 51 4c 49 TCLAPI >>$(SQLI
10400 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63  TETCLDECLSH)..ec
10410 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 24 28 53  ho #endif >> $(S 10420 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a QLITETCLDECLSH). 10430 09 74 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 .type "$(TCLINCD
10440 49 52 29 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20  IR)\tclDecls.h"
10450 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM 10460 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 D)$(TOP)\tool\r
10470 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
10480 62 20 22 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43  b "^(EXTERN(?: C
10490 4f 4e 53 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e  ONST\d+?)?\s+?[^
104a0 5c 28 5d 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20  \(]*?\s+?)Tcl_"
104b0 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50  "\1 SQLITE_TCLAP
104c0 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28  I Tcl_" \...| $( 104d0 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
104e0 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
104f0 63 6c 20 72 65 67 73 75 62 20 22 5e 28 45 58 54  cl regsub "^(EXT
10500 45 52 4e 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56  ERN\s+?(?:void|V
10510 4f 49 44 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65  OID)\s+?)TclFree
10520 4f 62 6a 22 20 22 5c 31 20 53 51 4c 49 54 45 5f  Obj" "\1 SQLITE_
10530 54 43 4c 41 50 49 20 54 63 6c 46 72 65 65 4f 62  TCLAPI TclFreeOb
10540 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  j" \...| $(TCLSH 10550 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f _CMD)$(TOP)\too
10560 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65  l\replace.tcl re
10570 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20  gsub "\(\*tcl_"
10580 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  "(SQLITE_TCLAPI
10590 2a 74 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54  *tcl_" \...| $(T 105a0 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
105b0 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
105c0 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63  l regsub "\(\*tc
105d0 6c 46 72 65 65 4f 62 6a 22 20 22 28 53 51 4c 49  lFreeObj" "(SQLI
105e0 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c 46 72  TE_TCLAPI *tclFr
105f0 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54  eeObj" \...| $(T 10600 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
10610 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
10620 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20  l regsub "\(\*"
10630 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  "(SQLITE_TCLAPI
10640 2a 22 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43  *" >> $(SQLITETC 10650 4c 44 45 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65 LDECLSH)..sqlite 10660 5f 74 63 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24 _tcl.h:..type "$
10670 28 54 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e  (TCLINCDIR)\tcl.
10680 68 22 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  h" | $(TCLSH_CMD 10690 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 )$(TOP)\tool\re
106a0 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20  place.tcl exact
106b0 74 63 6c 44 65 63 6c 73 2e 68 20 73 71 6c 69 74  tclDecls.h sqlit
106c0 65 5f 74 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09  e_tclDecls.h \..
106d0 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 106e0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c$(TOP)\tool\repl
106f0 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
10700 74 79 70 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54  typedef (.*?)\(T
10710 63 6c 5f 22 20 22 74 79 70 65 64 65 66 20 5c 31  cl_" "typedef \1
10720 20 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20   (SQLITE_TCLAPI
10730 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43  Tcl_" \...| $(TC 10740 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c LSH_CMD)$(TOP)\
10750 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
10760 20 65 78 61 63 74 20 22 76 6f 69 64 20 28 2a 66   exact "void (*f
10770 72 65 65 50 72 6f 63 29 22 20 22 76 6f 69 64 20  reeProc)" "void
10780 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
10790 66 72 65 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c  freeProc)" \...|
107a0 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD)$(
107b0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
107c0 65 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c  e.tcl exact "Tcl
107d0 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 66 69  _HashEntry *(*fi
107e0 6e 64 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61  ndProc)" "Tcl_Ha
107f0 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45  shEntry *(SQLITE
10800 5f 54 43 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f  _TCLAPI *findPro
10810 63 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  c)" \...| $(TCLS 10820 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
10830 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65  ol\replace.tcl e
10840 78 61 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e  xact "Tcl_HashEn
10850 74 72 79 20 2a 28 2a 63 72 65 61 74 65 50 72 6f  try *(*createPro
10860 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74  c)" "Tcl_HashEnt
10870 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41  ry *(SQLITE_TCLA
10880 50 49 20 2a 63 72 65 61 74 65 50 72 6f 63 29 22  PI *createProc)"
10890 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 48   >> $(SQLITETCLH 108a0 29 0a 21 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 ).!ENDIF..testfi 108b0 78 74 75 72 65 2e 65 78 65 3a 09 24 28 54 45 53 xture.exe:.$(TES
108c0 54 46 49 58 54 55 52 45 5f 53 52 43 29 20 24 28  TFIXTURE_SRC) $( 108d0 54 45 53 54 46 49 58 54 55 52 45 5f 44 45 50 29 TESTFIXTURE_DEP) 108e0 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c$(SQLITE3H) $(L 108f0 49 42 52 45 53 4f 42 4a 53 29 20 24 28 48 44 52 IBRESOBJS)$(HDR
10900 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44  ) $(SQLITE_TCL_D 10910 45 50 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d EP)..$(LTLINK) -
10920 44 53 51 4c 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d  DSQLITE_NO_SYNC=
10930 31 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  1 $(TESTFIXTURE_ 10940 46 4c 41 47 53 29 20 5c 0a 09 09 2d 44 42 55 49 FLAGS) \...-DBUI 10950 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 LD_sqlite -I$(TC
10960 4c 49 4e 43 44 49 52 29 20 5c 0a 09 09 24 28 54  LINCDIR) \...$(T 10970 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 29 20 ESTFIXTURE_SRC) 10980 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c \.../link$(LDFL
10990 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT 109a0 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 S)$(TCLLIBPATHS
109b0 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 109c0 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28$(LIBRESOBJS) $( 109d0 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 TCLLIBS)$(LTLIB
109e0 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 65 78 74  S) $(TLIBS)..ext 109f0 65 6e 73 69 6f 6e 74 65 73 74 3a 09 74 65 73 74 ensiontest:.test 10a00 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 fixture.exe test 10a10 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40 73 65 loadext.dll..@se 10a20 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 t PATH=$(LIBTCLP
10a30 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\ 10a40 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 testfixture.exe 10a50 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f 61 64$(TOP)\test\load
10a60 65 78 74 2e 74 65 73 74 20 24 28 54 45 53 54 4f  ext.test $(TESTO 10a70 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 PTS)..fulltest:. 10a80 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a$(TESTPROGS) fuz
10a90 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48  ztest..@set PATH
10aa0 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
10ab0 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
10ac0 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP) 10ad0 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 24 \test\all.test$
10ae0 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f 61 6b  (TESTOPTS)..soak
10af0 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47  test:.$(TESTPROG 10b00 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 S)..@set PATH=$(
10b10 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA 10b20 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 TH)...\testfixtu 10b30 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 re.exe$(TOP)\te
10b40 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73 6f 61  st\all.test -soa
10b50 6b 3d 31 20 24 28 54 45 53 54 4f 50 54 53 29 0a  k=1 $(TESTOPTS). 10b60 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 .fulltestonly:.$
10b70 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a  (TESTPROGS) fuzz
10b80 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d  test..@set PATH=
10b90 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
10ba0 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
10bb0 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\ 10bc0 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a test\full.test.. 10bd0 71 75 65 72 79 70 6c 61 6e 74 65 73 74 3a 09 74 queryplantest:.t 10be0 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 estfixture.exe s 10bf0 68 65 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d hell..@set PATH= 10c00 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28$(LIBTCLPATH);$( 10c10 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 PATH)...\testfix 10c20 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c ture.exe$(TOP)\
10c30 74 65 73 74 5c 70 65 72 6d 75 74 61 74 69 6f 6e  test\permutation
10c40 73 2e 74 65 73 74 20 71 75 65 72 79 70 6c 61 6e  s.test queryplan
10c50 6e 65 72 20 24 28 54 45 53 54 4f 50 54 53 29 0a  ner $(TESTOPTS). 10c60 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 .fuzztest:.fuzzc 10c70 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a heck.exe...\fuzz 10c80 63 68 65 63 6b 2e 65 78 65 20 24 28 46 55 5a 5a check.exe$(FUZZ
10c90 44 41 54 41 29 0a 0a 66 61 73 74 66 75 7a 7a 74  DATA)..fastfuzzt
10ca0 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65  est:.fuzzcheck.e
10cb0 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e  xe...\fuzzcheck.
10cc0 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20  exe --limit-mem
10cd0 31 30 30 4d 20 24 28 46 55 5a 5a 44 41 54 41 29  100M $(FUZZDATA) 10ce0 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74 ..# Minimal test 10cf0 69 6e 67 20 74 68 61 74 20 72 75 6e 73 20 69 6e ing that runs in 10d00 20 6c 65 73 73 20 74 68 61 6e 20 33 20 6d 69 6e less than 3 min 10d10 75 74 65 73 20 28 6f 6e 20 61 20 66 61 73 74 20 utes (on a fast 10d20 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 69 63 6b machine).#.quick 10d30 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 test:.testfixtur 10d40 65 2e 65 78 65 20 73 6f 75 72 63 65 74 65 73 74 e.exe sourcetest 10d50 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 ..@set PATH=$(LI
10d60 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH 10d70 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 )...\testfixture 10d80 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 .exe$(TOP)\test
10d90 5c 65 78 74 72 61 71 75 69 63 6b 2e 74 65 73 74  \extraquick.test
10da0 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 23 20   $(TESTOPTS)..# 10db0 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d This is the comm 10dc0 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e 20 6d 61 on case. Run ma 10dd0 6e 79 20 74 65 73 74 73 20 74 68 61 74 20 64 6f ny tests that do 10de0 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c 6f not take too lo 10df0 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67 20 ng,.# including 10e00 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69 74 fuzzcheck, sqlit 10e10 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 e3_analyzer, and 10e20 20 73 71 6c 64 69 66 66 20 74 65 73 74 73 2e 0a sqldiff tests.. 10e30 23 0a 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 #.test:.$(TESTPR
10e40 4f 47 53 29 20 73 6f 75 72 63 65 74 65 73 74 20  OGS) sourcetest
10e50 66 61 73 74 66 75 7a 7a 74 65 73 74 0a 09 40 73  fastfuzztest..@s
10e60 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL 10e70 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e PATH);$(PATH)...
10e80 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
10e90 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 76 65 72   $(TOP)\test\ver 10ea0 79 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 45 yquick.test$(TE
10eb0 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65  STOPTS)..smokete
10ec0 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS) 10ed0 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 ..@set PATH=$(LI
10ee0 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH 10ef0 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 )...\testfixture 10f00 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 .exe$(TOP)\test
10f10 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28 54 45 53  \main.test $(TES 10f20 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f TOPTS)..sqlite3_ 10f30 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 28 53 51 analyzer.c:.$(SQ
10f40 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE 10f50 33 48 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 3H)$(TOP)\src\t
10f60 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50  clsqlite.c $(TOP 10f70 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c )\tool\spaceanal 10f80 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c .tcl$(TOP)\tool
10f90 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54  \mkccode.tcl $(T 10fa0 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 OP)\tool\sqlite3 10fb0 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 24 _analyzer.c.in$
10fc0 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29  (SQLITE_TCL_DEP)
10fd0 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD)$
10fe0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f  (TOP)\tool\mkcco
10ff0 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f  de.tcl $(TOP)\to 11000 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 ol\sqlite3_analy 11010 7a 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 zer.c.in >$@..s
11020 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
11030 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61  exe:.sqlite3_ana
11040 6c 79 7a 65 72 2e 63 20 24 28 4c 49 42 52 45 53  lyzer.c $(LIBRES 11050 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 OBJS)..$(LTLINK)
11060 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55   $(NO_WARN) -DBU 11070 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 ILD_sqlite -I$(T
11080 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65  CLINCDIR) sqlite
11090 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09  3_analyzer.c \..
110a0 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53  ./link $(LDFLAGS 110b0 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 )$(LTLINKOPTS)
110c0 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24  $(TCLLIBPATHS)$
110d0 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c  (LTLIBPATHS) $(L 110e0 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c IBRESOBJS)$(TCL
110f0 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20  LIBS) $(LTLIBS) 11100 24 28 54 4c 49 42 53 29 0a 0a 73 71 6c 74 63 6c$(TLIBS)..sqltcl
11110 73 68 2e 63 3a 20 73 71 6c 69 74 65 33 2e 63 20  sh.c: sqlite3.c
11120 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq 11130 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f lite.c$(TOP)\to
11140 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 74 63 6c 20  ol\sqltclsh.tcl
11150 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ 11160 61 70 70 65 6e 64 76 66 73 2e 63 20 24 28 54 4f appendvfs.c$(TO
11170 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e  P)\tool\mkccode.
11180 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  tcl $(TOP)\tool\ 11190 73 71 6c 74 63 6c 73 68 2e 63 2e 69 6e 0a 09 24 sqltclsh.c.in..$
111a0 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO 111b0 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e P)\tool\mkccode. 111c0 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c tcl$(TOP)\tool\
111d0 73 71 6c 74 63 6c 73 68 2e 63 2e 69 6e 20 3e 73  sqltclsh.c.in >s
111e0 71 6c 74 63 6c 73 68 2e 63 0a 0a 73 71 6c 74 63  qltclsh.c..sqltc
111f0 6c 73 68 2e 65 78 65 3a 20 73 71 6c 74 63 6c 73  lsh.exe: sqltcls
11200 68 2e 63 20 20 24 28 53 48 45 4c 4c 5f 43 4f 52  h.c  $(SHELL_COR 11210 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f E_DEP)$(LIBRESO
11220 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  BJS)..$(LTLINK) 11230 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49$(NO_WARN) -DBUI
11240 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43  LD_sqlite -I$(TC 11250 4c 49 4e 43 44 49 52 29 20 73 71 6c 74 63 6c 73 LINCDIR) sqltcls 11260 68 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 h.c \.../link$(
11270 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 11280 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 KOPTS)$(TCLLIBP
11290 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54  ATHS) $(LTLIBPAT 112a0 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 HS)$(LIBRESOBJS
112b0 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c  ) $(TCLLIBS)$(L
112c0 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS). 112d0 0a 73 71 6c 69 74 65 33 5f 65 78 70 65 72 74 2e .sqlite3_expert. 112e0 65 78 65 3a 20 24 28 53 51 4c 49 54 45 33 43 29 exe:$(SQLITE3C)
112f0 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65   $(TOP)\ext\expe 11300 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 rt\sqlite3expert 11310 2e 68 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 .h$(TOP)\ext\ex
11320 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
11330 72 74 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  rt.c $(TOP)\ext\ 11340 65 78 70 65 72 74 5c 65 78 70 65 72 74 2e 63 0a expert\expert.c. 11350 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ 11360 57 41 52 4e 29 09 24 28 54 4f 50 29 5c 65 78 74 WARN).$(TOP)\ext
11370 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65  \expert\sqlite3e
11380 78 70 65 72 74 2e 63 20 24 28 54 4f 50 29 5c 65  xpert.c $(TOP)\e 11390 78 74 5c 65 78 70 65 72 74 5c 65 78 70 65 72 74 xt\expert\expert 113a0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $113b0 28 54 4c 49 42 53 29 0a 0a 43 48 45 43 4b 45 52 (TLIBS)..CHECKER 113c0 5f 44 45 50 53 20 3d 5c 0a 20 20 24 28 54 4f 50 _DEPS =\.$(TOP
113d0 29 2f 74 6f 6f 6c 2f 6d 6b 63 63 6f 64 65 2e 74  )/tool/mkccode.t
113e0 63 6c 20 5c 0a 20 20 73 71 6c 69 74 65 33 2e 63  cl \.  sqlite3.c
113f0 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/ 11400 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 tclsqlite.c \. 11410 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69$(TOP)/ext/repai
11420 72 2f 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  r/sqlite3_checke
11430 72 2e 74 63 6c 20 5c 0a 20 20 24 28 54 4f 50 29  r.tcl \.  $(TOP) 11440 2f 65 78 74 2f 72 65 70 61 69 72 2f 63 68 65 63 /ext/repair/chec 11450 6b 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 54 kindex.c \.$(T
11460 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 63  OP)/ext/repair/c
11470 68 65 63 6b 66 72 65 65 6c 69 73 74 2e 63 20 5c  heckfreelist.c \
11480 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69  .  $(TOP)/ext/mi 11490 73 63 2f 62 74 72 65 65 69 6e 66 6f 2e 63 20 5c sc/btreeinfo.c \ 114a0 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 .$(TOP)/ext/re
114b0 70 61 69 72 2f 73 71 6c 69 74 65 33 5f 63 68 65  pair/sqlite3_che
114c0 63 6b 65 72 2e 63 2e 69 6e 0a 0a 73 71 6c 69 74  cker.c.in..sqlit
114d0 65 33 5f 63 68 65 63 6b 65 72 2e 63 3a 09 24 28  e3_checker.c:.$( 114e0 43 48 45 43 4b 45 52 5f 44 45 50 53 29 0a 09 24 CHECKER_DEPS)..$
114f0 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO 11500 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e P)\tool\mkccode. 11510 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 tcl$(TOP)\ext\r
11520 65 70 61 69 72 5c 73 71 6c 69 74 65 33 5f 63 68  epair\sqlite3_ch
11530 65 63 6b 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a  ecker.c.in > $@. 11540 0a 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 .sqlite3_checker 11550 2e 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 63 68 .exe:.sqlite3_ch 11560 65 63 6b 65 72 2e 63 20 24 28 4c 49 42 52 45 53 ecker.c$(LIBRES
11570 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  OBJS)..$(LTLINK) 11580 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55$(NO_WARN) -DBU
11590 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54  ILD_sqlite -I$(T 115a0 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65 CLINCDIR) sqlite 115b0 33 5f 63 68 65 63 6b 65 72 2e 63 20 5c 0a 09 09 3_checker.c \... 115c0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
115d0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS)$
115e0 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28  (TCLLIBPATHS) $( 115f0 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 LTLIBPATHS)$(LI
11600 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c  BRESOBJS) $(TCLL 11610 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 IBS)$(LTLIBS) $11620 28 54 4c 49 42 53 29 0a 0a 64 62 64 75 6d 70 2e (TLIBS)..dbdump. 11630 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c exe:.$(TOP)\ext\
11640 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28  misc\dbdump.c $( 11650 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 SQLITE3C)$(SQLI
11660 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42  TE3H) $(LIBRESOB 11670 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 JS)..$(LTLINK) $11680 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 44 42 44 55 (NO_WARN) -DDBDU 11690 4d 50 5f 53 54 41 4e 44 41 4c 4f 4e 45 20 24 28 MP_STANDALONE$(
116a0 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62  TOP)\ext\misc\db
116b0 64 75 6d 70 2e 63 20 24 28 53 51 4c 49 54 45 33  dump.c $(SQLITE3 116c0 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c C) \.../link$(L
116d0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK 116e0 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 OPTS)$(LTLIBPAT
116f0 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS 11700 29 20 24 28 4c 54 4c 49 42 53 29 0a 0a 74 65 73 )$(LTLIBS)..tes
11710 74 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54  tloadext.lo:.$(T 11720 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 OP)\src\test_loa 11730 64 65 78 74 2e 63 20 24 28 53 51 4c 49 54 45 33 dext.c$(SQLITE3
11740 48 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  H)..$(LTCOMPILE) 11750 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 24$(NO_WARN) -c $11760 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c (TOP)\src\test_l 11770 6f 61 64 65 78 74 2e 63 0a 0a 74 65 73 74 6c 6f oadext.c..testlo 11780 61 64 65 78 74 2e 64 6c 6c 3a 09 74 65 73 74 6c adext.dll:.testl 11790 6f 61 64 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 oadext.lo..$(LD)
117a0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
117b0 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49  LINKOPTS) $(LTLI 117c0 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 BPATHS) /DLL /OU 117d0 54 3a 24 40 20 74 65 73 74 6c 6f 61 64 65 78 74 T:$@ testloadext
117e0 2e 6c 6f 0a 0a 73 68 6f 77 64 62 2e 65 78 65 3a  .lo..showdb.exe:
117f0 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho 11800 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 wdb.c$(SQLITE3C
11810 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
11820 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 11830 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 RN) -DSQLITE_THR 11840 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 EADSAFE=0 -DSQLI 11850 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 TE_OMIT_LOAD_EXT 11860 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 ENSION \...$(TOP
11870 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20  )\tool\showdb.c
11880 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin 11890 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L 118a0 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 TLINKOPTS)..show 118b0 73 74 61 74 34 2e 65 78 65 3a 09 24 28 54 4f 50 stat4.exe:.$(TOP
118c0 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34  )\tool\showstat4
118d0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C)$
118e0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT 118f0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
11900 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
11910 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
11920 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
11930 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  ION \...$(TOP)\t 11940 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 ool\showstat4.c 11950 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
11960 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
11970 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77  TLINKOPTS)..show
11980 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a 09 24 28 54  journal.exe:.$(T 11990 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 OP)\tool\showjou 119a0 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 rnal.c$(SQLITE3
119b0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. 119c0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W 119d0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 ARN) -DSQLITE_TH 119e0 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c READSAFE=0 -DSQL 119f0 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 ITE_OMIT_LOAD_EX 11a00 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f TENSION \...$(TO
11a10 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72  P)\tool\showjour
11a20 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43  nal.c $(SQLITE3C 11a30 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
11a40 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) 11a50 0a 0a 73 68 6f 77 77 61 6c 2e 65 78 65 3a 09 24 ..showwal.exe:.$
11a60 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77  (TOP)\tool\showw
11a70 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  al.c $(SQLITE3C) 11a80 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( 11a90 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
11aa0 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  N) -DSQLITE_THRE
11ab0 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54  ADSAFE=0 -DSQLIT
11ac0 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
11ad0 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29  NSION \...$(TOP) 11ae0 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 \tool\showwal.c 11af0 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
11b00 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
11b10 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77  TLINKOPTS)..show
11b20 73 68 6d 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  shm.exe:.$(TOP)\ 11b30 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 0a 09 tool\showshm.c.. 11b40 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W 11b50 41 52 4e 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c ARN).$(TOP)\tool
11b60 5c 73 68 6f 77 73 68 6d 2e 63 20 2f 6c 69 6e 6b  \showshm.c /link
11b70 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
11b80 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67  LINKOPTS)..chang
11b90 65 73 65 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  eset.exe:.$(TOP) 11ba0 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 \ext\session\cha 11bb0 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54 ngeset.c$(SQLIT
11bc0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) 11bd0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO 11be0 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ 11bf0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 THREADSAFE=0 -DS 11c00 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f QLITE_OMIT_LOAD_ 11c10 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44 EXTENSION \...-D 11c20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 SQLITE_ENABLE_SE 11c30 53 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 SSION=1 -DSQLITE 11c40 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 _ENABLE_PREUPDAT 11c50 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54 E_HOOK=1 \...$(T
11c60 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
11c70 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53 51  changeset.c $(SQ 11c80 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
11c90 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 11ca0 4b 4f 50 54 53 29 0a 0a 66 74 73 33 76 69 65 77 KOPTS)..fts3view 11cb0 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 .exe:.$(TOP)\ext
11cc0 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76  \fts3\tool\fts3v
11cd0 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iew.c $(SQLITE3C 11ce0 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 )$(SQLITE3H)..$11cf0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 (LTLINK)$(NO_WA
11d00 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
11d10 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
11d20 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
11d30 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP 11d40 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c )\ext\fts3\tool\ 11d50 66 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c fts3view.c$(SQL
11d60 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L 11d70 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
11d80 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b 2d  OPTS)..rollback-
11d90 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  test.exe:.$(TOP) 11da0 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 \tool\rollback-t 11db0 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 est.c$(SQLITE3C
11dc0 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
11dd0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 11de0 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 RN) -DSQLITE_THR 11df0 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 EADSAFE=0 -DSQLI 11e00 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 TE_OMIT_LOAD_EXT 11e10 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 ENSION \...$(TOP
11e20 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d  )\tool\rollback-
11e30 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3 11e40 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
11e50 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS 11e60 29 0a 0a 4c 6f 67 45 73 74 2e 65 78 65 3a 09 24 )..LogEst.exe:.$
11e70 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65 73  (TOP)\tool\loges
11e80 74 2e 63 20 24 28 53 51 4c 49 54 45 33 48 29 0a  t.c $(SQLITE3H). 11e90 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ 11ea0 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f WARN)$(TOP)\too
11eb0 6c 5c 4c 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b  l\LogEst.c /link
11ec0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
11ed0 4c 49 4e 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63  LINKOPTS)..wordc
11ee0 6f 75 6e 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  ount.exe:.$(TOP) 11ef0 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e \test\wordcount. 11f00 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 c$(SQLITE3C) $( 11f10 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c SQLITE3H)..$(LTL
11f20 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 11f30 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 -DSQLITE_THREADS 11f40 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f AFE=0 -DSQLITE_O 11f50 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 MIT_LOAD_EXTENSI 11f60 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 ON \...$(TOP)\te
11f70 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24  st\wordcount.c $11f80 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b (SQLITE3C) /link 11f90 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT 11fa0 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 70 65 65 64 LINKOPTS)..speed 11fb0 74 65 73 74 31 2e 65 78 65 3a 09 24 28 54 4f 50 test1.exe:.$(TOP
11fc0 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74  )\test\speedtest
11fd0 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  1.c $(SQLITE3C) 11fe0 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 11ff0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
12000 29 20 24 28 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f  ) $(ST_COMPILE_O 12010 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d PTS) -DSQLITE_OM 12020 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f IT_LOAD_EXTENSIO 12030 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 N \...$(TOP)\tes
12040 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 20 24  t\speedtest1.c $12050 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b (SQLITE3C) /link 12060 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT 12070 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6b 76 74 65 73 LINKOPTS)..kvtes 12080 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 t.exe:.$(TOP)\te
12090 73 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51  st\kvtest.c $(SQ 120a0 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 LITE3C)$(SQLITE
120b0 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK)$
120c0 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4b 56 5f 43  (NO_WARN) $(KV_C 120d0 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 5c 0a 09 OMPILE_OPTS) \.. 120e0 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 .$(TOP)\test\kvt
120f0 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  est.c $(SQLITE3C 12100 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
12110 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) 12120 0a 0a 72 62 75 2e 65 78 65 3a 09 24 28 54 4f 50 ..rbu.exe:.$(TOP
12130 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20  )\ext\rbu\rbu.c
12140 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73  $(TOP)\ext\rbu\s 12150 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28 53 51 qlite3rbu.c$(SQ
12160 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE 12170 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 3H)..$(LTLINK) $12180 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI 12190 54 45 5f 45 4e 41 42 4c 45 5f 52 42 55 20 5c 0a TE_ENABLE_RBU \. 121a0 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 ..$(TOP)\ext\rbu
121b0 5c 72 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33  \rbu.c $(SQLITE3 121c0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
121d0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS 121e0 29 0a 0a 4c 53 4d 44 49 52 3d 24 28 54 4f 50 29 )..LSMDIR=$(TOP)
121f0 5c 65 78 74 5c 6c 73 6d 31 0a 21 49 4e 43 4c 55  \ext\lsm1.!INCLU
12200 44 45 20 24 28 4c 53 4d 44 49 52 29 5c 4d 61 6b  DE $(LSMDIR)\Mak 12210 65 66 69 6c 65 2e 6d 73 63 0a 0a 6d 6f 72 65 63 efile.msc..morec 12220 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c lean:.clean..del 12230 20 2f 51 20 24 28 53 51 4c 49 54 45 33 43 29 20 /Q$(SQLITE3C)
12240 24 28 53 51 4c 49 54 45 33 48 29 20 32 3e 4e 55  $(SQLITE3H) 2>NU 12250 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 L.# <</mark>>..c 12260 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e lean:..del /Q *. 12270 65 78 70 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a exp *.lo *.ilk * 12280 2e 6c 69 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 .lib *.obj *.ncb 12290 20 2a 2e 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73 *.pdb *.sdf *.s 122a0 75 6f 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 uo 2>NUL..del /Q 122b0 20 2a 2e 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63 *.bsc *.def *.c 122c0 6f 64 20 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 od *.da *.bb *.b 122d0 62 67 20 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 bg *.vc gmon.out 122e0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24 2>NUL..del /Q$
122f0 28 53 51 4c 49 54 45 33 45 58 45 29 20 24 28 53  (SQLITE3EXE) $(S 12300 51 4c 49 54 45 33 44 4c 4c 29 20 52 65 70 6c 61 QLITE3DLL) Repla 12310 63 65 2e 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c ce.exe 2>NUL.# < 12320 3c 6d 61 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 <mark>>..del /Q 12330 73 71 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 sqlite3.c sqlite 12340 33 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 3.h 2>NUL..del / 12350 51 20 6f 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f Q opcodes.c opco 12360 64 65 73 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c des.h 2>NUL..del 12370 20 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 /Q lemon.* lemp 12380 61 72 2e 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e ar.c parse.* 2>N 12390 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b 73 6f 75 UL..del /Q mksou 123a0 72 63 65 69 64 2e 2a 20 6d 6b 6b 65 79 77 6f 72 rceid.* mkkeywor 123b0 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68 dhash.* keywordh 123c0 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c ash.h 2>NUL..del 123d0 20 2f 51 20 6e 6f 74 61 73 68 61 72 65 64 6c 69 /Q notasharedli 123e0 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 b.* 2>NUL..-rmdi 123f0 72 20 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e r /Q/S .deps 2>N 12400 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 UL..-rmdir /Q/S 12410 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d .libs 2>NUL..-rm 12420 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e dir /Q/S tsrc 2> 12430 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61 72 NUL..del /Q .tar 12440 67 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55 4c get_source 2>NUL 12450 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c 69 ..del /Q tclsqli 12460 74 65 33 2e 65 78 65 20 24 28 53 51 4c 49 54 45 te3.exe$(SQLITE
12470 54 43 4c 48 29 20 24 28 53 51 4c 49 54 45 54 43  TCLH) \$(SQLITETC
12480 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55 4c 0a 09  LDECLSH) 2>NUL..
12490 64 65 6c 20 2f 51 20 6c 73 6d 2e 64 6c 6c 20 6c  del /Q lsm.dll l
124a0 73 6d 74 65 73 74 2e 65 78 65 20 32 3e 4e 55 4c  smtest.exe 2>NUL
124b0 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 6c 6f 61  ..del /Q testloa
124c0 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09  dext.dll 2>NUL..
124d0 64 65 6c 20 2f 51 20 74 65 73 74 66 69 78 74 75  del /Q testfixtu
124e0 72 65 2e 65 78 65 20 74 65 73 74 2e 64 62 20 32  re.exe test.db 2
124f0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 4c 6f 67  >NUL..del /Q Log
12500 45 73 74 2e 65 78 65 20 66 74 73 33 76 69 65 77  Est.exe fts3view
12510 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b 2d 74 65  .exe rollback-te
12520 73 74 2e 65 78 65 20 73 68 6f 77 64 62 2e 65 78  st.exe showdb.ex
12530 65 20 64 62 64 75 6d 70 2e 65 78 65 20 32 3e 4e  e dbdump.exe 2>N
12540 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68 61 6e 67  UL..del /Q chang
12550 65 73 65 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  eset.exe 2>NUL..
12560 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f 75 72 6e  del /Q showjourn
12570 61 6c 2e 65 78 65 20 73 68 6f 77 73 74 61 74 34  al.exe showstat4
12580 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e 65 78 65  .exe showwal.exe
12590 20 73 70 65 65 64 74 65 73 74 31 2e 65 78 65 20   speedtest1.exe
125a0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 70  2>NUL..del /Q mp
125b0 74 65 73 74 65 72 2e 65 78 65 20 77 6f 72 64 63  tester.exe wordc
125c0 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e 65 78 65  ount.exe rbu.exe
125d0 20 73 72 63 63 6b 31 2e 65 78 65 20 32 3e 4e 55   srcck1.exe 2>NU
125e0 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
125f0 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a 2e 63 20  3.c sqlite3-*.c
12600 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
12610 6c 69 74 65 33 72 63 2e 68 20 32 3e 4e 55 4c 0a  lite3rc.h 2>NUL.
12620 09 64 65 6c 20 2f 51 20 73 68 65 6c 6c 2e 63 20  .del /Q shell.c
12630 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c  sqlite3ext.h sql
12640 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 20 32 3e  ite3session.h 2>
12650 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69  NUL..del /Q sqli
12660 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65  te3_analyzer.exe
12670 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
12680 72 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  r.c 2>NUL..del /
12690 51 20 73 71 6c 69 74 65 2d 2a 2d 6f 75 74 70 75  Q sqlite-*-outpu
126a0 74 2e 76 73 69 78 20 32 3e 4e 55 4c 0a 09 64 65  t.vsix 2>NUL..de
126b0 6c 20 2f 51 20 66 75 7a 7a 65 72 73 68 65 6c 6c  l /Q fuzzershell
126c0 2e 65 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65  .exe fuzzcheck.e
126d0 78 65 20 73 71 6c 64 69 66 66 2e 65 78 65 20 64  xe sqldiff.exe d
126e0 62 68 61 73 68 2e 65 78 65 20 32 3e 4e 55 4c 0a  bhash.exe 2>NUL.
126f0 09 64 65 6c 20 2f 51 20 73 71 6c 74 63 6c 73 68  .del /Q sqltclsh
12700 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .* 2>NUL..del /Q
12710 20 64 62 66 75 7a 7a 2e 65 78 65 20 73 65 73 73   dbfuzz.exe sess
12720 69 6f 6e 66 75 7a 7a 2e 65 78 65 20 32 3e 4e 55  ionfuzz.exe 2>NU
12730 4c 0a 09 64 65 6c 20 2f 51 20 6b 76 74 65 73 74  L..del /Q kvtest
12740 2e 65 78 65 20 6f 73 73 73 68 65 6c 6c 2e 65 78  .exe ossshell.ex
12750 65 20 73 63 72 75 62 2e 65 78 65 20 32 3e 4e 55  e scrub.exe 2>NU
12760 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 73 68  L..del /Q showsh
12770 6d 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 63 68  m.exe sqlite3_ch
12780 65 63 6b 65 72 2e 2a 20 73 71 6c 69 74 65 33 5f  ecker.* sqlite3_
12790 65 78 70 65 72 74 2e 65 78 65 20 32 3e 4e 55 4c  expert.exe 2>NUL
127a0 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 2e 2a 20  ..del /Q fts5.*
127b0 66 74 73 35 70 61 72 73 65 2e 2a 20 32 3e 4e 55  fts5parse.* 2>NU
127c0 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e 68 20  L..del /Q lsm.h
127d0 6c 73 6d 31 2e 63 20 32 3e 4e 55 4c 0a 23 20 3c  lsm1.c 2>NUL.# <
127e0 3c 2f 6d 61 72 6b 3e 3e 0a                       </mark>>.