/ Hex Artifact Content

## Artifact ab99b4a0aa33f1c0f39587be9df15c9db536acf7859828ff8c51e13eb5082874:

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 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  1 -DSQLITE_ENABL
1fe0: 45 5f 47 45 4f 50 4f 4c 59 3d 31 0a 21 45 4e 44  E_GEOPOLY=1.!END
1ff0: 49 46 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46  IF.OPT_FEATURE_F
2000: 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41  LAGS = $(OPT_FEA 2010: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 TURE_FLAGS) -DSQ 2020: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43 4f 4c 55 LITE_ENABLE_COLU 2030: 4d 4e 5f 4d 45 54 41 44 41 54 41 3d 31 0a 21 45 MN_METADATA=1.!E 2040: 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 74 NDIF..# Should t 2050: 68 65 20 73 65 73 73 69 6f 6e 20 65 78 74 65 6e he session exten 2060: 73 69 6f 6e 20 62 65 20 65 6e 61 62 6c 65 64 3f sion be enabled? 2070: 20 20 49 66 20 73 6f 2c 20 61 64 64 20 63 6f 6d If so, add com 2080: 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 pilation options 2090: 0a 23 20 74 6f 20 65 6e 61 62 6c 65 20 69 74 2e .# to enable it. 20a0: 0a 23 0a 21 49 46 20 24 28 53 45 53 53 49 4f 4e .#.!IF$(SESSION
20b0: 29 21 3d 30 0a 4f 50 54 5f 46 45 41 54 55 52 45  )!=0.OPT_FEATURE
20c0: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46  _FLAGS = $(OPT_F 20d0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 EATURE_FLAGS) -D 20e0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 SQLITE_ENABLE_SE 20f0: 53 53 49 4f 4e 3d 31 0a 4f 50 54 5f 46 45 41 54 SSION=1.OPT_FEAT 2100: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 URE_FLAGS =$(OP
2110: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2120: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2130: 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d  _PREUPDATE_HOOK=
2140: 31 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  1.!ENDIF..# Thes
2150: 65 20 61 72 65 20 74 68 65 20 22 65 78 74 65 6e  e are the "exten
2160: 64 65 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70  ded" SQLite comp
2170: 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20  ilation options
2180: 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c  used when compil
2190: 69 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69  ing for.# the Wi
21a0: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72  ndows 10 platfor
21b0: 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 45 58 54  m..#.!IFNDEF EXT
21c0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 0a 21  _FEATURE_FLAGS.!
21d0: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  IF $(FOR_WIN10)! 21e0: 3d 30 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 =0.EXT_FEATURE_F 21f0: 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 LAGS =$(EXT_FEA
2200: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
2210: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34  LITE_ENABLE_FTS4
2220: 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46  =1.EXT_FEATURE_F
2230: 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41  LAGS = $(EXT_FEA 2240: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 TURE_FLAGS) -DSQ 2250: 4c 49 54 45 5f 53 59 53 54 45 4d 5f 4d 41 4c 4c LITE_SYSTEM_MALL 2260: 4f 43 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45 OC=1.EXT_FEATURE 2270: 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 _FLAGS =$(EXT_F
2280: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
2290: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 43 41  SQLITE_OMIT_LOCA
22a0: 4c 54 49 4d 45 3d 31 0a 21 45 4c 53 45 0a 45 58  LTIME=1.!ELSE.EX
22b0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20  T_FEATURE_FLAGS
22c0: 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  =.!ENDIF.!ENDIF.
22d0: 0a 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 23 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: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
2330: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2340: 20 45 4e 44 20 4f 46 20 4f 50 54 49 4f 4e 53 20   END OF OPTIONS
2350: 23 23 23 23 23 23 23 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: 0a 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 23 23 23 23 23 23 23 23 23 23  ################
23b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
23c0: 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69  ..# When compili
23d0: 6e 67 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f  ng for the Windo
23e0: 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20  ws 10 platform,
23f0: 74 68 65 20 50 4c 41 54 46 4f 52 4d 20 6d 61 63  the PLATFORM mac
2400: 72 6f 20 6d 75 73 74 20 62 65 20 73 65 74 0a 23  ro must be set.#
2410: 20 74 6f 20 61 6e 20 61 70 70 72 6f 70 72 69 61   to an appropria
2420: 74 65 20 76 61 6c 75 65 20 28 65 2e 67 2e 20 78  te value (e.g. x
2430: 38 36 2c 20 78 36 34 2c 20 61 72 6d 2c 20 61 72  86, x64, arm, ar
2440: 6d 36 34 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46  m64, etc)..#.!IF
2450: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0 2460: 0a 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 .!IFNDEF PLATFOR 2470: 4d 0a 21 45 52 52 4f 52 20 55 73 69 6e 67 20 74 M.!ERROR Using t 2480: 68 65 20 46 4f 52 5f 57 49 4e 31 30 20 6f 70 74 he FOR_WIN10 opt 2490: 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 ion requires a v 24a0: 61 6c 75 65 20 66 6f 72 20 50 4c 41 54 46 4f 52 alue for PLATFOR 24b0: 4d 2e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 M..!ENDIF.!ENDIF 24c0: 0a 0a 23 20 54 68 69 73 20 61 73 73 75 6d 65 73 ..# This assumes 24d0: 20 74 68 61 74 20 4d 53 56 43 20 69 73 20 61 6c that MSVC is al 24e0: 77 61 79 73 20 69 6e 73 74 61 6c 6c 65 64 20 69 ways installed i 24f0: 6e 20 33 32 2d 62 69 74 20 50 72 6f 67 72 61 6d n 32-bit Program 2500: 20 46 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 Files directory 2510: 0a 23 20 61 6e 64 20 73 65 74 73 20 74 68 65 20 .# and sets the 2520: 76 61 72 69 61 62 6c 65 20 66 6f 72 20 75 73 65 variable for use 2530: 20 69 6e 20 6c 6f 63 61 74 69 6e 67 20 6f 74 68 in locating oth 2540: 65 72 20 33 32 2d 62 69 74 20 69 6e 73 74 61 6c er 32-bit instal 2550: 6c 73 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0a ls accordingly.. 2560: 23 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 #.PROGRAMFILES_X 2570: 38 36 20 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 86 =$(VCINSTALL
2580: 44 49 52 29 5c 2e 2e 5c 2e 2e 0a 50 52 4f 47 52  DIR)\..\...PROGR
2590: 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d 20 24 28  AMFILES_X86 = $( 25a0: 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 PROGRAMFILES_X86 25b0: 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 :\\=\)..# Check 25c0: 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 6e for the predefin 25d0: 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f ed command macro 25e0: 20 43 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c CC. This shoul 25f0: 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63 d point to the c 2600: 6f 6d 70 69 6c 65 72 0a 23 20 62 69 6e 61 72 79 ompiler.# binary 2610: 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 for the target 2620: 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 platform. If it 2630: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c is not defined, 2640: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 simply define i 2650: 74 20 74 6f 0a 23 20 74 68 65 20 6c 65 67 61 63 t to.# the legac 2660: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 y default value 2670: 27 63 6c 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 'cl.exe'..#.!IFN 2680: 44 45 46 20 43 43 0a 43 43 20 3d 20 63 6c 2e 65 DEF CC.CC = cl.e 2690: 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 xe.!ENDIF..# Che 26a0: 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 ck for the prede 26b0: 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 fined command ma 26c0: 63 72 6f 20 43 53 43 2e 20 20 54 68 69 73 20 73 cro CSC. This s 26d0: 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 61 hould point to a 26e0: 20 77 6f 72 6b 69 6e 67 0a 23 20 43 20 53 68 61 working.# C Sha 26f0: 72 70 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 rp compiler bina 2700: 72 79 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f ry. If it is no 2710: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c t defined, simpl 2720: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 y define it to t 2730: 68 65 0a 23 20 6c 65 67 61 63 79 20 64 65 66 61 he.# legacy defa 2740: 75 6c 74 20 76 61 6c 75 65 20 27 63 73 63 2e 65 ult value 'csc.e 2750: 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 xe'..#.!IFNDEF C 2760: 53 43 0a 43 53 43 20 3d 20 63 73 63 2e 65 78 65 SC.CSC = csc.exe 2770: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b .!ENDIF..# Check 2780: 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 for the command 2790: 20 6d 61 63 72 6f 20 4c 44 2e 20 20 54 68 69 73 macro LD. This 27a0: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f should point to 27b0: 20 74 68 65 20 6c 69 6e 6b 65 72 20 62 69 6e 61 the linker bina 27c0: 72 79 20 66 6f 72 0a 23 20 74 68 65 20 74 61 72 ry for.# the tar 27d0: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 get platform. I 27e0: 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 f it is not defi 27f0: 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 ned, simply defi 2800: 6e 65 20 69 74 20 74 6f 20 74 68 65 20 6c 65 67 ne it to the leg 2810: 61 63 79 0a 23 20 64 65 66 61 75 6c 74 20 76 61 acy.# default va 2820: 6c 75 65 20 27 6c 69 6e 6b 2e 65 78 65 27 2e 0a lue 'link.exe'.. 2830: 23 0a 21 49 46 4e 44 45 46 20 4c 44 0a 4c 44 20 #.!IFNDEF LD.LD 2840: 3d 20 6c 69 6e 6b 2e 65 78 65 0a 21 45 4e 44 49 = link.exe.!ENDI 2850: 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 F..# Check for t 2860: 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f he predefined co 2870: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 52 43 2e 20 mmand macro RC. 2880: 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 This should poi 2890: 6e 74 20 74 6f 20 74 68 65 20 72 65 73 6f 75 72 nt to the resour 28a0: 63 65 0a 23 20 63 6f 6d 70 69 6c 65 72 20 62 69 ce.# compiler bi 28b0: 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74 61 72 nary for the tar 28c0: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 get platform. I 28d0: 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 f it is not defi 28e0: 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 ned, simply defi 28f0: 6e 65 0a 23 20 69 74 20 74 6f 20 74 68 65 20 6c ne.# it to the l 2900: 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 61 egacy default va 2910: 6c 75 65 20 27 72 63 2e 65 78 65 27 2e 0a 23 0a lue 'rc.exe'..#. 2920: 21 49 46 4e 44 45 46 20 52 43 0a 52 43 20 3d 20 !IFNDEF RC.RC = 2930: 72 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 rc.exe.!ENDIF..# 2940: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 4d Check for the M 2950: 53 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 SVC runtime libr 2960: 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 ary path macro. 2970: 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 Otherwise, this 2980: 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 value will.# de 2990: 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 fault to the 'li 29a0: 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 b' directory und 29b0: 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43 erneath the MSVC 29c0: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 installation di 29d0: 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 rectory..#.!IFND 29e0: 45 46 20 43 52 54 4c 49 42 50 41 54 48 0a 43 52 EF CRTLIBPATH.CR 29f0: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43 49 TLIBPATH =$(VCI
2a00: 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21  NSTALLDIR)\lib.!
2a10: 45 4e 44 49 46 0a 0a 43 52 54 4c 49 42 50 41 54  ENDIF..CRTLIBPAT
2a20: 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48  H = $(CRTLIBPATH 2a30: 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 :\\=\)..# Check 2a40: 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 for the command 2a50: 6d 61 63 72 6f 20 4e 43 43 2e 20 20 54 68 69 73 macro NCC. This 2a60: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f should point to 2a70: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 the compiler bi 2a80: 6e 61 72 79 0a 23 20 66 6f 72 20 74 68 65 20 70 nary.# for the p 2a90: 6c 61 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 latform the comp 2aa0: 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 ilation process 2ab0: 69 73 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 is taking place 2ac0: 6f 6e 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f on. If it is no 2ad0: 74 0a 23 20 64 65 66 69 6e 65 64 2c 20 73 69 6d t.# defined, sim 2ae0: 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f ply define it to 2af0: 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 76 have the same v 2b00: 61 6c 75 65 20 61 73 20 74 68 65 20 43 43 20 6d alue as the CC m 2b10: 61 63 72 6f 2e 20 20 57 68 65 6e 0a 23 20 63 72 acro. When.# cr 2b20: 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2c 20 69 oss-compiling, i 2b30: 74 20 69 73 20 73 75 67 67 65 73 74 65 64 20 74 t is suggested t 2b40: 68 61 74 20 74 68 69 73 20 6d 61 63 72 6f 20 62 hat this macro b 2b50: 65 20 6d 6f 64 69 66 69 65 64 20 76 69 61 20 74 e modified via t 2b60: 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e he command.# lin 2b70: 65 20 28 73 69 6e 63 65 20 6e 6d 61 6b 65 20 69 e (since nmake i 2b80: 74 73 65 6c 66 20 64 6f 65 73 20 6e 6f 74 20 70 tself does not p 2b90: 72 6f 76 69 64 65 20 61 20 62 75 69 6c 74 2d 69 rovide a built-i 2ba0: 6e 20 6d 65 74 68 6f 64 20 74 6f 20 67 75 65 73 n method to gues 2bb0: 73 20 69 74 29 2e 0a 23 20 46 6f 72 20 65 78 61 s it)..# For exa 2bc0: 6d 70 6c 65 2c 20 74 6f 20 75 73 65 20 74 68 65 mple, to use the 2bd0: 20 78 38 36 20 63 6f 6d 70 69 6c 65 72 20 77 68 x86 compiler wh 2be0: 65 6e 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 en cross-compili 2bf0: 6e 67 20 66 6f 72 20 78 36 34 2c 20 61 20 63 6f ng for x64, a co 2c00: 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 73 69 6d mmand.# line sim 2c10: 69 6c 61 72 20 74 6f 20 74 68 65 20 66 6f 6c 6c ilar to the foll 2c20: 6f 77 69 6e 67 20 63 6f 75 6c 64 20 62 65 20 75 owing could be u 2c30: 73 65 64 20 28 61 6c 6c 20 6f 6e 20 6f 6e 65 20 sed (all on one 2c40: 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e line):.#.# n 2c50: 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 make /f Makefile 2c60: 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c .msc sqlite3.dll 2c70: 0a 23 20 20 20 20 20 20 20 20 20 20 20 58 43 4f .# XCO 2c80: 4d 50 49 4c 45 3d 31 20 55 53 45 5f 4e 41 54 49 MPILE=1 USE_NATI 2c90: 56 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a VE_LIBPATHS=1.#. 2ca0: 23 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c # Alternatively, 2cb0: 20 74 68 65 20 66 75 6c 6c 20 70 61 74 68 20 61 the full path a 2cc0: 6e 64 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 nd file name to 2cd0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e the compiler bin 2ce0: 61 72 79 20 66 6f 72 20 74 68 65 0a 23 20 70 6c ary for the.# pl 2cf0: 61 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 atform the compi 2d00: 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 lation process i 2d10: 73 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 6d s taking place m 2d20: 61 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20 ay be specified 2d30: 28 61 6c 6c 20 6f 6e 0a 23 20 6f 6e 65 20 6c 69 (all on.# one li 2d40: 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 ne):.#.# nma 2d50: 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d ke /f Makefile.m 2d60: 73 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 sc sqlite3.dll.# 2d70: 20 20 20 20 20 20 20 20 20 20 20 22 4e 43 43 3d "NCC= 2d80: 22 22 25 56 43 49 4e 53 54 41 4c 4c 44 49 52 25 ""%VCINSTALLDIR% 2d90: 5c 62 69 6e 5c 63 6c 2e 65 78 65 22 22 22 0a 23 \bin\cl.exe""".# 2da0: 20 20 20 20 20 20 20 20 20 20 20 55 53 45 5f 4e USE_N 2db0: 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31 ATIVE_LIBPATHS=1 2dc0: 0a 23 0a 21 49 46 44 45 46 20 4e 43 43 0a 4e 43 .#.!IFDEF NCC.NC 2dd0: 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a C =$(NCC:\\=\).
2de0: 21 45 4c 53 45 49 46 20 24 28 58 43 4f 4d 50 49  !ELSEIF $(XCOMPI 2df0: 4c 45 29 21 3d 30 0a 4e 43 43 20 3d 20 22 24 28 LE)!=0.NCC = "$(
2e00: 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 62 69  VCINSTALLDIR)\bi
2e10: 6e 5c 24 28 43 43 29 22 0a 4e 43 43 20 3d 20 24  n\$(CC)".NCC =$
2e20: 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45  (NCC:\\=\).!ELSE
2e30: 0a 4e 43 43 20 3d 20 24 28 43 43 29 0a 21 45 4e  .NCC = $(CC).!EN 2e40: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 DIF..# Check for 2e50: 20 74 68 65 20 4d 53 56 43 20 6e 61 74 69 76 65 the MSVC native 2e60: 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 runtime library 2e70: 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 path macro. Ot 2e80: 68 65 72 77 69 73 65 2c 0a 23 20 74 68 69 73 20 herwise,.# this 2e90: 76 61 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75 value will defau 2ea0: 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 lt to the 'lib' 2eb0: 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e directory undern 2ec0: 65 61 74 68 20 74 68 65 20 4d 53 56 43 0a 23 20 eath the MSVC.# 2ed0: 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 installation dir 2ee0: 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 ectory..#.!IFNDE 2ef0: 46 20 4e 43 52 54 4c 49 42 50 41 54 48 0a 4e 43 F NCRTLIBPATH.NC 2f00: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43 RTLIBPATH =$(VC
2f10: 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a  INSTALLDIR)\lib.
2f20: 21 45 4e 44 49 46 0a 0a 4e 43 52 54 4c 49 42 50  !ENDIF..NCRTLIBP
2f30: 41 54 48 20 3d 20 24 28 4e 43 52 54 4c 49 42 50  ATH = $(NCRTLIBP 2f40: 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 ATH:\\=\)..# Che 2f50: 63 6b 20 66 6f 72 20 74 68 65 20 50 6c 61 74 66 ck for the Platf 2f60: 6f 72 6d 20 53 44 4b 20 6c 69 62 72 61 72 79 20 orm SDK library 2f70: 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 path macro. Oth 2f80: 65 72 77 69 73 65 2c 20 74 68 69 73 0a 23 20 76 erwise, this.# v 2f90: 61 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75 6c alue will defaul 2fa0: 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 t to the 'lib' d 2fb0: 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 irectory underne 2fc0: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 0a ath the Windows. 2fd0: 23 20 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 # SDK installati 2fe0: 6f 6e 20 64 69 72 65 63 74 6f 72 79 20 28 74 68 on directory (th 2ff0: 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 e environment va 3000: 72 69 61 62 6c 65 20 75 73 65 64 20 61 70 70 65 riable used appe 3010: 61 72 73 0a 23 20 74 6f 20 62 65 20 61 76 61 69 ars.# to be avai 3020: 6c 61 62 6c 65 20 77 68 65 6e 20 75 73 69 6e 67 lable when using 3030: 20 56 69 73 75 61 6c 20 43 2b 2b 20 32 30 30 38 Visual C++ 2008 3040: 20 6f 72 20 6c 61 74 65 72 20 76 69 61 20 74 68 or later via th 3050: 65 0a 23 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 e.# command line 3060: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 53 44 )..#.!IFNDEF NSD 3070: 4b 4c 49 42 50 41 54 48 0a 4e 53 44 4b 4c 49 42 KLIBPATH.NSDKLIB 3080: 50 41 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 PATH =$(WINDOWS
3090: 53 44 4b 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44  SDKDIR)\lib.!END
30a0: 49 46 0a 0a 4e 53 44 4b 4c 49 42 50 41 54 48 20  IF..NSDKLIBPATH
30b0: 3d 20 24 28 4e 53 44 4b 4c 49 42 50 41 54 48 3a  = $(NSDKLIBPATH: 30c0: 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 \\=\)..# Check f 30d0: 6f 72 20 74 68 65 20 55 43 52 54 20 6c 69 62 72 or the UCRT libr 30e0: 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 ary path macro. 30f0: 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 Otherwise, this 3100: 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 value will.# de 3110: 66 61 75 6c 74 20 74 6f 20 74 68 65 20 76 65 72 fault to the ver 3120: 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 2c 20 70 sion-specific, p 3130: 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 63 latform-specific 3140: 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 'lib' directory 3150: 0a 23 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 .# underneath th 3160: 65 20 57 69 6e 64 6f 77 73 20 53 44 4b 20 69 6e e Windows SDK in 3170: 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 stallation direc 3180: 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 tory..#.!IFNDEF 3190: 55 43 52 54 4c 49 42 50 41 54 48 0a 55 43 52 54 UCRTLIBPATH.UCRT 31a0: 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44 LIBPATH =$(WIND
31b0: 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62 5c 24  OWSSDKDIR)\lib\$31c0: 28 57 49 4e 44 4f 57 53 53 44 4b 4c 49 42 56 45 (WINDOWSSDKLIBVE 31d0: 52 53 49 4f 4e 29 5c 75 63 72 74 5c 24 28 50 4c RSION)\ucrt\$(PL
31e0: 41 54 46 4f 52 4d 29 0a 21 45 4e 44 49 46 0a 0a  ATFORM).!ENDIF..
31f0: 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28  UCRTLIBPATH = $( 3200: 55 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c UCRTLIBPATH:\\=\ 3210: 29 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 )..# C compiler 3220: 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 and options for 3230: 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 use in building 3240: 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74 executables that 3250: 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 .# will run on t 3260: 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 61 74 he platform that 3270: 20 69 73 20 64 6f 69 6e 67 20 74 68 65 20 62 75 is doing the bu 3280: 69 6c 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 ild..#.!IF$(USE
3290: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 42 43  _FULLWARN)!=0.BC
32a0: 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f  C = $(NCC) -nolo 32b0: 67 6f 20 2d 57 34 20 24 28 43 43 4f 50 54 53 29 go -W4$(CCOPTS)
32c0: 20 24 28 42 43 43 4f 50 54 53 29 0a 21 45 4c 53   $(BCCOPTS).!ELS 32d0: 45 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20 2d E.BCC =$(NCC) -
32e0: 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f  nologo -W3 $(CCO 32f0: 50 54 53 29 20 24 28 42 43 43 4f 50 54 53 29 0a PTS)$(BCCOPTS).
3300: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check
3310: 69 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65  if assembly code
3320: 20 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64   listings should
3330: 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f   be generated fo
3340: 72 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63  r the source.# c
3350: 6f 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20  ode files to be
3360: 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20  compiled..#.!IF
3370: 24 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21  $(USE_LISTINGS)! 3380: 3d 30 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 =0.BCC =$(BCC)
3390: 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20  -FAcs.!ENDIF..#
33a0: 43 68 65 63 6b 20 69 66 20 74 68 65 20 6e 61 74  Check if the nat
33b0: 69 76 65 20 6c 69 62 72 61 72 79 20 70 61 74 68  ive library path
33c0: 73 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64  s should be used
33d0: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a   when compiling.
33e0: 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69  # the command li
33f0: 6e 65 20 74 6f 6f 6c 73 20 75 73 65 64 20 64 75  ne tools used du
3400: 72 69 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 61  ring the compila
3410: 74 69 6f 6e 20 70 72 6f 63 65 73 73 2e 20 20 49  tion process.  I
3420: 66 0a 23 20 73 6f 2c 20 73 65 74 20 74 68 65 20  f.# so, set the
3430: 6e 65 63 65 73 73 61 72 79 20 6d 61 63 72 6f 20  necessary macro
3440: 6e 6f 77 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  now..#.!IF $(USE 3450: 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 _NATIVE_LIBPATHS 3460: 29 21 3d 30 0a 4e 4c 54 4c 49 42 50 41 54 48 53 )!=0.NLTLIBPATHS 3470: 20 3d 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e = "/LIBPATH:$(N
3480: 43 52 54 4c 49 42 50 41 54 48 29 22 20 22 2f 4c  CRTLIBPATH)" "/L
3490: 49 42 50 41 54 48 3a 24 28 4e 53 44 4b 4c 49 42  IBPATH:$(NSDKLIB 34a0: 50 41 54 48 29 22 0a 0a 21 49 46 44 45 46 20 4e PATH)"..!IFDEF N 34b0: 55 43 52 54 4c 49 42 50 41 54 48 0a 4e 55 43 52 UCRTLIBPATH.NUCR 34c0: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 55 43 TLIBPATH =$(NUC
34d0: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  RTLIBPATH:\\=\).
34e0: 4e 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28  NLTLIBPATHS = $( 34f0: 4e 4c 54 4c 49 42 50 41 54 48 53 29 20 22 2f 4c NLTLIBPATHS) "/L 3500: 49 42 50 41 54 48 3a 24 28 4e 55 43 52 54 4c 49 IBPATH:$(NUCRTLI
3510: 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21  BPATH)".!ENDIF.!
3520: 45 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69  ENDIF..# C compi
3530: 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20  ler and options
3540: 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64  for use in build
3550: 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20  ing executables
3560: 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20  that.# will run
3570: 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c  on the target pl
3580: 61 74 66 6f 72 6d 2e 20 20 28 42 43 43 20 61 6e  atform.  (BCC an
3590: 64 20 54 43 43 20 61 72 65 20 75 73 75 61 6c 6c  d TCC are usuall
35a0: 79 20 74 68 65 0a 23 20 73 61 6d 65 20 75 6e 6c  y the.# same unl
35b0: 65 73 73 20 79 6f 75 72 20 61 72 65 20 63 72 6f  ess your are cro
35c0: 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 29 0a 23  ss-compiling.).#
35d0: 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57  .!IF $(USE_FULLW 35e0: 41 52 4e 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 ARN)!=0.TCC =$(
35f0: 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20  CC) -nologo -W4
3600: 2d 44 49 4e 43 4c 55 44 45 5f 4d 53 56 43 5f 48  -DINCLUDE_MSVC_H
3610: 3d 31 20 24 28 43 43 4f 50 54 53 29 20 24 28 54  =1 $(CCOPTS)$(T
3620: 43 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 54 43  CCOPTS).!ELSE.TC
3630: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67  C = $(CC) -nolog 3640: 6f 20 2d 57 33 20 24 28 43 43 4f 50 54 53 29 20 o -W3$(CCOPTS)
3650: 24 28 54 43 43 4f 50 54 53 29 0a 21 45 4e 44 49  $(TCCOPTS).!ENDI 3660: 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 77 61 F..# Check if wa 3670: 72 6e 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 rnings should be 3680: 20 74 72 65 61 74 65 64 20 61 73 20 65 72 72 6f treated as erro 3690: 72 73 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e rs when compilin 36a0: 67 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46 g..#.!IF$(USE_F
36b0: 41 54 41 4c 5f 57 41 52 4e 29 21 3d 30 0a 54 43  ATAL_WARN)!=0.TC
36c0: 43 20 3d 20 24 28 54 43 43 29 20 2d 57 58 0a 21  C = $(TCC) -WX.! 36d0: 45 4e 44 49 46 0a 0a 54 43 43 20 3d 20 24 28 54 ENDIF..TCC =$(T
36e0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f  CC) -DSQLITE_OS_
36f0: 57 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28 54 4f  WIN=1 -I. -I$(TO 3700: 50 29 20 2d 49 24 28 54 4f 50 29 5c 73 72 63 20 P) -I$(TOP)\src
3710: 2d 66 70 3a 70 72 65 63 69 73 65 0a 52 43 43 20  -fp:precise.RCC
3720: 3d 20 24 28 52 43 29 20 2d 44 53 51 4c 49 54 45  = $(RC) -DSQLITE 3730: 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d 49 _OS_WIN=1 -I. -I 3740: 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50 29 5c$(TOP) -I$(TOP)\ 3750: 73 72 63 20 24 28 52 43 4f 50 54 53 29 20 24 28 src$(RCOPTS) $( 3760: 52 43 43 4f 50 54 53 29 0a 0a 23 20 43 68 65 63 RCCOPTS)..# Chec 3770: 6b 20 69 66 20 77 65 20 77 61 6e 74 20 74 6f 20 k if we want to 3780: 75 73 65 20 74 68 65 20 22 73 74 64 63 61 6c 6c use the "stdcall 3790: 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e " calling conven 37a0: 74 69 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c tion when compil 37b0: 69 6e 67 2e 0a 23 20 54 68 69 73 20 69 73 20 6e ing..# This is n 37c0: 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 ot supported by 37d0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 73 20 66 6f the compilers fo 37e0: 72 20 6e 6f 6e 2d 78 38 36 20 70 6c 61 74 66 6f r non-x86 platfo 37f0: 72 6d 73 2e 20 20 49 74 20 73 68 6f 75 6c 64 0a rms. It should. 3800: 23 20 61 6c 73 6f 20 62 65 20 6e 6f 74 65 64 20 # also be noted 3810: 68 65 72 65 20 74 68 61 74 20 62 75 69 6c 64 69 here that buildi 3820: 6e 67 20 61 6e 79 20 74 61 72 67 65 74 20 77 69 ng any target wi 3830: 74 68 20 74 68 65 73 65 20 22 73 74 64 63 61 6c th these "stdcal 3840: 6c 22 20 6f 70 74 69 6f 6e 73 0a 23 20 77 69 6c l" options.# wil 3850: 6c 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 66 61 l most likely fa 3860: 69 6c 20 69 66 20 74 68 65 20 54 63 6c 20 6c 69 il if the Tcl li 3870: 62 72 61 72 79 20 69 73 20 61 6c 73 6f 20 72 65 brary is also re 3880: 71 75 69 72 65 64 2e 20 20 54 68 69 73 20 69 73 quired. This is 3890: 20 64 75 65 0a 23 20 74 6f 20 68 6f 77 20 74 68 due.# to how th 38a0: 65 20 54 63 6c 20 6c 69 62 72 61 72 79 20 66 75 e Tcl library fu 38b0: 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65 63 6c nctions are decl 38c0: 61 72 65 64 20 61 6e 64 20 65 78 70 6f 72 74 65 ared and exporte 38d0: 64 20 28 69 2e 65 2e 20 77 69 74 68 6f 75 74 0a d (i.e. without. 38e0: 23 20 61 6e 20 65 78 70 6c 69 63 69 74 20 63 61 # an explicit ca 38f0: 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e lling convention 3900: 2c 20 77 68 69 63 68 20 72 65 73 75 6c 74 73 20 , which results 3910: 69 6e 20 22 63 64 65 63 6c 22 29 2e 0a 23 0a 21 in "cdecl")..#.! 3920: 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c IF$(USE_STDCALL
3930: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI 3940: 4e 31 30 29 21 3d 30 0a 21 49 46 20 22 24 28 50 N10)!=0.!IF "$(P
3950: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22  LATFORM)"=="x86"
3960: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3970: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
3980: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
3990: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
39a0: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
39b0: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
39c0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
39d0: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53  SAPI=__stdcall.S
39e0: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS
39f0: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3a00: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3a10: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3a20: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3a30: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3a40: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3a50: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20  API=__stdcall.#
3a60: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3a70: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3a80: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3a90: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
3aa0: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
3ab0: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
3ac0: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
3ad0: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3ae0: 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45  tdcall -DINCLUDE
3af0: 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20  _SQLITE_TCL_H=1
3b00: 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d  -DSQLITE_TCLAPI=
3b10: 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72  __cdecl.# <</mar
3b20: 6b 3e 3e 0a 21 45 4c 53 45 0a 21 49 46 4e 44 45  k>>.!ELSE.!IFNDE
3b30: 46 20 50 4c 41 54 46 4f 52 4d 0a 43 4f 52 45 5f  F PLATFORM.CORE_
3b40: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a  CCONV_OPTS = -Gz
3b50: 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d   -DSQLITE_CDECL=
3b60: 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45  __cdecl -DSQLITE
3b70: 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61  _APICALL=__stdca
3b80: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c  ll -DSQLITE_CALL
3b90: 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  BACK=__stdcall -
3ba0: 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f  DSQLITE_SYSAPI=_
3bb0: 5f 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43  _stdcall.SHELL_C
3bc0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20  CONV_OPTS = -Gz
3bd0: 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f  -DSQLITE_CDECL=_
3be0: 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f  _cdecl -DSQLITE_
3bf0: 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c  APICALL=__stdcal
3c00: 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42  l -DSQLITE_CALLB
3c10: 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ACK=__stdcall -D
3c20: 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f  SQLITE_SYSAPI=__
3c30: 73 74 64 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b  stdcall.# <<mark
3c40: 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50  >>.TEST_CCONV_OP
3c50: 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54  TS = -Gz -DSQLIT
3c60: 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20  E_CDECL=__cdecl
3c70: 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c  -DSQLITE_APICALL
3c80: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3c90: 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73  ITE_CALLBACK=__s
3ca0: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3cb0: 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c  SYSAPI=__stdcall
3cc0: 20 2d 44 49 4e 43 4c 55 44 45 5f 53 51 4c 49 54   -DINCLUDE_SQLIT
3cd0: 45 5f 54 43 4c 5f 48 3d 31 20 2d 44 53 51 4c 49  E_TCL_H=1 -DSQLI
3ce0: 54 45 5f 54 43 4c 41 50 49 3d 5f 5f 63 64 65 63  TE_TCLAPI=__cdec
3cf0: 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45  l.# <</mark>>.!E
3d00: 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f  LSE.CORE_CCONV_O
3d10: 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e  PTS =.SHELL_CCON
3d20: 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72  V_OPTS =.# <<mar
3d30: 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f  k>>.TEST_CCONV_O
3d40: 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  PTS =.# <</mark>
3d50: 3e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  >.!ENDIF.!ENDIF.
3d60: 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56  !ELSE.CORE_CCONV
3d70: 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43  _OPTS =.SHELL_CC
3d80: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d  ONV_OPTS =.# <<m
3d90: 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56  ark>>.TEST_CCONV
3da0: 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72  _OPTS =.# <</mar
3db0: 6b 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  k>>.!ENDIF..# Th
3dc0: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e  ese are addition
3dd0: 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  al compiler opti
3de0: 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65  ons used for the
3df0: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23   core library..#
3e00: 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 43 4f  .!IFNDEF CORE_CO
3e10: 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24  MPILE_OPTS.!IF $3e20: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 (DYNAMIC_SHELL)! 3e30: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 =0 ||$(FOR_WIN1
3e40: 30 29 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d 50 49  0)!=0.CORE_COMPI
3e50: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45  LE_OPTS = $(CORE 3e60: 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 _CCONV_OPTS) -DS 3e70: 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c QLITE_API=__decl 3e80: 73 70 65 63 28 64 6c 6c 65 78 70 6f 72 74 29 0a spec(dllexport). 3e90: 21 45 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d 50 49 !ELSE.CORE_COMPI 3ea0: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 LE_OPTS =$(CORE
3eb0: 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e  _CCONV_OPTS).!EN
3ec0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
3ed0: 65 73 65 20 61 72 65 20 74 68 65 20 61 64 64 69  ese are the addi
3ee0: 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74  tional targets t
3ef0: 68 61 74 20 74 68 65 20 63 6f 72 65 20 6c 69 62  hat the core lib
3f00: 72 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65  rary should depe
3f10: 6e 64 20 6f 6e 0a 23 20 77 68 65 6e 20 6c 69 6e  nd on.# when lin
3f20: 6b 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20  king..#.!IFNDEF
3f30: 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a 21 49  CORE_LINK_DEP.!I
3f40: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c  F $(DYNAMIC_SHEL 3f50: 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f L)!=0.CORE_LINK_ 3f60: 44 45 50 20 3d 0a 21 45 4c 53 45 49 46 20 24 28 DEP =.!ELSEIF$(
3f70: 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20 7c 7c  FOR_WIN10)==0 ||
3f80: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"== 3f90: 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e 4b 5f "x86".CORE_LINK_ 3fa0: 44 45 50 20 3d 20 73 71 6c 69 74 65 33 2e 64 65 DEP = sqlite3.de 3fb0: 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e f.!ELSE.CORE_LIN 3fc0: 4b 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 K_DEP =.!ENDIF.! 3fd0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 ENDIF..# These a 3fe0: 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 re additional li 3ff0: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 nker options use 4000: 64 20 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c d for the core l 4010: 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 ibrary..#.!IFNDE 4020: 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 F CORE_LINK_OPTS 4030: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 .!IF$(DYNAMIC_S
4040: 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49  HELL)!=0.CORE_LI
4050: 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4c 53 45 49  NK_OPTS =.!ELSEI
4060: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d  F $(FOR_WIN10)== 4070: 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 0 || "$(PLATFORM
4080: 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c  )"=="x86".CORE_L
4090: 49 4e 4b 5f 4f 50 54 53 20 3d 20 2f 44 45 46 3a  INK_OPTS = /DEF:
40a0: 73 71 6c 69 74 65 33 2e 64 65 66 0a 21 45 4c 53  sqlite3.def.!ELS
40b0: 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53  E.CORE_LINK_OPTS
40c0: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46   =.!ENDIF.!ENDIF
40d0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
40e0: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
40f0: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66  r options used f
4100: 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  or the shell exe
4110: 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44  cutable..#.!IFND
4120: 45 46 20 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  EF SHELL_COMPILE
4130: 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41  _OPTS.!IF $(DYNA 4140: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c MIC_SHELL)!=0 || 4150: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30$(FOR_WIN10)!=0
4160: 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  .SHELL_COMPILE_O
4170: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43  PTS = $(SHELL_CC 4180: 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 ONV_OPTS) -DSQLI 4190: 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65 TE_API=__declspe 41a0: 63 28 64 6c 6c 69 6d 70 6f 72 74 29 0a 21 45 4c c(dllimport).!EL 41b0: 53 45 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 SE.SHELL_COMPILE 41c0: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f _OPTS =$(SHELL_
41d0: 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44  CCONV_OPTS).!END
41e0: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69  IF.!ENDIF..# Thi
41f0: 73 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 20  s is the source
4200: 63 6f 64 65 20 74 68 61 74 20 74 68 65 20 73 68  code that the sh
4210: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73  ell executable s
4220: 68 6f 75 6c 64 20 62 65 20 63 6f 6d 70 69 6c 65  hould be compile
4230: 64 0a 23 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e  d.# with..#.!IFN
4240: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  DEF SHELL_CORE_S
4250: 52 43 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  RC.!IF $(DYNAMIC 4260: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 _SHELL)!=0 ||$(
4270: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
4280: 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a 23  ELL_CORE_SRC =.#
4290: 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 49   <<mark>>.!ELSEI
42a0: 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41  F $(USE_AMALGAMA 42b0: 54 49 4f 4e 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 TION)==0.SHELL_C 42c0: 4f 52 45 5f 53 52 43 20 3d 0a 23 20 3c 3c 2f 6d ORE_SRC =.# <</m 42d0: 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53 48 45 4c ark>>.!ELSE.SHEL 42e0: 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 20 24 28 53 L_CORE_SRC =$(S
42f0: 51 4c 49 54 45 33 43 29 0a 21 45 4e 44 49 46 0a  QLITE3C).!ENDIF.
4300: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69  !ENDIF..# This i
4310: 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  s the core libra
4320: 72 79 20 74 68 61 74 20 74 68 65 20 73 68 65 6c  ry that the shel
4330: 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f  l executable sho
4340: 75 6c 64 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23  uld depend on..#
4350: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
4360: 4f 52 45 5f 44 45 50 0a 21 49 46 20 24 28 44 59  ORE_DEP.!IF $(DY 4370: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 NAMIC_SHELL)!=0 4380: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 ||$(FOR_WIN10)!
4390: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  =0.SHELL_CORE_DE
43a0: 50 20 3d 20 24 28 53 51 4c 49 54 45 33 44 4c 4c  P = $(SQLITE3DLL 43b0: 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4c ).# <<mark>>.!EL 43c0: 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 SEIF$(USE_AMALG
43d0: 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 45 4c  AMATION)==0.SHEL
43e0: 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 6c 69 62  L_CORE_DEP = lib
43f0: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 3c 3c  sqlite3.lib.# <<
4400: 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53 48  /mark>>.!ELSE.SH
4410: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 0a 21  ELL_CORE_DEP =.!
4420: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
4430: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 49 66 20 7a 6c  <<mark>>.# If zl
4440: 69 62 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e  ib support is en
4450: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 64  abled, add the d
4460: 65 70 65 6e 64 65 6e 63 69 65 73 20 66 6f 72 20  ependencies for
4470: 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  it..#.!IF $(USE_ 4480: 5a 4c 49 42 29 21 3d 30 20 26 26 20 24 28 42 55 ZLIB)!=0 &&$(BU
4490: 49 4c 44 5f 5a 4c 49 42 29 21 3d 30 0a 53 48 45  ILD_ZLIB)!=0.SHE
44a0: 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 7a 6c  LL_CORE_DEP = zl
44b0: 69 62 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f  ib $(SHELL_CORE_ 44c0: 44 45 50 29 0a 54 45 53 54 46 49 58 54 55 52 45 DEP).TESTFIXTURE 44d0: 5f 44 45 50 20 3d 20 7a 6c 69 62 20 24 28 54 45 _DEP = zlib$(TE
44e0: 53 54 46 49 58 54 55 52 45 5f 44 45 50 29 0a 21  STFIXTURE_DEP).!
44f0: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  ENDIF.# <</mark>
4500: 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  >..# This is the
4510: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68   core library th
4520: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  at the shell exe
4530: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c  cutable should l
4540: 69 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e  ink with..#.!IFN
4550: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  DEF SHELL_CORE_L
4560: 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  IB.!IF $(DYNAMIC 4570: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 _SHELL)!=0 ||$(
4580: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
4590: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24  ELL_CORE_LIB = $45a0: 28 53 51 4c 49 54 45 33 4c 49 42 29 0a 23 20 3c (SQLITE3LIB).# < 45b0: 3c 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 49 46 20 <mark>>.!ELSEIF 45c0: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49$(USE_AMALGAMATI
45d0: 4f 4e 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52  ON)==0.SHELL_COR
45e0: 45 5f 4c 49 42 20 3d 20 6c 69 62 73 71 6c 69 74  E_LIB = libsqlit
45f0: 65 33 2e 6c 69 62 0a 23 20 3c 3c 2f 6d 61 72 6b  e3.lib.# <</mark
4600: 3e 3e 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43  >>.!ELSE.SHELL_C
4610: 4f 52 45 5f 4c 49 42 20 3d 0a 21 45 4e 44 49 46  ORE_LIB =.!ENDIF
4620: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
4630: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20   are additional
4640: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75  linker options u
4650: 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65 6c  sed for the shel
4660: 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a  l executable..#.
4670: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 4c 49  !IFNDEF SHELL_LI
4680: 4e 4b 5f 4f 50 54 53 0a 53 48 45 4c 4c 5f 4c 49  NK_OPTS.SHELL_LI
4690: 4e 4b 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  NK_OPTS = $(SHEL 46a0: 4c 5f 43 4f 52 45 5f 4c 49 42 29 0a 21 45 4e 44 L_CORE_LIB).!END 46b0: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 61 IF..# Check if a 46c0: 73 73 65 6d 62 6c 79 20 63 6f 64 65 20 6c 69 73 ssembly code lis 46d0: 74 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20 tings should be 46e0: 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 74 68 generated for th 46f0: 65 20 73 6f 75 72 63 65 0a 23 20 63 6f 64 65 20 e source.# code 4700: 66 69 6c 65 73 20 74 6f 20 62 65 20 63 6f 6d 70 files to be comp 4710: 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 iled..#.!IF$(US
4720: 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d 30 0a 54  E_LISTINGS)!=0.T
4730: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 46 41 63  CC = $(TCC) -FAc 4740: 73 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e s.!ENDIF..# When 4750: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 6c compiling the l 4760: 69 62 72 61 72 79 20 66 6f 72 20 75 73 65 20 69 ibrary for use i 4770: 6e 20 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69 n the WinRT envi 4780: 72 6f 6e 6d 65 6e 74 2c 0a 23 20 74 68 65 20 66 ronment,.# the f 4790: 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 70 69 6c 65 ollowing compile 47a0: 2d 74 69 6d 65 20 6f 70 74 69 6f 6e 73 20 6d 75 -time options mu 47b0: 73 74 20 62 65 20 75 73 65 64 20 61 73 20 77 65 st be used as we 47c0: 6c 6c 20 74 6f 0a 23 20 64 69 73 61 62 6c 65 20 ll to.# disable 47d0: 75 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 use of Win32 API 47e0: 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 61 s that are not a 47f0: 76 61 69 6c 61 62 6c 65 20 61 6e 64 20 74 6f 20 vailable and to 4800: 65 6e 61 62 6c 65 0a 23 20 75 73 65 20 6f 66 20 enable.# use of 4810: 57 69 6e 33 32 20 41 50 49 73 20 74 68 61 74 20 Win32 APIs that 4820: 61 72 65 20 73 70 65 63 69 66 69 63 20 74 6f 20 are specific to 4830: 57 69 6e 64 6f 77 73 20 38 20 61 6e 64 2f 6f 72 Windows 8 and/or 4840: 20 57 69 6e 52 54 2e 0a 23 0a 21 49 46 20 24 28 WinRT..#.!IF$(
4850: 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a 54 43  FOR_WINRT)!=0.TC
4860: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL 4870: 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 52 ITE_OS_WINRT=1.R 4880: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 CC =$(RCC) -DSQ
4890: 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a  LITE_OS_WINRT=1.
48a0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 57  TCC = $(TCC) -DW 48b0: 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d 57 49 4e INAPI_FAMILY=WIN 48c0: 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50 50 0a 52 API_FAMILY_APP.R 48d0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 57 49 CC =$(RCC) -DWI
48e0: 4e 41 50 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41  NAPI_FAMILY=WINA
48f0: 50 49 5f 46 41 4d 49 4c 59 5f 41 50 50 0a 21 45  PI_FAMILY_APP.!E
4900: 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c  NDIF..# C compil
4910: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74  er options for t
4920: 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c  he Windows 10 pl
4930: 61 74 66 6f 72 6d 20 28 6e 65 65 64 73 20 4d 53  atform (needs MS
4940: 56 43 20 32 30 31 35 29 2e 0a 23 0a 21 49 46 20  VC 2015)..#.!IF
4950: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0. 4960: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2f 64 32 TCC =$(TCC) /d2
4970: 67 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49  guard4 -D_ARM_WI
4980: 4e 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44  NAPI_PARTITION_D
4990: 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c  ESKTOP_SDK_AVAIL
49a0: 41 42 4c 45 0a 42 43 43 20 3d 20 24 28 42 43 43  ABLE.BCC = $(BCC 49b0: 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41 ) /d2guard4 -D_A 49c0: 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54 RM_WINAPI_PARTIT 49d0: 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f ION_DESKTOP_SDK_ 49e0: 41 56 41 49 4c 41 42 4c 45 0a 21 45 4e 44 49 46 AVAILABLE.!ENDIF 49f0: 0a 0a 23 20 41 6c 73 6f 2c 20 77 65 20 6e 65 65 ..# Also, we nee 4a00: 64 20 74 6f 20 64 79 6e 61 6d 69 63 61 6c 6c 79 d to dynamically 4a10: 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 63 6f 72 link to the cor 4a20: 72 65 63 74 20 4d 53 56 43 20 72 75 6e 74 69 6d rect MSVC runtim 4a30: 65 0a 23 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 e.# when compili 4a40: 6e 67 20 66 6f 72 20 57 69 6e 52 54 20 28 65 2e ng for WinRT (e. 4a50: 67 2e 20 64 65 62 75 67 20 6f 72 20 72 65 6c 65 g. debug or rele 4a60: 61 73 65 29 20 4f 52 20 69 66 20 74 68 65 0a 23 ase) OR if the.# 4a70: 20 55 53 45 5f 43 52 54 5f 44 4c 4c 20 6f 70 74 USE_CRT_DLL opt 4a80: 69 6f 6e 20 69 73 20 73 65 74 20 74 6f 20 66 6f ion is set to fo 4a90: 72 63 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 rce dynamically 4aa0: 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68 65 0a 23 linking to the.# 4ab0: 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 MSVC runtime li 4ac0: 62 72 61 72 79 2e 0a 23 0a 21 49 46 20 24 28 46 brary..#.!IF$(F
4ad0: 4f 52 5f 57 49 4e 52 54 29 21 3d 30 20 7c 7c 20  OR_WINRT)!=0 ||
4ae0: 24 28 55 53 45 5f 43 52 54 5f 44 4c 4c 29 21 3d  $(USE_CRT_DLL)!= 4af0: 30 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0.!IF$(DEBUG)>1
4b00: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d  .TCC = $(TCC) -M 4b10: 44 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 Dd.BCC =$(BCC)
4b20: 2d 4d 44 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d  -MDd.!ELSE.TCC =
4b30: 20 24 28 54 43 43 29 20 2d 4d 44 0a 42 43 43 20   $(TCC) -MD.BCC 4b40: 3d 20 24 28 42 43 43 29 20 2d 4d 44 0a 21 45 4e =$(BCC) -MD.!EN
4b50: 44 49 46 0a 21 45 4c 53 45 0a 21 49 46 20 24 28  DIF.!ELSE.!IF $( 4b60: 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 DEBUG)>1.TCC =$
4b70: 28 54 43 43 29 20 2d 4d 54 64 0a 42 43 43 20 3d  (TCC) -MTd.BCC =
4b80: 20 24 28 42 43 43 29 20 2d 4d 54 64 0a 21 45 4c   $(BCC) -MTd.!EL 4b90: 53 45 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 SE.TCC =$(TCC)
4ba0: 2d 4d 54 0a 42 43 43 20 3d 20 24 28 42 43 43 29  -MT.BCC = $(BCC) 4bb0: 20 2d 4d 54 0a 21 45 4e 44 49 46 0a 21 45 4e 44 -MT.!ENDIF.!END 4bc0: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 IF..# <<mark>>.# 4bd0: 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 63 2e The mksqlite3c. 4be0: 74 63 6c 20 61 6e 64 20 6d 6b 73 71 6c 69 74 65 tcl and mksqlite 4bf0: 33 68 2e 74 63 6c 20 73 63 72 69 70 74 73 20 77 3h.tcl scripts w 4c00: 69 6c 6c 20 70 75 6c 6c 20 69 6e 0a 23 20 61 6e ill pull in.# an 4c10: 79 20 65 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 y extension head 4c20: 65 72 20 66 69 6c 65 73 20 62 79 20 64 65 66 61 er files by defa 4c30: 75 6c 74 2e 20 20 46 6f 72 20 6e 6f 6e 2d 61 6d ult. For non-am 4c40: 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 20 62 75 69 algamation.# bui 4c50: 6c 64 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 lds, we need to 4c60: 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 63 6f make sure the co 4c70: 6d 70 69 6c 65 72 20 63 61 6e 20 66 69 6e 64 20 mpiler can find 4c80: 74 68 65 73 65 2e 0a 23 0a 21 49 46 20 24 28 55 these..#.!IF$(U
4c90: 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29  SE_AMALGAMATION)
4ca0: 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ==0.TCC = $(TCC) 4cb0: 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -I$(TOP)\ext\ft
4cc0: 73 33 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  s3.RCC = $(RCC) 4cd0: 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 -I$(TOP)\ext\fts
4ce0: 33 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  3.TCC = $(TCC) - 4cf0: 49 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 I$(TOP)\ext\rtre
4d00: 65 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  e.RCC = $(RCC) - 4d10: 49 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 I$(TOP)\ext\rtre
4d20: 65 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  e.TCC = $(TCC) - 4d30: 49 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 I$(TOP)\ext\sess
4d40: 69 6f 6e 0a 52 43 43 20 3d 20 24 28 52 43 43 29  ion.RCC = $(RCC) 4d50: 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 -I$(TOP)\ext\se
4d60: 73 73 69 6f 6e 0a 21 45 4e 44 49 46 0a 0a 23 20  ssion.!ENDIF..#
4d70: 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74  The mksqlite3c.t
4d80: 63 6c 20 73 63 72 69 70 74 20 61 63 63 65 70 74  cl script accept
4d90: 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f  s some options o
4da0: 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20  n the command.#
4db0: 6c 69 6e 65 2e 20 20 57 68 65 6e 20 63 6f 6d 70  line.  When comp
4dc0: 69 6c 69 6e 67 20 77 69 74 68 20 64 65 62 75 67  iling with debug
4dd0: 67 69 6e 67 20 65 6e 61 62 6c 65 64 2c 20 73 6f  ging enabled, so
4de0: 6d 65 20 6f 66 20 74 68 65 73 65 0a 23 20 6f 70  me of these.# op
4df0: 74 69 6f 6e 73 20 61 72 65 20 6e 65 63 65 73 73  tions are necess
4e00: 61 72 79 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  ary in order to
4e10: 61 6c 6c 6f 77 20 64 65 62 75 67 67 69 6e 67 20  allow debugging
4e20: 73 79 6d 62 6f 6c 73 20 74 6f 0a 23 20 77 6f 72  symbols to.# wor
4e30: 6b 20 63 6f 72 72 65 63 74 6c 79 20 77 69 74 68  k correctly with
4e40: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 77   Visual Studio w
4e50: 68 65 6e 20 75 73 69 6e 67 20 74 68 65 20 61 6d  hen using the am
4e60: 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 21 49  algamation..#.!I
4e70: 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 43  FNDEF MKSQLITE3C
4e80: 5f 54 4f 4f 4c 0a 21 49 46 20 24 28 4d 49 4e 49  _TOOL.!IF $(MINI 4e90: 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e MAL_AMALGAMATION 4ea0: 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f )!=0.MKSQLITE3C_ 4eb0: 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f TOOL =$(TOP)\to
4ec0: 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2d 6e 6f  ol\mksqlite3c-no
4ed0: 65 78 74 2e 74 63 6c 0a 21 45 4c 53 45 0a 4d 4b  ext.tcl.!ELSE.MK
4ee0: 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20  SQLITE3C_TOOL =
4ef0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71  $(TOP)\tool\mksq 4f00: 6c 69 74 65 33 63 2e 74 63 6c 0a 21 45 4e 44 49 lite3c.tcl.!ENDI 4f10: 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 F.!ENDIF..!IFNDE 4f20: 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 F MKSQLITE3C_ARG 4f30: 53 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 S.!IF$(DEBUG)>1
4f40: 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53  .MKSQLITE3C_ARGS
4f50: 20 3d 20 2d 2d 6c 69 6e 65 6d 61 63 72 6f 73 0a   = --linemacros.
4f60: 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43  !ELSE.MKSQLITE3C
4f70: 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  _ARGS =.!ENDIF.!
4f80: 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c  IF $(USE_STDCALL 4f90: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 )!=0 ||$(FOR_WI
4fa0: 4e 31 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45  N10)!=0.MKSQLITE
4fb0: 33 43 5f 41 52 47 53 20 3d 20 24 28 4d 4b 53 51  3C_ARGS = $(MKSQ 4fc0: 4c 49 54 45 33 43 5f 41 52 47 53 29 20 2d 2d 75 LITE3C_ARGS) --u 4fd0: 73 65 61 70 69 63 61 6c 6c 0a 21 45 4e 44 49 46 seapicall.!ENDIF 4fe0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6d .!ENDIF..# The m 4ff0: 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 ksqlite3h.tcl sc 5000: 72 69 70 74 20 61 63 63 65 70 74 73 20 73 6f 6d ript accepts som 5010: 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68 65 e options on the 5020: 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 23 command line..# 5030: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 When compiling 5040: 77 69 74 68 20 73 74 64 63 61 6c 6c 20 73 75 70 with stdcall sup 5050: 70 6f 72 74 2c 20 73 6f 6d 65 20 6f 66 20 74 68 port, some of th 5060: 65 73 65 20 6f 70 74 69 6f 6e 73 20 61 72 65 0a ese options are. 5070: 23 20 6e 65 63 65 73 73 61 72 79 2e 0a 23 0a 21 # necessary..#.! 5080: 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 IFNDEF MKSQLITE3 5090: 48 5f 41 52 47 53 0a 21 49 46 20 24 28 55 53 45 H_ARGS.!IF$(USE
50a0: 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20  _STDCALL)!=0 ||
50b0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0. 50c0: 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53 20 MKSQLITE3H_ARGS 50d0: 3d 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21 = --useapicall.! 50e0: 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 48 5f ELSE.MKSQLITE3H_ 50f0: 41 52 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 ARGS =.!ENDIF.!E 5100: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e NDIF.# <</mark>> 5110: 0a 0a 23 20 44 65 66 69 6e 65 20 2d 44 4e 44 45 ..# Define -DNDE 5120: 42 55 47 20 74 6f 20 63 6f 6d 70 69 6c 65 20 77 BUG to compile w 5130: 69 74 68 6f 75 74 20 64 65 62 75 67 67 69 6e 67 ithout debugging 5140: 20 28 69 2e 65 2e 2c 20 66 6f 72 20 70 72 6f 64 (i.e., for prod 5150: 75 63 74 69 6f 6e 20 75 73 61 67 65 29 0a 23 20 uction usage).# 5160: 4f 6d 69 74 74 69 6e 67 20 74 68 65 20 64 65 66 Omitting the def 5170: 69 6e 65 20 77 69 6c 6c 20 63 61 75 73 65 20 65 ine will cause e 5180: 78 74 72 61 20 64 65 62 75 67 67 69 6e 67 20 63 xtra debugging c 5190: 6f 64 65 20 74 6f 20 62 65 20 69 6e 73 65 72 74 ode to be insert 51a0: 65 64 20 61 6e 64 0a 23 20 69 6e 63 6c 75 64 65 ed and.# include 51b0: 73 20 65 78 74 72 61 20 63 6f 6d 6d 65 6e 74 73 s extra comments 51c0: 20 77 68 65 6e 20 22 45 58 50 4c 41 49 4e 20 73 when "EXPLAIN s 51d0: 74 6d 74 22 20 69 73 20 75 73 65 64 2e 0a 23 0a tmt" is used..#. 51e0: 21 49 46 20 24 28 44 45 42 55 47 29 3d 3d 30 0a !IF$(DEBUG)==0.
51f0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 4e  TCC = $(TCC) -DN 5200: 44 45 42 55 47 0a 42 43 43 20 3d 20 24 28 42 43 DEBUG.BCC =$(BC
5210: 43 29 20 2d 44 4e 44 45 42 55 47 0a 52 43 43 20  C) -DNDEBUG.RCC
5220: 3d 20 24 28 52 43 43 29 20 2d 44 4e 44 45 42 55  = $(RCC) -DNDEBU 5230: 47 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 G.!ENDIF..!IF$(
5240: 44 45 42 55 47 29 3e 30 20 7c 7c 20 24 28 41 50  DEBUG)>0 || $(AP 5250: 49 5f 41 52 4d 4f 52 29 21 3d 30 20 7c 7c 20 24 I_ARMOR)!=0 ||$
5260: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54  (FOR_WIN10)!=0.T
5270: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ 5280: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f LITE_ENABLE_API_ 5290: 41 52 4d 4f 52 3d 31 0a 52 43 43 20 3d 20 24 28 ARMOR=1.RCC =$(
52a0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  RCC) -DSQLITE_EN
52b0: 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31  ABLE_API_ARMOR=1
52c0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D 52d0: 45 42 55 47 29 3e 32 0a 54 43 43 20 3d 20 24 28 EBUG)>2.TCC =$(
52e0: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 44 45  TCC) -DSQLITE_DE
52f0: 42 55 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  BUG=1.RCC = $(RC 5300: 43 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 C) -DSQLITE_DEBU 5310: 47 3d 31 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 G=1.!IF$(DYNAMI
5320: 43 5f 53 48 45 4c 4c 29 3d 3d 30 0a 54 43 43 20  C_SHELL)==0.TCC
5330: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT 5340: 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52 45 54 52 E_ENABLE_WHERETR 5350: 41 43 45 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 ACE -DSQLITE_ENA 5360: 42 4c 45 5f 53 45 4c 45 43 54 54 52 41 43 45 0a BLE_SELECTTRACE. 5370: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 RCC =$(RCC) -DS
5380: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 48 45  QLITE_ENABLE_WHE
5390: 52 45 54 52 41 43 45 20 2d 44 53 51 4c 49 54 45  RETRACE -DSQLITE
53a0: 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 54 52  _ENABLE_SELECTTR
53b0: 41 43 45 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  ACE.!ENDIF.!ENDI
53c0: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  F..!IF $(DEBUG)> 53d0: 34 20 7c 7c 20 24 28 4f 53 54 52 41 43 45 29 21 4 ||$(OSTRACE)!
53e0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 53f0: 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f -DSQLITE_FORCE_O 5400: 53 5f 54 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 S_TRACE=1 -DSQLI 5410: 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 TE_DEBUG_OS_TRAC 5420: 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 E=1.RCC =$(RCC)
5430: 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43 45 5f   -DSQLITE_FORCE_
5440: 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 53 51 4c  OS_TRACE=1 -DSQL
5450: 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52 41  ITE_DEBUG_OS_TRA
5460: 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49 46  CE=1.!ENDIF..!IF
5470: 20 24 28 44 45 42 55 47 29 3e 35 0a 54 43 43 20   $(DEBUG)>5.TCC 5480: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 =$(TCC) -DSQLIT
5490: 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45  E_ENABLE_IOTRACE
54a0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 54b0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 54c0: 49 4f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 IOTRACE=1.!ENDIF 54d0: 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e ..# Prevent warn 54e0: 69 6e 67 73 20 61 62 6f 75 74 20 22 69 6e 73 65 ings about "inse 54f0: 63 75 72 65 22 20 4d 53 56 43 20 72 75 6e 74 69 cure" MSVC runti 5500: 6d 65 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 me library funct 5510: 69 6f 6e 73 0a 23 20 62 65 69 6e 67 20 75 73 65 ions.# being use 5520: 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 d..#.TCC =$(TCC
5530: 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  ) -D_CRT_SECURE_
5540: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
5550: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41  CRT_SECURE_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 53 45 43 55 52 CC) -D_CRT_SECUR 5580: 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d E_NO_DEPRECATE - 5590: 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f D_CRT_SECURE_NO_ 55a0: 57 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d 20 24 WARNINGS.RCC =$
55b0: 28 52 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43  (RCC) -D_CRT_SEC
55c0: 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45  URE_NO_DEPRECATE
55d0: 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e   -D_CRT_SECURE_N
55e0: 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23 20 50 72  O_WARNINGS..# Pr
55f0: 65 76 65 6e 74 20 77 61 72 6e 69 6e 67 73 20 61  event warnings a
5600: 62 6f 75 74 20 22 64 65 70 72 65 63 61 74 65 64  bout "deprecated
5610: 22 20 50 4f 53 49 58 20 66 75 6e 63 74 69 6f 6e  " POSIX function
5620: 73 20 62 65 69 6e 67 20 75 73 65 64 2e 0a 23 0a  s being used..#.
5630: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 5f  TCC = $(TCC) -D_ 5640: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 CRT_NONSTDC_NO_D 5650: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f EPRECATE -D_CRT_ 5660: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 NONSTDC_NO_WARNI 5670: 4e 47 53 0a 42 43 43 20 3d 20 24 28 42 43 43 29 NGS.BCC =$(BCC)
5680: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f   -D_CRT_NONSTDC_
5690: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
56a0: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57  CRT_NONSTDC_NO_W
56b0: 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d 20 24 28  ARNINGS.RCC = $( 56c0: 52 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 RCC) -D_CRT_NONS 56d0: 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 TDC_NO_DEPRECATE 56e0: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f -D_CRT_NONSTDC_ 56f0: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23 20 55 NO_WARNINGS..# U 5700: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 se the SQLite de 5710: 62 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 bugging heap sub 5720: 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20 24 28 system?.#.!IF$(
5730: 4d 45 4d 44 45 42 55 47 29 21 3d 30 0a 54 43 43  MEMDEBUG)!=0.TCC
5740: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI 5750: 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31 0a 52 43 TE_MEMDEBUG=1.RC 5760: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c C =$(RCC) -DSQL
5770: 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31 0a 0a  ITE_MEMDEBUG=1..
5780: 23 20 55 73 65 20 6e 61 74 69 76 65 20 57 69 6e  # Use native Win
5790: 33 32 20 68 65 61 70 20 73 75 62 73 79 73 74 65  32 heap subsyste
57a0: 6d 20 69 6e 73 74 65 61 64 20 6f 66 20 6d 61 6c  m instead of mal
57b0: 6c 6f 63 2f 66 72 65 65 3f 0a 23 0a 21 45 4c 53  loc/free?.#.!ELS
57c0: 45 49 46 20 24 28 57 49 4e 33 32 48 45 41 50 29  EIF $(WIN32HEAP) 57d0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 !=0.TCC =$(TCC)
57e0: 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f   -DSQLITE_WIN32_
57f0: 4d 41 4c 4c 4f 43 3d 31 0a 52 43 43 20 3d 20 24  MALLOC=1.RCC = $5800: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 (RCC) -DSQLITE_W 5810: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23 IN32_MALLOC=1..# 5820: 20 56 61 6c 69 64 61 74 65 20 74 68 65 20 68 65 Validate the he 5830: 61 70 20 6f 6e 20 65 76 65 72 79 20 63 61 6c 6c ap on every call 5840: 20 69 6e 74 6f 20 74 68 65 20 6e 61 74 69 76 65 into the native 5850: 20 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73 Win32 heap subs 5860: 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20 24 28 44 ystem?.#.!IF$(D
5870: 45 42 55 47 29 3e 33 0a 54 43 43 20 3d 20 24 28  EBUG)>3.TCC = $( 5880: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 TCC) -DSQLITE_WI 5890: 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 N32_MALLOC_VALID 58a0: 41 54 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 ATE=1.RCC =$(RC
58b0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33  C) -DSQLITE_WIN3
58c0: 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54  2_MALLOC_VALIDAT
58d0: 45 3d 31 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  E=1.!ENDIF.!ENDI
58e0: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.#
58f0: 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66  The locations of
5900: 20 74 68 65 20 54 63 6c 20 68 65 61 64 65 72 20   the Tcl header
5910: 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65  and library file
5920: 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65 20 6c 69  s.  Also, the li
5930: 62 72 61 72 79 20 74 68 61 74 0a 23 20 6e 6f 6e  brary that.# non
5940: 2d 73 74 75 62 73 20 65 6e 61 62 6c 65 64 20 70  -stubs enabled p
5950: 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 54 63  rograms using Tc
5960: 6c 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69  l must link agai
5970: 6e 73 74 2e 20 20 54 68 65 73 65 20 76 61 72 69  nst.  These vari
5980: 61 62 6c 65 73 0a 23 20 28 54 43 4c 49 4e 43 44  ables.# (TCLINCD
5990: 49 52 2c 20 54 43 4c 4c 49 42 44 49 52 2c 20 61  IR, TCLLIBDIR, a
59a0: 6e 64 20 4c 49 42 54 43 4c 29 20 6d 61 79 20 62  nd LIBTCL) may b
59b0: 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61  e overridden via
59c0: 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74   the environment
59d0: 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e  .# prior to runn
59e0: 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64  ing nmake in ord
59f0: 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20  er to match the
5a00: 61 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64  actual installed
5a10: 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 0a 23 20   location and.#
5a20: 76 65 72 73 69 6f 6e 20 6f 6e 20 74 68 69 73 20  version on this
5a30: 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44  machine..#.!IFND
5a40: 45 46 20 54 43 4c 44 49 52 0a 54 43 4c 44 49 52  EF TCLDIR.TCLDIR
5a50: 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74   = $(TOP)\compat 5a60: 5c 74 63 6c 0a 21 45 4e 44 49 46 0a 0a 21 49 46 \tcl.!ENDIF..!IF 5a70: 4e 44 45 46 20 54 43 4c 49 4e 43 44 49 52 0a 54 NDEF TCLINCDIR.T 5a80: 43 4c 49 4e 43 44 49 52 20 3d 20 24 28 54 43 4c CLINCDIR =$(TCL
5a90: 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a 21 45 4e  DIR)\include.!EN
5aa0: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c  DIF..!IFNDEF TCL
5ab0: 4c 49 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 52  LIBDIR.TCLLIBDIR
5ac0: 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 6c 69 62   = $(TCLDIR)\lib 5ad0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 .!ENDIF..!IFNDEF 5ae0: 20 4c 49 42 54 43 4c 0a 4c 49 42 54 43 4c 20 3d LIBTCL.LIBTCL = 5af0: 20 74 63 6c 38 36 2e 6c 69 62 0a 21 45 4e 44 49 tcl86.lib.!ENDI 5b00: 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43 F..!IFNDEF LIBTC 5b10: 4c 53 54 55 42 0a 4c 49 42 54 43 4c 53 54 55 42 LSTUB.LIBTCLSTUB 5b20: 20 3d 20 74 63 6c 73 74 75 62 38 36 2e 6c 69 62 = tclstub86.lib 5b30: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 .!ENDIF..!IFNDEF 5b40: 20 4c 49 42 54 43 4c 50 41 54 48 0a 4c 49 42 54 LIBTCLPATH.LIBT 5b50: 43 4c 50 41 54 48 20 3d 20 24 28 54 43 4c 44 49 CLPATH =$(TCLDI
5b60: 52 29 5c 62 69 6e 0a 21 45 4e 44 49 46 0a 0a 23  R)\bin.!ENDIF..#
5b70: 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f   The locations o
5b80: 66 20 74 68 65 20 7a 6c 69 62 20 68 65 61 64 65  f the zlib heade
5b90: 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69  r and library fi
5ba0: 6c 65 73 2e 20 20 54 68 65 73 65 20 76 61 72 69  les.  These vari
5bb0: 61 62 6c 65 73 0a 23 20 28 5a 4c 49 42 49 4e 43  ables.# (ZLIBINC
5bc0: 44 49 52 2c 20 5a 4c 49 42 4c 49 42 44 49 52 2c  DIR, ZLIBLIBDIR,
5bd0: 20 61 6e 64 20 5a 4c 49 42 4c 49 42 29 20 6d 61   and ZLIBLIB) ma
5be0: 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20  y be overridden
5bf0: 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d  via the environm
5c00: 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72  ent.# prior to r
5c10: 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20  unning nmake in
5c20: 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74  order to match t
5c30: 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c  he actual instal
5c40: 6c 65 64 20 28 6f 72 20 73 6f 75 72 63 65 0a 23  led (or source.#
5c50: 20 63 6f 64 65 29 20 6c 6f 63 61 74 69 6f 6e 20   code) location
5c60: 6f 6e 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e  on this machine.
5c70: 0a 23 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 44  .#.!IFNDEF ZLIBD
5c80: 49 52 0a 5a 4c 49 42 44 49 52 20 3d 20 24 28 54  IR.ZLIBDIR = $(T 5c90: 4f 50 29 5c 63 6f 6d 70 61 74 5c 7a 6c 69 62 0a OP)\compat\zlib. 5ca0: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 !ENDIF..!IFNDEF 5cb0: 5a 4c 49 42 49 4e 43 44 49 52 0a 5a 4c 49 42 49 ZLIBINCDIR.ZLIBI 5cc0: 4e 43 44 49 52 20 3d 20 24 28 5a 4c 49 42 44 49 NCDIR =$(ZLIBDI
5cd0: 52 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  R).!ENDIF..!IFND
5ce0: 45 46 20 5a 4c 49 42 4c 49 42 44 49 52 0a 5a 4c  EF ZLIBLIBDIR.ZL
5cf0: 49 42 4c 49 42 44 49 52 20 3d 20 24 28 5a 4c 49  IBLIBDIR = $(ZLI 5d00: 42 44 49 52 29 0a 21 45 4e 44 49 46 0a 0a 21 49 BDIR).!ENDIF..!I 5d10: 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42 0a 21 49 FNDEF ZLIBLIB.!I 5d20: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c F$(DYNAMIC_SHEL
5d30: 4c 29 21 3d 30 0a 5a 4c 49 42 4c 49 42 20 3d 20  L)!=0.ZLIBLIB =
5d40: 7a 64 6c 6c 2e 6c 69 62 0a 21 45 4c 53 45 0a 5a  zdll.lib.!ELSE.Z
5d50: 4c 49 42 4c 49 42 20 3d 20 7a 6c 69 62 2e 6c 69  LIBLIB = zlib.li
5d60: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  b.!ENDIF.!ENDIF.
5d70: 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73  .# The locations
5d80: 20 6f 66 20 74 68 65 20 49 43 55 20 68 65 61 64   of the ICU head
5d90: 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66  er and library f
5da0: 69 6c 65 73 2e 20 20 54 68 65 73 65 20 76 61 72  iles.  These var
5db0: 69 61 62 6c 65 73 0a 23 20 28 49 43 55 49 4e 43  iables.# (ICUINC
5dc0: 44 49 52 2c 20 49 43 55 4c 49 42 44 49 52 2c 20  DIR, ICULIBDIR,
5dd0: 61 6e 64 20 4c 49 42 49 43 55 29 20 6d 61 79 20  and LIBICU) may
5de0: 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69  be overridden vi
5df0: 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e  a the environmen
5e00: 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e  t.# prior to run
5e10: 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72  ning nmake in or
5e20: 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65  der to match the
5e30: 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65   actual installe
5e40: 64 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e 0a 23 20  d location on.#
5e50: 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a  this machine..#.
5e60: 21 49 46 4e 44 45 46 20 49 43 55 44 49 52 0a 49  !IFNDEF ICUDIR.I
5e70: 43 55 44 49 52 20 3d 20 24 28 54 4f 50 29 5c 63  CUDIR = $(TOP)\c 5e80: 6f 6d 70 61 74 5c 69 63 75 0a 21 45 4e 44 49 46 ompat\icu.!ENDIF 5e90: 0a 0a 21 49 46 4e 44 45 46 20 49 43 55 49 4e 43 ..!IFNDEF ICUINC 5ea0: 44 49 52 0a 49 43 55 49 4e 43 44 49 52 20 3d 20 DIR.ICUINCDIR = 5eb0: 24 28 49 43 55 44 49 52 29 5c 69 6e 63 6c 75 64$(ICUDIR)\includ
5ec0: 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45  e.!ENDIF..!IFNDE
5ed0: 46 20 49 43 55 4c 49 42 44 49 52 0a 49 43 55 4c  F ICULIBDIR.ICUL
5ee0: 49 42 44 49 52 20 3d 20 24 28 49 43 55 44 49 52  IBDIR = $(ICUDIR 5ef0: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 )\lib.!ENDIF..!I 5f00: 46 4e 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 42 FNDEF LIBICU.LIB 5f10: 49 43 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 20 ICU = icuuc.lib 5f20: 69 63 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 icuin.lib.!ENDIF 5f30: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 ..# This is the 5f40: 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 66 command to use f 5f50: 6f 72 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 or tclsh - norma 5f60: 6c 6c 79 20 6a 75 73 74 20 22 74 63 6c 73 68 22 lly just "tclsh" 5f70: 2c 20 62 75 74 20 77 65 20 6d 61 79 0a 23 20 6b , but we may.# k 5f80: 6e 6f 77 20 74 68 65 20 73 70 65 63 69 66 69 63 now the specific 5f90: 20 76 65 72 73 69 6f 6e 20 77 65 20 77 61 6e 74 version we want 5fa0: 20 74 6f 20 75 73 65 2e 20 20 54 68 69 73 20 76 to use. This v 5fb0: 61 72 69 61 62 6c 65 20 28 54 43 4c 53 48 5f 43 ariable (TCLSH_C 5fc0: 4d 44 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 65 MD) may be.# ove 5fd0: 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 rridden via the 5fe0: 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 6f environment prio 5ff0: 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 r to running nma 6000: 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 ke in order to s 6010: 65 6c 65 63 74 20 61 0a 23 20 73 70 65 63 69 66 elect a.# specif 6020: 69 63 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f 20 ic Tcl shell to 6030: 75 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54 use..#.!IFNDEF T 6040: 43 4c 53 48 5f 43 4d 44 0a 21 49 46 20 24 28 55 CLSH_CMD.!IF$(U
6050: 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50 41 54 48  SE_TCLSH_IN_PATH
6060: 29 21 3d 30 20 7c 7c 20 21 45 58 49 53 54 28 22  )!=0 || !EXIST("
6070: 24 28 54 43 4c 44 49 52 29 5c 62 69 6e 5c 74 63  $(TCLDIR)\bin\tc 6080: 6c 73 68 2e 65 78 65 22 29 0a 54 43 4c 53 48 5f lsh.exe").TCLSH_ 6090: 43 4d 44 20 3d 20 74 63 6c 73 68 0a 21 45 4c 53 CMD = tclsh.!ELS 60a0: 45 0a 54 43 4c 53 48 5f 43 4d 44 20 3d 20 24 28 E.TCLSH_CMD =$(
60b0: 54 43 4c 44 49 52 29 5c 62 69 6e 5c 74 63 6c 73  TCLDIR)\bin\tcls
60c0: 68 2e 65 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e  h.exe.!ENDIF.!EN
60d0: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
60e0: 0a 23 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69  .# Compiler opti
60f0: 6f 6e 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70  ons needed for p
6100: 72 6f 67 72 61 6d 73 20 74 68 61 74 20 75 73 65  rograms that use
6110: 20 74 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20   the readline()
6120: 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44  library..#.!IFND
6130: 45 46 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47  EF READLINE_FLAG
6140: 53 0a 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53  S.READLINE_FLAGS
6150: 20 3d 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49   = -DHAVE_READLI
6160: 4e 45 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NE=0.!ENDIF..# T
6170: 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20  he library that
6180: 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72  programs using r
6190: 65 61 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c  eadline() must l
61a0: 69 6e 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21  ink against..#.!
61b0: 49 46 4e 44 45 46 20 4c 49 42 52 45 41 44 4c 49  IFNDEF LIBREADLI
61c0: 4e 45 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d  NE.LIBREADLINE =
61d0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c  .!ENDIF..# Shoul
61e0: 64 20 74 68 65 20 64 61 74 61 62 61 73 65 20 65  d the database e
61f0: 6e 67 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65  ngine be compile
6200: 64 20 74 68 72 65 61 64 73 61 66 65 0a 23 0a 54  d threadsafe.#.T
6210: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ 6220: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d LITE_THREADSAFE= 6230: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 1.RCC =$(RCC) -
6240: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
6250: 46 45 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 61  FE=1..# Do threa
6260: 64 73 20 6f 76 65 72 72 69 64 65 20 65 61 63 68  ds override each
6270: 20 6f 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 79   others locks by
6280: 20 64 65 66 61 75 6c 74 20 28 31 29 2c 20 6f 72   default (1), or
6290: 20 64 6f 20 77 65 20 74 65 73 74 20 28 2d 31 29   do we test (-1)
62a0: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 62b0: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f -DSQLITE_THREAD_ 62c0: 4f 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 OVERRIDE_LOCK=-1 62d0: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 .RCC =$(RCC) -D
62e0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56  SQLITE_THREAD_OV
62f0: 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a  ERRIDE_LOCK=-1..
6300: 23 20 41 6e 79 20 74 61 72 67 65 74 20 6c 69 62  # Any target lib
6310: 72 61 72 69 65 73 20 77 68 69 63 68 20 6c 69 62  raries which lib
6320: 73 71 6c 69 74 65 20 6d 75 73 74 20 62 65 20 6c  sqlite must be l
6330: 69 6e 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 0a  inked against.#.
6340: 21 49 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c  !IFNDEF TLIBS.TL
6350: 49 42 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20  IBS =.!ENDIF..#
6360: 46 6c 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e  Flags controllin
6370: 67 20 75 73 65 20 6f 66 20 74 68 65 20 69 6e 20  g use of the in
6380: 6d 65 6d 6f 72 79 20 62 74 72 65 65 20 69 6d 70  memory btree imp
6390: 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20  lementation.#.#
63a0: 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52  SQLITE_TEMP_STOR
63b0: 45 20 69 73 20 30 20 74 6f 20 66 6f 72 63 65 20  E is 0 to force
63c0: 74 65 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 73  temporary tables
63d0: 20 74 6f 20 62 65 20 69 6e 20 61 20 66 69 6c 65   to be in a file
63e0: 2c 20 31 20 74 6f 0a 23 20 64 65 66 61 75 6c 74  , 1 to.# default
63f0: 20 74 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 64   to file, 2 to d
6400: 65 66 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79  efault to memory
6410: 2c 20 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 65  , and 3 to force
6420: 20 74 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 62   temporary.# tab
6430: 6c 65 73 20 74 6f 20 61 6c 77 61 79 73 20 62 65  les to always be
6440: 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43   in memory..#.TC
6450: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL 6460: 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 ITE_TEMP_STORE=1 6470: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 .RCC =$(RCC) -D
6480: 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52  SQLITE_TEMP_STOR
6490: 45 3d 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69  E=1..# Enable/di
64a0: 73 61 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65  sable loadable e
64b0: 78 74 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f  xtensions, and o
64c0: 74 68 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65  ther optional fe
64d0: 61 74 75 72 65 73 0a 23 20 62 61 73 65 64 20 6f  atures.# based o
64e0: 6e 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e  n configuration.
64f0: 20 28 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a   (-DSQLITE_OMIT*
6500: 2c 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  , -DSQLITE_ENABL
6510: 45 2a 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 20  E*)..# The same
6520: 73 65 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20  set of OMIT and
6530: 45 4e 41 42 4c 45 20 66 6c 61 67 73 20 73 68 6f  ENABLE flags sho
6540: 75 6c 64 20 62 65 20 70 61 73 73 65 64 20 74 6f  uld be passed to
6550: 20 74 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72   the.# LEMON par
6560: 73 65 72 20 67 65 6e 65 72 61 74 6f 72 20 61 6e  ser generator an
6570: 64 20 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68  d the mkkeywordh
6580: 61 73 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c  ash tool as well
6590: 2e 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74  ...# These are t
65a0: 68 65 20 72 65 71 75 69 72 65 64 20 53 51 4c 69  he required SQLi
65b0: 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f  te compilation o
65c0: 70 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e  ptions used when
65d0: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23   compiling for.#
65e0: 20 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61   the Windows pla
65f0: 74 66 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41  tform..#.REQ_FEA
6600: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52  TURE_FLAGS = $(R 6610: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 EQ_FEATURE_FLAGS 6620: 29 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54 ) -DSQLITE_MAX_T 6630: 52 49 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30 RIGGER_DEPTH=100 6640: 0a 0a 23 20 49 66 20 77 65 20 61 72 65 20 6c 69 ..# If we are li 6650: 6e 6b 69 6e 67 20 74 6f 20 74 68 65 20 52 50 43 nking to the RPC 6660: 52 54 34 20 6c 69 62 72 61 72 79 2c 20 65 6e 61 RT4 library, ena 6670: 62 6c 65 20 66 65 61 74 75 72 65 73 20 74 68 61 ble features tha 6680: 74 20 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49 46 t need it..#.!IF 6690: 20 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49$(USE_RPCRT4_LI
66a0: 42 29 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 52  B)!=0.REQ_FEATUR
66b0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f  E_FLAGS = $(REQ_ 66c0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d FEATURE_FLAGS) - 66d0: 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53 DSQLITE_WIN32_US 66e0: 45 5f 55 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a E_UUID=1.!ENDIF. 66f0: 0a 23 20 41 64 64 20 74 68 65 20 72 65 71 75 69 .# Add the requi 6700: 72 65 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c red and optional 6710: 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 SQLite compilat 6720: 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f ion options into 6730: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c the command.# l 6740: 69 6e 65 73 20 75 73 65 64 20 74 6f 20 69 6e 76 ines used to inv 6750: 6f 6b 65 20 74 68 65 20 4d 53 56 43 20 63 6f 64 oke the MSVC cod 6760: 65 20 61 6e 64 20 72 65 73 6f 75 72 63 65 20 63 e and resource c 6770: 6f 6d 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20 ompilers..#.TCC 6780: 3d 20 24 28 54 43 43 29 20 24 28 52 45 51 5f 46 =$(TCC) $(REQ_F 6790: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 EATURE_FLAGS)$(
67a0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
67b0: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE 67c0: 5f 46 4c 41 47 53 29 0a 52 43 43 20 3d 20 24 28 _FLAGS).RCC =$(
67d0: 52 43 43 29 20 24 28 52 45 51 5f 46 45 41 54 55  RCC) $(REQ_FEATU 67e0: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f RE_FLAGS)$(OPT_
67f0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $6800: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (EXT_FEATURE_FLA 6810: 47 53 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e GS)..# Add in an 6820: 79 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d y optional param 6830: 65 74 65 72 73 20 73 70 65 63 69 66 69 65 64 20 eters specified 6840: 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c on the commane l 6850: 69 6e 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b ine, e.g..# nmak 6860: 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 e /f Makefile.ms 6870: 63 20 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51 c all "OPTS=-DSQ 6880: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d LITE_ENABLE_FOO= 6890: 31 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 1 -DSQLITE_OMIT_ 68a0: 46 4f 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24 FOO=1".#.TCC =$
68b0: 28 54 43 43 29 20 24 28 4f 50 54 53 29 0a 52 43  (TCC) $(OPTS).RC 68c0: 43 20 3d 20 24 28 52 43 43 29 20 24 28 4f 50 54 C =$(RCC) $(OPT 68d0: 53 29 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69 S)..# If compili 68e0: 6e 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 ng for debugging 68f0: 2c 20 61 64 64 20 73 6f 6d 65 20 64 65 66 69 6e , add some defin 6900: 65 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 es..#.!IF$(DEBU
6910: 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43  G)>1.TCC = $(TCC 6920: 29 20 2d 44 5f 44 45 42 55 47 0a 42 43 43 20 3d ) -D_DEBUG.BCC = 6930: 20 24 28 42 43 43 29 20 2d 44 5f 44 45 42 55 47$(BCC) -D_DEBUG
6940: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D 6950: 5f 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23 _DEBUG.!ENDIF..# 6960: 20 49 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e If optimization 6970: 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 s are enabled or 6980: 20 64 69 73 61 62 6c 65 64 20 28 65 69 74 68 65 disabled (eithe 6990: 72 20 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a r implicitly or. 69a0: 23 20 65 78 70 6c 69 63 69 74 6c 79 29 2c 20 61 # explicitly), a 69b0: 64 64 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 dd the necessary 69c0: 20 66 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24 28 flags..#.!IF$(
69d0: 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50  DEBUG)>1 || $(OP 69e0: 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a TIMIZATIONS)==0. 69f0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 64 TCC =$(TCC) -Od
6a00: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f  .BCC = $(BCC) -O 6a10: 64 0a 21 49 46 20 24 28 55 53 45 5f 52 55 4e 54 d.!IF$(USE_RUNT
6a20: 49 4d 45 5f 43 48 45 43 4b 53 29 21 3d 30 0a 54  IME_CHECKS)!=0.T
6a30: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 52 54 43  CC = $(TCC) -RTC 6a40: 31 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 1.BCC =$(BCC) -
6a50: 52 54 43 31 0a 21 45 4e 44 49 46 0a 21 45 4c 53  RTC1.!ENDIF.!ELS
6a60: 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49  EIF $(OPTIMIZATI 6a70: 4f 4e 53 29 3e 3d 33 0a 54 43 43 20 3d 20 24 28 ONS)>=3.TCC =$(
6a80: 54 43 43 29 20 2d 4f 78 0a 42 43 43 20 3d 20 24  TCC) -Ox.BCC = $6a90: 28 42 43 43 29 20 2d 4f 78 0a 21 45 4c 53 45 49 (BCC) -Ox.!ELSEI 6aa0: 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e F$(OPTIMIZATION
6ab0: 53 29 3d 3d 32 0a 54 43 43 20 3d 20 24 28 54 43  S)==2.TCC = $(TC 6ac0: 43 29 20 2d 4f 32 0a 42 43 43 20 3d 20 24 28 42 C) -O2.BCC =$(B
6ad0: 43 43 29 20 2d 4f 32 0a 21 45 4c 53 45 49 46 20  CC) -O2.!ELSEIF
6ae0: 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29  $(OPTIMIZATIONS) 6af0: 3d 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 ==1.TCC =$(TCC)
6b00: 20 2d 4f 31 0a 42 43 43 20 3d 20 24 28 42 43 43   -O1.BCC = $(BCC 6b10: 29 20 2d 4f 31 0a 21 45 4e 44 49 46 0a 0a 23 20 ) -O1.!ENDIF..# 6b20: 49 66 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 If symbols are e 6b30: 6e 61 62 6c 65 64 20 28 6f 72 20 63 6f 6d 70 69 nabled (or compi 6b40: 6c 69 6e 67 20 66 6f 72 20 64 65 62 75 67 67 69 ling for debuggi 6b50: 6e 67 29 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 ng), enable PDBs 6b60: 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 ..#.!IF$(DEBUG)
6b70: 3e 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29  >1 || $(SYMBOLS) 6b80: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 !=0.TCC =$(TCC)
6b90: 20 2d 5a 69 0a 42 43 43 20 3d 20 24 28 42 43 43   -Zi.BCC = $(BCC 6ba0: 29 20 2d 5a 69 0a 21 45 4e 44 49 46 0a 0a 23 20 ) -Zi.!ENDIF..# 6bb0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 49 66 20 7a 6c <<mark>>.# If zl 6bc0: 69 62 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e ib support is en 6bd0: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 abled, add the c 6be0: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 ompiler options 6bf0: 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 for it..#.!IF$(
6c00: 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 43 43  USE_ZLIB)!=0.TCC
6c10: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI 6c20: 54 45 5f 48 41 56 45 5f 5a 4c 49 42 3d 31 0a 52 TE_HAVE_ZLIB=1.R 6c30: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 CC =$(RCC) -DSQ
6c40: 4c 49 54 45 5f 48 41 56 45 5f 5a 4c 49 42 3d 31  LITE_HAVE_ZLIB=1
6c50: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I 6c60: 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 0a 52 43$(ZLIBINCDIR).RC
6c70: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 5a  C = $(RCC) -I$(Z
6c80: 4c 49 42 49 4e 43 44 49 52 29 0a 21 45 4e 44 49  LIBINCDIR).!ENDI
6c90: 46 0a 0a 23 20 49 66 20 49 43 55 20 73 75 70 70  F..# If ICU supp
6ca0: 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  ort is enabled,
6cb0: 61 64 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72  add the compiler
6cc0: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e   options for it.
6cd0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 49 43 55  .#.!IF $(USE_ICU 6ce0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 )!=0.TCC =$(TCC
6cf0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
6d00: 45 5f 49 43 55 3d 31 0a 52 43 43 20 3d 20 24 28  E_ICU=1.RCC = $( 6d10: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e RCC) -DSQLITE_EN 6d20: 41 42 4c 45 5f 49 43 55 3d 31 0a 54 43 43 20 3d ABLE_ICU=1.TCC = 6d30: 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29$(TCC) -I$(TOP) 6d40: 5c 65 78 74 5c 69 63 75 0a 52 43 43 20 3d 20 24 \ext\icu.RCC =$
6d50: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (RCC) -I$(TOP)\e 6d60: 78 74 5c 69 63 75 0a 54 43 43 20 3d 20 24 28 54 xt\icu.TCC =$(T
6d70: 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49  CC) -I$(ICUINCDI 6d80: 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 R).RCC =$(RCC)
6d90: 2d 49 24 28 49 43 55 49 4e 43 44 49 52 29 0a 21  -I$(ICUINCDIR).! 6da0: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e ENDIF.# <</mark> 6db0: 3e 0a 0a 23 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e >..# Command lin 6dc0: 65 20 70 72 65 66 69 78 65 73 20 66 6f 72 20 63 e prefixes for c 6dd0: 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 65 2c 20 63 ompiling code, c 6de0: 6f 6d 70 69 6c 69 6e 67 20 72 65 73 6f 75 72 63 ompiling resourc 6df0: 65 73 2c 0a 23 20 6c 69 6e 6b 69 6e 67 2c 20 65 es,.# linking, e 6e00: 74 63 2e 0a 23 0a 4c 54 43 4f 4d 50 49 4c 45 20 tc..#.LTCOMPILE 6e10: 3d 20 24 28 54 43 43 29 20 2d 46 6f 24 40 0a 4c =$(TCC) -Fo$@.L 6e20: 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24 28 52 43 TRCOMPILE =$(RC
6e30: 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c 69  C) -r.LTLIB = li
6e40: 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20 24  b.exe.LTLINK = $6e50: 28 54 43 43 29 20 2d 46 65 24 40 0a 0a 23 20 49 (TCC) -Fe$@..# I
6e60: 66 20 72 65 71 75 65 73 74 65 64 2c 20 6c 69 6e  f requested, lin
6e70: 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34 20  k to the RPCRT4
6e80: 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 20 24  library..#.!IF $6e90: 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 (USE_RPCRT4_LIB) 6ea0: 21 3d 30 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c !=0.LTLIBS =$(L
6eb0: 54 4c 49 42 53 29 20 72 70 63 72 74 34 2e 6c 69  TLIBS) rpcrt4.li
6ec0: 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 61  b.!ENDIF..# If a
6ed0: 20 70 6c 61 74 66 6f 72 6d 20 77 61 73 20 73 65   platform was se
6ee0: 74 2c 20 66 6f 72 63 65 20 74 68 65 20 6c 69 6e  t, force the lin
6ef0: 6b 65 72 20 74 6f 20 74 61 72 67 65 74 20 74 68  ker to target th
6f00: 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68 61 74 20  at..# Note that
6f10: 74 68 65 20 76 63 76 61 72 73 2a 2e 62 61 74 20  the vcvars*.bat
6f20: 66 61 6d 69 6c 79 20 6f 66 20 62 61 74 63 68 20  family of batch
6f30: 66 69 6c 65 73 20 74 79 70 69 63 61 6c 6c 79 0a  files typically.
6f40: 23 20 73 65 74 20 74 68 69 73 20 66 6f 72 20 79  # set this for y
6f50: 6f 75 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20  ou.  Otherwise,
6f60: 74 68 65 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20  the linker will
6f70: 61 74 74 65 6d 70 74 0a 23 20 74 6f 20 64 65 64  attempt.# to ded
6f80: 75 63 65 20 74 68 65 20 62 69 6e 61 72 79 20 74  uce the binary t
6f90: 79 70 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65  ype based on the
6fa0: 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e 0a 21   object files..!
6fb0: 49 46 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 4c  IFDEF PLATFORM.L
6fc0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c  TLINKOPTS = /NOL
6fd0: 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50  OGO /MACHINE:$(P 6fe0: 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50 LATFORM).LTLIBOP 6ff0: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 TS = /NOLOGO /MA 7000: 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d CHINE:$(PLATFORM
7010: 29 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50  ).!ELSE.LTLINKOP
7020: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c 54 4c  TS = /NOLOGO.LTL
7030: 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f  IBOPTS = /NOLOGO
7040: 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20  .!ENDIF..# When
7050: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 75 73  compiling for us
7060: 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 20 65  e in the WinRT e
7070: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 74 68 65 20  nvironment, the
7080: 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20 6c 69 6e 6b  following.# link
7090: 65 72 20 6f 70 74 69 6f 6e 20 6d 75 73 74 20 62  er option must b
70a0: 65 20 75 73 65 64 20 74 6f 20 6d 61 72 6b 20 74  e used to mark t
70b0: 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 61 73  he executable as
70c0: 20 72 75 6e 6e 61 62 6c 65 0a 23 20 6f 6e 6c 79   runnable.# only
70d0: 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 20   in the context
70e0: 6f 66 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f  of an applicatio
70f0: 6e 20 63 6f 6e 74 61 69 6e 65 72 2e 0a 23 0a 21  n container..#.!
7100: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21  IF $(FOR_WINRT)! 7110: 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 =0.LTLINKOPTS = 7120: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 41$(LTLINKOPTS) /A
7130: 50 50 43 4f 4e 54 41 49 4e 45 52 0a 21 49 46 20  PPCONTAINER.!IF
7140: 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56  "$(VISUALSTUDIOV 7150: 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32 2e 30 22 ERSION)"=="12.0" 7160: 20 7c 7c 20 22 24 28 56 49 53 55 41 4c 53 54 55 || "$(VISUALSTU
7170: 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31  DIOVERSION)"=="1
7180: 34 2e 30 22 0a 21 49 46 4e 44 45 46 20 53 54 4f  4.0".!IFNDEF STO
7190: 52 45 4c 49 42 50 41 54 48 0a 21 49 46 20 22 24  RELIBPATH.!IF "$71a0: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 (PLATFORM)"=="x8 71b0: 36 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 6".STORELIBPATH 71c0: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c =$(CRTLIBPATH)\
71d0: 73 74 6f 72 65 0a 21 45 4c 53 45 49 46 20 22 24  store.!ELSEIF "$71e0: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 36 (PLATFORM)"=="x6 71f0: 34 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 4".STORELIBPATH 7200: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c =$(CRTLIBPATH)\
7210: 73 74 6f 72 65 5c 61 6d 64 36 34 0a 21 45 4c 53  store\amd64.!ELS
7220: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM) 7230: 22 3d 3d 22 41 52 4d 22 0a 53 54 4f 52 45 4c 49 "=="ARM".STORELI 7240: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 BPATH =$(CRTLIB
7250: 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 72 6d 0a  PATH)\store\arm.
7260: 21 45 4c 53 45 0a 53 54 4f 52 45 4c 49 42 50 41  !ELSE.STORELIBPA
7270: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT 7280: 48 29 5c 73 74 6f 72 65 0a 21 45 4e 44 49 46 0a H)\store.!ENDIF. 7290: 21 45 4e 44 49 46 0a 53 54 4f 52 45 4c 49 42 50 !ENDIF.STORELIBP 72a0: 41 54 48 20 3d 20 24 28 53 54 4f 52 45 4c 49 42 ATH =$(STORELIB
72b0: 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c 54 4c 49 4e  PATH:\\=\).LTLIN
72c0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK 72d0: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a OPTS) "/LIBPATH: 72e0: 24 28 53 54 4f 52 45 4c 49 42 50 41 54 48 29 22$(STORELIBPATH)"
72f0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
7300: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
7310: 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 68 6f   for Windows Pho
7320: 6e 65 20 38 2e 31 2c 20 61 6e 20 65 78 74 72 61  ne 8.1, an extra
7330: 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 69 73   library path is
7340: 0a 23 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  .# required..#.!
7350: 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50  IF $(USE_WP81_OP 7360: 54 53 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 57 TS)!=0.!IFNDEF W 7370: 50 38 31 4c 49 42 50 41 54 48 0a 21 49 46 20 22 P81LIBPATH.!IF " 7380: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78$(PLATFORM)"=="x
7390: 38 36 22 0a 57 50 38 31 4c 49 42 50 41 54 48 20  86".WP81LIBPATH
73a0: 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53  = $(PROGRAMFILES 73b0: 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 _X86)\Windows Ph 73c0: 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 one Kits\8.1\lib 73d0: 5c 78 38 36 0a 21 45 4c 53 45 49 46 20 22 24 28 \x86.!ELSEIF "$(
73e0: 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d  PLATFORM)"=="ARM
73f0: 22 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20  ".WP81LIBPATH =
7400: 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58  $(PROGRAMFILES_X 7410: 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 86)\Windows Phon 7420: 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 41 e Kits\8.1\lib\A 7430: 52 4d 0a 21 45 4c 53 45 0a 57 50 38 31 4c 49 42 RM.!ELSE.WP81LIB 7440: 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d PATH =$(PROGRAM
7450: 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f  FILES_X86)\Windo
7460: 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e  ws Phone Kits\8.
7470: 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4e 44 49 46  1\lib\x86.!ENDIF
7480: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
7490: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
74a0: 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 68 6f   for Windows Pho
74b0: 6e 65 20 38 2e 31 2c 20 73 6f 6d 65 20 65 78 74  ne 8.1, some ext
74c0: 72 61 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  ra linker option
74d0: 73 0a 23 20 61 72 65 20 61 6c 73 6f 20 72 65 71  s.# are also req
74e0: 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 55  uired..#.!IF $(U 74f0: 53 45 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 SE_WP81_OPTS)!=0 7500: 0a 21 49 46 44 45 46 20 57 50 38 31 4c 49 42 50 .!IFDEF WP81LIBP 7510: 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d ATH.LTLINKOPTS = 7520: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22$(LTLINKOPTS) "
7530: 2f 4c 49 42 50 41 54 48 3a 24 28 57 50 38 31 4c  /LIBPATH:$(WP81L 7540: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a IBPATH)".!ENDIF. 7550: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c LTLINKOPTS =$(L
7560: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41  TLINKOPTS) /DYNA
7570: 4d 49 43 42 41 53 45 0a 4c 54 4c 49 4e 4b 4f 50  MICBASE.LTLINKOP
7580: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT 7590: 53 29 20 57 69 6e 64 6f 77 73 50 68 6f 6e 65 43 S) WindowsPhoneC 75a0: 6f 72 65 2e 6c 69 62 20 52 75 6e 74 69 6d 65 4f ore.lib RuntimeO 75b0: 62 6a 65 63 74 2e 6c 69 62 20 50 68 6f 6e 65 41 bject.lib PhoneA 75c0: 70 70 4d 6f 64 65 6c 48 6f 73 74 2e 6c 69 62 0a ppModelHost.lib. 75d0: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c LTLINKOPTS =$(L
75e0: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45  TLINKOPTS) /NODE
75f0: 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33  FAULTLIB:kernel3
7600: 32 2e 6c 69 62 20 2f 4e 4f 44 45 46 41 55 4c 54  2.lib /NODEFAULT
7610: 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69 62 0a 21 45  LIB:ole32.lib.!E
7620: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7630: 70 69 6c 69 6e 67 20 66 6f 72 20 55 57 50 20 6f  piling for UWP o
7640: 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30  r the Windows 10
7650: 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f 6d 65 20   platform, some
7660: 65 78 74 72 61 20 6c 69 6e 6b 65 72 0a 23 20 6f  extra linker.# o
7670: 70 74 69 6f 6e 73 20 61 72 65 20 61 6c 73 6f 20  ptions are also
7680: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20  required..#.!IF
7690: 24 28 46 4f 52 5f 55 57 50 29 21 3d 30 20 7c 7c  $(FOR_UWP)!=0 || 76a0: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30$(FOR_WIN10)!=0
76b0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $( 76c0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e LTLINKOPTS) /DYN 76d0: 41 4d 49 43 42 41 53 45 20 2f 4e 4f 44 45 46 41 AMICBASE /NODEFA 76e0: 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e ULTLIB:kernel32. 76f0: 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d lib.LTLINKOPTS = 7700: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 6d$(LTLINKOPTS) m
7710: 69 6e 63 6f 72 65 2e 6c 69 62 0a 21 49 46 44 45  incore.lib.!IFDE
7720: 46 20 50 53 44 4b 4c 49 42 50 41 54 48 0a 4c 54  F PSDKLIBPATH.LT
7730: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL 7740: 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 INKOPTS) "/LIBPA 7750: 54 48 3a 24 28 50 53 44 4b 4c 49 42 50 41 54 48 TH:$(PSDKLIBPATH
7760: 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  )".!ENDIF.!ENDIF
7770: 0a 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  ..!IF $(FOR_WIN1 7780: 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 0)!=0.LTLINKOPTS 7790: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 =$(LTLINKOPTS)
77a0: 20 2f 67 75 61 72 64 3a 63 66 20 22 2f 4c 49 42   /guard:cf "/LIB
77b0: 50 41 54 48 3a 24 28 55 43 52 54 4c 49 42 50 41  PATH:$(UCRTLIBPA 77c0: 54 48 29 22 0a 21 49 46 20 24 28 44 45 42 55 47 TH)".!IF$(DEBUG
77d0: 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  )>1.LTLINKOPTS =
77e0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f   $(LTLINKOPTS) / 77f0: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62 NODEFAULTLIB:lib 7800: 75 63 72 74 64 2e 6c 69 62 20 2f 44 45 46 41 55 ucrtd.lib /DEFAU 7810: 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c 69 62 0a LTLIB:ucrtd.lib. 7820: 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 !ELSE.LTLINKOPTS 7830: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 =$(LTLINKOPTS)
7840: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c   /NODEFAULTLIB:l
7850: 69 62 75 63 72 74 2e 6c 69 62 20 2f 44 45 46 41  ibucrt.lib /DEFA
7860: 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c 69 62 0a  ULTLIB:ucrt.lib.
7870: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
7880: 20 49 66 20 65 69 74 68 65 72 20 64 65 62 75 67   If either debug
7890: 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f 6c 73 20  ging or symbols
78a0: 61 72 65 20 65 6e 61 62 6c 65 64 2c 20 65 6e 61  are enabled, ena
78b0: 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20  ble PDBs..#.!IF
78c0: 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28  $(DEBUG)>1 ||$(
78d0: 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c 44 46 4c  SYMBOLS)!=0.LDFL
78e0: 41 47 53 20 3d 20 2f 44 45 42 55 47 20 24 28 4c  AGS = /DEBUG $(L 78f0: 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a 4c 44 46 DOPTS).!ELSE.LDF 7900: 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50 54 53 29 LAGS =$(LDOPTS)
7910: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
7920: 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77 69 74 68  k>>.# Start with
7930: 20 74 68 65 20 54 63 6c 20 72 65 6c 61 74 65 64   the Tcl related
7940: 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 2e   linker options.
7950: 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29  .#.!IF $(NO_TCL) 7960: 3d 3d 30 0a 54 43 4c 4c 49 42 50 41 54 48 53 20 ==0.TCLLIBPATHS 7970: 3d 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 =$(TCLLIBPATHS)
7980: 20 2f 4c 49 42 50 41 54 48 3a 24 28 54 43 4c 4c   /LIBPATH:$(TCLL 7990: 49 42 44 49 52 29 0a 54 43 4c 4c 49 42 53 20 3d IBDIR).TCLLIBS = 79a0: 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 49$(TCLLIBS) $(LI 79b0: 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a 0a 23 20 BTCL).!ENDIF..# 79c0: 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 20 If zlib support 79d0: 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 is enabled, add 79e0: 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f the linker optio 79f0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 ns for it..#.!IF 7a00: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a$(USE_ZLIB)!=0.
7a10: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c  LTLIBPATHS = $(L 7a20: 54 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 TLIBPATHS) /LIBP 7a30: 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49 52 ATH:$(ZLIBLIBDIR
7a40: 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c  ).LTLIBS = $(LTL 7a50: 49 42 53 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a IBS)$(ZLIBLIB).
7a60: 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55  !ENDIF..# If ICU
7a70: 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62   support is enab
7a80: 6c 65 64 2c 20 61 64 64 20 74 68 65 20 6c 69 6e  led, add the lin
7a90: 6b 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20  ker options for
7aa0: 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  it..#.!IF $(USE_ 7ab0: 49 43 55 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 ICU)!=0.LTLIBPAT 7ac0: 48 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 HS =$(LTLIBPATH
7ad0: 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 49 43  S) /LIBPATH:$(IC 7ae0: 55 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 ULIBDIR).LTLIBS 7af0: 3d 20 24 28 4c 54 4c 49 42 53 29 20 24 28 4c 49 =$(LTLIBS) $(LI 7b00: 42 49 43 55 29 0a 21 45 4e 44 49 46 0a 23 20 3c BICU).!ENDIF.# < 7b10: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 59 6f 75 20 </mark>>..# You 7b20: 73 68 6f 75 6c 64 20 6e 6f 74 20 68 61 76 65 20 should not have 7b30: 74 6f 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69 to change anythi 7b40: 6e 67 20 62 65 6c 6f 77 20 74 68 69 73 20 6c 69 ng below this li 7b50: 6e 65 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 ne.############# 7b60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7b70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7b80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7b90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7ba0: 23 23 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 ##..# <<mark>>.# 7bb0: 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f Object files fo 7bc0: 72 20 74 68 65 20 53 51 4c 69 74 65 20 6c 69 62 r the SQLite lib 7bd0: 72 61 72 79 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 rary (non-amalga 7be0: 6d 61 74 69 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42 mation)..#.LIBOB 7bf0: 4a 53 30 20 3d 20 76 64 62 65 2e 6c 6f 20 70 61 JS0 = vdbe.lo pa 7c00: 72 73 65 2e 6c 6f 20 61 6c 74 65 72 2e 6c 6f 20 rse.lo alter.lo 7c10: 61 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74 74 61 63 analyze.lo attac 7c20: 68 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20 5c 0a 20 h.lo auth.lo \. 7c30: 20 20 20 20 20 20 20 20 62 61 63 6b 75 70 2e 6c backup.l 7c40: 6f 20 62 69 74 76 65 63 2e 6c 6f 20 62 74 6d 75 o bitvec.lo btmu 7c50: 74 65 78 2e 6c 6f 20 62 74 72 65 65 2e 6c 6f 20 tex.lo btree.lo 7c60: 62 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20 20 20 20 build.lo \. 7c70: 20 20 20 20 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20 callback.lo 7c80: 63 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63 74 69 6d complete.lo ctim 7c90: 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 e.lo \. 7ca0: 64 61 74 65 2e 6c 6f 20 64 62 70 61 67 65 2e 6c date.lo dbpage.l 7cb0: 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64 65 6c 65 o dbstat.lo dele 7cc0: 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 te.lo \. 7cd0: 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 2e 6c expr.lo fault.l 7ce0: 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 20 20 o fkey.lo \. 7cf0: 20 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 74 73 fts3.lo fts 7d00: 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f 65 78 3_aux.lo fts3_ex 7d10: 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 68 2e pr.lo fts3_hash. 7d20: 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f 20 5c lo fts3_icu.lo \ 7d30: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 70 . fts3_p 7d40: 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f 73 6e orter.lo fts3_sn 7d50: 69 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f 74 6f ippet.lo fts3_to 7d60: 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 33 5f kenizer.lo fts3_ 7d70: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 5c 0a tokenizer1.lo \. 7d80: 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 74 6f fts3_to 7d90: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 20 66 kenize_vtab.lo f 7da0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 20 66 ts3_unicode.lo f 7db0: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 20 ts3_unicode2.lo 7dc0: 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20 5c 0a fts3_write.lo \. 7dd0: 20 20 20 20 20 20 20 20 20 66 74 73 35 2e 6c 6f fts5.lo 7de0: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 \. func 7df0: 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20 68 61 .lo global.lo ha 7e00: 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 sh.lo \. 7e10: 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74 2e 6c icu.lo insert.l 7e20: 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64 o legacy.lo load 7e30: 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 ext.lo \. 7e40: 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63 main.lo malloc 7e50: 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31 .lo mem0.lo mem1 7e60: 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33 .lo mem2.lo mem3 7e70: 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20 .lo mem5.lo \. 7e80: 20 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f 20 memdb.lo 7e90: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a memjournal.lo \. 7ea0: 20 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c mutex.l 7eb0: 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 o mutex_noop.lo 7ec0: 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 mutex_unix.lo mu 7ed0: 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 tex_w32.lo \. 7ee0: 20 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 notify.lo 7ef0: 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f opcodes.lo os.lo 7f00: 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 os_unix.lo os_w 7f10: 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 in.lo \. 7f20: 20 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65 pager.lo pcache 7f30: 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70 .lo pcache1.lo p 7f40: 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65 ragma.lo prepare 7f50: 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a .lo printf.lo \. 7f60: 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e random. 7f70: 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f lo resolve.lo ro 7f80: 77 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f wset.lo rtree.lo 7f90: 20 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69 \. sqli 7fa0: 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 te3session.lo se 7fb0: 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72 lect.lo sqlite3r 7fc0: 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20 bu.lo status.lo 7fd0: 5c 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 \. table 7fe0: 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20 74 .lo threads.lo t 7ff0: 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65 76 okenize.lo treev 8000: 69 65 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e 6c iew.lo trigger.l 8010: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 70 64 o \. upd 8020: 61 74 65 2e 6c 6f 20 75 70 73 65 72 74 2e 6c 6f ate.lo upsert.lo 8030: 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e util.lo vacuum. 8040: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64 lo \. vd 8050: 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78 beapi.lo vdbeaux 8060: 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20 .lo vdbeblob.lo 8070: 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73 vdbemem.lo vdbes 8080: 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 ort.lo \. 8090: 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77 vdbetrace.lo w 80a0: 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20 al.lo walker.lo 80b0: 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f where.lo whereco 80c0: 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72 2e de.lo whereexpr. 80d0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 77 69 lo \. wi 80e0: 6e 64 6f 77 2e 6c 6f 20 75 74 66 2e 6c 6f 20 76 ndow.lo utf.lo v 80f0: 74 61 62 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61 72 6b tab.lo.# <</mark 8100: 3e 3e 0a 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c >>..# Object fil 8110: 65 73 20 66 6f 72 20 74 68 65 20 61 6d 61 6c 67 es for the amalg 8120: 61 6d 61 74 69 6f 6e 2e 0a 23 0a 4c 49 42 4f 42 amation..#.LIBOB 8130: 4a 53 31 20 3d 20 73 71 6c 69 74 65 33 2e 6c 6f JS1 = sqlite3.lo 8140: 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 74 68 ..# Determine th 8150: 65 20 72 65 61 6c 20 76 61 6c 75 65 20 6f 66 20 e real value of 8160: 4c 49 42 4f 42 4a 20 62 61 73 65 64 20 6f 6e 20 LIBOBJ based on 8170: 74 68 65 20 27 63 6f 6e 66 69 67 75 72 65 27 20 the 'configure' 8180: 73 63 72 69 70 74 0a 23 0a 23 20 3c 3c 6d 61 72 script.#.# <<mar 8190: 6b 3e 3e 0a 21 49 46 20 24 28 55 53 45 5f 41 4d k>>.!IF$(USE_AM
81a0: 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4c  ALGAMATION)==0.L
81b0: 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a  IBOBJ = $(LIBOBJ 81c0: 53 30 29 0a 21 45 4c 53 45 0a 23 20 3c 3c 2f 6d S0).!ELSE.# <</m 81d0: 61 72 6b 3e 3e 0a 4c 49 42 4f 42 4a 20 3d 20 24 ark>>.LIBOBJ =$
81e0: 28 4c 49 42 4f 42 4a 53 31 29 0a 23 20 3c 3c 6d  (LIBOBJS1).# <<m
81f0: 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 23 20 3c  ark>>.!ENDIF.# <
8200: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 74 65  </mark>>..# Dete
8210: 72 6d 69 6e 65 20 69 66 20 65 6d 62 65 64 64 65  rmine if embedde
8220: 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d 70 69  d resource compi
8230: 6c 61 74 69 6f 6e 20 61 6e 64 20 75 73 61 67 65  lation and usage
8240: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
8250: 21 49 46 20 24 28 55 53 45 5f 52 43 29 21 3d 30  !IF $(USE_RC)!=0 8260: 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 20 73 71 .LIBRESOBJS = sq 8270: 6c 69 74 65 33 72 65 73 2e 6c 6f 0a 21 45 4c 53 lite3res.lo.!ELS 8280: 45 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 0a 21 E.LIBRESOBJS =.! 8290: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e ENDIF..# <<mark> 82a0: 3e 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20 >.# Core source 82b0: 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 code files, part 82c0: 20 31 2e 0a 23 0a 53 52 43 30 30 20 3d 20 5c 0a 1..#.SRC00 = \. 82d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74$(TOP)\src\alt
82e0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\ 82f0: 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 5c 0a src\analyze.c \. 8300: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74$(TOP)\src\att
8310: 61 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ach.c \.  $(TOP) 8320: 5c 73 72 63 5c 61 75 74 68 2e 63 20 5c 0a 20 20 \src\auth.c \. 8330: 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75$(TOP)\src\backu
8340: 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  p.c \.  $(TOP)\s 8350: 72 63 5c 62 69 74 76 65 63 2e 63 20 5c 0a 20 20 rc\bitvec.c \. 8360: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74$(TOP)\src\btmut
8370: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\ 8380: 73 72 63 5c 62 74 72 65 65 2e 63 20 5c 0a 20 20 src\btree.c \. 8390: 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64$(TOP)\src\build
83a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 83b0: 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 5c 0a 20 c\callback.c \. 83c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70$(TOP)\src\comp
83d0: 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lete.c \.  $(TOP 83e0: 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 5c 0a )\src\ctime.c \. 83f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74$(TOP)\src\dat
8400: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 8410: 72 63 5c 64 62 70 61 67 65 2e 63 20 5c 0a 20 20 rc\dbpage.c \. 8420: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61$(TOP)\src\dbsta
8430: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s 8440: 72 63 5c 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 rc\delete.c \. 8450: 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e$(TOP)\src\expr.
8460: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8470: 5c 66 61 75 6c 74 2e 63 20 5c 0a 20 20 24 28 54 \fault.c \.$(T
8480: 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 5c  OP)\src\fkey.c \
8490: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75  .  $(TOP)\src\fu 84a0: 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c nc.c \.$(TOP)\
84b0: 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20  src\global.c \.
84c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68   $(TOP)\src\hash 84d0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
84e0: 63 5c 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24  c\insert.c \.  $84f0: 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 (TOP)\src\legacy 8500: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8510: 63 5c 6c 6f 61 64 65 78 74 2e 63 20 5c 0a 20 20  c\loadext.c \.
8520: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e  $(TOP)\src\main. 8530: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8540: 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28  \malloc.c \.  $( 8550: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 TOP)\src\mem0.c 8560: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d \.$(TOP)\src\m
8570: 65 6d 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  em1.c \.  $(TOP) 8580: 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20 20 \src\mem2.c \. 8590: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e$(TOP)\src\mem3.
85a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 85b0: 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 28 54 4f \mem5.c \.$(TO
85c0: 50 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 5c  P)\src\memdb.c \
85d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me 85e0: 6d 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 mjournal.c \.$
85f0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e  (TOP)\src\mutex.
8600: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8610: 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c 0a \mutex_noop.c \. 8620: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74$(TOP)\src\mut
8630: 65 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28  ex_unix.c \.  $( 8640: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 TOP)\src\mutex_w 8650: 33 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 32.c \.$(TOP)\
8660: 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a 20  src\notify.c \.
8670: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63   $(TOP)\src\os.c 8680: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8690: 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28  os_unix.c \.  $( 86a0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e TOP)\src\os_win. 86b0: 63 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 c..# Core source 86c0: 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 code files, par 86d0: 74 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20 5c t 2..#.SRC01 = \ 86e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 .$(TOP)\src\pa
86f0: 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ger.c \.  $(TOP) 8700: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c 0a \src\pcache.c \. 8710: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61$(TOP)\src\pca
8720: 63 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50  che1.c \.  $(TOP 8730: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 5c )\src\pragma.c \ 8740: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 .$(TOP)\src\pr
8750: 65 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f  epare.c \.  $(TO 8760: 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 P)\src\printf.c 8770: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 \.$(TOP)\src\r
8780: 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  andom.c \.  $(TO 8790: 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 P)\src\resolve.c 87a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
87b0: 72 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 28 54  rowset.c \.  $(T 87c0: 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 OP)\src\select.c 87d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
87e0: 73 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 28 54  status.c \.  $(T 87f0: 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 OP)\src\table.c 8800: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
8810: 68 72 65 61 64 73 2e 63 20 5c 0a 20 20 24 28 54  hreads.c \.  $(T 8820: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 OP)\src\tclsqlit 8830: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.c \.$(TOP)\s
8840: 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a  rc\tokenize.c \.
8850: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65    $(TOP)\src\tre 8860: 65 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54 4f eview.c \.$(TO
8870: 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63  P)\src\trigger.c
8880: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8890: 75 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 utf.c \.$(TOP)
88a0: 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 5c 0a  \src\update.c \.
88b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73    $(TOP)\src\ups 88c0: 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ert.c \.$(TOP)
88d0: 5c 73 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 20  \src\util.c \.
88e0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75  $(TOP)\src\vacuu 88f0: 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 m.c \.$(TOP)\s
8900: 72 63 5c 76 64 62 65 2e 63 20 5c 0a 20 20 24 28  rc\vdbe.c \.  $( 8910: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 TOP)\src\vdbeapi 8920: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8930: 63 5c 76 64 62 65 61 75 78 2e 63 20 5c 0a 20 20  c\vdbeaux.c \.
8940: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62  $(TOP)\src\vdbeb 8950: 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 lob.c \.$(TOP)
8960: 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 5c  \src\vdbemem.c \
8970: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd 8980: 62 65 73 6f 72 74 2e 63 20 5c 0a 20 20 24 28 54 besort.c \.$(T
8990: 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63  OP)\src\vdbetrac
89a0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 89b0: 72 63 5c 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 rc\vtab.c \.$(
89c0: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 5c  TOP)\src\wal.c \
89d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  .  $(TOP)\src\wa 89e0: 6c 6b 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 lker.c \.$(TOP
89f0: 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 5c 0a  )\src\where.c \.
8a00: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65    $(TOP)\src\whe 8a10: 72 65 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 recode.c \.$(T
8a20: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70  OP)\src\whereexp
8a30: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s 8a40: 72 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 23 20 43 rc\window.c..# C 8a50: 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 ore miscellaneou 8a60: 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30 33 s files..#.SRC03 8a70: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 = \.$(TOP)\sr
8a80: 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f 72  c\parse.y..# Cor
8a90: 65 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20  e header files,
8aa0: 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34 20  part 1..#.SRC04
8ab0: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  = \.  $(TOP)\src 8ac0: 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 \btree.h \.$(T
8ad0: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74  OP)\src\btreeInt
8ae0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr 8af0: 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 c\hash.h \.$(T
8b00: 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68  OP)\src\hwtime.h
8b10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8b20: 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f 50 msvc.h \.$(TOP
8b30: 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a  )\src\mutex.h \.
8b40: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e    $(TOP)\src\os. 8b50: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 h \.$(TOP)\src
8b60: 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20  \os_common.h \.
8b70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73   $(TOP)\src\os_s 8b80: 65 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f 50 etup.h \.$(TOP
8b90: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a 0a  )\src\os_win.h..
8ba0: 23 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 69  # Core header fi
8bb0: 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53  les, part 2..#.S
8bc0: 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC05 = \.  $(TOP 8bd0: 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a )\src\pager.h \. 8be0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61$(TOP)\src\pca
8bf0: 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  che.h \.  $(TOP) 8c00: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a \src\pragma.h \. 8c10: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c$(TOP)\src\sql
8c20: 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 54  ite.h.in \.  $(T 8c30: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 65 OP)\src\sqlite3e 8c40: 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c xt.h \.$(TOP)\
8c50: 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20  src\sqliteInt.h
8c60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s 8c70: 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 qliteLimit.h \. 8c80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
8c90: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr 8ca0: 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20 c\vdbeInt.h \. 8cb0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72$(TOP)\src\vxwor
8cc0: 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ks.h \.  $(TOP)\ 8cd0: 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24 28 src\wal.h \.$(
8ce0: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e  TOP)\src\whereIn
8cf0: 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e  t.h..# Extension
8d00: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
8d10: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52  es, part 1..#.SR
8d20: 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C06 = \.  $(TOP) 8d30: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 63 \ext\fts1\fts1.c 8d40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8d50: 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 63  fts1\fts1_hash.c
8d60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8d70: 66 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65 72 fts1\fts1_porter 8d80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
8d90: 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65  t\fts1\fts1_toke
8da0: 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 54  nizer1.c \.  $(T 8db0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts 8dc0: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 2.c \.$(TOP)\e
8dd0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73  xt\fts2\fts2_has
8de0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.c \.  $(TOP)\e 8df0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 xt\fts2\fts2_icu 8e00: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
8e10: 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74  t\fts2\fts2_port
8e20: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\ 8e30: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f ext\fts2\fts2_to 8e40: 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 kenizer.c \.$(
8e50: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
8e60: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a  s2_tokenizer1.c.
8e70: 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75  .# Extension sou
8e80: 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20  rce code files,
8e90: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37 20  part 2..#.SRC07
8ea0: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  = \.  $(TOP)\ext 8eb0: 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a 20 \fts3\fts3.c \. 8ec0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
8ed0: 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20 20  \fts3_aux.c \.
8ee0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 8ef0: 66 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20 20 fts3_expr.c \. 8f00: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
8f10: 66 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20 20  fts3_hash.c \.
8f20: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 8f30: 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20 24 fts3_icu.c \.$
8f40: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8f50: 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20  ts3_porter.c \.
8f60: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 8f70: 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 \fts3_snippet.c 8f80: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
8f90: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
8fa0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\ 8fb0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f ext\fts3\fts3_to 8fc0: 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 kenizer1.c \.$
8fd0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8fe0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
8ff0: 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  b.c \.  $(TOP)\e 9000: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 xt\fts3\fts3_uni 9010: 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 code.c \.$(TOP
9020: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
9030: 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 24  unicode2.c \.  $9040: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f 9050: 74 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20 20 ts3_write.c \. 9060: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69$(TOP)\ext\icu\i
9070: 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cu.c \.  $(TOP)\ 9080: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e ext\rtree\rtree. 9090: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
90a0: 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33  \session\sqlite3
90b0: 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24 28  session.c \.  $( 90c0: 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c TOP)\ext\rbu\sql 90d0: 69 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24 28 ite3rbu.c \.$(
90e0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73  TOP)\ext\misc\js
90f0: 6f 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  on1.c \.  $(TOP) 9100: 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 \ext\misc\stmt.c 9110: 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 ..# Extension he 9120: 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 ader files, part 9130: 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a 1..#.SRC08 = \. 9140: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
9150: 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54  1\fts1.h \.  $(T 9160: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 OP)\ext\fts1\fts 9170: 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 1_hash.h \.$(T
9180: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
9190: 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a  1_tokenizer.h \.
91a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 91b0: 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 2\fts2.h \.$(T
91c0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
91d0: 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  2_hash.h \.  $(T 91e0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts 91f0: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23 2_tokenizer.h..# 9200: 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 Extension heade 9210: 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e r files, part 2. 9220: 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20 24 .#.SRC09 = \.$
9230: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9240: 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ts3.h \.  $(TOP) 9250: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e \ext\fts3\fts3In 9260: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 t.h \.$(TOP)\e
9270: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73  xt\fts3\fts3_has
9280: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.h \.  $(TOP)\e 9290: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b xt\fts3\fts3_tok 92a0: 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 enizer.h \.$(T
92b0: 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69  OP)\ext\icu\sqli
92c0: 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f  teicu.h \.  $(TO 92d0: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 P)\ext\rtree\rtr 92e0: 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c ee.h \.$(TOP)\
92f0: 65 78 74 5c 72 74 72 65 65 5c 67 65 6f 70 6f 6c  ext\rtree\geopol
9300: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  y.c \.  $(TOP)\e 9310: 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 xt\rbu\sqlite3rb 9320: 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 u.h \.$(TOP)\e
9330: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
9340: 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 47  e3session.h..# G
9350: 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65 20  enerated source
9360: 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43  code files.#.SRC
9370: 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 73  10 = \.  opcodes
9380: 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a 0a  .c \.  parse.c..
9390: 23 20 47 65 6e 65 72 61 74 65 64 20 68 65 61 64  # Generated head
93a0: 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 31  er files.#.SRC11
93b0: 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61   = \.  keywordha
93c0: 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73  sh.h \.  opcodes
93d0: 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 5c  .h \.  parse.h \
93e0: 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 24  .  shell.c \.  $93f0: 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20 47 65 (SQLITE3H)..# Ge 9400: 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65 61 64 nerated Tcl head 9410: 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46 20 24 er files.#.!IF$
9420: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
9430: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10) 9440: 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a 20 20 !=0.SRC12 = \. 9450: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 5c 0a$(SQLITETCLH) \.
9460: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43    $(SQLITETCLDEC 9470: 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43 31 32 LSH).!ELSE.SRC12 9480: 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 6c =.!ENDIF..# All 9490: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c source code fil 94a0: 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 es..#.SRC =$(SR
94b0: 43 30 30 29 20 24 28 53 52 43 30 31 29 20 24 28  C00) $(SRC01)$(
94c0: 53 52 43 30 33 29 20 24 28 53 52 43 30 34 29 20  SRC03) $(SRC04) 94d0: 24 28 53 52 43 30 35 29 20 24 28 53 52 43 30 36$(SRC05) $(SRC06 94e0: 29 20 24 28 53 52 43 30 37 29 20 24 28 53 52 43 )$(SRC07) $(SRC 94f0: 30 38 29 20 24 28 53 52 43 30 39 29 20 24 28 53 08)$(SRC09) $(S 9500: 52 43 31 30 29 20 24 28 53 52 43 31 31 29 0a 0a RC10)$(SRC11)..
9510: 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f  # Source code to
9520: 20 74 68 65 20 74 65 73 74 20 66 69 6c 65 73 2e   the test files.
9530: 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c 0a 20  .#.TESTSRC = \.
9540: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 9550: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 1.c \.$(TOP)\s
9560: 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20 20 24  rc\test2.c \.  $9570: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 33 2e (TOP)\src\test3. 9580: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
9590: 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24 28 54  \test4.c \.  $(T 95a0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e 63 20 OP)\src\test5.c 95b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
95c0: 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est6.c \.  $(TOP 95d0: 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20 5c 0a )\src\test7.c \. 95e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
95f0: 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t8.c \.  $(TOP)\ 9600: 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a 20 20 src\test9.c \. 9610: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
9620: 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20 24 28  autoext.c \.  $( 9630: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 61 73 TOP)\src\test_as 9640: 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ync.c \.$(TOP)
9650: 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b 75 70  \src\test_backup
9660: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 9670: 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64 65 78 c\test_bestindex 9680: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
9690: 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20 5c 0a  c\test_blob.c \.
96a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 96b0: 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 t_btree.c \.$(
96c0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 63 6f  TOP)\src\test_co
96d0: 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54 4f 50  nfig.c \.  $(TOP 96e0: 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c 65 74 )\src\test_delet 96f0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.c \.$(TOP)\s
9700: 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73 2e  rc\test_demovfs.
9710: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9720: 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63 20 5c \test_devsym.c \ 9730: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
9740: 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f  st_fs.c \.  $(TO 9750: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75 6e 63 P)\src\test_func 9760: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
9770: 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63 20 5c  c\test_hexio.c \
9780: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9790: 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 24 28 st_init.c \.$(
97a0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e  TOP)\src\test_in
97b0: 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54  tarray.c \.  $(T 97c0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a 6f 75 OP)\src\test_jou 97d0: 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 rnal.c \.$(TOP
97e0: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c 6c 6f  )\src\test_mallo
97f0: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  c.c \.  $(TOP)\s 9800: 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20 5c 0a rc\test_md5.c \. 9810: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9820: 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c 0a  t_multiplex.c \.
9830: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9840: 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 t_mutex.c \.$(
9850: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 6e  TOP)\src\test_on
9860: 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f  efile.c \.  $(TO 9870: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69 6e P)\src\test_osin 9880: 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c st.c \.$(TOP)\
9890: 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 2e  src\test_pcache.
98a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 98b0: 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c 0a \test_quota.c \. 98c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
98d0: 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  t_rtree.c \.  $( 98e0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 63 TOP)\src\test_sc 98f0: 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 hema.c \.$(TOP
9900: 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 65  )\src\test_serve
9910: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s 9920: 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f 63 rc\test_superloc 9930: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 k.c \.$(TOP)\s
9940: 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c 2e  rc\test_syscall.
9950: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9960: 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20 5c 0a \test_tclsh.c \. 9970: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9980: 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20 24  t_tclvar.c \.  $9990: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 (TOP)\src\test_t 99a0: 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 54 4f hread.c \.$(TO
99b0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e  P)\src\test_vfs.
99c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 99d0: 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e \test_windirent. 99e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
99f0: 5c 74 65 73 74 5f 77 69 6e 64 6f 77 2e 63 20 5c  \test_window.c \
9a00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9a10: 73 74 5f 77 73 64 2e 63 20 5c 0a 20 20 24 28 54 st_wsd.c \.$(T
9a20: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
9a30: 33 5f 74 65 72 6d 2e 63 20 5c 0a 20 20 24 28 54  3_term.c \.  $(T 9a40: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 9a50: 33 5f 74 65 73 74 2e 63 20 5c 0a 20 20 24 28 54 3_test.c \.$(T
9a60: 4f 50 29 5c 65 78 74 5c 72 62 75 5c 74 65 73 74  OP)\ext\rbu\test
9a70: 5f 72 62 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _rbu.c \.  $(TOP 9a80: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 74 65 )\ext\session\te 9a90: 73 74 5f 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 st_session.c..# 9aa0: 53 74 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 Statically linke 9ab0: 64 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a 23 0a d extensions..#. 9ac0: 54 45 53 54 45 58 54 20 3d 20 5c 0a 20 20 24 28 TESTEXT = \.$(
9ad0: 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c  TOP)\ext\expert\
9ae0: 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20  sqlite3expert.c
9af0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 65  \.  $(TOP)\ext\e 9b00: 78 70 65 72 74 5c 74 65 73 74 5f 65 78 70 65 72 xpert\test_exper 9b10: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 t.c \.$(TOP)\e
9b20: 78 74 5c 6d 69 73 63 5c 61 6d 61 74 63 68 2e 63  xt\misc\amatch.c
9b30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 9b40: 6d 69 73 63 5c 63 61 72 72 61 79 2e 63 20 5c 0a misc\carray.c \. 9b50: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73$(TOP)\ext\mis
9b60: 63 5c 63 6c 6f 73 75 72 65 2e 63 20 5c 0a 20 20  c\closure.c \.
9b70: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ 9b80: 63 73 76 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 csv.c \.$(TOP)
9b90: 5c 65 78 74 5c 6d 69 73 63 5c 65 76 61 6c 2e 63  \ext\misc\eval.c
9ba0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 9bb0: 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a misc\fileio.c \. 9bc0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73$(TOP)\ext\mis
9bd0: 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a 20 20 24  c\fuzzer.c \.  $9be0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 (TOP)\ext\fts5\f 9bf0: 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20 20 24 28 ts5_tcl.c \.$(
9c00: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
9c10: 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20 5c 0a 20  s5_test_mi.c \.
9c20: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 9c30: 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f 6b 2e 63 \fts5_test_tok.c 9c40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9c50: 6d 69 73 63 5c 69 65 65 65 37 35 34 2e 63 20 5c  misc\ieee754.c \
9c60: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi 9c70: 73 63 5c 6d 6d 61 70 77 61 72 6d 2e 63 20 5c 0a sc\mmapwarm.c \. 9c80: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73$(TOP)\ext\mis
9c90: 63 5c 6e 65 78 74 63 68 61 72 2e 63 20 5c 0a 20  c\nextchar.c \.
9ca0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 9cb0: 5c 6e 6f 72 6d 61 6c 69 7a 65 2e 63 20 5c 0a 20 \normalize.c \. 9cc0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
9cd0: 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63 20 5c 0a  \percentile.c \.
9ce0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis 9cf0: 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a 20 20 24 c\regexp.c \.$
9d00: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72  (TOP)\ext\misc\r
9d10: 65 6d 65 6d 62 65 72 2e 63 20 5c 0a 20 20 24 28  emember.c \.  $( 9d20: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 65 TOP)\ext\misc\se 9d30: 72 69 65 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 ries.c \.$(TOP
9d40: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70 65 6c 6c  )\ext\misc\spell
9d50: 66 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  fix.c \.  $(TOP) 9d60: 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74 79 70 65 \ext\misc\totype 9d70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
9d80: 74 5c 6d 69 73 63 5c 75 6e 69 6f 6e 76 74 61 62  t\misc\unionvtab
9d90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9da0: 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e 75 6d 62 t\misc\wholenumb 9db0: 65 72 2e 63 0a 0a 23 20 49 66 20 75 73 65 20 6f er.c..# If use o 9dc0: 66 20 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c 65 f zlib is enable 9dd0: 64 2c 20 61 64 64 20 74 68 65 20 22 7a 69 70 66 d, add the "zipf 9de0: 69 6c 65 2e 63 22 20 73 6f 75 72 63 65 20 66 69 ile.c" source fi 9df0: 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f le..#.!IF$(USE_
9e00: 5a 4c 49 42 29 21 3d 30 0a 54 45 53 54 45 58 54  ZLIB)!=0.TESTEXT
9e10: 20 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28   = $(TESTEXT)$(
9e20: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 7a 69  TOP)\ext\misc\zi
9e30: 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49 46 0a 0a  pfile.c.!ENDIF..
9e40: 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f  # Source code to
9e50: 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 69 6c   the library fil
9e60: 65 73 20 6e 65 65 64 65 64 20 62 79 20 74 68 65  es needed by the
9e70: 20 74 65 73 74 20 66 69 78 74 75 72 65 0a 23 20   test fixture.#
9e80: 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f  (non-amalgamatio
9e90: 6e 29 0a 23 0a 54 45 53 54 53 52 43 32 20 3d 20  n).#.TESTSRC2 =
9ea0: 5c 0a 20 20 24 28 53 52 43 30 30 29 20 5c 0a 20  \.  $(SRC00) \. 9eb0: 20 24 28 53 52 43 30 31 29 20 5c 0a 20 20 24 28$(SRC01) \.  $( 9ec0: 53 52 43 30 36 29 20 5c 0a 20 20 24 28 53 52 43 SRC06) \.$(SRC
9ed0: 30 37 29 20 5c 0a 20 20 24 28 53 52 43 31 30 29  07) \.  $(SRC10) 9ee0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9ef0: 61 73 79 6e 63 5c 73 71 6c 69 74 65 33 61 73 79  async\sqlite3asy
9f00: 6e 63 2e 63 0a 0a 23 20 48 65 61 64 65 72 20 66  nc.c..# Header f
9f10: 69 6c 65 73 20 75 73 65 64 20 62 79 20 61 6c 6c  iles used by all
9f20: 20 6c 69 62 72 61 72 79 20 73 6f 75 72 63 65 20   library source
9f30: 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20 3d 20 5c  files..#.HDR = \
9f40: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62  .   $(TOP)\src\b 9f50: 74 72 65 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f tree.h \.$(TO
9f60: 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e  P)\src\btreeInt.
9f70: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr 9f80: 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 c\hash.h \.$(
9f90: 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e  TOP)\src\hwtime.
9fa0: 68 20 5c 0a 20 20 20 6b 65 79 77 6f 72 64 68 61  h \.   keywordha
9fb0: 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  sh.h \.   $(TOP) 9fc0: 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 \src\msvc.h \. 9fd0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65$(TOP)\src\mute
9fe0: 78 2e 68 20 5c 0a 20 20 20 6f 70 63 6f 64 65 73  x.h \.   opcodes
9ff0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s a000: 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 20 24 28 54 rc\os.h \.$(T
a010: 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f  OP)\src\os_commo
a020: 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  n.h \.   $(TOP)\ a030: 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c src\os_setup.h \ a040: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f .$(TOP)\src\o
a050: 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 24 28 54  s_win.h \.   $(T a060: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 OP)\src\pager.h a070: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
a080: 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 20 70 61  pcache.h \.   pa
a090: 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  rse.h \.   $(TOP a0a0: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c )\src\pragma.h \ a0b0: 0a 20 20 20 24 28 53 51 4c 49 54 45 33 48 29 20 .$(SQLITE3H)
a0c0: 5c 0a 20 20 20 73 71 6c 69 74 65 33 65 78 74 2e  \.   sqlite3ext.
a0d0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr a0e0: 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a c\sqliteInt.h \. a0f0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71$(TOP)\src\sq
a100: 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20  liteLimit.h \.
a110: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe a120: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 .h \.$(TOP)\s
a130: 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20  rc\vdbeInt.h \.
a140: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77    $(TOP)\src\vxw a150: 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f orks.h \.$(TO
a160: 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74 2e  P)\src\whereInt.
a170: 68 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65  h..# Header file
a180: 73 20 75 73 65 64 20 62 79 20 65 78 74 65 6e 73  s used by extens
a190: 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20 3d 20  ions.#.EXTHDR =
a1a0: 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28  $(EXTHDR) \.$(
a1b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a1c0: 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s1.h \.  $(TOP)\ a1d0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 ext\fts1\fts1_ha a1e0: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.h \.$(TOP)\
a1f0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f  ext\fts1\fts1_to
a200: 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52  kenizer.h.EXTHDR
a210: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. a220: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
a230: 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts2.h \.  $(TO a240: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 a250: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f _hash.h \.$(TO
a260: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
a270: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54  _tokenizer.h.EXT
a280: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) a290: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
a2a0: 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24  ts3\fts3.h \.  $a2b0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f a2c0: 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 ts3Int.h \.$(T
a2d0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
a2e0: 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  3_hash.h \.  $(T a2f0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts a300: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 3_tokenizer.h.EX a310: 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 THDR =$(EXTHDR)
a320: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ a330: 72 74 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a rtree\rtree.h \. a340: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72$(TOP)\ext\rtr
a350: 65 65 5c 67 65 6f 70 6f 6c 79 2e 63 0a 45 58 54  ee\geopoly.c.EXT
a360: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) a370: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 \.$(TOP)\ext\i
a380: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 0a 45  cu\sqliteicu.h.E
a390: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52  XTHDR = $(EXTHDR a3a0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 ) \.$(TOP)\ext
a3b0: 5c 72 74 72 65 65 5c 73 71 6c 69 74 65 33 72 74  \rtree\sqlite3rt
a3c0: 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d 20 24  ree.h.EXTHDR = $a3d0: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 (EXTHDR) \.$(T
a3e0: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
a3f0: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68  sqlite3session.h
a400: 0a 0a 23 20 65 78 65 63 75 74 61 62 6c 65 73 20  ..# executables
a410: 6e 65 65 64 65 64 20 66 6f 72 20 74 65 73 74 69  needed for testi
a420: 6e 67 0a 23 0a 54 45 53 54 50 52 4f 47 53 20 3d  ng.#.TESTPROGS =
a430: 20 5c 0a 20 20 74 65 73 74 66 69 78 74 75 72 65   \.  testfixture
a440: 2e 65 78 65 20 5c 0a 20 20 24 28 53 51 4c 49 54  .exe \.  $(SQLIT a450: 45 33 45 58 45 29 20 5c 0a 20 20 73 71 6c 69 74 E3EXE) \. sqlit a460: 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 e3_analyzer.exe a470: 5c 0a 20 20 73 71 6c 69 74 65 33 5f 63 68 65 63 \. sqlite3_chec a480: 6b 65 72 2e 65 78 65 20 5c 0a 20 20 73 71 6c 64 ker.exe \. sqld a490: 69 66 66 2e 65 78 65 20 5c 0a 20 20 64 62 68 61 iff.exe \. dbha a4a0: 73 68 2e 65 78 65 20 5c 0a 20 20 73 71 6c 74 63 sh.exe \. sqltc a4b0: 6c 73 68 2e 65 78 65 0a 0a 23 20 44 61 74 61 62 lsh.exe..# Datab a4c0: 61 73 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 ases containing a4d0: 66 75 7a 7a 65 72 20 74 65 73 74 20 63 61 73 65 fuzzer test case a4e0: 73 0a 23 0a 46 55 5a 5a 44 41 54 41 20 3d 20 5c s.#.FUZZDATA = \ a4f0: 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 .$(TOP)\test\f
a500: 75 7a 7a 64 61 74 61 31 2e 64 62 20 5c 0a 20 20  uzzdata1.db \.
a510: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz a520: 64 61 74 61 32 2e 64 62 20 5c 0a 20 20 24 28 54 data2.db \.$(T
a530: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74  OP)\test\fuzzdat
a540: 61 33 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29  a3.db \.  $(TOP) a550: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 34 2e \test\fuzzdata4. a560: 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 db \.$(TOP)\te
a570: 73 74 5c 66 75 7a 7a 64 61 74 61 35 2e 64 62 20  st\fuzzdata5.db
a580: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\ a590: 66 75 7a 7a 64 61 74 61 36 2e 64 62 0a 23 20 3c fuzzdata6.db.# < a5a0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 69 </mark>>..# Addi a5b0: 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 tional compiler a5c0: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 options for the a5d0: 73 68 65 6c 6c 2e 20 20 54 68 65 73 65 20 61 72 shell. These ar a5e0: 65 20 6f 6e 6c 79 20 65 66 66 65 63 74 69 76 65 e only effective a5f0: 0a 23 20 77 68 65 6e 20 74 68 65 20 73 68 65 6c .# when the shel a600: 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 64 l is not being d a610: 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 ynamically linke a620: 64 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e 41 4d d..#.!IF$(DYNAM
a630: 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26 26 20  IC_SHELL)==0 &&
a640: 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 0a  $(FOR_WIN10)==0. a650: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 SHELL_COMPILE_OP a660: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d TS =$(SHELL_COM
a670: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c  PILE_OPTS) -DSQL
a680: 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31  ITE_ENABLE_JSON1
a690: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
a6a0: 5f 46 54 53 34 20 2d 44 53 51 4c 49 54 45 5f 45  _FTS4 -DSQLITE_E
a6b0: 4e 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f  NABLE_EXPLAIN_CO
a6c0: 4d 4d 45 4e 54 53 20 2d 44 53 51 4c 49 54 45 5f  MMENTS -DSQLITE_
a6d0: 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 0a  ENABLE_STMTVTAB.
a6e0: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
a6f0: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d  TS = $(SHELL_COM a700: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c PILE_OPTS) -DSQL a710: 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 ITE_ENABLE_DBPAG a720: 45 5f 56 54 41 42 20 2d 44 53 51 4c 49 54 45 5f E_VTAB -DSQLITE_ a730: 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 54 ENABLE_DBSTAT_VT a740: 41 42 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 AB.SHELL_COMPILE a750: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f _OPTS =$(SHELL_
a760: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44  COMPILE_OPTS) -D
a770: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4f 46  SQLITE_ENABLE_OF
a780: 46 53 45 54 5f 53 51 4c 5f 46 55 4e 43 20 2d 44  FSET_SQL_FUNC -D
a790: 53 51 4c 49 54 45 5f 49 4e 54 52 4f 53 50 45 43  SQLITE_INTROSPEC
a7a0: 54 49 4f 4e 5f 50 52 41 47 4d 41 53 0a 53 48 45  TION_PRAGMAS.SHE
a7b0: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20  LL_COMPILE_OPTS
a7c0: 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  = $(SHELL_COMPIL a7d0: 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 E_OPTS) -DSQLITE a7e0: 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 0a 21 45 _ENABLE_RTREE.!E a7f0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e NDIF..# <<mark>> a800: 0a 23 20 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 .# Extra compile a810: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 r options for va a820: 72 69 6f 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 rious test tools a830: 2e 0a 23 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d ..#.MPTESTER_COM a840: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 PILE_OPTS = -DSQ a850: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e LITE_ENABLE_JSON a860: 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 1 -DSQLITE_ENABL a870: 45 5f 46 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 E_FTS5.FUZZERSHE a880: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 LL_COMPILE_OPTS a890: 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c = -DSQLITE_ENABL a8a0: 45 5f 4a 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 E_JSON1.FUZZCHEC a8b0: 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d K_COMPILE_OPTS = a8c0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE a8d0: 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f _JSON1 -DSQLITE_ a8e0: 45 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d ENABLE_MEMSYS5 - a8f0: 44 53 51 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a DSQLITE_OSS_FUZZ a900: 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45 -DSQLITE_MAX_ME a910: 4d 4f 52 59 3d 35 30 30 30 30 30 30 30 20 2d 44 MORY=50000000 -D a920: 53 51 4c 49 54 45 5f 50 52 49 4e 54 46 5f 50 52 SQLITE_PRINTF_PR a930: 45 43 49 53 49 4f 4e 5f 4c 49 4d 49 54 3d 31 30 ECISION_LIMIT=10 a940: 30 30 0a 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 00.FUZZCHECK_SRC a950: 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 =$(TOP)\test\f
a960: 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 54 4f 50  uzzcheck.c $(TOP a970: 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 )\test\ossfuzz.c a980: 0a 4f 53 53 53 48 45 4c 4c 5f 53 52 43 20 3d 20 .OSSSHELL_SRC = a990: 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 73$(TOP)\test\osss
a9a0: 68 65 6c 6c 2e 63 20 24 28 54 4f 50 29 5c 74 65  hell.c $(TOP)\te a9b0: 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 44 42 46 st\ossfuzz.c.DBF a9c0: 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 UZZ_COMPILE_OPTS a9d0: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 = -DSQLITE_THRE a9e0: 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 ADSAFE=0 -DSQLIT a9f0: 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 E_OMIT_LOAD_EXTE aa00: 4e 53 49 4f 4e 0a 4b 56 5f 43 4f 4d 50 49 4c 45 NSION.KV_COMPILE aa10: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 _OPTS = -DSQLITE aa20: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 _THREADSAFE=0 -D aa30: 53 51 4c 49 54 45 5f 44 49 52 45 43 54 5f 4f 56 SQLITE_DIRECT_OV aa40: 45 52 46 4c 4f 57 5f 52 45 41 44 0a 53 54 5f 43 ERFLOW_READ.ST_C aa50: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 OMPILE_OPTS = -D aa60: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 SQLITE_THREADSAF aa70: 45 3d 30 0a 0a 23 20 53 74 61 6e 64 61 72 64 20 E=0..# Standard aa80: 6f 70 74 69 6f 6e 73 20 74 6f 20 74 65 73 74 66 options to testf aa90: 69 78 74 75 72 65 2e 0a 23 0a 54 45 53 54 4f 50 ixture..#.TESTOP aaa0: 54 53 20 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66 TS = --verbose=f aab0: 69 6c 65 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73 ile --output=tes aac0: 74 2d 6f 75 74 2e 74 78 74 0a 0a 23 20 45 78 74 t-out.txt..# Ext aad0: 72 61 20 74 61 72 67 65 74 73 20 66 6f 72 20 74 ra targets for t aae0: 68 65 20 22 61 6c 6c 22 20 74 61 72 67 65 74 20 he "all" target aaf0: 74 68 61 74 20 72 65 71 75 69 72 65 20 54 63 6c that require Tcl ab00: 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c ..#.!IF$(NO_TCL
ab10: 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52  )==0.ALL_TCL_TAR
ab20: 47 45 54 53 20 3d 20 6c 69 62 74 63 6c 73 71 6c  GETS = libtclsql
ab30: 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53 45 0a 41  ite3.lib.!ELSE.A
ab40: 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d  LL_TCL_TARGETS =
ab50: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
ab60: 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74  k>>..# This is t
ab70: 68 65 20 64 65 66 61 75 6c 74 20 4d 61 6b 65 66  he default Makef
ab80: 69 6c 65 20 74 61 72 67 65 74 2e 20 20 54 68 65  ile target.  The
ab90: 20 6f 62 6a 65 63 74 73 20 6c 69 73 74 65 64 20   objects listed
aba0: 68 65 72 65 0a 23 20 61 72 65 20 77 68 61 74 20  here.# are what
abb0: 67 65 74 20 62 75 69 6c 64 20 77 68 65 6e 20 79  get build when y
abc0: 6f 75 20 74 79 70 65 20 6a 75 73 74 20 22 6d 61  ou type just "ma
abd0: 6b 65 22 20 77 69 74 68 20 6e 6f 20 61 72 67 75  ke" with no argu
abe0: 6d 65 6e 74 73 2e 0a 23 0a 63 6f 72 65 3a 09 64  ments..#.core:.d
abf0: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  ll libsqlite3.li
ac00: 62 20 73 68 65 6c 6c 0a 0a 23 20 54 61 72 67 65  b shell..# Targe
ac10: 74 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20  ts that require
ac20: 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 2e  the Tcl library.
ac30: 0a 23 0a 74 63 6c 3a 09 24 28 41 4c 4c 5f 54 43  .#.tcl:.$(ALL_TC ac40: 4c 5f 54 41 52 47 45 54 53 29 0a 0a 23 20 54 68 L_TARGETS)..# Th ac50: 69 73 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 is Makefile targ ac60: 65 74 20 62 75 69 6c 64 73 20 61 6c 6c 20 6f 66 et builds all of ac70: 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 62 69 the standard bi ac80: 6e 61 72 69 65 73 2e 0a 23 0a 61 6c 6c 3a 09 63 naries..#.all:.c ac90: 6f 72 65 20 74 63 6c 0a 0a 23 20 44 79 6e 61 6d ore tcl..# Dynam aca0: 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 ic link library acb0: 73 65 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09 section..#.dll:. acc0: 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23$(SQLITE3DLL)..#
acd0: 20 53 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   Shell executabl
ace0: 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09 24 28 53 51  e..#.shell:.$(SQ acf0: 4c 49 54 45 33 45 58 45 29 0a 0a 23 20 3c 3c 6d LITE3EXE)..# <<m ad00: 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c 69 74 65 33 ark>>.libsqlite3 ad10: 2e 6c 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a .lib:.$(LIBOBJ).
ad20: 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49  .$(LTLIB)$(LTLI
ad30: 42 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24  BOPTS) /OUT:$@$
ad40: 28 4c 49 42 4f 42 4a 29 20 24 28 54 4c 49 42 53  (LIBOBJ) $(TLIBS ad50: 29 0a 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 )..libtclsqlite3 ad60: 2e 6c 69 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e .lib:.tclsqlite. ad70: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 lo libsqlite3.li ad80: 62 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 b..$(LTLIB) $(LT ad90: 4c 49 42 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 LIBOPTS)$(LTLIB
ada0: 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74  PATHS) /OUT:$@ t adb0: 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 clsqlite.lo libs adc0: 71 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 qlite3.lib$(LIB
add0: 54 43 4c 53 54 55 42 29 20 24 28 54 4c 49 42 53  TCLSTUB) $(TLIBS ade0: 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 ).# <</mark>>..$
adf0: 28 53 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28  (SQLITE3DLL):.$( ae00: 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 LIBOBJ)$(LIBRES
ae10: 4f 42 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e  OBJS) $(CORE_LIN ae20: 4b 5f 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28 K_DEP)..$(LD) $( ae30: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
ae40: 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA ae50: 54 48 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45 THS) /DLL$(CORE
ae60: 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54  _LINK_OPTS) /OUT
ae70: 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28  :$@$(LIBOBJ) $( ae80: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 LIBRESOBJS)$(LT
ae90: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS).. aea0: 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c # <<block2>>.sql aeb0: 69 74 65 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c ite3.def:.libsql aec0: 69 74 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45 ite3.lib..echo E aed0: 58 50 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33 XPORTS > sqlite3 aee0: 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 .def..dumpbin /a aef0: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 ll libsqlite3.li af00: 62 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f b \...|$(TCLSH_
af10: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool af20: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 \replace.tcl inc af30: 6c 75 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 lude "^\s+1 _?(s af40: 71 6c 69 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e qlite3(?:session af50: 7c 63 68 61 6e 67 65 73 65 74 7c 63 68 61 6e 67 |changeset|chang af60: 65 67 72 6f 75 70 7c 72 65 62 61 73 65 72 29 3f egroup|rebaser)? af70: 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f _[^@]*)(?:@\d+)? af80: 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72$$" \1 \...| sor af90: 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 t >> sqlite3.def afa0: 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a .# <</block2>>.. afb0: 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 73$(SQLITE3EXE):.s
afc0: 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43  hell.c $(SHELL_C afd0: 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45 ORE_DEP)$(LIBRE
afe0: 53 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43  SOBJS) $(SHELL_C aff0: 4f 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54 ORE_SRC)$(SQLIT
b000: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) b010: 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f$(SHELL_COMPILE_
b020: 4f 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45  OPTS) $(READLINE b030: 5f 46 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63 20 _FLAGS) shell.c b040: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43$(SHELL_CORE_SRC
b050: 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51  ) \.../link $(SQ b060: 4c 49 54 45 33 45 58 45 50 44 42 29 20 24 28 4c LITE3EXEPDB)$(L
b070: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK b080: 4f 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 OPTS)$(SHELL_LI
b090: 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  NK_OPTS) $(LTLIB b0a0: 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f PATHS)$(LIBRESO
b0b0: 42 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49  BJS) $(LIBREADLI b0c0: 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 NE)$(LTLIBS) $( b0d0: 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b TLIBS)..# <<mark b0e0: 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 >>.sqldiff.exe:. b0f0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64$(TOP)\tool\sqld
b100: 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iff.c $(SQLITE3C b110: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 )$(SQLITE3H)..$b120: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 (LTLINK)$(NO_WA
b130: 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\ b140: 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 sqldiff.c$(SQLI
b150: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD b160: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
b170: 50 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65  PTS)..dbhash.exe
b180: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62  :.$(TOP)\tool\db b190: 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 hash.c$(SQLITE3
b1a0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. b1b0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W b1c0: 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c ARN)$(TOP)\tool
b1d0: 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49  \dbhash.c $(SQLI b1e0: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 TE3C) /link$(LD
b1f0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO b200: 50 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a PTS)..scrub.exe: b210: 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 .$(TOP)\ext\misc
b220: 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54  \scrub.c $(SQLIT b230: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
b240: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
b250: 5f 57 41 52 4e 29 20 2d 44 53 43 52 55 42 5f 53  _WARN) -DSCRUB_S
b260: 54 41 4e 44 41 4c 4f 4e 45 3d 31 20 24 28 54 4f  TANDALONE=1 $(TO b270: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 P)\ext\misc\scru b280: 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 b.c$(SQLITE3C)
b290: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) b2a0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
b2b0: 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f  srcck1.exe:.$(TO b2c0: 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 P)\tool\srcck1.c b2d0: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 ..$(BCC) $(NO_WA b2e0: 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 RN) -Fe$@ $(TOP) b2f0: 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a \tool\srcck1.c.. b300: 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63 63 sourcetest:.srcc b310: 6b 31 2e 65 78 65 20 24 28 53 51 4c 49 54 45 33 k1.exe$(SQLITE3
b320: 43 29 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 24  C)..srcck1.exe $b330: 28 53 51 4c 49 54 45 33 43 29 0a 0a 66 75 7a 7a (SQLITE3C)..fuzz b340: 65 72 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 ershell.exe:.$(T
b350: 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73  OP)\tool\fuzzers
b360: 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  hell.c $(SQLITE3 b370: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
b380: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
b390: 41 52 4e 29 20 24 28 46 55 5a 5a 45 52 53 48 45  ARN) $(FUZZERSHE b3a0: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 LL_COMPILE_OPTS) b3b0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a$(TOP)\tool\fuz
b3c0: 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c  zershell.c $(SQL b3d0: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
b3e0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK b3f0: 4f 50 54 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78 OPTS)..dbfuzz.ex b400: 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 e:.$(TOP)\test\d
b410: 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  bfuzz.c $(SQLITE b420: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
b430: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
b440: 57 41 52 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43  WARN) $(DBFUZZ_C b450: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 OMPILE_OPTS)$(T
b460: 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e  OP)\test\dbfuzz.
b470: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l b480: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $b490: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 (LTLINKOPTS)..fu b4a0: 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 46 zzcheck.exe:.$(F
b4b0: 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28  UZZCHECK_SRC) $( b4c0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 SQLITE3C)$(SQLI
b4d0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK) b4e0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55$(NO_WARN) $(FU b4f0: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f ZZCHECK_COMPILE_ b500: 4f 50 54 53 29 20 24 28 46 55 5a 5a 43 48 45 43 OPTS)$(FUZZCHEC
b510: 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  K_SRC) $(SQLITE3 b520: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
b530: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS b540: 29 0a 0a 6f 73 73 73 68 65 6c 6c 2e 65 78 65 3a )..ossshell.exe: b550: 09 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29 .$(OSSSHELL_SRC)
b560: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
b570: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI b580: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 NK)$(NO_WARN) $b590: 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 (FUZZCHECK_COMPI b5a0: 4c 45 5f 4f 50 54 53 29 20 24 28 4f 53 53 53 48 LE_OPTS)$(OSSSH
b5b0: 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ELL_SRC) $(SQLIT b5c0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 E3C) /link$(LDF
b5d0: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP b5e0: 54 53 29 0a 0a 73 65 73 73 69 6f 6e 66 75 7a 7a TS)..sessionfuzz b5f0: 2e 65 78 65 3a 09 7a 6c 69 62 20 24 28 54 4f 50 .exe:.zlib$(TOP
b600: 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e 66 75  )\test\sessionfu
b610: 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  zz.c $(SQLITE3C) b620: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( b630: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
b640: 4e 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49  N) -I$(ZLIBINCDI b650: 52 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 R)$(TOP)\test\s
b660: 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 2f 6c 69  essionfuzz.c /li
b670: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
b680: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4c 49 42  LTLINKOPTS) /LIB
b690: 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49  PATH:$(ZLIBLIBDI b6a0: 52 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a 0a 6d R)$(ZLIBLIB)..m
b6b0: 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24 28 54  ptester.exe:.$(T b6c0: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 OP)\mptest\mptes b6d0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 t.c$(SQLITE3C)
b6e0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
b6f0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN b700: 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d )$(MPTESTER_COM
b710: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50  PILE_OPTS) $(TOP b720: 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e )\mptest\mptest. b730: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c c$(SQLITE3C) /l
b740: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
b750: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50  (LTLINKOPTS)..MP
b760: 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74 65 72  TEST1 = mptester
b770: 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50   mptest.db $(TOP b780: 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68 30 31 )\mptest\crash01 b790: 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20 32 .test --repeat 2 b7a0: 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70 74 65 0.MPTEST2 = mpte b7b0: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 ster mptest.db$
b7c0: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c  (TOP)\mptest\mul
b7d0: 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 20 2d  tiwrite01.test -
b7e0: 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70 74 65  -repeat 20..mpte
b7f0: 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65 78 65  st:.mptester.exe
b800: 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e  ..del /Q mptest.
b810: 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45  db 2>NUL..$(MPTE b820: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f ST1) --journalmo b830: 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d 50 54 de DELETE..$(MPT
b840: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
b850: 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53  ode WAL..$(MPTES b860: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 T1) --journalmod b870: 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 32 e WAL..$(MPTEST2
b880: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode
b890: 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53  PERSIST..$(MPTES b8a0: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 T1) --journalmod b8b0: 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 e PERSIST..$(MPT
b8c0: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
b8d0: 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28  ode TRUNCATE..$( b8e0: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e MPTEST1) --journ b8f0: 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a almode TRUNCATE. b900: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f .$(MPTEST2) --jo
b910: 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45  urnalmode DELETE
b920: 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65 74 20  ..# This target
b930: 63 72 65 61 74 65 73 20 61 20 64 69 72 65 63 74  creates a direct
b940: 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72 63 22  ory named "tsrc"
b950: 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 77 69   and fills it wi
b960: 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 20 61  th.# copies of a
b970: 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72  ll of the C sour
b980: 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64  ce code and head
b990: 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20  er files needed
b9a0: 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74 68  to.# build on th
b9b0: 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e  e target system.
b9c0: 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 43 20    Some of the C
b9d0: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20  source code and
b9e0: 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73 20 61  header.# files a
b9f0: 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  re automatically
ba00: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54 68 69   generated.  Thi
ba10: 73 20 74 61 72 67 65 74 20 74 61 6b 65 73 20 63  s target takes c
ba20: 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61  are of.# all tha
ba30: 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65 6e 65  t automatic gene
ba40: 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65  ration..#..targe
ba50: 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52 43 29  t_source:.$(SRC) ba60: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62$(TOP)\tool\vdb
ba70: 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66  e-compress.tcl f
ba80: 74 73 35 2e 63 20 24 28 53 51 4c 49 54 45 5f 54  ts5.c $(SQLITE_T ba90: 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 69 72 20 CL_DEP)..-rmdir baa0: 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a /Q/S tsrc 2>NUL. bab0: 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09 66 6f .-mkdir tsrc..fo bac0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 30 r %i in ($(SRC00
bad0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
bae0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
baf0: 20 28 24 28 53 52 43 30 31 29 29 20 64 6f 20 63   ($(SRC01)) do c bb00: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 opy /Y %i tsrc.. bb10: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 for %i in ($(SRC
bb20: 30 33 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  03)) do copy /Y
bb30: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i
bb40: 69 6e 20 28 24 28 53 52 43 30 34 29 29 20 64 6f  in ($(SRC04)) do bb50: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 copy /Y %i tsrc bb60: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 ..for %i in ($(S
bb70: 52 43 30 35 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC05)) do copy /
bb80: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
bb90: 69 20 69 6e 20 28 24 28 53 52 43 30 36 29 29 20  i in ($(SRC06)) bba0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 do copy /Y %i ts bbb0: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 rc..for %i in ($
bbc0: 28 53 52 43 30 37 29 29 20 64 6f 20 63 6f 70 79  (SRC07)) do copy
bbd0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
bbe0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 38 29   %i in ($(SRC08) bbf0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 ) do copy /Y %i bc00: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 tsrc..for %i in bc10: 28 24 28 53 52 43 30 39 29 29 20 64 6f 20 63 6f ($(SRC09)) do co
bc20: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
bc30: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31  or %i in ($(SRC1 bc40: 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 0)) do copy /Y % bc50: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 i tsrc..for %i i bc60: 6e 20 28 24 28 53 52 43 31 31 29 29 20 64 6f 20 n ($(SRC11)) do
bc70: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
bc80: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR bc90: 43 31 32 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 C12)) do copy /Y bca0: 20 25 69 20 74 73 72 63 0a 09 63 6f 70 79 20 2f %i tsrc..copy / bcb0: 59 20 66 74 73 35 2e 63 20 74 73 72 63 0a 09 63 Y fts5.c tsrc..c bcc0: 6f 70 79 20 2f 59 20 66 74 73 35 2e 68 20 74 73 opy /Y fts5.h ts bcd0: 72 63 0a 09 64 65 6c 20 2f 51 20 74 73 72 63 5c rc..del /Q tsrc\ bce0: 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 sqlite.h.in tsrc bcf0: 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 \parse.y 2>NUL.. bd00: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T bd10: 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f OP)\tool\vdbe-co bd20: 6d 70 72 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 mpress.tcl$(OPT
bd30: 53 29 20 3c 20 74 73 72 63 5c 76 64 62 65 2e 63  S) < tsrc\vdbe.c
bd40: 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76   > vdbe.new..mov
bd50: 65 20 76 64 62 65 2e 6e 65 77 20 74 73 72 63 5c  e vdbe.new tsrc\
bd60: 76 64 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e  vdbe.c..echo > .
bd70: 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73  target_source..s
bd80: 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61 72 67 65  qlite3.c:..targe
bd90: 74 5f 73 6f 75 72 63 65 20 73 71 6c 69 74 65 33  t_source sqlite3
bda0: 65 78 74 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45  ext.h $(MKSQLITE bdb0: 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 3C_TOOL)..$(TCLS
bdc0: 48 5f 43 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54  H_CMD) $(MKSQLIT bdd0: 45 33 43 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 E3C_TOOL)$(MKSQ
bde0: 4c 49 54 45 33 43 5f 41 52 47 53 29 0a 09 63 6f  LITE3C_ARGS)..co
bdf0: 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  py $(TOP)\ext\se be00: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 ssion\sqlite3ses be10: 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65 sion.h ...sqlite be20: 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33 3-all.c:.sqlite3 be30: 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 .c$(TOP)\tool\s
be40: 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63  plit-sqlite3c.tc
be50: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  l..$(TCLSH_CMD) be60: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69$(TOP)\tool\spli
be70: 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23  t-sqlite3c.tcl.#
be80: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75   <</mark>>..# Ru
be90: 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  le to build the
bea0: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73  amalgamation.#.s
beb0: 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c  qlite3.lo:.$(SQL bec0: 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50 ITE3C)..$(LTCOMP
bed0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP bee0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 53 ILE_OPTS) -c$(S
bef0: 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61  QLITE3C)..# <<ma
bf00: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to
bf10: 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20  build the LEMON
bf20: 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 74  compiler generat
bf30: 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24  or.#.lempar.c:.$bf40: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 (TOP)\tool\lempa bf50: 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 r.c..copy$(TOP)
bf60: 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e  \tool\lempar.c .
bf70: 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54  ..lemon.exe:.$(T bf80: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 OP)\tool\lemon.c bf90: 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43 lempar.c..$(BCC
bfa0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61  ) $(NO_WARN) -Da bfb0: 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a ccess=_access \. bfc0: 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 ..-Fe$@ $(TOP)\t bfd0: 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e ool\lemon.c /lin bfe0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e k$(LDFLAGS) $(N bff0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c LTLINKOPTS)$(NL
c000: 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 3c 3c  TLIBPATHS)..# <<
c010: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74  mark>>.# Rules t
c020: 6f 20 62 75 69 6c 64 20 74 68 65 20 73 6f 75 72  o build the sour
c030: 63 65 2d 69 64 20 67 65 6e 65 72 61 74 6f 72 20  ce-id generator
c040: 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63 65 69  tool.#.mksourcei
c050: 64 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  d.exe:.$(TOP)\to c060: 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 0a ol\mksourceid.c. c070: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 .$(BCC) $(NO_WAR c080: 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c N) -Fe$@ $(TOP)\ c090: 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e tool\mksourceid. c0a0: 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 c /link$(LDFLAG
c0b0: 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53  S) $(NLTLINKOPTS c0c0: 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 )$(NLTLIBPATHS)
c0d0: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
c0e0: 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e  ld individual *.
c0f0: 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 67 65  lo files from ge
c100: 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69 6c 65  nerated *.c file
c110: 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c 69 65  s. This.# applie
c120: 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61  s to:.#.#     pa
c130: 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63  rse.lo.#     opc
c140: 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e  odes.lo.#.parse.
c150: 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28 48 44  lo:.parse.c $(HD c160: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c170: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c180: 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65 2e 63 OPTS) -c parse.c c190: 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 ..opcodes.lo:.op c1a0: 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d codes.c..$(LTCOM
c1b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM c1c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70 PILE_OPTS) -c op c1d0: 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 codes.c.# <</mar c1e0: 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 k>>..# Rule to b c1f0: 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32 20 72 uild the Win32 r c200: 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63 74 20 esources object c210: 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 file..#.!IF$(US
c220: 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f  E_RC)!=0.# <<blo
c230: 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42  ck1>>.$(LIBRESOB c240: 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c JS):.$(TOP)\src\
c250: 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53 51 4c  sqlite3.rc $(SQL c260: 49 54 45 33 48 29 0a 09 65 63 68 6f 20 23 69 66 ITE3H)..echo #if c270: 6e 64 65 66 20 53 51 4c 49 54 45 5f 52 45 53 4f ndef SQLITE_RESO c280: 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73 URCE_VERSION > s c290: 71 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f 72 20 qlite3rc.h..for c2a0: 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 65 /F %%V in ('type c2b0: 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e "$(TOP)\VERSION
c2c0: 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 68  "') do ( \...ech
c2d0: 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45  o #define SQLITE
c2e0: 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f  _RESOURCE_VERSIO
c2f0: 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 24 28 54  N %%V \....| $(T c300: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
c310: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
c320: 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20  l exact . ^, >>
c330: 73 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09 29  sqlite3rc.h \..)
c340: 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e  ..echo #endif >>
c350: 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 24 28   sqlite3rc.h..$( c360: 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 LTRCOMPILE) -fo c370: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28$(LIBRESOBJS) $( c380: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 TOP)\src\sqlite3 c390: 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e .rc.# <</block1> c3a0: 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 >.!ENDIF..# <<ma c3b0: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 rk>>.# Rules to c3c0: 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c build individual c3d0: 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d *.lo files from c3e0: 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73 72 files in the sr c3f0: 63 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61 c directory..#.a c400: 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c lter.lo:.$(TOP)\
c410: 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 28 48 44  src\alter.c $(HD c420: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c430: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c440: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c450: 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61  src\alter.c..ana
c460: 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lyze.lo:.$(TOP)\ c470: 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28 src\analyze.c$(
c480: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL c490: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
c4a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP c4b0: 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a )\src\analyze.c. c4c0: 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f .attach.lo:.$(TO
c4d0: 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20  P)\src\attach.c
c4e0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c4f0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c500: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
c510: 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63  OP)\src\attach.c
c520: 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50  ..auth.lo:.$(TOP c530: 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 28 48 )\src\auth.c$(H
c540: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE c550: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
c560: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) c570: 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63 \src\auth.c..bac c580: 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 kup.lo:.$(TOP)\s
c590: 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48 44  rc\backup.c $(HD c5a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c5b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c5c0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c5d0: 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69  src\backup.c..bi
c5e0: 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tvec.lo:.$(TOP)\ c5f0: 73 72 63 5c 62 69 74 76 65 63 2e 63 20 24 28 48 src\bitvec.c$(H
c600: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE c610: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
c620: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) c630: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62 \src\bitvec.c..b c640: 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 tmutex.lo:.$(TOP
c650: 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20  )\src\btmutex.c
c660: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c670: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c680: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
c690: 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e  OP)\src\btmutex.
c6a0: 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54  c..btree.lo:.$(T c6b0: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 OP)\src\btree.c c6c0: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72$(HDR) $(TOP)\sr c6d0: 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 c\pager.h..$(LTC
c6e0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C c6f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c c700: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65$(TOP)\src\btree
c710: 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28  .c..build.lo:.$( c720: 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 TOP)\src\build.c c730: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM c740: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
c750: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( c760: 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 TOP)\src\build.c c770: 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 ..callback.lo:.$
c780: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61  (TOP)\src\callba
c790: 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ck.c $(HDR)..$(L
c7a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE c7b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - c7c0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c c$(TOP)\src\cal
c7d0: 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74  lback.c..complet
c7e0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src c7f0: 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 44 \complete.c$(HD
c800: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) c810: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
c820: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ c830: 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a src\complete.c.. c840: 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 ctime.lo:.$(TOP)
c850: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 24 28 48  \src\ctime.c $(H c860: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
c870: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE c880: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
c890: 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61  \src\ctime.c..da
c8a0: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  te.lo:.$(TOP)\sr c8b0: 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a c\date.c$(HDR).
c8c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
c8d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c8e0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src c8f0: 5c 64 61 74 65 2e 63 0a 0a 64 62 70 61 67 65 2e \date.c..dbpage. c900: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 lo:.$(TOP)\src\d
c910: 62 70 61 67 65 2e 63 20 24 28 48 44 52 29 0a 09  bpage.c $(HDR).. c920: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C c930: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS c940: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
c950: 64 62 70 61 67 65 2e 63 0a 0a 64 62 73 74 61 74  dbpage.c..dbstat
c960: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ c970: 64 62 73 74 61 74 2e 63 20 24 28 48 44 52 29 0a dbstat.c$(HDR).
c980: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
c990: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c9a0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src c9b0: 5c 64 62 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74 \dbstat.c..delet c9c0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
c9d0: 5c 64 65 6c 65 74 65 2e 63 20 24 28 48 44 52 29  \delete.c $(HDR) c9e0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c9f0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP ca00: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
ca10: 63 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72  c\delete.c..expr
ca20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ ca30: 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 expr.c$(HDR)..$ca40: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
ca50: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ca60: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 65   -c $(TOP)\src\e ca70: 78 70 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a xpr.c..fault.lo: ca80: 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c .$(TOP)\src\faul
ca90: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
caa0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ cab0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c cac0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c$(TOP)\src\faul
cad0: 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28  t.c..fkey.lo:.$( cae0: 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 TOP)\src\fkey.c caf0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP cb00: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
cb10: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T cb20: 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a OP)\src\fkey.c.. cb30: 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c func.lo:.$(TOP)\
cb40: 73 72 63 5c 66 75 6e 63 2e 63 20 24 28 48 44 52  src\func.c $(HDR cb50: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
cb60: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O cb70: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
cb80: 72 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61  rc\func.c..globa
cb90: 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  l.lo:.$(TOP)\src cba0: 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 48 44 52 29 \global.c$(HDR)
cbb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
cbc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cbd0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr cbe0: 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 c\global.c..hash cbf0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
cc00: 68 61 73 68 2e 63 20 24 28 48 44 52 29 0a 09 24  hash.c $(HDR)..$
cc10: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO cc20: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) cc30: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 -c$(TOP)\src\h
cc40: 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f  ash.c..insert.lo
cc50: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73  :.$(TOP)\src\ins cc60: 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ert.c$(HDR)..$( cc70: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
cc80: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
cc90: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e  -c $(TOP)\src\in cca0: 73 65 72 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c sert.c..legacy.l ccb0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 o:.$(TOP)\src\le
ccc0: 67 61 63 79 2e 63 20 24 28 48 44 52 29 0a 09 24  gacy.c $(HDR)..$
ccd0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO cce0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) ccf0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c -c$(TOP)\src\l
cd00: 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74  egacy.c..loadext
cd10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ cd20: 6c 6f 61 64 65 78 74 2e 63 20 24 28 48 44 52 29 loadext.c$(HDR)
cd30: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
cd40: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cd50: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr cd60: 63 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69 c\loadext.c..mai cd70: 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 n.lo:.$(TOP)\src
cd80: 5c 6d 61 69 6e 2e 63 20 24 28 48 44 52 29 0a 09  \main.c $(HDR).. cd90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C cda0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS cdb0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
cdc0: 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c  main.c..malloc.l
cdd0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  o:.$(TOP)\src\ma cde0: 6c 6c 6f 63 2e 63 20 24 28 48 44 52 29 0a 09 24 lloc.c$(HDR)..$cdf0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
ce00: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ce10: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m ce20: 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f alloc.c..mem0.lo ce30: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d :.$(TOP)\src\mem
ce40: 30 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  0.c $(HDR)..$(LT
ce50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ ce60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c ce70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30$(TOP)\src\mem0
ce80: 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54  .c..mem1.lo:.$(T ce90: 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24 OP)\src\mem1.c$
cea0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI ceb0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
cec0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO ced0: 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d P)\src\mem1.c..m cee0: 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 em2.lo:.$(TOP)\s
cef0: 72 63 5c 6d 65 6d 32 2e 63 20 24 28 48 44 52 29  rc\mem2.c $(HDR) cf00: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $cf10: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP cf20: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
cf30: 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c  c\mem2.c..mem3.l
cf40: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me cf50: 6d 33 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c m3.c$(HDR)..$(L cf60: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
cf70: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cf80: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem cf90: 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 3.c..mem5.lo:.$(
cfa0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20  TOP)\src\mem5.c
cfb0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cfc0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP cfd0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
cfe0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a  OP)\src\mem5.c..
cff0: 6d 65 6d 64 62 2e 6c 6f 3a 09 24 28 54 4f 50 29  memdb.lo:.$(TOP) d000: 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 20 24 28 48 \src\memdb.c$(H
d010: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE d020: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
d030: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) d040: 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 0a 0a 6d 65 \src\memdb.c..me d050: 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 mjournal.lo:.$(T
d060: 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e  OP)\src\memjourn
d070: 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  al.c $(HDR)..$(L
d080: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d090: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d0a0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d c$(TOP)\src\mem
d0b0: 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78  journal.c..mutex
d0c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d0d0: 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09 mutex.c$(HDR)..
d0e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
d0f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d100: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ d110: 6d 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e mutex.c..mutex_n d120: 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 oop.lo:.$(TOP)\s
d130: 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20  rc\mutex_noop.c
d140: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d150: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP d160: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
d170: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
d180: 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78  op.c..mutex_unix
d190: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d1a0: 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 mutex_unix.c$(H
d1b0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE d1c0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
d1d0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) d1e0: 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e \src\mutex_unix. d1f0: 63 0a 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a c..mutex_w32.lo: d200: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 .$(TOP)\src\mute
d210: 78 5f 77 33 32 2e 63 20 24 28 48 44 52 29 0a 09  x_w32.c $(HDR).. d220: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d230: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d240: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d250: 6d 75 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74  mutex_w32.c..not
d260: 69 66 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ify.lo:.$(TOP)\s d270: 72 63 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 44 rc\notify.c$(HD
d280: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) d290: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
d2a0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ d2b0: 73 72 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 src\notify.c..pa d2c0: 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ger.lo:.$(TOP)\s
d2d0: 72 63 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52  rc\pager.c $(HDR d2e0: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 )$(TOP)\src\pag
d2f0: 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  er.h..$(LTCOMPIL d300: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d310: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d320: 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70 )\src\pager.c..p d330: 63 61 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 cache.lo:.$(TOP)
d340: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 24 28  \src\pcache.c $( d350: 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c HDR)$(TOP)\src\
d360: 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f  pcache.h..$(LTCO d370: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d380: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $d390: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 (TOP)\src\pcache d3a0: 2e 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09 .c..pcache1.lo:. d3b0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68$(TOP)\src\pcach
d3c0: 65 31 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  e1.c $(HDR)$(TO
d3d0: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a  P)\src\pcache.h.
d3e0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d3f0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d400: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src d410: 5c 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c \pcache1.c..os.l d420: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 o:.$(TOP)\src\os
d430: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d440: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C d450: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c d460: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a$(TOP)\src\os.c.
d470: 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54  .os_unix.lo:.$(T d480: 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e OP)\src\os_unix. d490: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO d4a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d4b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $d4c0: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 (TOP)\src\os_uni d4d0: 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 x.c..os_win.lo:. d4e0: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69$(TOP)\src\os_wi
d4f0: 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  n.c $(HDR)..$(LT
d500: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d510: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d520: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77$(TOP)\src\os_w
d530: 69 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a  in.c..pragma.lo:
d540: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67  .$(TOP)\src\prag d550: 6d 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c ma.c$(HDR)..$(L d560: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d570: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d580: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61  c $(TOP)\src\pra d590: 67 6d 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c gma.c..prepare.l d5a0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 o:.$(TOP)\src\pr
d5b0: 65 70 61 72 65 2e 63 20 24 28 48 44 52 29 0a 09  epare.c $(HDR).. d5c0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d5d0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d5e0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d5f0: 70 72 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74  prepare.c..print
d600: 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  f.lo:.$(TOP)\src d610: 5c 70 72 69 6e 74 66 2e 63 20 24 28 48 44 52 29 \printf.c$(HDR)
d620: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
d630: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d640: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr d650: 63 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 c\printf.c..rand d660: 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 om.lo:.$(TOP)\sr
d670: 63 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52  c\random.c $(HDR d680: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
d690: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O d6a0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
d6b0: 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73  rc\random.c..res
d6c0: 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  olve.lo:.$(TOP)\ d6d0: 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28 src\resolve.c$(
d6e0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d6f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d700: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d710: 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a )\src\resolve.c. d720: 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f .rowset.lo:.$(TO
d730: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c
d740: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d750: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP d760: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
d770: 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63  OP)\src\rowset.c
d780: 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54  ..select.lo:.$(T d790: 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 OP)\src\select.c d7a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM d7b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
d7c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( d7d0: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e TOP)\src\select. d7e0: 63 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 c..status.lo:.$(
d7f0: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e  TOP)\src\status.
d800: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d810: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO d820: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
d830: 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73  (TOP)\src\status
d840: 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28  .c..table.lo:.$( d850: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 TOP)\src\table.c d860: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM d870: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
d880: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( d890: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 TOP)\src\table.c d8a0: 0a 0a 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28 ..threads.lo:.$(
d8b0: 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73  TOP)\src\threads
d8c0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d8d0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C d8e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c d8f0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61$(TOP)\src\threa
d900: 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c  ds.c..tokenize.l
d910: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f  o:.$(TOP)\src\to d920: 6b 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 kenize.c keyword d930: 68 61 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24 hash.h$(HDR)..$d940: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d950: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d960: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t d970: 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76 okenize.c..treev d980: 69 65 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 iew.lo:.$(TOP)\s
d990: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 24 28  rc\treeview.c $( d9a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d9b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d9c0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
d9d0: 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63  )\src\treeview.c
d9e0: 0a 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28  ..trigger.lo:.$( d9f0: 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 TOP)\src\trigger da00: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC da10: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
da20: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
da30: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67  $(TOP)\src\trigg da40: 65 72 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a er.c..update.lo: da50: 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 .$(TOP)\src\upda
da60: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
da70: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE da80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - da90: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 c$(TOP)\src\upd
daa0: 61 74 65 2e 63 0a 0a 75 70 73 65 72 74 2e 6c 6f  ate.c..upsert.lo
dab0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73  :.$(TOP)\src\ups dac0: 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ert.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 75 70  -c $(TOP)\src\up db00: 73 65 72 74 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 sert.c..utf.lo:. db10: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63$(TOP)\src\utf.c
db20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
db30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM db40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
db50: 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a  TOP)\src\utf.c..
db60: 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  util.lo:.$(TOP)\ db70: 73 72 63 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 src\util.c$(HDR
db80: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) db90: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
dba0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s dbb0: 72 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 rc\util.c..vacuu dbc0: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 m.lo:.$(TOP)\src
dbd0: 5c 76 61 63 75 75 6d 2e 63 20 24 28 48 44 52 29  \vacuum.c $(HDR) dbe0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $dbf0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP dc00: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
dc10: 63 5c 76 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65  c\vacuum.c..vdbe
dc20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ dc30: 76 64 62 65 2e 63 20 24 28 48 44 52 29 0a 09 24 vdbe.c$(HDR)..$dc40: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
dc50: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
dc60: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v dc70: 64 62 65 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c dbe.c..vdbeapi.l dc80: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 o:.$(TOP)\src\vd
dc90: 62 65 61 70 69 2e 63 20 24 28 48 44 52 29 0a 09  beapi.c $(HDR).. dca0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C dcb0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS dcc0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
dcd0: 76 64 62 65 61 70 69 2e 63 0a 0a 76 64 62 65 61  vdbeapi.c..vdbea
dce0: 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ux.lo:.$(TOP)\sr dcf0: 63 5c 76 64 62 65 61 75 78 2e 63 20 24 28 48 44 c\vdbeaux.c$(HD
dd00: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) dd10: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
dd20: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ dd30: 73 72 63 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 src\vdbeaux.c..v dd40: 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f dbeblob.lo:.$(TO
dd50: 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e  P)\src\vdbeblob.
dd60: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
dd70: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO dd80: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
dd90: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c  (TOP)\src\vdbebl
dda0: 6f 62 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f  ob.c..vdbemem.lo
ddb0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb ddc0: 65 6d 65 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 emem.c$(HDR)..$ddd0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
dde0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ddf0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v de00: 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f dbemem.c..vdbeso de10: 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 rt.lo:.$(TOP)\sr
de20: 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 24 28 48  c\vdbesort.c $(H de30: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
de40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE de50: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
de60: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a  \src\vdbesort.c.
de70: 0a 76 64 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24  .vdbetrace.lo:.$de80: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 (TOP)\src\vdbetr de90: 61 63 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ace.c$(HDR)..$( dea0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
deb0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
dec0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd ded0: 62 65 74 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e betrace.c..vtab. dee0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 lo:.$(TOP)\src\v
def0: 74 61 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tab.c $(HDR)..$(
df00: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR df10: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) df20: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 -c$(TOP)\src\vt
df30: 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28  ab.c..wal.lo:.$( df40: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 TOP)\src\wal.c$
df50: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI df60: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
df70: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO df80: 50 29 5c 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 P)\src\wal.c..wa df90: 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c lker.lo:.$(TOP)\
dfa0: 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48  src\walker.c $(H dfb0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
dfc0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE dfd0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
dfe0: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77  \src\walker.c..w
dff0: 68 65 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  here.lo:.$(TOP)\ e000: 73 72 63 5c 77 68 65 72 65 2e 63 20 24 28 48 44 src\where.c$(HD
e010: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e020: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e030: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ e040: 73 72 63 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 src\where.c..whe e050: 72 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 recode.lo:.$(TOP
e060: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e  )\src\wherecode.
e070: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e080: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO e090: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
e0a0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63  (TOP)\src\wherec
e0b0: 6f 64 65 2e 63 0a 0a 77 68 65 72 65 65 78 70 72  ode.c..whereexpr
e0c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ e0d0: 77 68 65 72 65 65 78 70 72 2e 63 20 24 28 48 44 whereexpr.c$(HD
e0e0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e0f0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e100: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ e110: 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 0a src\whereexpr.c. e120: 0a 77 69 6e 64 6f 77 2e 6c 6f 3a 09 24 28 54 4f .window.lo:.$(TO
e130: 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 20  P)\src\window.c
e140: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e150: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP e160: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
e170: 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63  OP)\src\window.c
e180: 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09  ..tclsqlite.lo:.
e190: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq e1a0: 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 lite.c$(HDR) $( e1b0: 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a SQLITE_TCL_DEP). e1c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( e1d0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45 5f 54 NO_WARN) -DUSE_T e1e0: 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42 55 49 CL_STUBS=1 -DBUI e1f0: 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 LD_sqlite -I$(TC
e200: 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f  LINCDIR) -c $(TO e210: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 P)\src\tclsqlite e220: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68 .c..tclsqlite-sh e230: 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ell.lo:.$(TOP)\s
e240: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $e250: 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54 (HDR)$(SQLITE_T
e260: 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d  CL_DEP)..$(LTCOM e270: 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 PILE)$(NO_WARN)
e280: 20 2d 44 54 43 4c 53 48 20 2d 44 42 55 49 4c 44   -DTCLSH -DBUILD
e290: 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49  _sqlite -I$(TCLI e2a0: 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 NCDIR) -c$(TOP)
e2b0: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
e2c0: 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65  ..tclsqlite3.exe
e2d0: 3a 09 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c  :.tclsqlite-shel
e2e0: 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33 43 29  l.lo $(SQLITE3C) e2f0: 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c$(SQLITE3H) $(L e300: 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 IBRESOBJS)..$(LT
e310: 4c 49 4e 4b 29 20 24 28 53 51 4c 49 54 45 33 43  LINK) $(SQLITE3C e320: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
e330: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) e340: 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20$(TCLLIBPATHS)
e350: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f  $(LTLIBPATHS) /O e360: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2d UT:$@ tclsqlite-
e370: 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45  shell.lo $(LIBRE e380: 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 SOBJS)$(TCLLIBS
e390: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS)$(TL
e3a0: 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f  IBS)..# Rules to
e3b0: 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63   build opcodes.c
e3c0: 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23   and opcodes.h.#
e3d0: 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f  .opcodes.c:.opco
e3e0: 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f  des.h $(TOP)\too e3f0: 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a l\mkopcodec.tcl. e400: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 .$(TCLSH_CMD) $( e410: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f TOP)\tool\mkopco e420: 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e dec.tcl opcodes. e430: 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f h > opcodes.c..o e440: 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65 2e pcodes.h:.parse. e450: 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 h$(TOP)\src\vdb
e460: 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e.c $(TOP)\tool\ e470: 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74 mkopcodeh.tcl..t e480: 79 70 65 20 70 61 72 73 65 2e 68 20 24 28 54 4f ype parse.h$(TO
e490: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c 20  P)\src\vdbe.c |
e4a0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD)$(T
e4b0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64  OP)\tool\mkopcod
e4c0: 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73  eh.tcl > opcodes
e4d0: 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  .h..# Rules to b
e4e0: 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e 64  uild parse.c and
e4f0: 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20 6f   parse.h - the o
e500: 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e  utputs of lemon.
e510: 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72 73  .#.parse.h:.pars
e520: 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28  e.c..parse.c:.$( e530: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 TOP)\src\parse.y e540: 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f 50 lemon.exe$(TOP
e550: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65  )\tool\addopcode
e560: 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70 61  s.tcl..del /Q pa
e570: 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 70 61  rse.y parse.h pa
e580: 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 4c  rse.h.temp 2>NUL
e590: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 73 72  ..copy $(TOP)\sr e5a0: 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c c\parse.y ....\l e5b0: 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 emon.exe$(REQ_F
e5c0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $( e5d0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG e5e0: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 S)$(EXT_FEATURE
e5f0: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20  _FLAGS) $(OPTS) e600: 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61 parse.y..move pa e610: 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65 rse.h parse.h.te e620: 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 mp..$(TCLSH_CMD)
e630: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64   $(TOP)\tool\add e640: 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 72 73 opcodes.tcl pars e650: 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 73 65 e.h.temp > parse e660: 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 29 3a .h..$(SQLITE3H):
e670: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69  .$(TOP)\src\sqli e680: 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c 6d te.h.in$(TOP)\m
e690: 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72 63 65  anifest mksource
e6a0: 69 64 2e 65 78 65 20 24 28 54 4f 50 29 5c 56 45  id.exe $(TOP)\VE e6b0: 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43 RSION..$(TCLSH_C
e6c0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ e6d0: 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 24 mksqlite3h.tcl$
e6e0: 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51  (TOP:\=/) > $(SQ e6f0: 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51 4c 49 LITE3H)$(MKSQLI
e700: 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71 6c 69  TE3H_ARGS)..sqli
e710: 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72 67 65  te3ext.h:..targe
e720: 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24 28 55  t_source.!IF $(U e730: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c SE_STDCALL)!=0 | e740: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d |$(FOR_WIN10)!=
e750: 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73 71 6c  0..type tsrc\sql
e760: 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28 54 43  ite3ext.h | $(TC e770: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c LSH_CMD)$(TOP)\
e780: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c  tool\replace.tcl
e790: 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c 29 22   regsub "$$\*$$"
e7a0: 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   "(SQLITE_CALLBA
e7b0: 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24 28 54  CK *)" \...| $(T e7c0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
e7d0: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63  \tool\replace.tc
e7e0: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20  l regsub "\(\*"
e7f0: 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c  "(SQLITE_APICALL
e800: 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65 78 74   *" > sqlite3ext
e810: 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71 6c 69  .h..copy /Y sqli
e820: 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c 73 71  te3ext.h tsrc\sq
e830: 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c 53 45  lite3ext.h.!ELSE
e840: 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63 5c 73  ..copy /Y tsrc\s
e850: 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69  qlite3ext.h sqli
e860: 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49 46 0a  te3ext.h.!ENDIF.
e870: 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65  .mkkeywordhash.e
e880: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\ e890: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 0a mkkeywordhash.c. e8a0: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 .$(BCC) $(NO_WAR e8b0: 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f 46 N) -Fe$@ $(REQ_F e8c0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 EATURE_FLAGS)$(
e8d0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
e8e0: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE e8f0: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 _FLAGS)$(OPTS)
e900: 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\ e910: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 mkkeywordhash.c e920: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
e930: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20   $(NLTLINKOPTS) e940: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a$(NLTLIBPATHS)..
e950: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09 24  keywordhash.h:.$e960: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 (TOP)\tool\mkkey e970: 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79 wordhash.c mkkey e980: 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c wordhash.exe...\ e990: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 mkkeywordhash.ex e9a0: 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68 2e e > keywordhash. e9b0: 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 69 6c 65 h..# Source file e9c0: 73 20 74 68 61 74 20 67 6f 20 69 6e 74 6f 20 6d s that go into m e9d0: 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a 53 48 aking shell.c.SH e9e0: 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24 28 54 ELL_SRC = \..$(T
e9f0: 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 2e  OP)\src\shell.c.
ea00: 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74  in \..$(TOP)\ext ea10: 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e \misc\appendvfs. ea20: 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c c \..$(TOP)\ext\
ea30: 6d 69 73 63 5c 73 68 61 74 68 72 65 65 2e 63 20  misc\shathree.c
ea40: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  \..$(TOP)\ext\mi ea50: 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 09 24 sc\fileio.c \..$
ea60: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63  (TOP)\ext\misc\c
ea70: 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09 24  ompletion.c \..$ea80: 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 (TOP)\ext\expert ea90: 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 \sqlite3expert.c eaa0: 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 \..$(TOP)\ext\e
eab0: 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70  xpert\sqlite3exp
eac0: 65 72 74 2e 68 20 5c 0a 09 24 28 54 4f 50 29 5c  ert.h \..$(TOP)\ ead0: 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 src\test_windire eae0: 6e 74 2e 63 0a 0a 23 20 49 66 20 75 73 65 20 6f nt.c..# If use o eaf0: 66 20 7a 6c 69 62 20 69 73 20 65 6e 61 62 6c 65 f zlib is enable eb00: 64 2c 20 61 64 64 20 74 68 65 20 22 7a 69 70 66 d, add the "zipf eb10: 69 6c 65 2e 63 22 20 73 6f 75 72 63 65 20 66 69 ile.c" source fi eb20: 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f le..#.!IF$(USE_
eb30: 5a 4c 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 53  ZLIB)!=0.SHELL_S
eb40: 52 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43  RC = $(SHELL_SRC eb50: 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 )$(TOP)\ext\mis
eb60: 63 5c 73 71 6c 61 72 2e 63 0a 53 48 45 4c 4c 5f  c\sqlar.c.SHELL_
eb70: 53 52 43 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52  SRC = $(SHELL_SR eb80: 43 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 C)$(TOP)\ext\mi
eb90: 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e  sc\zipfile.c.!EN
eba0: 44 49 46 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24 28  DIF..shell.c:.$( ebb0: 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 SHELL_SRC)$(TOP
ebc0: 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e  )\tool\mkshellc.
ebd0: 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  tcl..$(TCLSH_CMD ebe0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b )$(TOP)\tool\mk
ebf0: 73 68 65 6c 6c 63 2e 74 63 6c 20 3e 20 73 68 65  shellc.tcl > she
ec00: 6c 6c 2e 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75 73  ll.c..zlib:..pus
ec10: 68 64 20 24 28 5a 4c 49 42 44 49 52 29 20 26 26  hd $(ZLIBDIR) && ec20: 20 24 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33$(MAKE) /f win3
ec30: 32 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 63  2\Makefile.msc c
ec40: 6c 65 61 6e 20 24 28 5a 4c 49 42 4c 49 42 29 20  lean $(ZLIBLIB) ec50: 26 26 20 70 6f 70 64 0a 0a 23 20 52 75 6c 65 73 && popd..# Rules ec60: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78 to build the ex ec70: 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e tension objects. ec80: 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 .#.icu.lo:.$(TOP
ec90: 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20  )\ext\icu\icu.c
eca0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
ecb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
ecc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ecd0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - ece0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c ecf0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69$(TOP)\ext\icu\i
ed00: 63 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24  cu.c..fts2.lo:.$ed10: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f ed20: 74 73 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 ts2.c$(HDR) $(E ed30: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
ed40: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP ed50: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
ed60: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
ed70: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext ed80: 5c 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 \fts2\fts2.c..ft ed90: 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f s2_hash.lo:.$(TO
eda0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
edb0: 5f 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24  _hash.c $(HDR)$
edc0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO edd0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
ede0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO edf0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ ee00: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
ee10: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73  xt\fts2\fts2_has
ee20: 68 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f  h.c..fts2_icu.lo
ee30: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts ee40: 32 5c 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48 2\fts2_icu.c$(H
ee50: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
ee60: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO ee70: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) ee80: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
ee90: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T eea0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts eeb0: 32 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 2_icu.c..fts2_po eec0: 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c rter.lo:.$(TOP)\
eed0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f  ext\fts2\fts2_po
eee0: 72 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  rter.c $(HDR)$(
eef0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM ef00: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
ef10: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ ef20: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C ef30: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
ef40: 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74  t\fts2\fts2_port
ef50: 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e  er.c..fts2_token
ef60: 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  izer.lo:.$(TOP)\ ef70: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f ext\fts2\fts2_to ef80: 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 kenizer.c$(HDR)
ef90: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
efa0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ efb0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
efc0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
efd0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) efe0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 \ext\fts2\fts2_t eff0: 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 okenizer.c..fts2 f000: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 _tokenizer1.lo:. f010: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
f020: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts2_tokenizer1.
f030: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
f040: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) f050: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
f060: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) f070: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - f080: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
f090: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
f0a0: 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28  1.c..fts3.lo:.$( f0b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft f0c0: 73 33 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 s3.c$(HDR) $(EX f0d0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
f0e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI f0f0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
f100: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f110: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ f120: 66 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 fts3\fts3.c..fts f130: 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 3_aux.lo:.$(TOP)
f140: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61  \ext\fts3\fts3_a
f150: 75 78 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  ux.c $(HDR)$(EX
f160: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI f170: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
f180: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA f190: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR f1a0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
f1b0: 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a  fts3\fts3_aux.c.
f1c0: 0a 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24  .fts3_expr.lo:.$f1d0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f f1e0: 74 73 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52 ts3_expr.c$(HDR
f1f0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f200: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE f210: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
f220: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f230: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP f240: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ f250: 65 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 expr.c..fts3_has f260: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 h.lo:.$(TOP)\ext
f270: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
f280: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
f290: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) f2a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
f2b0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) f2c0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - f2d0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
f2e0: 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66  3\fts3_hash.c..f
f2f0: 74 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f  ts3_icu.lo:.$(TO f300: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 f310: 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 _icu.c$(HDR) $( f320: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
f330: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM f340: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
f350: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f360: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex f370: 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e t\fts3\fts3_icu. f380: 63 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e c..fts3_snippet. f390: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 lo:.$(TOP)\ext\f
f3a0: 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74  ts3\fts3_snippet
f3b0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
f3c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE f3d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
f3e0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN f3f0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE f400: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
f410: 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  s3\fts3_snippet.
f420: 63 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c  c..fts3_porter.l
f430: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft f440: 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 s3\fts3_porter.c f450: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR f460: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
f470: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O f480: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
f490: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f4a0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 f4b0: 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a \fts3_porter.c.. f4c0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c fts3_tokenizer.l f4d0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 o:.$(TOP)\ext\ft
f4e0: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
f4f0: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR)$(EXT
f500: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL f510: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
f520: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR f530: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE f540: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
f550: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  ts3\fts3_tokeniz
f560: 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e  er.c..fts3_token
f570: 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  izer1.lo:.$(TOP) f580: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 \ext\fts3\fts3_t f590: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 okenizer1.c$(HD
f5a0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f5b0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR f5c0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) f5d0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
f5e0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO f5f0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 f600: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 _tokenizer1.c..f f610: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 ts3_tokenize_vta f620: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 b.lo:.$(TOP)\ext
f630: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
f640: 69 7a 65 5f 76 74 61 62 2e 63 20 24 28 48 44 52  ize_vtab.c $(HDR f650: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L f660: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
f670: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $f680: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI f690: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
f6a0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
f6b0: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a  tokenize_vtab.c.
f6c0: 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f  .fts3_unicode.lo
f6d0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts f6e0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 3\fts3_unicode.c f6f0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR f700: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
f710: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O f720: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
f730: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f740: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 f750: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a \fts3_unicode.c. f760: 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c .fts3_unicode2.l f770: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 o:.$(TOP)\ext\ft
f780: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32  s3\fts3_unicode2
f790: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
f7a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE f7b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
f7c0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN f7d0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE f7e0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
f7f0: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32  s3\fts3_unicode2
f800: 2e 63 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c  .c..fts3_write.l
f810: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft f820: 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 s3\fts3_write.c f830: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) f840: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $f850: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP f860: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
f870: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
f880: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ f890: 66 74 73 33 5f 77 72 69 74 65 2e 63 0a 0a 72 74 fts3_write.c..rt f8a0: 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 ree.lo:.$(TOP)\e
f8b0: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
f8c0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
f8d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) f8e0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
f8f0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) f900: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c f910: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65$(TOP)\ext\rtre
f920: 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69 74  e\rtree.c..sqlit
f930: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28  e3session.lo:.$( f940: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e TOP)\ext\session f950: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e \sqlite3session. f960: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD f970: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
f980: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ f990: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
f9a0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f9b0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73  c $(TOP)\ext\ses f9c0: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 sion\sqlite3sess f9d0: 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74 68 ion.c..# FTS5 th f9e0: 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43 20 ings.#.FTS5_SRC f9f0: 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 = \.$(TOP)\ex
fa00: 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a  t\fts5\fts5.h \.
fa10: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft fa20: 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20 s5\fts5Int.h \. fa30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
fa40: 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20  5\fts5_aux.c \.
fa50: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts fa60: 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63 20 5\fts5_buffer.c fa70: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
fa80: 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63  fts5\fts5_main.c
fa90: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext faa0: 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69 \fts5\fts5_confi fab0: 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c g.c \.$(TOP)\
fac0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65 78  ext\fts5\fts5_ex
fad0: 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  pr.c \.   $(TOP) fae0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 68 \ext\fts5\fts5_h faf0: 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 ash.c \.$(TOP
fb00: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
fb10: 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74 73  index.c \.   fts
fb20: 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 61 72  5parse.c fts5par
fb30: 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  se.h \.   $(TOP) fb40: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 73 \ext\fts5\fts5_s fb50: 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24 28 torage.c \.$(
fb60: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
fb70: 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a  s5_tokenize.c \.
fb80: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft fb90: 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65 32 s5\fts5_unicode2 fba0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
fbb0: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61 72  xt\fts5\fts5_var
fbc0: 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  int.c \.   $(TOP fbd0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ fbe0: 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f 53 52 vocab.c..LSM1_SR fbf0: 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c C = \.$(TOP)\
fc00: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 5c  ext\lsm1\lsm.h \
fc10: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l fc20: 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c 0a 20 sm1\lsmInt.h \. fc30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d$(TOP)\ext\lsm
fc40: 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c 0a 20  1\lsm_ckpt.c \.
fc50: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm fc60: 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c 0a 20 1\lsm_file.c \. fc70: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d$(TOP)\ext\lsm
fc80: 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a 20 20  1\lsm_log.c \.
fc90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1 fca0: 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 \lsm_main.c \. fcb0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31$(TOP)\ext\lsm1
fcc0: 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 20 20  \lsm_mem.c \.
fcd0: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\ fce0: 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 lsm_mutex.c \. fcf0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31$(TOP)\ext\lsm1
fd00: 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20 5c 0a  \lsm_shared.c \.
fd10: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls fd20: 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65 64 2e 63 20 m1\lsm_sorted.c fd30: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
fd40: 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63 20 5c  lsm1\lsm_str.c \
fd50: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l fd60: 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63 20 5c sm1\lsm_tree.c \ fd70: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c .$(TOP)\ext\l
fd80: 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63 20 5c  sm1\lsm_unix.c \
fd90: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l fda0: 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74 2e 63 sm1\lsm_varint.c fdb0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
fdc0: 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62 2e 63  \lsm1\lsm_vtab.c
fdd0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext fde0: 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69 6e 33 32 2e \lsm1\lsm_win32. fdf0: 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63 3a 09 c..fts5parse.c:. fe00: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c$(TOP)\ext\fts5\
fe10: 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f  fts5parse.y lemo
fe20: 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 54 4f  n.exe..copy $(TO fe30: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 P)\ext\fts5\fts5 fe40: 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f parse.y ...del / fe50: 51 20 66 74 73 35 70 61 72 73 65 2e 68 20 32 3e Q fts5parse.h 2> fe60: 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 NUL...\lemon.exe fe70: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46$(REQ_FEATURE_F
fe80: 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54  LAGS) $(OPT_FEAT fe90: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 URE_FLAGS)$(EXT
fea0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
feb0: 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 72 73  $(OPTS) fts5pars fec0: 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65 2e 68 e.y..fts5parse.h fed0: 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a 0a 66 :.fts5parse.c..f fee0: 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f 53 52 ts5.c:.$(FTS5_SR
fef0: 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  C)..$(TCLSH_CMD) ff00: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35$(TOP)\ext\fts5
ff10: 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63  \tool\mkfts5c.tc
ff20: 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65  l..copy $(TOP)\e ff30: 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 2e xt\fts5\fts5.h . ff40: 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53 4d 31 ..lsm1.c:.$(LSM1
ff50: 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43  _SRC)..$(TCLSH_C ff60: 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c MD)$(TOP)\ext\l
ff70: 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d 31 63  sm1\tool\mklsm1c
ff80: 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50  .tcl..copy $(TOP ff90: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 )\ext\lsm1\lsm.h ffa0: 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73 ...fts5.lo:.fts ffb0: 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 5.c$(HDR) $(EXT ffc0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
ffd0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL ffe0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
fff0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
10000 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35   -c fts5.c..fts5
10010 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20  _ext.lo:.fts5.c
10020 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
10030 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
10040 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74 73  (NO_WARN) -c fts
10050 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66  5.c..fts5.dll:.f
10060 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44  ts5_ext.lo..$(LD 10070 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c )$(LDFLAGS) $(L 10080 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c TLINKOPTS)$(LTL
10090 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f  IBPATHS) /DLL /O
100a0 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 2e 6c  UT:$@ fts5_ext.l 100b0 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f o..sqlite3rbu.lo 100c0 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 :.$(TOP)\ext\rbu
100d0 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28  \sqlite3rbu.c $( 100e0 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
100f0 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53  $(LTCOMPILE) -DS 10100 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
10110 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
10120 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c  ite3rbu.c..# Rul
10130 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  es to build the
10140 27 74 65 73 74 66 69 78 74 75 72 65 27 20 61 70  'testfixture' ap
10150 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49  plication..#.# I
10160 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c  f using the amal
10170 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73 71  gamation, use sq
10180 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 6c 79  lite3.c directly
10190 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 74 65   to build the te
101a0 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 20 4f  st.# fixture.  O
101b0 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 61 67  therwise link ag
101c0 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 65 33  ainst libsqlite3
101d0 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 69 73  .lib.  (This dis
101e0 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65  tinction is.# ne
101f0 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65 20  cessary because
10200 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65  the test fixture
10210 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50   requires non-AP
10220 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 68 20  I symbols which
10230 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 68 65  are.# hidden whe
10240 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 69 73  n the library is
10250 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 20 61   built via the a
10260 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a  malgamation)..#.
10270 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10280 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e 49 54  S = -DTCLSH_INIT
10290 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54 65 73  _PROC=sqlite3Tes
102a0 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45 5f 54  tInit -DSQLITE_T
102b0 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f 43  EST=1 -DSQLITE_C
102c0 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 53 54  RASH_TEST=1.TEST
102d0 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS =
102e0 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL 102f0 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45 AGS) -DSQLITE_SE 10300 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54 45 5f RVER=1 -DSQLITE_ 10310 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53 54 46 PRIVATE="".TESTF 10320 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 IXTURE_FLAGS =$
10330 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
10340 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  GS) -DSQLITE_COR
10350 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45 53  E $(NO_WARN).TES 10360 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d TFIXTURE_FLAGS = 10370 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46$(TESTFIXTURE_F
10380 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53  LAGS) -DSQLITE_S
10390 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e 54  ERIES_CONSTRAINT
103a0 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 46 49  _VERIFY=1.TESTFI
103b0 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $( 103c0 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 TESTFIXTURE_FLAG 103d0 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 46 41 S) -DSQLITE_DEFA 103e0 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31 30 ULT_PAGE_SIZE=10 103f0 32 34 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 24.TESTFIXTURE_F 10400 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 LAGS =$(TESTFIX
10410 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
10420 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d 54  LITE_ENABLE_STMT
10430 56 54 41 42 0a 54 45 53 54 46 49 58 54 55 52 45  VTAB.TESTFIXTURE
10440 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF 10450 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 IXTURE_FLAGS) -D 10460 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 SQLITE_ENABLE_DB 10470 50 41 47 45 5f 56 54 41 42 0a 54 45 53 54 46 49 PAGE_VTAB.TESTFI 10480 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 XTURE_FLAGS =$(
10490 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
104a0 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
104b0 4c 45 5f 4a 53 4f 4e 31 0a 54 45 53 54 46 49 58  LE_JSON1.TESTFIX
104c0 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54  TURE_FLAGS = $(T 104d0 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 ESTFIXTURE_FLAGS 104e0 29 20 24 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f )$(TEST_CCONV_O
104f0 50 54 53 29 0a 0a 54 45 53 54 46 49 58 54 55 52  PTS)..TESTFIXTUR
10500 45 5f 53 52 43 30 20 3d 20 24 28 54 45 53 54 45  E_SRC0 = $(TESTE 10510 58 54 29 20 24 28 54 45 53 54 53 52 43 32 29 0a XT)$(TESTSRC2).
10520 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31  TESTFIXTURE_SRC1
10530 20 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28   = $(TESTEXT)$(
10540 53 51 4c 49 54 45 33 43 29 0a 21 49 46 20 24 28  SQLITE3C).!IF $( 10550 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e USE_AMALGAMATION 10560 29 3d 3d 30 0a 54 45 53 54 46 49 58 54 55 52 45 )==0.TESTFIXTURE 10570 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 _SRC =$(TESTSRC
10580 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  ) $(TOP)\src\tcl 10590 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 sqlite.c$(TESTF
105a0 49 58 54 55 52 45 5f 53 52 43 30 29 0a 21 45 4c  IXTURE_SRC0).!EL
105b0 53 45 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  SE.TESTFIXTURE_S
105c0 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20  RC = $(TESTSRC) 105d0 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71$(TOP)\src\tclsq
105e0 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58  lite.c $(TESTFIX 105f0 54 55 52 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 TURE_SRC1).!ENDI 10600 46 0a 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 F..!IF$(USE_STD
10610 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO 10620 52 5f 57 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69 R_WIN10)!=0.sqli 10630 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 te_tclDecls.h:.. 10640 65 63 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c echo #ifndef SQL 10650 49 54 45 5f 54 43 4c 41 50 49 20 3e 20 24 28 53 ITE_TCLAPI >$(S
10660 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a  QLITETCLDECLSH).
10670 09 65 63 68 6f 20 23 20 20 64 65 66 69 6e 65 20  .echo #  define
10680 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e  SQLITE_TCLAPI >>
10690 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c   $(SQLITETCLDECL 106a0 53 48 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 SH)..echo #endif 106b0 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 >>$(SQLITETCLD
106c0 45 43 4c 53 48 29 0a 09 74 79 70 65 20 22 24 28  ECLSH)..type "$( 106d0 54 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 44 65 TCLINCDIR)\tclDe 106e0 63 6c 73 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54 cls.h" \...|$(T
106f0 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) 10700 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 \tool\replace.tc 10710 6c 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 l regsub "^(EXTE 10720 52 4e 28 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 RN(?: CONST\d+?) 10730 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f ?\s+?[^\(]*?\s+? 10740 29 54 63 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54 )Tcl_" "\1 SQLIT 10750 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c E_TCLAPI Tcl_" \ 10760 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 ...|$(TCLSH_CMD
10770 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re 10780 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 place.tcl regsub 10790 20 22 5e 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f "^(EXTERN\s+?(? 107a0 3a 76 6f 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 :void|VOID)\s+?) 107b0 54 63 6c 46 72 65 65 4f 62 6a 22 20 22 5c 31 20 TclFreeObj" "\1 107c0 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 SQLITE_TCLAPI Tc 107d0 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 lFreeObj" \...| 107e0 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T 107f0 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 OP)\tool\replace 10800 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c .tcl regsub "\(\ 10810 2a 74 63 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f *tcl_" "(SQLITE_ 10820 54 43 4c 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a TCLAPI *tcl_" \. 10830 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
10840 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep 10850 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 lace.tcl regsub 10860 22 5c 28 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22 "\(\*tclFreeObj" 10870 20 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 "(SQLITE_TCLAPI 10880 20 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a *tclFreeObj" \. 10890 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
108a0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep 108b0 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 lace.tcl regsub 108c0 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f "\(\*" "(SQLITE_ 108d0 54 43 4c 41 50 49 20 2a 22 20 3e 3e 20 24 28 53 TCLAPI *" >>$(S
108e0 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a  QLITETCLDECLSH).
108f0 0a 73 71 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09  .sqlite_tcl.h:..
10900 74 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49  type "$(TCLINCDI 10910 52 29 5c 74 63 6c 2e 68 22 20 7c 20 24 28 54 43 R)\tcl.h" |$(TC
10920 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ 10930 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c tool\replace.tcl 10940 20 65 78 61 63 74 20 74 63 6c 44 65 63 6c 73 2e exact tclDecls. 10950 68 20 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c h sqlite_tclDecl 10960 73 2e 68 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 s.h \...|$(TCLS
10970 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to 10980 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 ol\replace.tcl r 10990 65 67 73 75 62 20 22 74 79 70 65 64 65 66 20 28 egsub "typedef ( 109a0 2e 2a 3f 29 5c 28 54 63 6c 5f 22 20 22 74 79 70 .*?)\(Tcl_" "typ 109b0 65 64 65 66 20 5c 31 20 28 53 51 4c 49 54 45 5f edef \1 (SQLITE_ 109c0 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 TCLAPI Tcl_" \.. 109d0 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 .|$(TCLSH_CMD)
109e0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl 109f0 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22 76 ace.tcl exact "v 10a00 6f 69 64 20 28 2a 66 72 65 65 50 72 6f 63 29 22 oid (*freeProc)" 10a10 20 22 76 6f 69 64 20 28 53 51 4c 49 54 45 5f 54 "void (SQLITE_T 10a20 43 4c 41 50 49 20 2a 66 72 65 65 50 72 6f 63 29 CLAPI *freeProc) 10a30 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f " \...|$(TCLSH_
10a40 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool 10a50 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 \replace.tcl exa 10a60 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 ct "Tcl_HashEntr 10a70 79 20 2a 28 2a 66 69 6e 64 50 72 6f 63 29 22 20 y *(*findProc)" 10a80 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a "Tcl_HashEntry * 10a90 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a (SQLITE_TCLAPI * 10aa0 66 69 6e 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c findProc)" \...| 10ab0 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28$(TCLSH_CMD) $( 10ac0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 TOP)\tool\replac 10ad0 65 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c e.tcl exact "Tcl 10ae0 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 63 72 _HashEntry *(*cr 10af0 65 61 74 65 50 72 6f 63 29 22 20 22 54 63 6c 5f eateProc)" "Tcl_ 10b00 48 61 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 HashEntry *(SQLI 10b10 54 45 5f 54 43 4c 41 50 49 20 2a 63 72 65 61 74 TE_TCLAPI *creat 10b20 65 50 72 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c eProc)" >>$(SQL
10b30 49 54 45 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a  ITETCLH).!ENDIF.
10b40 0a 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  .testfixture.exe
10b50 3a 09 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  :.$(TESTFIXTURE_ 10b60 53 52 43 29 20 24 28 54 45 53 54 46 49 58 54 55 SRC)$(TESTFIXTU
10b70 52 45 5f 44 45 50 29 20 24 28 53 51 4c 49 54 45  RE_DEP) $(SQLITE 10b80 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 3H)$(LIBRESOBJS
10b90 29 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54  ) $(HDR)$(SQLIT
10ba0 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54  E_TCL_DEP)..$(LT 10bb0 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e LINK) -DSQLITE_N 10bc0 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46 O_SYNC=1$(TESTF
10bd0 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a  IXTURE_FLAGS) \.
10be0 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65  ..-DBUILD_sqlite
10bf0 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20   -I$(TCLINCDIR) 10c00 5c 0a 09 09 24 28 54 45 53 54 46 49 58 54 55 52 \...$(TESTFIXTUR
10c10 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b  E_SRC) \.../link
10c20 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
10c30 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c  LINKOPTS) $(TCLL 10c40 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 IBPATHS)$(LTLIB
10c50 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO 10c60 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 BJS)$(TCLLIBS)
10c70 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS)$(TLIB
10c80 53 29 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73  S)..extensiontes
10c90 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65  t:.testfixture.e
10ca0 78 65 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64  xe testloadext.d
10cb0 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  ll..@set PATH=$( 10cc0 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 LIBTCLPATH);$(PA
10cd0 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
10ce0 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te 10cf0 73 74 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74 20 st\loadext.test 10d00 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c$(TESTOPTS)..ful
10d10 6c 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f  ltest:.$(TESTPRO 10d20 47 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 GS) fuzztest..@s 10d30 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c et PATH=$(LIBTCL
10d40 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)... 10d50 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 \testfixture.exe 10d60 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c$(TOP)\test\all
10d70 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53  .test $(TESTOPTS 10d80 29 0a 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28 54 )..soaktest:.$(T
10d90 45 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20  ESTPROGS)..@set
10da0 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT 10db0 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 H);$(PATH)...\te
10dc0 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $( 10dd0 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 TOP)\test\all.te 10de0 73 74 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53 st -soak=1$(TES
10df0 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74  TOPTS)..fulltest
10e00 6f 6e 6c 79 3a 09 24 28 54 45 53 54 50 52 4f 47  only:.$(TESTPROG 10e10 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 S) fuzztest..@se 10e20 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 t PATH=$(LIBTCLP
10e30 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\ 10e40 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 testfixture.exe 10e50 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c$(TOP)\test\full
10e60 2e 74 65 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e  .test..queryplan
10e70 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72  test:.testfixtur
10e80 65 2e 65 78 65 20 73 68 65 6c 6c 0a 09 40 73 65  e.exe shell..@se
10e90 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP 10ea0 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c ATH);$(PATH)...\
10eb0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe
10ec0 24 28 54 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d  $(TOP)\test\perm 10ed0 75 74 61 74 69 6f 6e 73 2e 74 65 73 74 20 71 75 utations.test qu 10ee0 65 72 79 70 6c 61 6e 6e 65 72 20 24 28 54 45 53 eryplanner$(TES
10ef0 54 4f 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74  TOPTS)..fuzztest
10f00 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a  :.fuzzcheck.exe.
10f10 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  ..\fuzzcheck.exe
10f20 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61   $(FUZZDATA)..fa 10f30 73 74 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a stfuzztest:.fuzz 10f40 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a check.exe...\fuz 10f50 7a 63 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d zcheck.exe --lim 10f60 69 74 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46 55 it-mem 100M$(FU
10f70 5a 5a 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d  ZZDATA)..# Minim
10f80 61 6c 20 74 65 73 74 69 6e 67 20 74 68 61 74 20  al testing that
10f90 72 75 6e 73 20 69 6e 20 6c 65 73 73 20 74 68 61  runs in less tha
10fa0 6e 20 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20  n 3 minutes (on
10fb0 61 20 66 61 73 74 20 6d 61 63 68 69 6e 65 29 0a  a fast machine).
10fc0 23 0a 71 75 69 63 6b 74 65 73 74 3a 09 74 65 73  #.quicktest:.tes
10fd0 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 6f 75  tfixture.exe sou
10fe0 72 63 65 74 65 73 74 0a 09 40 73 65 74 20 50 41  rcetest..@set PA
10ff0 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH) 11000 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 ;$(PATH)...\test
11010 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO 11020 50 29 5c 74 65 73 74 5c 65 78 74 72 61 71 75 69 P)\test\extraqui 11030 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 ck.test$(TESTOP
11040 54 53 29 0a 0a 23 20 54 68 69 73 20 69 73 20 74  TS)..# This is t
11050 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20  he common case.
11060 20 52 75 6e 20 6d 61 6e 79 20 74 65 73 74 73 20   Run many tests
11070 74 68 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65  that do not take
11080 20 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63   too long,.# inc
11090 6c 75 64 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b  luding fuzzcheck
110a0 2c 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  , sqlite3_analyz
110b0 65 72 2c 20 61 6e 64 20 73 71 6c 64 69 66 66 20  er, and sqldiff
110c0 74 65 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24  tests..#.test:.$110d0 28 54 45 53 54 50 52 4f 47 53 29 20 73 6f 75 72 (TESTPROGS) sour 110e0 63 65 74 65 73 74 20 66 61 73 74 66 75 7a 7a 74 cetest fastfuzzt 110f0 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 est..@set PATH=$
11100 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P 11110 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 ATH)...\testfixt 11120 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 ure.exe$(TOP)\t
11130 65 73 74 5c 76 65 72 79 71 75 69 63 6b 2e 74 65  est\veryquick.te
11140 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS).. 11150 73 6d 6f 6b 65 74 65 73 74 3a 09 24 28 54 45 53 smoketest:.$(TES
11160 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41  TPROGS)..@set PA
11170 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH) 11180 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 ;$(PATH)...\test
11190 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO 111a0 50 29 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73 P)\test\main.tes 111b0 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 t$(TESTOPTS)..s
111c0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
111d0 63 3a 09 24 28 53 51 4c 49 54 45 33 43 29 20 24  c:.$(SQLITE3C)$
111e0 28 53 51 4c 49 54 45 33 48 29 20 24 28 54 4f 50  (SQLITE3H) $(TOP 111f0 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e )\src\tclsqlite. 11200 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 c$(TOP)\tool\sp
11210 61 63 65 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f  aceanal.tcl $(TO 11220 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e P)\tool\mkccode. 11230 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c tcl$(TOP)\tool\
11240 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
11250 2e 63 2e 69 6e 20 24 28 53 51 4c 49 54 45 5f 54  .c.in $(SQLITE_T 11260 43 4c 5f 44 45 50 29 0a 09 24 28 54 43 4c 53 48 CL_DEP)..$(TCLSH
11270 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too 11280 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 l\mkccode.tcl$(
11290 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65  TOP)\tool\sqlite
112a0 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20  3_analyzer.c.in
112b0 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e  > $@..sqlite3_an 112c0 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 alyzer.exe:.sqli 112d0 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 te3_analyzer.c$
112e0 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28  (LIBRESOBJS)..$( 112f0 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
11300 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  N) -DBUILD_sqlit
11310 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR) 11320 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 sqlite3_analyze 11330 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 r.c \.../link$(
11340 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 11350 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 KOPTS)$(TCLLIBP
11360 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54  ATHS) $(LTLIBPAT 11370 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 HS)$(LIBRESOBJS
11380 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c  ) $(TCLLIBS)$(L
11390 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS). 113a0 0a 73 71 6c 74 63 6c 73 68 2e 63 3a 20 73 71 6c .sqltclsh.c: sql 113b0 69 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 73 72 ite3.c$(TOP)\sr
113c0 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $( 113d0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c TOP)\tool\sqltcl 113e0 73 68 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 sh.tcl$(TOP)\ex
113f0 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64 76 66 73  t\misc\appendvfs
11400 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  .c $(TOP)\tool\m 11410 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 kccode.tcl$(TOP
11420 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e  )\tool\sqltclsh.
11430 63 2e 69 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d  c.in..$(TCLSH_CM 11440 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d D)$(TOP)\tool\m
11450 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP 11460 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e )\tool\sqltclsh. 11470 63 2e 69 6e 20 3e 73 71 6c 74 63 6c 73 68 2e 63 c.in >sqltclsh.c 11480 0a 0a 73 71 6c 74 63 6c 73 68 2e 65 78 65 3a 20 ..sqltclsh.exe: 11490 73 71 6c 74 63 6c 73 68 2e 63 20 20 24 28 53 48 sqltclsh.c$(SH
114a0 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28  ELL_CORE_DEP) $( 114b0 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c LIBRESOBJS)..$(L
114c0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN 114d0 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 ) -DBUILD_sqlite 114e0 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 -I$(TCLINCDIR)
114f0 73 71 6c 74 63 6c 73 68 2e 63 20 5c 0a 09 09 2f  sqltclsh.c \.../
11500 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 11510 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28$(LTLINKOPTS) $( 11520 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c TCLLIBPATHS)$(L
11530 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB 11540 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 RESOBJS)$(TCLLI
11550 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  BS) $(LTLIBS)$(
11560 54 4c 49 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f  TLIBS)..sqlite3_
11570 65 78 70 65 72 74 2e 65 78 65 3a 20 24 28 53 51  expert.exe: $(SQ 11580 4c 49 54 45 33 43 29 20 24 28 54 4f 50 29 5c 65 LITE3C)$(TOP)\e
11590 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65  xt\expert\sqlite
115a0 33 65 78 70 65 72 74 2e 68 20 24 28 54 4f 50 29  3expert.h $(TOP) 115b0 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 \ext\expert\sqli 115c0 74 65 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f te3expert.c$(TO
115d0 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78  P)\ext\expert\ex
115e0 70 65 72 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b  pert.c..$(LTLINK 115f0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 )$(NO_WARN).$(T 11600 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 OP)\ext\expert\s 11610 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 24 qlite3expert.c$
11620 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74  (TOP)\ext\expert
11630 5c 65 78 70 65 72 74 2e 63 20 24 28 53 51 4c 49  \expert.c $(SQLI 11640 54 45 33 43 29 20 24 28 54 4c 49 42 53 29 0a 0a TE3C)$(TLIBS)..
11650 43 48 45 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a  CHECKER_DEPS =\.
11660 20 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b    $(TOP)/tool/mk 11670 63 63 6f 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71 ccode.tcl \. sq 11680 6c 69 74 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f lite3.c \.$(TO
11690 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65  P)/src/tclsqlite
116a0 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex 116b0 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33 t/repair/sqlite3 116c0 5f 63 68 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20 _checker.tcl \. 116d0 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61$(TOP)/ext/repa
116e0 69 72 2f 63 68 65 63 6b 69 6e 64 65 78 2e 63 20  ir/checkindex.c
116f0 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72  \.  $(TOP)/ext/r 11700 65 70 61 69 72 2f 63 68 65 63 6b 66 72 65 65 6c epair/checkfreel 11710 69 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ist.c \.$(TOP)
11720 2f 65 78 74 2f 6d 69 73 63 2f 62 74 72 65 65 69  /ext/misc/btreei
11730 6e 66 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nfo.c \.  $(TOP) 11740 2f 65 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 /ext/repair/sqli 11750 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e te3_checker.c.in 11760 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 ..sqlite3_checke 11770 72 2e 63 3a 09 24 28 43 48 45 43 4b 45 52 5f 44 r.c:.$(CHECKER_D
11780 45 50 53 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d  EPS)..$(TCLSH_CM 11790 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d D)$(TOP)\tool\m
117a0 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP 117b0 29 5c 65 78 74 5c 72 65 70 61 69 72 5c 73 71 6c )\ext\repair\sql 117c0 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 ite3_checker.c.i 117d0 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f n >$@..sqlite3_
117e0 63 68 65 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c  checker.exe:.sql
117f0 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 24  ite3_checker.c $11800 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 (LIBRESOBJS)..$(
11810 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR 11820 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 N) -DBUILD_sqlit 11830 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 e -I$(TCLINCDIR)
11840 20 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72   sqlite3_checker
11850 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c  .c \.../link $(L 11860 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
11870 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41  OPTS) $(TCLLIBPA 11880 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 THS)$(LTLIBPATH
11890 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  S) $(LIBRESOBJS) 118a0 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54$(TCLLIBS) $(LT 118b0 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a LIBS)$(TLIBS)..
118c0 64 62 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f  dbdump.exe:.$(TO 118d0 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 P)\ext\misc\dbdu 118e0 6d 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 mp.c$(SQLITE3C)
118f0 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c   $(SQLITE3H)$(L
11900 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT 11910 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
11920 20 2d 44 44 42 44 55 4d 50 5f 53 54 41 4e 44 41   -DDBDUMP_STANDA
11930 4c 4f 4e 45 20 24 28 54 4f 50 29 5c 65 78 74 5c  LONE $(TOP)\ext\ 11940 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 misc\dbdump.c$(
11950 53 51 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c  SQLITE3C) \.../l
11960 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
11970 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L 11980 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 TLIBPATHS)$(LIB
11990 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42  RESOBJS) $(LTLIB 119a0 53 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e S)..testloadext. 119b0 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 lo:.$(TOP)\src\t
119c0 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 20 24 28  est_loadext.c $( 119d0 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 43 SQLITE3H)..$(LTC
119e0 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52  OMPILE) $(NO_WAR 119f0 4e 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 N) -c$(TOP)\src
11a00 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a  \test_loadext.c.
11a10 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c  .testloadext.dll
11a20 3a 09 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f  :.testloadext.lo
11a30 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47  ..$(LD)$(LDFLAG
11a40 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) 11a50 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f$(LTLIBPATHS) /
11a60 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73 74  DLL /OUT:$@ test 11a70 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f 77 loadext.lo..show 11a80 64 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 db.exe:.$(TOP)\t
11a90 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53  ool\showdb.c $(S 11aa0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
11ab0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 11ac0 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
11ad0 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11ae0 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
11af0 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
11b00 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ..$(TOP)\tool\sh 11b10 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 owdb.c$(SQLITE3
11b20 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA 11b30 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
11b40 29 0a 0a 73 68 6f 77 73 74 61 74 34 2e 65 78 65  )..showstat4.exe
11b50 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh 11b60 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 owstat4.c$(SQLI
11b70 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H 11b80 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N 11b90 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE 11ba0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 _THREADSAFE=0 -D 11bb0 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 SQLITE_OMIT_LOAD 11bc0 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 _EXTENSION \...$
11bd0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73  (TOP)\tool\shows
11be0 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33  tat4.c $(SQLITE3 11bf0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
11c00 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS 11c10 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 )..showjournal.e 11c20 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c xe:.$(TOP)\tool\
11c30 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28  showjournal.c $( 11c40 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 SQLITE3C)$(SQLI
11c50 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK) 11c60 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
11c70 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
11c80 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
11c90 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
11ca0 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s 11cb0 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 howjournal.c$(S
11cc0 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $11cd0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
11ce0 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c  NKOPTS)..showwal
11cf0 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too 11d00 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 l\showwal.c$(SQ
11d10 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE 11d20 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 3H)..$(LTLINK) $11d30 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI 11d40 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 TE_THREADSAFE=0 11d50 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f -DSQLITE_OMIT_LO 11d60 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 AD_EXTENSION \.. 11d70 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f .$(TOP)\tool\sho
11d80 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  wwal.c $(SQLITE3 11d90 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
11da0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS 11db0 29 0a 0a 73 68 6f 77 73 68 6d 2e 65 78 65 3a 09 )..showshm.exe:. 11dc0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77$(TOP)\tool\show
11dd0 73 68 6d 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29  shm.c..$(LTLINK) 11de0 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f$(NO_WARN).$(TO 11df0 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e P)\tool\showshm. 11e00 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 c /link$(LDFLAG
11e10 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) 11e20 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65 78 65 3a ..changeset.exe: 11e30 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 .$(TOP)\ext\sess
11e40 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63 20  ion\changeset.c
11e50 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
11e60 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN 11e70 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 K)$(NO_WARN) -D
11e80 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
11e90 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
11ea0 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
11eb0 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45 5f 45 4e   \...-DSQLITE_EN
11ec0 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 20 2d  ABLE_SESSION=1 -
11ed0 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50  DSQLITE_ENABLE_P
11ee0 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 20  REUPDATE_HOOK=1
11ef0 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 73  \...$(TOP)\ext\s 11f00 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 ession\changeset 11f10 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f .c$(SQLITE3C) /
11f20 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 11f30 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66$(LTLINKOPTS)..f
11f40 74 73 33 76 69 65 77 2e 65 78 65 3a 09 24 28 54  ts3view.exe:.$(T 11f50 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f OP)\ext\fts3\too 11f60 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53 l\fts3view.c$(S
11f70 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT 11f80 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 E3H)..$(LTLINK)
11f90 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL 11fa0 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 ITE_THREADSAFE=0 11fb0 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c -DSQLITE_OMIT_L 11fc0 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a OAD_EXTENSION \. 11fd0 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 ..$(TOP)\ext\fts
11fe0 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e  3\tool\fts3view.
11ff0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l 12000 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $12010 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f (LTLINKOPTS)..ro 12020 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 3a llback-test.exe: 12030 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c .$(TOP)\tool\rol
12040 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53  lback-test.c $(S 12050 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
12060 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 12070 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
12080 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
12090 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
120a0 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
120b0 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f  ..$(TOP)\tool\ro 120c0 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 llback-test.c$(
120d0 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link
120e0 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
120f0 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74  INKOPTS)..LogEst
12100 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too 12110 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c l\logest.c$(SQL
12120 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK 12130 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 )$(NO_WARN) $(T 12140 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e OP)\tool\LogEst. 12150 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 c /link$(LDFLAG
12160 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) 12170 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a ..wordcount.exe: 12180 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 .$(TOP)\test\wor
12190 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54  dcount.c $(SQLIT 121a0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
121b0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
121c0 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
121d0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
121e0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
121f0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$( 12200 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f TOP)\test\wordco 12210 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 unt.c$(SQLITE3C
12220 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG 12230 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
12240 0a 0a 73 70 65 65 64 74 65 73 74 31 2e 65 78 65  ..speedtest1.exe
12250 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70  :.$(TOP)\test\sp 12260 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c eedtest1.c$(SQL
12270 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 12280 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( 12290 4e 4f 5f 57 41 52 4e 29 20 24 28 53 54 5f 43 4f NO_WARN)$(ST_CO
122a0 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51  MPILE_OPTS) -DSQ
122b0 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
122c0 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54  XTENSION \...$(T 122d0 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 OP)\test\speedte 122e0 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 st1.c$(SQLITE3C
122f0 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG 12300 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
12310 0a 0a 6b 76 74 65 73 74 2e 65 78 65 3a 09 24 28  ..kvtest.exe:.$( 12320 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 TOP)\test\kvtest 12330 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $12340 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
12350 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) 12360 20 24 28 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50$(KV_COMPILE_OP
12370 54 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  TS) \...$(TOP)\t 12380 65 73 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 est\kvtest.c$(S
12390 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $123a0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
123b0 4e 4b 4f 50 54 53 29 0a 0a 72 62 75 2e 65 78 65  NKOPTS)..rbu.exe
123c0 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  :.$(TOP)\ext\rbu 123d0 5c 72 62 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 \rbu.c$(TOP)\ex
123e0 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75  t\rbu\sqlite3rbu
123f0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C)$
12400 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT 12410 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
12420 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
12430 5f 52 42 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c  _RBU \...$(TOP)\ 12440 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 ext\rbu\rbu.c$(
12450 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link
12460 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
12470 49 4e 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52  INKOPTS)..LSMDIR
12480 3d 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31  =$(TOP)\ext\lsm1 12490 0a 21 49 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44 .!INCLUDE$(LSMD
124a0 49 52 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63  IR)\Makefile.msc
124b0 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65  ..moreclean:.cle
124c0 61 6e 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c  an..del /Q $(SQL 124d0 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
124e0 48 29 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61  H) 2>NUL.# <</ma
124f0 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65  rk>>..clean:..de
12500 6c 20 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20  l /Q *.exp *.lo
12510 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62  *.ilk *.lib *.ob
12520 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e  j *.ncb *.pdb *.
12530 73 64 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a  sdf *.suo 2>NUL.
12540 09 64 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e  .del /Q *.bsc *.
12550 64 65 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a  def *.cod *.da *
12560 2e 62 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67  .bb *.bbg *.vc g
12570 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64  mon.out 2>NUL..d
12580 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45  el /Q $(SQLITE3E 12590 58 45 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c XE)$(SQLITE3DLL
125a0 29 20 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e  ) Replace.exe 2>
125b0 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09  NUL.# <<mark>>..
125c0 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63  del /Q opcodes.c
125d0 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c   opcodes.h 2>NUL
125e0 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a  ..del /Q lemon.*
125f0 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73 65 2e   lempar.c parse.
12600 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  * 2>NUL..del /Q
12610 6d 6b 73 6f 75 72 63 65 69 64 2e 2a 20 6d 6b 6b  mksourceid.* mkk
12620 65 79 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79  eywordhash.* key
12630 77 6f 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c  wordhash.h 2>NUL
12640 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61  ..del /Q notasha
12650 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09  redlib.* 2>NUL..
12660 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70  -rmdir /Q/S .dep
12670 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20  s 2>NUL..-rmdir
12680 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c  /Q/S .libs 2>NUL
12690 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73  ..-rmdir /Q/S ts
126a0 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  rc 2>NUL..del /Q
126b0 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20   .target_source
126c0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63  2>NUL..del /Q tc
126d0 6c 73 71 6c 69 74 65 33 2e 65 78 65 20 24 28 53  lsqlite3.exe $(S 126e0 51 4c 49 54 45 54 43 4c 48 29 20 24 28 53 51 4c QLITETCLH)$(SQL
126f0 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 32 3e  ITETCLDECLSH) 2>
12700 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e  NUL..del /Q lsm.
12710 64 6c 6c 20 6c 73 6d 74 65 73 74 2e 65 78 65 20  dll lsmtest.exe
12720 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65  2>NUL..del /Q te
12730 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e  stloadext.dll 2>
12740 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74  NUL..del /Q test
12750 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74  fixture.exe test
12760 2e 64 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  .db 2>NUL..del /
12770 51 20 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73  Q LogEst.exe fts
12780 33 76 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61  3view.exe rollba
12790 63 6b 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77  ck-test.exe show
127a0 64 62 2e 65 78 65 20 64 62 64 75 6d 70 2e 65 78  db.exe dbdump.ex
127b0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q
127c0 63 68 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e  changeset.exe 2>
127d0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77  NUL..del /Q show
127e0 6a 6f 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77  journal.exe show
127f0 73 74 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61  stat4.exe showwa
12800 6c 2e 65 78 65 20 73 70 65 65 64 74 65 73 74 31  l.exe speedtest1
12810 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del
12820 2f 51 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20  /Q mptester.exe
12830 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62  wordcount.exe rb
12840 75 2e 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65  u.exe srcck1.exe
12850 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
12860 71 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33  qlite3.c sqlite3
12870 2d 2a 2e 63 20 73 71 6c 69 74 65 33 2e 68 20 32  -*.c sqlite3.h 2
12880 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
12890 69 74 65 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09  ite3rc.h 2>NUL..
128a0 64 65 6c 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73  del /Q shell.c s
128b0 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69  qlite3ext.h sqli
128c0 74 65 33 73 65 73 73 69 6f 6e 2e 68 20 32 3e 4e  te3session.h 2>N
128d0 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74  UL..del /Q sqlit
128e0 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20  e3_analyzer.exe
128f0 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
12900 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .c 2>NUL..del /Q
12910 20 73 71 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74   sqlite-*-output
12920 2e 76 73 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c  .vsix 2>NUL..del
12930 20 2f 51 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e   /Q fuzzershell.
12940 65 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78  exe fuzzcheck.ex
12950 65 20 73 71 6c 64 69 66 66 2e 65 78 65 20 64 62  e sqldiff.exe db
12960 68 61 73 68 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  hash.exe 2>NUL..
12970 64 65 6c 20 2f 51 20 73 71 6c 74 63 6c 73 68 2e  del /Q sqltclsh.
12980 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  * 2>NUL..del /Q
12990 64 62 66 75 7a 7a 2e 65 78 65 20 73 65 73 73 69  dbfuzz.exe sessi
129a0 6f 6e 66 75 7a 7a 2e 65 78 65 20 32 3e 4e 55 4c  onfuzz.exe 2>NUL
129b0 0a 09 64 65 6c 20 2f 51 20 6b 76 74 65 73 74 2e  ..del /Q kvtest.
129c0 65 78 65 20 6f 73 73 73 68 65 6c 6c 2e 65 78 65  exe ossshell.exe
129d0 20 73 63 72 75 62 2e 65 78 65 20 32 3e 4e 55 4c   scrub.exe 2>NUL
129e0 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 73 68 6d  ..del /Q showshm
129f0 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 63 68 65  .exe sqlite3_che
12a00 63 6b 65 72 2e 2a 20 73 71 6c 69 74 65 33 5f 65  cker.* sqlite3_e
12a10 78 70 65 72 74 2e 65 78 65 20 32 3e 4e 55 4c 0a  xpert.exe 2>NUL.
12a20 09 64 65 6c 20 2f 51 20 66 74 73 35 2e 2a 20 66  .del /Q fts5.* f
12a30 74 73 35 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c  ts5parse.* 2>NUL
12a40 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e 68 20 6c  ..del /Q lsm.h l
12a50 73 6d 31 2e 63 20 32 3e 4e 55 4c 0a 23 20 3c 3c  sm1.c 2>NUL.# <<
12a60 2f 6d 61 72 6b 3e 3e 0a                          /mark>>.