/ Hex Artifact Content

## Artifact 26957950b2b4f3b26e311eeea70437f85a77765f71d3a06489466d66ee321100:

• File Makefile.msc — part of check-in [d2728192] at 2019-04-05 20:56:46 on branch trunk — Eliminate the tool/addopcodes.tcl script. The purpose of that script was to keep the number of parser codes below 256 in order to save parser table space. But we have long since blown through that ceiling so the addopcodes.tcl script was just needless complexity. There is no longer any reason to keep it around. (user: drh size: 79711) [more...]

0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS =
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U 06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a SE_FULLWARN)!=0. 0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35 NO_WARN = -wd405 0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30 4 -wd4055 -wd410 0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33 0 -wd4127 -wd413 0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38 0 -wd4152 -wd418 0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52 9 -wd4206.NO_WAR 0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d N =$(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
0970: 61 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70  abled.# for comp
0980: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f  atibility with o
0990: 6c 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72  lder build envir
09a0: 6f 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73  onments.  This s
09b0: 65 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70  etting only.# ap
09c0: 70 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43  plies if TCLSH_C
09d0: 4d 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61  MD is not set ma
09e0: 6e 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45  nually..#.!IFNDE
09f0: 46 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  F USE_TCLSH_IN_P
0a00: 41 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e  ATH.USE_TCLSH_IN
0a10: 5f 50 41 54 48 20 3d 20 30 0a 21 45 4e 44 49 46  _PATH = 0.!ENDIF
0a20: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0a30: 2d 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20  -0 to use zlib,
0a40: 70 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69  possibly compili
0a50: 6e 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63  ng it from sourc
0a60: 65 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45  e code..#.!IFNDE
0a70: 46 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a  F USE_ZLIB.USE_Z
0a80: 4c 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  LIB = 0.!ENDIF..
0a90: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0aa0: 20 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66   to build zlib f
0ab0: 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  rom source code.
0ac0: 20 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65    This is enable
0ad0: 64 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61  d by.# default a
0ae0: 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20  nd in that case
0af0: 69 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  it will be assum
0b00: 65 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42  ed that the ZLIB
0b10: 44 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e  DIR macro.# poin
0b20: 74 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65  ts to the top-le
0b30: 76 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  vel source code
0b40: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c  directory for zl
0b50: 69 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55  ib..#.!IFNDEF BU
0b60: 49 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a  ILD_ZLIB.BUILD_Z
0b70: 4c 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a  LIB = 1.!ENDIF..
0b80: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0b90: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0ba0: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0bb0: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0bc0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0bd0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0be0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0bf0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set
0c00: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0c10: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0c20: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0c30: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0c40: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0c50: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL =
0c60: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
0c70: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0c80: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0c90: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0ca0: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0cb0: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0cc0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..#
0cd0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0ce0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0cf0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0d00: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0d10: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0d20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0d30: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0d40: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0d50: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0d60: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0d70: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0d80: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0d90: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0da0: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0db0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0dc0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during
0dd0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0de0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0df0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0e00: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0e10: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0e20: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0e30: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries
0e40: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0e50: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the
0e60: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0e70: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0e80: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0e90: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0ea0: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0eb0: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ec0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0ed0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0ee0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0ef0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0f00: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0f10: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0f20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0f30: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0f40: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0f50: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0f60: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0f70: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0f80: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0f90: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does
0fa0: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0fb0: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0fc0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0fd0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0fe0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text
0ff0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
1000: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
1010: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
1020: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1030: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1040: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1050: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
1060: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
1070: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
1080: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
1090: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
10a0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
10b0: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
10c0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
10d0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
10e0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
10f0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
1100: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1110: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1120: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1130: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
1140: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
1150: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
1160: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
1170: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..#
1180: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
1190: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
11a0: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to
11b0: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or
11c0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
11d0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
11e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
11f0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
1200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
1210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
1220: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
1230: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
1240: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
1250: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
1260: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1280: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
1290: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
12a0: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
12b0: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
12c0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
12d0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
12e0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
12f0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap
1300: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
1310: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1320: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1330: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this
1340: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1350: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1360: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1370: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.#
1380: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1390: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
13a0: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
13b0: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
13c0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
13d0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
13e0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
13f0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
1400: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
1410: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1420: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1430: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1440: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1450: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1460: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for
1470: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1480: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1490: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
14a0: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime
14b0: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
14c0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
14d0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
14e0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
14f0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of
1500: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 ==
1510: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG
1520: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1530: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1540: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1550: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1560: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1570: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1580: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1590: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
15a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
15b0: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
15c0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native
15d0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
15e0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
15f0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1600: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1610: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1620: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1630: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1640: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1650: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1660: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1670: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1680: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1690: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
16a0: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
16b0: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
16c0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
16d0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
16e0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
16f0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero,
1700: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1710: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1720: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1730: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1740: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1750: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1760: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS =
1770: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set
1780: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1790: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support
17a0: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session
17b0: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
17c0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
17d0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
17e0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
17f0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1800: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1810: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1820: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they
1830: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1840: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1850: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $( 1860: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 SPLIT_AMALGAMATI 1870: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20 ON)!=0.SQLITE3C 1880: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a = sqlite3-all.c. 1890: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d !ELSE.SQLITE3C = 18a0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49 sqlite3.c.!ENDI 18b0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 F.!ENDIF..# Set 18c0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65 the include code 18d0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 file to be used 18e0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 by executables 18f0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 and libraries wh 1900: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53 en.# they need S 1910: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46 QLite..#.!IFNDEF 1920: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45 SQLITE3H.SQLITE 1930: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21 3H = sqlite3.h.! 1940: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 ENDIF..# This is 1950: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 the name to use 1960: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 for the SQLite 1970: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 dynamic link lib 1980: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49 rary (DLL)..#.!I 1990: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c FNDEF SQLITE3DLL 19a0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 .!IF$(FOR_WIN10
19b0: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL
19c0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
19d0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
19e0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
19f0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1a00: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1a10: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1a20: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1a30: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1a40: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1a50: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN 1a60: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49 10)!=0.SQLITE3LI 1a70: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c B = winsqlite3.l 1a80: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 ib.!ELSE.SQLITE3 1a90: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69 LIB = sqlite3.li 1aa0: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a b.!ENDIF.!ENDIF. 1ab0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e .# This is the n 1ac0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 ame to use for t 1ad0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 he SQLite shell 1ae0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 executable (EXE) 1af0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 ..#.!IFNDEF SQLI 1b00: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52 TE3EXE.!IF$(FOR
1b10: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1b20: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1b30: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1b40: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1b50: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1b70: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1b80: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1b90: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1ba0: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1bb0: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1bc0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1bd0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF
1be0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!= 1c00: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 0.SQLITE3EXEPDB 1c10: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45 =.!ELSE.SQLITE3E 1c20: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c XEPDB = /pdb:sql 1c30: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49 ite3sh.pdb.!ENDI 1c40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 F.!ENDIF..# <<ma 1c50: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65 rk>>.# These are 1c60: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 the names of th 1c70: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c e customized Tcl 1c80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 header files us 1c90: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61 ed by various pa 1ca0: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61 rts.# of this ma 1cb0: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20 kefile when the 1cc0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20 stdcall calling 1cd0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e convention is in 1ce0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74 use. It is not 1cf0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 .# used for any 1d00: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23 other purpose..# 1d10: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54 .!IFNDEF SQLITET 1d20: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d CLH.SQLITETCLH = 1d30: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45 sqlite_tcl.h.!E 1d40: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51 NDIF..!IFNDEF SQ 1d50: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51 LITETCLDECLSH.SQ 1d60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20 LITETCLDECLSH = 1d70: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e sqlite_tclDecls. 1d80: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 h.!ENDIF..# This 1d90: 20 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 is the name to 1da0: 75 73 65 20 66 6f 72 20 74 68 65 20 64 79 6e 61 use for the dyna 1db0: 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 mic link library 1dc0: 20 28 44 4c 4c 29 20 63 6f 6e 74 61 69 6e 69 6e (DLL) containin 1dd0: 67 20 74 68 65 0a 23 20 54 63 6c 20 62 69 6e 64 g the.# Tcl bind 1de0: 69 6e 67 73 20 66 6f 72 20 53 51 4c 69 74 65 2e ings for SQLite. 1df0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 .#.!IFNDEF SQLIT 1e00: 45 33 54 43 4c 44 4c 4c 0a 53 51 4c 49 54 45 33 E3TCLDLL.SQLITE3 1e10: 54 43 4c 44 4c 4c 20 3d 20 74 63 6c 73 71 6c 69 TCLDLL = tclsqli 1e20: 74 65 33 2e 64 6c 6c 0a 21 45 4e 44 49 46 0a 0a te3.dll.!ENDIF.. 1e30: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 # These are the 1e40: 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 67 65 additional targe 1e50: 74 73 20 74 68 61 74 20 74 68 65 20 74 61 72 67 ts that the targ 1e60: 65 74 73 20 74 68 61 74 20 69 6e 74 65 67 72 61 ets that integra 1e70: 74 65 20 77 69 74 68 20 74 68 65 0a 23 20 54 63 te with the.# Tc 1e80: 6c 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c 64 l library should 1e90: 20 64 65 70 65 6e 64 20 6f 6e 20 77 68 65 6e 20 depend on when 1ea0: 63 6f 6d 70 69 6c 69 6e 67 2c 20 65 74 63 2e 0a compiling, etc.. 1eb0: 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 #.!IFNDEF SQLITE 1ec0: 5f 54 43 4c 5f 44 45 50 0a 21 49 46 20 24 28 55 _TCL_DEP.!IF$(U
1ed0: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
1ee0: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!= 1ef0: 30 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 0.SQLITE_TCL_DEP 1f00: 20 3d 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 =$(SQLITETCLDE
1f10: 43 4c 53 48 29 20 24 28 53 51 4c 49 54 45 54 43  CLSH) $(SQLITETC 1f20: 4c 48 29 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 LH).!ELSE.SQLITE 1f30: 5f 54 43 4c 5f 44 45 50 20 3d 0a 21 45 4e 44 49 _TCL_DEP =.!ENDI 1f40: 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 F.!ENDIF.# <</ma 1f50: 72 6b 3e 3e 0a 0a 23 20 54 68 65 73 65 20 61 72 rk>>..# These ar 1f60: 65 20 74 68 65 20 22 73 74 61 6e 64 61 72 64 22 e the "standard" 1f70: 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 SQLite compilat 1f80: 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 ion options used 1f90: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 when compiling 1fa0: 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 for.# the Window 1fb0: 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 s platform..#.!I 1fc0: 46 4e 44 45 46 20 4f 50 54 5f 46 45 41 54 55 52 FNDEF OPT_FEATUR 1fd0: 45 5f 46 4c 41 47 53 0a 21 49 46 20 24 28 4d 49 E_FLAGS.!IF$(MI
1fe0: 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49  NIMAL_AMALGAMATI
1ff0: 4f 4e 29 3d 3d 30 0a 4f 50 54 5f 46 45 41 54 55  ON)==0.OPT_FEATU
2000: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54  RE_FLAGS = $(OPT 2010: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) 2020: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 2030: 46 54 53 33 3d 31 0a 4f 50 54 5f 46 45 41 54 55 FTS3=1.OPT_FEATU 2040: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 RE_FLAGS =$(OPT
2050: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
2060: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
2070: 52 54 52 45 45 3d 31 0a 4f 50 54 5f 46 45 41 54  RTREE=1.OPT_FEAT
2080: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP 2090: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) 20a0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 20b0: 5f 47 45 4f 50 4f 4c 59 3d 31 0a 4f 50 54 5f 46 _GEOPOLY=1.OPT_F 20c0: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 EATURE_FLAGS =$
20d0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
20e0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
20f0: 42 4c 45 5f 4a 53 4f 4e 31 3d 31 0a 4f 50 54 5f  BLE_JSON1=1.OPT_
2100: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS =
2110: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL 2120: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e AGS) -DSQLITE_EN 2130: 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 3d 31 0a ABLE_STMTVTAB=1. 2140: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG 2150: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 S =$(OPT_FEATUR
2160: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
2170: 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f  E_ENABLE_DBPAGE_
2180: 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54 55  VTAB=1.OPT_FEATU
2190: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54  RE_FLAGS = $(OPT 21a0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) 21b0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 21c0: 44 42 53 54 41 54 5f 56 54 41 42 3d 31 0a 4f 50 DBSTAT_VTAB=1.OP 21d0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 T_FEATURE_FLAGS 21e0: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f =$(OPT_FEATURE_
21f0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
2200: 49 4e 54 52 4f 53 50 45 43 54 49 4f 4e 5f 50 52  INTROSPECTION_PR
2210: 41 47 4d 41 53 3d 31 0a 4f 50 54 5f 46 45 41 54  AGMAS=1.OPT_FEAT
2220: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP 2230: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) 2240: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 2250: 5f 44 45 53 45 52 49 41 4c 49 5a 45 3d 31 0a 21 _DESERIALIZE=1.! 2260: 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41 54 55 52 ENDIF.OPT_FEATUR 2270: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f E_FLAGS =$(OPT_
2280: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
2290: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43  DSQLITE_ENABLE_C
22a0: 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41 3d 31  OLUMN_METADATA=1
22b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c  .!ENDIF..# Shoul
22c0: 64 20 74 68 65 20 73 65 73 73 69 6f 6e 20 65 78  d the session ex
22d0: 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e 61 62 6c  tension be enabl
22e0: 65 64 3f 20 20 49 66 20 73 6f 2c 20 61 64 64 20  ed?  If so, add
22f0: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69  compilation opti
2300: 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62 6c 65 20  ons.# to enable
2310: 69 74 2e 0a 23 0a 21 49 46 20 24 28 53 45 53 53  it..#.!IF $(SESS 2320: 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46 45 41 54 ION)!=0.OPT_FEAT 2330: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 URE_FLAGS =$(OP
2340: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2350: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2360: 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50 54 5f 46  _SESSION=1.OPT_F
2370: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $2380: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (OPT_FEATURE_FLA 2390: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 GS) -DSQLITE_ENA 23a0: 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f BLE_PREUPDATE_HO 23b0: 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 54 OK=1.!ENDIF..# T 23c0: 68 65 73 65 20 61 72 65 20 74 68 65 20 22 65 78 hese are the "ex 23d0: 74 65 6e 64 65 64 22 20 53 51 4c 69 74 65 20 63 tended" SQLite c 23e0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f ompilation optio 23f0: 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d ns used when com 2400: 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68 65 piling for.# the 2410: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 Windows 10 plat 2420: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 form..#.!IFNDEF 2430: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 EXT_FEATURE_FLAG 2440: 53 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 S.!IF$(FOR_WIN1
2450: 30 29 21 3d 30 0a 45 58 54 5f 46 45 41 54 55 52  0)!=0.EXT_FEATUR
2460: 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f  E_FLAGS = $(EXT_ 2470: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d FEATURE_FLAGS) - 2480: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 DSQLITE_ENABLE_F 2490: 54 53 34 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 TS4=1.EXT_FEATUR 24a0: 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f E_FLAGS =$(EXT_
24b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
24c0: 44 53 51 4c 49 54 45 5f 53 59 53 54 45 4d 5f 4d  DSQLITE_SYSTEM_M
24d0: 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 45 41 54  ALLOC=1.EXT_FEAT
24e0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58  URE_FLAGS = $(EX 24f0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) 2500: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c -DSQLITE_OMIT_L 2510: 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45 4c 53 45 OCALTIME=1.!ELSE 2520: 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 .EXT_FEATURE_FLA 2530: 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 GS =.!ENDIF.!END 2540: 49 46 0a 0a 23 23 23 23 23 23 23 23 23 23 23 23 IF..############ 2550: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2560: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2570: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2580: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2590: 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 ###.############ 25a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 25b0: 23 23 23 20 45 4e 44 20 4f 46 20 4f 50 54 49 4f ### END OF OPTIO 25c0: 4e 53 20 23 23 23 23 23 23 23 23 23 23 23 23 23 NS ############# 25d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 25e0: 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 ###.############ 25f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2600: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2610: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2620: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 2630: 23 23 23 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 ###..# When comp 2640: 69 6c 69 6e 67 20 66 6f 72 20 74 68 65 20 57 69 iling for the Wi 2650: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 ndows 10 platfor 2660: 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f 52 4d 20 m, the PLATFORM 2670: 6d 61 63 72 6f 20 6d 75 73 74 20 62 65 20 73 65 macro must be se 2680: 74 0a 23 20 74 6f 20 61 6e 20 61 70 70 72 6f 70 t.# to an approp 2690: 72 69 61 74 65 20 76 61 6c 75 65 20 28 65 2e 67 riate value (e.g 26a0: 2e 20 78 38 36 2c 20 78 36 34 2c 20 61 72 6d 2c . x86, x64, arm, 26b0: 20 61 72 6d 36 34 2c 20 65 74 63 29 2e 0a 23 0a arm64, etc)..#. 26c0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 !IF$(FOR_WIN10)
26d0: 21 3d 30 0a 21 49 46 4e 44 45 46 20 50 4c 41 54  !=0.!IFNDEF PLAT
26e0: 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55 73 69 6e  FORM.!ERROR Usin
26f0: 67 20 74 68 65 20 46 4f 52 5f 57 49 4e 31 30 20  g the FOR_WIN10
2700: 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20  option requires
2710: 61 20 76 61 6c 75 65 20 66 6f 72 20 50 4c 41 54  a value for PLAT
2720: 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a 21 45 4e  FORM..!ENDIF.!EN
2730: 44 49 46 0a 0a 23 20 54 68 69 73 20 61 73 73 75  DIF..# This assu
2740: 6d 65 73 20 74 68 61 74 20 4d 53 56 43 20 69 73  mes that MSVC is
2750: 20 61 6c 77 61 79 73 20 69 6e 73 74 61 6c 6c 65   always installe
2760: 64 20 69 6e 20 33 32 2d 62 69 74 20 50 72 6f 67  d in 32-bit Prog
2770: 72 61 6d 20 46 69 6c 65 73 20 64 69 72 65 63 74  ram Files direct
2780: 6f 72 79 0a 23 20 61 6e 64 20 73 65 74 73 20 74  ory.# and sets t
2790: 68 65 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20  he variable for
27a0: 75 73 65 20 69 6e 20 6c 6f 63 61 74 69 6e 67 20  use in locating
27b0: 6f 74 68 65 72 20 33 32 2d 62 69 74 20 69 6e 73  other 32-bit ins
27c0: 74 61 6c 6c 73 20 61 63 63 6f 72 64 69 6e 67 6c  talls accordingl
27d0: 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 49 4c 45  y..#.PROGRAMFILE
27e0: 53 5f 58 38 36 20 3d 20 24 28 56 43 49 4e 53 54  S_X86 = $(VCINST 27f0: 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e 0a 50 52 ALLDIR)\..\...PR 2800: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d OGRAMFILES_X86 = 2810: 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f$(PROGRAMFILES_
2820: 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65  X86:\\=\)..# Che
2830: 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65 64 65  ck for the prede
2840: 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61  fined command ma
2850: 63 72 6f 20 43 43 2e 20 20 54 68 69 73 20 73 68  cro CC.  This sh
2860: 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68  ould point to th
2870: 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20 62 69 6e  e compiler.# bin
2880: 61 72 79 20 66 6f 72 20 74 68 65 20 74 61 72 67  ary for the targ
2890: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66  et platform.  If
28a0: 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e   it is not defin
28b0: 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e  ed, simply defin
28c0: 65 20 69 74 20 74 6f 0a 23 20 74 68 65 20 6c 65  e it to.# the le
28d0: 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c  gacy default val
28e0: 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a 23 0a 21  ue 'cl.exe'..#.!
28f0: 49 46 4e 44 45 46 20 43 43 0a 43 43 20 3d 20 63  IFNDEF CC.CC = c
2900: 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20  l.exe.!ENDIF..#
2910: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72  Check for the pr
2920: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64  edefined command
2930: 20 6d 61 63 72 6f 20 43 53 43 2e 20 20 54 68 69   macro CSC.  Thi
2940: 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74  s should point t
2950: 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23 20 43 20  o a working.# C
2960: 53 68 61 72 70 20 63 6f 6d 70 69 6c 65 72 20 62  Sharp compiler b
2970: 69 6e 61 72 79 2e 20 20 49 66 20 69 74 20 69 73  inary.  If it is
2980: 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 69   not defined, si
2990: 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74  mply define it t
29a0: 6f 20 74 68 65 0a 23 20 6c 65 67 61 63 79 20 64  o the.# legacy d
29b0: 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 63 73  efault value 'cs
29c0: 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45  c.exe'..#.!IFNDE
29d0: 46 20 43 53 43 0a 43 53 43 20 3d 20 63 73 63 2e  F CSC.CSC = csc.
29e0: 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68  exe.!ENDIF..# Ch
29f0: 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d  eck for the comm
2a00: 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e 20 20 54  and macro LD.  T
2a10: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
2a20: 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 72 20 62   to the linker b
2a30: 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 68 65 20  inary for.# the
2a40: 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e  target platform.
2a50: 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64    If it is not d
2a60: 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64  efined, simply d
2a70: 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68 65 20  efine it to the
2a80: 6c 65 67 61 63 79 0a 23 20 64 65 66 61 75 6c 74  legacy.# default
2a90: 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e 65 78 65   value 'link.exe
2aa0: 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 44 0a  '..#.!IFNDEF LD.
2ab0: 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 0a 21 45  LD = link.exe.!E
2ac0: 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f  NDIF..# Check fo
2ad0: 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64  r the predefined
2ae0: 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 52   command macro R
2af0: 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20  C.  This should
2b00: 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 72 65 73  point to the res
2b10: 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 6c 65 72  ource.# compiler
2b20: 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20   binary for the
2b30: 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e  target platform.
2b40: 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64    If it is not d
2b50: 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64  efined, simply d
2b60: 65 66 69 6e 65 0a 23 20 69 74 20 74 6f 20 74 68  efine.# it to th
2b70: 65 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74  e legacy default
2b80: 20 76 61 6c 75 65 20 27 72 63 2e 65 78 65 27 2e   value 'rc.exe'.
2b90: 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 0a 52 43  .#.!IFNDEF RC.RC
2ba0: 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e 44 49 46   = rc.exe.!ENDIF
2bb0: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
2bc0: 65 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c  e MSVC runtime l
2bd0: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
2be0: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74  o.  Otherwise, t
2bf0: 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23  his value will.#
2c00: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the
2c10: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20  'lib' directory
2c20: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d  underneath the M
2c30: 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  SVC installation
2c40: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49   directory..#.!I
2c50: 46 4e 44 45 46 20 43 52 54 4c 49 42 50 41 54 48  FNDEF CRTLIBPATH
2c60: 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28  .CRTLIBPATH = $( 2c70: 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 VCINSTALLDIR)\li 2c80: 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54 4c 49 42 b.!ENDIF..CRTLIB 2c90: 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 PATH =$(CRTLIBP
2ca0: 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65  ATH:\\=\)..# Che
2cb0: 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61  ck for the comma
2cc0: 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e 20 20 54  nd macro NCC.  T
2cd0: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
2ce0: 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72   to the compiler
2cf0: 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 20 74 68   binary.# for th
2d00: 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 63  e platform the c
2d10: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
2d20: 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61  ss is taking pla
2d30: 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 20 69 73  ce on.  If it is
2d40: 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 64 2c 20   not.# defined,
2d50: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74  simply define it
2d60: 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 61 6d   to have the sam
2d70: 65 20 76 61 6c 75 65 20 61 73 20 74 68 65 20 43  e value as the C
2d80: 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 6e 0a 23  C macro.  When.#
2d90: 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67   cross-compiling
2da0: 2c 20 69 74 20 69 73 20 73 75 67 67 65 73 74 65  , it is suggeste
2db0: 64 20 74 68 61 74 20 74 68 69 73 20 6d 61 63 72  d that this macr
2dc0: 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 76 69  o be modified vi
2dd0: 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20  a the command.#
2de0: 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e 6d 61 6b  line (since nmak
2df0: 65 20 69 74 73 65 6c 66 20 64 6f 65 73 20 6e 6f  e itself does no
2e00: 74 20 70 72 6f 76 69 64 65 20 61 20 62 75 69 6c  t provide a buil
2e10: 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 6f 20 67  t-in method to g
2e20: 75 65 73 73 20 69 74 29 2e 0a 23 20 46 6f 72 20  uess it)..# For
2e30: 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 73 65 20  example, to use
2e40: 74 68 65 20 78 38 36 20 63 6f 6d 70 69 6c 65 72  the x86 compiler
2e50: 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 6f 6d 70   when cross-comp
2e60: 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 2c 20 61  iling for x64, a
2e70: 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20   command.# line
2e80: 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 66  similar to the f
2e90: 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c 64 20 62  ollowing could b
2ea0: 65 20 75 73 65 64 20 28 61 6c 6c 20 6f 6e 20 6f  e used (all on o
2eb0: 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20  ne line):.#.#
2ec0: 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66    nmake /f Makef
2ed0: 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e  ile.msc sqlite3.
2ee0: 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20  dll.#
2ef0: 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 45 5f 4e  XCOMPILE=1 USE_N
2f00: 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31  ATIVE_LIBPATHS=1
2f10: 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 69 76 65  .#.# Alternative
2f20: 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 70 61 74  ly, the full pat
2f30: 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 6d 65 20  h and file name
2f40: 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20  to the compiler
2f50: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 0a 23  binary for the.#
2f60: 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 63 6f   platform the co
2f70: 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73  mpilation proces
2f80: 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61 63  s is taking plac
2f90: 65 20 6d 61 79 20 62 65 20 73 70 65 63 69 66 69  e may be specifi
2fa0: 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 6f 6e 65  ed (all on.# one
2fb0: 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20   line):.#.#
2fc0: 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c  nmake /f Makefil
2fd0: 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c  e.msc sqlite3.dl
2fe0: 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20 22 4e  l.#           "N
2ff0: 43 43 3d 22 22 25 56 43 49 4e 53 54 41 4c 4c 44  CC=""%VCINSTALLD
3000: 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 65 22 22  IR%\bin\cl.exe""
3010: 22 0a 23 20 20 20 20 20 20 20 20 20 20 20 55 53  ".#           US
3020: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48  E_NATIVE_LIBPATH
3030: 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 4e 43 43  S=1.#.!IFDEF NCC
3040: 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d  .NCC = $(NCC:\\= 3050: 5c 29 0a 21 45 4c 53 45 49 46 20 24 28 58 43 4f \).!ELSEIF$(XCO
3060: 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 20 3d 20  MPILE)!=0.NCC =
3070: 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29  "$(VCINSTALLDIR) 3080: 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e 43 43 20 \bin\$(CC)".NCC
3090: 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45  = $(NCC:\\=\).!E 30a0: 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43 43 29 0a LSE.NCC =$(CC).
30b0: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20  !ENDIF..# Check
30c0: 66 6f 72 20 74 68 65 20 4d 53 56 43 20 6e 61 74  for the MSVC nat
30d0: 69 76 65 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  ive runtime libr
30e0: 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20  ary path macro.
30f0: 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 20 74 68   Otherwise,.# th
3100: 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 65  is value will de
3110: 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69  fault to the 'li
3120: 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64  b' directory und
3130: 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43  erneath the MSVC
3140: 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20  .# installation
3150: 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46  directory..#.!IF
3160: 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 41 54 48  NDEF NCRTLIBPATH
3170: 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24  .NCRTLIBPATH = $3180: 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c (VCINSTALLDIR)\l 3190: 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43 52 54 4c ib.!ENDIF..NCRTL 31a0: 49 42 50 41 54 48 20 3d 20 24 28 4e 43 52 54 4c IBPATH =$(NCRTL
31b0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20  IBPATH:\\=\)..#
31c0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 50 6c  Check for the Pl
31d0: 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 62 72 61  atform SDK libra
31e0: 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20  ry path macro.
31f0: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 0a  Otherwise, this.
3200: 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 65 66  # value will def
3210: 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62  ault to the 'lib
3220: 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65  ' directory unde
3230: 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e 64 6f  rneath the Windo
3240: 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 61 6c 6c  ws.# SDK install
3250: 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 20  ation directory
3260: 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  (the environment
3270: 20 76 61 72 69 61 62 6c 65 20 75 73 65 64 20 61   variable used a
3280: 70 70 65 61 72 73 0a 23 20 74 6f 20 62 65 20 61  ppears.# to be a
3290: 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 75 73  vailable when us
32a0: 69 6e 67 20 56 69 73 75 61 6c 20 43 2b 2b 20 32  ing Visual C++ 2
32b0: 30 30 38 20 6f 72 20 6c 61 74 65 72 20 76 69 61  008 or later via
32c0: 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e 64 20 6c   the.# command l
32d0: 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  ine)..#.!IFNDEF
32e0: 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e 53 44 4b  NSDKLIBPATH.NSDK
32f0: 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44  LIBPATH = $(WIND 3300: 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62 0a 21 OWSSDKDIR)\lib.! 3310: 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49 42 50 41 ENDIF..NSDKLIBPA 3320: 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49 42 50 41 TH =$(NSDKLIBPA
3330: 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63  TH:\\=\)..# Chec
3340: 6b 20 66 6f 72 20 74 68 65 20 55 43 52 54 20 6c  k for the UCRT l
3350: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72  ibrary path macr
3360: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74  o.  Otherwise, t
3370: 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23  his value will.#
3380: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20   default to the
3390: 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63  version-specific
33a0: 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69  , platform-speci
33b0: 66 69 63 20 27 6c 69 62 27 20 64 69 72 65 63 74  fic 'lib' direct
33c0: 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 61 74 68  ory.# underneath
33d0: 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53 44 4b   the Windows SDK
33e0: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69   installation di
33f0: 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44  rectory..#.!IFND
3400: 45 46 20 55 43 52 54 4c 49 42 50 41 54 48 0a 55  EF UCRTLIBPATH.U
3410: 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 57  CRTLIBPATH = $(W 3420: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 INDOWSSDKDIR)\li 3430: 62 5c 24 28 57 49 4e 44 4f 57 53 53 44 4b 4c 49 b\$(WINDOWSSDKLI
3440: 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 74 5c 24  BVERSION)\ucrt\$3450: 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4e 44 49 (PLATFORM).!ENDI 3460: 46 0a 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d F..UCRTLIBPATH = 3470: 20 24 28 55 43 52 54 4c 49 42 50 41 54 48 3a 5c$(UCRTLIBPATH:\
3480: 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d 70 69 6c  \=\)..# C compil
3490: 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66  er and options f
34a0: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
34b0: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
34c0: 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f  hat.# will run o
34d0: 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74  n the platform t
34e0: 68 61 74 20 69 73 20 64 6f 69 6e 67 20 74 68 65  hat is doing the
34f0: 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 20 24 28   build..#.!IF $( 3500: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 USE_FULLWARN)!=0 3510: 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e .BCC =$(NCC) -n
3520: 6f 6c 6f 67 6f 20 2d 57 34 20 2d 46 64 24 2a 2e  ologo -W4 -Fd$*. 3530: 70 64 62 20 24 28 43 43 4f 50 54 53 29 20 24 28 pdb$(CCOPTS) $( 3540: 42 43 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 42 BCCOPTS).!ELSE.B 3550: 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c CC =$(NCC) -nol
3560: 6f 67 6f 20 2d 57 33 20 2d 46 64 24 2a 2e 70 64  ogo -W3 -Fd$*.pd 3570: 62 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 b$(CCOPTS) $(BC 3580: 43 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 COPTS).!ENDIF..# 3590: 20 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 Check if assemb 35a0: 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 ly code listings 35b0: 20 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 should be gener 35c0: 61 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 ated for the sou 35d0: 72 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 rce.# code files 35e0: 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e to be compiled. 35f0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 .#.!IF$(USE_LIS
3600: 54 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20  TINGS)!=0.BCC =
3610: 24 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e  $(BCC) -FAcs.!EN 3620: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 DIF..# Check if 3630: 74 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 the native libra 3640: 72 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 ry paths should 3650: 62 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d be used when com 3660: 70 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d piling.# the com 3670: 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 mand line tools 3680: 75 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 used during the 3690: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 compilation proc 36a0: 65 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 ess. If.# so, s 36b0: 65 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 et the necessary 36c0: 20 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 macro now..#.!I 36d0: 46 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c F$(USE_NATIVE_L
36e0: 49 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c  IBPATHS)!=0.NLTL
36f0: 49 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50  IBPATHS = "/LIBP
3700: 41 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54  ATH:$(NCRTLIBPAT 3710: 48 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 H)" "/LIBPATH:$(
3720: 4e 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21  NSDKLIBPATH)"..!
3730: 49 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41  IFDEF NUCRTLIBPA
3740: 54 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20  TH.NUCRTLIBPATH
3750: 3d 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48  = $(NUCRTLIBPATH 3760: 3a 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 :\\=\).NLTLIBPAT 3770: 48 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 HS =$(NLTLIBPAT
3780: 48 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28  HS) "/LIBPATH:$( 3790: 4e 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 NUCRTLIBPATH)".! 37a0: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 ENDIF.!ENDIF..# 37b0: 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f C compiler and o 37c0: 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 ptions for use i 37d0: 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 n building execu 37e0: 74 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 tables that.# wi 37f0: 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 ll run on the ta 3800: 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 rget platform. 3810: 28 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 (BCC and TCC are 3820: 20 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 usually the.# s 3830: 61 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 ame unless your 3840: 61 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c are cross-compil 3850: 69 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 ing.).#.!IF$(US
3860: 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54  E_FULLWARN)!=0.T
3870: 43 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f  CC = $(CC) -nolo 3880: 67 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 go -W4 -DINCLUDE 3890: 5f 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 _MSVC_H=1$(CCOP
38a0: 54 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21  TS) $(TCCOPTS).! 38b0: 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 ELSE.TCC =$(CC)
38c0: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43   -nologo -W3 $(C 38d0: 43 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 COPTS)$(TCCOPTS
38e0: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  ).!ENDIF..# Chec
38f0: 6b 20 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68  k if warnings sh
3900: 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20  ould be treated
3910: 61 73 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63  as errors when c
3920: 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20  ompiling..#.!IF
3930: 24 28 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e  $(USE_FATAL_WARN 3940: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 )!=0.TCC =$(TCC
3950: 29 20 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43  ) -WX.!ENDIF..TC
3960: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL 3970: 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e ITE_OS_WIN=1 -I. 3980: 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f -I$(TOP) -I$(TO 3990: 50 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 P)\src -fp:preci 39a0: 73 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d se.RCC =$(RC) -
39b0: 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31  DSQLITE_OS_WIN=1
39c0: 20 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49   -I. -I$(TOP) -I 39d0: 24 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f$(TOP)\src $(RCO 39e0: 50 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a PTS)$(RCCOPTS).
39f0: 0a 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77  .# Check if we w
3a00: 61 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22  ant to use the "
3a10: 73 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67  stdcall" calling
3a20: 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e   convention when
3a30: 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68   compiling..# Th
3a40: 69 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72  is is not suppor
3a50: 74 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69  ted by the compi
3a60: 6c 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36  lers for non-x86
3a70: 20 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20   platforms.  It
3a80: 73 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65  should.# also be
3a90: 20 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74   noted here that
3aa0: 20 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61   building any ta
3ab0: 72 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20  rget with these
3ac0: 22 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e  "stdcall" option
3ad0: 73 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69  s.# will most li
3ae0: 6b 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65  kely fail if the
3af0: 20 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20   Tcl library is
3b00: 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20  also required.
3b10: 54 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f  This is due.# to
3b20: 20 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62   how the Tcl lib
3b30: 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61  rary functions a
3b40: 72 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20  re declared and
3b50: 65 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77  exported (i.e. w
3b60: 69 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c  ithout.# an expl
3b70: 69 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e  icit calling con
3b80: 76 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72  vention, which r
3b90: 65 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c  esults in "cdecl
3ba0: 22 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ")..#.!IF $(USE_ 3bb0: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 STDCALL)!=0 ||$
3bc0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21  (FOR_WIN10)!=0.!
3bd0: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)" 3be0: 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f =="x86".CORE_CCO 3bf0: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 NV_OPTS = -Gz -D 3c00: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 SQLITE_CDECL=__c 3c10: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 decl -DSQLITE_AP 3c20: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 ICALL=__stdcall 3c30: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 -DSQLITE_CALLBAC 3c40: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 K=__stdcall -DSQ 3c50: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 LITE_SYSAPI=__st 3c60: 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e dcall.SHELL_CCON 3c70: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 V_OPTS = -Gz -DS 3c80: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 QLITE_CDECL=__cd 3c90: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 ecl -DSQLITE_API 3ca0: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d CALL=__stdcall - 3cb0: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b DSQLITE_CALLBACK 3cc0: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c =__stdcall -DSQL 3cd0: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 ITE_SYSAPI=__std 3ce0: 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a call.# <<mark>>. 3cf0: 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 TEST_CCONV_OPTS 3d00: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 = -Gz -DSQLITE_C 3d10: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 DECL=__cdecl -DS 3d20: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f QLITE_APICALL=__ 3d30: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 stdcall -DSQLITE 3d40: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 _CALLBACK=__stdc 3d50: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 all -DSQLITE_SYS 3d60: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 API=__stdcall -D 3d70: 49 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 INCLUDE_SQLITE_T 3d80: 43 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f CL_H=1 -DSQLITE_ 3d90: 54 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 TCLAPI=__cdecl.# 3da0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 <</mark>>.!ELSE 3db0: 0a 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 .!IFNDEF PLATFOR 3dc0: 4d 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 M.CORE_CCONV_OPT 3dd0: 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 S = -Gz -DSQLITE 3de0: 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d _CDECL=__cdecl - 3df0: 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d DSQLITE_APICALL= 3e00: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 __stdcall -DSQLI 3e10: 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 TE_CALLBACK=__st 3e20: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 dcall -DSQLITE_S 3e30: 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a YSAPI=__stdcall. 3e40: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 SHELL_CCONV_OPTS 3e50: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f = -Gz -DSQLITE_ 3e60: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 CDECL=__cdecl -D 3e70: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f SQLITE_APICALL=_ 3e80: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 _stdcall -DSQLIT 3e90: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 E_CALLBACK=__std 3ea0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 call -DSQLITE_SY 3eb0: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 SAPI=__stdcall.# 3ec0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 <<mark>>.TEST_C 3ed0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 CONV_OPTS = -Gz 3ee0: 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f -DSQLITE_CDECL=_ 3ef0: 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f _cdecl -DSQLITE_ 3f00: 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c APICALL=__stdcal 3f10: 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 l -DSQLITE_CALLB 3f20: 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 ACK=__stdcall -D 3f30: 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f SQLITE_SYSAPI=__ 3f40: 73 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 stdcall -DINCLUD 3f50: 45 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 E_SQLITE_TCL_H=1 3f60: 20 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 -DSQLITE_TCLAPI 3f70: 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 =__cdecl.# <</ma 3f80: 72 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f rk>>.!ELSE.CORE_ 3f90: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 CCONV_OPTS =.SHE 3fa0: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a LL_CCONV_OPTS =. 3fb0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f # <<mark>>.TEST_ 3fc0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c CCONV_OPTS =.# < 3fd0: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a </mark>>.!ENDIF. 3fe0: 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 !ENDIF.!ELSE.COR 3ff0: 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 E_CCONV_OPTS =.S 4000: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 HELL_CCONV_OPTS 4010: 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 =.# <<mark>>.TES 4020: 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 T_CCONV_OPTS =.# 4030: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 <</mark>>.!ENDI 4040: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 F..# These are a 4050: 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c dditional compil 4060: 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 er options used 4070: 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 for the core lib 4080: 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 rary..#.!IFNDEF 4090: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT 40a0: 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f S.!IF$(DYNAMIC_
40b0: 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  SHELL)!=0 || $(F 40c0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 OR_WIN10)!=0.COR 40d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d E_COMPILE_OPTS = 40e0: 20 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50$(CORE_CCONV_OP
40f0: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  TS) -DSQLITE_API
4100: 3d 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65  =__declspec(dlle
4110: 78 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52  xport).!ELSE.COR
4120: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  E_COMPILE_OPTS =
4130: 20 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50   $(CORE_CCONV_OP 4140: 54 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 TS).!ENDIF.!ENDI 4150: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 F..# These are t 4160: 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 he additional ta 4170: 72 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63 rgets that the c 4180: 6f 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 ore library shou 4190: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 ld depend on.# w 41a0: 68 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 hen linking..#.! 41b0: 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b IFNDEF CORE_LINK 41c0: 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d _DEP.!IF$(DYNAM
41d0: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52  IC_SHELL)!=0.COR
41e0: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c  E_LINK_DEP =.!EL
41f0: 53 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  SEIF $(FOR_WIN10 4200: 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 )==0 || "$(PLATF
4210: 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52  ORM)"=="x86".COR
4220: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c  E_LINK_DEP = sql
4230: 69 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43  ite3.def.!ELSE.C
4240: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21  ORE_LINK_DEP =.!
4250: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
4260: 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69  These are additi
4270: 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69  onal linker opti
4280: 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65  ons used for the
4290: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23   core library..#
42a0: 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49  .!IFNDEF CORE_LI
42b0: 4e 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59  NK_OPTS.!IF $(DY 42c0: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a NAMIC_SHELL)!=0. 42d0: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d CORE_LINK_OPTS = 42e0: 0a 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 .!ELSEIF$(FOR_W
42f0: 49 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50  IN10)==0 || "$(P 4300: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 LATFORM)"=="x86" 4310: 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 .CORE_LINK_OPTS 4320: 3d 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 = /DEF:sqlite3.d 4330: 65 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 ef.!ELSE.CORE_LI 4340: 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 NK_OPTS =.!ENDIF 4350: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 .!ENDIF..# These 4360: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 are additional 4370: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 compiler options 4380: 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 used for the sh 4390: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a ell executable.. 43a0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f #.!IFNDEF SHELL_ 43b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 COMPILE_OPTS.!IF 43c0: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c$(DYNAMIC_SHELL
43d0: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI 43e0: 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f N10)!=0.SHELL_CO 43f0: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 MPILE_OPTS =$(S
4400: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29  HELL_CCONV_OPTS)
4410: 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f   -DSQLITE_API=__
4420: 64 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f  declspec(dllimpo
4430: 72 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f  rt).!ELSE.SHELL_
4440: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $4450: 28 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 (SHELL_CCONV_OPT 4460: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 S).!ENDIF.!ENDIF 4470: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 ..# This is the 4480: 73 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 source code that 4490: 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 the shell execu 44a0: 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 table should be 44b0: 63 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e compiled.# with. 44c0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c .#.!IFNDEF SHELL 44d0: 5f 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 _CORE_SRC.!IF$(
44e0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
44f0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10 4500: 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f )!=0.SHELL_CORE_ 4510: 53 52 43 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e SRC =.# <<mark>> 4520: 0a 21 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 .!ELSEIF$(USE_A
4530: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
4540: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d  SHELL_CORE_SRC =
4550: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c  .# <</mark>>.!EL
4560: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  SE.SHELL_CORE_SR
4570: 43 20 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a  C = $(SQLITE3C). 4580: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 !ENDIF.!ENDIF..# 4590: 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72 This is the cor 45a0: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74 e library that t 45b0: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 he shell executa 45c0: 62 6c 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e ble should depen 45d0: 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 d on..#.!IFNDEF 45e0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21 SHELL_CORE_DEP.! 45f0: 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 IF$(DYNAMIC_SHE
4600: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_ 4610: 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f WIN10)!=0.SHELL_ 4620: 43 4f 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c CORE_DEP =$(SQL
4630: 49 54 45 33 44 4c 4c 29 0a 23 20 3c 3c 6d 61 72  ITE3DLL).# <<mar
4640: 6b 3e 3e 0a 21 45 4c 53 45 49 46 20 24 28 55 53  k>>.!ELSEIF $(US 4650: 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d E_AMALGAMATION)= 4660: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 =0.SHELL_CORE_DE 4670: 50 20 3d 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c P = libsqlite3.l 4680: 69 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 ib.# <</mark>>.! 4690: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f ELSE.SHELL_CORE_ 46a0: 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e DEP =.!ENDIF.!EN 46b0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a DIF..# <<mark>>. 46c0: 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 # If zlib suppor 46d0: 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 t is enabled, ad 46e0: 64 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 d the dependenci 46f0: 65 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 es for it..#.!IF 4700: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 20$(USE_ZLIB)!=0
4710: 26 26 20 24 28 42 55 49 4c 44 5f 5a 4c 49 42 29  && $(BUILD_ZLIB) 4720: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 !=0.SHELL_CORE_D 4730: 45 50 20 3d 20 7a 6c 69 62 20 24 28 53 48 45 4c EP = zlib$(SHEL
4740: 4c 5f 43 4f 52 45 5f 44 45 50 29 0a 54 45 53 54  L_CORE_DEP).TEST
4750: 46 49 58 54 55 52 45 5f 44 45 50 20 3d 20 7a 6c  FIXTURE_DEP = zl
4760: 69 62 20 24 28 54 45 53 54 46 49 58 54 55 52 45  ib $(TESTFIXTURE 4770: 5f 44 45 50 29 0a 21 45 4e 44 49 46 0a 23 20 3c _DEP).!ENDIF.# < 4780: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 </mark>>..# This 4790: 20 69 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62 is the core lib 47a0: 72 61 72 79 20 74 68 61 74 20 74 68 65 20 73 68 rary that the sh 47b0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 ell executable s 47c0: 68 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74 68 2e hould link with. 47d0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c .#.!IFNDEF SHELL 47e0: 5f 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20 24 28 _CORE_LIB.!IF$(
47f0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
4800: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10 4810: 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f )!=0.SHELL_CORE_ 4820: 4c 49 42 20 3d 20 24 28 53 51 4c 49 54 45 33 4c LIB =$(SQLITE3L
4830: 49 42 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21  IB).# <<mark>>.!
4840: 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41  ELSEIF $(USE_AMA 4850: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 LGAMATION)==0.SH 4860: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 6c ELL_CORE_LIB = l 4870: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 ibsqlite3.lib.# 4880: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a <</mark>>.!ELSE. 4890: 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d SHELL_CORE_LIB = 48a0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a .!ENDIF.!ENDIF.. 48b0: 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69 # These are addi 48c0: 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 tional linker op 48d0: 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 tions used for t 48e0: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 he shell executa 48f0: 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 ble..#.!IFNDEF S 4900: 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 HELL_LINK_OPTS.S 4910: 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d HELL_LINK_OPTS = 4920: 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49$(SHELL_CORE_LI
4930: 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65  B).!ENDIF..# Che
4940: 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63  ck if assembly c
4950: 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f  ode listings sho
4960: 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 64  uld be generated
4970: 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a   for the source.
4980: 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20  # code files to
4990: 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21  be compiled..#.!
49a0: 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47  IF $(USE_LISTING 49b0: 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 S)!=0.TCC =$(TC
49c0: 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a  C) -FAcs.!ENDIF.
49d0: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# When compilin
49e0: 67 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f  g the library fo
49f0: 72 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e  r use in the Win
4a00: 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a  RT environment,.
4a10: 23 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  # the following
4a20: 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74  compile-time opt
4a30: 69 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65  ions must be use
4a40: 64 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64  d as well to.# d
4a50: 69 73 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69  isable use of Wi
4a60: 6e 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72  n32 APIs that ar
4a70: 65 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20  e not available
4a80: 61 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20  and to enable.#
4a90: 75 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49  use of Win32 API
4aa0: 73 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69  s that are speci
4ab0: 66 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38  fic to Windows 8
4ac0: 20 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23   and/or WinRT..#
4ad0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54  .!IF $(FOR_WINRT 4ae0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 )!=0.TCC =$(TCC
4af0: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49  ) -DSQLITE_OS_WI
4b00: 4e 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  NRT=1.RCC = $(RC 4b10: 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 C) -DSQLITE_OS_W 4b20: 49 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54 INRT=1.TCC =$(T
4b30: 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d  CC) -DWINAPI_FAM
4b40: 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c  ILY=WINAPI_FAMIL
4b50: 59 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43  Y_APP.RCC = $(RC 4b60: 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 C) -DWINAPI_FAMI 4b70: 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 LY=WINAPI_FAMILY 4b80: 5f 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43 _APP.!ENDIF..# C 4b90: 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e compiler option 4ba0: 73 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 s for the Window 4bb0: 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e s 10 platform (n 4bc0: 65 65 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e eeds MSVC 2015). 4bd0: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e .#.!IF$(FOR_WIN
4be0: 31 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  10)!=0.TCC = $(T 4bf0: 43 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 CC) /d2guard4 -D 4c00: 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 _ARM_WINAPI_PART 4c10: 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 ITION_DESKTOP_SD 4c20: 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20 K_AVAILABLE.BCC 4c30: 3d 20 24 28 42 43 43 29 20 2f 64 32 67 75 61 72 =$(BCC) /d2guar
4c40: 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49  d4 -D_ARM_WINAPI
4c50: 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54  _PARTITION_DESKT
4c60: 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45  OP_SDK_AVAILABLE
4c70: 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c  .!ENDIF..# Also,
4c80: 20 77 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61   we need to dyna
4c90: 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20  mically link to
4ca0: 74 68 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43  the correct MSVC
4cb0: 20 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20   runtime.# when
4cc0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69  compiling for Wi
4cd0: 6e 52 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20  nRT (e.g. debug
4ce0: 6f 72 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69  or release) OR i
4cf0: 66 20 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f  f the.# USE_CRT_
4d00: 44 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65  DLL option is se
4d10: 74 20 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d  t to force dynam
4d20: 69 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74  ically linking t
4d30: 6f 20 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e  o the.# MSVC run
4d40: 74 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a  time library..#.
4d50: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29  !IF $(FOR_WINRT) 4d60: 21 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54 !=0 ||$(USE_CRT
4d70: 5f 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44  _DLL)!=0.!IF $(D 4d80: 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 EBUG)>1.TCC =$(
4d90: 54 43 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20  TCC) -MDd.BCC =
4da0: 24 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53  $(BCC) -MDd.!ELS 4db0: 45 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d E.TCC =$(TCC) -
4dc0: 4d 44 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  MD.BCC = $(BCC) 4dd0: 2d 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 -MD.!ENDIF.!ELSE 4de0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a .!IF$(DEBUG)>1.
4df0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54  TCC = $(TCC) -MT 4e00: 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d d.BCC =$(BCC) -
4e10: 4d 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20  MTd.!ELSE.TCC =
4e20: 24 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d  $(TCC) -MT.BCC = 4e30: 20 24 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44$(BCC) -MT.!END
4e40: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d  IF.!ENDIF..# <<m
4e50: 61 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71  ark>>.# The mksq
4e60: 6c 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d  lite3c.tcl and m
4e70: 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63  ksqlite3h.tcl sc
4e80: 72 69 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20  ripts will pull
4e90: 69 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69  in.# any extensi
4ea0: 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 20  on header files
4eb0: 62 79 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72  by default.  For
4ec0: 20 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f   non-amalgamatio
4ed0: 6e 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e  n.# builds, we n
4ee0: 65 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65  eed to make sure
4ef0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61   the compiler ca
4f00: 6e 20 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a  n find these..#.
4f10: 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  !IF $(USE_AMALGA 4f20: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d MATION)==0.TCC = 4f30: 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29$(TCC) -I$(TOP) 4f40: 5c 65 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20 \ext\fts3.RCC = 4f50: 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c$(RCC) -I$(TOP)\ 4f60: 65 78 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24 ext\fts3.TCC =$
4f70: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (TCC) -I$(TOP)\e 4f80: 78 74 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24 xt\rtree.RCC =$
4f90: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (RCC) -I$(TOP)\e 4fa0: 78 74 5c 72 74 72 65 65 0a 54 43 43 20 3d 20 24 xt\rtree.TCC =$
4fb0: 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (TCC) -I$(TOP)\e 4fc0: 78 74 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d xt\session.RCC = 4fd0: 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29$(RCC) -I$(TOP) 4fe0: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e \ext\session.!EN 4ff0: 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c DIF..# The mksql 5000: 69 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 ite3c.tcl script 5010: 20 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 accepts some op 5020: 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d tions on the com 5030: 6d 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 mand.# line. Wh 5040: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 en compiling wit 5050: 68 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 h debugging enab 5060: 6c 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 led, some of the 5070: 73 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 se.# options are 5080: 20 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 necessary in or 5090: 64 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 der to allow deb 50a0: 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 ugging symbols t 50b0: 6f 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 o.# work correct 50c0: 6c 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 ly with Visual S 50d0: 74 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 tudio when using 50e0: 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f the amalgamatio 50f0: 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 n..#.!IFNDEF MKS 5100: 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 QLITE3C_TOOL.!IF 5110: 20 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47$(MINIMAL_AMALG
5120: 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51  AMATION)!=0.MKSQ
5130: 4c 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28  LITE3C_TOOL = $( 5140: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 TOP)\tool\mksqli 5150: 74 65 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 te3c-noext.tcl.! 5160: 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f ELSE.MKSQLITE3C_ 5170: 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f TOOL =$(TOP)\to
5180: 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63  ol\mksqlite3c.tc
5190: 6c 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  l.!ENDIF.!ENDIF.
51a0: 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54  .!IFNDEF MKSQLIT
51b0: 45 33 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44  E3C_ARGS.!IF $(D 51c0: 45 42 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 EBUG)>1.MKSQLITE 51d0: 33 43 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 3C_ARGS = --line 51e0: 6d 61 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 macros.!ELSE.MKS 51f0: 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21 QLITE3C_ARGS =.! 5200: 45 4e 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f ENDIF.!IF$(USE_
5210: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24  STDCALL)!=0 || $5220: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d (FOR_WIN10)!=0.M 5230: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d KSQLITE3C_ARGS = 5240: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52$(MKSQLITE3C_AR
5250: 47 53 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c  GS) --useapicall
5260: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
5270: 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68  # The mksqlite3h
5280: 2e 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 65  .tcl script acce
5290: 70 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73  pts some options
52a0: 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20   on the command
52b0: 6c 69 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d  line..# When com
52c0: 70 69 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63  piling with stdc
52d0: 61 6c 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d  all support, som
52e0: 65 20 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f  e of these optio
52f0: 6e 73 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61  ns are.# necessa
5300: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b  ry..#.!IFNDEF MK
5310: 53 51 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49  SQLITE3H_ARGS.!I
5320: 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29  F $(USE_STDCALL) 5330: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e !=0 ||$(FOR_WIN
5340: 31 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33  10)!=0.MKSQLITE3
5350: 48 5f 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70  H_ARGS = --useap
5360: 69 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51  icall.!ELSE.MKSQ
5370: 4c 49 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45  LITE3H_ARGS =.!E
5380: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  NDIF.!ENDIF.# <<
5390: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e  /mark>>..# Defin
53a0: 65 20 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f  e -DNDEBUG to co
53b0: 6d 70 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65  mpile without de
53c0: 62 75 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66  bugging (i.e., f
53d0: 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73  or production us
53e0: 61 67 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20  age).# Omitting
53f0: 74 68 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20  the define will
5400: 63 61 75 73 65 20 65 78 74 72 61 20 64 65 62 75  cause extra debu
5410: 67 67 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65  gging code to be
5420: 20 69 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20   inserted and.#
5430: 69 6e 63 6c 75 64 65 73 20 65 78 74 72 61 20 63  includes extra c
5440: 6f 6d 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58  omments when "EX
5450: 50 4c 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75  PLAIN stmt" is u
5460: 73 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42  sed..#.!IF $(DEB 5470: 55 47 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 UG)==0.TCC =$(T
5480: 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43  CC) -DNDEBUG.BCC
5490: 20 3d 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42   = $(BCC) -DNDEB 54a0: 55 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 UG.RCC =$(RCC)
54b0: 2d 44 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a  -DNDEBUG.!ENDIF.
54c0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 30 20  .!IF $(DEBUG)>0 54d0: 7c 7c 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21 ||$(API_ARMOR)!
54e0: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1 54f0: 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 0)!=0.TCC =$(TC
5500: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
5510: 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52  LE_API_ARMOR=1.R
5520: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ 5530: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f LITE_ENABLE_API_ 5540: 41 52 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a ARMOR=1.!ENDIF.. 5550: 21 49 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54 !IF$(DEBUG)>2.T
5560: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ 5570: 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43 LITE_DEBUG=1.RCC 5580: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 =$(RCC) -DSQLI
5590: 54 45 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24  TE_DEBUG=1.!IF $55a0: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d (DYNAMIC_SHELL)= 55b0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 =0.TCC =$(TCC)
55c0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
55d0: 57 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c  WHERETRACE -DSQL
55e0: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43  ITE_ENABLE_SELEC
55f0: 54 54 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52  TTRACE.RCC = $(R 5600: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 CC) -DSQLITE_ENA 5610: 42 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d BLE_WHERETRACE - 5620: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 DSQLITE_ENABLE_S 5630: 45 4c 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49 ELECTTRACE.!ENDI 5640: 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 F.!ENDIF..!IF$(
5650: 44 45 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53  DEBUG)>4 || $(OS 5660: 54 52 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 TRACE)!=0.TCC = 5670: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(TCC) -DSQLITE_
5680: 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31  FORCE_OS_TRACE=1
5690: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f   -DSQLITE_DEBUG_
56a0: 4f 53 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d  OS_TRACE=1.RCC =
56b0: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE 56c0: 5f 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d _FORCE_OS_TRACE= 56d0: 31 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 1 -DSQLITE_DEBUG 56e0: 5f 4f 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 _OS_TRACE=1.!END 56f0: 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 IF..!IF$(DEBUG)
5700: 3e 35 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >5.TCC = $(TCC) 5710: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 5720: 49 4f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 IOTRACE=1.RCC = 5730: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(RCC) -DSQLITE_
5740: 45 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31  ENABLE_IOTRACE=1
5750: 0a 21 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65  .!ENDIF..# Preve
5760: 6e 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75  nt warnings abou
5770: 74 20 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56  t "insecure" MSV
5780: 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72  C runtime librar
5790: 79 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65  y functions.# be
57a0: 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20  ing used..#.TCC
57b0: 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f  = $(TCC) -D_CRT_ 57c0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 SECURE_NO_DEPREC 57d0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 ATE -D_CRT_SECUR 57e0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 E_NO_WARNINGS.BC 57f0: 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 C =$(BCC) -D_CR
5800: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52  T_SECURE_NO_DEPR
5810: 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43  ECATE -D_CRT_SEC
5820: 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a  URE_NO_WARNINGS.
5830: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f  RCC = $(RCC) -D_ 5840: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 CRT_SECURE_NO_DE 5850: 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 PRECATE -D_CRT_S 5860: 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 ECURE_NO_WARNING 5870: 53 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 S..# Prevent war 5880: 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70 nings about "dep 5890: 72 65 63 61 74 65 64 22 20 50 4f 53 49 58 20 66 recated" POSIX f 58a0: 75 6e 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 unctions being u 58b0: 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 sed..#.TCC =$(T
58c0: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  CC) -D_CRT_NONST
58d0: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  DC_NO_DEPRECATE
58e0: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
58f0: 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d  O_WARNINGS.BCC =
5900: 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e   $(BCC) -D_CRT_N 5910: 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 ONSTDC_NO_DEPREC 5920: 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 ATE -D_CRT_NONST 5930: 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 DC_NO_WARNINGS.R 5940: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 CC =$(RCC) -D_C
5950: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45  RT_NONSTDC_NO_DE
5960: 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e  PRECATE -D_CRT_N
5970: 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e  ONSTDC_NO_WARNIN
5980: 47 53 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51  GS..# Use the SQ
5990: 4c 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68  Lite debugging h
59a0: 65 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23  eap subsystem?.#
59b0: 0a 21 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29  .!IF $(MEMDEBUG) 59c0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 !=0.TCC =$(TCC)
59d0: 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42   -DSQLITE_MEMDEB
59e0: 55 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  UG=1.RCC = $(RCC 59f0: 29 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 ) -DSQLITE_MEMDE 5a00: 42 55 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 BUG=1..# Use nat 5a10: 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 ive Win32 heap s 5a20: 75 62 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64 ubsystem instead 5a30: 20 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f of malloc/free? 5a40: 0a 23 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e .#.!ELSEIF$(WIN
5a50: 33 32 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d  32HEAP)!=0.TCC =
5a60: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE 5a70: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a _WIN32_MALLOC=1. 5a80: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 RCC =$(RCC) -DS
5a90: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c  QLITE_WIN32_MALL
5aa0: 4f 43 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65  OC=1..# Validate
5ab0: 20 74 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65   the heap on eve
5ac0: 72 79 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65  ry call into the
5ad0: 20 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68 65   native Win32 he
5ae0: 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a  ap subsystem?.#.
5af0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54  !IF $(DEBUG)>3.T 5b00: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 CC =$(TCC) -DSQ
5b10: 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f  LITE_WIN32_MALLO
5b20: 43 5f 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43  C_VALIDATE=1.RCC
5b30: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI 5b40: 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f TE_WIN32_MALLOC_ 5b50: 56 41 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 VALIDATE=1.!ENDI 5b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 F.!ENDIF..# <<ma 5b70: 72 6b 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 rk>>.# The locat 5b80: 69 6f 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20 ions of the Tcl 5b90: 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 header and libra 5ba0: 72 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c ry files. Also, 5bb0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 the library tha 5bc0: 74 0a 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e t.# non-stubs en 5bd0: 61 62 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75 abled programs u 5be0: 73 69 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 sing Tcl must li 5bf0: 6e 6b 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65 nk against. The 5c00: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 se variables.# ( 5c10: 54 43 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 TCLINCDIR, TCLLI 5c20: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c BDIR, and LIBTCL 5c30: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 ) may be overrid 5c40: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 den via the envi 5c50: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 ronment.# prior 5c60: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 to running nmake 5c70: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 in order to mat 5c80: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e ch the actual in 5c90: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e stalled location 5ca0: 20 61 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f and.# version o 5cb0: 6e 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a n this machine.. 5cc0: 23 0a 21 49 46 4e 44 45 46 20 54 43 4c 56 45 52 #.!IFNDEF TCLVER 5cd0: 53 49 4f 4e 0a 54 43 4c 56 45 52 53 49 4f 4e 20 SION.TCLVERSION 5ce0: 3d 20 38 36 0a 21 45 4e 44 49 46 0a 0a 21 49 46 = 86.!ENDIF..!IF 5cf0: 4e 44 45 46 20 54 43 4c 53 55 46 46 49 58 0a 54 NDEF TCLSUFFIX.T 5d00: 43 4c 53 55 46 46 49 58 20 3d 0a 21 45 4e 44 49 CLSUFFIX =.!ENDI 5d10: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 44 49 F..!IFNDEF TCLDI 5d20: 52 0a 54 43 4c 44 49 52 20 3d 20 24 28 54 4f 50 R.TCLDIR =$(TOP
5d30: 29 5c 63 6f 6d 70 61 74 5c 74 63 6c 0a 21 45 4e  )\compat\tcl.!EN
5d40: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c  DIF..!IFNDEF TCL
5d50: 49 4e 43 44 49 52 0a 54 43 4c 49 4e 43 44 49 52  INCDIR.TCLINCDIR
5d60: 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 69 6e 63   = $(TCLDIR)\inc 5d70: 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 lude.!ENDIF..!IF 5d80: 4e 44 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 NDEF TCLLIBDIR.T 5d90: 43 4c 4c 49 42 44 49 52 20 3d 20 24 28 54 43 4c CLLIBDIR =$(TCL
5da0: 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a  DIR)\lib.!ENDIF.
5db0: 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 0a  .!IFNDEF LIBTCL.
5dc0: 4c 49 42 54 43 4c 20 3d 20 74 63 6c 24 28 54 43  LIBTCL = tcl$(TC 5dd0: 4c 56 45 52 53 49 4f 4e 29 24 28 54 43 4c 53 55 LVERSION)$(TCLSU
5de0: 46 46 49 58 29 2e 6c 69 62 0a 21 45 4e 44 49 46  FFIX).lib.!ENDIF
5df0: 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c  ..!IFNDEF LIBTCL
5e00: 53 54 55 42 0a 4c 49 42 54 43 4c 53 54 55 42 20  STUB.LIBTCLSTUB
5e10: 3d 20 74 63 6c 73 74 75 62 24 28 54 43 4c 56 45  = tclstub$(TCLVE 5e20: 52 53 49 4f 4e 29 24 28 54 43 4c 53 55 46 46 49 RSION)$(TCLSUFFI
5e30: 58 29 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  X).lib.!ENDIF..!
5e40: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54  IFNDEF LIBTCLPAT
5e50: 48 0a 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 24  H.LIBTCLPATH = $5e60: 28 54 43 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e (TCLDIR)\bin.!EN 5e70: 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74 DIF..# The locat 5e80: 69 6f 6e 73 20 6f 66 20 74 68 65 20 7a 6c 69 62 ions of the zlib 5e90: 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 header and libr 5ea0: 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73 ary files. Thes 5eb0: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 5a e variables.# (Z 5ec0: 4c 49 42 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c LIBINCDIR, ZLIBL 5ed0: 49 42 44 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c IBDIR, and ZLIBL 5ee0: 49 42 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 IB) may be overr 5ef0: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e idden via the en 5f00: 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f vironment.# prio 5f10: 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 r to running nma 5f20: 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d ke in order to m 5f30: 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 atch the actual 5f40: 69 6e 73 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f installed (or so 5f50: 75 72 63 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63 urce.# code) loc 5f60: 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 ation on this ma 5f70: 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 chine..#.!IFNDEF 5f80: 20 5a 4c 49 42 44 49 52 0a 5a 4c 49 42 44 49 52 ZLIBDIR.ZLIBDIR 5f90: 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74 =$(TOP)\compat
5fa0: 5c 7a 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49  \zlib.!ENDIF..!I
5fb0: 46 4e 44 45 46 20 5a 4c 49 42 49 4e 43 44 49 52  FNDEF ZLIBINCDIR
5fc0: 0a 5a 4c 49 42 49 4e 43 44 49 52 20 3d 20 24 28  .ZLIBINCDIR = $( 5fd0: 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a ZLIBDIR).!ENDIF. 5fe0: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42 .!IFNDEF ZLIBLIB 5ff0: 44 49 52 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d DIR.ZLIBLIBDIR = 6000: 20 24 28 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44$(ZLIBDIR).!END
6010: 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42  IF..!IFNDEF ZLIB
6020: 4c 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  LIB.!IF $(DYNAMI 6030: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42 C_SHELL)!=0.ZLIB 6040: 4c 49 42 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21 LIB = zdll.lib.! 6050: 45 4c 53 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a ELSE.ZLIBLIB = z 6060: 6c 69 62 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 lib.lib.!ENDIF.! 6070: 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 ENDIF..# The loc 6080: 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43 ations of the IC 6090: 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 U header and lib 60a0: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 rary files. The 60b0: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 se variables.# ( 60c0: 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49 ICUINCDIR, ICULI 60d0: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55 BDIR, and LIBICU 60e0: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 ) may be overrid 60f0: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 den via the envi 6100: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 ronment.# prior 6110: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 to running nmake 6120: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 in order to mat 6130: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e ch the actual in 6140: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e stalled location 6150: 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69 on.# this machi 6160: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43 ne..#.!IFNDEF IC 6170: 55 44 49 52 0a 49 43 55 44 49 52 20 3d 20 24 28 UDIR.ICUDIR =$(
6180: 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a  TOP)\compat\icu.
6190: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20  !ENDIF..!IFNDEF
61a0: 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43  ICUINCDIR.ICUINC
61b0: 44 49 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c  DIR = $(ICUDIR)\ 61c0: 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a include.!ENDIF.. 61d0: 21 49 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49 !IFNDEF ICULIBDI 61e0: 52 0a 49 43 55 4c 49 42 44 49 52 20 3d 20 24 28 R.ICULIBDIR =$(
61f0: 49 43 55 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44  ICUDIR)\lib.!END
6200: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 49  IF..!IFNDEF LIBI
6210: 43 55 0a 4c 49 42 49 43 55 20 3d 20 69 63 75 75  CU.LIBICU = icuu
6220: 63 2e 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a  c.lib icuin.lib.
6230: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69  !ENDIF..# This i
6240: 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f  s the command to
6250: 20 75 73 65 20 66 6f 72 20 74 63 6c 73 68 20 2d   use for tclsh -
6260: 20 6e 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22   normally just "
6270: 74 63 6c 73 68 22 2c 20 62 75 74 20 77 65 20 6d  tclsh", but we m
6280: 61 79 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73 70  ay.# know the sp
6290: 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20 77  ecific version w
62a0: 65 20 77 61 6e 74 20 74 6f 20 75 73 65 2e 20 20  e want to use.
62b0: 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 28 54  This variable (T
62c0: 43 4c 53 48 5f 43 4d 44 29 20 6d 61 79 20 62 65  CLSH_CMD) may be
62d0: 0a 23 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69  .# overridden vi
62e0: 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e  a the environmen
62f0: 74 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69  t prior to runni
6300: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65  ng nmake in orde
6310: 72 20 74 6f 20 73 65 6c 65 63 74 20 61 0a 23 20  r to select a.#
6320: 73 70 65 63 69 66 69 63 20 54 63 6c 20 73 68 65  specific Tcl she
6330: 6c 6c 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46  ll to use..#.!IF
6340: 4e 44 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21  NDEF TCLSH_CMD.!
6350: 49 46 20 24 28 55 53 45 5f 54 43 4c 53 48 5f 49  IF $(USE_TCLSH_I 6360: 4e 5f 50 41 54 48 29 21 3d 30 20 7c 7c 20 21 45 N_PATH)!=0 || !E 6370: 58 49 53 54 28 22 24 28 54 43 4c 44 49 52 29 5c XIST("$(TCLDIR)\
6380: 62 69 6e 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a  bin\tclsh.exe").
6390: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73  TCLSH_CMD = tcls
63a0: 68 0a 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d  h.!ELSE.TCLSH_CM
63b0: 44 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62 69  D = $(TCLDIR)\bi 63c0: 6e 5c 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44 n\tclsh.exe.!END 63d0: 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d IF.!ENDIF.# <</m 63e0: 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65 ark>>..# Compile 63f0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64 r options needed 6400: 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 68 for programs th 6410: 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64 6c at use the readl 6420: 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a 23 ine() library..# 6430: 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49 4e .!IFNDEF READLIN 6440: 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45 E_FLAGS.READLINE 6450: 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45 5f _FLAGS = -DHAVE_ 6460: 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49 READLINE=0.!ENDI 6470: 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79 F..# The library 6480: 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75 that programs u 6490: 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20 sing readline() 64a0: 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 must link agains 64b0: 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49 42 t..#.!IFNDEF LIB 64c0: 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44 READLINE.LIBREAD 64d0: 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 LINE =.!ENDIF..# 64e0: 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74 61 Should the data 64f0: 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20 63 base engine be c 6500: 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73 61 ompiled threadsa 6510: 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 fe.#.TCC =$(TCC
6520: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
6530: 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24 28  DSAFE=1.RCC = $( 6540: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 RCC) -DSQLITE_TH 6550: 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f READSAFE=1..# Do 6560: 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69 64 threads overrid 6570: 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c 6f e each others lo 6580: 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20 28 cks by default ( 6590: 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65 73 1), or do we tes 65a0: 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24 t (-1).#.TCC =$
65b0: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54  (TCC) -DSQLITE_T
65c0: 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c  HREAD_OVERRIDE_L
65d0: 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52  OCK=-1.RCC = $(R 65e0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 CC) -DSQLITE_THR 65f0: 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 EAD_OVERRIDE_LOC 6600: 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72 67 K=-1..# Any targ 6610: 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68 69 et libraries whi 6620: 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75 73 ch libsqlite mus 6630: 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61 69 t be linked agai 6640: 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c nst.#.!IFNDEF TL 6650: 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44 IBS.TLIBS =.!END 6660: 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74 IF..# Flags cont 6670: 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20 74 rolling use of t 6680: 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72 he in memory btr 6690: 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ee implementatio 66a0: 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d n.#.# SQLITE_TEM 66b0: 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f 20 P_STORE is 0 to 66c0: 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 20 force temporary 66d0: 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e 20 tables to be in 66e0: 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64 a file, 1 to.# d 66f0: 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20 efault to file, 6700: 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f 20 2 to default to 6710: 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f memory, and 3 to 6720: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 force temporary 6730: 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c 77 .# tables to alw 6740: 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79 ays be in memory 6750: 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 ..#.TCC =$(TCC)
6760: 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53   -DSQLITE_TEMP_S
6770: 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  TORE=1.RCC = $(R 6780: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d CC) -DSQLITE_TEM 6790: 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61 P_STORE=1..# Ena 67a0: 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64 ble/disable load 67b0: 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c able extensions, 67c0: 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f and other optio 67d0: 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20 62 nal features.# b 67e0: 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72 ased on configur 67f0: 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45 ation. (-DSQLITE 6800: 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45 _OMIT*, -DSQLITE 6810: 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65 _ENABLE*)..# The 6820: 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49 same set of OMI 6830: 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61 T and ENABLE fla 6840: 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61 73 gs should be pas 6850: 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d sed to the.# LEM 6860: 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72 61 ON parser genera 6870: 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65 tor and the mkke 6880: 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20 61 ywordhash tool a 6890: 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65 s well...# These 68a0: 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72 65 are the require 68b0: 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 d SQLite compila 68c0: 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 tion options use 68d0: 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 d when compiling 68e0: 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f for.# the Windo 68f0: 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52 ws platform..#.R 6900: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 EQ_FEATURE_FLAGS 6910: 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 =$(REQ_FEATURE
6920: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
6930: 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45 50  _MAX_TRIGGER_DEP
6940: 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65 20  TH=100..# If we
6950: 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74  are linking to t
6960: 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72  he RPCRT4 librar
6970: 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75 72  y, enable featur
6980: 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74 2e  es that need it.
6990: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43  .#.!IF $(USE_RPC 69a0: 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f RT4_LIB)!=0.REQ_ 69b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 FEATURE_FLAGS = 69c0: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c$(REQ_FEATURE_FL
69d0: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57 49  AGS) -DSQLITE_WI
69e0: 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21  N32_USE_UUID=1.!
69f0: 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68 65  ENDIF..# Add the
6a00: 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f 70   required and op
6a10: 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f  tional SQLite co
6a20: 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e  mpilation option
6a30: 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61  s into the comma
6a40: 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64 20  nd.# lines used
6a50: 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53  to invoke the MS
6a60: 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73 6f  VC code and reso
6a70: 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a  urce compilers..
6a80: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 24  #.TCC = $(TCC)$
6a90: 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41  (REQ_FEATURE_FLA
6aa0: 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52  GS) $(OPT_FEATUR 6ab0: 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 E_FLAGS)$(EXT_F
6ac0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52 43  EATURE_FLAGS).RC
6ad0: 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45 51  C = $(RCC)$(REQ
6ae0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
6af0: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL 6b00: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 AGS)$(EXT_FEATU
6b10: 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64 64  RE_FLAGS)..# Add
6b20: 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c   in any optional
6b30: 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65 63   parameters spec
6b40: 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d  ified on the com
6b50: 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a  mane line, e.g..
6b60: 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66  # nmake /f Makef
6b70: 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54  ile.msc all "OPT
6b80: 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  S=-DSQLITE_ENABL
6b90: 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45  E_FOO=1 -DSQLITE
6ba0: 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54  _OMIT_FOO=1".#.T
6bb0: 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f 50  CC = $(TCC)$(OP
6bc0: 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29  TS).RCC = $(RCC) 6bd0: 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20 63$(OPTS)..# If c
6be0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62  ompiling for deb
6bf0: 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65  ugging, add some
6c00: 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20   defines..#.!IF
6c10: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d  $(DEBUG)>1.TCC = 6c20: 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55 47$(TCC) -D_DEBUG
6c30: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44  .BCC = $(BCC) -D 6c40: 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52 _DEBUG.RCC =$(R
6c50: 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e  CC) -D_DEBUG.!EN
6c60: 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69  DIF..# If optimi
6c70: 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 62  zations are enab
6c80: 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64 20  led or disabled
6c90: 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69 74  (either implicit
6ca0: 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69 74  ly or.# explicit
6cb0: 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65 63  ly), add the nec
6cc0: 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a  essary flags..#.
6cd0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c  !IF $(DEBUG)>1 | 6ce0: 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e |$(OPTIMIZATION
6cf0: 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)==0.TCC = $(TC 6d00: 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42 C) -Od.BCC =$(B
6d10: 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55 53  CC) -Od.!IF $(US 6d20: 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 E_RUNTIME_CHECKS 6d30: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 )!=0.TCC =$(TCC
6d40: 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24 28  ) -RTC1.BCC = $( 6d50: 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44 49 BCC) -RTC1.!ENDI 6d60: 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 F.!ELSEIF$(OPTI
6d70: 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43  MIZATIONS)>=3.TC
6d80: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42  C = $(TCC) -Ox.B 6d90: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a CC =$(BCC) -Ox.
6da0: 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49  !ELSEIF $(OPTIMI 6db0: 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20 ZATIONS)==2.TCC 6dc0: 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43 =$(TCC) -O2.BCC
6dd0: 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45   = $(BCC) -O2.!E 6de0: 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 LSEIF$(OPTIMIZA
6df0: 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20  TIONS)==1.TCC =
6e00: 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d  $(TCC) -O1.BCC = 6e10: 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44$(BCC) -O1.!END
6e20: 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73  IF..# If symbols
6e30: 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72   are enabled (or
6e40: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64   compiling for d
6e50: 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c  ebugging), enabl
6e60: 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28  e PDBs..#.!IF $( 6e70: 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 DEBUG)>1 ||$(SY
6e80: 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20  MBOLS)!=0.TCC =
6e90: 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d  $(TCC) -Zi.BCC = 6ea0: 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44$(BCC) -Zi.!END
6eb0: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
6ec0: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74   If zlib support
6ed0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
6ee0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70   the compiler op
6ef0: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a  tions for it..#.
6f00: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21  !IF $(USE_ZLIB)! 6f10: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 =0.TCC =$(TCC)
6f20: 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c  -DSQLITE_HAVE_ZL
6f30: 49 42 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  IB=1.RCC = $(RCC 6f40: 29 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f ) -DSQLITE_HAVE_ 6f50: 5a 4c 49 42 3d 31 0a 54 43 43 20 3d 20 24 28 54 ZLIB=1.TCC =$(T
6f60: 43 43 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44  CC) -I$(ZLIBINCD 6f70: 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29 IR).RCC =$(RCC)
6f80: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29   -I$(ZLIBINCDIR) 6f90: 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 .!ENDIF..# If IC 6fa0: 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 U support is ena 6fb0: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f bled, add the co 6fc0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 mpiler options f 6fd0: 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 or it..#.!IF$(U
6fe0: 53 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d  SE_ICU)!=0.TCC =
6ff0: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE 7000: 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43 _ENABLE_ICU=1.RC 7010: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c C =$(RCC) -DSQL
7020: 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31  ITE_ENABLE_ICU=1
7030: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I 7040: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52$(TOP)\ext\icu.R
7050: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28  CC = $(RCC) -I$(
7060: 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43  TOP)\ext\icu.TCC
7070: 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49 43   = $(TCC) -I$(IC
7080: 55 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24  UINCDIR).RCC = $7090: 28 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43 (RCC) -I$(ICUINC
70a0: 44 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  DIR).!ENDIF.# <<
70b0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61  /mark>>..# Comma
70c0: 6e 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73  nd line prefixes
70d0: 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63   for compiling c
70e0: 6f 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72  ode, compiling r
70f0: 65 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b  esources,.# link
7100: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f  ing, etc..#.LTCO
7110: 4d 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d  MPILE = $(TCC) - 7120: 46 6f 24 40 20 2d 46 64 24 2a 2e 70 64 62 0a 4c Fo$@ -Fd$*.pdb.L 7130: 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24 28 52 43 TRCOMPILE =$(RC
7140: 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c 69  C) -r.LTLIB = li
7150: 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20 24  b.exe.LTLINK = $7160: 28 54 43 43 29 20 2d 46 65 24 40 0a 0a 23 20 49 (TCC) -Fe$@..# I
7170: 66 20 72 65 71 75 65 73 74 65 64 2c 20 6c 69 6e  f requested, lin
7180: 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34 20  k to the RPCRT4
7190: 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 20 24  library..#.!IF $71a0: 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 (USE_RPCRT4_LIB) 71b0: 21 3d 30 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c !=0.LTLIBS =$(L
71c0: 54 4c 49 42 53 29 20 72 70 63 72 74 34 2e 6c 69  TLIBS) rpcrt4.li
71d0: 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 61  b.!ENDIF..# If a
71e0: 20 70 6c 61 74 66 6f 72 6d 20 77 61 73 20 73 65   platform was se
71f0: 74 2c 20 66 6f 72 63 65 20 74 68 65 20 6c 69 6e  t, force the lin
7200: 6b 65 72 20 74 6f 20 74 61 72 67 65 74 20 74 68  ker to target th
7210: 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68 61 74 20  at..# Note that
7220: 74 68 65 20 76 63 76 61 72 73 2a 2e 62 61 74 20  the vcvars*.bat
7230: 66 61 6d 69 6c 79 20 6f 66 20 62 61 74 63 68 20  family of batch
7240: 66 69 6c 65 73 20 74 79 70 69 63 61 6c 6c 79 0a  files typically.
7250: 23 20 73 65 74 20 74 68 69 73 20 66 6f 72 20 79  # set this for y
7260: 6f 75 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20  ou.  Otherwise,
7270: 74 68 65 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20  the linker will
7280: 61 74 74 65 6d 70 74 0a 23 20 74 6f 20 64 65 64  attempt.# to ded
7290: 75 63 65 20 74 68 65 20 62 69 6e 61 72 79 20 74  uce the binary t
72a0: 79 70 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65  ype based on the
72b0: 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e 0a 21   object files..!
72c0: 49 46 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 4c  IFDEF PLATFORM.L
72d0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c  TLINKOPTS = /NOL
72e0: 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50  OGO /MACHINE:$(P 72f0: 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50 LATFORM).LTLIBOP 7300: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 TS = /NOLOGO /MA 7310: 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d CHINE:$(PLATFORM
7320: 29 0a 21 45 4c 53 45 49 46 20 22 24 28 56 49 53  ).!ELSEIF "$(VIS 7330: 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e UALSTUDIOVERSION 7340: 29 22 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 5c 0a )"=="12.0" || \. 7350: 20 20 20 20 20 20 20 20 22 24 28 56 49 53 55 41 "$(VISUA
7360: 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22  LSTUDIOVERSION)"
7370: 3d 3d 22 31 34 2e 30 22 20 7c 7c 20 5c 0a 20 20  =="14.0" || \.
7380: 20 20 20 20 20 20 22 24 28 56 49 53 55 41 4c 53        "$(VISUALS 7390: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d TUDIOVERSION)"== 73a0: 22 31 35 2e 30 22 0a 4c 54 4c 49 4e 4b 4f 50 54 "15.0".LTLINKOPT 73b0: 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 S = /NOLOGO /MAC 73c0: 48 49 4e 45 3a 78 38 36 0a 4c 54 4c 49 42 4f 50 HINE:x86.LTLIBOP 73d0: 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 TS = /NOLOGO /MA 73e0: 43 48 49 4e 45 3a 78 38 36 0a 21 45 4c 53 45 0a CHINE:x86.!ELSE. 73f0: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f LTLINKOPTS = /NO 7400: 4c 4f 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d LOGO.LTLIBOPTS = 7410: 20 2f 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a /NOLOGO.!ENDIF. 7420: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e .# When compilin 7430: 67 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 g for use in the 7440: 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 WinRT environme 7450: 6e 74 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e nt, the followin 7460: 67 0a 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f g.# linker optio 7470: 6e 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 n must be used t 7480: 6f 20 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 o mark the execu 7490: 74 61 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c table as runnabl 74a0: 65 0a 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 e.# only in the 74b0: 63 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 context of an ap 74c0: 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 plication contai 74d0: 6e 65 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 ner..#.!IF$(FOR
74e0: 5f 57 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e  _WINRT)!=0.LTLIN
74f0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK 7500: 4f 50 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 OPTS) /APPCONTAI 7510: 4e 45 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 NER.!IF "$(VISUA
7520: 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22  LSTUDIOVERSION)"
7530: 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56  =="12.0" || "$(V 7540: 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 ISUALSTUDIOVERSI 7550: 4f 4e 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 ON)"=="14.0".!IF 7560: 4e 44 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 NDEF STORELIBPAT 7570: 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 H.!IF "$(PLATFOR
7580: 4d 29 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45  M)"=="x86".STORE
7590: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL 75a0: 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 IBPATH)\store.!E 75b0: 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 LSEIF "$(PLATFOR
75c0: 4d 29 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45  M)"=="x64".STORE
75d0: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL 75e0: 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d IBPATH)\store\am 75f0: 64 36 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 d64.!ELSEIF "$(P
7600: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22  LATFORM)"=="ARM"
7610: 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20  .STORELIBPATH =
7620: 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74  $(CRTLIBPATH)\st 7630: 6f 72 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 ore\arm.!ELSE.ST 7640: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 ORELIBPATH =$(C
7650: 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65  RTLIBPATH)\store
7660: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53  .!ENDIF.!ENDIF.S
7670: 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28  TORELIBPATH = $( 7680: 53 54 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d STORELIBPATH:\\= 7690: 5c 29 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 \).LTLINKOPTS = 76a0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f$(LTLINKOPTS) "/
76b0: 4c 49 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c  LIBPATH:$(STOREL 76c0: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a IBPATH)".!ENDIF. 76d0: 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 !ENDIF..# When c 76e0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e ompiling for Win 76f0: 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 dows Phone 8.1, 7700: 61 6e 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 an extra library 7710: 20 70 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 path is.# requi 7720: 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 red..#.!IF$(USE
7730: 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21  _WP81_OPTS)!=0.!
7740: 49 46 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41  IFNDEF WP81LIBPA
7750: 54 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f  TH.!IF "$(PLATFO 7760: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 RM)"=="x86".WP81 7770: 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 LIBPATH =$(PROG
7780: 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69  RAMFILES_X86)\Wi
7790: 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73  ndows Phone Kits
77a0: 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c  \8.1\lib\x86.!EL
77b0: 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d  SEIF "$(PLATFORM 77c0: 29 22 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 )"=="ARM".WP81LI 77d0: 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 BPATH =$(PROGRA
77e0: 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64  MFILES_X86)\Wind
77f0: 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38  ows Phone Kits\8
7800: 2e 31 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45  .1\lib\ARM.!ELSE
7810: 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24  .WP81LIBPATH = $7820: 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 (PROGRAMFILES_X8 7830: 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 6)\Windows Phone 7840: 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 Kits\8.1\lib\x8 7850: 36 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 6.!ENDIF.!ENDIF. 7860: 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 !ENDIF..# When c 7870: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e ompiling for Win 7880: 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 dows Phone 8.1, 7890: 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 some extra linke 78a0: 72 20 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 r options.# are 78b0: 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 also required..# 78c0: 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f .!IF$(USE_WP81_
78d0: 4f 50 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20  OPTS)!=0.!IFDEF
78e0: 57 50 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49  WP81LIBPATH.LTLI
78f0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN 7900: 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 KOPTS) "/LIBPATH 7910: 3a 24 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 :$(WP81LIBPATH)"
7920: 0a 21 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50  .!ENDIF.LTLINKOP
7930: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT 7940: 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a S) /DYNAMICBASE. 7950: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c LTLINKOPTS =$(L
7960: 54 4c 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f  TLINKOPTS) Windo
7970: 77 73 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20  wsPhoneCore.lib
7980: 52 75 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69  RuntimeObject.li
7990: 62 20 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48  b PhoneAppModelH
79a0: 6f 73 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50  ost.lib.LTLINKOP
79b0: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT 79c0: 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 S) /NODEFAULTLIB 79d0: 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e :kernel32.lib /N 79e0: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 ODEFAULTLIB:ole3 79f0: 32 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 2.lib.!ENDIF..# 7a00: 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 When compiling f 7a10: 6f 72 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 or UWP or the Wi 7a20: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 ndows 10 platfor 7a30: 6d 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 m, some extra li 7a40: 6e 6b 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 nker.# options a 7a50: 72 65 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 re also required 7a60: 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 ..#.!IF$(FOR_UW
7a70: 50 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  P)!=0 || $(FOR_W 7a80: 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f IN10)!=0.LTLINKO 7a90: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 PTS =$(LTLINKOP
7aa0: 54 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45  TS) /DYNAMICBASE
7ab0: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b   /NODEFAULTLIB:k
7ac0: 65 72 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49  ernel32.lib.LTLI
7ad0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN 7ae0: 4b 4f 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c KOPTS) mincore.l 7af0: 69 62 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 ib.!IFDEF PSDKLI 7b00: 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 BPATH.LTLINKOPTS 7b10: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 =$(LTLINKOPTS)
7b20: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44   "/LIBPATH:$(PSD 7b30: 4b 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 KLIBPATH)".!ENDI 7b40: 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 F.!ENDIF..!IF$(
7b50: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54  FOR_WIN10)!=0.LT
7b60: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL 7b70: 49 4e 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a INKOPTS) /guard: 7b80: 63 66 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 cf "/LIBPATH:$(U
7b90: 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46  CRTLIBPATH)".!IF
7ba0: 20 24 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49   $(DEBUG)>1.LTLI 7bb0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e NKOPTS =$(LTLIN
7bc0: 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c  KOPTS) /NODEFAUL
7bd0: 54 4c 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69  TLIB:libucrtd.li
7be0: 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63  b /DEFAULTLIB:uc
7bf0: 72 74 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54  rtd.lib.!ELSE.LT
7c00: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL 7c10: 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 INKOPTS) /NODEFA 7c20: 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c ULTLIB:libucrt.l 7c30: 69 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 ib /DEFAULTLIB:u 7c40: 63 72 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 crt.lib.!ENDIF.! 7c50: 45 4e 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 ENDIF..# If eith 7c60: 65 72 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 er debugging or 7c70: 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 symbols are enab 7c80: 6c 65 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 led, enable PDBs 7c90: 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 ..#.!IF$(DEBUG)
7ca0: 3e 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29  >1 || $(SYMBOLS) 7cb0: 21 3d 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 !=0.LDFLAGS = /D 7cc0: 45 42 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 EBUG$(LDOPTS).!
7cd0: 45 4c 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24  ELSE.LDFLAGS = $7ce0: 28 4c 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a (LDOPTS).!ENDIF. 7cf0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 .# <<mark>>.# St 7d00: 61 72 74 20 77 69 74 68 20 74 68 65 20 54 63 6c art with the Tcl 7d10: 20 72 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 related linker 7d20: 6f 70 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 options..#.!IF$
7d30: 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 54 43 4c 4c  (NO_TCL)==0.TCLL
7d40: 49 42 50 41 54 48 53 20 3d 20 24 28 54 43 4c 4c  IBPATHS = $(TCLL 7d50: 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 IBPATHS) /LIBPAT 7d60: 48 3a 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 54 H:$(TCLLIBDIR).T
7d70: 43 4c 4c 49 42 53 20 3d 20 24 28 54 43 4c 4c 49  CLLIBS = $(TCLLI 7d80: 42 53 29 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 BS)$(LIBTCL).!E
7d90: 4e 44 49 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20  NDIF..# If zlib
7da0: 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c  support is enabl
7db0: 65 64 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b  ed, add the link
7dc0: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69  er options for i
7dd0: 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a  t..#.!IF $(USE_Z 7de0: 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 LIB)!=0.LTLIBPAT 7df0: 48 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 HS =$(LTLIBPATH
7e00: 53 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c  S) /LIBPATH:$(ZL 7e10: 49 42 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 IBLIBDIR).LTLIBS 7e20: 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 24 28 5a =$(LTLIBS) $(Z 7e30: 4c 49 42 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a LIBLIB).!ENDIF.. 7e40: 23 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 # If ICU support 7e50: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 is enabled, add 7e60: 20 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 the linker opti 7e70: 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 ons for it..#.!I 7e80: 46 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a F$(USE_ICU)!=0.
7e90: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c  LTLIBPATHS = $(L 7ea0: 54 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 TLIBPATHS) /LIBP 7eb0: 41 54 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 ATH:$(ICULIBDIR)
7ec0: 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49  .LTLIBS = $(LTLI 7ed0: 42 53 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 BS)$(LIBICU).!E
7ee0: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
7ef0: 0a 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e  ..# You should n
7f00: 6f 74 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67  ot have to chang
7f10: 65 20 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77  e anything below
7f20: 20 74 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23   this line.#####
7f30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7f70: 23 23 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c  ##########..# <<
7f80: 6d 61 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20  mark>>.# Object
7f90: 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51  files for the SQ
7fa0: 4c 69 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f  Lite library (no
7fb0: 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e  n-amalgamation).
7fc0: 0a 23 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64  .#.LIBOBJS0 = vd
7fd0: 62 65 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61  be.lo parse.lo a
7fe0: 6c 74 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e  lter.lo analyze.
7ff0: 6c 6f 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74  lo attach.lo aut
8000: 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  h.lo \.
8010: 62 61 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63  backup.lo bitvec
8020: 2e 6c 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62  .lo btmutex.lo b
8030: 74 72 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f  tree.lo build.lo
8040: 20 5c 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c   \.         call
8050: 62 61 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65  back.lo complete
8060: 2e 6c 6f 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20  .lo ctime.lo \.
8070: 20 20 20 20 20 20 20 20 64 61 74 65 2e 6c 6f 20          date.lo
8080: 64 62 70 61 67 65 2e 6c 6f 20 64 62 73 74 61 74  dbpage.lo dbstat
8090: 2e 6c 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a  .lo delete.lo \.
80a0: 20 20 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f           expr.lo
80b0: 20 66 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c   fault.lo fkey.l
80c0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73  o \.         fts
80d0: 33 2e 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f  3.lo fts3_aux.lo
80e0: 20 66 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74   fts3_expr.lo ft
80f0: 73 33 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f  s3_hash.lo fts3_
8100: 69 63 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  icu.lo \.
8110: 20 20 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f    fts3_porter.lo
8120: 20 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f   fts3_snippet.lo
8130: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e   fts3_tokenizer.
8140: 6c 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  lo fts3_tokenize
8150: 72 31 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  r1.lo \.
8160: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76   fts3_tokenize_v
8170: 74 61 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63  tab.lo fts3_unic
8180: 6f 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63  ode.lo fts3_unic
8190: 6f 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69  ode2.lo fts3_wri
81a0: 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  te.lo \.
81b0: 20 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20   fts5.lo \.
81c0: 20 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62      func.lo glob
81d0: 61 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a  al.lo hash.lo \.
81e0: 20 20 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20           icu.lo
81f0: 69 6e 73 65 72 74 2e 6c 6f 20 6a 73 6f 6e 31 2e  insert.lo json1.
8200: 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61  lo legacy.lo loa
8210: 64 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  dext.lo \.
8220: 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f     main.lo mallo
8230: 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d  c.lo mem0.lo mem
8240: 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d  1.lo mem2.lo mem
8250: 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20  3.lo mem5.lo \.
8260: 20 20 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f          memdb.lo
8270: 20 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c   memjournal.lo \
8280: 0a 20 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e  .         mutex.
8290: 6c 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f  lo mutex_noop.lo
82a0: 20 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d   mutex_unix.lo m
82b0: 75 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20  utex_w32.lo \.
82c0: 20 20 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f         notify.lo
82d0: 20 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c   opcodes.lo os.l
82e0: 6f 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f  o os_unix.lo os_
82f0: 77 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  win.lo \.
8300: 20 20 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68    pager.lo pcach
8310: 65 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20  e.lo pcache1.lo
8320: 70 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72  pragma.lo prepar
8330: 65 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c  e.lo printf.lo \
8340: 0a 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d  .         random
8350: 2e 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72  .lo resolve.lo r
8360: 6f 77 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c  owset.lo rtree.l
8370: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c  o \.         sql
8380: 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73  ite3session.lo s
8390: 65 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33  elect.lo sqlite3
83a0: 72 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f  rbu.lo status.lo
83b0: 20 73 74 6d 74 2e 6c 6f 20 5c 0a 20 20 20 20 20   stmt.lo \.
83c0: 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72      table.lo thr
83d0: 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65  eads.lo tokenize
83e0: 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20  .lo treeview.lo
83f0: 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20  trigger.lo \.
8400: 20 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20        update.lo
8410: 75 70 73 65 72 74 2e 6c 6f 20 75 74 69 6c 2e 6c  upsert.lo util.l
8420: 6f 20 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20  o vacuum.lo \.
8430: 20 20 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c         vdbeapi.l
8440: 6f 20 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62  o vdbeaux.lo vdb
8450: 65 62 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d  eblob.lo vdbemem
8460: 2e 6c 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20  .lo vdbesort.lo
8470: 5c 0a 20 20 20 20 20 20 20 20 20 76 64 62 65 74  \.         vdbet
8480: 72 61 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77  race.lo wal.lo w
8490: 61 6c 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c  alker.lo where.l
84a0: 6f 20 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77  o wherecode.lo w
84b0: 68 65 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20  hereexpr.lo \.
84c0: 20 20 20 20 20 20 20 77 69 6e 64 6f 77 2e 6c 6f         window.lo
84d0: 20 75 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a   utf.lo vtab.lo.
84e0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f  # <</mark>>..# O
84f0: 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20  bject files for
8500: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
8510: 2e 0a 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73  ..#.LIBOBJS1 = s
8520: 71 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74  qlite3.lo..# Det
8530: 65 72 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20  ermine the real
8540: 76 61 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20  value of LIBOBJ
8550: 62 61 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f  based on the 'co
8560: 6e 66 69 67 75 72 65 27 20 73 63 72 69 70 74 0a  nfigure' script.
8570: 23 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46  #.# <<mark>>.!IF
8580: 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54   $(USE_AMALGAMAT 8590: 49 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d ION)==0.LIBOBJ = 85a0: 20 24 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c$(LIBOBJS0).!EL
85b0: 53 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c  SE.# <</mark>>.L
85c0: 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a  IBOBJ = $(LIBOBJ 85d0: 53 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 S1).# <<mark>>.! 85e0: 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e ENDIF.# <</mark> 85f0: 3e 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 >..# Determine i 8600: 66 20 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 f embedded resou 8610: 72 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 rce compilation 8620: 61 6e 64 20 75 73 61 67 65 20 61 72 65 20 65 6e and usage are en 8630: 61 62 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 abled..#.!IF$(U
8640: 53 45 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53  SE_RC)!=0.LIBRES
8650: 4f 42 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65  OBJS = sqlite3re
8660: 73 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45  s.lo.!ELSE.LIBRE
8670: 53 4f 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a  SOBJS =.!ENDIF..
8680: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72  # <<mark>>.# Cor
8690: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  e source code fi
86a0: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
86b0: 52 43 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC00 = \.  $(TOP 86c0: 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a )\src\alter.c \. 86d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61$(TOP)\src\ana
86e0: 6c 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lyze.c \.  $(TOP 86f0: 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c )\src\attach.c \ 8700: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 .$(TOP)\src\au
8710: 74 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  th.c \.  $(TOP)\ 8720: 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 src\backup.c \. 8730: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76$(TOP)\src\bitv
8740: 65 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ec.c \.  $(TOP)\ 8750: 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a src\btmutex.c \. 8760: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72$(TOP)\src\btr
8770: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ee.c \.  $(TOP)\ 8780: 73 72 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 src\build.c \. 8790: 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62$(TOP)\src\callb
87a0: 61 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ack.c \.  $(TOP) 87b0: 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 \src\complete.c 87c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 \.$(TOP)\src\c
87d0: 74 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  time.c \.  $(TOP 87e0: 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 )\src\date.c \. 87f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61$(TOP)\src\dbpa
8800: 67 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ge.c \.  $(TOP)\ 8810: 73 72 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 src\dbstat.c \. 8820: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65$(TOP)\src\dele
8830: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\ 8840: 73 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 src\expr.c \.$
8850: 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e  (TOP)\src\fault.
8860: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8870: 5c 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f \fkey.c \.$(TO
8880: 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a  P)\src\func.c \.
8890: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f    $(TOP)\src\glo 88a0: 62 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 bal.c \.$(TOP)
88b0: 5c 73 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20  \src\hash.c \.
88c0: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72  $(TOP)\src\inser 88d0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 t.c \.$(TOP)\s
88e0: 72 63 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20  rc\legacy.c \.
88f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65  $(TOP)\src\loade 8900: 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c xt.c \.$(TOP)\
8910: 73 72 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24  src\main.c \.  $8920: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 (TOP)\src\malloc 8930: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8940: 63 5c 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54  c\mem0.c \.  $(T 8950: 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c OP)\src\mem1.c \ 8960: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 .$(TOP)\src\me
8970: 6d 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  m2.c \.  $(TOP)\ 8980: 73 72 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 src\mem3.c \.$
8990: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63  (TOP)\src\mem5.c
89a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 89b0: 6d 65 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f memdb.c \.$(TO
89c0: 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61  P)\src\memjourna
89d0: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s 89e0: 72 63 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 rc\mutex.c \.$
89f0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
8a00: 6e 6f 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50  noop.c \.  $(TOP 8a10: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 )\src\mutex_unix 8a20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8a30: 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a  c\mutex_w32.c \.
8a40: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74    $(TOP)\src\not 8a50: 69 66 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ify.c \.$(TOP)
8a60: 5c 73 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28  \src\os.c \.  $( 8a70: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 TOP)\src\os_unix 8a80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8a90: 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f  c\os_win.c..# Co
8aa0: 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  re source code f
8ab0: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a  iles, part 2..#.
8ac0: 53 52 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f  SRC01 = \.  $(TO 8ad0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c P)\src\pager.c \ 8ae0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 .$(TOP)\src\pc
8af0: 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ache.c \.  $(TOP 8b00: 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 )\src\pcache1.c 8b10: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 \.$(TOP)\src\p
8b20: 72 61 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f  ragma.c \.  $(TO 8b30: 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 P)\src\prepare.c 8b40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8b50: 70 72 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54  printf.c \.  $(T 8b60: 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 OP)\src\random.c 8b70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8b80: 72 65 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28  resolve.c \.  $( 8b90: 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e TOP)\src\rowset. 8ba0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8bb0: 5c 73 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28  \select.c \.  $( 8bc0: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e TOP)\src\status. 8bd0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8be0: 5c 74 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54  \table.c \.  $(T 8bf0: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e OP)\src\threads. 8c00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8c10: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20  \tclsqlite.c \.
8c20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65   $(TOP)\src\toke 8c30: 6e 69 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 nize.c \.$(TOP
8c40: 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63  )\src\treeview.c
8c50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8c60: 74 72 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 trigger.c \.$(
8c70: 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c  TOP)\src\utf.c \
8c80: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70  .  $(TOP)\src\up 8c90: 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 date.c \.$(TOP
8ca0: 29 5c 73 72 63 5c 75 70 73 65 72 74 2e 63 20 5c  )\src\upsert.c \
8cb0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  .  $(TOP)\src\ut 8cc0: 69 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c il.c \.$(TOP)\
8cd0: 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20  src\vacuum.c \.
8ce0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe 8cf0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8d00: 63 5c 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20  c\vdbeapi.c \.
8d10: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea 8d20: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ux.c \.$(TOP)\
8d30: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c  src\vdbeblob.c \
8d40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .  $(TOP)\src\vd 8d50: 62 65 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f bemem.c \.$(TO
8d60: 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e  P)\src\vdbesort.
8d70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8d80: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 \vdbetrace.c \. 8d90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62$(TOP)\src\vtab
8da0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8db0: 63 5c 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f c\wal.c \.$(TO
8dc0: 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20  P)\src\walker.c
8dd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w 8de0: 68 65 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 here.c \.$(TOP
8df0: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e  )\src\wherecode.
8e00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8e10: 5c 77 68 65 72 65 65 78 70 72 2e 63 20 5c 0a 20 \whereexpr.c \. 8e20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64$(TOP)\src\wind
8e30: 6f 77 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73  ow.c..# Core mis
8e40: 63 65 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73  cellaneous files
8e50: 2e 0a 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20  ..#.SRC03 = \.
8e60: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65  $(TOP)\src\parse 8e70: 2e 79 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 .y..# Core heade 8e80: 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e r files, part 1. 8e90: 0a 23 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 .#.SRC04 = \.$
8ea0: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
8eb0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src 8ec0: 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 \btreeInt.h \. 8ed0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e$(TOP)\src\hash.
8ee0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src 8ef0: 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 \hwtime.h \.$(
8f00: 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20  TOP)\src\msvc.h
8f10: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m 8f20: 75 74 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 utex.h \.$(TOP
8f30: 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24  )\src\os.h \.  $8f40: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d (TOP)\src\os_com 8f50: 6d 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 mon.h \.$(TOP)
8f60: 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20  \src\os_setup.h
8f70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o 8f80: 73 5f 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 s_win.h..# Core 8f90: 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 header files, pa 8fa0: 72 74 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 rt 2..#.SRC05 = 8fb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 \.$(TOP)\src\p
8fc0: 61 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50  ager.h \.  $(TOP 8fd0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c )\src\pcache.h \ 8fe0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 .$(TOP)\src\pr
8ff0: 61 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50  agma.h \.  $(TOP 9000: 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 )\src\sqlite.h.i 9010: 6e 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 n \.$(TOP)\src
9020: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a  \sqlite3ext.h \.
9030: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c    $(TOP)\src\sql 9040: 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 iteInt.h \.$(T
9050: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69  OP)\src\sqliteLi
9060: 6d 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  mit.h \.  $(TOP) 9070: 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 \src\vdbe.h \. 9080: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49$(TOP)\src\vdbeI
9090: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\ 90a0: 73 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a src\vxworks.h \. 90b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c$(TOP)\src\wal
90c0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr 90d0: 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 c\whereInt.h..# 90e0: 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 Extension source 90f0: 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 code files, par 9100: 74 20 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c t 1..#.SRC06 = \ 9110: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
9120: 73 31 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28  s1\fts1.c \.  $( 9130: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 TOP)\ext\fts1\ft 9140: 73 31 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 s1_hash.c \.$(
9150: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
9160: 73 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s1_porter.c \.
9170: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\ 9180: 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e fts1_tokenizer1. 9190: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
91a0: 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20  \fts2\fts2.c \.
91b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 91c0: 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 \fts2_hash.c \. 91d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
91e0: 5c 66 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20  \fts2_icu.c \.
91f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ 9200: 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a fts2_porter.c \. 9210: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
9220: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
9230: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9240: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 t\fts2\fts2_toke 9250: 6e 69 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 nizer1.c..# Exte 9260: 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 nsion source cod 9270: 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e e files, part 2. 9280: 0a 23 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 .#.SRC07 = \.$
9290: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
92a0: 74 73 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ts3.c \.  $(TOP) 92b0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 \ext\fts3\fts3_a 92c0: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ux.c \.$(TOP)\
92d0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78  ext\fts3\fts3_ex
92e0: 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  pr.c \.  $(TOP)\ 92f0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 ext\fts3\fts3_ha 9300: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.c \.$(TOP)\
9310: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63  ext\fts3\fts3_ic
9320: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e 9330: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 xt\fts3\fts3_por 9340: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ter.c \.$(TOP)
9350: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73  \ext\fts3\fts3_s
9360: 6e 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54  nippet.c \.  $(T 9370: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 9380: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 3_tokenizer.c \. 9390: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
93a0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
93b0: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.c \.  $(TOP)\e 93c0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b xt\fts3\fts3_tok 93d0: 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 enize_vtab.c \. 93e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
93f0: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20  \fts3_unicode.c
9400: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9410: 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 ts3\fts3_unicode 9420: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 2.c \.$(TOP)\e
9430: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69  xt\fts3\fts3_wri
9440: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\ 9450: 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a ext\icu\icu.c \. 9460: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72$(TOP)\ext\rtr
9470: 65 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24  ee\rtree.c \.  $9480: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f (TOP)\ext\sessio 9490: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e n\sqlite3session 94a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
94b0: 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75  t\rbu\sqlite3rbu
94c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 94d0: 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c t\misc\json1.c \ 94e0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
94f0: 73 63 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 78 74  sc\stmt.c..# Ext
9500: 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69  ension header fi
9510: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53  les, part 1..#.S
9520: 52 43 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50  RC08 = \.  $(TOP 9530: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e )\ext\fts1\fts1. 9540: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 h \.$(TOP)\ext
9550: 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e  \fts1\fts1_hash.
9560: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext 9570: 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e \fts1\fts1_token 9580: 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 izer.h \.$(TOP
9590: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e  )\ext\fts2\fts2.
95a0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext 95b0: 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e \fts2\fts2_hash. 95c0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 h \.$(TOP)\ext
95d0: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
95e0: 69 7a 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73  izer.h..# Extens
95f0: 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73  ion header files
9600: 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30  , part 2..#.SRC0
9610: 39 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  9 = \.  $(TOP)\e 9620: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c xt\fts3\fts3.h \ 9630: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
9640: 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20  s3\fts3Int.h \.
9650: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 9660: 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 \fts3_hash.h \. 9670: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
9680: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts3_tokenizer.
9690: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext 96a0: 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 \icu\sqliteicu.h 96b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
96c0: 72 74 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a  rtree\rtree.h \.
96d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72    $(TOP)\ext\rtr 96e0: 65 65 5c 67 65 6f 70 6f 6c 79 2e 63 20 5c 0a 20 ee\geopoly.c \. 96f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c$(TOP)\ext\rbu\
9700: 73 71 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20  sqlite3rbu.h \.
9710: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess 9720: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 ion\sqlite3sessi 9730: 6f 6e 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 on.h..# Generate 9740: 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 d source code fi 9750: 6c 65 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a les.#.SRC10 = \. 9760: 20 20 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 opcodes.c \. 9770: 70 61 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 parse.c..# Gener 9780: 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 ated header file 9790: 73 0a 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 s.#.SRC11 = \. 97a0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a keywordhash.h \. 97b0: 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 opcodes.h \. 97c0: 70 61 72 73 65 2e 68 20 5c 0a 20 20 73 68 65 6c parse.h \. shel 97d0: 6c 2e 63 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 l.c \.$(SQLITE
97e0: 33 48 29 0a 0a 23 20 47 65 6e 65 72 61 74 65 64  3H)..# Generated
97f0: 20 54 63 6c 20 68 65 61 64 65 72 20 66 69 6c 65   Tcl header file
9800: 73 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54  s.#.!IF $(USE_ST 9810: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 DCALL)!=0 ||$(F
9820: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 52 43  OR_WIN10)!=0.SRC
9830: 31 32 20 3d 20 5c 0a 20 20 24 28 53 51 4c 49 54  12 = \.  $(SQLIT 9840: 45 54 43 4c 48 29 20 5c 0a 20 20 24 28 53 51 4c ETCLH) \.$(SQL
9850: 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 21 45  ITETCLDECLSH).!E
9860: 4c 53 45 0a 53 52 43 31 32 20 3d 0a 21 45 4e 44  LSE.SRC12 =.!END
9870: 49 46 0a 0a 23 20 41 6c 6c 20 73 6f 75 72 63 65  IF..# All source
9880: 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53   code files..#.S
9890: 52 43 20 3d 20 24 28 53 52 43 30 30 29 20 24 28  RC = $(SRC00)$(
98a0: 53 52 43 30 31 29 20 24 28 53 52 43 30 33 29 20  SRC01) $(SRC03) 98b0: 24 28 53 52 43 30 34 29 20 24 28 53 52 43 30 35$(SRC04) $(SRC05 98c0: 29 20 24 28 53 52 43 30 36 29 20 24 28 53 52 43 )$(SRC06) $(SRC 98d0: 30 37 29 20 24 28 53 52 43 30 38 29 20 24 28 53 07)$(SRC08) $(S 98e0: 52 43 30 39 29 20 24 28 53 52 43 31 30 29 20 24 RC09)$(SRC10) $98f0: 28 53 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 (SRC11)..# Sourc 9900: 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 e code to the te 9910: 73 74 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 st files..#.TEST 9920: 53 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 SRC = \.$(TOP)
9930: 5c 73 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20  \src\test1.c \.
9940: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 9950: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 2.c \.$(TOP)\s
9960: 72 63 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24  rc\test3.c \.  $9970: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e (TOP)\src\test4. 9980: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
9990: 5c 74 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54  \test5.c \.  $(T 99a0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 OP)\src\test6.c 99b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
99c0: 65 73 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est7.c \.  $(TOP 99d0: 29 5c 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a )\src\test8.c \. 99e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
99f0: 74 39 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  t9.c \.  $(TOP)\ 9a00: 73 72 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 src\test_autoext 9a10: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
9a20: 63 5c 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c  c\test_async.c \
9a30: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9a40: 73 74 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 st_backup.c \. 9a50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
9a60: 62 65 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20  bestindex.c \.
9a70: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 9a80: 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 blob.c \.$(TOP
9a90: 29 5c 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65  )\src\test_btree
9aa0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 9ab0: 63 5c 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 c\test_config.c 9ac0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
9ad0: 65 73 74 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20  est_delete.c \.
9ae0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 9af0: 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 _demovfs.c \.$
9b00: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64  (TOP)\src\test_d
9b10: 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  evsym.c \.  $(TO 9b20: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 P)\src\test_fs.c 9b30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9b40: 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20  test_func.c \.
9b50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 9b60: 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f hexio.c \.$(TO
9b70: 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74  P)\src\test_init
9b80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 9b90: 63 5c 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e c\test_intarray. 9ba0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
9bb0: 5c 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20  \test_journal.c
9bc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9bd0: 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 est_malloc.c \. 9be0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
9bf0: 5f 6d 64 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _md5.c \.  $(TOP 9c00: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69 )\src\test_multi 9c10: 70 6c 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 plex.c \.$(TOP
9c20: 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75 74 65 78  )\src\test_mutex
9c30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 9c40: 63 5c 74 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 c\test_onefile.c 9c50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9c60: 74 65 73 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a  test_osinst.c \.
9c70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9c80: 74 5f 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 t_pcache.c \.$
9c90: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 71  (TOP)\src\test_q
9ca0: 75 6f 74 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50  uota.c \.  $(TOP 9cb0: 29 5c 73 72 63 5c 74 65 73 74 5f 72 74 72 65 65 )\src\test_rtree 9cc0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
9cd0: 63 5c 74 65 73 74 5f 73 63 68 65 6d 61 2e 63 20  c\test_schema.c
9ce0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9cf0: 65 73 74 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20 est_server.c \. 9d00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
9d10: 5f 73 75 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20  _superlock.c \.
9d20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 9d30: 5f 73 79 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 _syscall.c \.$
9d40: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74  (TOP)\src\test_t
9d50: 63 6c 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50  clsh.c \.  $(TOP 9d60: 29 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 )\src\test_tclva 9d70: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 r.c \.$(TOP)\s
9d80: 72 63 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63  rc\test_thread.c
9d90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 9da0: 74 65 73 74 5f 76 64 62 65 63 6f 76 2e 63 20 5c test_vdbecov.c \ 9db0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
9dc0: 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  st_vfs.c \.  $(T 9dd0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e OP)\src\test_win 9de0: 64 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54 dirent.c \.$(T
9df0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
9e00: 64 6f 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  dow.c \.  $(TOP) 9e10: 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 \src\test_wsd.c 9e20: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9e30: 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20  ts3\fts3_term.c
9e40: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9e50: 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 ts3\fts3_test.c 9e60: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 \.$(TOP)\ext\r
9e70: 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a  bu\test_rbu.c \.
9e80: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses 9e90: 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f sion\test_sessio 9ea0: 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c n.c..# Staticall 9eb0: 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 y linked extensi 9ec0: 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d ons..#.TESTEXT = 9ed0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9ee0: 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
9ef0: 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pert.c \.  $(TOP 9f00: 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73 )\ext\expert\tes 9f10: 74 5f 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 t_expert.c \.$
9f20: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61  (TOP)\ext\misc\a
9f30: 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f  match.c \.  $(TO 9f40: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72 P)\ext\misc\carr 9f50: 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ay.c \.$(TOP)\
9f60: 65 78 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65  ext\misc\closure
9f70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9f80: 74 5c 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20 t\misc\csv.c \. 9f90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
9fa0: 5c 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  \eval.c \.  $(TO 9fb0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 78 70 6c P)\ext\misc\expl 9fc0: 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ain.c \.$(TOP)
9fd0: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
9fe0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9ff0: 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20 t\misc\fuzzer.c a000: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
a010: 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c  ts5\fts5_tcl.c \
a020: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft a030: 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e s5\fts5_test_mi. a040: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
a050: 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f  \fts5\fts5_test_
a060: 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tok.c \.  $(TOP) a070: 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35 \ext\misc\ieee75 a080: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 4.c \.$(TOP)\e
a090: 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d  xt\misc\mmapwarm
a0a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex a0b0: 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e t\misc\nextchar. a0c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
a0d0: 5c 6d 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65 2e  \misc\normalize.
a0e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext a0f0: 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 \misc\percentile a100: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
a110: 74 5c 6d 69 73 63 5c 70 72 65 66 69 78 65 73 2e  t\misc\prefixes.
a120: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext a130: 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20 5c \misc\regexp.c \ a140: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
a150: 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c 0a  sc\remember.c \.
a160: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis a170: 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24 c\series.c \.$
a180: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
a190: 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28  pellfix.c \.  $( a1a0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f TOP)\ext\misc\to a1b0: 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 type.c \.$(TOP
a1c0: 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f 6e  )\ext\misc\union
a1d0: 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50  vtab.c \.  $(TOP a1e0: 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 )\ext\misc\whole a1f0: 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20 75 number.c..# If u a200: 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e se of zlib is en a210: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 22 abled, add the " a220: 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 63 zipfile.c" sourc a230: 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 e file..#.!IF$(
a240: 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45 53  USE_ZLIB)!=0.TES
a250: 54 45 58 54 20 3d 20 24 28 54 45 53 54 45 58 54  TEXT = $(TESTEXT a260: 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 )$(TOP)\ext\mis
a270: 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44  c\zipfile.c.!END
a280: 49 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64  IF..# Source cod
a290: 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79  e to the library
a2a0: 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79   files needed by
a2b0: 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72   the test fixtur
a2c0: 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d  e.# (non-amalgam
a2d0: 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43  ation).#.TESTSRC
a2e0: 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29  2 = \.  $(SRC00) a2f0: 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a \.$(SRC01) \.
a300: 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24    $(SRC06) \.$
a310: 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52  (SRC07) \.  $(SR a320: 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c C10) \.$(TOP)\
a330: 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65  ext\async\sqlite
a340: 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64  3async.c..# Head
a350: 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79  er files used by
a360: 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75   all library sou
a370: 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52  rce files..#.HDR
a380: 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73   = \.   $(TOP)\s a390: 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20 rc\btree.h \. a3a0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65$(TOP)\src\btree
a3b0: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  Int.h \.   $(TOP a3c0: 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 )\src\hash.h \. a3d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74$(TOP)\src\hwt
a3e0: 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f  ime.h \.   keywo
a3f0: 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28  rdhash.h \.   $( a400: 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 TOP)\src\msvc.h a410: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
a420: 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63  mutex.h \.   opc
a430: 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f  odes.h \.   $(TO a440: 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 P)\src\os.h \. a450: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63$(TOP)\src\os_c
a460: 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54  ommon.h \.   $(T a470: 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 OP)\src\os_setup a480: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 .h \.$(TOP)\s
a490: 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20  rc\os_win.h \.
a4a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page a4b0: 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c r.h \.$(TOP)\
a4c0: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20  src\pcache.h \.
a4d0: 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24    parse.h \.   $a4e0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 (TOP)\src\pragma a4f0: 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45 .h \.$(SQLITE
a500: 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 33  3H) \.   sqlite3
a510: 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  ext.h \.   $(TOP a520: 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e )\src\sqliteInt. a530: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 h \.$(TOP)\sr
a540: 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20  c\sqliteLimit.h
a550: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\ a560: 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f vdbe.h \.$(TO
a570: 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68  P)\src\vdbeInt.h
a580: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src a590: 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 \vxworks.h \. a5a0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65$(TOP)\src\where
a5b0: 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20  Int.h..# Header
a5c0: 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 65 78  files used by ex
a5d0: 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44  tensions.#.EXTHD
a5e0: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \. a5f0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
a600: 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54  1\fts1.h \.  $(T a610: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 OP)\ext\fts1\fts a620: 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 1_hash.h \.$(T
a630: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
a640: 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58  1_tokenizer.h.EX
a650: 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29  THDR = $(EXTHDR) a660: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
a670: 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20  fts2\fts2.h \.
a680: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ a690: 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 fts2_hash.h \. a6a0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
a6b0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts2_tokenizer.h
a6c0: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH a6d0: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 DR) \.$(TOP)\e
a6e0: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c  xt\fts3\fts3.h \
a6f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft a700: 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 s3\fts3Int.h \. a710: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
a720: 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts3_hash.h \.
a730: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 a740: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e \fts3_tokenizer. a750: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 h.EXTHDR =$(EXT
a760: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\ a770: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e ext\rtree\rtree. a780: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 h \.$(TOP)\ext
a790: 5c 72 74 72 65 65 5c 67 65 6f 70 6f 6c 79 2e 63  \rtree\geopoly.c
a7a0: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48  .EXTHDR = $(EXTH a7b0: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 DR) \.$(TOP)\e
a7c0: 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75  xt\icu\sqliteicu
a7d0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX a7e0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 THDR) \.$(TOP)
a7f0: 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 74  \ext\rtree\sqlit
a800: 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52  e3rtree.h.EXTHDR
a810: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. a820: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73$(TOP)\ext\sess
a830: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
a840: 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 62  on.h..# executab
a850: 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74  les needed for t
a860: 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 4f  esting.#.TESTPRO
a870: 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 78  GS = \.  testfix
a880: 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 53  ture.exe \.  $(S a890: 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20 73 QLITE3EXE) \. s a8a0: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e qlite3_analyzer. a8b0: 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f exe \. sqlite3_ a8c0: 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20 20 checker.exe \. a8d0: 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20 20 sqldiff.exe \. a8e0: 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20 20 73 dbhash.exe \. s a8f0: 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20 44 qltclsh.exe..# D a900: 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69 6e atabases contain a910: 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74 20 ing fuzzer test a920: 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54 41 cases.#.FUZZDATA a930: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 = \.$(TOP)\te
a940: 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 20  st\fuzzdata1.db
a950: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\ a960: 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a 20 fuzzdata2.db \. a970: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a$(TOP)\test\fuz
a980: 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 28  zdata3.db \.  $( a990: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 TOP)\test\fuzzda a9a0: 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 ta4.db \.$(TOP
a9b0: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 35  )\test\fuzzdata5
a9c0: 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74  .db \.  $(TOP)\t a9d0: 65 73 74 5c 66 75 7a 7a 64 61 74 61 36 2e 64 62 est\fuzzdata6.db a9e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 \.$(TOP)\test
a9f0: 5c 66 75 7a 7a 64 61 74 61 37 2e 64 62 20 5c 0a  \fuzzdata7.db \.
aa00: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu aa10: 7a 7a 64 61 74 61 38 2e 64 62 0a 23 20 3c 3c 2f zzdata8.db.# <</ aa20: 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 69 74 69 mark>>..# Additi aa30: 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 onal compiler op aa40: 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 73 68 tions for the sh aa50: 65 6c 6c 2e 20 20 54 68 65 73 65 20 61 72 65 20 ell. These are aa60: 6f 6e 6c 79 20 65 66 66 65 63 74 69 76 65 0a 23 only effective.# aa70: 20 77 68 65 6e 20 74 68 65 20 73 68 65 6c 6c 20 when the shell aa80: 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 64 79 6e is not being dyn aa90: 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 2e amically linked. aaa0: 0a 23 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 .#.!IF$(DYNAMIC
aab0: 5f 53 48 45 4c 4c 29 3d 3d 30 20 26 26 20 24 28  _SHELL)==0 && $( aac0: 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 0a 53 48 FOR_WIN10)==0.SH aad0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ELL_COMPILE_OPTS aae0: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 =$(SHELL_COMPI
aaf0: 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
ab00: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 3d 31 0a  E_ENABLE_FTS4=1.
ab10: 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50  SHELL_COMPILE_OP
ab20: 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d  TS = $(SHELL_COM ab30: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c PILE_OPTS) -DSQL ab40: 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50 4c 41 ITE_ENABLE_EXPLA ab50: 49 4e 5f 43 4f 4d 4d 45 4e 54 53 3d 31 0a 53 48 IN_COMMENTS=1.SH ab60: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ELL_COMPILE_OPTS ab70: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 =$(SHELL_COMPI
ab80: 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
ab90: 45 5f 45 4e 41 42 4c 45 5f 4f 46 46 53 45 54 5f  E_ENABLE_OFFSET_
aba0: 53 51 4c 5f 46 55 4e 43 3d 31 0a 53 48 45 4c 4c  SQL_FUNC=1.SHELL
abb0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS =
abc0: 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  $(SHELL_COMPILE_ abd0: 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 OPTS) -DSQLITE_E abe0: 4e 41 42 4c 45 5f 44 45 53 45 52 49 41 4c 49 5a NABLE_DESERIALIZ abf0: 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c E=1.!ENDIF..# << ac00: 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20 63 mark>>.# Extra c ac10: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 ompiler options ac20: 66 6f 72 20 76 61 72 69 6f 75 73 20 74 65 73 74 for various test ac30: 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53 54 tools..#.MPTEST ac40: 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 ER_COMPILE_OPTS ac50: 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c = -DSQLITE_ENABL ac60: 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 E_JSON1 -DSQLITE ac70: 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55 5a _ENABLE_FTS5.FUZ ac80: 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 ZERSHELL_COMPILE ac90: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 _OPTS = -DSQLITE aca0: 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55 _ENABLE_JSON1.FU acb0: 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 2d ZZCHECK_OPTS = - acc0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a DSQLITE_ENABLE_J acd0: 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e SON1 -DSQLITE_EN ace0: 41 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d 44 53 ABLE_MEMSYS5 -DS acf0: 51 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d QLITE_OSS_FUZZ - ad00: 44 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f DSQLITE_MAX_MEMO ad10: 52 59 3d 35 30 30 30 30 30 30 30 20 2d 44 53 51 RY=50000000 -DSQ ad20: 4c 49 54 45 5f 50 52 49 4e 54 46 5f 50 52 45 43 LITE_PRINTF_PREC ad30: 49 53 49 4f 4e 5f 4c 49 4d 49 54 3d 31 30 30 30 ISION_LIMIT=1000 ad40: 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 .FUZZCHECK_OPTS ad50: 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 =$(FUZZCHECK_OP
ad60: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  TS) -DSQLITE_ENA
ad70: 42 4c 45 5f 44 45 53 45 52 49 41 4c 49 5a 45 0a  BLE_DESERIALIZE.
ad80: 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20 3d  FUZZCHECK_OPTS =
ad90: 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54   $(FUZZCHECK_OPT ada0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 S) -DSQLITE_ENAB adb0: 4c 45 5f 46 54 53 34 0a 46 55 5a 5a 43 48 45 43 LE_FTS4.FUZZCHEC adc0: 4b 5f 4f 50 54 53 20 3d 20 24 28 46 55 5a 5a 43 K_OPTS =$(FUZZC
add0: 48 45 43 4b 5f 4f 50 54 53 29 20 2d 44 53 51 4c  HECK_OPTS) -DSQL
ade0: 49 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45  ITE_ENABLE_RTREE
adf0: 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 20  .FUZZCHECK_OPTS
ae00: 3d 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f 50  = $(FUZZCHECK_OP ae10: 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 TS) -DSQLITE_ENA ae20: 42 4c 45 5f 47 45 4f 50 4f 4c 59 0a 46 55 5a 5a BLE_GEOPOLY.FUZZ ae30: 43 48 45 43 4b 5f 4f 50 54 53 20 3d 20 24 28 46 CHECK_OPTS =$(F
ae40: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 2d  UZZCHECK_OPTS) -
ae50: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44  DSQLITE_ENABLE_D
ae60: 42 53 54 41 54 5f 56 54 41 42 0a 0a 46 55 5a 5a  BSTAT_VTAB..FUZZ
ae70: 43 48 45 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f  CHECK_SRC = $(TO ae80: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 P)\test\fuzzchec ae90: 6b 2e 63 20 24 28 54 4f 50 29 5c 74 65 73 74 5c k.c$(TOP)\test\
aea0: 6f 73 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45  ossfuzz.c.OSSSHE
aeb0: 4c 4c 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c  LL_SRC = $(TOP)\ aec0: 74 65 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 test\ossshell.c aed0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66$(TOP)\test\ossf
aee0: 75 7a 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f 4d  uzz.c.DBFUZZ_COM
aef0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51  PILE_OPTS = -DSQ
af00: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
af10: 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
af20: 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 4b  LOAD_EXTENSION.K
af30: 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  V_COMPILE_OPTS =
af40: 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
af50: 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
af60: 44 49 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f  DIRECT_OVERFLOW_
af70: 52 45 41 44 0a 53 54 5f 43 4f 4d 50 49 4c 45 5f  READ.ST_COMPILE_
af80: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f  OPTS = -DSQLITE_
af90: 54 48 52 45 41 44 53 41 46 45 3d 30 0a 0a 23 20  THREADSAFE=0..#
afa0: 53 74 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e 73  Standard options
afb0: 20 74 6f 20 74 65 73 74 66 69 78 74 75 72 65 2e   to testfixture.
afc0: 0a 23 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d 2d  .#.TESTOPTS = --
afd0: 76 65 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f  verbose=file --o
afe0: 75 74 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e 74  utput=test-out.t
aff0: 78 74 0a 0a 23 20 45 78 74 72 61 20 74 61 72 67  xt..# Extra targ
b000: 65 74 73 20 66 6f 72 20 74 68 65 20 22 61 6c 6c  ets for the "all
b010: 22 20 74 61 72 67 65 74 20 74 68 61 74 20 72 65  " target that re
b020: 71 75 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49 46  quire Tcl..#.!IF
b030: 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c   $(NO_TCL)==0.AL b040: 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 20 L_TCL_TARGETS = b050: 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29$(SQLITE3TCLDLL)
b060: 0a 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54  .!ELSE.ALL_TCL_T
b070: 41 52 47 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a  ARGETS =.!ENDIF.
b080: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54  # <</mark>>..# T
b090: 68 69 73 20 69 73 20 74 68 65 20 64 65 66 61 75  his is the defau
b0a0: 6c 74 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67  lt Makefile targ
b0b0: 65 74 2e 20 20 54 68 65 20 6f 62 6a 65 63 74 73  et.  The objects
b0c0: 20 6c 69 73 74 65 64 20 68 65 72 65 0a 23 20 61   listed here.# a
b0d0: 72 65 20 77 68 61 74 20 67 65 74 20 62 75 69 6c  re what get buil
b0e0: 64 20 77 68 65 6e 20 79 6f 75 20 74 79 70 65 20  d when you type
b0f0: 6a 75 73 74 20 22 6d 61 6b 65 22 20 77 69 74 68  just "make" with
b100: 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23   no arguments..#
b110: 0a 63 6f 72 65 3a 09 64 6c 6c 20 6c 69 62 73 71  .core:.dll libsq
b120: 6c 69 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c 0a  lite3.lib shell.
b130: 0a 23 20 54 61 72 67 65 74 73 20 74 68 61 74 20  .# Targets that
b140: 72 65 71 75 69 72 65 20 74 68 65 20 54 63 6c 20  require the Tcl
b150: 6c 69 62 72 61 72 79 2e 0a 23 0a 74 63 6c 3a 09  library..#.tcl:.
b160: 24 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54  $(ALL_TCL_TARGET b170: 53 29 0a 0a 23 20 54 68 69 73 20 4d 61 6b 65 66 S)..# This Makef b180: 69 6c 65 20 74 61 72 67 65 74 20 62 75 69 6c 64 ile target build b190: 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 74 61 s all of the sta b1a0: 6e 64 61 72 64 20 62 69 6e 61 72 69 65 73 2e 0a ndard binaries.. b1b0: 23 0a 61 6c 6c 3a 09 63 6f 72 65 20 74 63 6c 0a #.all:.core tcl. b1c0: 0a 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 .# Dynamic link b1d0: 6c 69 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e library section. b1e0: 0a 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 .#.dll:.$(SQLITE
b1f0: 33 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65  3DLL)..# Shell e
b200: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65  xecutable..#.she
b210: 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45  ll:.$(SQLITE3EXE b220: 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 )..# <<mark>>.li b230: 62 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 bsqlite3.lib:.$(
b240: 4c 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42  LIBOBJ)..$(LTLIB b250: 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f )$(LTLIBOPTS) /
b260: 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29  OUT:$@$(LIBOBJ)
b270: 20 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63   $(TLIBS)..libtc b280: 6c 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 lsqlite3.lib:.tc b290: 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 lsqlite.lo libsq b2a0: 6c 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c lite3.lib..$(LTL
b2b0: 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29  IB) $(LTLIBOPTS) b2c0: 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20$(TCLLIBPATHS)
b2d0: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f  $(LTLIBPATHS) /O b2e0: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e UT:$@ tclsqlite.
b2f0: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  lo libsqlite3.li
b300: 62 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20  b $(LIBTCLSTUB) b310: 24 28 54 4c 49 42 53 29 0a 0a 74 63 6c 73 71 6c$(TLIBS)..tclsql
b320: 69 74 65 33 2e 64 65 66 3a 09 74 63 6c 73 71 6c  ite3.def:.tclsql
b330: 69 74 65 2e 6c 6f 0a 09 65 63 68 6f 20 45 58 50  ite.lo..echo EXP
b340: 4f 52 54 53 20 3e 20 74 63 6c 73 71 6c 69 74 65  ORTS > tclsqlite
b350: 33 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f  3.def..dumpbin /
b360: 61 6c 6c 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f  all tclsqlite.lo
b370: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C b380: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c MD)$(TOP)\tool\
b390: 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c  replace.tcl incl
b3a0: 75 64 65 20 22 5e 5c 73 2b 2f 45 58 50 4f 52 54  ude "^\s+/EXPORT
b3b0: 3a 5f 3f 28 28 3f 3a 53 71 6c 69 74 65 33 7c 54  :_?((?:Sqlite3|T
b3c0: 63 6c 73 71 6c 69 74 65 33 29 5f 5b 5e 40 5d 2a  clsqlite3)_[^@]*
b3d0: 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31  )(?:@\d+)?$$" \1 b3e0: 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20 74 \...| sort >> t b3f0: 63 6c 73 71 6c 69 74 65 33 2e 64 65 66 0a 0a 70 clsqlite3.def..p b400: 6b 67 49 6e 64 65 78 2e 74 63 6c 3a 09 24 28 54 kgIndex.tcl:.(T b410: 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 66 6f 72 OP)\VERSION..for b420: 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 /F %%V in ('typ b430: 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f e "(TOP)\VERSIO b440: 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 N"') do ( \...ec b450: 68 6f 20 70 61 63 6b 61 67 65 20 69 66 6e 65 65 ho package ifnee b460: 64 65 64 20 73 71 6c 69 74 65 33 20 40 76 65 72 ded sqlite3 @ver b470: 73 69 6f 6e 40 20 5b 6c 69 73 74 20 6c 6f 61 64 sion@ [list load b480: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 24 64 69 [file join$$di
b490: 72 20 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c  r $(SQLITE3TCLDL b4a0: 4c 29 5d 20 73 71 6c 69 74 65 33 5d 20 5c 0a 09 L)] sqlite3] \.. b4b0: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
b4c0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep b4d0: 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 40 lace.tcl exact @ b4e0: 76 65 72 73 69 6f 6e 40 20 25 25 56 20 3e 20 70 version@ %%V > p b4f0: 6b 67 49 6e 64 65 78 2e 74 63 6c 20 5c 0a 09 29 kgIndex.tcl \..) b500: 0a 0a 24 28 53 51 4c 49 54 45 33 54 43 4c 44 4c ..$(SQLITE3TCLDL
b510: 4c 29 3a 09 6c 69 62 74 63 6c 73 71 6c 69 74 65  L):.libtclsqlite
b520: 33 2e 6c 69 62 20 24 28 4c 49 42 52 45 53 4f 42  3.lib $(LIBRESOB b530: 4a 53 29 20 74 63 6c 73 71 6c 69 74 65 33 2e 64 JS) tclsqlite3.d b540: 65 66 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 0a ef pkgIndex.tcl. b550: 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 .$(LD) $(LDFLAGS b560: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 )$(LTLINKOPTS)
b570: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44  $(LTLIBPATHS) /D b580: 4c 4c 20 2f 44 45 46 3a 74 63 6c 73 71 6c 69 74 LL /DEF:tclsqlit b590: 65 33 2e 64 65 66 20 2f 4f 55 54 3a 24 40 20 6c e3.def /OUT:$@ l
b5a0: 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62  ibtclsqlite3.lib
b5b0: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS)$
b5c0: 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS b5d0: 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 ).# <</mark>>..$
b5e0: 28 53 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28  (SQLITE3DLL):.$( b5f0: 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 LIBOBJ)$(LIBRES
b600: 4f 42 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e  OBJS) $(CORE_LIN b610: 4b 5f 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28 K_DEP)..$(LD) $( b620: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
b630: 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA b640: 54 48 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45 THS) /DLL$(CORE
b650: 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54  _LINK_OPTS) /OUT
b660: 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28  :$@$(LIBOBJ) $( b670: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 LIBRESOBJS)$(LT
b680: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS).. b690: 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c # <<block2>>.sql b6a0: 69 74 65 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c ite3.def:.libsql b6b0: 69 74 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45 ite3.lib..echo E b6c0: 58 50 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33 XPORTS > sqlite3 b6d0: 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 .def..dumpbin /a b6e0: 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 ll libsqlite3.li b6f0: 62 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f b \...|$(TCLSH_
b700: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool b710: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 \replace.tcl inc b720: 6c 75 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 lude "^\s+1 _?(s b730: 71 6c 69 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e qlite3(?:session b740: 7c 63 68 61 6e 67 65 73 65 74 7c 63 68 61 6e 67 |changeset|chang b750: 65 67 72 6f 75 70 7c 72 65 62 61 73 65 72 29 3f egroup|rebaser)? b760: 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f _[^@]*)(?:@\d+)? b770: 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72$$" \1 \...| sor b780: 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 t >> sqlite3.def b790: 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a .# <</block2>>.. b7a0: 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 73$(SQLITE3EXE):.s
b7b0: 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43  hell.c $(SHELL_C b7c0: 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45 ORE_DEP)$(LIBRE
b7d0: 53 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43  SOBJS) $(SHELL_C b7e0: 4f 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54 ORE_SRC)$(SQLIT
b7f0: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) b800: 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f$(SHELL_COMPILE_
b810: 4f 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45  OPTS) $(READLINE b820: 5f 46 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63 20 _FLAGS) shell.c b830: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43$(SHELL_CORE_SRC
b840: 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51  ) \.../link $(SQ b850: 4c 49 54 45 33 45 58 45 50 44 42 29 20 24 28 4c LITE3EXEPDB)$(L
b860: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK b870: 4f 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 OPTS)$(SHELL_LI
b880: 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  NK_OPTS) $(LTLIB b890: 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f PATHS)$(LIBRESO
b8a0: 42 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49  BJS) $(LIBREADLI b8b0: 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 NE)$(LTLIBS) $( b8c0: 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b TLIBS)..# <<mark b8d0: 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 >>.sqldiff.exe:. b8e0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64$(TOP)\tool\sqld
b8f0: 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iff.c $(SQLITE3C b900: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 )$(SQLITE3H)..$b910: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 (LTLINK)$(NO_WA
b920: 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\ b930: 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 sqldiff.c$(SQLI
b940: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD b950: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
b960: 50 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65  PTS)..dbhash.exe
b970: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62  :.$(TOP)\tool\db b980: 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 hash.c$(SQLITE3
b990: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. b9a0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W b9b0: 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c ARN)$(TOP)\tool
b9c0: 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49  \dbhash.c $(SQLI b9d0: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 TE3C) /link$(LD
b9e0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO b9f0: 50 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a PTS)..scrub.exe: ba00: 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 .$(TOP)\ext\misc
ba10: 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54  \scrub.c $(SQLIT ba20: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
ba30: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
ba40: 5f 57 41 52 4e 29 20 2d 44 53 43 52 55 42 5f 53  _WARN) -DSCRUB_S
ba50: 54 41 4e 44 41 4c 4f 4e 45 3d 31 20 24 28 54 4f  TANDALONE=1 $(TO ba60: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 P)\ext\misc\scru ba70: 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 b.c$(SQLITE3C)
ba80: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) ba90: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
baa0: 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f  srcck1.exe:.$(TO bab0: 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 P)\tool\srcck1.c bac0: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 ..$(BCC) $(NO_WA bad0: 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 RN) -Fe$@ $(TOP) bae0: 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a \tool\srcck1.c.. baf0: 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63 63 sourcetest:.srcc bb00: 6b 31 2e 65 78 65 20 24 28 53 51 4c 49 54 45 33 k1.exe$(SQLITE3
bb10: 43 29 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 24  C)..srcck1.exe $bb20: 28 53 51 4c 49 54 45 33 43 29 0a 0a 66 75 7a 7a (SQLITE3C)..fuzz bb30: 65 72 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 ershell.exe:.$(T
bb40: 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73  OP)\tool\fuzzers
bb50: 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  hell.c $(SQLITE3 bb60: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
bb70: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
bb80: 41 52 4e 29 20 24 28 46 55 5a 5a 45 52 53 48 45  ARN) $(FUZZERSHE bb90: 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 LL_COMPILE_OPTS) bba0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a$(TOP)\tool\fuz
bbb0: 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c  zershell.c $(SQL bbc0: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
bbd0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK bbe0: 4f 50 54 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78 OPTS)..dbfuzz.ex bbf0: 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 e:.$(TOP)\test\d
bc00: 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  bfuzz.c $(SQLITE bc10: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
bc20: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
bc30: 57 41 52 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43  WARN) $(DBFUZZ_C bc40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 OMPILE_OPTS)$(T
bc50: 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e  OP)\test\dbfuzz.
bc60: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l bc70: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $bc80: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 (LTLINKOPTS)..fu bc90: 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 46 zzcheck.exe:.$(F
bca0: 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28  UZZCHECK_SRC) $( bcb0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 SQLITE3C)$(SQLI
bcc0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK) bcd0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55$(NO_WARN) $(FU bce0: 5a 5a 43 48 45 43 4b 5f 4f 50 54 53 29 20 24 28 ZZCHECK_OPTS)$(
bcf0: 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24  FUZZCHECK_SRC) $bd00: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b (SQLITE3C) /link bd10: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT bd20: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73 73 68 LINKOPTS)..osssh bd30: 65 6c 6c 2e 65 78 65 3a 09 24 28 4f 53 53 53 48 ell.exe:.$(OSSSH
bd40: 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ELL_SRC) $(SQLIT bd50: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
bd60: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
bd70: 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45  _WARN) $(FUZZCHE bd80: 43 4b 5f 4f 50 54 53 29 20 24 28 4f 53 53 53 48 CK_OPTS)$(OSSSH
bd90: 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ELL_SRC) $(SQLIT bda0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 E3C) /link$(LDF
bdb0: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP bdc0: 54 53 29 0a 0a 73 65 73 73 69 6f 6e 66 75 7a 7a TS)..sessionfuzz bdd0: 2e 65 78 65 3a 09 7a 6c 69 62 20 24 28 54 4f 50 .exe:.zlib$(TOP
bde0: 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e 66 75  )\test\sessionfu
bdf0: 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  zz.c $(SQLITE3C) be00: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( be10: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
be20: 4e 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49  N) -I$(ZLIBINCDI be30: 52 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 R)$(TOP)\test\s
be40: 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 2f 6c 69  essionfuzz.c /li
be50: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
be60: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4c 49 42  LTLINKOPTS) /LIB
be70: 50 41 54 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49  PATH:$(ZLIBLIBDI be80: 52 29 20 24 28 5a 4c 49 42 4c 49 42 29 0a 0a 6d R)$(ZLIBLIB)..m
be90: 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24 28 54  ptester.exe:.$(T bea0: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 OP)\mptest\mptes beb0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 t.c$(SQLITE3C)
bec0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
bed0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN bee0: 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d )$(MPTESTER_COM
bef0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50  PILE_OPTS) $(TOP bf00: 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e )\mptest\mptest. bf10: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c c$(SQLITE3C) /l
bf20: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
bf30: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50  (LTLINKOPTS)..MP
bf40: 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74 65 72  TEST1 = mptester
bf50: 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50   mptest.db $(TOP bf60: 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68 30 31 )\mptest\crash01 bf70: 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20 32 .test --repeat 2 bf80: 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70 74 65 0.MPTEST2 = mpte bf90: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 ster mptest.db$
bfa0: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c  (TOP)\mptest\mul
bfb0: 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 20 2d  tiwrite01.test -
bfc0: 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70 74 65  -repeat 20..mpte
bfd0: 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65 78 65  st:.mptester.exe
bfe0: 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e  ..del /Q mptest.
bff0: 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45  db 2>NUL..$(MPTE c000: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f ST1) --journalmo c010: 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d 50 54 de DELETE..$(MPT
c020: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
c030: 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53  ode WAL..$(MPTES c040: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 T1) --journalmod c050: 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 32 e WAL..$(MPTEST2
c060: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode
c070: 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53  PERSIST..$(MPTES c080: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 T1) --journalmod c090: 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 e PERSIST..$(MPT
c0a0: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
c0b0: 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28  ode TRUNCATE..$( c0c0: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e MPTEST1) --journ c0d0: 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a almode TRUNCATE. c0e0: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f .$(MPTEST2) --jo
c0f0: 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45  urnalmode DELETE
c100: 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65 74 20  ..# This target
c110: 63 72 65 61 74 65 73 20 61 20 64 69 72 65 63 74  creates a direct
c120: 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72 63 22  ory named "tsrc"
c130: 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 77 69   and fills it wi
c140: 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 20 61  th.# copies of a
c150: 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72  ll of the C sour
c160: 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64  ce code and head
c170: 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20  er files needed
c180: 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74 68  to.# build on th
c190: 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e  e target system.
c1a0: 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 43 20    Some of the C
c1b0: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20  source code and
c1c0: 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73 20 61  header.# files a
c1d0: 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  re automatically
c1e0: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54 68 69   generated.  Thi
c1f0: 73 20 74 61 72 67 65 74 20 74 61 6b 65 73 20 63  s target takes c
c200: 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61  are of.# all tha
c210: 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65 6e 65  t automatic gene
c220: 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65  ration..#..targe
c230: 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52 43 29  t_source:.$(SRC) c240: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62$(TOP)\tool\vdb
c250: 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66  e-compress.tcl f
c260: 74 73 35 2e 63 20 24 28 53 51 4c 49 54 45 5f 54  ts5.c $(SQLITE_T c270: 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 69 72 20 CL_DEP)..-rmdir c280: 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a /Q/S tsrc 2>NUL. c290: 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09 66 6f .-mkdir tsrc..fo c2a0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 30 r %i in ($(SRC00
c2b0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
c2c0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
c2d0: 20 28 24 28 53 52 43 30 31 29 29 20 64 6f 20 63   ($(SRC01)) do c c2e0: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 opy /Y %i tsrc.. c2f0: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 for %i in ($(SRC
c300: 30 33 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  03)) do copy /Y
c310: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i
c320: 69 6e 20 28 24 28 53 52 43 30 34 29 29 20 64 6f  in ($(SRC04)) do c330: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 copy /Y %i tsrc c340: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 ..for %i in ($(S
c350: 52 43 30 35 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC05)) do copy /
c360: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
c370: 69 20 69 6e 20 28 24 28 53 52 43 30 36 29 29 20  i in ($(SRC06)) c380: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 do copy /Y %i ts c390: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 rc..for %i in ($
c3a0: 28 53 52 43 30 37 29 29 20 64 6f 20 63 6f 70 79  (SRC07)) do copy
c3b0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
c3c0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 38 29   %i in ($(SRC08) c3d0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 ) do copy /Y %i c3e0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 tsrc..for %i in c3f0: 28 24 28 53 52 43 30 39 29 29 20 64 6f 20 63 6f ($(SRC09)) do co
c400: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
c410: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31  or %i in ($(SRC1 c420: 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 0)) do copy /Y % c430: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 i tsrc..for %i i c440: 6e 20 28 24 28 53 52 43 31 31 29 29 20 64 6f 20 n ($(SRC11)) do
c450: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
c460: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR c470: 43 31 32 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 C12)) do copy /Y c480: 20 25 69 20 74 73 72 63 0a 09 63 6f 70 79 20 2f %i tsrc..copy / c490: 59 20 66 74 73 35 2e 63 20 74 73 72 63 0a 09 63 Y fts5.c tsrc..c c4a0: 6f 70 79 20 2f 59 20 66 74 73 35 2e 68 20 74 73 opy /Y fts5.h ts c4b0: 72 63 0a 09 64 65 6c 20 2f 51 20 74 73 72 63 5c rc..del /Q tsrc\ c4c0: 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 sqlite.h.in tsrc c4d0: 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 \parse.y 2>NUL.. c4e0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T c4f0: 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f OP)\tool\vdbe-co c500: 6d 70 72 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 mpress.tcl$(OPT
c510: 53 29 20 3c 20 74 73 72 63 5c 76 64 62 65 2e 63  S) < tsrc\vdbe.c
c520: 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76   > vdbe.new..mov
c530: 65 20 76 64 62 65 2e 6e 65 77 20 74 73 72 63 5c  e vdbe.new tsrc\
c540: 76 64 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e  vdbe.c..echo > .
c550: 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73  target_source..s
c560: 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61 72 67 65  qlite3.c:..targe
c570: 74 5f 73 6f 75 72 63 65 20 73 71 6c 69 74 65 33  t_source sqlite3
c580: 65 78 74 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45  ext.h $(MKSQLITE c590: 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 3C_TOOL)..$(TCLS
c5a0: 48 5f 43 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54  H_CMD) $(MKSQLIT c5b0: 45 33 43 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 E3C_TOOL)$(MKSQ
c5c0: 4c 49 54 45 33 43 5f 41 52 47 53 29 0a 09 63 6f  LITE3C_ARGS)..co
c5d0: 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65  py $(TOP)\ext\se c5e0: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 ssion\sqlite3ses c5f0: 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65 sion.h ...sqlite c600: 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33 3-all.c:.sqlite3 c610: 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 .c$(TOP)\tool\s
c620: 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63  plit-sqlite3c.tc
c630: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  l..$(TCLSH_CMD) c640: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69$(TOP)\tool\spli
c650: 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23  t-sqlite3c.tcl.#
c660: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75   <</mark>>..# Ru
c670: 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  le to build the
c680: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73  amalgamation.#.s
c690: 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c  qlite3.lo:.$(SQL c6a0: 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50 ITE3C)..$(LTCOMP
c6b0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c6c0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 53 ILE_OPTS) -c$(S
c6d0: 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61  QLITE3C)..# <<ma
c6e0: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to
c6f0: 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20  build the LEMON
c700: 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 74  compiler generat
c710: 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24  or.#.lempar.c:.$c720: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 (TOP)\tool\lempa c730: 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 r.c..copy$(TOP)
c740: 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e  \tool\lempar.c .
c750: 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54  ..lemon.exe:.$(T c760: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 OP)\tool\lemon.c c770: 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43 lempar.c..$(BCC
c780: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61  ) $(NO_WARN) -Da c790: 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a ccess=_access \. c7a0: 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 ..-Fe$@ $(TOP)\t c7b0: 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e ool\lemon.c /lin c7c0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e k$(LDFLAGS) $(N c7d0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c LTLINKOPTS)$(NL
c7e0: 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 3c 3c  TLIBPATHS)..# <<
c7f0: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74  mark>>.# Rules t
c800: 6f 20 62 75 69 6c 64 20 74 68 65 20 73 6f 75 72  o build the sour
c810: 63 65 2d 69 64 20 67 65 6e 65 72 61 74 6f 72 20  ce-id generator
c820: 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63 65 69  tool.#.mksourcei
c830: 64 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  d.exe:.$(TOP)\to c840: 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 0a ol\mksourceid.c. c850: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 .$(BCC) $(NO_WAR c860: 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c N) -Fe$@ $(TOP)\ c870: 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e tool\mksourceid. c880: 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 c /link$(LDFLAG
c890: 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53  S) $(NLTLINKOPTS c8a0: 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 )$(NLTLIBPATHS)
c8b0: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
c8c0: 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e  ld individual *.
c8d0: 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 67 65  lo files from ge
c8e0: 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69 6c 65  nerated *.c file
c8f0: 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c 69 65  s. This.# applie
c900: 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61  s to:.#.#     pa
c910: 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63  rse.lo.#     opc
c920: 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e  odes.lo.#.parse.
c930: 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28 48 44  lo:.parse.c $(HD c940: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c950: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c960: 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65 2e 63 OPTS) -c parse.c c970: 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 ..opcodes.lo:.op c980: 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d codes.c..$(LTCOM
c990: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM c9a0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70 PILE_OPTS) -c op c9b0: 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 codes.c.# <</mar c9c0: 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 k>>..# Rule to b c9d0: 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32 20 72 uild the Win32 r c9e0: 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63 74 20 esources object c9f0: 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 file..#.!IF$(US
ca00: 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f  E_RC)!=0.# <<blo
ca10: 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42  ck1>>.$(LIBRESOB ca20: 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c JS):.$(TOP)\src\
ca30: 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53 51 4c  sqlite3.rc $(SQL ca40: 49 54 45 33 48 29 20 24 28 54 4f 50 29 5c 56 45 ITE3H)$(TOP)\VE
ca50: 52 53 49 4f 4e 0a 09 65 63 68 6f 20 23 69 66 6e  RSION..echo #ifn
ca60: 64 65 66 20 53 51 4c 49 54 45 5f 52 45 53 4f 55  def SQLITE_RESOU
ca70: 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71  RCE_VERSION > sq
ca80: 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f  lite3rc.h..for /
ca90: 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 65 20  F %%V in ('type
caa0: 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22  "$(TOP)\VERSION" cab0: 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f ') do ( \...echo cac0: 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f #define SQLITE_ cad0: 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e RESOURCE_VERSION cae0: 20 25 25 56 20 5c 0a 09 09 09 7c 20 24 28 54 43 %%V \....|$(TC
caf0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ cb00: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c tool\replace.tcl cb10: 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 exact . ^, >> s cb20: 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a qlite3rc.h \..). cb30: 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 .echo #endif >> cb40: 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 24 28 4c sqlite3rc.h..$(L
cb50: 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24  TRCOMPILE) -fo $cb60: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 (LIBRESOBJS)$(T
cb70: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e  OP)\src\sqlite3.
cb80: 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e  rc.# <</block1>>
cb90: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
cba0: 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  k>>.# Rules to b
cbb0: 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20  uild individual
cbc0: 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20  *.lo files from
cbd0: 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73 72 63  files in the src
cbe0: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c   directory..#.al
cbf0: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ter.lo:.$(TOP)\s cc00: 72 63 5c 61 6c 74 65 72 2e 63 20 24 28 48 44 52 rc\alter.c$(HDR
cc10: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) cc20: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
cc30: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s cc40: 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c rc\alter.c..anal cc50: 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 yze.lo:.$(TOP)\s
cc60: 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48  rc\analyze.c $(H cc70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
cc80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE cc90: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
cca0: 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a  \src\analyze.c..
ccb0: 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50  attach.lo:.$(TOP ccc0: 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 24 )\src\attach.c$
ccd0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI cce0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
ccf0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO cd00: 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 0a P)\src\attach.c. cd10: 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 .auth.lo:.$(TOP)
cd20: 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 28 48 44  \src\auth.c $(HD cd30: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
cd40: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ cd50: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
cd60: 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b  src\auth.c..back
cd70: 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  up.lo:.$(TOP)\sr cd80: 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48 44 52 c\backup.c$(HDR
cd90: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) cda0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
cdb0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s cdc0: 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 rc\backup.c..bit cdd0: 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 vec.lo:.$(TOP)\s
cde0: 72 63 5c 62 69 74 76 65 63 2e 63 20 24 28 48 44  rc\bitvec.c $(HD cdf0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
ce00: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ ce10: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
ce20: 73 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74  src\bitvec.c..bt
ce30: 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  mutex.lo:.$(TOP) ce40: 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 24 \src\btmutex.c$
ce50: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI ce60: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
ce70: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO ce80: 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 P)\src\btmutex.c ce90: 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f ..btree.lo:.$(TO
cea0: 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 24  P)\src\btree.c $ceb0: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 (HDR)$(TOP)\src
cec0: 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f  \pager.h..$(LTCO ced0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
cee0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $cef0: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e (TOP)\src\btree. cf00: 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 c..build.lo:.$(T
cf10: 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20  OP)\src\build.c
cf20: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cf30: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP cf40: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
cf50: 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a  OP)\src\build.c.
cf60: 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28  .callback.lo:.$( cf70: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 TOP)\src\callbac cf80: 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 k.c$(HDR)..$(LT cf90: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
cfa0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cfb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c   $(TOP)\src\call cfc0: 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 back.c..complete cfd0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
cfe0: 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 44 52  complete.c $(HDR cff0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
d000: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O d010: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
d020: 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63  rc\complete.c..c
d030: 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  time.lo:.$(TOP)\ d040: 73 72 63 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 src\ctime.c$(HD
d050: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) d060: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
d070: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ d080: 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74 src\ctime.c..dat d090: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
d0a0: 5c 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09  \date.c $(HDR).. d0b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d0c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d0d0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d0e0: 64 61 74 65 2e 63 0a 0a 64 62 70 61 67 65 2e 6c  date.c..dbpage.l
d0f0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62  o:.$(TOP)\src\db d100: 70 61 67 65 2e 63 20 24 28 48 44 52 29 0a 09 24 page.c$(HDR)..$d110: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d120: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d130: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64   -c $(TOP)\src\d d140: 62 70 61 67 65 2e 63 0a 0a 64 62 73 74 61 74 2e bpage.c..dbstat. d150: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 lo:.$(TOP)\src\d
d160: 62 73 74 61 74 2e 63 20 24 28 48 44 52 29 0a 09  bstat.c $(HDR).. d170: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d180: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d190: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d1a0: 64 62 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65  dbstat.c..delete
d1b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d1c0: 64 65 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a delete.c$(HDR).
d1d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d1e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d1f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src d200: 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e \delete.c..expr. d210: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 65 lo:.$(TOP)\src\e
d220: 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  xpr.c $(HDR)..$(
d230: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR d240: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) d250: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 -c$(TOP)\src\ex
d260: 70 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09  pr.c..fault.lo:.
d270: 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74  $(TOP)\src\fault d280: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC d290: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
d2a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
d2b0: 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74  $(TOP)\src\fault d2c0: 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 .c..fkey.lo:.$(T
d2d0: 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24  OP)\src\fkey.c $d2e0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
d2f0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI d300: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
d310: 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66  P)\src\fkey.c..f
d320: 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  unc.lo:.$(TOP)\s d330: 72 63 5c 66 75 6e 63 2e 63 20 24 28 48 44 52 29 rc\func.c$(HDR)
d340: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
d350: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d360: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr d370: 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c c\func.c..global d380: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
d390: 67 6c 6f 62 61 6c 2e 63 20 24 28 48 44 52 29 0a  global.c $(HDR). d3a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d3b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d3c0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d3d0: 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e  \global.c..hash.
d3e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 68  lo:.$(TOP)\src\h d3f0: 61 73 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ash.c$(HDR)..$( d400: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d410: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d420: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61  -c $(TOP)\src\ha d430: 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a sh.c..insert.lo: d440: 09 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 .$(TOP)\src\inse
d450: 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  rt.c $(HDR)..$(L
d460: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d470: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d480: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 c$(TOP)\src\ins
d490: 65 72 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f  ert.c..legacy.lo
d4a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67  :.$(TOP)\src\leg d4b0: 61 63 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 acy.c$(HDR)..$( d4c0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d4d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d4e0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65  -c $(TOP)\src\le d4f0: 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e gacy.c..loadext. d500: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c lo:.$(TOP)\src\l
d510: 6f 61 64 65 78 74 2e 63 20 24 28 48 44 52 29 0a  oadext.c $(HDR). d520: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d530: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d540: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d550: 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e  \loadext.c..main
d560: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d570: 6d 61 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 main.c$(HDR)..$d580: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d590: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d5a0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m d5b0: 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f ain.c..malloc.lo d5c0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c :.$(TOP)\src\mal
d5d0: 6c 6f 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28  loc.c $(HDR)..$(
d5e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR d5f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) d600: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 -c$(TOP)\src\ma
d610: 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a  lloc.c..mem0.lo:
d620: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30  .$(TOP)\src\mem0 d630: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC d640: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
d650: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
d660: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e  $(TOP)\src\mem0. d670: 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f c..mem1.lo:.$(TO
d680: 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28  P)\src\mem1.c $( d690: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d6a0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d6b0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
d6c0: 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65  )\src\mem1.c..me
d6d0: 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m2.lo:.$(TOP)\sr d6e0: 63 5c 6d 65 6d 32 2e 63 20 24 28 48 44 52 29 0a c\mem2.c$(HDR).
d6f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d700: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d710: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src d720: 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f \mem2.c..mem3.lo d730: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d :.$(TOP)\src\mem
d740: 33 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  3.c $(HDR)..$(LT
d750: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d760: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d770: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33$(TOP)\src\mem3
d780: 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54  .c..mem5.lo:.$(T d790: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24 OP)\src\mem5.c$
d7a0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d7b0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d7c0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d7d0: 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d P)\src\mem5.c..m d7e0: 65 6d 64 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c emdb.lo:.$(TOP)\
d7f0: 73 72 63 5c 6d 65 6d 64 62 2e 63 20 24 28 48 44  src\memdb.c $(HD d800: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d810: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d820: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
d830: 73 72 63 5c 6d 65 6d 64 62 2e 63 0a 0a 6d 65 6d  src\memdb.c..mem
d840: 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f  journal.lo:.$(TO d850: 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 P)\src\memjourna d860: 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 l.c$(HDR)..$(LT d870: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
d880: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d890: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a   $(TOP)\src\memj d8a0: 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e ournal.c..mutex. d8b0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d lo:.$(TOP)\src\m
d8c0: 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24  utex.c $(HDR)..$
d8d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO d8e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) d8f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d -c$(TOP)\src\m
d900: 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f  utex.c..mutex_no
d910: 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  op.lo:.$(TOP)\sr d920: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 c\mutex_noop.c$
d930: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d940: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d950: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d960: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f P)\src\mutex_noo d970: 70 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e p.c..mutex_unix. d980: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d lo:.$(TOP)\src\m
d990: 75 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 44  utex_unix.c $(HD d9a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d9b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d9c0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
d9d0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
d9e0: 0a 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09  ..mutex_w32.lo:.
d9f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex da00: 5f 77 33 32 2e 63 20 24 28 48 44 52 29 0a 09 24 _w32.c$(HDR)..$da10: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
da20: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
da30: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m da40: 75 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 utex_w32.c..noti da50: 66 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 fy.lo:.$(TOP)\sr
da60: 63 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 44 52  c\notify.c $(HDR da70: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
da80: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O da90: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
daa0: 72 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67  rc\notify.c..pag
dab0: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  er.lo:.$(TOP)\sr dac0: 63 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52 29 c\pager.c$(HDR)
dad0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page dae0: 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 r.h..$(LTCOMPILE
daf0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE db00: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
db10: 5c 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63  \src\pager.c..pc
db20: 61 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ache.lo:.$(TOP)\ db30: 73 72 63 5c 70 63 61 63 68 65 2e 63 20 24 28 48 src\pcache.c$(H
db40: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  DR) $(TOP)\src\p db50: 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d cache.h..$(LTCOM
db60: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM db70: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
db80: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e  TOP)\src\pcache.
db90: 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24  c..pcache1.lo:.$dba0: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 (TOP)\src\pcache dbb0: 31 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 1.c$(HDR) $(TOP dbc0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 )\src\pcache.h.. dbd0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C dbe0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS dbf0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
dc00: 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f  pcache1.c..os.lo
dc10: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e  :.$(TOP)\src\os. dc20: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO dc30: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
dc40: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $dc50: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a (TOP)\src\os.c.. dc60: 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f os_unix.lo:.$(TO
dc70: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
dc80: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
dc90: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM dca0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
dcb0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78  TOP)\src\os_unix
dcc0: 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24  .c..os_win.lo:.$dcd0: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e (TOP)\src\os_win dce0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC dcf0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
dd00: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
dd10: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi dd20: 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 n.c..pragma.lo:. dd30: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d$(TOP)\src\pragm
dd40: 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  a.c $(HDR)..$(LT
dd50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ dd60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c dd70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67$(TOP)\src\prag
dd80: 6d 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f  ma.c..prepare.lo
dd90: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65  :.$(TOP)\src\pre dda0: 70 61 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 pare.c$(HDR)..$ddb0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
ddc0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ddd0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p dde0: 72 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66 repare.c..printf ddf0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
de00: 70 72 69 6e 74 66 2e 63 20 24 28 48 44 52 29 0a  printf.c $(HDR). de10: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( de20: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT de30: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
de40: 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f  \printf.c..rando
de50: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  m.lo:.$(TOP)\src de60: 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29 \random.c$(HDR)
de70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
de80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
de90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr dea0: 63 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f c\random.c..reso deb0: 6c 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 lve.lo:.$(TOP)\s
dec0: 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28 48  rc\resolve.c $(H ded0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
dee0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE def0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
df00: 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a  \src\resolve.c..
df10: 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50  rowset.lo:.$(TOP df20: 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 24 )\src\rowset.c$
df30: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI df40: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
df50: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO df60: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a P)\src\rowset.c. df70: 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f .select.lo:.$(TO
df80: 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20  P)\src\select.c
df90: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
dfa0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP dfb0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
dfc0: 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63  OP)\src\select.c
dfd0: 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54  ..status.lo:.$(T dfe0: 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 OP)\src\status.c dff0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM e000: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
e010: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( e020: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e TOP)\src\status. e030: 63 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 c..table.lo:.$(T
e040: 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20  OP)\src\table.c
e050: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e060: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP e070: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
e080: 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 0a  OP)\src\table.c.
e090: 0a 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54  .threads.lo:.$(T e0a0: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e OP)\src\threads. e0b0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO e0c0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
e0d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $e0e0: 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 (TOP)\src\thread e0f0: 73 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f s.c..tokenize.lo e100: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b :.$(TOP)\src\tok
e110: 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68  enize.c keywordh
e120: 61 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28  ash.h $(HDR)..$(
e130: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR e140: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) e150: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f -c$(TOP)\src\to
e160: 6b 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69  kenize.c..treevi
e170: 65 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ew.lo:.$(TOP)\sr e180: 63 5c 74 72 65 65 76 69 65 77 2e 63 20 24 28 48 c\treeview.c$(H
e190: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE e1a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
e1b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) e1c0: 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 0a \src\treeview.c. e1d0: 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54 .trigger.lo:.$(T
e1e0: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e  OP)\src\trigger.
e1f0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
e200: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO e210: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
e220: 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65  (TOP)\src\trigge
e230: 72 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09  r.c..update.lo:.
e240: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74  $(TOP)\src\updat e250: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 e.c$(HDR)..$(LT e260: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
e270: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
e280: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61   $(TOP)\src\upda e290: 74 65 2e 63 0a 0a 75 70 73 65 72 74 2e 6c 6f 3a te.c..upsert.lo: e2a0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 65 .$(TOP)\src\upse
e2b0: 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  rt.c $(HDR)..$(L
e2c0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE e2d0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - e2e0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 c$(TOP)\src\ups
e2f0: 65 72 74 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24  ert.c..utf.lo:.$e300: 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 (TOP)\src\utf.c e310: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP e320: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
e330: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T e340: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75 OP)\src\utf.c..u e350: 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 til.lo:.$(TOP)\s
e360: 72 63 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 29  rc\util.c $(HDR) e370: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $e380: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP e390: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
e3a0: 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d  c\util.c..vacuum
e3b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ e3c0: 76 61 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a vacuum.c$(HDR).
e3d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
e3e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e3f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src e400: 5c 76 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e \vacuum.c..vdbe. e410: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 lo:.$(TOP)\src\v
e420: 64 62 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  dbe.c $(HDR)..$(
e430: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR e440: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) e450: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 -c$(TOP)\src\vd
e460: 62 65 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f  be.c..vdbeapi.lo
e470: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb e480: 65 61 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24 eapi.c$(HDR)..$e490: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
e4a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e4b0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v e4c0: 64 62 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75 dbeapi.c..vdbeau e4d0: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 x.lo:.$(TOP)\src
e4e0: 5c 76 64 62 65 61 75 78 2e 63 20 24 28 48 44 52  \vdbeaux.c $(HDR e4f0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
e500: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O e510: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
e520: 72 63 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 64  rc\vdbeaux.c..vd
e530: 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50  beblob.lo:.$(TOP e540: 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 )\src\vdbeblob.c e550: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM e560: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
e570: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( e580: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f TOP)\src\vdbeblo e590: 62 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a b.c..vdbemem.lo: e5a0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 .$(TOP)\src\vdbe
e5b0: 6d 65 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28  mem.c $(HDR)..$(
e5c0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR e5d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) e5e0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 -c$(TOP)\src\vd
e5f0: 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72  bemem.c..vdbesor
e600: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src e610: 5c 76 64 62 65 73 6f 72 74 2e 63 20 24 28 48 44 \vdbesort.c$(HD
e620: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e630: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e640: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ e650: 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a src\vdbesort.c.. e660: 76 64 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28 vdbetrace.lo:.$(
e670: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61  TOP)\src\vdbetra
e680: 63 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ce.c $(HDR)..$(L
e690: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE e6a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - e6b0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 c$(TOP)\src\vdb
e6c0: 65 74 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c  etrace.c..vtab.l
e6d0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 74  o:.$(TOP)\src\vt e6e0: 61 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c ab.c$(HDR)..$(L e6f0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
e700: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
e710: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61  c $(TOP)\src\vta e720: 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 b.c..wal.lo:.$(T
e730: 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28  OP)\src\wal.c $( e740: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
e750: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL e760: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
e770: 29 5c 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c  )\src\wal.c..wal
e780: 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ker.lo:.$(TOP)\s e790: 72 63 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48 44 rc\walker.c$(HD
e7a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e7b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e7c0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ e7d0: 73 72 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68 src\walker.c..wh e7e0: 65 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ere.lo:.$(TOP)\s
e7f0: 72 63 5c 77 68 65 72 65 2e 63 20 24 28 48 44 52  rc\where.c $(HDR e800: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
e810: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O e820: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
e830: 72 63 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 72  rc\where.c..wher
e840: 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  ecode.lo:.$(TOP) e850: 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 \src\wherecode.c e860: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM e870: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
e880: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( e890: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f TOP)\src\whereco e8a0: 64 65 2e 63 0a 0a 77 68 65 72 65 65 78 70 72 2e de.c..whereexpr. e8b0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 lo:.$(TOP)\src\w
e8c0: 68 65 72 65 65 78 70 72 2e 63 20 24 28 48 44 52  hereexpr.c $(HDR e8d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
e8e0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O e8f0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
e900: 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a  rc\whereexpr.c..
e910: 77 69 6e 64 6f 77 2e 6c 6f 3a 09 24 28 54 4f 50  window.lo:.$(TOP e920: 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 20 24 )\src\window.c$
e930: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI e940: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
e950: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO e960: 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 0a P)\src\window.c. e970: 0a 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 .tclsqlite.lo:.$
e980: 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c  (TOP)\src\tclsql
e990: 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 53  ite.c $(HDR)$(S
e9a0: 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09  QLITE_TCL_DEP)..
e9b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e  $(LTCOMPILE)$(N
e9c0: 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45 5f 54 43  O_WARN) -DUSE_TC
e9d0: 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42 55 49 4c  L_STUBS=1 -DBUIL
e9e0: 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c  D_sqlite -I$(TCL e9f0: 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 INCDIR) -c$(TOP
ea00: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
ea10: 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68 65  c..tclsqlite-she
ea20: 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ll.lo:.$(TOP)\sr ea30: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 c\tclsqlite.c$(
ea40: 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43  HDR) $(SQLITE_TC ea50: 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 L_DEP)..$(LTCOMP
ea60: 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  ILE) $(NO_WARN) ea70: 2d 44 54 43 4c 53 48 20 2d 44 42 55 49 4c 44 5f -DTCLSH -DBUILD_ ea80: 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e sqlite -I$(TCLIN
ea90: 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c  CDIR) -c $(TOP)\ eaa0: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a src\tclsqlite.c. eab0: 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a .tclsqlite3.exe: eac0: 09 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c .tclsqlite-shell ead0: 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33 43 29 20 .lo$(SQLITE3C)
eae0: 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49  $(SQLITE3H)$(LI
eaf0: 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c  BRESOBJS)..$(LTL eb00: 49 4e 4b 29 20 24 28 53 51 4c 49 54 45 33 43 29 INK)$(SQLITE3C)
eb10: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS eb20: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 )$(LTLINKOPTS)
eb30: 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24  $(TCLLIBPATHS)$
eb40: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55  (LTLIBPATHS) /OU
eb50: 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2d 73  T:$@ tclsqlite-s eb60: 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 hell.lo$(LIBRES
eb70: 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29  OBJS) $(TCLLIBS) eb80: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49$(LTLIBS) $(TLI eb90: 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 BS)..# Rules to eba0: 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63 20 build opcodes.c ebb0: 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23 0a and opcodes.h.#. ebc0: 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f 64 opcodes.c:.opcod ebd0: 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c es.h$(TOP)\tool
ebe0: 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a 09  \mkopcodec.tcl..
ebf0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD)$(T
ec00: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64  OP)\tool\mkopcod
ec10: 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e 68  ec.tcl opcodes.h
ec20: 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f 70   > opcodes.c..op
ec30: 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65 2e 68  codes.h:.parse.h
ec40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe ec50: 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d .c$(TOP)\tool\m
ec60: 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74 79  kopcodeh.tcl..ty
ec70: 70 65 20 70 61 72 73 65 2e 68 20 24 28 54 4f 50  pe parse.h $(TOP ec80: 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c 20 24 )\src\vdbe.c |$
ec90: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO eca0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 P)\tool\mkopcode ecb0: 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73 2e h.tcl > opcodes. ecc0: 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 h..# Rules to bu ecd0: 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e 64 20 ild parse.c and ece0: 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20 6f 75 parse.h - the ou ecf0: 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e 0a tputs of lemon.. ed00: 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72 73 65 #.parse.h:.parse ed10: 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28 54 .c..parse.c:.$(T
ed20: 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20  OP)\src\parse.y
ed30: 6c 65 6d 6f 6e 2e 65 78 65 0a 09 64 65 6c 20 2f  lemon.exe..del /
ed40: 51 20 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e  Q parse.y parse.
ed50: 68 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32  h parse.h.temp 2
ed60: 3e 4e 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50  >NUL..copy $(TOP ed70: 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a )\src\parse.y .. ed80: 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 ..\lemon.exe$(R
ed90: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
eda0: 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  ) $(OPT_FEATURE_ edb0: 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 FLAGS)$(EXT_FEA
edc0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP edd0: 54 53 29 20 70 61 72 73 65 2e 79 0a 0a 24 28 53 TS) parse.y..$(S
ede0: 51 4c 49 54 45 33 48 29 3a 09 24 28 54 4f 50 29  QLITE3H):.$(TOP) edf0: 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e \src\sqlite.h.in ee00: 20 24 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73 74$(TOP)\manifest
ee10: 20 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 20   mksourceid.exe
ee20: 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09  $(TOP)\VERSION.. ee30: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T ee40: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 OP)\tool\mksqlit ee50: 65 33 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c 3d e3h.tcl$(TOP:\=
ee60: 2f 29 20 3e 20 24 28 53 51 4c 49 54 45 33 48 29  /) > $(SQLITE3H) ee70: 20 24 28 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52$(MKSQLITE3H_AR
ee80: 47 53 29 0a 0a 73 71 6c 69 74 65 33 65 78 74 2e  GS)..sqlite3ext.
ee90: 68 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63  h:..target_sourc
eea0: 65 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43  e.!IF $(USE_STDC eeb0: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 ALL)!=0 ||$(FOR
eec0: 5f 57 49 4e 31 30 29 21 3d 30 0a 09 74 79 70 65  _WIN10)!=0..type
eed0: 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74   tsrc\sqlite3ext
eee0: 2e 68 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  .h | $(TCLSH_CMD eef0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 )$(TOP)\tool\re
ef00: 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62  place.tcl regsub
ef10: 20 22 5c 28 5c 2a 5c 29 22 20 22 28 53 51 4c 49   "$$\*$$" "(SQLI
ef20: 54 45 5f 43 41 4c 4c 42 41 43 4b 20 2a 29 22 20  TE_CALLBACK *)"
ef30: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM ef40: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 D)$(TOP)\tool\r
ef50: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
ef60: 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54  b "\(\*" "(SQLIT
ef70: 45 5f 41 50 49 43 41 4c 4c 20 2a 22 20 3e 20 73  E_APICALL *" > s
ef80: 71 6c 69 74 65 33 65 78 74 2e 68 0a 09 63 6f 70  qlite3ext.h..cop
ef90: 79 20 2f 59 20 73 71 6c 69 74 65 33 65 78 74 2e  y /Y sqlite3ext.
efa0: 68 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78  h tsrc\sqlite3ex
efb0: 74 2e 68 0a 21 45 4c 53 45 0a 09 63 6f 70 79 20  t.h.!ELSE..copy
efc0: 2f 59 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65  /Y tsrc\sqlite3e
efd0: 78 74 2e 68 20 73 71 6c 69 74 65 33 65 78 74 2e  xt.h sqlite3ext.
efe0: 68 0a 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79 77  h.!ENDIF..mkkeyw
eff0: 6f 72 64 68 61 73 68 2e 65 78 65 3a 09 24 28 54  ordhash.exe:.$(T f000: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f OP)\tool\mkkeywo f010: 72 64 68 61 73 68 2e 63 0a 09 24 28 42 43 43 29 rdhash.c..$(BCC)
f020: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24   $(NO_WARN) -Fe$
f030: 40 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f  @ $(REQ_FEATURE_ f040: 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 FLAGS)$(OPT_FEA
f050: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58  TURE_FLAGS) $(EX f060: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) f070: 20 24 28 4f 50 54 53 29 20 5c 0a 09 09 24 28 54$(OPTS) \...$(T f080: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f OP)\tool\mkkeywo f090: 72 64 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20 24 rdhash.c /link$
f0a0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c  (LDFLAGS) $(NLTL f0b0: 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 INKOPTS)$(NLTLI
f0c0: 42 50 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72 64  BPATHS)..keyword
f0d0: 68 61 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c 74  hash.h:.$(TOP)\t f0e0: 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 ool\mkkeywordhas f0f0: 68 2e 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 h.c mkkeywordhas f100: 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77 6f h.exe...\mkkeywo f110: 72 64 68 61 73 68 2e 65 78 65 20 3e 20 6b 65 79 rdhash.exe > key f120: 77 6f 72 64 68 61 73 68 2e 68 0a 0a 23 20 53 6f wordhash.h..# So f130: 75 72 63 65 20 66 69 6c 65 73 20 74 68 61 74 20 urce files that f140: 67 6f 20 69 6e 74 6f 20 6d 61 6b 69 6e 67 20 73 go into making s f150: 68 65 6c 6c 2e 63 0a 53 48 45 4c 4c 5f 53 52 43 hell.c.SHELL_SRC f160: 20 3d 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72 63 = \..$(TOP)\src
f170: 5c 73 68 65 6c 6c 2e 63 2e 69 6e 20 5c 0a 09 24  \shell.c.in \..$f180: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 (TOP)\ext\misc\a f190: 70 70 65 6e 64 76 66 73 2e 63 20 5c 0a 09 24 28 ppendvfs.c \..$(
f1a0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 68  TOP)\ext\misc\sh
f1b0: 61 74 68 72 65 65 2e 63 20 5c 0a 09 24 28 54 4f  athree.c \..$(TO f1c0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 P)\ext\misc\file f1d0: 69 6f 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 io.c \..$(TOP)\e
f1e0: 78 74 5c 6d 69 73 63 5c 63 6f 6d 70 6c 65 74 69  xt\misc\completi
f1f0: 6f 6e 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65  on.c \..$(TOP)\e f200: 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 xt\expert\sqlite f210: 33 65 78 70 65 72 74 2e 63 20 5c 0a 09 24 28 54 3expert.c \..$(T
f220: 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73  OP)\ext\expert\s
f230: 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20 5c  qlite3expert.h \
f240: 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ..$(TOP)\ext\mis f250: 63 5c 6d 65 6d 74 72 61 63 65 2e 63 20 5c 0a 09 c\memtrace.c \.. f260: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
f270: 77 69 6e 64 69 72 65 6e 74 2e 63 0a 0a 23 20 49  windirent.c..# I
f280: 66 20 75 73 65 20 6f 66 20 7a 6c 69 62 20 69 73  f use of zlib is
f290: 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68   enabled, add th
f2a0: 65 20 22 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f  e "zipfile.c" so
f2b0: 75 72 63 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46  urce file..#.!IF
f2c0: 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a   $(USE_ZLIB)!=0. f2d0: 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 48 SHELL_SRC =$(SH
f2e0: 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c  ELL_SRC) $(TOP)\ f2f0: 65 78 74 5c 6d 69 73 63 5c 73 71 6c 61 72 2e 63 ext\misc\sqlar.c f300: 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 .SHELL_SRC =$(S
f310: 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29  HELL_SRC) $(TOP) f320: 5c 65 78 74 5c 6d 69 73 63 5c 7a 69 70 66 69 6c \ext\misc\zipfil f330: 65 2e 63 0a 21 45 4e 44 49 46 0a 0a 73 68 65 6c e.c.!ENDIF..shel f340: 6c 2e 63 3a 09 24 28 53 48 45 4c 4c 5f 53 52 43 l.c:.$(SHELL_SRC
f350: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk f360: 73 68 65 6c 6c 63 2e 74 63 6c 0a 09 24 28 54 43 shellc.tcl..$(TC
f370: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ f380: 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 tool\mkshellc.tc f390: 6c 20 3e 20 73 68 65 6c 6c 2e 63 0a 0a 7a 6c 69 l > shell.c..zli f3a0: 62 3a 0a 09 70 75 73 68 64 20 24 28 5a 4c 49 42 b:..pushd$(ZLIB
f3b0: 44 49 52 29 20 26 26 20 24 28 4d 41 4b 45 29 20  DIR) && $(MAKE) f3c0: 2f 66 20 77 69 6e 33 32 5c 4d 61 6b 65 66 69 6c /f win32\Makefil f3d0: 65 2e 6d 73 63 20 63 6c 65 61 6e 20 24 28 5a 4c e.msc clean$(ZL
f3e0: 49 42 4c 49 42 29 20 26 26 20 70 6f 70 64 0a 0a  IBLIB) && popd..
f3f0: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
f400: 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f   the extension o
f410: 62 6a 65 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f  bjects..#.icu.lo
f420: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75  :.$(TOP)\ext\icu f430: 5c 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 \icu.c$(HDR) $( f440: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
f450: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM f460: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
f470: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
f480: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex f490: 74 5c 69 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73 t\icu\icu.c..fts f4a0: 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 2.lo:.$(TOP)\ext
f4b0: 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 24 28 48  \fts2\fts2.c $(H f4c0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$f4d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
f4e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f4f0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ f500: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
f510: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
f520: 32 2e 63 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c  2.c..fts2_hash.l
f530: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft f540: 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 24 s2\fts2_hash.c$
f550: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). f560: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( f570: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT f580: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
f590: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $f5a0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f f5b0: 74 73 32 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32 ts2_hash.c..fts2 f5c0: 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c _icu.lo:.$(TOP)\
f5d0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63  ext\fts2\fts2_ic
f5e0: 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  u.c $(HDR)$(EXT
f5f0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL f600: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
f610: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR f620: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE f630: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
f640: 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a  ts2\fts2_icu.c..
f650: 66 74 73 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09  fts2_porter.lo:.
f660: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ f670: 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 24 28 fts2_porter.c$(
f680: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR).. f690: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C f6a0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS f6b0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
f6c0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $( f6d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft f6e0: 73 32 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 s2_porter.c..fts f6f0: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 2_tokenizer.lo:. f700: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
f710: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63  fts2_tokenizer.c
f720: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
f730: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) f740: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
f750: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) f760: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c f770: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
f780: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
f790: 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  c..fts2_tokenize
f7a0: 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  r1.lo:.$(TOP)\ex f7b0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 t\fts2\fts2_toke f7c0: 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20 nizer1.c$(HDR)
f7d0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
f7e0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C f7f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
f800: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
f810: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ f820: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f ext\fts2\fts2_to f830: 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 kenizer1.c..fts3 f840: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
f850: 66 74 73 33 5c 66 74 73 33 2e 63 20 24 28 48 44  fts3\fts3.c $(HD f860: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( f870: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
f880: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
f890: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL f8a0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
f8b0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f8c0: 2e 63 0a 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a  .c..fts3_aux.lo:
f8d0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3 f8e0: 5c 66 74 73 33 5f 61 75 78 2e 63 20 24 28 48 44 \fts3_aux.c$(HD
f8f0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
f900: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR f910: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) f920: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
f930: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO f940: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 f950: 5f 61 75 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70 _aux.c..fts3_exp f960: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 r.lo:.$(TOP)\ext
f970: 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e  \fts3\fts3_expr.
f980: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
f990: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) f9a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
f9b0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) f9c0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - f9d0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
f9e0: 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66  3\fts3_expr.c..f
f9f0: 74 73 33 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54  ts3_hash.lo:.$(T fa00: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts fa10: 33 5f 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 3_hash.c$(HDR)
fa20: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
fa30: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C fa40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
fa50: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
fa60: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ fa70: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 ext\fts3\fts3_ha fa80: 73 68 2e 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c sh.c..fts3_icu.l fa90: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 o:.$(TOP)\ext\ft
faa0: 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20 24 28  s3\fts3_icu.c $( fab0: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
fac0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
fad0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
fae0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS faf0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
fb00: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
fb10: 73 33 5f 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73  s3_icu.c..fts3_s
fb20: 6e 69 70 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50  nippet.lo:.$(TOP fb30: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ fb40: 73 6e 69 70 70 65 74 2e 63 20 24 28 48 44 52 29 snippet.c$(HDR)
fb50: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
fb60: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ fb70: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
fb80: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
fb90: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) fba0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 \ext\fts3\fts3_s fbb0: 6e 69 70 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70 nippet.c..fts3_p fbc0: 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 orter.lo:.$(TOP)
fbd0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70  \ext\fts3\fts3_p
fbe0: 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29 20 24  orter.c $(HDR)$
fbf0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO fc00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
fc10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO fc20: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ fc30: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
fc40: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72  xt\fts3\fts3_por
fc50: 74 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65  ter.c..fts3_toke
fc60: 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  nizer.lo:.$(TOP) fc70: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 \ext\fts3\fts3_t fc80: 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 okenizer.c$(HDR
fc90: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
fca0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE fcb0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
fcc0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
fcd0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP fce0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ fcf0: 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 tokenizer.c..fts fd00: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 3_tokenizer1.lo: fd10: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 .$(TOP)\ext\fts3
fd20: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts3_tokenizer1
fd30: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
fd40: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE fd50: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
fd60: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN fd70: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE fd80: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
fd90: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
fda0: 72 31 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e  r1.c..fts3_token
fdb0: 69 7a 65 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54  ize_vtab.lo:.$(T fdc0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts fdd0: 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 3_tokenize_vtab. fde0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD fdf0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
fe00: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ fe10: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
fe20: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
fe30: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts fe40: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 3\fts3_tokenize_ fe50: 76 74 61 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 vtab.c..fts3_uni fe60: 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c code.lo:.$(TOP)\
fe70: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e  ext\fts3\fts3_un
fe80: 69 63 6f 64 65 2e 63 20 24 28 48 44 52 29 20 24  icode.c $(HDR)$
fe90: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO fea0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
feb0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO fec0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ fed0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
fee0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69  xt\fts3\fts3_uni
fef0: 63 6f 64 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69  code.c..fts3_uni
ff00: 63 6f 64 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29  code2.lo:.$(TOP) ff10: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 \ext\fts3\fts3_u ff20: 6e 69 63 6f 64 65 32 2e 63 20 24 28 48 44 52 29 nicode2.c$(HDR)
ff30: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
ff40: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ ff50: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
ff60: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
ff70: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) ff80: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 \ext\fts3\fts3_u ff90: 6e 69 63 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f nicode2.c..fts3_ ffa0: 77 72 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 write.lo:.$(TOP)
ffb0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77  \ext\fts3\fts3_w
ffc0: 72 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28  rite.c $(HDR)$(
ffd0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM ffe0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
fff0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ 10000 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C 10010 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
10020 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74  t\fts3\fts3_writ
10030 65 2e 63 0a 0a 6a 73 6f 6e 31 2e 6c 6f 3a 09 24  e.c..json1.lo:.$10040 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a (TOP)\ext\misc\j 10050 73 6f 6e 31 2e 63 20 24 28 48 44 52 29 20 24 28 son1.c$(HDR) $( 10060 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
10070 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM 10080 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
10090 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
100a0 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex 100b0 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 0a 0a t\misc\json1.c.. 100c0 73 74 6d 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c stmt.lo:.$(TOP)\
100d0 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 20  ext\misc\stmt.c
100e0 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
100f0 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
10100 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
10110 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - 10120 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c 10130 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
10140 73 74 6d 74 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f  stmt.c..rtree.lo
10150 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72  :.$(TOP)\ext\rtr 10160 65 65 5c 72 74 72 65 65 2e 63 20 24 28 48 44 52 ee\rtree.c$(HDR
10170 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
10180 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE 10190 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
101a0 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
101b0 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP 101c0 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 )\ext\rtree\rtre 101d0 65 2e 63 0a 0a 73 71 6c 69 74 65 33 73 65 73 73 e.c..sqlite3sess 101e0 69 6f 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 ion.lo:.$(TOP)\e
101f0 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
10200 65 33 73 65 73 73 69 6f 6e 2e 63 20 24 28 48 44  e3session.c $(HD 10210 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( 10220 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
10230 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
10240 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL 10250 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
10260 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73  P)\ext\session\s
10270 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 0a  qlite3session.c.
10280 0a 23 20 46 54 53 35 20 74 68 69 6e 67 73 0a 23  .# FTS5 things.#
10290 0a 46 54 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20  .FTS5_SRC = \.
102a0 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 102b0 5c 66 74 73 35 2e 68 20 5c 0a 20 20 20 24 28 54 \fts5.h \.$(T
102c0 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
102d0 35 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  5Int.h \.   $(TO 102e0 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 P)\ext\fts5\fts5 102f0 5f 61 75 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f _aux.c \.$(TO
10300 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
10310 5f 62 75 66 66 65 72 2e 63 20 5c 0a 20 20 20 24  _buffer.c \.   $10320 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 (TOP)\ext\fts5\f 10330 74 73 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 ts5_main.c \. 10340 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c$(TOP)\ext\fts5\
10350 66 74 73 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a  fts5_config.c \.
10360 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft 10370 73 35 5c 66 74 73 35 5f 65 78 70 72 2e 63 20 5c s5\fts5_expr.c \ 10380 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 .$(TOP)\ext\f
10390 74 73 35 5c 66 74 73 35 5f 68 61 73 68 2e 63 20  ts5\fts5_hash.c
103a0 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\ 103b0 66 74 73 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e fts5\fts5_index. 103c0 63 20 5c 0a 20 20 20 66 74 73 35 70 61 72 73 65 c \. fts5parse 103d0 2e 63 20 66 74 73 35 70 61 72 73 65 2e 68 20 5c .c fts5parse.h \ 103e0 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 .$(TOP)\ext\f
103f0 74 73 35 5c 66 74 73 35 5f 73 74 6f 72 61 67 65  ts5\fts5_storage
10400 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e 10410 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b xt\fts5\fts5_tok 10420 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54 enize.c \.$(T
10430 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
10440 35 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20  5_unicode2.c \.
10450 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 10460 35 5c 66 74 73 35 5f 76 61 72 69 6e 74 2e 63 20 5\fts5_varint.c 10470 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
10480 66 74 73 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e  fts5\fts5_vocab.
10490 63 0a 0a 4c 53 4d 31 5f 53 52 43 20 3d 20 5c 0a  c..LSM1_SRC = \.
104a0 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls 104b0 6d 31 5c 6c 73 6d 2e 68 20 5c 0a 20 20 20 24 28 m1\lsm.h \.$(
104c0 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
104d0 6d 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f  mInt.h \.   $(TO 104e0 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f P)\ext\lsm1\lsm_ 104f0 63 6b 70 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f ckpt.c \.$(TO
10500 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
10510 66 69 6c 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f  file.c \.   $(TO 10520 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f P)\ext\lsm1\lsm_ 10530 6c 6f 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 log.c \.$(TOP
10540 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d  )\ext\lsm1\lsm_m
10550 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ain.c \.   $(TOP 10560 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d )\ext\lsm1\lsm_m 10570 65 6d 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 em.c \.$(TOP)
10580 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 75  \ext\lsm1\lsm_mu
10590 74 65 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  tex.c \.   $(TOP 105a0 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 )\ext\lsm1\lsm_s 105b0 68 61 72 65 64 2e 63 20 5c 0a 20 20 20 24 28 54 hared.c \.$(T
105c0 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
105d0 5f 73 6f 72 74 65 64 2e 63 20 5c 0a 20 20 20 24  _sorted.c \.   $105e0 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c (TOP)\ext\lsm1\l 105f0 73 6d 5f 73 74 72 2e 63 20 5c 0a 20 20 20 24 28 sm_str.c \.$(
10600 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
10610 6d 5f 74 72 65 65 2e 63 20 5c 0a 20 20 20 24 28  m_tree.c \.   $( 10620 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 TOP)\ext\lsm1\ls 10630 6d 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 20 24 28 m_unix.c \.$(
10640 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
10650 6d 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20  m_varint.c \.
10660 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\ 10670 6c 73 6d 5f 76 74 61 62 2e 63 20 5c 0a 20 20 20 lsm_vtab.c \. 10680 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c$(TOP)\ext\lsm1\
10690 6c 73 6d 5f 77 69 6e 33 32 2e 63 0a 0a 66 74 73  lsm_win32.c..fts
106a0 35 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29  5parse.c:.$(TOP) 106b0 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 \ext\fts5\fts5pa 106c0 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a rse.y lemon.exe. 106d0 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 .copy$(TOP)\ext
106e0 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e  \fts5\fts5parse.
106f0 79 20 2e 0a 09 64 65 6c 20 2f 51 20 66 74 73 35  y ...del /Q fts5
10700 70 61 72 73 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e  parse.h 2>NUL...
10710 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51  \lemon.exe $(REQ 10720 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) 10730 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c$(OPT_FEATURE_FL
10740 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU 10750 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 RE_FLAGS)$(OPTS
10760 29 20 66 74 73 35 70 61 72 73 65 2e 79 0a 0a 66  ) fts5parse.y..f
10770 74 73 35 70 61 72 73 65 2e 68 3a 09 66 74 73 35  ts5parse.h:.fts5
10780 70 61 72 73 65 2e 63 0a 0a 66 74 73 35 2e 63 3a  parse.c..fts5.c:
10790 09 24 28 46 54 53 35 5f 53 52 43 29 0a 09 24 28  .$(FTS5_SRC)..$(
107a0 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP 107b0 29 5c 65 78 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c )\ext\fts5\tool\ 107c0 6d 6b 66 74 73 35 63 2e 74 63 6c 0a 09 63 6f 70 mkfts5c.tcl..cop 107d0 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 y$(TOP)\ext\fts
107e0 35 5c 66 74 73 35 2e 68 20 2e 0a 0a 6c 73 6d 31  5\fts5.h ...lsm1
107f0 2e 63 3a 09 24 28 4c 53 4d 31 5f 53 52 43 29 0a  .c:.$(LSM1_SRC). 10800 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 .$(TCLSH_CMD) $( 10810 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 74 6f TOP)\ext\lsm1\to 10820 6f 6c 5c 6d 6b 6c 73 6d 31 63 2e 74 63 6c 0a 09 ol\mklsm1c.tcl.. 10830 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c copy$(TOP)\ext\
10840 6c 73 6d 31 5c 6c 73 6d 2e 68 20 2e 0a 0a 66 74  lsm1\lsm.h ...ft
10850 73 35 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28  s5.lo:.fts5.c $( 10860 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
10870 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
10880 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
10890 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS 108a0 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 66 74 QLITE_CORE -c ft 108b0 73 35 2e 63 0a 0a 66 74 73 35 5f 65 78 74 2e 6c s5.c..fts5_ext.l 108c0 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52 29 o:.fts5.c$(HDR)
108d0 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
108e0 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41  COMPILE) $(NO_WA 108f0 52 4e 29 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 RN) -c fts5.c..f 10900 74 73 35 2e 64 6c 6c 3a 09 66 74 73 35 5f 65 78 ts5.dll:.fts5_ex 10910 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 t.lo..$(LD) $(LD 10920 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
10930 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH 10940 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 S) /DLL /OUT:$@
10950 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c  fts5_ext.lo..sql
10960 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f  ite3rbu.lo:.$(TO 10970 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 P)\ext\rbu\sqlit 10980 65 33 72 62 75 2e 63 20 24 28 48 44 52 29 20 24 e3rbu.c$(HDR) $10990 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f (EXTHDR)..$(LTCO
109a0 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f  MPILE) -DSQLITE_
109b0 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e 109c0 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 xt\rbu\sqlite3rb 109d0 75 2e 63 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 u.c..# Rules to 109e0 62 75 69 6c 64 20 74 68 65 20 27 74 65 73 74 66 build the 'testf 109f0 69 78 74 75 72 65 27 20 61 70 70 6c 69 63 61 74 ixture' applicat 10a00 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75 73 69 6e ion..#.# If usin 10a10 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 g the amalgamati 10a20 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74 65 33 2e on, use sqlite3. 10a30 63 20 64 69 72 65 63 74 6c 79 20 74 6f 20 62 75 c directly to bu 10a40 69 6c 64 20 74 68 65 20 74 65 73 74 0a 23 20 66 ild the test.# f 10a50 69 78 74 75 72 65 2e 20 20 4f 74 68 65 72 77 69 ixture. Otherwi 10a60 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 se link against 10a70 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 2e 20 libsqlite3.lib. 10a80 20 28 54 68 69 73 20 64 69 73 74 69 6e 63 74 69 (This distincti 10a90 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73 73 61 72 on is.# necessar 10aa0 79 20 62 65 63 61 75 73 65 20 74 68 65 20 74 65 y because the te 10ab0 73 74 20 66 69 78 74 75 72 65 20 72 65 71 75 69 st fixture requi 10ac0 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62 res non-API symb 10ad0 6f 6c 73 20 77 68 69 63 68 20 61 72 65 0a 23 20 ols which are.# 10ae0 68 69 64 64 65 6e 20 77 68 65 6e 20 74 68 65 20 hidden when the 10af0 6c 69 62 72 61 72 79 20 69 73 20 62 75 69 6c 74 library is built 10b00 20 76 69 61 20 74 68 65 20 61 6d 61 6c 67 61 6d via the amalgam 10b10 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49 ation)..#.TESTFI 10b20 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 2d 44 XTURE_FLAGS = -D 10b30 54 43 4c 53 48 5f 49 4e 49 54 5f 50 52 4f 43 3d TCLSH_INIT_PROC= 10b40 73 71 6c 69 74 65 33 54 65 73 74 49 6e 69 74 20 sqlite3TestInit 10b50 2d 44 53 51 4c 49 54 45 5f 54 45 53 54 3d 31 20 -DSQLITE_TEST=1 10b60 2d 44 53 51 4c 49 54 45 5f 43 52 41 53 48 5f 54 -DSQLITE_CRASH_T 10b70 45 53 54 3d 31 0a 54 45 53 54 46 49 58 54 55 52 EST=1.TESTFIXTUR 10b80 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 E_FLAGS =$(TEST
10b90 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FIXTURE_FLAGS) -
10ba0 44 53 51 4c 49 54 45 5f 53 45 52 56 45 52 3d 31  DSQLITE_SERVER=1
10bb0 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 56 41 54   -DSQLITE_PRIVAT
10bc0 45 3d 22 22 0a 54 45 53 54 46 49 58 54 55 52 45  E="".TESTFIXTURE
10bd0 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF 10be0 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 IXTURE_FLAGS) -D 10bf0 53 51 4c 49 54 45 5f 43 4f 52 45 20 24 28 4e 4f SQLITE_CORE$(NO
10c00 5f 57 41 52 4e 29 0a 54 45 53 54 46 49 58 54 55  _WARN).TESTFIXTU
10c10 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES 10c20 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 TFIXTURE_FLAGS) 10c30 2d 44 53 51 4c 49 54 45 5f 53 45 52 49 45 53 5f -DSQLITE_SERIES_ 10c40 43 4f 4e 53 54 52 41 49 4e 54 5f 56 45 52 49 46 CONSTRAINT_VERIF 10c50 59 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f Y=1.TESTFIXTURE_ 10c60 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 FLAGS =$(TESTFI
10c70 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
10c80 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 50 41  QLITE_DEFAULT_PA
10c90 47 45 5f 53 49 5a 45 3d 31 30 32 34 0a 54 45 53  GE_SIZE=1024.TES
10ca0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
10cb0 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F 10cc0 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 LAGS) -DSQLITE_E 10cd0 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 3d 31 NABLE_STMTVTAB=1 10ce0 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 .TESTFIXTURE_FLA 10cf0 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 GS =$(TESTFIXTU
10d00 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
10d10 54 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45  TE_ENABLE_DBPAGE
10d20 5f 56 54 41 42 3d 31 0a 54 45 53 54 46 49 58 54  _VTAB=1.TESTFIXT
10d30 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE 10d40 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 STFIXTURE_FLAGS) 10d50 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 10d60 5f 4a 53 4f 4e 31 3d 31 0a 54 45 53 54 46 49 58 _JSON1=1.TESTFIX 10d70 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 TURE_FLAGS =$(T
10d80 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
10d90 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
10da0 45 5f 44 45 53 45 52 49 41 4c 49 5a 45 3d 31 0a  E_DESERIALIZE=1.
10db0 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10dc0 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR 10dd0 45 5f 46 4c 41 47 53 29 20 24 28 54 45 53 54 5f E_FLAGS)$(TEST_
10de0 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45 53  CCONV_OPTS)..TES
10df0 54 46 49 58 54 55 52 45 5f 53 52 43 30 20 3d 20  TFIXTURE_SRC0 =
10e00 24 28 54 45 53 54 45 58 54 29 20 24 28 54 45 53  $(TESTEXT)$(TES
10e10 54 53 52 43 32 29 0a 54 45 53 54 46 49 58 54 55  TSRC2).TESTFIXTU
10e20 52 45 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54  RE_SRC1 = $(TEST 10e30 45 58 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 EXT)$(SQLITE3C)
10e40 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47  .!IF $(USE_AMALG 10e50 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 AMATION)==0.TEST 10e60 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 FIXTURE_SRC =$(
10e70 54 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c  TESTSRC) $(TOP)\ 10e80 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 src\tclsqlite.c 10e90 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52$(TESTFIXTURE_SR
10ea0 43 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49  C0).!ELSE.TESTFI
10eb0 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45  XTURE_SRC = $(TE 10ec0 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 STSRC)$(TOP)\sr
10ed0 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $( 10ee0 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 TESTFIXTURE_SRC1 10ef0 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 ).!ENDIF..!IF$(
10f00 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20  USE_STDCALL)!=0
10f10 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)! 10f20 3d 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 =0.sqlite_tclDec 10f30 6c 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e ls.h:..echo #ifn 10f40 64 65 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 def SQLITE_TCLAP 10f50 49 20 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 I >$(SQLITETCLD
10f60 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 20 20  ECLSH)..echo #
10f70 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43  define SQLITE_TC
10f80 4c 41 50 49 20 3e 3e 20 24 28 53 51 4c 49 54 45  LAPI >> $(SQLITE 10f90 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f TCLDECLSH)..echo 10fa0 20 23 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 4c #endif >>$(SQL
10fb0 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 74  ITETCLDECLSH)..t
10fc0 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52  ype "$(TCLINCDIR 10fd0 29 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c 0a )\tclDecls.h" \. 10fe0 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
10ff0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep 11000 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 lace.tcl regsub 11010 22 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f 4e "^(EXTERN(?: CON 11020 53 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 ST\d+?)?\s+?[^\( 11030 5d 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 5c ]*?\s+?)Tcl_" "\ 11040 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 1 SQLITE_TCLAPI 11050 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 Tcl_" \...|$(TC
11060 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ 11070 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c tool\replace.tcl 11080 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 regsub "^(EXTER 11090 4e 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 N\s+?(?:void|VOI 110a0 44 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f 62 D)\s+?)TclFreeOb 110b0 6a 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 j" "\1 SQLITE_TC 110c0 4c 41 50 49 20 54 63 6c 46 72 65 65 4f 62 6a 22 LAPI TclFreeObj" 110d0 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 \...|$(TCLSH_C
110e0 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ 110f0 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 replace.tcl regs 11100 75 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 ub "\(\*tcl_" "( 11110 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 SQLITE_TCLAPI *t 11120 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c cl_" \...|$(TCL
11130 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t 11140 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 ool\replace.tcl 11150 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 46 regsub "\(\*tclF 11160 72 65 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 45 reeObj" "(SQLITE 11170 5f 54 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 65 _TCLAPI *tclFree 11180 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c Obj" \...|$(TCL
11190 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t 111a0 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 ool\replace.tcl 111b0 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 regsub "\(\*" "( 111c0 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 22 SQLITE_TCLAPI *" 111d0 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 >>$(SQLITETCLD
111e0 45 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f 74  ECLSH)..sqlite_t
111f0 63 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24 28 54  cl.h:..type "$(T 11200 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 CLINCDIR)\tcl.h" 11210 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 |$(TCLSH_CMD)
11220 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl 11230 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 74 63 ace.tcl exact tc 11240 6c 44 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f lDecls.h sqlite_ 11250 74 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c tclDecls.h \...| 11260 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28$(TCLSH_CMD) $( 11270 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 TOP)\tool\replac 11280 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 74 79 e.tcl regsub "ty 11290 70 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c pedef (.*?)\(Tcl 112a0 5f 22 20 22 74 79 70 65 64 65 66 20 5c 31 20 28 _" "typedef \1 ( 112b0 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 SQLITE_TCLAPI Tc 112c0 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 l_" \...|$(TCLS
112d0 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to 112e0 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 ol\replace.tcl e 112f0 78 61 63 74 20 22 76 6f 69 64 20 28 2a 66 72 65 xact "void (*fre 11300 65 50 72 6f 63 29 22 20 22 76 6f 69 64 20 28 53 eProc)" "void (S 11310 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 QLITE_TCLAPI *fr 11320 65 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 eeProc)" \...|$
11330 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO 11340 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e P)\tool\replace. 11350 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 tcl exact "Tcl_H 11360 61 73 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 ashEntry *(*find 11370 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 Proc)" "Tcl_Hash 11380 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 Entry *(SQLITE_T 11390 43 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 CLAPI *findProc) 113a0 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f " \...|$(TCLSH_
113b0 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool 113c0 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 \replace.tcl exa 113d0 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 ct "Tcl_HashEntr 113e0 79 20 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 29 y *(*createProc) 113f0 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 " "Tcl_HashEntry 11400 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 *(SQLITE_TCLAPI 11410 20 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 3e *createProc)" > 11420 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a >$(SQLITETCLH).
11430 21 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74  !ENDIF..testfixt
11440 75 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46  ure.exe:.$(TESTF 11450 49 58 54 55 52 45 5f 53 52 43 29 20 24 28 54 45 IXTURE_SRC)$(TE
11460 53 54 46 49 58 54 55 52 45 5f 44 45 50 29 20 24  STFIXTURE_DEP) $11470 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 (SQLITE3H)$(LIB
11480 52 45 53 4f 42 4a 53 29 20 24 28 48 44 52 29 20  RESOBJS) $(HDR) 11490 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50$(SQLITE_TCL_DEP
114a0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53  )..$(LTLINK) -DS 114b0 51 4c 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 QLITE_NO_SYNC=1 114c0 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c$(TESTFIXTURE_FL
114d0 41 47 53 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44  AGS) \...-DBUILD
114e0 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49  _sqlite -I$(TCLI 114f0 4e 43 44 49 52 29 20 5c 0a 09 09 24 28 54 45 53 NCDIR) \...$(TES
11500 54 46 49 58 54 55 52 45 5f 53 52 43 29 20 5c 0a  TFIXTURE_SRC) \.
11510 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ../link $(LDFLAG 11520 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
11530 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20   $(TCLLIBPATHS) 11540 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28$(LTLIBPATHS) $( 11550 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 LIBRESOBJS)$(TC
11560 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29  LLIBS) $(LTLIBS) 11570 20 24 28 54 4c 49 42 53 29 0a 0a 65 78 74 65 6e$(TLIBS)..exten
11580 73 69 6f 6e 74 65 73 74 3a 09 74 65 73 74 66 69  siontest:.testfi
11590 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 6c 6f  xture.exe testlo
115a0 61 64 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74 20  adext.dll..@set
115b0 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT 115c0 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 H);$(PATH)...\te
115d0 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $( 115e0 54 4f 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65 78 TOP)\test\loadex 115f0 74 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 t.test$(TESTOPT
11600 53 29 0a 0a 63 6f 72 65 74 65 73 74 70 72 6f 67  S)..coretestprog
11610 73 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a  s:.$(TESTPROGS). 11620 0a 74 65 73 74 70 72 6f 67 73 3a 09 63 6f 72 65 .testprogs:.core 11630 74 65 73 74 70 72 6f 67 73 20 73 72 63 63 6b 31 testprogs srcck1 11640 2e 65 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65 .exe fuzzcheck.e 11650 78 65 20 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 xe sessionfuzz.e 11660 78 65 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24 28 xe..fulltest:.$(
11670 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74  TESTPROGS) fuzzt
11680 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24  est..@set PATH=$11690 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 (LIBTCLPATH);$(P
116a0 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
116b0 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t 116c0 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28 54 est\all.test$(T
116d0 45 53 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74 65  ESTOPTS)..soakte
116e0 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS) 116f0 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 ..@set PATH=$(LI
11700 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH 11710 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 )...\testfixture 11720 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 .exe$(TOP)\test
11730 5c 61 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b 3d  \all.test -soak=
11740 31 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66  1 $(TESTOPTS)..f 11750 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28 54 ulltestonly:.$(T
11760 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65  ESTPROGS) fuzzte
11770 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  st..@set PATH=$( 11780 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 LIBTCLPATH);$(PA
11790 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
117a0 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te 117b0 73 74 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 st\full.test..qu 117c0 65 72 79 70 6c 61 6e 74 65 73 74 3a 09 74 65 73 eryplantest:.tes 117d0 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 68 65 tfixture.exe she 117e0 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 ll..@set PATH=$(
117f0 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA 11800 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 TH)...\testfixtu 11810 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 re.exe$(TOP)\te
11820 73 74 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73 2e  st\permutations.
11830 74 65 73 74 20 71 75 65 72 79 70 6c 61 6e 6e 65  test queryplanne
11840 72 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66  r $(TESTOPTS)..f 11850 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 uzztest:.fuzzche 11860 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 ck.exe...\fuzzch 11870 65 63 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44 41 eck.exe$(FUZZDA
11880 54 41 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65 73  TA)..fastfuzztes
11890 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  t:.fuzzcheck.exe
118a0 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78  ...\fuzzcheck.ex
118b0 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31 30  e --limit-mem 10
118c0 30 4d 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a  0M $(FUZZDATA).. 118d0 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69 6e # Minimal testin 118e0 67 20 74 68 61 74 20 72 75 6e 73 20 69 6e 20 6c g that runs in l 118f0 65 73 73 20 74 68 61 6e 20 33 20 6d 69 6e 75 74 ess than 3 minut 11900 65 73 20 28 6f 6e 20 61 20 66 61 73 74 20 6d 61 es (on a fast ma 11910 63 68 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74 65 chine).#.quickte 11920 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e st:.testfixture. 11930 65 78 65 20 73 6f 75 72 63 65 74 65 73 74 0a 09 exe sourcetest.. 11940 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 @set PATH=$(LIBT
11950 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH). 11960 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 ..\testfixture.e 11970 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 65 xe$(TOP)\test\e
11980 78 74 72 61 71 75 69 63 6b 2e 74 65 73 74 20 24  xtraquick.test $11990 28 54 45 53 54 4f 50 54 53 29 0a 0a 23 20 54 68 (TESTOPTS)..# Th 119a0 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f 6e is is the common 119b0 20 63 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e 79 case. Run many 119c0 20 74 65 73 74 73 20 74 68 61 74 20 64 6f 20 6e tests that do n 119d0 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67 ot take too long 119e0 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 ,.# including fu 119f0 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69 74 65 33 zzcheck, sqlite3 11a00 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20 73 _analyzer, and s 11a10 71 6c 64 69 66 66 20 74 65 73 74 73 2e 0a 23 0a qldiff tests..#. 11a20 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 test:.$(TESTPROG
11a30 53 29 20 73 6f 75 72 63 65 74 65 73 74 20 66 61  S) sourcetest fa
11a40 73 74 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74  stfuzztest..@set
11a50 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA 11a60 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 TH);$(PATH)...\t
11a70 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $11a80 28 54 4f 50 29 5c 74 65 73 74 5c 76 65 72 79 71 (TOP)\test\veryq 11a90 75 69 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 uick.test$(TEST
11aa0 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73 74  OPTS)..smoketest
11ab0 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09  :.$(TESTPROGS).. 11ac0 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 @set PATH=$(LIBT
11ad0 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH). 11ae0 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 ..\testfixture.e 11af0 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6d xe$(TOP)\test\m
11b00 61 69 6e 2e 74 65 73 74 20 24 28 54 45 53 54 4f  ain.test $(TESTO 11b10 50 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61 6e PTS)..sqlite3_an 11b20 61 6c 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c 49 alyzer.c:.$(SQLI
11b30 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H 11b40 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c )$(TOP)\src\tcl
11b50 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c  sqlite.c $(TOP)\ 11b60 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 tool\spaceanal.t 11b70 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d cl$(TOP)\tool\m
11b80 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP 11b90 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 )\tool\sqlite3_a 11ba0 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 24 28 53 nalyzer.c.in$(S
11bb0 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09  QLITE_TCL_DEP)..
11bc0 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD)$(T
11bd0 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65  OP)\tool\mkccode
11be0 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  .tcl $(TOP)\tool 11bf0 5c 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 \sqlite3_analyze 11c00 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71 6c r.c.in >$@..sql
11c10 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78  ite3_analyzer.ex
11c20 65 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  e:.sqlite3_analy
11c30 7a 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42  zer.c $(LIBRESOB 11c40 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 JS)..$(LTLINK) $11c50 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c (NO_WARN) -DBUIL 11c60 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c D_sqlite -I$(TCL
11c70 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f  INCDIR) sqlite3_
11c80 61 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09 2f  analyzer.c \.../
11c90 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 11ca0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28$(LTLINKOPTS) $( 11cb0 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c TCLLIBPATHS)$(L
11cc0 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB 11cd0 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 RESOBJS)$(TCLLI
11ce0 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  BS) $(LTLIBS)$(
11cf0 54 4c 49 42 53 29 0a 0a 73 71 6c 74 63 6c 73 68  TLIBS)..sqltclsh
11d00 2e 63 3a 20 73 71 6c 69 74 65 33 2e 63 20 24 28  .c: sqlite3.c $( 11d10 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 TOP)\src\tclsqli 11d20 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c te.c$(TOP)\tool
11d30 5c 73 71 6c 74 63 6c 73 68 2e 74 63 6c 20 24 28  \sqltclsh.tcl $( 11d40 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 70 TOP)\ext\misc\ap 11d50 70 65 6e 64 76 66 73 2e 63 20 24 28 54 4f 50 29 pendvfs.c$(TOP)
11d60 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63  \tool\mkccode.tc
11d70 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71  l $(TOP)\tool\sq 11d80 6c 74 63 6c 73 68 2e 63 2e 69 6e 0a 09 24 28 54 ltclsh.c.in..$(T
11d90 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) 11da0 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 \tool\mkccode.tc 11db0 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 l$(TOP)\tool\sq
11dc0 6c 74 63 6c 73 68 2e 63 2e 69 6e 20 3e 73 71 6c  ltclsh.c.in >sql
11dd0 74 63 6c 73 68 2e 63 0a 0a 73 71 6c 74 63 6c 73  tclsh.c..sqltcls
11de0 68 2e 65 78 65 3a 20 73 71 6c 74 63 6c 73 68 2e  h.exe: sqltclsh.
11df0 63 20 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f  c  $(SHELL_CORE_ 11e00 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42 4a DEP)$(LIBRESOBJ
11e10 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  S)..$(LTLINK)$(
11e20 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44  NO_WARN) -DBUILD
11e30 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49  _sqlite -I$(TCLI 11e40 4e 43 44 49 52 29 20 73 71 6c 74 63 6c 73 68 2e NCDIR) sqltclsh. 11e50 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 c \.../link$(LD
11e60 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 11e70 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 PTS)$(TCLLIBPAT
11e80 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  HS) $(LTLIBPATHS 11e90 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 )$(LIBRESOBJS)
11ea0 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c  $(TCLLIBS)$(LTL
11eb0 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 73  IBS) $(TLIBS)..s 11ec0 71 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65 78 qlite3_expert.ex 11ed0 65 3a 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 e:$(SQLITE3C) $11ee0 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 (TOP)\ext\expert 11ef0 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 \sqlite3expert.h 11f00 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65$(TOP)\ext\expe
11f10 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74  rt\sqlite3expert
11f20 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  .c $(TOP)\ext\ex 11f30 70 65 72 74 5c 65 78 70 65 72 74 2e 63 0a 09 24 pert\expert.c..$
11f40 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 11f50 52 4e 29 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 RN).$(TOP)\ext\e
11f60 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70  xpert\sqlite3exp
11f70 65 72 74 2e 63 20 24 28 54 4f 50 29 5c 65 78 74  ert.c $(TOP)\ext 11f80 5c 65 78 70 65 72 74 5c 65 78 70 65 72 74 2e 63 \expert\expert.c 11f90 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 54$(SQLITE3C) $(T 11fa0 4c 49 42 53 29 0a 0a 43 48 45 43 4b 45 52 5f 44 LIBS)..CHECKER_D 11fb0 45 50 53 20 3d 5c 0a 20 20 24 28 54 4f 50 29 2f EPS =\.$(TOP)/
11fc0 74 6f 6f 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool/mkccode.tcl
11fd0 20 5c 0a 20 20 73 71 6c 69 74 65 33 2e 63 20 5c   \.  sqlite3.c \
11fe0 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 63  .  $(TOP)/src/tc 11ff0 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28 lsqlite.c \.$(
12000 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f  TOP)/ext/repair/
12010 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
12020 74 63 6c 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65  tcl \.  $(TOP)/e 12030 78 74 2f 72 65 70 61 69 72 2f 63 68 65 63 6b 69 xt/repair/checki 12040 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 ndex.c \.$(TOP
12050 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 63 68 65  )/ext/repair/che
12060 63 6b 66 72 65 65 6c 69 73 74 2e 63 20 5c 0a 20  ckfreelist.c \.
12070 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63   $(TOP)/ext/misc 12080 2f 62 74 72 65 65 69 6e 66 6f 2e 63 20 5c 0a 20 /btreeinfo.c \. 12090 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61$(TOP)/ext/repa
120a0 69 72 2f 73 71 6c 69 74 65 33 5f 63 68 65 63 6b  ir/sqlite3_check
120b0 65 72 2e 63 2e 69 6e 0a 0a 73 71 6c 69 74 65 33  er.c.in..sqlite3
120c0 5f 63 68 65 63 6b 65 72 2e 63 3a 09 24 28 43 48  _checker.c:.$(CH 120d0 45 43 4b 45 52 5f 44 45 50 53 29 0a 09 24 28 54 ECKER_DEPS)..$(T
120e0 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) 120f0 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 \tool\mkccode.tc 12100 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 65 70 l$(TOP)\ext\rep
12110 61 69 72 5c 73 71 6c 69 74 65 33 5f 63 68 65 63  air\sqlite3_chec
12120 6b 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73  ker.c.in > $@..s 12130 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 65 qlite3_checker.e 12140 78 65 3a 09 73 71 6c 69 74 65 33 5f 63 68 65 63 xe:.sqlite3_chec 12150 6b 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 ker.c$(LIBRESOB
12160 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  JS)..$(LTLINK)$
12170 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c  (NO_WARN) -DBUIL
12180 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c  D_sqlite -I$(TCL 12190 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f INCDIR) sqlite3_ 121a0 63 68 65 63 6b 65 72 2e 63 20 5c 0a 09 09 2f 6c checker.c \.../l 121b0 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $121c0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 (LTLINKOPTS)$(T
121d0 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54  CLLIBPATHS) $(LT 121e0 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 LIBPATHS)$(LIBR
121f0 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42  ESOBJS) $(TCLLIB 12200 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 S)$(LTLIBS) $(T 12210 4c 49 42 53 29 0a 0a 64 62 64 75 6d 70 2e 65 78 LIBS)..dbdump.ex 12220 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 e:.$(TOP)\ext\mi
12230 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51  sc\dbdump.c $(SQ 12240 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 LITE3C)$(SQLITE
12250 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  3H) $(LIBRESOBJS 12260 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N 12270 4f 5f 57 41 52 4e 29 20 2d 44 44 42 44 55 4d 50 O_WARN) -DDBDUMP 12280 5f 53 54 41 4e 44 41 4c 4f 4e 45 20 24 28 54 4f _STANDALONE$(TO
12290 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75  P)\ext\misc\dbdu
122a0 6d 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  mp.c $(SQLITE3C) 122b0 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 \.../link$(LDF
122c0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP 122d0 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 TS)$(LTLIBPATHS
122e0 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) 122f0 24 28 4c 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c$(LTLIBS)..testl
12300 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50  oadext.lo:.$(TOP 12310 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 )\src\test_loade 12320 78 74 2e 63 20 24 28 53 51 4c 49 54 45 33 48 29 xt.c$(SQLITE3H)
12330 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
12340 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28 54  (NO_WARN) -c $(T 12350 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 OP)\src\test_loa 12360 64 65 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 dext.c..testload 12370 65 78 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 ext.dll:.testloa 12380 64 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 dext.lo..$(LD) $12390 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
123a0 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  NKOPTS) $(LTLIBP 123b0 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a ATHS) /DLL /OUT: 123c0 24 40 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c$@ testloadext.l
123d0 6f 0a 0a 64 62 74 6f 74 78 74 2e 65 78 65 3a 09  o..dbtotxt.exe:.
123e0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 74 6f  $(TOP)\tool\dbto 123f0 74 78 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 txt.c..$(LTLINK)
12400 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f   $(NO_WARN).$(TO
12410 50 29 5c 74 6f 6f 6c 5c 64 62 74 6f 74 78 74 2e  P)\tool\dbtotxt.
12420 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  c /link $(LDFLAG 12430 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
12440 0a 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09 24 28  ..showdb.exe:.$( 12450 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 TOP)\tool\showdb 12460 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $12470 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
12480 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) 12490 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 -DSQLITE_THREAD 124a0 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f SAFE=0 -DSQLITE_ 124b0 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 OMIT_LOAD_EXTENS 124c0 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 ION \...$(TOP)\t
124d0 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53  ool\showdb.c $(S 124e0 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 QLITE3C) /link$
124f0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI 12500 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74 61 NKOPTS)..showsta 12510 74 34 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 t4.exe:.$(TOP)\t
12520 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20  ool\showstat4.c
12530 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
12540 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN 12550 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 K)$(NO_WARN) -D
12560 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
12570 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
12580 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
12590 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool 125a0 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 \showstat4.c$(S
125b0 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $125c0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
125d0 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75  NKOPTS)..showjou
125e0 72 6e 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  rnal.exe:.$(TOP) 125f0 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 \tool\showjourna 12600 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 l.c$(SQLITE3C)
12610 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
12620 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN 12630 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 ) -DSQLITE_THREA 12640 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 DSAFE=0 -DSQLITE 12650 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e _OMIT_LOAD_EXTEN 12660 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c SION \...$(TOP)\
12670 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c  tool\showjournal
12680 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) / 12690 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
126a0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s 126b0 68 6f 77 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f howwal.exe:.$(TO
126c0 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e  P)\tool\showwal.
126d0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C)$(
126e0 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL 126f0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 INK)$(NO_WARN)
12700 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
12710 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
12720 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
12730 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  ON \...$(TOP)\to 12740 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 ol\showwal.c$(S
12750 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $12760 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
12770 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 68 6d  NKOPTS)..showshm
12780 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too 12790 6c 5c 73 68 6f 77 73 68 6d 2e 63 0a 09 24 28 4c l\showshm.c..$(L
127a0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN 127b0 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 ).$(TOP)\tool\sh
127c0 6f 77 73 68 6d 2e 63 20 2f 6c 69 6e 6b 20 24 28  owshm.c /link $( 127d0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
127e0 4b 4f 50 54 53 29 0a 0a 69 6e 64 65 78 5f 75 73  KOPTS)..index_us
127f0 61 67 65 2e 65 78 65 3a 20 24 28 54 4f 50 29 5c  age.exe: $(TOP)\ 12800 74 6f 6f 6c 5c 69 6e 64 65 78 5f 75 73 61 67 65 tool\index_usage 12810 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $12820 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
12830 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) 12840 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 -DSQLITE_THREAD 12850 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f SAFE=0 -DSQLITE_ 12860 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 OMIT_LOAD_EXTENS 12870 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 ION \...$(TOP)\t
12880 6f 6f 6c 5c 69 6e 64 65 78 5f 75 73 61 67 65 2e  ool\index_usage.
12890 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l 128a0 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $128b0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 (LTLINKOPTS)..ch 128c0 61 6e 67 65 73 65 74 2e 65 78 65 3a 09 24 28 54 angeset.exe:.$(T
128d0 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
128e0 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53 51  changeset.c $(SQ 128f0 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 LITE3C)$(SQLITE
12900 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK)$
12910 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
12920 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0
12930 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
12940 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09  AD_EXTENSION \..
12950 09 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  .-DSQLITE_ENABLE
12960 5f 53 45 53 53 49 4f 4e 3d 31 20 2d 44 53 51 4c  _SESSION=1 -DSQL
12970 49 54 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50  ITE_ENABLE_PREUP
12980 44 41 54 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 09  DATE_HOOK=1 \...
12990 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69  $(TOP)\ext\sessi 129a0 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63 20 24 on\changeset.c$
129b0 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
129c0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
129d0 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67  LINKOPTS)..chang
129e0 65 73 65 74 66 75 7a 7a 2e 65 78 65 3a 09 24 28  esetfuzz.exe:.$( 129f0 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e TOP)\ext\session 12a00 5c 63 68 61 6e 67 65 73 65 74 66 75 7a 7a 2e 63 \changesetfuzz.c 12a10 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S 12a20 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
12a30 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) - 12a40 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 DSQLITE_THREADSA 12a50 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d FE=0 -DSQLITE_OM 12a60 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f IT_LOAD_EXTENSIO 12a70 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45 5f 45 N \...-DSQLITE_E 12a80 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 20 NABLE_SESSION=1 12a90 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 12aa0 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 PREUPDATE_HOOK=1 12ab0 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c \...$(TOP)\ext\
12ac0 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
12ad0 74 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  tfuzz.c $(SQLITE 12ae0 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 3C) /link$(LDFL
12af0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT 12b00 53 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65 S)..fts3view.exe 12b10 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
12b20 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e  3\tool\fts3view.
12b30 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C)$(
12b40 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL 12b50 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 INK)$(NO_WARN)
12b60 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
12b70 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
12b80 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
12b90 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  ON \...$(TOP)\ex 12ba0 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 t\fts3\tool\fts3 12bb0 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 view.c$(SQLITE3
12bc0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA 12bd0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
12be0 29 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74  )..rollback-test
12bf0 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too 12c00 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e l\rollback-test. 12c10 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 c$(SQLITE3C) $( 12c20 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c SQLITE3H)..$(LTL
12c30 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 12c40 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 -DSQLITE_THREADS 12c50 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f AFE=0 -DSQLITE_O 12c60 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 MIT_LOAD_EXTENSI 12c70 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f ON \...$(TOP)\to
12c80 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74  ol\rollback-test
12c90 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) / 12ca0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
12cb0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 61  $(LTLINKOPTS)..a 12cc0 74 72 63 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c trc.exe:.$(TOP)\
12cd0 74 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51  test\atrc.c $(SQ 12ce0 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 LITE3C)$(SQLITE
12cf0 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK)$
12d00 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
12d10 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20  TE_THREADSAFE=0
12d20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
12d30 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09  AD_EXTENSION \..
12d40 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72  .$(TOP)\test\atr 12d50 63 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 c.c$(SQLITE3C)
12d60 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 12d70 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
12d80 4c 6f 67 45 73 74 2e 65 78 65 3a 09 24 28 54 4f  LogEst.exe:.$(TO 12d90 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e 63 P)\tool\logest.c 12da0 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( 12db0 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
12dc0 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c  N) $(TOP)\tool\L 12dd0 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28 ogEst.c /link$(
12de0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 12df0 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e KOPTS)..wordcoun 12e00 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 t.exe:.$(TOP)\te
12e10 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24  st\wordcount.c $12e20 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
12e30 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK 12e40 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
12e50 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
12e60 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
12e70 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION
12e80 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c  \...$(TOP)\test\ 12e90 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 wordcount.c$(SQ
12ea0 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 12eb0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
12ec0 4b 4f 50 54 53 29 0a 0a 73 70 65 65 64 74 65 73  KOPTS)..speedtes
12ed0 74 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  t1.exe:.$(TOP)\t 12ee0 65 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 est\speedtest1.c 12ef0 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S 12f00 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
12f10 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN)$
12f20 28 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  (ST_COMPILE_OPTS
12f30 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  ) -DSQLITE_OMIT_
12f40 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c  LOAD_EXTENSION \
12f50 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73  ...$(TOP)\test\s 12f60 70 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 51 peedtest1.c$(SQ
12f70 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 12f80 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
12f90 4b 4f 50 54 53 29 0a 0a 6b 76 74 65 73 74 2e 65  KOPTS)..kvtest.e
12fa0 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c  xe:.$(TOP)\test\ 12fb0 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 kvtest.c$(SQLIT
12fc0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) 12fd0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO 12fe0 5f 57 41 52 4e 29 20 24 28 4b 56 5f 43 4f 4d 50 _WARN)$(KV_COMP
12ff0 49 4c 45 5f 4f 50 54 53 29 20 5c 0a 09 09 24 28  ILE_OPTS) \...$( 13000 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 TOP)\test\kvtest 13010 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f .c$(SQLITE3C) /
13020 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 13030 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72$(LTLINKOPTS)..r
13040 62 75 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65  bu.exe:.$(TOP)\e 13050 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 54 xt\rbu\rbu.c$(T
13060 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69  OP)\ext\rbu\sqli
13070 74 65 33 72 62 75 2e 63 20 24 28 53 51 4c 49 54  te3rbu.c $(SQLIT 13080 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
13090 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
130a0 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
130b0 45 4e 41 42 4c 45 5f 52 42 55 20 5c 0a 09 09 24  ENABLE_RBU \...$130c0 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62 (TOP)\ext\rbu\rb 130d0 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 u.c$(SQLITE3C)
130e0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 130f0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
13100 4c 53 4d 44 49 52 3d 24 28 54 4f 50 29 5c 65 78  LSMDIR=$(TOP)\ex 13110 74 5c 6c 73 6d 31 0a 21 49 4e 43 4c 55 44 45 20 t\lsm1.!INCLUDE 13120 24 28 4c 53 4d 44 49 52 29 5c 4d 61 6b 65 66 69$(LSMDIR)\Makefi
13130 6c 65 2e 6d 73 63 0a 0a 6d 6f 72 65 63 6c 65 61  le.msc..moreclea
13140 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f 51  n:.clean..del /Q
13150 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
13160 51 4c 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a 23  QLITE3H) 2>NUL.#
13170 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61   <</mark>>..clea
13180 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78 70  n:..del /Q *.exp
13190 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69   *.lo *.ilk *.li
131a0 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e  b *.obj *.ncb *.
131b0 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f 20  pdb *.sdf *.suo
131c0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e  2>NUL..del /Q *.
131d0 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64 20  bsc *.def *.cod
131e0 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67 20  *.da *.bb *.bbg
131f0 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e  *.vc gmon.out 2>
13200 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53 51  NUL..del /Q $(SQ 13210 4c 49 54 45 33 45 58 45 29 20 24 28 53 51 4c 49 LITE3EXE)$(SQLI
13220 54 45 33 44 4c 4c 29 20 52 65 70 6c 61 63 65 2e  TE3DLL) Replace.
13230 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61  exe 2>NUL.# <<ma
13240 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 24 28 53  rk>>..del /Q $(S 13250 51 4c 49 54 45 33 54 43 4c 44 4c 4c 29 20 70 6b QLITE3TCLDLL) pk 13260 67 49 6e 64 65 78 2e 74 63 6c 20 32 3e 4e 55 4c gIndex.tcl 2>NUL 13270 0a 09 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65 73 ..del /Q opcodes 13280 2e 63 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e 4e .c opcodes.h 2>N 13290 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e UL..del /Q lemon 132a0 2e 2a 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73 .* lempar.c pars 132b0 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f e.* 2>NUL..del / 132c0 51 20 6d 6b 73 6f 75 72 63 65 69 64 2e 2a 20 6d Q mksourceid.* m 132d0 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 2a 20 6b kkeywordhash.* k 132e0 65 79 77 6f 72 64 68 61 73 68 2e 68 20 32 3e 4e eywordhash.h 2>N 132f0 55 4c 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61 73 UL..del /Q notas 13300 68 61 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c haredlib.* 2>NUL 13310 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 64 ..-rmdir /Q/S .d 13320 65 70 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 eps 2>NUL..-rmdi 13330 72 20 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e 4e r /Q/S .libs 2>N 13340 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 UL..-rmdir /Q/S 13350 74 73 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 tsrc 2>NUL..del 13360 2f 51 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 /Q .target_sourc 13370 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 e 2>NUL..del /Q 13380 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 20 24 tclsqlite3.exe$
13390 28 53 51 4c 49 54 45 54 43 4c 48 29 20 24 28 53  (SQLITETCLH) \$(S
133a0 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH)
133b0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73  2>NUL..del /Q ls
133c0 6d 2e 64 6c 6c 20 6c 73 6d 74 65 73 74 2e 65 78  m.dll lsmtest.ex
133d0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q
133e0 61 74 72 63 2e 65 78 65 20 63 68 61 6e 67 65 73  atrc.exe changes
133f0 65 74 66 75 7a 7a 2e 65 78 65 20 64 62 74 6f 74  etfuzz.exe dbtot
13400 78 74 2e 65 78 65 20 69 6e 64 65 78 5f 75 73 61  xt.exe index_usa
13410 67 65 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  ge.exe 2>NUL..de
13420 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64 65 78 74  l /Q testloadext
13430 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .dll 2>NUL..del
13440 2f 51 20 74 65 73 74 66 69 78 74 75 72 65 2e 65  /Q testfixture.e
13450 78 65 20 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c  xe test.db 2>NUL
13460 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45 73 74 2e  ..del /Q LogEst.
13470 65 78 65 20 66 74 73 33 76 69 65 77 2e 65 78 65  exe fts3view.exe
13480 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65   rollback-test.e
13490 78 65 20 73 68 6f 77 64 62 2e 65 78 65 20 64 62  xe showdb.exe db
134a0 64 75 6d 70 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  dump.exe 2>NUL..
134b0 64 65 6c 20 2f 51 20 63 68 61 6e 67 65 73 65 74  del /Q changeset
134c0 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del
134d0 2f 51 20 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65  /Q showjournal.e
134e0 78 65 20 73 68 6f 77 73 74 61 74 34 2e 65 78 65  xe showstat4.exe
134f0 20 73 68 6f 77 77 61 6c 2e 65 78 65 20 73 70 65   showwal.exe spe
13500 65 64 74 65 73 74 31 2e 65 78 65 20 32 3e 4e 55  edtest1.exe 2>NU
13510 4c 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74  L..del /Q mptest
13520 65 72 2e 65 78 65 20 77 6f 72 64 63 6f 75 6e 74  er.exe wordcount
13530 2e 65 78 65 20 72 62 75 2e 65 78 65 20 73 72 63  .exe rbu.exe src
13540 63 6b 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  ck1.exe 2>NUL..d
13550 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63 20  el /Q sqlite3.c
13560 73 71 6c 69 74 65 33 2d 2a 2e 63 20 73 71 6c 69  sqlite3-*.c sqli
13570 74 65 33 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  te3.h 2>NUL..del
13580 20 2f 51 20 73 71 6c 69 74 65 33 72 63 2e 68 20   /Q sqlite3rc.h
13590 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68  2>NUL..del /Q sh
135a0 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65 78 74  ell.c sqlite3ext
135b0 2e 68 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f  .h sqlite3sessio
135c0 6e 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  n.h 2>NUL..del /
135d0 51 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  Q sqlite3_analyz
135e0 65 72 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 61  er.exe sqlite3_a
135f0 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a  nalyzer.c 2>NUL.
13600 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a  .del /Q sqlite-*
13610 2d 6f 75 74 70 75 74 2e 76 73 69 78 20 32 3e 4e  -output.vsix 2>N
13620 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65  UL..del /Q fuzze
13630 72 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63  rshell.exe fuzzc
13640 68 65 63 6b 2e 65 78 65 20 73 71 6c 64 69 66 66  heck.exe sqldiff
13650 2e 65 78 65 20 64 62 68 61 73 68 2e 65 78 65 20  .exe dbhash.exe
13660 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
13670 6c 74 63 6c 73 68 2e 2a 20 32 3e 4e 55 4c 0a 09  ltclsh.* 2>NUL..
13680 64 65 6c 20 2f 51 20 64 62 66 75 7a 7a 2e 65 78  del /Q dbfuzz.ex
13690 65 20 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78  e sessionfuzz.ex
136a0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q
136b0 6b 76 74 65 73 74 2e 65 78 65 20 6f 73 73 73 68  kvtest.exe osssh
136c0 65 6c 6c 2e 65 78 65 20 73 63 72 75 62 2e 65 78  ell.exe scrub.ex
136d0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q
136e0 73 68 6f 77 73 68 6d 2e 65 78 65 20 73 71 6c 69  showshm.exe sqli
136f0 74 65 33 5f 63 68 65 63 6b 65 72 2e 2a 20 73 71  te3_checker.* sq
13700 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65 78 65  lite3_expert.exe
13710 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66   2>NUL..del /Q f
13720 74 73 35 2e 2a 20 66 74 73 35 70 61 72 73 65 2e  ts5.* fts5parse.
13730 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  * 2>NUL..del /Q
13740 6c 73 6d 2e 68 20 6c 73 6d 31 2e 63 20 32 3e 4e  lsm.h lsm1.c 2>N
13750 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a     UL.# <</mark>>.