/ Hex Artifact Content

• File Makefile.msc — part of check-in [592b66e8] at 2018-10-29 17:53:23 on branch normalized_sql — Add the sqlite3_normalized_sql() API. (user: mistachkin size: 77206)

0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS =
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U 06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a SE_FULLWARN)!=0. 0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35 NO_WARN = -wd405 0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30 4 -wd4055 -wd410 0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33 0 -wd4127 -wd413 0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38 0 -wd4152 -wd418 0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52 9 -wd4206.NO_WAR 0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d N =$(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
0970: 61 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70  abled.# for comp
0980: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f  atibility with o
0990: 6c 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72  lder build envir
09a0: 6f 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73  onments.  This s
09b0: 65 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70  etting only.# ap
09c0: 70 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43  plies if TCLSH_C
09d0: 4d 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61  MD is not set ma
09e0: 6e 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45  nually..#.!IFNDE
09f0: 46 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  F USE_TCLSH_IN_P
0a00: 41 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e  ATH.USE_TCLSH_IN
0a10: 5f 50 41 54 48 20 3d 20 30 0a 21 45 4e 44 49 46  _PATH = 0.!ENDIF
0a20: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0a30: 2d 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20  -0 to use zlib,
0a40: 70 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69  possibly compili
0a50: 6e 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63  ng it from sourc
0a60: 65 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45  e code..#.!IFNDE
0a70: 46 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a  F USE_ZLIB.USE_Z
0a80: 4c 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  LIB = 0.!ENDIF..
0a90: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0aa0: 20 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66   to build zlib f
0ab0: 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  rom source code.
0ac0: 20 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65    This is enable
0ad0: 64 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61  d by.# default a
0ae0: 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20  nd in that case
0af0: 69 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  it will be assum
0b00: 65 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42  ed that the ZLIB
0b10: 44 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e  DIR macro.# poin
0b20: 74 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65  ts to the top-le
0b30: 76 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  vel source code
0b40: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c  directory for zl
0b50: 69 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55  ib..#.!IFNDEF BU
0b60: 49 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a  ILD_ZLIB.BUILD_Z
0b70: 4c 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a  LIB = 1.!ENDIF..
0b80: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0b90: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0ba0: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0bb0: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0bc0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0bd0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0be0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0bf0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set
0c00: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0c10: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0c20: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0c30: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0c40: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0c50: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL =
0c60: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
0c70: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0c80: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0c90: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0ca0: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0cb0: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0cc0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..#
0cd0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0ce0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0cf0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0d00: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0d10: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0d20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0d30: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0d40: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0d50: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0d60: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0d70: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0d80: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0d90: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0da0: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0db0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0dc0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during
0dd0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0de0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0df0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0e00: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0e10: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0e20: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0e30: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries
0e40: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0e50: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the
0e60: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0e70: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0e80: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0e90: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0ea0: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0eb0: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ec0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0ed0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0ee0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0ef0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0f00: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0f10: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0f20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0f30: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0f40: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0f50: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0f60: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0f70: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0f80: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0f90: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does
0fa0: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0fb0: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0fc0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0fd0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0fe0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text
0ff0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
1000: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
1010: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
1020: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1030: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1040: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1050: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
1060: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
1070: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
1080: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
1090: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
10a0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
10b0: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
10c0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
10d0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
10e0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
10f0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
1100: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1110: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1120: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1130: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
1140: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
1150: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
1160: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
1170: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..#
1180: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
1190: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
11a0: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to
11b0: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or
11c0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
11d0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
11e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
11f0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
1200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
1210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
1220: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
1230: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
1240: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
1250: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
1260: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1280: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
1290: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
12a0: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
12b0: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
12c0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
12d0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
12e0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
12f0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap
1300: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
1310: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1320: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1330: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this
1340: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1350: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1360: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1370: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.#
1380: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1390: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
13a0: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
13b0: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
13c0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
13d0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
13e0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
13f0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
1400: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
1410: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1420: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1430: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1440: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1450: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1460: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for
1470: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1480: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1490: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
14a0: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime
14b0: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
14c0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
14d0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
14e0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
14f0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of
1500: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 ==
1510: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG
1520: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1530: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1540: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1550: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1560: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1570: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1580: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1590: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
15a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
15b0: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
15c0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native
15d0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
15e0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
15f0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1600: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1610: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1620: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1630: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1640: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1650: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1660: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1670: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1680: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1690: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
16a0: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
16b0: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
16c0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
16d0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
16e0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
16f0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero,
1700: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1710: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1720: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1730: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1740: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1750: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1760: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS =
1770: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set
1780: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1790: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support
17a0: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session
17b0: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
17c0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
17d0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
17e0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
17f0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1800: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1810: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1820: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they
1830: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1840: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1850: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $( 1860: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 SPLIT_AMALGAMATI 1870: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20 ON)!=0.SQLITE3C 1880: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a = sqlite3-all.c. 1890: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d !ELSE.SQLITE3C = 18a0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49 sqlite3.c.!ENDI 18b0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 F.!ENDIF..# Set 18c0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65 the include code 18d0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 file to be used 18e0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 by executables 18f0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 and libraries wh 1900: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53 en.# they need S 1910: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46 QLite..#.!IFNDEF 1920: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45 SQLITE3H.SQLITE 1930: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21 3H = sqlite3.h.! 1940: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 ENDIF..# This is 1950: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 the name to use 1960: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 for the SQLite 1970: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 dynamic link lib 1980: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49 rary (DLL)..#.!I 1990: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c FNDEF SQLITE3DLL 19a0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 .!IF$(FOR_WIN10
19b0: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL
19c0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
19d0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
19e0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
19f0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1a00: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1a10: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1a20: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1a30: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1a40: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1a50: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN 1a60: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49 10)!=0.SQLITE3LI 1a70: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c B = winsqlite3.l 1a80: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 ib.!ELSE.SQLITE3 1a90: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69 LIB = sqlite3.li 1aa0: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a b.!ENDIF.!ENDIF. 1ab0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e .# This is the n 1ac0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 ame to use for t 1ad0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 he SQLite shell 1ae0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 executable (EXE) 1af0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 ..#.!IFNDEF SQLI 1b00: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52 TE3EXE.!IF$(FOR
1b10: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1b20: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1b30: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1b40: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1b50: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1b70: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1b80: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1b90: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1ba0: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1bb0: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1bc0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1bd0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF
1be0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!= 1c00: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 0.SQLITE3EXEPDB 1c10: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45 =.!ELSE.SQLITE3E 1c20: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c XEPDB = /pdb:sql 1c30: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49 ite3sh.pdb.!ENDI 1c40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 F.!ENDIF..# <<ma 1c50: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65 rk>>.# These are 1c60: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 the names of th 1c70: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c e customized Tcl 1c80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 header files us 1c90: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61 ed by various pa 1ca0: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61 rts.# of this ma 1cb0: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20 kefile when the 1cc0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20 stdcall calling 1cd0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e convention is in 1ce0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74 use. It is not 1cf0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 .# used for any 1d00: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23 other purpose..# 1d10: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54 .!IFNDEF SQLITET 1d20: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d CLH.SQLITETCLH = 1d30: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45 sqlite_tcl.h.!E 1d40: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51 NDIF..!IFNDEF SQ 1d50: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51 LITETCLDECLSH.SQ 1d60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20 LITETCLDECLSH = 1d70: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e sqlite_tclDecls. 1d80: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 h.!ENDIF..# Thes 1d90: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69 e are the additi 1da0: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 onal targets tha 1db0: 74 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68 t the targets th 1dc0: 61 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74 at integrate wit 1dd0: 68 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72 h the.# Tcl libr 1de0: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e ary should depen 1df0: 64 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c d on when compil 1e00: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e ing, etc..#.!IFN 1e10: 44 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44 DEF SQLITE_TCL_D 1e20: 45 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 EP.!IF$(USE_STD
1e30: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO 1e40: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 R_WIN10)!=0.SQLI 1e50: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53 TE_TCL_DEP =$(S
1e60: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH)
1e70: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E 1e80: 4c 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 LSE.SQLITE_TCL_D 1e90: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 EP =.!ENDIF.!END 1ea0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a IF.# <</mark>>.. 1eb0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 # These are the 1ec0: 22 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74 "standard" SQLit 1ed0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 e compilation op 1ee0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 tions used when 1ef0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 compiling for.# 1f00: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 the Windows plat 1f10: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 form..#.!IFNDEF 1f20: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG 1f30: 53 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f S.!IF$(MINIMAL_
1f40: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
1f50: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1f60: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU 1f70: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI 1f80: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31 TE_ENABLE_FTS3=1 1f90: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 .OPT_FEATURE_FLA 1fa0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 GS =$(OPT_FEATU
1fb0: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1fc0: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d  TE_ENABLE_RTREE=
1fd0: 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  1.OPT_FEATURE_FL
1fe0: 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54  AGS = $(OPT_FEAT 1ff0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c URE_FLAGS) -DSQL 2000: 49 54 45 5f 45 4e 41 42 4c 45 5f 47 45 4f 50 4f ITE_ENABLE_GEOPO 2010: 4c 59 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 LY=1.OPT_FEATURE 2020: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 _FLAGS =$(OPT_F
2030: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
2040: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53  SQLITE_ENABLE_JS
2050: 4f 4e 31 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52  ON1=1.OPT_FEATUR
2060: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_ 2070: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d FEATURE_FLAGS) - 2080: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 DSQLITE_ENABLE_S 2090: 54 4d 54 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 TMTVTAB=1.OPT_FE 20a0: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 ATURE_FLAGS =$(
20b0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
20c0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
20d0: 4c 45 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31  LE_DBPAGE_VTAB=1
20e0: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
20f0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU 2100: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI 2110: 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 TE_ENABLE_DBSTAT 2120: 5f 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54 _VTAB=1.OPT_FEAT 2130: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 URE_FLAGS =$(OP
2140: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2150: 20 2d 44 53 51 4c 49 54 45 5f 49 4e 54 52 4f 53   -DSQLITE_INTROS
2160: 50 45 43 54 49 4f 4e 5f 50 52 41 47 4d 41 53 3d  PECTION_PRAGMAS=
2170: 31 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41  1.!ENDIF.OPT_FEA
2180: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O 2190: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 PT_FEATURE_FLAGS 21a0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ) -DSQLITE_ENABL 21b0: 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 E_COLUMN_METADAT 21c0: 41 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 A=1.!ENDIF..# Sh 21d0: 6f 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e ould the session 21e0: 20 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e extension be en 21f0: 61 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61 abled? If so, a 2200: 64 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f dd compilation o 2210: 70 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62 ptions.# to enab 2220: 6c 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53 le it..#.!IF$(S
2230: 45 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46  ESSION)!=0.OPT_F
2240: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $2250: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (OPT_FEATURE_FLA 2260: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 GS) -DSQLITE_ENA 2270: 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50 BLE_SESSION=1.OP 2280: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 T_FEATURE_FLAGS 2290: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f =$(OPT_FEATURE_
22a0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
22b0: 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
22c0: 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a  _HOOK=1.!ENDIF..
22d0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the
22e0: 22 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74  "extended" SQLit
22f0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
2300: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when
2310: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.#
2320: 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70  the Windows 10 p
2330: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44  latform..#.!IFND
2340: 45 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46  EF EXT_FEATURE_F
2350: 4c 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57  LAGS.!IF $(FOR_W 2360: 49 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41 IN10)!=0.EXT_FEA 2370: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 TURE_FLAGS =$(E
2380: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
2390: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
23a0: 45 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41  E_FTS4=1.EXT_FEA
23b0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E 23c0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 XT_FEATURE_FLAGS 23d0: 29 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45 ) -DSQLITE_SYSTE 23e0: 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 M_MALLOC=1.EXT_F 23f0: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 EATURE_FLAGS =$
2400: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
2410: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  GS) -DSQLITE_OMI
2420: 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45  T_LOCALTIME=1.!E
2430: 4c 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  LSE.EXT_FEATURE_
2440: 46 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  FLAGS =.!ENDIF.!
2450: 45 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23  ENDIF..#########
2460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2490: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24a0: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
24b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24c0: 23 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50  ###### END OF OP
24d0: 54 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23  TIONS ##########
24e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24f0: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2530: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2540: 23 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63  ######..# When c
2550: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65  ompiling for the
2560: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
2570: 66 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f  form, the PLATFO
2580: 52 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65  RM macro must be
2590: 20 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70   set.# to an app
25a0: 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28  ropriate value (
25b0: 65 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61  e.g. x86, x64, a
25c0: 72 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e  rm, arm64, etc).
25d0: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN 25e0: 31 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50 10)!=0.!IFNDEF P 25f0: 4c 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55 LATFORM.!ERROR U 2600: 73 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e sing the FOR_WIN 2610: 31 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 10 option requir 2620: 65 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50 es a value for P 2630: 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a LATFORM..!ENDIF. 2640: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61 !ENDIF..# This a 2650: 73 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43 ssumes that MSVC 2660: 20 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61 is always insta 2670: 6c 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50 lled in 32-bit P 2680: 72 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72 rogram Files dir 2690: 65 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74 ectory.# and set 26a0: 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66 s the variable f 26b0: 6f 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69 or use in locati 26c0: 6e 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20 ng other 32-bit 26d0: 69 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69 installs accordi 26e0: 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 ngly..#.PROGRAMF 26f0: 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49 ILES_X86 =$(VCI
2700: 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e  NSTALLDIR)\..\..
2710: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  .PROGRAMFILES_X8
2720: 36 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  6 = $(PROGRAMFIL 2730: 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 ES_X86:\\=\)..# 2740: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 Check for the pr 2750: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 edefined command 2760: 20 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73 macro CC. This 2770: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f should point to 2780: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20 the compiler.# 2790: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74 binary for the t 27a0: 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 arget platform. 27b0: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 If it is not de 27c0: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 fined, simply de 27d0: 66 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65 fine it to.# the 27e0: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 legacy default 27f0: 76 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a value 'cl.exe'.. 2800: 23 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20 #.!IFNDEF CC.CC 2810: 3d 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a = cl.exe.!ENDIF. 2820: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 .# Check for the 2830: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d predefined comm 2840: 61 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20 and macro CSC. 2850: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e This should poin 2860: 74 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23 t to a working.# 2870: 20 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65 C Sharp compile 2880: 72 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74 r binary. If it 2890: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c is not defined, 28a0: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 simply define i 28b0: 74 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63 t to the.# legac 28c0: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 y default value 28d0: 27 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 'csc.exe'..#.!IF 28e0: 4e 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63 NDEF CSC.CSC = c 28f0: 73 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 sc.exe.!ENDIF..# 2900: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 Check for the c 2910: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e ommand macro LD. 2920: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f This should po 2930: 69 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 int to the linke 2940: 72 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 r binary for.# t 2950: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f he target platfo 2960: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f rm. If it is no 2970: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c t defined, simpl 2980: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 y define it to t 2990: 68 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61 he legacy.# defa 29a0: 75 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e ult value 'link. 29b0: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 exe'..#.!IFNDEF 29c0: 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 LD.LD = link.exe 29d0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b .!ENDIF..# Check 29e0: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 for the predefi 29f0: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 ned command macr 2a00: 6f 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75 o RC. This shou 2a10: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 ld point to the 2a20: 72 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 resource.# compi 2a30: 6c 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 ler binary for t 2a40: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f he target platfo 2a50: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f rm. If it is no 2a60: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c t defined, simpl 2a70: 79 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f y define.# it to 2a80: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61 the legacy defa 2a90: 75 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78 ult value 'rc.ex 2aa0: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 e'..#.!IFNDEF RC 2ab0: 0a 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e .RC = rc.exe.!EN 2ac0: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 DIF..# Check for 2ad0: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d the MSVC runtim 2ae0: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d e library path m 2af0: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 acro. Otherwise 2b00: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c , this value wil 2b10: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 l.# default to t 2b20: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f he 'lib' directo 2b30: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 ry underneath th 2b40: 65 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 e MSVC installat 2b50: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 ion directory..# 2b60: 0a 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50 .!IFNDEF CRTLIBP 2b70: 41 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d ATH.CRTLIBPATH = 2b80: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29$(VCINSTALLDIR)
2b90: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54  \lib.!ENDIF..CRT
2ba0: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL 2bb0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 IBPATH:\\=\)..# 2bc0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f Check for the co 2bd0: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e mmand macro NCC. 2be0: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f This should po 2bf0: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 int to the compi 2c00: 6c 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 ler binary.# for 2c10: 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 the platform th 2c20: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 e compilation pr 2c30: 6f 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 ocess is taking 2c40: 70 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 place on. If it 2c50: 20 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 is not.# define 2c60: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 d, simply define 2c70: 20 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20 it to have the 2c80: 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68 same value as th 2c90: 65 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 e CC macro. Whe 2ca0: 6e 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c n.# cross-compil 2cb0: 69 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65 ing, it is sugge 2cc0: 73 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d sted that this m 2cd0: 61 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 acro be modified 2ce0: 20 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 via the command 2cf0: 0a 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e .# line (since n 2d00: 6d 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73 make itself does 2d10: 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62 not provide a b 2d20: 75 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 uilt-in method t 2d30: 6f 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46 o guess it)..# F 2d40: 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 or example, to u 2d50: 73 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69 se the x86 compi 2d60: 6c 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 ler when cross-c 2d70: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 ompiling for x64 2d80: 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 , a command.# li 2d90: 6e 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 ne similar to th 2da0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c e following coul 2db0: 64 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f d be used (all o 2dc0: 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 n one line):.#.# 2dd0: 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 nmake /f Ma 2de0: 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 kefile.msc sqlit 2df0: 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 e3.dll.# 2e00: 20 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 XCOMPILE=1 US 2e10: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 E_NATIVE_LIBPATH 2e20: 53 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 S=1.#.# Alternat 2e30: 69 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 ively, the full 2e40: 70 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 path and file na 2e50: 6d 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c me to the compil 2e60: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 er binary for th 2e70: 65 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 e.# platform the 2e80: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f compilation pro 2e90: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 cess is taking p 2ea0: 6c 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63 lace may be spec 2eb0: 69 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 ified (all on.# 2ec0: 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 one line):.#.# 2ed0: 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 nmake /f Make 2ee0: 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 file.msc sqlite3 2ef0: 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 .dll.# 2f00: 20 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41 "NCC=""%VCINSTA 2f10: 4c 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 LLDIR%\bin\cl.ex 2f20: 65 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20 e""".# 2f30: 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 USE_NATIVE_LIBP 2f40: 41 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 ATHS=1.#.!IFDEF 2f50: 4e 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a NCC.NCC =$(NCC:
2f60: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28  \\=\).!ELSEIF $( 2f70: 58 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 XCOMPILE)!=0.NCC 2f80: 20 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 = "$(VCINSTALLD
2f90: 49 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e  IR)\bin\$(CC)".N 2fa0: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 CC =$(NCC:\\=\)
2fb0: 0a 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43  .!ELSE.NCC = $(C 2fc0: 43 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 C).!ENDIF..# Che 2fd0: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 ck for the MSVC 2fe0: 6e 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c native runtime l 2ff0: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 ibrary path macr 3000: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 o. Otherwise,.# 3010: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c this value will 3020: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 default to the 3030: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 'lib' directory 3040: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d underneath the M 3050: 53 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 SVC.# installati 3060: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a on directory..#. 3070: 21 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 !IFNDEF NCRTLIBP 3080: 41 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 ATH.NCRTLIBPATH 3090: 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 =$(VCINSTALLDIR
30a0: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43  )\lib.!ENDIF..NC
30b0: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43  RTLIBPATH = $(NC 30c0: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a RTLIBPATH:\\=\). 30d0: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 .# Check for the 30e0: 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 Platform SDK li 30f0: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f brary path macro 3100: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 . Otherwise, th 3110: 69 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 is.# value will 3120: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 default to the ' 3130: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 lib' directory u 3140: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 nderneath the Wi 3150: 6e 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 ndows.# SDK inst 3160: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f allation directo 3170: 72 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d ry (the environm 3180: 65 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65 ent variable use 3190: 64 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62 d appears.# to b 31a0: 65 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e e available when 31b0: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b using Visual C+ 31c0: 2b 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20 + 2008 or later 31d0: 76 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e via the.# comman 31e0: 64 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 d line)..#.!IFND 31f0: 45 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e EF NSDKLIBPATH.N 3200: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57 SDKLIBPATH =$(W
3210: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
3220: 62 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49  b.!ENDIF..NSDKLI
3230: 42 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49  BPATH = $(NSDKLI 3240: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 BPATH:\\=\)..# C 3250: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52 heck for the UCR 3260: 54 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d T library path m 3270: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 acro. Otherwise 3280: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c , this value wil 3290: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 l.# default to t 32a0: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 he version-speci 32b0: 66 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 fic, platform-sp 32c0: 65 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72 ecific 'lib' dir 32d0: 65 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 ectory.# underne 32e0: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20 ath the Windows 32f0: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e SDK installation 3300: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 directory..#.!I 3310: 46 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54 FNDEF UCRTLIBPAT 3320: 48 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 H.UCRTLIBPATH = 3330: 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29$(WINDOWSSDKDIR)
3340: 5c 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44  \lib\$(WINDOWSSD 3350: 4b 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 KLIBVERSION)\ucr 3360: 74 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 t\$(PLATFORM).!E
3370: 4e 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54  NDIF..UCRTLIBPAT
3380: 48 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54  H = $(UCRTLIBPAT 3390: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d H:\\=\)..# C com 33a0: 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e piler and option 33b0: 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 s for use in bui 33c0: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 lding executable 33d0: 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 s that.# will ru 33e0: 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 n on the platfor 33f0: 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20 m that is doing 3400: 74 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 the build..#.!IF 3410: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29$(USE_FULLWARN)
3420: 21 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29  !=0.BCC = $(NCC) 3430: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43 -nologo -W4$(C
3440: 43 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53  COPTS) $(BCCOPTS 3450: 29 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28 ).!ELSE.BCC =$(
3460: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33  NCC) -nologo -W3
3470: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS)$(BCC
3480: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..#
3490: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
34a0: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings
34b0: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
34c0: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
34d0: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files
34e0: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
34f0: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST 3500: 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24 INGS)!=0.BCC =$
3510: 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (BCC) -FAcs.!END
3520: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74  IF..# Check if t
3530: 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72  he native librar
3540: 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62  y paths should b
3550: 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70  e used when comp
3560: 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d  iling.# the comm
3570: 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75  and line tools u
3580: 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63  sed during the c
3590: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
35a0: 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65  ss.  If.# so, se
35b0: 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  t the necessary
35c0: 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46  macro now..#.!IF
35d0: 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49   $(USE_NATIVE_LI 35e0: 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49 BPATHS)!=0.NLTLI 35f0: 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41 BPATHS = "/LIBPA 3600: 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48 TH:$(NCRTLIBPATH
3610: 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  )" "/LIBPATH:$(N 3620: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49 SDKLIBPATH)"..!I 3630: 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54 FDEF NUCRTLIBPAT 3640: 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d H.NUCRTLIBPATH = 3650: 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a$(NUCRTLIBPATH:
3660: 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48  \\=\).NLTLIBPATH
3670: 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  S = $(NLTLIBPATH 3680: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e S) "/LIBPATH:$(N
3690: 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45  UCRTLIBPATH)".!E
36a0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43  NDIF.!ENDIF..# C
36b0: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
36c0: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
36d0: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
36e0: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
36f0: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72  l run on the tar
3700: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28  get platform.  (
3710: 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20  BCC and TCC are
3720: 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61  usually the.# sa
3730: 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61  me unless your a
3740: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
3750: 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45  ng.).#.!IF $(USE 3760: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43 _FULLWARN)!=0.TC 3770: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 C =$(CC) -nolog
3780: 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f  o -W4 -DINCLUDE_
3790: 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54  MSVC_H=1 $(CCOPT 37a0: 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45 S)$(TCCOPTS).!E
37b0: 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20  LSE.TCC = $(CC) 37c0: 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 -nologo -W3$(CC
37d0: 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29  OPTS) $(TCCOPTS) 37e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b .!ENDIF..# Check 37f0: 20 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f if warnings sho 3800: 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 uld be treated a 3810: 73 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f s errors when co 3820: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24 mpiling..#.!IF$
3830: 28 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29  (USE_FATAL_WARN)
3840: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC) 3850: 20 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43 -WX.!ENDIF..TCC 3860: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 =$(TCC) -DSQLI
3870: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20  TE_OS_WIN=1 -I.
3880: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50  -I$(TOP) -I$(TOP
3890: 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73  )\src -fp:precis
38a0: 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44  e.RCC = $(RC) -D 38b0: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 SQLITE_OS_WIN=1 38c0: 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 -I. -I$(TOP) -I$38d0: 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50 (TOP)\src$(RCOP
38e0: 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a  TS) $(RCCOPTS).. 38f0: 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61 # Check if we wa 3900: 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73 nt to use the "s 3910: 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 tdcall" calling 3920: 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20 convention when 3930: 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69 compiling..# Thi 3940: 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 s is not support 3950: 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c ed by the compil 3960: 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 ers for non-x86 3970: 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73 platforms. It s 3980: 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20 hould.# also be 3990: 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20 noted here that 39a0: 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72 building any tar 39b0: 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22 get with these " 39c0: 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 stdcall" options 39d0: 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b .# will most lik 39e0: 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20 ely fail if the 39f0: 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61 Tcl library is a 3a00: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54 lso required. T 3a10: 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20 his is due.# to 3a20: 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72 how the Tcl libr 3a30: 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 ary functions ar 3a40: 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65 e declared and e 3a50: 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69 xported (i.e. wi 3a60: 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69 thout.# an expli 3a70: 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 cit calling conv 3a80: 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65 ention, which re 3a90: 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22 sults in "cdecl" 3aa0: 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 )..#.!IF$(USE_S
3ab0: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $( 3ac0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 FOR_WIN10)!=0.!I 3ad0: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d F "$(PLATFORM)"=
3ae0: 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e  ="x86".CORE_CCON
3af0: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
3b00: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
3b10: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
3b20: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3b30: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
3b40: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3b50: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
3b60: 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56  call.SHELL_CCONV
3b70: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3b80: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
3b90: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3ba0: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3bb0: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
3bc0: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3bd0: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
3be0: 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54  all.# <<mark>>.T
3bf0: 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  EST_CCONV_OPTS =
3c00: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3c10: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3c20: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3c30: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3c40: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3c50: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3c60: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49  PI=__stdcall -DI
3c70: 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43  NCLUDE_SQLITE_TC
3c80: 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54  L_H=1 -DSQLITE_T
3c90: 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20  CLAPI=__cdecl.#
3ca0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a  <</mark>>.!ELSE.
3cb0: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d  !IFNDEF PLATFORM
3cc0: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3cd0: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
3ce0: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
3cf0: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
3d00: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3d10: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
3d20: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3d30: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53  SAPI=__stdcall.S
3d40: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS
3d50: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3d60: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3d70: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3d80: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3d90: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3da0: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3db0: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20  API=__stdcall.#
3dc0: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3dd0: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3de0: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3df0: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
3e00: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
3e10: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
3e20: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
3e30: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3e40: 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45  tdcall -DINCLUDE
3e50: 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20  _SQLITE_TCL_H=1
3e60: 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d  -DSQLITE_TCLAPI=
3e70: 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72  __cdecl.# <</mar
3e80: 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43  k>>.!ELSE.CORE_C
3e90: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c  CONV_OPTS =.SHEL
3ea0: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23  L_CCONV_OPTS =.#
3eb0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43   <<mark>>.TEST_C
3ec0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c  CONV_OPTS =.# <<
3ed0: 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21  /mark>>.!ENDIF.!
3ee0: 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45  ENDIF.!ELSE.CORE
3ef0: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48  _CCONV_OPTS =.SH
3f00: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3f10: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54  .# <<mark>>.TEST
3f20: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.#
3f30: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46  <</mark>>.!ENDIF
3f40: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
3f50: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
3f60: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66  r options used f
3f70: 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  or the core libr
3f80: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  ary..#.!IFNDEF C
3f90: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
3fa0: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S 3fb0: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f HELL)!=0 ||$(FO
3fc0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45  R_WIN10)!=0.CORE
3fd0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS =
3fe0: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT 3ff0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d S) -DSQLITE_API= 4000: 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78 __declspec(dllex 4010: 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45 port).!ELSE.CORE 4020: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 _COMPILE_OPTS = 4030: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54$(CORE_CCONV_OPT
4040: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  S).!ENDIF.!ENDIF
4050: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
4060: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72  e additional tar
4070: 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f  gets that the co
4080: 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c  re library shoul
4090: 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68  d depend on.# wh
40a0: 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49  en linking..#.!I
40b0: 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f  FNDEF CORE_LINK_
40c0: 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  DEP.!IF $(DYNAMI 40d0: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 C_SHELL)!=0.CORE 40e0: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 _LINK_DEP =.!ELS 40f0: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 EIF$(FOR_WIN10)
4100: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f  ==0 || "$(PLATFO 4110: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 RM)"=="x86".CORE 4120: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69 _LINK_DEP = sqli 4130: 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f te3.def.!ELSE.CO 4140: 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 RE_LINK_DEP =.!E 4150: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 NDIF.!ENDIF..# T 4160: 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f hese are additio 4170: 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f nal linker optio 4180: 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 ns used for the 4190: 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a core library..#. 41a0: 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e !IFNDEF CORE_LIN 41b0: 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e K_OPTS.!IF$(DYN
41c0: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43  AMIC_SHELL)!=0.C
41d0: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a  ORE_LINK_OPTS =.
41e0: 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49  !ELSEIF $(FOR_WI 41f0: 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c N10)==0 || "$(PL
4200: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
4210: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
4220: 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65   /DEF:sqlite3.de
4230: 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e  f.!ELSE.CORE_LIN
4240: 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a  K_OPTS =.!ENDIF.
4250: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These
4260: 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63  are additional c
4270: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options
4280: 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65  used for the she
4290: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23  ll executable..#
42a0: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
42b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20  OMPILE_OPTS.!IF
42c0: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL) 42d0: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e !=0 ||$(FOR_WIN
42e0: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)!=0.SHELL_COM
42f0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH 4300: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 ELL_CCONV_OPTS) 4310: 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 -DSQLITE_API=__d 4320: 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72 eclspec(dllimpor 4330: 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 t).!ELSE.SHELL_C 4340: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 OMPILE_OPTS =$(
4350: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53  SHELL_CCONV_OPTS
4360: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
4370: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73  .# This is the s
4380: 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20  ource code that
4390: 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74  the shell execut
43a0: 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63  able should be c
43b0: 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a  ompiled.# with..
43c0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
43d0: 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44  CORE_SRC.!IF $(D 43e0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 YNAMIC_SHELL)!=0 43f0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 ||$(FOR_WIN10)
4400: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  !=0.SHELL_CORE_S
4410: 52 43 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  RC =.# <<mark>>.
4420: 21 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d  !ELSEIF $(USE_AM 4430: 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 ALGAMATION)==0.S 4440: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a HELL_CORE_SRC =. 4450: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 # <</mark>>.!ELS 4460: 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 E.SHELL_CORE_SRC 4470: 20 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21 =$(SQLITE3C).!
4480: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
4490: 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72 65  This is the core
44a0: 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74 68   library that th
44b0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
44c0: 6c 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64  le should depend
44d0: 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53   on..#.!IFNDEF S
44e0: 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21 49  HELL_CORE_DEP.!I
44f0: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c  F $(DYNAMIC_SHEL 4500: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 L)!=0 ||$(FOR_W
4510: 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43  IN10)!=0.SHELL_C
4520: 4f 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c 49  ORE_DEP = $(SQLI 4530: 54 45 33 44 4c 4c 29 0a 23 20 3c 3c 6d 61 72 6b TE3DLL).# <<mark 4540: 3e 3e 0a 21 45 4c 53 45 49 46 20 24 28 55 53 45 >>.!ELSEIF$(USE
4550: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d  _AMALGAMATION)==
4560: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  0.SHELL_CORE_DEP
4570: 20 3d 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69   = libsqlite3.li
4580: 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45  b.# <</mark>>.!E
4590: 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  LSE.SHELL_CORE_D
45a0: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  EP =.!ENDIF.!END
45b0: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
45c0: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74   If zlib support
45d0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
45e0: 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65   the dependencie
45f0: 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20  s for it..#.!IF
4600: 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 20 26  $(USE_ZLIB)!=0 & 4610: 26 20 24 28 42 55 49 4c 44 5f 5a 4c 49 42 29 21 &$(BUILD_ZLIB)!
4620: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  =0.SHELL_CORE_DE
4630: 50 20 3d 20 7a 6c 69 62 20 24 28 53 48 45 4c 4c  P = zlib $(SHELL 4640: 5f 43 4f 52 45 5f 44 45 50 29 0a 54 45 53 54 46 _CORE_DEP).TESTF 4650: 49 58 54 55 52 45 5f 44 45 50 20 3d 20 7a 6c 69 IXTURE_DEP = zli 4660: 62 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f b$(TESTFIXTURE_
4670: 44 45 50 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  DEP).!ENDIF.# <<
4680: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20  /mark>>..# This
4690: 69 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  is the core libr
46a0: 61 72 79 20 74 68 61 74 20 74 68 65 20 73 68 65  ary that the she
46b0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68  ll executable sh
46c0: 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74 68 2e 0a  ould link with..
46d0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
46e0: 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20 24 28 44  CORE_LIB.!IF $(D 46f0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 YNAMIC_SHELL)!=0 4700: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 ||$(FOR_WIN10)
4710: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  !=0.SHELL_CORE_L
4720: 49 42 20 3d 20 24 28 53 51 4c 49 54 45 33 4c 49  IB = $(SQLITE3LI 4730: 42 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 B).# <<mark>>.!E 4740: 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41 4c LSEIF$(USE_AMAL
4750: 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 45  GAMATION)==0.SHE
4760: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 6c 69  LL_CORE_LIB = li
4770: 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 3c  bsqlite3.lib.# <
4780: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53  </mark>>.!ELSE.S
4790: 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a  HELL_CORE_LIB =.
47a0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
47b0: 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74   These are addit
47c0: 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74  ional linker opt
47d0: 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68  ions used for th
47e0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
47f0: 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48  le..#.!IFNDEF SH
4800: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48  ELL_LINK_OPTS.SH
4810: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20  ELL_LINK_OPTS =
4820: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42  $(SHELL_CORE_LIB 4830: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 ).!ENDIF..# Chec 4840: 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63 6f k if assembly co 4850: 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 de listings shou 4860: 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 ld be generated 4870: 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a 23 for the source.# 4880: 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20 62 code files to b 4890: 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 e compiled..#.!I 48a0: 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 F$(USE_LISTINGS
48b0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC 48c0: 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a ) -FAcs.!ENDIF.. 48d0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 # When compiling 48e0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f 72 the library for 48f0: 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52 use in the WinR 4900: 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23 T environment,.# 4910: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 the following c 4920: 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 ompile-time opti 4930: 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65 64 ons must be used 4940: 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69 as well to.# di 4950: 73 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69 6e sable use of Win 4960: 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65 32 APIs that are 4970: 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61 not available a 4980: 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75 nd to enable.# u 4990: 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73 se of Win32 APIs 49a0: 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69 66 that are specif 49b0: 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38 20 ic to Windows 8 49c0: 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a and/or WinRT..#. 49d0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 !IF$(FOR_WINRT)
49e0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC) 49f0: 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e -DSQLITE_OS_WIN 4a00: 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 RT=1.RCC =$(RCC
4a10: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49  ) -DSQLITE_OS_WI
4a20: 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54 43  NRT=1.TCC = $(TC 4a30: 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 C) -DWINAPI_FAMI 4a40: 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 LY=WINAPI_FAMILY 4a50: 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43 43 _APP.RCC =$(RCC
4a60: 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c  ) -DWINAPI_FAMIL
4a70: 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f  Y=WINAPI_FAMILY_
4a80: 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20  APP.!ENDIF..# C
4a90: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
4aa0: 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73   for the Windows
4ab0: 20 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65   10 platform (ne
4ac0: 65 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e 0a  eds MSVC 2015)..
4ad0: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  #.!IF $(FOR_WIN1 4ae0: 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 0)!=0.TCC =$(TC
4af0: 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f  C) /d2guard4 -D_
4b00: 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49  ARM_WINAPI_PARTI
4b10: 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b  TION_DESKTOP_SDK
4b20: 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d  _AVAILABLE.BCC =
4b30: 20 24 28 42 43 43 29 20 2f 64 32 67 75 61 72 64   $(BCC) /d2guard 4b40: 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 4 -D_ARM_WINAPI_ 4b50: 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f PARTITION_DESKTO 4b60: 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a P_SDK_AVAILABLE. 4b70: 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20 !ENDIF..# Also, 4b80: 77 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d we need to dynam 4b90: 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74 ically link to t 4ba0: 68 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43 20 he correct MSVC 4bb0: 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20 63 runtime.# when c 4bc0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e ompiling for Win 4bd0: 52 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20 6f RT (e.g. debug o 4be0: 72 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69 66 r release) OR if 4bf0: 20 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f 44 the.# USE_CRT_D 4c00: 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65 74 LL option is set 4c10: 20 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d 69 to force dynami 4c20: 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f cally linking to 4c30: 20 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e 74 the.# MSVC runt 4c40: 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 ime library..#.! 4c50: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 IF$(FOR_WINRT)!
4c60: 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f  =0 || $(USE_CRT_ 4c70: 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44 45 DLL)!=0.!IF$(DE
4c80: 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54  BUG)>1.TCC = $(T 4c90: 43 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24 CC) -MDd.BCC =$
4ca0: 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45  (BCC) -MDd.!ELSE
4cb0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d  .TCC = $(TCC) -M 4cc0: 44 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d D.BCC =$(BCC) -
4cd0: 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a  MD.!ENDIF.!ELSE.
4ce0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54  !IF $(DEBUG)>1.T 4cf0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 64 CC =$(TCC) -MTd
4d00: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d  .BCC = $(BCC) -M 4d10: 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 Td.!ELSE.TCC =$
4d20: 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20  (TCC) -MT.BCC =
4d30: 24 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49  $(BCC) -MT.!ENDI 4d40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 F.!ENDIF..# <<ma 4d50: 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c rk>>.# The mksql 4d60: 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b ite3c.tcl and mk 4d70: 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72 sqlite3h.tcl scr 4d80: 69 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69 ipts will pull i 4d90: 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69 6f n.# any extensio 4da0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 62 n header files b 4db0: 79 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72 20 y default. For 4dc0: 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e non-amalgamation 4dd0: 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e 65 .# builds, we ne 4de0: 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 ed to make sure 4df0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e the compiler can 4e00: 20 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21 find these..#.! 4e10: 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d IF$(USE_AMALGAM
4e20: 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20  ATION)==0.TCC =
4e30: 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(TCC) -I$(TOP)\
4e40: 65 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20 24  ext\fts3.RCC = $4e50: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 (RCC) -I$(TOP)\e
4e60: 78 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24 28  xt\fts3.TCC = $( 4e70: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 TCC) -I$(TOP)\ex
4e80: 74 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24 28  t\rtree.RCC = $( 4e90: 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 RCC) -I$(TOP)\ex
4ea0: 74 5c 72 74 72 65 65 0a 54 43 43 20 3d 20 24 28  t\rtree.TCC = $( 4eb0: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 TCC) -I$(TOP)\ex
4ec0: 74 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20  t\session.RCC =
4ed0: 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(RCC) -I$(TOP)\
4ee0: 65 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44  ext\session.!END
4ef0: 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69  IF..# The mksqli
4f00: 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 20  te3c.tcl script
4f10: 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74  accepts some opt
4f20: 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d  ions on the comm
4f30: 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65  and.# line.  Whe
4f40: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68  n compiling with
4f50: 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 6c   debugging enabl
4f60: 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73  ed, some of thes
4f70: 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20  e.# options are
4f80: 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64  necessary in ord
4f90: 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75  er to allow debu
4fa0: 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f  gging symbols to
4fb0: 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c  .# work correctl
4fc0: 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74  y with Visual St
4fd0: 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 20  udio when using
4fe0: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
4ff0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51  ..#.!IFNDEF MKSQ
5000: 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20  LITE3C_TOOL.!IF
5010: 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41  $(MINIMAL_AMALGA 5020: 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c MATION)!=0.MKSQL 5030: 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 ITE3C_TOOL =$(T
5040: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74  OP)\tool\mksqlit
5050: 65 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45  e3c-noext.tcl.!E
5060: 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54  LSE.MKSQLITE3C_T
5070: 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f  OOL = $(TOP)\too 5080: 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c l\mksqlite3c.tcl 5090: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a .!ENDIF.!ENDIF.. 50a0: 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 !IFNDEF MKSQLITE 50b0: 33 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44 45 3C_ARGS.!IF$(DE
50c0: 42 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33  BUG)>1.MKSQLITE3
50d0: 43 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d  C_ARGS = --linem
50e0: 61 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51  acros.!ELSE.MKSQ
50f0: 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21 45  LITE3C_ARGS =.!E
5100: 4e 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f 53  NDIF.!IF $(USE_S 5110: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 TDCALL)!=0 ||$(
5120: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b  FOR_WIN10)!=0.MK
5130: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20  SQLITE3C_ARGS =
5140: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  $(MKSQLITE3C_ARG 5150: 53 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a S) --useapicall. 5160: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 !ENDIF.!ENDIF..# 5170: 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e The mksqlite3h. 5180: 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 65 70 tcl script accep 5190: 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 ts some options 51a0: 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c on the command l 51b0: 69 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70 ine..# When comp 51c0: 69 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63 61 iling with stdca 51d0: 6c 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65 ll support, some 51e0: 20 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f 6e of these option 51f0: 73 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61 72 s are.# necessar 5200: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 y..#.!IFNDEF MKS 5210: 51 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49 46 QLITE3H_ARGS.!IF 5220: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21$(USE_STDCALL)!
5230: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1 5240: 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48 0)!=0.MKSQLITE3H 5250: 5f 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70 69 _ARGS = --useapi 5260: 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c call.!ELSE.MKSQL 5270: 49 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e ITE3H_ARGS =.!EN 5280: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f DIF.!ENDIF.# <</ 5290: 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65 mark>>..# Define 52a0: 20 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d -DNDEBUG to com 52b0: 70 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65 62 pile without deb 52c0: 75 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f ugging (i.e., fo 52d0: 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73 61 r production usa 52e0: 67 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74 ge).# Omitting t 52f0: 68 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20 63 he define will c 5300: 61 75 73 65 20 65 78 74 72 61 20 64 65 62 75 67 ause extra debug 5310: 67 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65 20 ging code to be 5320: 69 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20 69 inserted and.# i 5330: 6e 63 6c 75 64 65 73 20 65 78 74 72 61 20 63 6f ncludes extra co 5340: 6d 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58 50 mments when "EXP 5350: 4c 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75 73 LAIN stmt" is us 5360: 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 ed..#.!IF$(DEBU
5370: 47 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  G)==0.TCC = $(TC 5380: 43 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43 20 C) -DNDEBUG.BCC 5390: 3d 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42 55 =$(BCC) -DNDEBU
53a0: 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  G.RCC = $(RCC) - 53b0: 44 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a DNDEBUG.!ENDIF.. 53c0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 30 20 7c !IF$(DEBUG)>0 |
53d0: 7c 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d  | $(API_ARMOR)!= 53e0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 0 ||$(FOR_WIN10
53f0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC 5400: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ) -DSQLITE_ENABL 5410: 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43 E_API_ARMOR=1.RC 5420: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c C =$(RCC) -DSQL
5430: 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41  ITE_ENABLE_API_A
5440: 52 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21  RMOR=1.!ENDIF..!
5450: 49 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54 43  IF $(DEBUG)>2.TC 5460: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c C =$(TCC) -DSQL
5470: 49 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43 20  ITE_DEBUG=1.RCC
5480: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT 5490: 45 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24 28 E_DEBUG=1.!IF$(
54a0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d  DYNAMIC_SHELL)==
54b0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) - 54c0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 DSQLITE_ENABLE_W 54d0: 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c 49 HERETRACE -DSQLI 54e0: 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 TE_ENABLE_SELECT 54f0: 54 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52 43 TRACE.RCC =$(RC
5500: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
5510: 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d 44  LE_WHERETRACE -D
5520: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45  SQLITE_ENABLE_SE
5530: 4c 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49 46  LECTTRACE.!ENDIF
5540: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D 5550: 45 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 EBUG)>4 ||$(OST
5560: 52 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 24  RACE)!=0.TCC = $5570: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 (TCC) -DSQLITE_F 5580: 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 ORCE_OS_TRACE=1 5590: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f -DSQLITE_DEBUG_O 55a0: 53 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 S_TRACE=1.RCC = 55b0: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(RCC) -DSQLITE_
55c0: 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31  FORCE_OS_TRACE=1
55d0: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f   -DSQLITE_DEBUG_
55e0: 4f 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49  OS_TRACE=1.!ENDI
55f0: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  F..!IF $(DEBUG)> 5600: 35 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 5.TCC =$(TCC) -
5610: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49  DSQLITE_ENABLE_I
5620: 4f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24  OTRACE=1.RCC = $5630: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 (RCC) -DSQLITE_E 5640: 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a NABLE_IOTRACE=1. 5650: 21 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65 6e !ENDIF..# Preven 5660: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 t warnings about 5670: 20 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56 43 "insecure" MSVC 5680: 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 runtime library 5690: 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 functions.# bei 56a0: 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d ng used..#.TCC = 56b0: 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f 53$(TCC) -D_CRT_S
56c0: 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41  ECURE_NO_DEPRECA
56d0: 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45  TE -D_CRT_SECURE
56e0: 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43  _NO_WARNINGS.BCC
56f0: 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54   = $(BCC) -D_CRT 5700: 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 _SECURE_NO_DEPRE 5710: 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 CATE -D_CRT_SECU 5720: 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 RE_NO_WARNINGS.R 5730: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 CC =$(RCC) -D_C
5740: 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50  RT_SECURE_NO_DEP
5750: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45  RECATE -D_CRT_SE
5760: 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53  CURE_NO_WARNINGS
5770: 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e  ..# Prevent warn
5780: 69 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70 72  ings about "depr
5790: 65 63 61 74 65 64 22 20 50 4f 53 49 58 20 66 75  ecated" POSIX fu
57a0: 6e 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 73  nctions being us
57b0: 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  ed..#.TCC = $(TC 57c0: 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 C) -D_CRT_NONSTD 57d0: 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d C_NO_DEPRECATE - 57e0: 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f D_CRT_NONSTDC_NO 57f0: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 _WARNINGS.BCC = 5800: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f$(BCC) -D_CRT_NO
5810: 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41  NSTDC_NO_DEPRECA
5820: 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44  TE -D_CRT_NONSTD
5830: 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43  C_NO_WARNINGS.RC
5840: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52  C = $(RCC) -D_CR 5850: 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 T_NONSTDC_NO_DEP 5860: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f RECATE -D_CRT_NO 5870: 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 NSTDC_NO_WARNING 5880: 53 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51 4c S..# Use the SQL 5890: 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68 65 ite debugging he 58a0: 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a ap subsystem?.#. 58b0: 21 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29 21 !IF$(MEMDEBUG)!
58c0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 58d0: 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 -DSQLITE_MEMDEBU 58e0: 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 G=1.RCC =$(RCC)
58f0: 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42   -DSQLITE_MEMDEB
5900: 55 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 69  UG=1..# Use nati
5910: 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 75  ve Win32 heap su
5920: 62 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64 20  bsystem instead
5930: 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a  of malloc/free?.
5940: 23 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e 33  #.!ELSEIF $(WIN3 5950: 32 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 2HEAP)!=0.TCC = 5960: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(TCC) -DSQLITE_
5970: 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52  WIN32_MALLOC=1.R
5980: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ 5990: 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f LITE_WIN32_MALLO 59a0: 43 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 C=1..# Validate 59b0: 74 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65 72 the heap on ever 59c0: 79 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 y call into the 59d0: 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68 65 61 native Win32 hea 59e0: 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 p subsystem?.#.! 59f0: 49 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54 43 IF$(DEBUG)>3.TC
5a00: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL 5a10: 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 ITE_WIN32_MALLOC 5a20: 5f 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 _VALIDATE=1.RCC 5a30: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 =$(RCC) -DSQLIT
5a40: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56  E_WIN32_MALLOC_V
5a50: 41 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 46  ALIDATE=1.!ENDIF
5a60: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
5a70: 6b 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 69  k>>.# The locati
5a80: 6f 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20 68  ons of the Tcl h
5a90: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72  eader and librar
5aa0: 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20  y files.  Also,
5ab0: 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74  the library that
5ac0: 0a 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61  .# non-stubs ena
5ad0: 62 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75 73  bled programs us
5ae0: 69 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e  ing Tcl must lin
5af0: 6b 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65 73  k against.  Thes
5b00: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 54  e variables.# (T
5b10: 43 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42  CLINCDIR, TCLLIB
5b20: 44 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29  DIR, and LIBTCL)
5b30: 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64   may be overridd
5b40: 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72  en via the envir
5b50: 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74  onment.# prior t
5b60: 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20  o running nmake
5b70: 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63  in order to matc
5b80: 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73  h the actual ins
5b90: 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20  talled location
5ba0: 61 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e  and.# version on
5bb0: 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23   this machine..#
5bc0: 0a 21 49 46 4e 44 45 46 20 54 43 4c 44 49 52 0a  .!IFNDEF TCLDIR.
5bd0: 54 43 4c 44 49 52 20 3d 20 24 28 54 4f 50 29 5c  TCLDIR = $(TOP)\ 5be0: 63 6f 6d 70 61 74 5c 74 63 6c 0a 21 45 4e 44 49 compat\tcl.!ENDI 5bf0: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 49 4e F..!IFNDEF TCLIN 5c00: 43 44 49 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d CDIR.TCLINCDIR = 5c10: 20 24 28 54 43 4c 44 49 52 29 5c 69 6e 63 6c 75$(TCLDIR)\inclu
5c20: 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  de.!ENDIF..!IFND
5c30: 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 43 4c  EF TCLLIBDIR.TCL
5c40: 4c 49 42 44 49 52 20 3d 20 24 28 54 43 4c 44 49  LIBDIR = $(TCLDI 5c50: 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 R)\lib.!ENDIF..! 5c60: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49 IFNDEF LIBTCL.LI 5c70: 42 54 43 4c 20 3d 20 74 63 6c 38 36 2e 6c 69 62 BTCL = tcl86.lib 5c80: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 .!ENDIF..!IFNDEF 5c90: 20 4c 49 42 54 43 4c 53 54 55 42 0a 4c 49 42 54 LIBTCLSTUB.LIBT 5ca0: 43 4c 53 54 55 42 20 3d 20 74 63 6c 73 74 75 62 CLSTUB = tclstub 5cb0: 38 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 86.lib.!ENDIF..! 5cc0: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54 IFNDEF LIBTCLPAT 5cd0: 48 0a 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 24 H.LIBTCLPATH =$
5ce0: 28 54 43 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e  (TCLDIR)\bin.!EN
5cf0: 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74  DIF..# The locat
5d00: 69 6f 6e 73 20 6f 66 20 74 68 65 20 7a 6c 69 62  ions of the zlib
5d10: 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72   header and libr
5d20: 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73  ary files.  Thes
5d30: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 5a  e variables.# (Z
5d40: 4c 49 42 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c  LIBINCDIR, ZLIBL
5d50: 49 42 44 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c  IBDIR, and ZLIBL
5d60: 49 42 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72  IB) may be overr
5d70: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e  idden via the en
5d80: 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f  vironment.# prio
5d90: 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61  r to running nma
5da0: 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d  ke in order to m
5db0: 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20  atch the actual
5dc0: 69 6e 73 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f  installed (or so
5dd0: 75 72 63 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63  urce.# code) loc
5de0: 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61  ation on this ma
5df0: 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46  chine..#.!IFNDEF
5e00: 20 5a 4c 49 42 44 49 52 0a 5a 4c 49 42 44 49 52   ZLIBDIR.ZLIBDIR
5e10: 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74   = $(TOP)\compat 5e20: 5c 7a 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 \zlib.!ENDIF..!I 5e30: 46 4e 44 45 46 20 5a 4c 49 42 49 4e 43 44 49 52 FNDEF ZLIBINCDIR 5e40: 0a 5a 4c 49 42 49 4e 43 44 49 52 20 3d 20 24 28 .ZLIBINCDIR =$(
5e50: 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a  ZLIBDIR).!ENDIF.
5e60: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42  .!IFNDEF ZLIBLIB
5e70: 44 49 52 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d  DIR.ZLIBLIBDIR =
5e80: 20 24 28 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44   $(ZLIBDIR).!END 5e90: 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 IF..!IFNDEF ZLIB 5ea0: 4c 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 LIB.!IF$(DYNAMI
5eb0: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42  C_SHELL)!=0.ZLIB
5ec0: 4c 49 42 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21  LIB = zdll.lib.!
5ed0: 45 4c 53 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a  ELSE.ZLIBLIB = z
5ee0: 6c 69 62 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21  lib.lib.!ENDIF.!
5ef0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63  ENDIF..# The loc
5f00: 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43  ations of the IC
5f10: 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62  U header and lib
5f20: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65  rary files.  The
5f30: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28  se variables.# (
5f40: 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49  ICUINCDIR, ICULI
5f50: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55  BDIR, and LIBICU
5f60: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
5f70: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
5f80: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior
5f90: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
5fa0: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
5fb0: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
5fc0: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e  stalled location
5fd0: 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69   on.# this machi
5fe0: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43  ne..#.!IFNDEF IC
5ff0: 55 44 49 52 0a 49 43 55 44 49 52 20 3d 20 24 28  UDIR.ICUDIR = $( 6000: 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a TOP)\compat\icu. 6010: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 !ENDIF..!IFNDEF 6020: 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 ICUINCDIR.ICUINC 6030: 44 49 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c DIR =$(ICUDIR)\
6040: 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a  include.!ENDIF..
6050: 21 49 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49  !IFNDEF ICULIBDI
6060: 52 0a 49 43 55 4c 49 42 44 49 52 20 3d 20 24 28  R.ICULIBDIR = $( 6070: 49 43 55 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 ICUDIR)\lib.!END 6080: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 49 IF..!IFNDEF LIBI 6090: 43 55 0a 4c 49 42 49 43 55 20 3d 20 69 63 75 75 CU.LIBICU = icuu 60a0: 63 2e 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a c.lib icuin.lib. 60b0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 !ENDIF..# This i 60c0: 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f s the command to 60d0: 20 75 73 65 20 66 6f 72 20 74 63 6c 73 68 20 2d use for tclsh - 60e0: 20 6e 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22 normally just " 60f0: 74 63 6c 73 68 22 2c 20 62 75 74 20 77 65 20 6d tclsh", but we m 6100: 61 79 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73 70 ay.# know the sp 6110: 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20 77 ecific version w 6120: 65 20 77 61 6e 74 20 74 6f 20 75 73 65 2e 20 20 e want to use. 6130: 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 28 54 This variable (T 6140: 43 4c 53 48 5f 43 4d 44 29 20 6d 61 79 20 62 65 CLSH_CMD) may be 6150: 0a 23 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 .# overridden vi 6160: 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e a the environmen 6170: 74 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 t prior to runni 6180: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 ng nmake in orde 6190: 72 20 74 6f 20 73 65 6c 65 63 74 20 61 0a 23 20 r to select a.# 61a0: 73 70 65 63 69 66 69 63 20 54 63 6c 20 73 68 65 specific Tcl she 61b0: 6c 6c 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46 ll to use..#.!IF 61c0: 4e 44 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21 NDEF TCLSH_CMD.! 61d0: 49 46 20 24 28 55 53 45 5f 54 43 4c 53 48 5f 49 IF$(USE_TCLSH_I
61e0: 4e 5f 50 41 54 48 29 21 3d 30 20 7c 7c 20 21 45  N_PATH)!=0 || !E
61f0: 58 49 53 54 28 22 24 28 54 43 4c 44 49 52 29 5c  XIST("$(TCLDIR)\ 6200: 62 69 6e 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a bin\tclsh.exe"). 6210: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73 TCLSH_CMD = tcls 6220: 68 0a 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d h.!ELSE.TCLSH_CM 6230: 44 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62 69 D =$(TCLDIR)\bi
6240: 6e 5c 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44  n\tclsh.exe.!END
6250: 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d  IF.!ENDIF.# <</m
6260: 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65  ark>>..# Compile
6270: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64  r options needed
6280: 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 68   for programs th
6290: 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64 6c  at use the readl
62a0: 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a 23  ine() library..#
62b0: 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49 4e  .!IFNDEF READLIN
62c0: 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45  E_FLAGS.READLINE
62d0: 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45 5f  _FLAGS = -DHAVE_
62e0: 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49  READLINE=0.!ENDI
62f0: 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79  F..# The library
6300: 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75   that programs u
6310: 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20  sing readline()
6320: 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73  must link agains
6330: 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49 42  t..#.!IFNDEF LIB
6340: 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44  READLINE.LIBREAD
6350: 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23  LINE =.!ENDIF..#
6360: 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74 61   Should the data
6370: 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20 63  base engine be c
6380: 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73 61  ompiled threadsa
6390: 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  fe.#.TCC = $(TCC 63a0: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 ) -DSQLITE_THREA 63b0: 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24 28 DSAFE=1.RCC =$(
63c0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  RCC) -DSQLITE_TH
63d0: 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f  READSAFE=1..# Do
63e0: 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69 64   threads overrid
63f0: 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c 6f  e each others lo
6400: 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20 28  cks by default (
6410: 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65 73  1), or do we tes
6420: 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24  t (-1).#.TCC = $6430: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 (TCC) -DSQLITE_T 6440: 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c HREAD_OVERRIDE_L 6450: 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52 OCK=-1.RCC =$(R
6460: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  CC) -DSQLITE_THR
6470: 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43  EAD_OVERRIDE_LOC
6480: 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72 67  K=-1..# Any targ
6490: 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68 69  et libraries whi
64a0: 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75 73  ch libsqlite mus
64b0: 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61 69  t be linked agai
64c0: 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c  nst.#.!IFNDEF TL
64d0: 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44  IBS.TLIBS =.!END
64e0: 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74  IF..# Flags cont
64f0: 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20 74  rolling use of t
6500: 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72  he in memory btr
6510: 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ee implementatio
6520: 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d  n.#.# SQLITE_TEM
6530: 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f 20  P_STORE is 0 to
6540: 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 20  force temporary
6550: 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e 20  tables to be in
6560: 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64  a file, 1 to.# d
6570: 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20  efault to file,
6580: 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f 20  2 to default to
6590: 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f  memory, and 3 to
65a0: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79   force temporary
65b0: 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c 77  .# tables to alw
65c0: 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79  ays be in memory
65d0: 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ..#.TCC = $(TCC) 65e0: 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 -DSQLITE_TEMP_S 65f0: 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 TORE=1.RCC =$(R
6600: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d  CC) -DSQLITE_TEM
6610: 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61  P_STORE=1..# Ena
6620: 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64  ble/disable load
6630: 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c  able extensions,
6640: 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f   and other optio
6650: 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20 62  nal features.# b
6660: 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72  ased on configur
6670: 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45  ation. (-DSQLITE
6680: 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45  _OMIT*, -DSQLITE
6690: 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65  _ENABLE*)..# The
66a0: 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49   same set of OMI
66b0: 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61  T and ENABLE fla
66c0: 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61 73  gs should be pas
66d0: 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d  sed to the.# LEM
66e0: 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72 61  ON parser genera
66f0: 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65  tor and the mkke
6700: 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20 61  ywordhash tool a
6710: 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65  s well...# These
6720: 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72 65   are the require
6730: 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61  d SQLite compila
6740: 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65  tion options use
6750: 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  d when compiling
6760: 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f   for.# the Windo
6770: 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52  ws platform..#.R
6780: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
6790: 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52 45   = $(REQ_FEATURE 67a0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE 67b0: 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45 50 _MAX_TRIGGER_DEP 67c0: 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65 20 TH=100..# If we 67d0: 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 are linking to t 67e0: 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 he RPCRT4 librar 67f0: 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75 72 y, enable featur 6800: 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74 2e es that need it. 6810: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43 .#.!IF$(USE_RPC
6820: 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f  RT4_LIB)!=0.REQ_
6830: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS =
6840: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL 6850: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 AGS) -DSQLITE_WI 6860: 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21 N32_USE_UUID=1.! 6870: 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68 65 ENDIF..# Add the 6880: 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f 70 required and op 6890: 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f tional SQLite co 68a0: 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e mpilation option 68b0: 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61 s into the comma 68c0: 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64 20 nd.# lines used 68d0: 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53 to invoke the MS 68e0: 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73 6f VC code and reso 68f0: 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a urce compilers.. 6900: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 #.TCC =$(TCC) $6910: 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 (REQ_FEATURE_FLA 6920: 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 GS)$(OPT_FEATUR
6930: 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46  E_FLAGS) $(EXT_F 6940: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52 43 EATURE_FLAGS).RC 6950: 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45 51 C =$(RCC) $(REQ 6960: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) 6970: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c$(OPT_FEATURE_FL
6980: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU 6990: 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64 64 RE_FLAGS)..# Add 69a0: 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c in any optional 69b0: 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65 63 parameters spec 69c0: 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d ified on the com 69d0: 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a mane line, e.g.. 69e0: 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 # nmake /f Makef 69f0: 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54 ile.msc all "OPT 6a00: 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c S=-DSQLITE_ENABL 6a10: 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45 E_FOO=1 -DSQLITE 6a20: 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54 _OMIT_FOO=1".#.T 6a30: 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f 50 CC =$(TCC) $(OP 6a40: 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29 TS).RCC =$(RCC)
6a50: 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20 63   $(OPTS)..# If c 6a60: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 ompiling for deb 6a70: 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65 ugging, add some 6a80: 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20 defines..#.!IF 6a90: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d$(DEBUG)>1.TCC =
6aa0: 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55 47   $(TCC) -D_DEBUG 6ab0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 .BCC =$(BCC) -D
6ac0: 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52  _DEBUG.RCC = $(R 6ad0: 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e CC) -D_DEBUG.!EN 6ae0: 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69 DIF..# If optimi 6af0: 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 62 zations are enab 6b00: 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64 20 led or disabled 6b10: 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69 74 (either implicit 6b20: 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69 74 ly or.# explicit 6b30: 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65 63 ly), add the nec 6b40: 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a essary flags..#. 6b50: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c !IF$(DEBUG)>1 |
6b60: 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e  | $(OPTIMIZATION 6b70: 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 S)==0.TCC =$(TC
6b80: 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42  C) -Od.BCC = $(B 6b90: 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55 53 CC) -Od.!IF$(US
6ba0: 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53  E_RUNTIME_CHECKS
6bb0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC 6bc0: 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24 28 ) -RTC1.BCC =$(
6bd0: 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44 49  BCC) -RTC1.!ENDI
6be0: 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49  F.!ELSEIF $(OPTI 6bf0: 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43 MIZATIONS)>=3.TC 6c00: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42 C =$(TCC) -Ox.B
6c10: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a  CC = $(BCC) -Ox. 6c20: 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 !ELSEIF$(OPTIMI
6c30: 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20  ZATIONS)==2.TCC
6c40: 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43  = $(TCC) -O2.BCC 6c50: 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45 =$(BCC) -O2.!E
6c60: 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41  LSEIF $(OPTIMIZA 6c70: 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20 TIONS)==1.TCC = 6c80: 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d$(TCC) -O1.BCC =
6c90: 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44   $(BCC) -O1.!END 6ca0: 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73 IF..# If symbols 6cb0: 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72 are enabled (or 6cc0: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 compiling for d 6cd0: 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c ebugging), enabl 6ce0: 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 e PDBs..#.!IF$(
6cf0: 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59  DEBUG)>1 || $(SY 6d00: 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20 MBOLS)!=0.TCC = 6d10: 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d$(TCC) -Zi.BCC =
6d20: 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44   $(BCC) -Zi.!END 6d30: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 IF..# <<mark>>.# 6d40: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 If zlib support 6d50: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 is enabled, add 6d60: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 the compiler op 6d70: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a tions for it..#. 6d80: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 !IF$(USE_ZLIB)!
6d90: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 6da0: 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c -DSQLITE_HAVE_ZL 6db0: 49 42 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 IB=1.RCC =$(RCC
6dc0: 29 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f  ) -DSQLITE_HAVE_
6dd0: 5a 4c 49 42 3d 31 0a 54 43 43 20 3d 20 24 28 54  ZLIB=1.TCC = $(T 6de0: 43 43 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 CC) -I$(ZLIBINCD
6df0: 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29  IR).RCC = $(RCC) 6e00: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 -I$(ZLIBINCDIR)
6e10: 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43  .!ENDIF..# If IC
6e20: 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61  U support is ena
6e30: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f  bled, add the co
6e40: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66  mpiler options f
6e50: 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55  or it..#.!IF $(U 6e60: 53 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d SE_ICU)!=0.TCC = 6e70: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45$(TCC) -DSQLITE
6e80: 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43  _ENABLE_ICU=1.RC
6e90: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL 6ea0: 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 ITE_ENABLE_ICU=1 6eb0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 .TCC =$(TCC) -I
6ec0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52  $(TOP)\ext\icu.R 6ed0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 CC =$(RCC) -I$( 6ee0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43 TOP)\ext\icu.TCC 6ef0: 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49 43 =$(TCC) -I$(IC 6f00: 55 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24 UINCDIR).RCC =$
6f10: 28 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43  (RCC) -I$(ICUINC 6f20: 44 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c DIR).!ENDIF.# << 6f30: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 /mark>>..# Comma 6f40: 6e 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73 nd line prefixes 6f50: 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63 for compiling c 6f60: 6f 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72 ode, compiling r 6f70: 65 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b esources,.# link 6f80: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f ing, etc..#.LTCO 6f90: 4d 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d MPILE =$(TCC) -
6fa0: 46 6f 24 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 20  Fo$@.LTRCOMPILE 6fb0: 3d 20 24 28 52 43 43 29 20 2d 72 0a 4c 54 4c 49 =$(RCC) -r.LTLI
6fc0: 42 20 3d 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49  B = lib.exe.LTLI
6fd0: 4e 4b 20 3d 20 24 28 54 43 43 29 20 2d 46 65 24  NK = $(TCC) -Fe$
6fe0: 40 0a 0a 23 20 49 66 20 72 65 71 75 65 73 74 65  @..# If requeste
6ff0: 64 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 52  d, link to the R
7000: 50 43 52 54 34 20 6c 69 62 72 61 72 79 2e 0a 23  PCRT4 library..#
7010: 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 54  .!IF $(USE_RPCRT 7020: 34 5f 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 42 53 4_LIB)!=0.LTLIBS 7030: 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 72 70 63 =$(LTLIBS) rpc
7040: 72 74 34 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  rt4.lib.!ENDIF..
7050: 23 20 49 66 20 61 20 70 6c 61 74 66 6f 72 6d 20  # If a platform
7060: 77 61 73 20 73 65 74 2c 20 66 6f 72 63 65 20 74  was set, force t
7070: 68 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74 61 72  he linker to tar
7080: 67 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f 74 65  get that..# Note
7090: 20 74 68 61 74 20 74 68 65 20 76 63 76 61 72 73   that the vcvars
70a0: 2a 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f 66 20  *.bat family of
70b0: 62 61 74 63 68 20 66 69 6c 65 73 20 74 79 70 69  batch files typi
70c0: 63 61 6c 6c 79 0a 23 20 73 65 74 20 74 68 69 73  cally.# set this
70d0: 20 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68 65 72   for you.  Other
70e0: 77 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b 65 72  wise, the linker
70f0: 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a 23 20   will attempt.#
7100: 74 6f 20 64 65 64 75 63 65 20 74 68 65 20 62 69  to deduce the bi
7110: 6e 61 72 79 20 74 79 70 65 20 62 61 73 65 64 20  nary type based
7120: 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 66 69  on the object fi
7130: 6c 65 73 2e 0a 21 49 46 44 45 46 20 50 4c 41 54  les..!IFDEF PLAT
7140: 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  FORM.LTLINKOPTS
7150: 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49  = /NOLOGO /MACHI
7160: 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 4c  NE:$(PLATFORM).L 7170: 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f TLIBOPTS = /NOLO 7180: 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c GO /MACHINE:$(PL
7190: 41 54 46 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c 54  ATFORM).!ELSE.LT
71a0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f  LINKOPTS = /NOLO
71b0: 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f  GO.LTLIBOPTS = /
71c0: 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23  NOLOGO.!ENDIF..#
71d0: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   When compiling
71e0: 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 57  for use in the W
71f0: 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  inRT environment
7200: 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a  , the following.
7210: 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20  # linker option
7220: 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20  must be used to
7230: 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 74 61  mark the executa
7240: 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a  ble as runnable.
7250: 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f  # only in the co
7260: 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70 6c  ntext of an appl
7270: 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65  ication containe
7280: 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57  r..#.!IF $(FOR_W 7290: 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f INRT)!=0.LTLINKO 72a0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 PTS =$(LTLINKOP
72b0: 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45  TS) /APPCONTAINE
72c0: 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c 53  R.!IF "$(VISUALS 72d0: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d TUDIOVERSION)"== 72e0: 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49 53 "12.0" || "$(VIS
72f0: 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e  UALSTUDIOVERSION
7300: 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44  )"=="14.0".!IFND
7310: 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48 0a  EF STORELIBPATH.
7320: 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  !IF "$(PLATFORM) 7330: 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c 49 "=="x86".STORELI 7340: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 BPATH =$(CRTLIB
7350: 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53  PATH)\store.!ELS
7360: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM) 7370: 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c 49 "=="x64".STORELI 7380: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 BPATH =$(CRTLIB
7390: 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36  PATH)\store\amd6
73a0: 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41  4.!ELSEIF "$(PLA 73b0: 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 TFORM)"=="ARM".S 73c0: 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 TORELIBPATH =$(
73d0: 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72  CRTLIBPATH)\stor
73e0: 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52  e\arm.!ELSE.STOR
73f0: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54  ELIBPATH = $(CRT 7400: 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 LIBPATH)\store.! 7410: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f ENDIF.!ENDIF.STO 7420: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53 54 RELIBPATH =$(ST
7430: 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29  ORELIBPATH:\\=\)
7440: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $( 7450: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 LTLINKOPTS) "/LI 7460: 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49 42 BPATH:$(STORELIB
7470: 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45  PATH)".!ENDIF.!E
7480: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7490: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
74a0: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e  ws Phone 8.1, an
74b0: 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 20 70   extra library p
74c0: 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 72 65  ath is.# require
74d0: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57  d..#.!IF $(USE_W 74e0: 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 P81_OPTS)!=0.!IF 74f0: 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48 NDEF WP81LIBPATH 7500: 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d .!IF "$(PLATFORM
7510: 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c 49  )"=="x86".WP81LI
7520: 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41  BPATH = $(PROGRA 7530: 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 MFILES_X86)\Wind 7540: 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 ows Phone Kits\8 7550: 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45 .1\lib\x86.!ELSE 7560: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 IF "$(PLATFORM)"
7570: 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42 50  =="ARM".WP81LIBP
7580: 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46  ATH = $(PROGRAMF 7590: 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 ILES_X86)\Window 75a0: 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 s Phone Kits\8.1 75b0: 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 \lib\ARM.!ELSE.W 75c0: 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 P81LIBPATH =$(P
75d0: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29  ROGRAMFILES_X86)
75e0: 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b  \Windows Phone K
75f0: 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a  its\8.1\lib\x86.
7600: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45  !ENDIF.!ENDIF.!E
7610: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7620: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
7630: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f  ws Phone 8.1, so
7640: 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 20  me extra linker
7650: 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c  options.# are al
7660: 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  so required..#.!
7670: 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50  IF $(USE_WP81_OP 7680: 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57 50 TS)!=0.!IFDEF WP 7690: 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 81LIBPATH.LTLINK 76a0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f OPTS =$(LTLINKO
76b0: 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24  PTS) "/LIBPATH:$76c0: 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a 21 (WP81LIBPATH)".! 76d0: 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 ENDIF.LTLINKOPTS 76e0: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 =$(LTLINKOPTS)
76f0: 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54   /DYNAMICBASE.LT
7700: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL 7710: 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77 73 INKOPTS) Windows 7720: 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75 PhoneCore.lib Ru 7730: 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20 ntimeObject.lib 7740: 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73 PhoneAppModelHos 7750: 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 t.lib.LTLINKOPTS 7760: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 =$(LTLINKOPTS)
7770: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b   /NODEFAULTLIB:k
7780: 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44  ernel32.lib /NOD
7790: 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e  EFAULTLIB:ole32.
77a0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68  lib.!ENDIF..# Wh
77b0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
77c0: 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e 64   UWP or the Wind
77d0: 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c  ows 10 platform,
77e0: 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b   some extra link
77f0: 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65  er.# options are
7800: 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a   also required..
7810: 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50 29  #.!IF $(FOR_UWP) 7820: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e !=0 ||$(FOR_WIN
7830: 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54  10)!=0.LTLINKOPT
7840: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS 7850: 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20 2f ) /DYNAMICBASE / 7860: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 NODEFAULTLIB:ker 7870: 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b nel32.lib.LTLINK 7880: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f OPTS =$(LTLINKO
7890: 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62  PTS) mincore.lib
78a0: 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42 50  .!IFDEF PSDKLIBP
78b0: 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  ATH.LTLINKOPTS =
78c0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22   $(LTLINKOPTS) " 78d0: 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b 4c /LIBPATH:$(PSDKL
78e0: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a  IBPATH)".!ENDIF.
78f0: 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46 4f  !ENDIF..!IF $(FO 7900: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 R_WIN10)!=0.LTLI 7910: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e NKOPTS =$(LTLIN
7920: 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63 66  KOPTS) /guard:cf
7930: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43 52   "/LIBPATH:$(UCR 7940: 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20 24 TLIBPATH)".!IF$
7950: 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b  (DEBUG)>1.LTLINK
7960: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO 7970: 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c PTS) /NODEFAULTL 7980: 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62 20 IB:libucrtd.lib 7990: 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 /DEFAULTLIB:ucrt 79a0: 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 d.lib.!ELSE.LTLI 79b0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e NKOPTS =$(LTLIN
79c0: 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c  KOPTS) /NODEFAUL
79d0: 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62  TLIB:libucrt.lib
79e0: 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72   /DEFAULTLIB:ucr
79f0: 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e  t.lib.!ENDIF.!EN
7a00: 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65 72  DIF..# If either
7a10: 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73 79   debugging or sy
7a20: 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c 65  mbols are enable
7a30: 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a  d, enable PDBs..
7a40: 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  #.!IF $(DEBUG)>1 7a50: 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d ||$(SYMBOLS)!=
7a60: 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45 42  0.LDFLAGS = /DEB
7a70: 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c  UG $(LDOPTS).!EL 7a80: 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c SE.LDFLAGS =$(L
7a90: 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23  DOPTS).!ENDIF..#
7aa0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72   <<mark>>.# Star
7ab0: 74 20 77 69 74 68 20 74 68 65 20 54 63 6c 20 72  t with the Tcl r
7ac0: 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70  elated linker op
7ad0: 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e  tions..#.!IF $(N 7ae0: 4f 5f 54 43 4c 29 3d 3d 30 0a 54 43 4c 4c 49 42 O_TCL)==0.TCLLIB 7af0: 50 41 54 48 53 20 3d 20 24 28 54 43 4c 4c 49 42 PATHS =$(TCLLIB
7b00: 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48 3a  PATHS) /LIBPATH:
7b10: 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 54 43 4c  $(TCLLIBDIR).TCL 7b20: 4c 49 42 53 20 3d 20 24 28 54 43 4c 4c 49 42 53 LIBS =$(TCLLIBS
7b30: 29 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44  ) $(LIBTCL).!END 7b40: 49 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 IF..# If zlib su 7b50: 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 pport is enabled 7b60: 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 , add the linker 7b70: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e options for it. 7b80: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 .#.!IF$(USE_ZLI
7b90: 42 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53  B)!=0.LTLIBPATHS
7ba0: 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29   = $(LTLIBPATHS) 7bb0: 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 /LIBPATH:$(ZLIB
7bc0: 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d  LIBDIR).LTLIBS =
7bd0: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49   $(LTLIBS)$(ZLI
7be0: 42 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20  BLIB).!ENDIF..#
7bf0: 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69  If ICU support i
7c00: 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74  s enabled, add t
7c10: 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  he linker option
7c20: 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20  s for it..#.!IF
7c30: 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54  $(USE_ICU)!=0.LT 7c40: 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c LIBPATHS =$(LTL
7c50: 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54  IBPATHS) /LIBPAT
7c60: 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c  H:$(ICULIBDIR).L 7c70: 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 TLIBS =$(LTLIBS
7c80: 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44  ) $(LIBICU).!END 7c90: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a IF.# <</mark>>.. 7ca0: 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 # You should not 7cb0: 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 have to change 7cc0: 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 anything below t 7cd0: 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 his line.####### 7ce0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7cf0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7d00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7d10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7d20: 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 ########..# <<ma 7d30: 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 rk>>.# Object fi 7d40: 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69 les for the SQLi 7d50: 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d te library (non- 7d60: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 amalgamation)..# 7d70: 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 .LIBOBJS0 = vdbe 7d80: 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 .lo parse.lo alt 7d90: 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f er.lo analyze.lo 7da0: 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e attach.lo auth. 7db0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61 lo \. ba 7dc0: 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c ckup.lo bitvec.l 7dd0: 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 o btmutex.lo btr 7de0: 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c ee.lo build.lo \ 7df0: 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 . callba 7e00: 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c ck.lo complete.l 7e10: 6f 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20 o ctime.lo \. 7e20: 20 20 20 20 20 20 64 61 74 65 2e 6c 6f 20 64 62 date.lo db 7e30: 70 61 67 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c page.lo dbstat.l 7e40: 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 o delete.lo \. 7e50: 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20 66 expr.lo f 7e60: 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 ault.lo fkey.lo 7e70: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 2e \. fts3. 7e80: 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66 lo fts3_aux.lo f 7e90: 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33 ts3_expr.lo fts3 7ea0: 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63 _hash.lo fts3_ic 7eb0: 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 u.lo \. 7ec0: 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 fts3_porter.lo f 7ed0: 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66 ts3_snippet.lo f 7ee0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f ts3_tokenizer.lo 7ef0: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 fts3_tokenizer1 7f00: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 .lo \. f 7f10: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 ts3_tokenize_vta 7f20: 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 b.lo fts3_unicod 7f30: 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 e.lo fts3_unicod 7f40: 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74 65 e2.lo fts3_write 7f50: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 .lo \. f 7f60: 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 ts5.lo \. 7f70: 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c func.lo global 7f80: 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 .lo hash.lo \. 7f90: 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e icu.lo in 7fa0: 73 65 72 74 2e 6c 6f 20 6a 73 6f 6e 31 2e 6c 6f sert.lo json1.lo 7fb0: 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64 65 legacy.lo loade 7fc0: 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 xt.lo \. 7fd0: 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63 2e main.lo malloc. 7fe0: 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31 2e lo mem0.lo mem1. 7ff0: 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33 2e lo mem2.lo mem3. 8000: 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20 20 lo mem5.lo \. 8010: 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f 20 6d memdb.lo m 8020: 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a 20 emjournal.lo \. 8030: 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c 6f mutex.lo 8040: 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d mutex_noop.lo m 8050: 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 74 utex_unix.lo mut 8060: 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 20 ex_w32.lo \. 8070: 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 6f notify.lo o 8080: 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f 20 pcodes.lo os.lo 8090: 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69 os_unix.lo os_wi 80a0: 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 n.lo \. 80b0: 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65 2e pager.lo pcache. 80c0: 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70 72 lo pcache1.lo pr 80d0: 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65 2e agma.lo prepare. 80e0: 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a 20 lo printf.lo \. 80f0: 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e 6c random.l 8100: 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f 77 o resolve.lo row 8110: 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f 20 set.lo rtree.lo 8120: 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69 74 \. sqlit 8130: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 6c e3session.lo sel 8140: 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72 62 ect.lo sqlite3rb 8150: 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20 73 u.lo status.lo s 8160: 74 6d 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 tmt.lo \. 8170: 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 65 61 table.lo threa 8180: 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 2e 6c ds.lo tokenize.l 8190: 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 74 72 o treeview.lo tr 81a0: 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 igger.lo \. 81b0: 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 75 70 update.lo up 81c0: 73 65 72 74 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20 sert.lo util.lo 81d0: 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20 vacuum.lo \. 81e0: 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c 6f 20 vdbeapi.lo 81f0: 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62 65 62 vdbeaux.lo vdbeb 8200: 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c lob.lo vdbemem.l 8210: 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a o vdbesort.lo \. 8220: 20 20 20 20 20 20 20 20 20 76 64 62 65 74 72 61 vdbetra 8230: 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c ce.lo wal.lo wal 8240: 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20 ker.lo where.lo 8250: 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65 wherecode.lo whe 8260: 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20 reexpr.lo \. 8270: 20 20 20 20 20 77 69 6e 64 6f 77 2e 6c 6f 20 75 window.lo u 8280: 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 tf.lo vtab.lo.# 8290: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a <</mark>>..# Obj 82a0: 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 ect files for th 82b0: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a e amalgamation.. 82c0: 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c #.LIBOBJS1 = sql 82d0: 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 ite3.lo..# Deter 82e0: 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61 mine the real va 82f0: 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61 lue of LIBOBJ ba 8300: 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66 sed on the 'conf 8310: 69 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a igure' script.#. 8320: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 # <<mark>>.!IF$
8330: 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  (USE_AMALGAMATIO
8340: 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24  N)==0.LIBOBJ = $8350: 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45 (LIBOBJS0).!ELSE 8360: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 .# <</mark>>.LIB 8370: 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31 OBJ =$(LIBOBJS1
8380: 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e  ).# <<mark>>.!EN
8390: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
83a0: 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20  .# Determine if
83b0: 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72 63  embedded resourc
83c0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e  e compilation an
83d0: 64 20 75 73 61 67 65 20 61 72 65 20 65 6e 61 62  d usage are enab
83e0: 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  led..#.!IF $(USE 83f0: 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42 _RC)!=0.LIBRESOB 8400: 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e JS = sqlite3res. 8410: 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f lo.!ELSE.LIBRESO 8420: 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 BJS =.!ENDIF..# 8430: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20 <<mark>>.# Core 8440: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 source code file 8450: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 s, part 1..#.SRC 8460: 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 00 = \.$(TOP)\
8470: 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20  src\alter.c \.
8480: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79  $(TOP)\src\analy 8490: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ze.c \.$(TOP)\
84a0: 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20  src\attach.c \.
84b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68   $(TOP)\src\auth 84c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
84d0: 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24  c\backup.c \.  $84e0: 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 (TOP)\src\bitvec 84f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8500: 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20  c\btmutex.c \.
8510: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree 8520: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8530: 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28  c\build.c \.  $( 8540: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 TOP)\src\callbac 8550: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 k.c \.$(TOP)\s
8560: 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a  rc\complete.c \.
8570: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69    $(TOP)\src\cti 8580: 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c me.c \.$(TOP)\
8590: 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24  src\date.c \.  $85a0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65 (TOP)\src\dbpage 85b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
85c0: 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20 24  c\dbstat.c \.  $85d0: 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 (TOP)\src\delete 85e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
85f0: 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54  c\expr.c \.  $(T 8600: 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 OP)\src\fault.c 8610: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 \.$(TOP)\src\f
8620: 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  key.c \.  $(TOP) 8630: 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 20 \src\func.c \. 8640: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61$(TOP)\src\globa
8650: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s 8660: 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 rc\hash.c \.$(
8670: 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e  TOP)\src\insert.
8680: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8690: 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24 28 \legacy.c \.$(
86a0: 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74  TOP)\src\loadext
86b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 86c0: 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 c\main.c \.$(T
86d0: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63  OP)\src\malloc.c
86e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 86f0: 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f 50 mem0.c \.$(TOP
8700: 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20  )\src\mem1.c \.
8710: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32   $(TOP)\src\mem2 8720: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8730: 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28 54  c\mem3.c \.  $(T 8740: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c OP)\src\mem5.c \ 8750: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 .$(TOP)\src\me
8760: 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mdb.c \.  $(TOP) 8770: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e \src\memjournal. 8780: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8790: 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54  \mutex.c \.  $(T 87a0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f OP)\src\mutex_no 87b0: 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c op.c \.$(TOP)\
87c0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
87d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 87e0: 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20 mutex_w32.c \. 87f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66$(TOP)\src\notif
8800: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s 8810: 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f rc\os.c \.$(TO
8820: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
8830: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8840: 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65 os_win.c..# Core 8850: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c source code fil 8860: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 es, part 2..#.SR 8870: 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 C01 = \.$(TOP)
8880: 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20  \src\pager.c \.
8890: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac 88a0: 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c he.c \.$(TOP)\
88b0: 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a  src\pcache1.c \.
88c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61    $(TOP)\src\pra 88d0: 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 gma.c \.$(TOP)
88e0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c  \src\prepare.c \
88f0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  .  $(TOP)\src\pr 8900: 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 intf.c \.$(TOP
8910: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c  )\src\random.c \
8920: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  .  $(TOP)\src\re 8930: 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f solve.c \.$(TO
8940: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c
8950: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s 8960: 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f elect.c \.$(TO
8970: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20  P)\src\status.c
8980: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8990: 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 able.c \.$(TOP
89a0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20  )\src\threads.c
89b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 89c0: 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 clsqlite.c \.$
89d0: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
89e0: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ze.c \.  $(TOP)\ 89f0: 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c src\treeview.c \ 8a00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 .$(TOP)\src\tr
8a10: 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  igger.c \.  $(TO 8a20: 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20 P)\src\utf.c \. 8a30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61$(TOP)\src\upda
8a40: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\ 8a50: 73 72 63 5c 75 70 73 65 72 74 2e 63 20 5c 0a 20 src\upsert.c \. 8a60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c$(TOP)\src\util
8a70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8a80: 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24 c\vacuum.c \.$
8a90: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
8aa0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8ab0: 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 vdbeapi.c \.$(
8ac0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
8ad0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8ae0: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 c\vdbeblob.c \. 8af0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
8b00: 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mem.c \.  $(TOP) 8b10: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 \src\vdbesort.c 8b20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 \.$(TOP)\src\v
8b30: 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24  dbetrace.c \.  $8b40: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 (TOP)\src\vtab.c 8b50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8b60: 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  wal.c \.  $(TOP) 8b70: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a \src\walker.c \. 8b80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65$(TOP)\src\whe
8b90: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\ 8ba0: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 src\wherecode.c 8bb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 \.$(TOP)\src\w
8bc0: 68 65 72 65 65 78 70 72 2e 63 20 5c 0a 20 20 24  hereexpr.c \.  $8bd0: 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 (TOP)\src\window 8be0: 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73 63 65 .c..# Core misce 8bf0: 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73 2e 0a llaneous files.. 8c00: 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20 24 28 #.SRC03 = \.$(
8c10: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79  TOP)\src\parse.y
8c20: 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20  ..# Core header
8c30: 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23  files, part 1..#
8c40: 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 28 54  .SRC04 = \.  $(T 8c50: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68 20 OP)\src\btree.h 8c60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 \.$(TOP)\src\b
8c70: 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28  treeInt.h \.  $( 8c80: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 TOP)\src\hash.h 8c90: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 \.$(TOP)\src\h
8ca0: 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 54 4f  wtime.h \.  $(TO 8cb0: 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a P)\src\msvc.h \. 8cc0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74$(TOP)\src\mut
8cd0: 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.h \.  $(TOP)\ 8ce0: 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24 28 54 src\os.h \.$(T
8cf0: 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f  OP)\src\os_commo
8d00: 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  n.h \.  $(TOP)\s 8d10: 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a rc\os_setup.h \. 8d20: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f$(TOP)\src\os_
8d30: 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 68 65  win.h..# Core he
8d40: 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74  ader files, part
8d50: 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 5c 0a   2..#.SRC05 = \.
8d60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag 8d70: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c er.h \.$(TOP)\
8d80: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20  src\pcache.h \.
8d90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag 8da0: 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c ma.h \.$(TOP)\
8db0: 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20  src\sqlite.h.in
8dc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s 8dd0: 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 20 qlite3ext.h \. 8de0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74$(TOP)\src\sqlit
8df0: 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eInt.h \.  $(TOP 8e00: 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 )\src\sqliteLimi 8e10: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 t.h \.$(TOP)\s
8e20: 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 24 28  rc\vdbe.h \.  $( 8e30: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 TOP)\src\vdbeInt 8e40: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .h \.$(TOP)\sr
8e50: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.
8e60: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 68  $(TOP)\src\wal.h 8e70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8e80: 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 45 78  whereInt.h..# Ex
8e90: 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63  tension source c
8ea0: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part
8eb0: 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c 0a 20  1..#.SRC06 = \.
8ec0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1 8ed0: 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28 54 4f \fts1.c \.$(TO
8ee0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
8ef0: 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f  _hash.c \.  $(TO 8f00: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 P)\ext\fts1\fts1 8f10: 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 _porter.c \.$(
8f20: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
8f30: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s1_tokenizer1.c
8f40: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 8f50: 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20 20 24 ts2\fts2.c \.$
8f60: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
8f70: 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24  ts2_hash.c \.  $8f80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f 8f90: 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28 ts2_icu.c \.$(
8fa0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
8fb0: 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s2_porter.c \.
8fc0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ 8fd0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 fts2_tokenizer.c 8fe0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8ff0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
9000: 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 6e 73  zer1.c..# Extens
9010: 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20  ion source code
9020: 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23  files, part 2..#
9030: 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 28 54  .SRC07 = \.  $(T 9040: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 9050: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 3.c \.$(TOP)\e
9060: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78  xt\fts3\fts3_aux
9070: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9080: 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 t\fts3\fts3_expr 9090: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
90a0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
90b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 90c0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e t\fts3\fts3_icu. 90d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
90e0: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
90f0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 9100: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 xt\fts3\fts3_sni 9110: 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 ppet.c \.$(TOP
9120: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
9130: 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20  tokenizer.c \.
9140: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 9150: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e fts3_tokenizer1. 9160: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9170: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
9180: 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 20 24  ize_vtab.c \.  $9190: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f 91a0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 5c 0a ts3_unicode.c \. 91b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
91c0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
91d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 91e0: 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 \fts3\fts3_write 91f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
9200: 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a 20 20  t\icu\icu.c \.
9210: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree 9220: 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 \rtree.c \.$(T
9230: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
9240: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63  sqlite3session.c
9250: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 9260: 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 rbu\sqlite3rbu.c 9270: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9280: 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c 0a 20  misc\json1.c \.
9290: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 92a0: 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 78 74 65 6e \stmt.c..# Exten 92b0: 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 sion header file 92c0: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 s, part 1..#.SRC 92d0: 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 08 = \.$(TOP)\
92e0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20  ext\fts1\fts1.h
92f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9300: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20 ts1\fts1_hash.h 9310: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9320: 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a  ts1\fts1_tokeniz
9330: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.h \.  $(TOP)\ 9340: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 ext\fts2\fts2.h 9350: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9360: 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 20  ts2\fts2_hash.h
9370: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9380: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a ts2\fts2_tokeniz 9390: 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f er.h..# Extensio 93a0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 n header files, 93b0: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 39 20 part 2..#.SRC09 93c0: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 = \.$(TOP)\ext
93d0: 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20  \fts3\fts3.h \.
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 49 6e 74 2e 68 20 5c 0a 20 20 24 \fts3Int.h \.$
9400: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9410: 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts3_hash.h \.  $9420: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f 9430: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 ts3_tokenizer.h 9440: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 \.$(TOP)\ext\i
9450: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 20 5c  cu\sqliteicu.h \
9460: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  .  $(TOP)\ext\rt 9470: 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 20 ree\rtree.h \. 9480: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65$(TOP)\ext\rtree
9490: 5c 67 65 6f 70 6f 6c 79 2e 63 20 5c 0a 20 20 24  \geopoly.c \.  $94a0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 (TOP)\ext\rbu\sq 94b0: 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20 20 24 lite3rbu.h \.$
94c0: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
94d0: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
94e0: 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20  .h..# Generated
94f0: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
9500: 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a 20 20  s.#.SRC10 = \.
9510: 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 70 61  opcodes.c \.  pa
9520: 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 61 74  rse.c..# Generat
9530: 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a  ed header files.
9540: 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 6b 65  #.SRC11 = \.  ke
9550: 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20  ywordhash.h \.
9560: 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 70 61  opcodes.h \.  pa
9570: 72 73 65 2e 68 20 5c 0a 20 20 73 68 65 6c 6c 2e  rse.h \.  shell.
9580: 63 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 48  c \.  $(SQLITE3H 9590: 29 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 54 )..# Generated T 95a0: 63 6c 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a cl header files. 95b0: 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 #.!IF$(USE_STDC
95c0: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR 95d0: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 52 43 31 32 _WIN10)!=0.SRC12 95e0: 20 3d 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 = \.$(SQLITET
95f0: 43 4c 48 29 20 5c 0a 20 20 24 28 53 51 4c 49 54  CLH) \.  $(SQLIT 9600: 45 54 43 4c 44 45 43 4c 53 48 29 0a 21 45 4c 53 ETCLDECLSH).!ELS 9610: 45 0a 53 52 43 31 32 20 3d 0a 21 45 4e 44 49 46 E.SRC12 =.!ENDIF 9620: 0a 0a 23 20 41 6c 6c 20 73 6f 75 72 63 65 20 63 ..# All source c 9630: 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 ode files..#.SRC 9640: 20 3d 20 24 28 53 52 43 30 30 29 20 24 28 53 52 =$(SRC00) $(SR 9650: 43 30 31 29 20 24 28 53 52 43 30 33 29 20 24 28 C01)$(SRC03) $( 9660: 53 52 43 30 34 29 20 24 28 53 52 43 30 35 29 20 SRC04)$(SRC05)
9670: 24 28 53 52 43 30 36 29 20 24 28 53 52 43 30 37  $(SRC06)$(SRC07
9680: 29 20 24 28 53 52 43 30 38 29 20 24 28 53 52 43  ) $(SRC08)$(SRC
9690: 30 39 29 20 24 28 53 52 43 31 30 29 20 24 28 53  09) $(SRC10)$(S
96a0: 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 20  RC11)..# Source
96b0: 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74  code to the test
96c0: 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52   files..#.TESTSR
96d0: 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  C = \.  $(TOP)\s 96e0: 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24 rc\test1.c \.$
96f0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e  (TOP)\src\test2.
9700: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9710: 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28 54 \test3.c \.$(T
9720: 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20  OP)\src\test4.c
9730: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9740: 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 est5.c \.$(TOP
9750: 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a  )\src\test6.c \.
9760: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9770: 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c t7.c \.$(TOP)\
9780: 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20  src\test8.c \.
9790: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39  $(TOP)\src\test9 97a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
97b0: 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e 63  c\test_autoext.c
97c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 97d0: 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20 test_async.c \. 97e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
97f0: 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28  _backup.c \.  $( 9800: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 65 TOP)\src\test_be 9810: 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 stindex.c \.$(
9820: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 6c  TOP)\src\test_bl
9830: 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ob.c \.  $(TOP)\ 9840: 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e 63 src\test_btree.c 9850: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9860: 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a  test_config.c \.
9870: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9880: 74 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 t_delete.c \.$
9890: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64  (TOP)\src\test_d
98a0: 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  emovfs.c \.  $(T 98b0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 76 OP)\src\test_dev 98c0: 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 sym.c \.$(TOP)
98d0: 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 20 5c  \src\test_fs.c \
98e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 98f0: 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 st_func.c \.$(
9900: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 68 65  TOP)\src\test_he
9910: 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  xio.c \.  $(TOP) 9920: 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 2e 63 \src\test_init.c 9930: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9940: 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e 63 20  test_intarray.c
9950: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9960: 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a est_journal.c \. 9970: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9980: 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24  t_malloc.c \.  $9990: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d (TOP)\src\test_m 99a0: 64 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c d5.c \.$(TOP)\
99b0: 73 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69 70 6c  src\test_multipl
99c0: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\ 99d0: 73 72 63 5c 74 65 73 74 5f 6d 75 74 65 78 2e 63 src\test_mutex.c 99e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
99f0: 74 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 20 5c  test_onefile.c \
9a00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9a10: 73 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a 20 20 st_osinst.c \. 9a20: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
9a30: 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54  pcache.c \.  $(T 9a40: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 71 75 6f OP)\src\test_quo 9a50: 74 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ta.c \.$(TOP)\
9a60: 73 72 63 5c 74 65 73 74 5f 72 74 72 65 65 2e 63  src\test_rtree.c
9a70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 9a80: 74 65 73 74 5f 73 63 68 65 6d 61 2e 63 20 5c 0a test_schema.c \. 9a90: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9aa0: 74 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20 20 24  t_server.c \.  $9ab0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 (TOP)\src\test_s 9ac0: 75 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20 20 24 uperlock.c \.$
9ad0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
9ae0: 79 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 28 54  yscall.c \.  $(T 9af0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c OP)\src\test_tcl 9b00: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.c \.$(TOP)\
9b10: 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e  src\test_tclvar.
9b20: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9b30: 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c \test_thread.c \ 9b40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
9b50: 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  st_vfs.c \.  $(T 9b60: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e OP)\src\test_win 9b70: 64 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54 dirent.c \.$(T
9b80: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
9b90: 64 6f 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  dow.c \.  $(TOP) 9ba0: 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 \src\test_wsd.c 9bb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9bc0: 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20  ts3\fts3_term.c
9bd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9be0: 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 ts3\fts3_test.c 9bf0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 \.$(TOP)\ext\r
9c00: 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a  bu\test_rbu.c \.
9c10: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses 9c20: 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f sion\test_sessio 9c30: 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c n.c..# Staticall 9c40: 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 y linked extensi 9c50: 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d ons..#.TESTEXT = 9c60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9c70: 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
9c80: 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pert.c \.  $(TOP 9c90: 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73 )\ext\expert\tes 9ca0: 74 5f 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 t_expert.c \.$
9cb0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61  (TOP)\ext\misc\a
9cc0: 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f  match.c \.  $(TO 9cd0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72 P)\ext\misc\carr 9ce0: 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ay.c \.$(TOP)\
9cf0: 65 78 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65  ext\misc\closure
9d00: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9d10: 74 5c 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20 t\misc\csv.c \. 9d20: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
9d30: 5c 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  \eval.c \.  $(TO 9d40: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 78 70 6c P)\ext\misc\expl 9d50: 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ain.c \.$(TOP)
9d60: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
9d70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9d80: 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20 t\misc\fuzzer.c 9d90: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9da0: 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c  ts5\fts5_tcl.c \
9db0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 9dc0: 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e s5\fts5_test_mi. 9dd0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9de0: 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f  \fts5\fts5_test_
9df0: 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tok.c \.  $(TOP) 9e00: 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35 \ext\misc\ieee75 9e10: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 4.c \.$(TOP)\e
9e20: 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d  xt\misc\mmapwarm
9e30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9e40: 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e t\misc\nextchar. 9e50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9e60: 5c 6d 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65 2e  \misc\normalize.
9e70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 9e80: 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 \misc\percentile 9e90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
9ea0: 74 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20  t\misc\regexp.c
9eb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 9ec0: 69 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c isc\remember.c \ 9ed0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
9ee0: 73 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20  sc\series.c \.
9ef0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ 9f00: 73 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 spellfix.c \.$
9f10: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74  (TOP)\ext\misc\t
9f20: 6f 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f  otype.c \.  $(TO 9f30: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f P)\ext\misc\unio 9f40: 6e 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f nvtab.c \.$(TO
9f50: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c  P)\ext\misc\whol
9f60: 65 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20  enumber.c..# If
9f70: 75 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65  use of zlib is e
9f80: 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20  nabled, add the
9f90: 22 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72  "zipfile.c" sour
9fa0: 63 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24  ce file..#.!IF $9fb0: 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45 (USE_ZLIB)!=0.TE 9fc0: 53 54 45 58 54 20 3d 20 24 28 54 45 53 54 45 58 STEXT =$(TESTEX
9fd0: 54 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  T) $(TOP)\ext\mi 9fe0: 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e sc\zipfile.c.!EN 9ff0: 44 49 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f DIF..# Source co a000: 64 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 de to the librar a010: 79 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62 y files needed b a020: 79 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 y the test fixtu a030: 72 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 re.# (non-amalga a040: 6d 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 mation).#.TESTSR a050: 43 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 C2 = \.$(SRC00
a060: 29 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c  ) \.  $(SRC01) \ a070: 0a 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 .$(SRC06) \.
a080: 24 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53  $(SRC07) \.$(S
a090: 52 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29  RC10) \.  $(TOP) a0a0: 5c 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 \ext\async\sqlit a0b0: 65 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 e3async.c..# Hea a0c0: 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 der files used b a0d0: 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f y all library so a0e0: 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 urce files..#.HD a0f0: 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c R = \.$(TOP)\
a100: 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20  src\btree.h \.
a110: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre a120: 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f eInt.h \.$(TO
a130: 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a  P)\src\hash.h \.
a140: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77     $(TOP)\src\hw a150: 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 time.h \. keyw a160: 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 ordhash.h \.$
a170: 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68  (TOP)\src\msvc.h
a180: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src a190: 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 \mutex.h \. op a1a0: 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 codes.h \.$(T
a1b0: 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20  OP)\src\os.h \.
a1c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_ a1d0: 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 common.h \.$(
a1e0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75  TOP)\src\os_setu
a1f0: 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  p.h \.   $(TOP)\ a200: 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 src\os_win.h \. a210: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67$(TOP)\src\pag
a220: 65 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  er.h \.   $(TOP) a230: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a \src\pcache.h \. a240: 20 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 parse.h \. a250: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d$(TOP)\src\pragm
a260: 61 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54  a.h \.   $(SQLIT a270: 45 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 E3H) \. sqlite a280: 33 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 3ext.h \.$(TO
a290: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74  P)\src\sqliteInt
a2a0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s a2b0: 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 rc\sqliteLimit.h a2c0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 \.$(TOP)\src
a2d0: 5c 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54  \vdbe.h \.   $(T a2e0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e OP)\src\vdbeInt. a2f0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 h \.$(TOP)\sr
a300: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.
a310: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher a320: 65 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 eInt.h..# Header a330: 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 65 files used by e a340: 78 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 xtensions.#.EXTH a350: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c DR =$(EXTHDR) \
a360: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft a370: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 s1\fts1.h \.$(
a380: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a390: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $( a3a0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 TOP)\ext\fts1\ft a3b0: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 s1_tokenizer.h.E a3c0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 XTHDR =$(EXTHDR
a3d0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext a3e0: 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 \fts2\fts2.h \. a3f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
a400: 5c 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts2_hash.h \.
a410: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 a420: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e \fts2_tokenizer. a430: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 h.EXTHDR =$(EXT
a440: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\ a450: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 ext\fts3\fts3.h a460: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
a470: 74 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a  ts3\fts3Int.h \.
a480: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts a490: 33 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 3\fts3_hash.h \. a4a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
a4b0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
a4c0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX a4d0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 THDR) \.$(TOP)
a4e0: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
a4f0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex a500: 74 5c 72 74 72 65 65 5c 67 65 6f 70 6f 6c 79 2e t\rtree\geopoly. a510: 63 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 c.EXTHDR =$(EXT
a520: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\ a530: 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 ext\icu\sqliteic a540: 75 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 u.h.EXTHDR =$(E
a550: 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50  XTHDR) \.  $(TOP a560: 29 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 )\ext\rtree\sqli a570: 74 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44 te3rtree.h.EXTHD a580: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a R =$(EXTHDR) \.
a590: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses a5a0: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 sion\sqlite3sess a5b0: 69 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 ion.h..# executa a5c0: 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20 bles needed for a5d0: 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 testing.#.TESTPR a5e0: 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 OGS = \. testfi a5f0: 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 xture.exe \.$(
a600: 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20  SQLITE3EXE) \.
a610: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
a620: 2e 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65 33  .exe \.  sqlite3
a630: 5f 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20  _checker.exe \.
a640: 20 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20   sqldiff.exe \.
a650: 20 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20 20   dbhash.exe \.
a660: 73 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20  sqltclsh.exe..#
a670: 44 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69  Databases contai
a680: 6e 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74  ning fuzzer test
a690: 20 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54   cases.#.FUZZDAT
a6a0: 41 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74  A = \.  $(TOP)\t a6b0: 65 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 est\fuzzdata1.db a6c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 \.$(TOP)\test
a6d0: 5c 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a  \fuzzdata2.db \.
a6e0: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu a6f0: 7a 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 zzdata3.db \.$
a700: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
a710: 61 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata4.db \.  $(TO a720: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 P)\test\fuzzdata a730: 35 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 5.db \.$(TOP)\
a740: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 36 2e 64  test\fuzzdata6.d
a750: 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  b.# <</mark>>..#
a760: 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70   Additional comp
a770: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72  iler options for
a780: 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54 68 65   the shell.  The
a790: 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66 66 65  se are only effe
a7a0: 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74 68 65  ctive.# when the
a7b0: 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65   shell is not be
a7c0: 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20  ing dynamically
a7d0: 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28  linked..#.!IF $( a7e0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d DYNAMIC_SHELL)== a7f0: 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e 31 30 0 &&$(FOR_WIN10
a800: 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  )==0.SHELL_COMPI
a810: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL a820: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 L_COMPILE_OPTS) a830: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ a840: 46 54 53 34 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d FTS4=1.SHELL_COM a850: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 PILE_OPTS =$(SH
a860: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a870: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
a880: 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e  E_EXPLAIN_COMMEN
a890: 54 53 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  TS=1.SHELL_COMPI
a8a0: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL a8b0: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 L_COMPILE_OPTS) a8c0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ a8d0: 4f 46 46 53 45 54 5f 53 51 4c 5f 46 55 4e 43 3d OFFSET_SQL_FUNC= a8e0: 31 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 1.!ENDIF..# <<ma a8f0: 72 6b 3e 3e 0a 23 20 45 78 74 72 61 20 63 6f 6d rk>>.# Extra com a900: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f piler options fo a910: 72 20 76 61 72 69 6f 75 73 20 74 65 73 74 20 74 r various test t a920: 6f 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53 54 45 52 ools..#.MPTESTER a930: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 _COMPILE_OPTS = a940: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ a950: 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 JSON1 -DSQLITE_E a960: 4e 41 42 4c 45 5f 46 54 53 35 0a 46 55 5a 5a 45 NABLE_FTS5.FUZZE a970: 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f RSHELL_COMPILE_O a980: 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 PTS = -DSQLITE_E a990: 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55 5a 5a NABLE_JSON1.FUZZ a9a0: 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 CHECK_COMPILE_OP a9b0: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e TS = -DSQLITE_EN a9c0: 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c ABLE_JSON1 -DSQL a9d0: 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d 53 59 ITE_ENABLE_MEMSY a9e0: 53 35 20 2d 44 53 51 4c 49 54 45 5f 4f 53 53 5f S5 -DSQLITE_OSS_ a9f0: 46 55 5a 5a 20 2d 44 53 51 4c 49 54 45 5f 4d 41 FUZZ -DSQLITE_MA aa00: 58 5f 4d 45 4d 4f 52 59 3d 35 30 30 30 30 30 30 X_MEMORY=5000000 aa10: 30 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 4e 54 0 -DSQLITE_PRINT aa20: 46 5f 50 52 45 43 49 53 49 4f 4e 5f 4c 49 4d 49 F_PRECISION_LIMI aa30: 54 3d 31 30 30 30 0a 46 55 5a 5a 43 48 45 43 4b T=1000.FUZZCHECK aa40: 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 _SRC =$(TOP)\te
aa50: 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24  st\fuzzcheck.c $aa60: 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 (TOP)\test\ossfu aa70: 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c 5f 53 52 zz.c.OSSSHELL_SR aa80: 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 74 5c C =$(TOP)\test\
aa90: 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28 54 4f 50  ossshell.c $(TOP aaa0: 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 )\test\ossfuzz.c aab0: 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f .DBFUZZ_COMPILE_ aac0: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f OPTS = -DSQLITE_ aad0: 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 THREADSAFE=0 -DS aae0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f QLITE_OMIT_LOAD_ aaf0: 45 58 54 45 4e 53 49 4f 4e 0a 4b 56 5f 43 4f 4d EXTENSION.KV_COM ab00: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 PILE_OPTS = -DSQ ab10: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d LITE_THREADSAFE= ab20: 30 20 2d 44 53 51 4c 49 54 45 5f 44 49 52 45 43 0 -DSQLITE_DIREC ab30: 54 5f 4f 56 45 52 46 4c 4f 57 5f 52 45 41 44 0a T_OVERFLOW_READ. ab40: 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 ST_COMPILE_OPTS ab50: 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 = -DSQLITE_THREA ab60: 44 53 41 46 45 3d 30 0a 0a 23 20 53 74 61 6e 64 DSAFE=0..# Stand ab70: 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74 ard options to t ab80: 65 73 74 66 69 78 74 75 72 65 2e 0a 23 0a 54 45 estfixture..#.TE ab90: 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72 62 6f STOPTS = --verbo aba0: 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70 75 74 se=file --output abb0: 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a 0a 23 =test-out.txt..# abc0: 20 45 78 74 72 61 20 74 61 72 67 65 74 73 20 66 Extra targets f abd0: 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 74 61 72 or the "all" tar abe0: 67 65 74 20 74 68 61 74 20 72 65 71 75 69 72 65 get that require abf0: 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28 4e 4f Tcl..#.!IF$(NO
ac00: 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c  _TCL)==0.ALL_TCL
ac10: 5f 54 41 52 47 45 54 53 20 3d 20 6c 69 62 74 63  _TARGETS = libtc
ac20: 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c  lsqlite3.lib.!EL
ac30: 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45  SE.ALL_TCL_TARGE
ac40: 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  TS =.!ENDIF.# <<
ac50: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20  /mark>>..# This
ac60: 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 4d  is the default M
ac70: 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e 20  akefile target.
ac80: 20 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69 73   The objects lis
ac90: 74 65 64 20 68 65 72 65 0a 23 20 61 72 65 20 77  ted here.# are w
aca0: 68 61 74 20 67 65 74 20 62 75 69 6c 64 20 77 68  hat get build wh
acb0: 65 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73 74  en you type just
acc0: 20 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f 20   "make" with no
acd0: 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 63 6f 72  arguments..#.cor
ace0: 65 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69 74 65  e:.dll libsqlite
acf0: 33 2e 6c 69 62 20 73 68 65 6c 6c 0a 0a 23 20 54  3.lib shell..# T
ad00: 61 72 67 65 74 73 20 74 68 61 74 20 72 65 71 75  argets that requ
ad10: 69 72 65 20 74 68 65 20 54 63 6c 20 6c 69 62 72  ire the Tcl libr
ad20: 61 72 79 2e 0a 23 0a 74 63 6c 3a 09 24 28 41 4c  ary..#.tcl:.$(AL ad30: 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 29 0a 0a L_TCL_TARGETS).. ad40: 23 20 54 68 69 73 20 4d 61 6b 65 66 69 6c 65 20 # This Makefile ad50: 74 61 72 67 65 74 20 62 75 69 6c 64 73 20 61 6c target builds al ad60: 6c 20 6f 66 20 74 68 65 20 73 74 61 6e 64 61 72 l of the standar ad70: 64 20 62 69 6e 61 72 69 65 73 2e 0a 23 0a 61 6c d binaries..#.al ad80: 6c 3a 09 63 6f 72 65 20 74 63 6c 0a 0a 23 20 44 l:.core tcl..# D ad90: 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72 ynamic link libr ada0: 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a 23 0a 64 ary section..#.d adb0: 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 44 4c 4c ll:.$(SQLITE3DLL
adc0: 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78 65 63 75  )..# Shell execu
add0: 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09  table..#.shell:.
ade0: 24 28 53 51 4c 49 54 45 33 45 58 45 29 0a 0a 23  $(SQLITE3EXE)..# adf0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c <<mark>>.libsql ae00: 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49 42 4f ite3.lib:.$(LIBO
ae10: 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20 24 28  BJ)..$(LTLIB)$(
ae20: 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55 54 3a  LTLIBOPTS) /OUT:
ae30: 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 54  $@$(LIBOBJ) $(T ae40: 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c 73 71 6c LIBS)..libtclsql ae50: 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c 73 71 6c ite3.lib:.tclsql ae60: 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 ite.lo libsqlite ae70: 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 42 29 20 3.lib..$(LTLIB)
ae80: 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 24 28 4c  $(LTLIBOPTS)$(L
ae90: 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a  TLIBPATHS) /OUT:
aea0: 24 40 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20  $@ tclsqlite.lo aeb0: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 24 libsqlite3.lib$
aec0: 28 4c 49 42 54 43 4c 53 54 55 42 29 20 24 28 54  (LIBTCLSTUB) $(T aed0: 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e LIBS).# <</mark> aee0: 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 >..$(SQLITE3DLL)
aef0: 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49  :.$(LIBOBJ)$(LI
af00: 42 52 45 53 4f 42 4a 53 29 20 24 28 43 4f 52 45  BRESOBJS) $(CORE af10: 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24 28 4c 44 _LINK_DEP)..$(LD
af20: 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS)$(L
af30: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL af40: 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 24 28 IBPATHS) /DLL$(
af50: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20  CORE_LINK_OPTS)
af60: 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a  /OUT:$@$(LIBOBJ
af70: 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20  ) $(LIBRESOBJS) af80: 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42$(LTLIBS) $(TLIB af90: 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e S)..# <<block2>> afa0: 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a 09 6c 69 .sqlite3.def:.li afb0: 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 65 63 bsqlite3.lib..ec afc0: 68 6f 20 45 58 50 4f 52 54 53 20 3e 20 73 71 6c ho EXPORTS > sql afd0: 69 74 65 33 2e 64 65 66 0a 09 64 75 6d 70 62 69 ite3.def..dumpbi afe0: 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c 69 74 65 n /all libsqlite aff0: 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24 28 54 43 3.lib \...|$(TC
b000: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ b010: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c tool\replace.tcl b020: 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73 2b 31 20 include "^\s+1 b030: 5f 3f 28 73 71 6c 69 74 65 33 28 3f 3a 73 65 73 _?(sqlite3(?:ses b040: 73 69 6f 6e 7c 63 68 61 6e 67 65 73 65 74 7c 63 sion|changeset|c b050: 68 61 6e 67 65 67 72 6f 75 70 7c 72 65 62 61 73 hangegroup|rebas b060: 65 72 29 3f 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c er)?_[^@]*)(?:@\ b070: 64 2b 29 3f 24 24 22 20 5c 31 20 5c 0a 09 09 7c d+)?$$" \1 \...| b080: 20 73 6f 72 74 20 3e 3e 20 73 71 6c 69 74 65 33 sort >> sqlite3 b090: 2e 64 65 66 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 .def.# <</block2 b0a0: 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 45 58 45 >>..$(SQLITE3EXE
b0b0: 29 3a 09 73 68 65 6c 6c 2e 63 20 24 28 53 48 45  ):.shell.c $(SHE b0c0: 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c LL_CORE_DEP)$(L
b0d0: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 53 48 45  IBRESOBJS) $(SHE b0e0: 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 24 28 53 LL_CORE_SRC)$(S
b0f0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI b100: 4e 4b 29 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 NK)$(SHELL_COMP
b110: 49 4c 45 5f 4f 50 54 53 29 20 24 28 52 45 41 44  ILE_OPTS) $(READ b120: 4c 49 4e 45 5f 46 4c 41 47 53 29 20 73 68 65 6c LINE_FLAGS) shel b130: 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 l.c$(SHELL_CORE
b140: 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20  _SRC) \.../link
b150: 24 28 53 51 4c 49 54 45 33 45 58 45 50 44 42 29  $(SQLITE3EXEPDB) b160: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT b170: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 53 48 45 4c LINKOPTS)$(SHEL
b180: 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 24 28 4c  L_LINK_OPTS) $(L b190: 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 TLIBPATHS)$(LIB
b1a0: 52 45 53 4f 42 4a 53 29 20 24 28 4c 49 42 52 45  RESOBJS) $(LIBRE b1b0: 41 44 4c 49 4e 45 29 20 24 28 4c 54 4c 49 42 53 ADLINE)$(LTLIBS
b1c0: 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c  ) $(TLIBS)..# << b1d0: 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 mark>>.sqldiff.e b1e0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c xe:.$(TOP)\tool\
b1f0: 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49  sqldiff.c $(SQLI b200: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
b210: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
b220: 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74  O_WARN) $(TOP)\t b230: 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 ool\sqldiff.c$(
b240: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link
b250: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
b260: 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 68 61 73 68  INKOPTS)..dbhash
b270: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too b280: 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c l\dbhash.c$(SQL
b290: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 b2a0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( b2b0: 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c NO_WARN)$(TOP)\
b2c0: 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 28  tool\dbhash.c $( b2d0: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 SQLITE3C) /link b2e0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL b2f0: 49 4e 4b 4f 50 54 53 29 0a 0a 73 63 72 75 62 2e INKOPTS)..scrub. b300: 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c exe:.$(TOP)\ext\
b310: 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28 53  misc\scrub.c $(S b320: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
b330: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) b340: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 43 52$(NO_WARN) -DSCR
b350: 55 42 5f 53 54 41 4e 44 41 4c 4f 4e 45 3d 31 20  UB_STANDALONE=1
b360: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ b370: 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 scrub.c$(SQLITE
b380: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL b390: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 AGS)$(LTLINKOPT
b3a0: 53 29 0a 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09  S)..srcck1.exe:.
b3b0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63  $(TOP)\tool\srcc b3c0: 6b 31 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e k1.c..$(BCC) $(N b3d0: 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 O_WARN) -Fe$@ $( b3e0: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 TOP)\tool\srcck1 b3f0: 2e 63 0a 0a 73 6f 75 72 63 65 74 65 73 74 3a 09 .c..sourcetest:. b400: 73 72 63 63 6b 31 2e 65 78 65 20 24 28 53 51 4c srcck1.exe$(SQL
b410: 49 54 45 33 43 29 0a 09 73 72 63 63 6b 31 2e 65  ITE3C)..srcck1.e
b420: 78 65 20 24 28 53 51 4c 49 54 45 33 43 29 0a 0a  xe $(SQLITE3C).. b430: 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 3a fuzzershell.exe: b440: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a .$(TOP)\tool\fuz
b450: 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c  zershell.c $(SQL b460: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
b470: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK)$(
b480: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 45  NO_WARN) $(FUZZE b490: 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f RSHELL_COMPILE_O b4a0: 50 54 53 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c PTS)$(TOP)\tool
b4b0: 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24  \fuzzershell.c $b4c0: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b (SQLITE3C) /link b4d0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT b4e0: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 66 75 7a LINKOPTS)..dbfuz b4f0: 7a 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 z.exe:.$(TOP)\te
b500: 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53 51  st\dbfuzz.c $(SQ b510: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 LITE3C)$(SQLITE
b520: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK)$
b530: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 44 42 46 55  (NO_WARN) $(DBFU b540: 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 ZZ_COMPILE_OPTS) b550: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66$(TOP)\test\dbf
b560: 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43  uzz.c $(SQLITE3C b570: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
b580: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) b590: 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 3a ..fuzzcheck.exe: b5a0: 09 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 .$(FUZZCHECK_SRC
b5b0: 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  ) $(SQLITE3C)$(
b5c0: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL b5d0: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 INK)$(NO_WARN)
b5e0: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50  $(FUZZCHECK_COMP b5f0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 46 55 5a 5a ILE_OPTS)$(FUZZ
b600: 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c  CHECK_SRC) $(SQL b610: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
b620: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK b630: 4f 50 54 53 29 0a 0a 6f 73 73 73 68 65 6c 6c 2e OPTS)..ossshell. b640: 65 78 65 3a 09 24 28 4f 53 53 53 48 45 4c 4c 5f exe:.$(OSSSHELL_
b650: 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29  SRC) $(SQLITE3C) b660: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( b670: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
b680: 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43  N) $(FUZZCHECK_C b690: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4f OMPILE_OPTS)$(O
b6a0: 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53  SSSHELL_SRC) $(S b6b0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 QLITE3C) /link$
b6c0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI b6d0: 4e 4b 4f 50 54 53 29 0a 0a 73 65 73 73 69 6f 6e NKOPTS)..session b6e0: 66 75 7a 7a 2e 65 78 65 3a 09 7a 6c 69 62 20 24 fuzz.exe:.zlib$
b6f0: 28 54 4f 50 29 5c 74 65 73 74 5c 73 65 73 73 69  (TOP)\test\sessi
b700: 6f 6e 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54  onfuzz.c $(SQLIT b710: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
b720: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
b730: 5f 57 41 52 4e 29 20 2d 49 24 28 5a 4c 49 42 49  _WARN) -I$(ZLIBI b740: 4e 43 44 49 52 29 20 24 28 54 4f 50 29 5c 74 65 NCDIR)$(TOP)\te
b750: 73 74 5c 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 63  st\sessionfuzz.c
b760: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS b770: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 )$(LTLINKOPTS)
b780: 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 4c  /LIBPATH:$(ZLIBL b790: 49 42 44 49 52 29 20 24 28 5a 4c 49 42 4c 49 42 IBDIR)$(ZLIBLIB
b7a0: 29 0a 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a  )..mptester.exe:
b7b0: 09 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d  .$(TOP)\mptest\m b7c0: 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 ptest.c$(SQLITE
b7d0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H). b7e0: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ b7f0: 57 41 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52 WARN)$(MPTESTER
b800: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $b810: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 (TOP)\mptest\mpt b820: 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 est.c$(SQLITE3C
b830: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG b840: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
b850: 0a 0a 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65  ..MPTEST1 = mpte
b860: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24  ster mptest.db $b870: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61 (TOP)\mptest\cra b880: 73 68 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 sh01.test --repe b890: 61 74 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20 at 20.MPTEST2 = b8a0: 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e mptester mptest. b8b0: 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 db$(TOP)\mptest
b8c0: 5c 6d 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65  \multiwrite01.te
b8d0: 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a  st --repeat 20..
b8e0: 6d 70 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72  mptest:.mptester
b8f0: 2e 65 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74  .exe..del /Q mpt
b900: 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28  est.db 2>NUL..$( b910: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e MPTEST1) --journ b920: 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24 almode DELETE..$
b930: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
b940: 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d  nalmode WAL..$(M b950: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 PTEST1) --journa b960: 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 lmode WAL..$(MPT
b970: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
b980: 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d  ode PERSIST..$(M b990: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 PTEST1) --journa b9a0: 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 lmode PERSIST..$
b9b0: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
b9c0: 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45  nalmode TRUNCATE
b9d0: 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a  ..$(MPTEST1) --j b9e0: 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 ournalmode TRUNC b9f0: 41 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 ATE..$(MPTEST2)
ba00: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45  --journalmode DE
ba10: 4c 45 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72  LETE..# This tar
ba20: 67 65 74 20 63 72 65 61 74 65 73 20 61 20 64 69  get creates a di
ba30: 72 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74  rectory named "t
ba40: 73 72 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69  src" and fills i
ba50: 74 20 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20  t with.# copies
ba60: 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20  of all of the C
ba70: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20  source code and
ba80: 68 65 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65  header files nee
ba90: 64 65 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f  ded to.# build o
baa0: 6e 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73  n the target sys
bab0: 74 65 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68  tem.  Some of th
bac0: 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20  e C source code
bad0: 61 6e 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c  and header.# fil
bae0: 65 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63  es are automatic
baf0: 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20  ally generated.
bb00: 20 54 68 69 73 20 74 61 72 67 65 74 20 74 61 6b   This target tak
bb10: 65 73 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c  es care of.# all
bb20: 20 74 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20   that automatic
bb30: 67 65 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74  generation..#..t
bb40: 61 72 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28  arget_source:.$( bb50: 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c SRC)$(TOP)\tool
bb60: 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74  \vdbe-compress.t
bb70: 63 6c 20 66 74 73 35 2e 63 20 24 28 53 51 4c 49  cl fts5.c $(SQLI bb80: 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d TE_TCL_DEP)..-rm bb90: 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e dir /Q/S tsrc 2> bba0: 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63 NUL..-mkdir tsrc bbb0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 ..for %i in ($(S
bbc0: 52 43 30 30 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC00)) do copy /
bbd0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
bbe0: 69 20 69 6e 20 28 24 28 53 52 43 30 31 29 29 20  i in ($(SRC01)) bbf0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 do copy /Y %i ts bc00: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 rc..for %i in ($
bc10: 28 53 52 43 30 33 29 29 20 64 6f 20 63 6f 70 79  (SRC03)) do copy
bc20: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
bc30: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 34 29   %i in ($(SRC04) bc40: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 ) do copy /Y %i bc50: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 tsrc..for %i in bc60: 28 24 28 53 52 43 30 35 29 29 20 64 6f 20 63 6f ($(SRC05)) do co
bc70: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
bc80: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0 bc90: 36 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 6)) do copy /Y % bca0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 i tsrc..for %i i bcb0: 6e 20 28 24 28 53 52 43 30 37 29 29 20 64 6f 20 n ($(SRC07)) do
bcc0: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
bcd0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR bce0: 43 30 38 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 C08)) do copy /Y bcf0: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 %i tsrc..for %i bd00: 20 69 6e 20 28 24 28 53 52 43 30 39 29 29 20 64 in ($(SRC09)) d
bd10: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
bd20: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($( bd30: 53 52 43 31 30 29 29 20 64 6f 20 63 6f 70 79 20 SRC10)) do copy bd40: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 /Y %i tsrc..for bd50: 25 69 20 69 6e 20 28 24 28 53 52 43 31 31 29 29 %i in ($(SRC11))
bd60: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
bd70: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
bd80: 24 28 53 52 43 31 32 29 29 20 64 6f 20 63 6f 70  $(SRC12)) do cop bd90: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 63 6f y /Y %i tsrc..co bda0: 70 79 20 2f 59 20 66 74 73 35 2e 63 20 74 73 72 py /Y fts5.c tsr bdb0: 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35 2e c..copy /Y fts5. bdc0: 68 20 74 73 72 63 0a 09 64 65 6c 20 2f 51 20 74 h tsrc..del /Q t bdd0: 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 src\sqlite.h.in bde0: 74 73 72 63 5c 70 61 72 73 65 2e 79 20 32 3e 4e tsrc\parse.y 2>N bdf0: 55 4c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 UL..$(TCLSH_CMD)
be00: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62   $(TOP)\tool\vdb be10: 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 24 e-compress.tcl$
be20: 28 4f 50 54 53 29 20 3c 20 74 73 72 63 5c 76 64  (OPTS) < tsrc\vd
be30: 62 65 2e 63 20 3e 20 76 64 62 65 2e 6e 65 77 0a  be.c > vdbe.new.
be40: 09 6d 6f 76 65 20 76 64 62 65 2e 6e 65 77 20 74  .move vdbe.new t
be50: 73 72 63 5c 76 64 62 65 2e 63 0a 09 65 63 68 6f  src\vdbe.c..echo
be60: 20 3e 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63   > .target_sourc
be70: 65 0a 0a 73 71 6c 69 74 65 33 2e 63 3a 09 2e 74  e..sqlite3.c:..t
be80: 61 72 67 65 74 5f 73 6f 75 72 63 65 20 73 71 6c  arget_source sql
be90: 69 74 65 33 65 78 74 2e 68 20 24 28 4d 4b 53 51  ite3ext.h $(MKSQ bea0: 4c 49 54 45 33 43 5f 54 4f 4f 4c 29 0a 09 24 28 LITE3C_TOOL)..$(
beb0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 4d 4b 53  TCLSH_CMD) $(MKS bec0: 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 29 20 24 28 QLITE3C_TOOL)$(
bed0: 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29  MKSQLITE3C_ARGS)
bee0: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78  ..copy $(TOP)\ex bef0: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 t\session\sqlite bf00: 33 73 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 3session.h ...sq bf10: 6c 69 74 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c lite3-all.c:.sql bf20: 69 74 65 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f ite3.c$(TOP)\to
bf30: 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33  ol\split-sqlite3
bf40: 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43  c.tcl..$(TCLSH_C bf50: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c MD)$(TOP)\tool\
bf60: 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74  split-sqlite3c.t
bf70: 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  cl.# <</mark>>..
bf80: 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20  # Rule to build
bf90: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
bfa0: 0a 23 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24  .#.sqlite3.lo:.$bfb0: 28 53 51 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 (SQLITE3C)..$(LT
bfc0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ bfd0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c bfe0: 20 24 28 53 51 4c 49 54 45 33 43 29 0a 0a 23 20$(SQLITE3C)..#
bff0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73  <<mark>>.# Rules
c000: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 4c 45   to build the LE
c010: 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e  MON compiler gen
c020: 65 72 61 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e  erator.#.lempar.
c030: 63 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  c:.$(TOP)\tool\l c040: 65 6d 70 61 72 2e 63 0a 09 63 6f 70 79 20 24 28 empar.c..copy$(
c050: 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72  TOP)\tool\lempar
c060: 2e 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a  .c ...lemon.exe:
c070: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d  .$(TOP)\tool\lem c080: 6f 6e 2e 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24 on.c lempar.c..$
c090: 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29  (BCC) $(NO_WARN) c0a0: 20 2d 44 61 63 63 65 73 73 3d 5f 61 63 63 65 73 -Daccess=_acces c0b0: 73 20 5c 0a 09 09 2d 46 65 24 40 20 24 28 54 4f s \...-Fe$@ $(TO c0c0: 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 P)\tool\lemon.c c0d0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
c0e0: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20   $(NLTLINKOPTS) c0f0: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a$(NLTLIBPATHS)..
c100: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c  # <<mark>>.# Rul
c110: 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  es to build the
c120: 73 6f 75 72 63 65 2d 69 64 20 67 65 6e 65 72 61  source-id genera
c130: 74 6f 72 20 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75  tor tool.#.mksou
c140: 72 63 65 69 64 2e 65 78 65 3a 09 24 28 54 4f 50  rceid.exe:.$(TOP c150: 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 )\tool\mksourcei c160: 64 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f d.c..$(BCC) $(NO c170: 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 _WARN) -Fe$@ $(T c180: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 OP)\tool\mksourc c190: 65 69 64 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 eid.c /link$(LD
c1a0: 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b  FLAGS) $(NLTLINK c1b0: 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 OPTS)$(NLTLIBPA
c1c0: 54 48 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f  THS)..# Rules to
c1d0: 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61   build individua
c1e0: 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f  l *.lo files fro
c1f0: 6d 20 67 65 6e 65 72 61 74 65 64 20 2a 2e 63 20  m generated *.c
c200: 66 69 6c 65 73 2e 20 54 68 69 73 0a 23 20 61 70  files. This.# ap
c210: 70 6c 69 65 73 20 74 6f 3a 0a 23 0a 23 20 20 20  plies to:.#.#
c220: 20 20 70 61 72 73 65 2e 6c 6f 0a 23 20 20 20 20    parse.lo.#
c230: 20 6f 70 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61   opcodes.lo.#.pa
c240: 72 73 65 2e 6c 6f 3a 09 70 61 72 73 65 2e 63 20  rse.lo:.parse.c
c250: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c260: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c270: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 70 61 72 ILE_OPTS) -c par c280: 73 65 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f se.c..opcodes.lo c290: 3a 09 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c :.opcodes.c..$(L
c2a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE c2b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - c2c0: 63 20 6f 70 63 6f 64 65 73 2e 63 0a 23 20 3c 3c c opcodes.c.# << c2d0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 /mark>>..# Rule c2e0: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 57 69 6e to build the Win c2f0: 33 32 20 72 65 73 6f 75 72 63 65 73 20 6f 62 6a 32 resources obj c300: 65 63 74 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 ect file..#.!IF c310: 24 28 55 53 45 5f 52 43 29 21 3d 30 0a 23 20 3c$(USE_RC)!=0.# <
c320: 3c 62 6c 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42 52  <block1>>.$(LIBR c330: 45 53 4f 42 4a 53 29 3a 09 24 28 54 4f 50 29 5c ESOBJS):.$(TOP)\
c340: 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 20 24  src\sqlite3.rc $c350: 28 53 51 4c 49 54 45 33 48 29 0a 09 65 63 68 6f (SQLITE3H)..echo c360: 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45 5f #ifndef SQLITE_ c370: 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e RESOURCE_VERSION c380: 20 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 > sqlite3rc.h.. c390: 66 6f 72 20 2f 46 20 25 25 56 20 69 6e 20 28 27 for /F %%V in (' c3a0: 74 79 70 65 20 22 24 28 54 4f 50 29 5c 56 45 52 type "$(TOP)\VER
c3b0: 53 49 4f 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09  SION"') do ( \..
c3c0: 09 65 63 68 6f 20 23 64 65 66 69 6e 65 20 53 51  .echo #define SQ
c3d0: 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56 45  LITE_RESOURCE_VE
c3e0: 52 53 49 4f 4e 20 25 25 56 20 5c 0a 09 09 09 7c  RSION %%V \....|
c3f0: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD)$(
c400: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
c410: 65 2e 74 63 6c 20 65 78 61 63 74 20 2e 20 5e 2c  e.tcl exact . ^,
c420: 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 20   >> sqlite3rc.h
c430: 5c 0a 09 29 0a 09 65 63 68 6f 20 23 65 6e 64 69  \..)..echo #endi
c440: 66 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68  f >> sqlite3rc.h
c450: 0a 09 24 28 4c 54 52 43 4f 4d 50 49 4c 45 29 20  ..$(LTRCOMPILE) c460: 2d 66 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 -fo$(LIBRESOBJS
c470: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c  ) $(TOP)\src\sql c480: 69 74 65 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f ite3.rc.# <</blo c490: 63 6b 31 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 ck1>>.!ENDIF..# c4a0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 <<mark>>.# Rules c4b0: 20 74 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 69 to build indivi c4c0: 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 dual *.lo files c4d0: 66 72 6f 6d 20 66 69 6c 65 73 20 69 6e 20 74 68 from files in th c4e0: 65 20 73 72 63 20 64 69 72 65 63 74 6f 72 79 2e e src directory. c4f0: 0a 23 0a 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 .#.alter.lo:.$(T
c500: 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20  OP)\src\alter.c
c510: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c520: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c530: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
c540: 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 0a  OP)\src\alter.c.
c550: 0a 61 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54  .analyze.lo:.$(T c560: 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e OP)\src\analyze. c570: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO c580: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
c590: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $c5a0: 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a (TOP)\src\analyz c5b0: 65 2e 63 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 e.c..attach.lo:. c5c0: 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63$(TOP)\src\attac
c5d0: 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.c $(HDR)..$(LT
c5e0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ c5f0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c c600: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61$(TOP)\src\atta
c610: 63 68 2e 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24  ch.c..auth.lo:.$c620: 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 (TOP)\src\auth.c c630: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM c640: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
c650: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( c660: 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 0a TOP)\src\auth.c. c670: 0a 62 61 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f .backup.lo:.$(TO
c680: 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 20  P)\src\backup.c
c690: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c6a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c6b0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
c6c0: 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63  OP)\src\backup.c
c6d0: 0a 0a 62 69 74 76 65 63 2e 6c 6f 3a 09 24 28 54  ..bitvec.lo:.$(T c6e0: 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 OP)\src\bitvec.c c6f0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM c700: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
c710: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( c720: 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e TOP)\src\bitvec. c730: 63 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 c..btmutex.lo:.$
c740: 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65  (TOP)\src\btmute
c750: 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  x.c $(HDR)..$(LT
c760: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ c770: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c c780: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75$(TOP)\src\btmu
c790: 74 65 78 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a  tex.c..btree.lo:
c7a0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65  .$(TOP)\src\btre c7b0: 65 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 e.c$(HDR) $(TOP c7c0: 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 )\src\pager.h..$
c7d0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO c7e0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) c7f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 -c$(TOP)\src\b
c800: 74 72 65 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f  tree.c..build.lo
c810: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69  :.$(TOP)\src\bui c820: 6c 64 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c ld.c$(HDR)..$(L c830: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
c840: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c850: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69  c $(TOP)\src\bui c860: 6c 64 2e 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c ld.c..callback.l c870: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 o:.$(TOP)\src\ca
c880: 6c 6c 62 61 63 6b 2e 63 20 24 28 48 44 52 29 0a  llback.c $(HDR). c890: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( c8a0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT c8b0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
c8c0: 5c 63 61 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d  \callback.c..com
c8d0: 70 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  plete.lo:.$(TOP) c8e0: 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 \src\complete.c c8f0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP c900: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
c910: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T c920: 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 OP)\src\complete c930: 2e 63 0a 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 .c..ctime.lo:.$(
c940: 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63  TOP)\src\ctime.c
c950: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c960: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM c970: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
c980: 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63  TOP)\src\ctime.c
c990: 0a 0a 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50  ..date.lo:.$(TOP c9a0: 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 24 28 48 )\src\date.c$(H
c9b0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE c9c0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
c9d0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) c9e0: 5c 73 72 63 5c 64 61 74 65 2e 63 0a 0a 64 62 70 \src\date.c..dbp c9f0: 61 67 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 age.lo:.$(TOP)\s
ca00: 72 63 5c 64 62 70 61 67 65 2e 63 20 24 28 48 44  rc\dbpage.c $(HD ca10: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
ca20: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ ca30: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
ca40: 73 72 63 5c 64 62 70 61 67 65 2e 63 0a 0a 64 62  src\dbpage.c..db
ca50: 73 74 61 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  stat.lo:.$(TOP)\ ca60: 73 72 63 5c 64 62 73 74 61 74 2e 63 20 24 28 48 src\dbstat.c$(H
ca70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE ca80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
ca90: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) caa0: 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 0a 0a 64 \src\dbstat.c..d cab0: 65 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 elete.lo:.$(TOP)
cac0: 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 20 24 28  \src\delete.c $( cad0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
cae0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL caf0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
cb00: 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 0a 0a  )\src\delete.c..
cb10: 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  expr.lo:.$(TOP)\ cb20: 73 72 63 5c 65 78 70 72 2e 63 20 24 28 48 44 52 src\expr.c$(HDR
cb30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) cb40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
cb50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s cb60: 72 63 5c 65 78 70 72 2e 63 0a 0a 66 61 75 6c 74 rc\expr.c..fault cb70: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
cb80: 66 61 75 6c 74 2e 63 20 24 28 48 44 52 29 0a 09  fault.c $(HDR).. cb90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C cba0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS cbb0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
cbc0: 66 61 75 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f  fault.c..fkey.lo
cbd0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65  :.$(TOP)\src\fke cbe0: 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 y.c$(HDR)..$(LT cbf0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
cc00: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cc10: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79   $(TOP)\src\fkey cc20: 2e 63 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 .c..func.lo:.$(T
cc30: 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 24  OP)\src\func.c $cc40: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
cc50: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI cc60: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
cc70: 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 0a 0a 67  P)\src\func.c..g
cc80: 6c 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29  lobal.lo:.$(TOP) cc90: 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 \src\global.c$(
cca0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL ccb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
ccc0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP ccd0: 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a )\src\global.c.. cce0: 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c hash.lo:.$(TOP)\
ccf0: 73 72 63 5c 68 61 73 68 2e 63 20 24 28 48 44 52  src\hash.c $(HDR cd00: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
cd10: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O cd20: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
cd30: 72 63 5c 68 61 73 68 2e 63 0a 0a 69 6e 73 65 72  rc\hash.c..inser
cd40: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src cd50: 5c 69 6e 73 65 72 74 2e 63 20 24 28 48 44 52 29 \insert.c$(HDR)
cd60: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
cd70: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cd80: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr cd90: 63 5c 69 6e 73 65 72 74 2e 63 0a 0a 6c 65 67 61 c\insert.c..lega cda0: 63 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 cy.lo:.$(TOP)\sr
cdb0: 63 5c 6c 65 67 61 63 79 2e 63 20 24 28 48 44 52  c\legacy.c $(HDR cdc0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
cdd0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O cde0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
cdf0: 72 63 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f 61  rc\legacy.c..loa
ce00: 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  dext.lo:.$(TOP)\ ce10: 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 24 28 src\loadext.c$(
ce20: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL ce30: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
ce40: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP ce50: 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 0a )\src\loadext.c. ce60: 0a 6d 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 .main.lo:.$(TOP)
ce70: 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 24 28 48 44  \src\main.c $(HD ce80: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
ce90: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ cea0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
ceb0: 73 72 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c  src\main.c..mall
cec0: 6f 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  oc.lo:.$(TOP)\sr ced0: 63 5c 6d 61 6c 6c 6f 63 2e 63 20 24 28 48 44 52 c\malloc.c$(HDR
cee0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) cef0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
cf00: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s cf10: 72 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d rc\malloc.c..mem cf20: 30 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 0.lo:.$(TOP)\src
cf30: 5c 6d 65 6d 30 2e 63 20 24 28 48 44 52 29 0a 09  \mem0.c $(HDR).. cf40: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C cf50: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS cf60: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
cf70: 6d 65 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a  mem0.c..mem1.lo:
cf80: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31  .$(TOP)\src\mem1 cf90: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC cfa0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
cfb0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
cfc0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e  $(TOP)\src\mem1. cfd0: 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f c..mem2.lo:.$(TO
cfe0: 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 24 28  P)\src\mem2.c $( cff0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d000: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d010: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
d020: 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65  )\src\mem2.c..me
d030: 6d 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m3.lo:.$(TOP)\sr d040: 63 5c 6d 65 6d 33 2e 63 20 24 28 48 44 52 29 0a c\mem3.c$(HDR).
d050: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d060: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d070: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src d080: 5c 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f \mem3.c..mem5.lo d090: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d :.$(TOP)\src\mem
d0a0: 35 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  5.c $(HDR)..$(LT
d0b0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d0c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d0d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35$(TOP)\src\mem5
d0e0: 2e 63 0a 0a 6d 65 6d 64 62 2e 6c 6f 3a 09 24 28  .c..memdb.lo:.$( d0f0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 TOP)\src\memdb.c d100: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM d110: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
d120: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( d130: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 64 62 2e 63 TOP)\src\memdb.c d140: 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a ..memjournal.lo: d150: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a .$(TOP)\src\memj
d160: 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44 52 29 0a  ournal.c $(HDR). d170: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d180: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d190: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d1a0: 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d  \memjournal.c..m
d1b0: 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  utex.lo:.$(TOP)\ d1c0: 73 72 63 5c 6d 75 74 65 78 2e 63 20 24 28 48 44 src\mutex.c$(HD
d1d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) d1e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
d1f0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ d200: 73 72 63 5c 6d 75 74 65 78 2e 63 0a 0a 6d 75 74 src\mutex.c..mut d210: 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f ex_noop.lo:.$(TO
d220: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f  P)\src\mutex_noo
d230: 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  p.c $(HDR)..$(LT
d240: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d250: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d260: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65$(TOP)\src\mute
d270: 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f  x_noop.c..mutex_
d280: 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  unix.lo:.$(TOP)\ d290: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 src\mutex_unix.c d2a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM d2b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
d2c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( d2d0: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 TOP)\src\mutex_u d2e0: 6e 69 78 2e 63 0a 0a 6d 75 74 65 78 5f 77 33 32 nix.c..mutex_w32 d2f0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
d300: 6d 75 74 65 78 5f 77 33 32 2e 63 20 24 28 48 44  mutex_w32.c $(HD d310: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d320: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d330: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
d340: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 0a  src\mutex_w32.c.
d350: 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24 28 54 4f  .notify.lo:.$(TO d360: 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 P)\src\notify.c d370: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP d380: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
d390: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T d3a0: 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 OP)\src\notify.c d3b0: 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09 24 28 54 4f ..pager.lo:.$(TO
d3c0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 24  P)\src\pager.c $d3d0: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 (HDR)$(TOP)\src
d3e0: 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f  \pager.h..$(LTCO d3f0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d400: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $d410: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e (TOP)\src\pager. d420: 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a 09 24 28 c..pcache.lo:.$(
d430: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e  TOP)\src\pcache.
d440: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c  c $(HDR)$(TOP)\
d450: 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28  src\pcache.h..$( d460: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d470: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d480: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  -c $(TOP)\src\pc d490: 61 63 68 65 2e 63 0a 0a 70 63 61 63 68 65 31 2e ache.c..pcache1. d4a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 lo:.$(TOP)\src\p
d4b0: 63 61 63 68 65 31 2e 63 20 24 28 48 44 52 29 20  cache1.c $(HDR) d4c0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68$(TOP)\src\pcach
d4d0: 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  e.h..$(LTCOMPILE d4e0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
d4f0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) d500: 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 0a 0a \src\pcache1.c.. d510: 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 os.lo:.$(TOP)\sr
d520: 63 5c 6f 73 2e 63 20 24 28 48 44 52 29 0a 09 24  c\os.c $(HDR)..$
d530: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO d540: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) d550: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f -c$(TOP)\src\o
d560: 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a  s.c..os_unix.lo:
d570: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75  .$(TOP)\src\os_u d580: 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 nix.c$(HDR)..$( d590: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d5a0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d5b0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  -c $(TOP)\src\os d5c0: 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e _unix.c..os_win. d5d0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f lo:.$(TOP)\src\o
d5e0: 73 5f 77 69 6e 2e 63 20 24 28 48 44 52 29 0a 09  s_win.c $(HDR).. d5f0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d600: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d610: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d620: 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61 67 6d 61  os_win.c..pragma
d630: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d640: 70 72 61 67 6d 61 2e 63 20 24 28 48 44 52 29 0a pragma.c$(HDR).
d650: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d660: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d670: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src d680: 5c 70 72 61 67 6d 61 2e 63 0a 0a 70 72 65 70 61 \pragma.c..prepa d690: 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 re.lo:.$(TOP)\sr
d6a0: 63 5c 70 72 65 70 61 72 65 2e 63 20 24 28 48 44  c\prepare.c $(HD d6b0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d6c0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d6d0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
d6e0: 73 72 63 5c 70 72 65 70 61 72 65 2e 63 0a 0a 70  src\prepare.c..p
d6f0: 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29  rintf.lo:.$(TOP) d700: 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 24 28 \src\printf.c$(
d710: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d720: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d730: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d740: 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 0a 0a )\src\printf.c.. d750: 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50 random.lo:.$(TOP
d760: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 24  )\src\random.c $d770: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
d780: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI d790: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
d7a0: 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a  P)\src\random.c.
d7b0: 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54  .resolve.lo:.$(T d7c0: 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e OP)\src\resolve. d7d0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO d7e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d7f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $d800: 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 (TOP)\src\resolv d810: 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09 e.c..rowset.lo:. d820: 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65$(TOP)\src\rowse
d830: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
d840: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d850: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d860: 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73$(TOP)\src\rows
d870: 65 74 2e 63 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a  et.c..select.lo:
d880: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65  .$(TOP)\src\sele d890: 63 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c ct.c$(HDR)..$(L d8a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d8b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d8c0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c  c $(TOP)\src\sel d8d0: 65 63 74 2e 63 0a 0a 73 74 61 74 75 73 2e 6c 6f ect.c..status.lo d8e0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 :.$(TOP)\src\sta
d8f0: 74 75 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tus.c $(HDR)..$(
d900: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR d910: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) d920: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 -c$(TOP)\src\st
d930: 61 74 75 73 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f  atus.c..table.lo
d940: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62  :.$(TOP)\src\tab d950: 6c 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c le.c$(HDR)..$(L d960: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d970: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d980: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62  c $(TOP)\src\tab d990: 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73 2e 6c 6f le.c..threads.lo d9a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 :.$(TOP)\src\thr
d9b0: 65 61 64 73 2e 63 20 24 28 48 44 52 29 0a 09 24  eads.c $(HDR)..$
d9c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO d9d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) d9e0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 -c$(TOP)\src\t
d9f0: 68 72 65 61 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69  hreads.c..tokeni
da00: 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ze.lo:.$(TOP)\sr da10: 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 6b 65 79 c\tokenize.c key da20: 77 6f 72 64 68 61 73 68 2e 68 20 24 28 48 44 52 wordhash.h$(HDR
da30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) da40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
da50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s da60: 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74 rc\tokenize.c..t da70: 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24 28 54 4f reeview.lo:.$(TO
da80: 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e  P)\src\treeview.
da90: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
daa0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO dab0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
dac0: 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69  (TOP)\src\treevi
dad0: 65 77 2e 63 0a 0a 74 72 69 67 67 65 72 2e 6c 6f  ew.c..trigger.lo
dae0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69  :.$(TOP)\src\tri daf0: 67 67 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 gger.c$(HDR)..$db00: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
db10: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
db20: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t db30: 72 69 67 67 65 72 2e 63 0a 0a 75 70 64 61 74 65 rigger.c..update db40: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
db50: 75 70 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a  update.c $(HDR). db60: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( db70: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT db80: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
db90: 5c 75 70 64 61 74 65 2e 63 0a 0a 75 70 73 65 72  \update.c..upser
dba0: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src dbb0: 5c 75 70 73 65 72 74 2e 63 20 24 28 48 44 52 29 \upsert.c$(HDR)
dbc0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
dbd0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
dbe0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr dbf0: 63 5c 75 70 73 65 72 74 2e 63 0a 0a 75 74 66 2e c\upsert.c..utf. dc00: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 lo:.$(TOP)\src\u
dc10: 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  tf.c $(HDR)..$(L
dc20: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE dc30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - dc40: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 c$(TOP)\src\utf
dc50: 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28 54  .c..util.lo:.$(T dc60: 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 24 OP)\src\util.c$
dc70: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI dc80: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
dc90: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO dca0: 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 0a 0a 76 P)\src\util.c..v dcb0: 61 63 75 75 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 acuum.lo:.$(TOP)
dcc0: 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 24 28  \src\vacuum.c $( dcd0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
dce0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL dcf0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
dd00: 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 0a 0a  )\src\vacuum.c..
dd10: 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  vdbe.lo:.$(TOP)\ dd20: 73 72 63 5c 76 64 62 65 2e 63 20 24 28 48 44 52 src\vdbe.c$(HDR
dd30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) dd40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
dd50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s dd60: 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64 62 65 61 rc\vdbe.c..vdbea dd70: 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 pi.lo:.$(TOP)\sr
dd80: 63 5c 76 64 62 65 61 70 69 2e 63 20 24 28 48 44  c\vdbeapi.c $(HD dd90: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
dda0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ ddb0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
ddc0: 73 72 63 5c 76 64 62 65 61 70 69 2e 63 0a 0a 76  src\vdbeapi.c..v
ddd0: 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50  dbeaux.lo:.$(TOP dde0: 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20 )\src\vdbeaux.c ddf0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP de00: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
de10: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T de20: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e OP)\src\vdbeaux. de30: 63 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09 c..vdbeblob.lo:. de40: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62$(TOP)\src\vdbeb
de50: 6c 6f 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28  lob.c $(HDR)..$(
de60: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR de70: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) de80: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 -c$(TOP)\src\vd
de90: 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62 65 6d 65  beblob.c..vdbeme
dea0: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  m.lo:.$(TOP)\src deb0: 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28 48 44 52 \vdbemem.c$(HDR
dec0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) ded0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
dee0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s def0: 72 63 5c 76 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 rc\vdbemem.c..vd df00: 62 65 73 6f 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 besort.lo:.$(TOP
df10: 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63  )\src\vdbesort.c
df20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
df30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM df40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
df50: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72  TOP)\src\vdbesor
df60: 74 2e 63 0a 0a 76 64 62 65 74 72 61 63 65 2e 6c  t.c..vdbetrace.l
df70: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd df80: 62 65 74 72 61 63 65 2e 63 20 24 28 48 44 52 29 betrace.c$(HDR)
df90: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
dfa0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
dfb0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr dfc0: 63 5c 76 64 62 65 74 72 61 63 65 2e 63 0a 0a 76 c\vdbetrace.c..v dfd0: 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 tab.lo:.$(TOP)\s
dfe0: 72 63 5c 76 74 61 62 2e 63 20 24 28 48 44 52 29  rc\vtab.c $(HDR) dff0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $e000: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP e010: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
e020: 63 5c 76 74 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f  c\vtab.c..wal.lo
e030: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c  :.$(TOP)\src\wal e040: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC e050: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
e060: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
e070: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63  $(TOP)\src\wal.c e080: 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54 ..walker.lo:.$(T
e090: 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63  OP)\src\walker.c
e0a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
e0b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM e0c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
e0d0: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e  TOP)\src\walker.
e0e0: 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09 24 28 54  c..where.lo:.$(T e0f0: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 OP)\src\where.c e100: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP e110: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
e120: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T e130: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 0a OP)\src\where.c. e140: 0a 77 68 65 72 65 63 6f 64 65 2e 6c 6f 3a 09 24 .wherecode.lo:.$
e150: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63  (TOP)\src\wherec
e160: 6f 64 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ode.c $(HDR)..$(
e170: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR e180: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) e190: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 -c$(TOP)\src\wh
e1a0: 65 72 65 63 6f 64 65 2e 63 0a 0a 77 68 65 72 65  erecode.c..where
e1b0: 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  expr.lo:.$(TOP)\ e1c0: 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 20 src\whereexpr.c e1d0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP e1e0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
e1f0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T e200: 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 OP)\src\whereexp e210: 72 2e 63 0a 0a 77 69 6e 64 6f 77 2e 6c 6f 3a 09 r.c..window.lo:. e220: 24 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f$(TOP)\src\windo
e230: 77 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  w.c $(HDR)..$(LT
e240: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ e250: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c e260: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64$(TOP)\src\wind
e270: 6f 77 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e  ow.c..tclsqlite.
e280: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t e290: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 clsqlite.c$(HDR
e2a0: 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44  ) $(SQLITE_TCL_D e2b0: 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 EP)..$(LTCOMPILE
e2c0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 55  ) $(NO_WARN) -DU e2d0: 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d SE_TCL_STUBS=1 - e2e0: 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 DBUILD_sqlite -I e2f0: 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20$(TCLINCDIR) -c
e300: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq e310: 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 lite.c..tclsqlit e320: 65 2d 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f e-shell.lo:.$(TO
e330: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
e340: 2e 63 20 24 28 48 44 52 29 20 24 28 53 51 4c 49  .c $(HDR)$(SQLI
e350: 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c  TE_TCL_DEP)..$(L e360: 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 TCOMPILE)$(NO_W
e370: 41 52 4e 29 20 2d 44 54 43 4c 53 48 20 2d 44 42  ARN) -DTCLSH -DB
e380: 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28  UILD_sqlite -I$( e390: 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 TCLINCDIR) -c$(
e3a0: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
e3b0: 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 33  te.c..tclsqlite3
e3c0: 2e 65 78 65 3a 09 74 63 6c 73 71 6c 69 74 65 2d  .exe:.tclsqlite-
e3d0: 73 68 65 6c 6c 2e 6c 6f 20 24 28 53 51 4c 49 54  shell.lo $(SQLIT e3e0: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
e3f0: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09   $(LIBRESOBJS).. e400: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 51 4c 49$(LTLINK) $(SQLI e410: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 TE3C) /link$(LD
e420: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO e430: 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 PTS)$(TCLLIBPAT
e440: 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  HS) $(LTLIBPATHS e450: 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c ) /OUT:$@ tclsql
e460: 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c  ite-shell.lo $(L e470: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c IBRESOBJS)$(TCL
e480: 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20  LIBS) $(LTLIBS) e490: 24 28 54 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65$(TLIBS)..# Rule
e4a0: 73 20 74 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64  s to build opcod
e4b0: 65 73 2e 63 20 61 6e 64 20 6f 70 63 6f 64 65 73  es.c and opcodes
e4c0: 2e 68 0a 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09  .h.#.opcodes.c:.
e4d0: 6f 70 63 6f 64 65 73 2e 68 20 24 28 54 4f 50 29  opcodes.h $(TOP) e4e0: 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e \tool\mkopcodec. e4f0: 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 tcl..$(TCLSH_CMD
e500: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ) $(TOP)\tool\mk e510: 6f 70 63 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f opcodec.tcl opco e520: 64 65 73 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e des.h > opcodes. e530: 63 0a 0a 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 c..opcodes.h:.pa e540: 72 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 rse.h$(TOP)\src
e550: 5c 76 64 62 65 2e 63 20 24 28 54 4f 50 29 5c 74  \vdbe.c $(TOP)\t e560: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 ool\mkopcodeh.tc e570: 6c 0a 09 74 79 70 65 20 70 61 72 73 65 2e 68 20 l..type parse.h e580: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e$(TOP)\src\vdbe.
e590: 63 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29  c | $(TCLSH_CMD) e5a0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f$(TOP)\tool\mko
e5b0: 70 63 6f 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63  pcodeh.tcl > opc
e5c0: 6f 64 65 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20  odes.h..# Rules
e5d0: 74 6f 20 62 75 69 6c 64 20 70 61 72 73 65 2e 63  to build parse.c
e5e0: 20 61 6e 64 20 70 61 72 73 65 2e 68 20 2d 20 74   and parse.h - t
e5f0: 68 65 20 6f 75 74 70 75 74 73 20 6f 66 20 6c 65  he outputs of le
e600: 6d 6f 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09  mon..#.parse.h:.
e610: 70 61 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63  parse.c..parse.c
e620: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72  :.$(TOP)\src\par e630: 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 se.y lemon.exe$
e640: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70  (TOP)\tool\addop
e650: 63 6f 64 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f  codes.tcl..del /
e660: 51 20 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e  Q parse.y parse.
e670: 68 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32  h parse.h.temp 2
e680: 3e 4e 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50  >NUL..copy $(TOP e690: 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a )\src\parse.y .. e6a0: 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 ..\lemon.exe$(R
e6b0: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
e6c0: 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f  ) $(OPT_FEATURE_ e6d0: 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 FLAGS)$(EXT_FEA
e6e0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP e6f0: 54 53 29 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 TS) parse.y..mov e700: 65 20 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e e parse.h parse. e710: 68 2e 74 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f h.temp..$(TCLSH_
e720: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool e730: 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 \addopcodes.tcl e740: 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 parse.h.temp > p e750: 61 72 73 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 arse.h..$(SQLITE
e760: 33 48 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  3H):.$(TOP)\src\ e770: 73 71 6c 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f sqlite.h.in$(TO
e780: 50 29 5c 6d 61 6e 69 66 65 73 74 20 6d 6b 73 6f  P)\manifest mkso
e790: 75 72 63 65 69 64 2e 65 78 65 20 24 28 54 4f 50  urceid.exe $(TOP e7a0: 29 5c 56 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c )\VERSION..$(TCL
e7b0: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t e7c0: 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74 ool\mksqlite3h.t e7d0: 63 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 cl$(TOP:\=/) >
e7e0: 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4d 4b  $(SQLITE3H)$(MK
e7f0: 53 51 4c 49 54 45 33 48 5f 41 52 47 53 29 0a 0a  SQLITE3H_ARGS)..
e800: 73 71 6c 69 74 65 33 65 78 74 2e 68 3a 09 2e 74  sqlite3ext.h:..t
e810: 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 21 49 46  arget_source.!IF
e820: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)! e830: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 =0 ||$(FOR_WIN1
e840: 30 29 21 3d 30 0a 09 74 79 70 65 20 74 73 72 63  0)!=0..type tsrc
e850: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 7c 20  \sqlite3ext.h |
e860: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD)$(T
e870: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
e880: 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c  .tcl regsub "$$\ e890: 2a 5c 29 22 20 22 28 53 51 4c 49 54 45 5f 43 41 *$$" "(SQLITE_CA
e8a0: 4c 4c 42 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c  LLBACK *)" \...|
e8b0: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD)$(
e8c0: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
e8d0: 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28  e.tcl regsub "\(
e8e0: 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 41 50 49  \*" "(SQLITE_API
e8f0: 43 41 4c 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65  CALL *" > sqlite
e900: 33 65 78 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20  3ext.h..copy /Y
e910: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 74 73 72  sqlite3ext.h tsr
e920: 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21  c\sqlite3ext.h.!
e930: 45 4c 53 45 0a 09 63 6f 70 79 20 2f 59 20 74 73  ELSE..copy /Y ts
e940: 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20  rc\sqlite3ext.h
e950: 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4e  sqlite3ext.h.!EN
e960: 44 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61  DIF..mkkeywordha
e970: 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  sh.exe:.$(TOP)\t e980: 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 ool\mkkeywordhas e990: 68 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f h.c..$(BCC) $(NO e9a0: 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 52 _WARN) -Fe$@ $(R e9b0: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 EQ_FEATURE_FLAGS e9c0: 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f )$(OPT_FEATURE_
e9d0: 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41  FLAGS) $(EXT_FEA e9e0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 TURE_FLAGS)$(OP
e9f0: 54 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74  TS) \...$(TOP)\t ea00: 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 ool\mkkeywordhas ea10: 68 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c h.c /link$(LDFL
ea20: 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50  AGS) $(NLTLINKOP ea30: 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 TS)$(NLTLIBPATH
ea40: 53 29 0a 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e  S)..keywordhash.
ea50: 68 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  h:.$(TOP)\tool\m ea60: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 6d kkeywordhash.c m ea70: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 kkeywordhash.exe ea80: 0a 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 ...\mkkeywordhas ea90: 68 2e 65 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 h.exe > keywordh eaa0: 61 73 68 2e 68 0a 0a 23 20 53 6f 75 72 63 65 20 ash.h..# Source eab0: 66 69 6c 65 73 20 74 68 61 74 20 67 6f 20 69 6e files that go in eac0: 74 6f 20 6d 61 6b 69 6e 67 20 73 68 65 6c 6c 2e to making shell. ead0: 63 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a c.SHELL_SRC = \. eae0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c .$(TOP)\src\shel
eaf0: 6c 2e 63 2e 69 6e 20 5c 0a 09 24 28 54 4f 50 29  l.c.in \..$(TOP) eb00: 5c 65 78 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64 \ext\misc\append eb10: 76 66 73 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c vfs.c \..$(TOP)\
eb20: 65 78 74 5c 6d 69 73 63 5c 73 68 61 74 68 72 65  ext\misc\shathre
eb30: 65 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78  e.c \..$(TOP)\ex eb40: 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 t\misc\fileio.c eb50: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 \..$(TOP)\ext\mi
eb60: 73 63 5c 63 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20  sc\completion.c
eb70: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  \..$(TOP)\ext\ex eb80: 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 pert\sqlite3expe eb90: 72 74 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 rt.c \..$(TOP)\e
eba0: 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65  xt\expert\sqlite
ebb0: 33 65 78 70 65 72 74 2e 68 20 5c 0a 09 24 28 54  3expert.h \..$(T ebc0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e OP)\src\test_win ebd0: 64 69 72 65 6e 74 2e 63 0a 0a 23 20 49 66 20 75 dirent.c..# If u ebe0: 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65 6e se of zlib is en ebf0: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 22 abled, add the " ec00: 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72 63 zipfile.c" sourc ec10: 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 e file..#.!IF$(
ec20: 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 53 48 45  USE_ZLIB)!=0.SHE
ec30: 4c 4c 5f 53 52 43 20 3d 20 24 28 53 48 45 4c 4c  LL_SRC = $(SHELL ec40: 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 65 78 74 _SRC)$(TOP)\ext
ec50: 5c 6d 69 73 63 5c 73 71 6c 61 72 2e 63 0a 53 48  \misc\sqlar.c.SH
ec60: 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 48 45 4c  ELL_SRC = $(SHEL ec70: 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 65 78 L_SRC)$(TOP)\ex
ec80: 74 5c 6d 69 73 63 5c 7a 69 70 66 69 6c 65 2e 63  t\misc\zipfile.c
ec90: 0a 21 45 4e 44 49 46 0a 0a 73 68 65 6c 6c 2e 63  .!ENDIF..shell.c
eca0: 3a 09 24 28 53 48 45 4c 4c 5f 53 52 43 29 20 24  :.$(SHELL_SRC)$
ecb0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65  (TOP)\tool\mkshe
ecc0: 6c 6c 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48  llc.tcl..$(TCLSH ecd0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f _CMD)$(TOP)\too
ece0: 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 20 3e  l\mkshellc.tcl >
ecf0: 20 73 68 65 6c 6c 2e 63 0a 0a 7a 6c 69 62 3a 0a   shell.c..zlib:.
ed00: 09 70 75 73 68 64 20 24 28 5a 4c 49 42 44 49 52  .pushd $(ZLIBDIR ed10: 29 20 26 26 20 24 28 4d 41 4b 45 29 20 2f 66 20 ) &&$(MAKE) /f
ed20: 77 69 6e 33 32 5c 4d 61 6b 65 66 69 6c 65 2e 6d  win32\Makefile.m
ed30: 73 63 20 63 6c 65 61 6e 20 24 28 5a 4c 49 42 4c  sc clean $(ZLIBL ed40: 49 42 29 20 26 26 20 70 6f 70 64 0a 0a 23 20 52 IB) && popd..# R ed50: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 ules to build th ed60: 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 e extension obje ed70: 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 cts..#.icu.lo:.$
ed80: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63  (TOP)\ext\icu\ic
ed90: 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  u.c $(HDR)$(EXT
eda0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL edb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
edc0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR edd0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE ede0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 -c$(TOP)\ext\i
edf0: 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e 6c  cu\icu.c..fts2.l
ee00: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft ee10: 73 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52 29 s2\fts2.c$(HDR)
ee20: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
ee30: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ ee40: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
ee50: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
ee60: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) ee70: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 \ext\fts2\fts2.c ee80: 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 ..fts2_hash.lo:. ee90: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
eea0: 66 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48 44  fts2_hash.c $(HD eeb0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( eec0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
eed0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
eee0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL eef0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
ef00: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
ef10: 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69 63  _hash.c..fts2_ic
ef20: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext ef30: 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 \fts2\fts2_icu.c ef40: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR ef50: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
ef60: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O ef70: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
ef80: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
ef90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 efa0: 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74 73 \fts2_icu.c..fts efb0: 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 2_porter.lo:.$(T
efc0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
efd0: 32 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52  2_porter.c $(HDR efe0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L eff0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
f000: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $f010: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI f020: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
f030: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
f040: 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f 74  porter.c..fts2_t
f050: 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54  okenizer.lo:.$(T f060: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts f070: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 2_tokenizer.c$(
f080: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR).. f090: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C f0a0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS f0b0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
f0c0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $( f0d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft f0e0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a s2_tokenizer.c.. f0f0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e fts2_tokenizer1. f100: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 lo:.$(TOP)\ext\f
f110: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
f120: 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45  er1.c $(HDR)$(E
f130: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP f140: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
f150: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W f160: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO f170: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
f180: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
f190: 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f  izer1.c..fts3.lo
f1a0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts f1b0: 33 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29 20 3\fts3.c$(HDR)
f1c0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
f1d0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C f1e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
f1f0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
f200: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ f210: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 0a ext\fts3\fts3.c. f220: 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 .fts3_aux.lo:.$(
f230: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f240: 73 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29 20  s3_aux.c $(HDR) f250: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC f260: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
f270: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N f280: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE f290: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
f2a0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75  ext\fts3\fts3_au
f2b0: 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e 6c  x.c..fts3_expr.l
f2c0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft f2d0: 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 24 s3\fts3_expr.c$
f2e0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). f2f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( f300: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT f310: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
f320: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $f330: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f f340: 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73 33 ts3_expr.c..fts3 f350: 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 _hash.lo:.$(TOP)
f360: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68  \ext\fts3\fts3_h
f370: 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45  ash.c $(HDR)$(E
f380: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP f390: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
f3a0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W f3b0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO f3c0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
f3d0: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
f3e0: 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a 09  c..fts3_icu.lo:.
f3f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ f400: 66 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44 52 fts3_icu.c$(HDR
f410: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f420: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE f430: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
f440: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f450: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP f460: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ f470: 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69 70 icu.c..fts3_snip f480: 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 pet.lo:.$(TOP)\e
f490: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69  xt\fts3\fts3_sni
f4a0: 70 70 65 74 2e 63 20 24 28 48 44 52 29 20 24 28  ppet.c $(HDR)$(
f4b0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM f4c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
f4d0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ f4e0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C f4f0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
f500: 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70  t\fts3\fts3_snip
f510: 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 74  pet.c..fts3_port
f520: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  er.lo:.$(TOP)\ex f530: 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 t\fts3\fts3_port f540: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 er.c$(HDR) $(EX f550: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
f560: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI f570: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
f580: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f590: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ f5a0: 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 fts3\fts3_porter f5b0: 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a .c..fts3_tokeniz f5c0: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 er.lo:.$(TOP)\ex
f5d0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
f5e0: 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24  nizer.c $(HDR)$
f5f0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO f600: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
f610: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO f620: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ f630: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
f640: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
f650: 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f 74  enizer.c..fts3_t
f660: 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28  okenizer1.lo:.$( f670: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft f680: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 s3_tokenizer1.c f690: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) f6a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $f6b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP f6c0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
f6d0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
f6e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ f6f0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e fts3_tokenizer1. f700: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 c..fts3_tokenize f710: 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 _vtab.lo:.$(TOP)
f720: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
f730: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 24  okenize_vtab.c $f740: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
f750: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
f760: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f770: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D f780: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
f790: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f7a0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
f7b0: 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64  b.c..fts3_unicod
f7c0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  e.lo:.$(TOP)\ext f7d0: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f \fts3\fts3_unico f7e0: 64 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 de.c$(HDR) $(EX f7f0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
f800: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI f810: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
f820: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f830: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ f840: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 fts3\fts3_unicod f850: 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 e.c..fts3_unicod f860: 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 e2.lo:.$(TOP)\ex
f870: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
f880: 6f 64 65 32 2e 63 20 24 28 48 44 52 29 20 24 28  ode2.c $(HDR)$(
f890: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM f8a0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
f8b0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ f8c0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C f8d0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
f8e0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
f8f0: 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72 69  ode2.c..fts3_wri
f900: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  te.lo:.$(TOP)\ex f910: 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 t\fts3\fts3_writ f920: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 e.c$(HDR) $(EXT f930: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
f940: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL f950: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
f960: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f970: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f f980: 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 ts3\fts3_write.c f990: 0a 0a 6a 73 6f 6e 31 2e 6c 6f 3a 09 24 28 54 4f ..json1.lo:.$(TO
f9a0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f 6e  P)\ext\misc\json
f9b0: 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  1.c $(HDR)$(EXT
f9c0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL f9d0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
f9e0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR f9f0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE fa00: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d -c$(TOP)\ext\m
fa10: 69 73 63 5c 6a 73 6f 6e 31 2e 63 0a 0a 73 74 6d  isc\json1.c..stm
fa20: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  t.lo:.$(TOP)\ext fa30: 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 20 24 28 48 \misc\stmt.c$(H
fa40: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
fa50: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO fa60: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) fa70: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
fa80: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T fa90: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d OP)\ext\misc\stm faa0: 74 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09 24 t.c..rtree.lo:.$
fab0: 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c  (TOP)\ext\rtree\
fac0: 72 74 72 65 65 2e 63 20 24 28 48 44 52 29 20 24  rtree.c $(HDR)$
fad0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO fae0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
faf0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO fb00: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ fb10: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
fb20: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63  xt\rtree\rtree.c
fb30: 0a 0a 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  ..sqlite3session
fb40: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ fb50: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 session\sqlite3s fb60: 65 73 73 69 6f 6e 2e 63 20 24 28 48 44 52 29 20 ession.c$(HDR)
fb70: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
fb80: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C fb90: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
fba0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
fbb0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ fbc0: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 ext\session\sqli fbd0: 74 65 33 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 te3session.c..# fbe0: 46 54 53 35 20 74 68 69 6e 67 73 0a 23 0a 46 54 FTS5 things.#.FT fbf0: 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24 28 S5_SRC = \.$(
fc00: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
fc10: 73 35 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  s5.h \.   $(TOP) fc20: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 49 6e \ext\fts5\fts5In fc30: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c t.h \.$(TOP)\
fc40: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 61 75  ext\fts5\fts5_au
fc50: 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  x.c \.   $(TOP)\ fc60: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 62 75 ext\fts5\fts5_bu fc70: 66 66 65 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f ffer.c \.$(TO
fc80: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
fc90: 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54  _main.c \.   $(T fca0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts fcb0: 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 20 5_config.c \. fcc0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c$(TOP)\ext\fts5\
fcd0: 66 74 73 35 5f 65 78 70 72 2e 63 20 5c 0a 20 20  fts5_expr.c \.
fce0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 fcf0: 5c 66 74 73 35 5f 68 61 73 68 2e 63 20 5c 0a 20 \fts5_hash.c \. fd00: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
fd10: 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e 63 20 5c  5\fts5_index.c \
fd20: 0a 20 20 20 66 74 73 35 70 61 72 73 65 2e 63 20  .   fts5parse.c
fd30: 66 74 73 35 70 61 72 73 65 2e 68 20 5c 0a 20 20  fts5parse.h \.
fd40: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 fd50: 5c 66 74 73 35 5f 73 74 6f 72 61 67 65 2e 63 20 \fts5_storage.c fd60: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
fd70: 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b 65 6e 69  fts5\fts5_tokeni
fd80: 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ze.c \.   $(TOP) fd90: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 75 \ext\fts5\fts5_u fda0: 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 20 24 nicode2.c \.$
fdb0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
fdc0: 74 73 35 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20  ts5_varint.c \.
fdd0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts fde0: 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e 63 0a 0a 5\fts5_vocab.c.. fdf0: 4c 53 4d 31 5f 53 52 43 20 3d 20 5c 0a 20 20 20 LSM1_SRC = \. fe00: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c$(TOP)\ext\lsm1\
fe10: 6c 73 6d 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  lsm.h \.   $(TOP fe20: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 49 6e )\ext\lsm1\lsmIn fe30: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c t.h \.$(TOP)\
fe40: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 63 6b 70  ext\lsm1\lsm_ckp
fe50: 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.c \.   $(TOP)\ fe60: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 66 69 6c ext\lsm1\lsm_fil fe70: 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c e.c \.$(TOP)\
fe80: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6c 6f 67  ext\lsm1\lsm_log
fe90: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e fea0: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 61 69 6e xt\lsm1\lsm_main feb0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
fec0: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 65 6d 2e  xt\lsm1\lsm_mem.
fed0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex fee0: 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 75 74 65 78 t\lsm1\lsm_mutex fef0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
ff00: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 68 61 72  xt\lsm1\lsm_shar
ff10: 65 64 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ed.c \.   $(TOP) ff20: 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 6f \ext\lsm1\lsm_so ff30: 72 74 65 64 2e 63 20 5c 0a 20 20 20 24 28 54 4f rted.c \.$(TO
ff40: 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f  P)\ext\lsm1\lsm_
ff50: 73 74 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  str.c \.   $(TOP ff60: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 74 )\ext\lsm1\lsm_t ff70: 72 65 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 ree.c \.$(TOP
ff80: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 75  )\ext\lsm1\lsm_u
ff90: 6e 69 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  nix.c \.   $(TOP ffa0: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 )\ext\lsm1\lsm_v ffb0: 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 arint.c \.$(T
ffc0: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d  OP)\ext\lsm1\lsm
ffd0: 5f 76 74 61 62 2e 63 20 5c 0a 20 20 20 24 28 54  _vtab.c \.   $(T ffe0: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d OP)\ext\lsm1\lsm fff0: 5f 77 69 6e 33 32 2e 63 0a 0a 66 74 73 35 70 61 _win32.c..fts5pa 10000 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 65 78 rse.c:.$(TOP)\ex
10010 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73 65  t\fts5\fts5parse
10020 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63 6f  .y lemon.exe..co
10030 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  py $(TOP)\ext\ft 10040 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20 2e s5\fts5parse.y . 10050 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 70 61 72 ..del /Q fts5par 10060 73 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 se.h 2>NUL...\le 10070 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45 mon.exe$(REQ_FE
10080 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O 10090 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 PT_FEATURE_FLAGS 100a0 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f )$(EXT_FEATURE_
100b0 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 66  FLAGS) $(OPTS) f 100c0 74 73 35 70 61 72 73 65 2e 79 0a 0a 66 74 73 35 ts5parse.y..fts5 100d0 70 61 72 73 65 2e 68 3a 09 66 74 73 35 70 61 72 parse.h:.fts5par 100e0 73 65 2e 63 0a 0a 66 74 73 35 2e 63 3a 09 24 28 se.c..fts5.c:.$(
100f0 46 54 53 35 5f 53 52 43 29 0a 09 24 28 54 43 4c  FTS5_SRC)..$(TCL 10100 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 SH_CMD)$(TOP)\e
10110 78 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b 66  xt\fts5\tool\mkf
10120 74 73 35 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24  ts5c.tcl..copy $10130 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 (TOP)\ext\fts5\f 10140 74 73 35 2e 68 20 2e 0a 0a 6c 73 6d 31 2e 63 3a ts5.h ...lsm1.c: 10150 09 24 28 4c 53 4d 31 5f 53 52 43 29 0a 09 24 28 .$(LSM1_SRC)..$( 10160 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
10170 29 5c 65 78 74 5c 6c 73 6d 31 5c 74 6f 6f 6c 5c  )\ext\lsm1\tool\
10180 6d 6b 6c 73 6d 31 63 2e 74 63 6c 0a 09 63 6f 70  mklsm1c.tcl..cop
10190 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d  y $(TOP)\ext\lsm 101a0 31 5c 6c 73 6d 2e 68 20 2e 0a 0a 66 74 73 35 2e 1\lsm.h ...fts5. 101b0 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52 lo:.fts5.c$(HDR
101c0 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
101d0 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE 101e0 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
101f0 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
10200 54 45 5f 43 4f 52 45 20 2d 63 20 66 74 73 35 2e  TE_CORE -c fts5.
10210 63 0a 0a 66 74 73 35 5f 65 78 74 2e 6c 6f 3a 09  c..fts5_ext.lo:.
10220 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24 28  fts5.c $(HDR)$(
10230 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM 10240 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 PILE)$(NO_WARN)
10250 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35   -c fts5.c..fts5
10260 2e 64 6c 6c 3a 09 66 74 73 35 5f 65 78 74 2e 6c  .dll:.fts5_ext.l
10270 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41  o..$(LD)$(LDFLA
10280 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS 10290 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 )$(LTLIBPATHS)
102a0 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 66 74 73  /DLL /OUT:$@ fts 102b0 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65 5_ext.lo..sqlite 102c0 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 3rbu.lo:.$(TOP)\
102d0 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72  ext\rbu\sqlite3r
102e0 62 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  bu.c $(HDR)$(EX
102f0 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI 10300 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 LE) -DSQLITE_COR 10310 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
10320 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
10330 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  ..# Rules to bui
10340 6c 64 20 74 68 65 20 27 74 65 73 74 66 69 78 74  ld the 'testfixt
10350 75 72 65 27 20 61 70 70 6c 69 63 61 74 69 6f 6e  ure' application
10360 2e 0a 23 0a 23 20 49 66 20 75 73 69 6e 67 20 74  ..#.# If using t
10370 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c  he amalgamation,
10380 20 75 73 65 20 73 71 6c 69 74 65 33 2e 63 20 64   use sqlite3.c d
10390 69 72 65 63 74 6c 79 20 74 6f 20 62 75 69 6c 64  irectly to build
103a0 20 74 68 65 20 74 65 73 74 0a 23 20 66 69 78 74   the test.# fixt
103b0 75 72 65 2e 20 20 4f 74 68 65 72 77 69 73 65 20  ure.  Otherwise
103c0 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 6c 69 62  link against lib
103d0 73 71 6c 69 74 65 33 2e 6c 69 62 2e 20 20 28 54  sqlite3.lib.  (T
103e0 68 69 73 20 64 69 73 74 69 6e 63 74 69 6f 6e 20  his distinction
103f0 69 73 0a 23 20 6e 65 63 65 73 73 61 72 79 20 62  is.# necessary b
10400 65 63 61 75 73 65 20 74 68 65 20 74 65 73 74 20  ecause the test
10410 66 69 78 74 75 72 65 20 72 65 71 75 69 72 65 73  fixture requires
10420 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62 6f 6c 73   non-API symbols
10430 20 77 68 69 63 68 20 61 72 65 0a 23 20 68 69 64   which are.# hid
10440 64 65 6e 20 77 68 65 6e 20 74 68 65 20 6c 69 62  den when the lib
10450 72 61 72 79 20 69 73 20 62 75 69 6c 74 20 76 69  rary is built vi
10460 61 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69  a the amalgamati
10470 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49 58 54 55  on)..#.TESTFIXTU
10480 52 45 5f 46 4c 41 47 53 20 3d 20 2d 44 54 43 4c  RE_FLAGS = -DTCL
10490 53 48 5f 49 4e 49 54 5f 50 52 4f 43 3d 73 71 6c  SH_INIT_PROC=sql
104a0 69 74 65 33 54 65 73 74 49 6e 69 74 20 2d 44 53  ite3TestInit -DS
104b0 51 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d 44 53  QLITE_TEST=1 -DS
104c0 51 4c 49 54 45 5f 43 52 41 53 48 5f 54 45 53 54  QLITE_CRASH_TEST
104d0 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  =1.TESTFIXTURE_F
104e0 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX 104f0 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 TURE_FLAGS) -DSQ 10500 4c 49 54 45 5f 53 45 52 56 45 52 3d 31 20 2d 44 LITE_SERVER=1 -D 10510 53 51 4c 49 54 45 5f 50 52 49 56 41 54 45 3d 22 SQLITE_PRIVATE=" 10520 22 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c ".TESTFIXTURE_FL 10530 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 AGS =$(TESTFIXT
10540 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
10550 49 54 45 5f 43 4f 52 45 20 24 28 4e 4f 5f 57 41  ITE_CORE $(NO_WA 10560 52 4e 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f RN).TESTFIXTURE_ 10570 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 FLAGS =$(TESTFI
10580 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
10590 51 4c 49 54 45 5f 53 45 52 49 45 53 5f 43 4f 4e  QLITE_SERIES_CON
105a0 53 54 52 41 49 4e 54 5f 56 45 52 49 46 59 3d 31  STRAINT_VERIFY=1
105b0 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
105c0 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU 105d0 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI 105e0 54 45 5f 44 45 46 41 55 4c 54 5f 50 41 47 45 5f TE_DEFAULT_PAGE_ 105f0 53 49 5a 45 3d 31 30 32 34 0a 54 45 53 54 46 49 SIZE=1024.TESTFI 10600 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 XTURE_FLAGS =$(
10610 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10620 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
10630 4c 45 5f 53 54 4d 54 56 54 41 42 3d 31 0a 54 45  LE_STMTVTAB=1.TE
10640 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS
10650 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_ 10660 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f FLAGS) -DSQLITE_ 10670 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f 56 54 ENABLE_DBPAGE_VT 10680 41 42 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 AB=1.TESTFIXTURE 10690 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 _FLAGS =$(TESTF
106a0 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  IXTURE_FLAGS) -D
106b0 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53  SQLITE_ENABLE_JS
106c0 4f 4e 31 3d 31 0a 54 45 53 54 46 49 58 54 55 52  ON1=1.TESTFIXTUR
106d0 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54  E_FLAGS = $(TEST 106e0 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 24 FIXTURE_FLAGS)$
106f0 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53  (TEST_CCONV_OPTS
10700 29 0a 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  )..TESTFIXTURE_S
10710 52 43 30 20 3d 20 24 28 54 45 53 54 45 58 54 29  RC0 = $(TESTEXT) 10720 20 24 28 54 45 53 54 53 52 43 32 29 0a 54 45 53$(TESTSRC2).TES
10730 54 46 49 58 54 55 52 45 5f 53 52 43 31 20 3d 20  TFIXTURE_SRC1 =
10740 24 28 54 45 53 54 45 58 54 29 20 24 28 53 51 4c  $(TESTEXT)$(SQL
10750 49 54 45 33 43 29 0a 21 49 46 20 24 28 55 53 45  ITE3C).!IF $(USE 10760 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d _AMALGAMATION)== 10770 30 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 0.TESTFIXTURE_SR 10780 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24 C =$(TESTSRC) $10790 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c (TOP)\src\tclsql 107a0 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54 ite.c$(TESTFIXT
107b0 55 52 45 5f 53 52 43 30 29 0a 21 45 4c 53 45 0a  URE_SRC0).!ELSE.
107c0 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 20  TESTFIXTURE_SRC
107d0 3d 20 24 28 54 45 53 54 53 52 43 29 20 24 28 54  = $(TESTSRC)$(T
107e0 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
107f0 65 2e 63 20 24 28 54 45 53 54 46 49 58 54 55 52  e.c $(TESTFIXTUR 10800 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 46 0a 0a E_SRC1).!ENDIF.. 10810 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c !IF$(USE_STDCAL
10820 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W 10830 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69 74 65 5f IN10)!=0.sqlite_ 10840 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 65 63 68 tclDecls.h:..ech 10850 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45 o #ifndef SQLITE 10860 5f 54 43 4c 41 50 49 20 3e 20 24 28 53 51 4c 49 _TCLAPI >$(SQLI
10870 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63  TETCLDECLSH)..ec
10880 68 6f 20 23 20 20 64 65 66 69 6e 65 20 53 51 4c  ho #  define SQL
10890 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e 20 24 28  ITE_TCLAPI >> $( 108a0 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 SQLITETCLDECLSH) 108b0 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e ..echo #endif >> 108c0 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c$(SQLITETCLDECL
108d0 53 48 29 0a 09 74 79 70 65 20 22 24 28 54 43 4c  SH)..type "$(TCL 108e0 49 4e 43 44 49 52 29 5c 74 63 6c 44 65 63 6c 73 INCDIR)\tclDecls 108f0 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 .h" \...|$(TCLS
10900 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to 10910 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 ol\replace.tcl r 10920 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e 28 egsub "^(EXTERN( 10930 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f 5c 73 ?: CONST\d+?)?\s 10940 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29 54 63 +?[^\(]*?\s+?)Tc 10950 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 l_" "\1 SQLITE_T 10960 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 CLAPI Tcl_" \... 10970 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 |$(TCLSH_CMD) $10980 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 (TOP)\tool\repla 10990 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e ce.tcl regsub "^ 109a0 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a 76 6f (EXTERN\s+?(?:vo 109b0 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 54 63 6c id|VOID)\s+?)Tcl 109c0 46 72 65 65 4f 62 6a 22 20 22 5c 31 20 53 51 4c FreeObj" "\1 SQL 109d0 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 46 72 ITE_TCLAPI TclFr 109e0 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 eeObj" \...|$(T
109f0 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) 10a00 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 \tool\replace.tc 10a10 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 l regsub "\(\*tc 10a20 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c l_" "(SQLITE_TCL 10a30 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a 09 09 7c API *tcl_" \...| 10a40 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28$(TCLSH_CMD) $( 10a50 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 TOP)\tool\replac 10a60 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 e.tcl regsub "\( 10a70 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 22 28 \*tclFreeObj" "( 10a80 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 SQLITE_TCLAPI *t 10a90 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c clFreeObj" \...| 10aa0 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28$(TCLSH_CMD) $( 10ab0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 TOP)\tool\replac 10ac0 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 e.tcl regsub "\( 10ad0 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c \*" "(SQLITE_TCL 10ae0 41 50 49 20 2a 22 20 3e 3e 20 24 28 53 51 4c 49 API *" >>$(SQLI
10af0 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 0a 73 71  TETCLDECLSH)..sq
10b00 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09 74 79 70  lite_tcl.h:..typ
10b10 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c  e "$(TCLINCDIR)\ 10b20 74 63 6c 2e 68 22 20 7c 20 24 28 54 43 4c 53 48 tcl.h" |$(TCLSH
10b30 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too 10b40 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 l\replace.tcl ex 10b50 61 63 74 20 74 63 6c 44 65 63 6c 73 2e 68 20 73 act tclDecls.h s 10b60 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68 qlite_tclDecls.h 10b70 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 \...|$(TCLSH_C
10b80 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ 10b90 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 replace.tcl regs 10ba0 75 62 20 22 74 79 70 65 64 65 66 20 28 2e 2a 3f ub "typedef (.*? 10bb0 29 5c 28 54 63 6c 5f 22 20 22 74 79 70 65 64 65 )\(Tcl_" "typede 10bc0 66 20 5c 31 20 28 53 51 4c 49 54 45 5f 54 43 4c f \1 (SQLITE_TCL 10bd0 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 API Tcl_" \...| 10be0 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T 10bf0 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 OP)\tool\replace 10c00 2e 74 63 6c 20 65 78 61 63 74 20 22 76 6f 69 64 .tcl exact "void 10c10 20 28 2a 66 72 65 65 50 72 6f 63 29 22 20 22 76 (*freeProc)" "v 10c20 6f 69 64 20 28 53 51 4c 49 54 45 5f 54 43 4c 41 oid (SQLITE_TCLA 10c30 50 49 20 2a 66 72 65 65 50 72 6f 63 29 22 20 5c PI *freeProc)" \ 10c40 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 ...|$(TCLSH_CMD
10c50 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re 10c60 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 place.tcl exact 10c70 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a "Tcl_HashEntry * 10c80 28 2a 66 69 6e 64 50 72 6f 63 29 22 20 22 54 63 (*findProc)" "Tc 10c90 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53 51 l_HashEntry *(SQ 10ca0 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 69 6e LITE_TCLAPI *fin 10cb0 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28 dProc)" \...|$(
10cc0 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP 10cd0 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 )\tool\replace.t 10ce0 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61 cl exact "Tcl_Ha 10cf0 73 68 45 6e 74 72 79 20 2a 28 2a 63 72 65 61 74 shEntry *(*creat 10d00 65 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 eProc)" "Tcl_Has 10d10 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f hEntry *(SQLITE_ 10d20 54 43 4c 41 50 49 20 2a 63 72 65 61 74 65 50 72 TCLAPI *createPr 10d30 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c 49 54 45 oc)" >>$(SQLITE
10d40 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a 0a 74 65  TCLH).!ENDIF..te
10d50 73 74 66 69 78 74 75 72 65 2e 65 78 65 3a 09 24  stfixture.exe:.$10d60 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 (TESTFIXTURE_SRC 10d70 29 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f )$(TESTFIXTURE_
10d80 44 45 50 29 20 24 28 53 51 4c 49 54 45 33 48 29  DEP) $(SQLITE3H) 10d90 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24$(LIBRESOBJS) $10da0 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54 (HDR)$(SQLITE_T
10db0 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 4c 49 4e  CL_DEP)..$(LTLIN 10dc0 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f 5f 53 K) -DSQLITE_NO_S 10dd0 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49 58 54 YNC=1$(TESTFIXT
10de0 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09 09 2d  URE_FLAGS) \...-
10df0 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49  DBUILD_sqlite -I
10e00 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c 0a 09  $(TCLINCDIR) \.. 10e10 09 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 .$(TESTFIXTURE_S
10e20 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28  RC) \.../link $( 10e30 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
10e40 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 42 50  KOPTS) $(TCLLIBP 10e50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50 41 54 ATHS)$(LTLIBPAT
10e60 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS 10e70 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c )$(TCLLIBS) $(L 10e80 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a TLIBS)$(TLIBS).
10e90 0a 65 78 74 65 6e 73 69 6f 6e 74 65 73 74 3a 09  .extensiontest:.
10ea0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe
10eb0 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a  testloadext.dll.
10ec0 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB 10ed0 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 TCLPATH);$(PATH)
10ee0 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
10ef0 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\ 10f00 6c 6f 61 64 65 78 74 2e 74 65 73 74 20 24 28 54 loadext.test$(T
10f10 45 53 54 4f 50 54 53 29 0a 0a 63 6f 72 65 74 65  ESTOPTS)..corete
10f20 73 74 70 72 6f 67 73 3a 09 24 28 54 45 53 54 50  stprogs:.$(TESTP 10f30 52 4f 47 53 29 0a 0a 74 65 73 74 70 72 6f 67 73 ROGS)..testprogs 10f40 3a 09 63 6f 72 65 74 65 73 74 70 72 6f 67 73 20 :.coretestprogs 10f50 73 72 63 63 6b 31 2e 65 78 65 20 66 75 7a 7a 63 srcck1.exe fuzzc 10f60 68 65 63 6b 2e 65 78 65 20 73 65 73 73 69 6f 6e heck.exe session 10f70 66 75 7a 7a 2e 65 78 65 0a 0a 66 75 6c 6c 74 65 fuzz.exe..fullte 10f80 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 st:.$(TESTPROGS)
10f90 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20   fuzztest..@set
10fa0 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT 10fb0 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 H);$(PATH)...\te
10fc0 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $( 10fd0 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 TOP)\test\all.te 10fe0 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a st$(TESTOPTS)..
10ff0 73 6f 61 6b 74 65 73 74 3a 09 24 28 54 45 53 54  soaktest:.$(TEST 11000 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 PROGS)..@set PAT 11010 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b H=$(LIBTCLPATH);
11020 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf 11030 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 ixture.exe$(TOP
11040 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20  )\test\all.test
11050 2d 73 6f 61 6b 3d 31 20 24 28 54 45 53 54 4f 50  -soak=1 $(TESTOP 11060 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c TS)..fulltestonl 11070 79 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 y:.$(TESTPROGS)
11080 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50  fuzztest..@set P
11090 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH 110a0 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 );$(PATH)...\tes
110b0 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T 110c0 4f 50 29 5c 74 65 73 74 5c 66 75 6c 6c 2e 74 65 OP)\test\full.te 110d0 73 74 0a 0a 71 75 65 72 79 70 6c 61 6e 74 65 73 st..queryplantes 110e0 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 t:.testfixture.e 110f0 78 65 20 73 68 65 6c 6c 0a 09 40 73 65 74 20 50 xe shell..@set P 11100 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 ATH=$(LIBTCLPATH
11110 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes 11120 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 tfixture.exe$(T
11130 4f 50 29 5c 74 65 73 74 5c 70 65 72 6d 75 74 61  OP)\test\permuta
11140 74 69 6f 6e 73 2e 74 65 73 74 20 71 75 65 72 79  tions.test query
11150 70 6c 61 6e 6e 65 72 20 24 28 54 45 53 54 4f 50  planner $(TESTOP 11160 54 53 29 0a 0a 66 75 7a 7a 74 65 73 74 3a 09 66 TS)..fuzztest:.f 11170 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c uzzcheck.exe...\ 11180 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 24 28 fuzzcheck.exe$(
11190 46 55 5a 5a 44 41 54 41 29 0a 0a 66 61 73 74 66  FUZZDATA)..fastf
111a0 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65  uzztest:.fuzzche
111b0 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68  ck.exe...\fuzzch
111c0 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69 74 2d  eck.exe --limit-
111d0 6d 65 6d 20 31 30 30 4d 20 24 28 46 55 5a 5a 44  mem 100M $(FUZZD 111e0 41 54 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 ATA)..# Minimal 111f0 74 65 73 74 69 6e 67 20 74 68 61 74 20 72 75 6e testing that run 11200 73 20 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 33 s in less than 3 11210 20 6d 69 6e 75 74 65 73 20 28 6f 6e 20 61 20 66 minutes (on a f 11220 61 73 74 20 6d 61 63 68 69 6e 65 29 0a 23 0a 71 ast machine).#.q 11230 75 69 63 6b 74 65 73 74 3a 09 74 65 73 74 66 69 uicktest:.testfi 11240 78 74 75 72 65 2e 65 78 65 20 73 6f 75 72 63 65 xture.exe source 11250 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d test..@set PATH= 11260 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28$(LIBTCLPATH);$( 11270 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 PATH)...\testfix 11280 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c ture.exe$(TOP)\
11290 74 65 73 74 5c 65 78 74 72 61 71 75 69 63 6b 2e  test\extraquick.
112a0 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS) 112b0 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 ..# This is the 112c0 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 52 75 common case. Ru 112d0 6e 20 6d 61 6e 79 20 74 65 73 74 73 20 74 68 61 n many tests tha 112e0 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20 74 6f t do not take to 112f0 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 o long,.# includ 11300 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c 20 73 ing fuzzcheck, s 11310 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2c qlite3_analyzer, 11320 20 61 6e 64 20 73 71 6c 64 69 66 66 20 74 65 73 and sqldiff tes 11330 74 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 54 45 ts..#.test:.$(TE
11340 53 54 50 52 4f 47 53 29 20 73 6f 75 72 63 65 74  STPROGS) sourcet
11350 65 73 74 20 66 61 73 74 66 75 7a 7a 74 65 73 74  est fastfuzztest
11360 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI 11370 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 BTCLPATH);$(PATH
11380 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
11390 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test 113a0 5c 76 65 72 79 71 75 69 63 6b 2e 74 65 73 74 20 \veryquick.test 113b0 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6d 6f$(TESTOPTS)..smo
113c0 6b 65 74 65 73 74 3a 09 24 28 54 45 53 54 50 52  ketest:.$(TESTPR 113d0 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d OGS)..@set PATH= 113e0 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28$(LIBTCLPATH);$( 113f0 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 PATH)...\testfix 11400 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c ture.exe$(TOP)\
11410 74 65 73 74 5c 6d 61 69 6e 2e 74 65 73 74 20 24  test\main.test $11420 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 71 6c 69 (TESTOPTS)..sqli 11430 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 te3_analyzer.c:. 11440 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ 11450 4c 49 54 45 33 48 29 20 24 28 54 4f 50 29 5c 73 LITE3H)$(TOP)\s
11460 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $11470 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 (TOP)\tool\space 11480 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f 50 29 5c anal.tcl$(TOP)\
11490 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool\mkccode.tcl
114a0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql 114b0 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e ite3_analyzer.c. 114c0 69 6e 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f in$(SQLITE_TCL_
114d0 44 45 50 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d  DEP)..$(TCLSH_CM 114e0 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d D)$(TOP)\tool\m
114f0 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50  kccode.tcl $(TOP 11500 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 )\tool\sqlite3_a 11510 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e 20 24 nalyzer.c.in >$
11520 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  @..sqlite3_analy
11530 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 74 65 33  zer.exe:.sqlite3
11540 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 28 4c 49  _analyzer.c $(LI 11550 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c BRESOBJS)..$(LTL
11560 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 11570 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d -DBUILD_sqlite - 11580 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71 I$(TCLINCDIR) sq
11590 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63  lite3_analyzer.c
115a0 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46   \.../link $(LDF 115b0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
115c0 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48  TS) $(TCLLIBPATH 115d0 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 S)$(LTLIBPATHS)
115e0 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS)$
115f0 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49  (TCLLIBS) $(LTLI 11600 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 73 71 BS)$(TLIBS)..sq
11610 6c 74 63 6c 73 68 2e 63 3a 20 73 71 6c 69 74 65  ltclsh.c: sqlite
11620 33 2e 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  3.c $(TOP)\src\t 11630 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50 clsqlite.c$(TOP
11640 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e  )\tool\sqltclsh.
11650 74 63 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  tcl $(TOP)\ext\m 11660 69 73 63 5c 61 70 70 65 6e 64 76 66 73 2e 63 20 isc\appendvfs.c 11670 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63$(TOP)\tool\mkcc
11680 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74  ode.tcl $(TOP)\t 11690 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e 69 ool\sqltclsh.c.i 116a0 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 n..$(TCLSH_CMD)
116b0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63  $(TOP)\tool\mkcc 116c0 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 ode.tcl$(TOP)\t
116d0 6f 6f 6c 5c 73 71 6c 74 63 6c 73 68 2e 63 2e 69  ool\sqltclsh.c.i
116e0 6e 20 3e 73 71 6c 74 63 6c 73 68 2e 63 0a 0a 73  n >sqltclsh.c..s
116f0 71 6c 74 63 6c 73 68 2e 65 78 65 3a 20 73 71 6c  qltclsh.exe: sql
11700 74 63 6c 73 68 2e 63 20 20 24 28 53 48 45 4c 4c  tclsh.c  $(SHELL 11710 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42 _CORE_DEP)$(LIB
11720 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49  RESOBJS)..$(LTLI 11730 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
11740 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49  DBUILD_sqlite -I
11750 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71 6c  $(TCLINCDIR) sql 11760 74 63 6c 73 68 2e 63 20 5c 0a 09 09 2f 6c 69 6e tclsh.c \.../lin 11770 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L 11780 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c TLINKOPTS)$(TCL
11790 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49  LIBPATHS) $(LTLI 117a0 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 BPATHS)$(LIBRES
117b0 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29  OBJS) $(TCLLIBS) 117c0 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49$(LTLIBS) $(TLI 117d0 42 53 29 0a 0a 73 71 6c 69 74 65 33 5f 65 78 70 BS)..sqlite3_exp 117e0 65 72 74 2e 65 78 65 3a 20 24 28 53 51 4c 49 54 ert.exe:$(SQLIT
117f0 45 33 43 29 20 24 28 54 4f 50 29 5c 65 78 74 5c  E3C) $(TOP)\ext\ 11800 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 expert\sqlite3ex 11810 70 65 72 74 2e 68 20 24 28 54 4f 50 29 5c 65 78 pert.h$(TOP)\ex
11820 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33  t\expert\sqlite3
11830 65 78 70 65 72 74 2e 63 20 24 28 54 4f 50 29 5c  expert.c $(TOP)\ 11840 65 78 74 5c 65 78 70 65 72 74 5c 65 78 70 65 72 ext\expert\exper 11850 74 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 t.c..$(LTLINK) $11860 28 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29 (NO_WARN).$(TOP)
11870 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69  \ext\expert\sqli
11880 74 65 33 65 78 70 65 72 74 2e 63 20 24 28 54 4f  te3expert.c $(TO 11890 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 65 78 P)\ext\expert\ex 118a0 70 65 72 74 2e 63 20 24 28 53 51 4c 49 54 45 33 pert.c$(SQLITE3
118b0 43 29 20 24 28 54 4c 49 42 53 29 0a 0a 43 48 45  C) $(TLIBS)..CHE 118c0 43 4b 45 52 5f 44 45 50 53 20 3d 5c 0a 20 20 24 CKER_DEPS =\.$
118d0 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 63 63 6f  (TOP)/tool/mkcco
118e0 64 65 2e 74 63 6c 20 5c 0a 20 20 73 71 6c 69 74  de.tcl \.  sqlit
118f0 65 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  e3.c \.  $(TOP)/ 11900 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63 20 src/tclsqlite.c 11910 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 \.$(TOP)/ext/r
11920 65 70 61 69 72 2f 73 71 6c 69 74 65 33 5f 63 68  epair/sqlite3_ch
11930 65 63 6b 65 72 2e 74 63 6c 20 5c 0a 20 20 24 28  ecker.tcl \.  $( 11940 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f TOP)/ext/repair/ 11950 63 68 65 63 6b 69 6e 64 65 78 2e 63 20 5c 0a 20 checkindex.c \. 11960 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61$(TOP)/ext/repa
11970 69 72 2f 63 68 65 63 6b 66 72 65 65 6c 69 73 74  ir/checkfreelist
11980 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex 11990 74 2f 6d 69 73 63 2f 62 74 72 65 65 69 6e 66 6f t/misc/btreeinfo 119a0 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 .c \.$(TOP)/ex
119b0 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74 65 33  t/repair/sqlite3
119c0 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 0a 0a 73  _checker.c.in..s
119d0 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63  qlite3_checker.c
119e0 3a 09 24 28 43 48 45 43 4b 45 52 5f 44 45 50 53  :.$(CHECKER_DEPS 119f0 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 )..$(TCLSH_CMD)
11a00 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63  $(TOP)\tool\mkcc 11a10 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 65 ode.tcl$(TOP)\e
11a20 78 74 5c 72 65 70 61 69 72 5c 73 71 6c 69 74 65  xt\repair\sqlite
11a30 33 5f 63 68 65 63 6b 65 72 2e 63 2e 69 6e 20 3e  3_checker.c.in >
11a40 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65   $@..sqlite3_che 11a50 63 6b 65 72 2e 65 78 65 3a 09 73 71 6c 69 74 65 cker.exe:.sqlite 11a60 33 5f 63 68 65 63 6b 65 72 2e 63 20 24 28 4c 49 3_checker.c$(LI
11a70 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c  BRESOBJS)..$(LTL 11a80 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 INK)$(NO_WARN)
11a90 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d  -DBUILD_sqlite -
11aa0 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 73 71  I$(TCLINCDIR) sq 11ab0 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20 lite3_checker.c 11ac0 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c \.../link$(LDFL
11ad0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT 11ae0 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 S)$(TCLLIBPATHS
11af0 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 11b00 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28$(LIBRESOBJS) $( 11b10 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 TCLLIBS)$(LTLIB
11b20 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 64 62 64  S) $(TLIBS)..dbd 11b30 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c ump.exe:.$(TOP)\
11b40 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70 2e  ext\misc\dbdump.
11b50 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C)$(
11b60 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52  SQLITE3H) $(LIBR 11b70 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e ESOBJS)..$(LTLIN
11b80 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D 11b90 44 42 44 55 4d 50 5f 53 54 41 4e 44 41 4c 4f 4e DBDUMP_STANDALON 11ba0 45 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 E$(TOP)\ext\mis
11bb0 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51 4c  c\dbdump.c $(SQL 11bc0 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b ITE3C) \.../link 11bd0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT 11be0 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 LINKOPTS)$(LTLI
11bf0 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES 11c00 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 0a OBJS)$(LTLIBS).
11c10 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 3a  .testloadext.lo:
11c20 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74  .$(TOP)\src\test 11c30 5f 6c 6f 61 64 65 78 74 2e 63 20 24 28 53 51 4c _loadext.c$(SQL
11c40 49 54 45 33 48 29 0a 09 24 28 4c 54 43 4f 4d 50  ITE3H)..$(LTCOMP 11c50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 ILE)$(NO_WARN)
11c60 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  -c $(TOP)\src\te 11c70 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a 74 65 st_loadext.c..te 11c80 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a 09 74 stloadext.dll:.t 11c90 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09 24 estloadext.lo..$
11ca0 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20  (LD) $(LDFLAGS) 11cb0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28$(LTLINKOPTS) $( 11cc0 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c LTLIBPATHS) /DLL 11cd0 20 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c 6f 61 /OUT:$@ testloa
11ce0 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f 77 64 62 2e  dext.lo..showdb.
11cf0 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool 11d00 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 \showdb.c$(SQLI
11d10 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H 11d20 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N 11d30 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE 11d40 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 _THREADSAFE=0 -D 11d50 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 SQLITE_OMIT_LOAD 11d60 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 _EXTENSION \...$
11d70 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64  (TOP)\tool\showd
11d80 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  b.c $(SQLITE3C) 11d90 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
11da0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS).. 11db0 73 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09 24 showstat4.exe:.$
11dc0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73  (TOP)\tool\shows
11dd0 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33  tat4.c $(SQLITE3 11de0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
11df0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
11e00 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
11e10 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
11e20 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
11e30 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO 11e40 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 P)\tool\showstat 11e50 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 4.c$(SQLITE3C)
11e60 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 11e70 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
11e80 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a  showjournal.exe:
11e90 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho 11ea0 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c wjournal.c$(SQL
11eb0 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 11ec0 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( 11ed0 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT 11ee0 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d E_THREADSAFE=0 - 11ef0 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 DSQLITE_OMIT_LOA 11f00 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 D_EXTENSION \... 11f10 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77$(TOP)\tool\show
11f20 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49  journal.c $(SQLI 11f30 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 TE3C) /link$(LD
11f40 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 11f50 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78 PTS)..showwal.ex 11f60 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 e:.$(TOP)\tool\s
11f70 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54  howwal.c $(SQLIT 11f80 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
11f90 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
11fa0 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
11fb0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
11fc0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
11fd0 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$( 11fe0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 TOP)\tool\showwa 11ff0 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 l.c$(SQLITE3C)
12000 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 12010 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
12020 73 68 6f 77 73 68 6d 2e 65 78 65 3a 09 24 28 54  showshm.exe:.$(T 12030 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d OP)\tool\showshm 12040 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 .c..$(LTLINK) $( 12050 4e 4f 5f 57 41 52 4e 29 09 24 28 54 4f 50 29 5c NO_WARN).$(TOP)\
12060 74 6f 6f 6c 5c 73 68 6f 77 73 68 6d 2e 63 20 2f  tool\showshm.c /
12070 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 12080 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63$(LTLINKOPTS)..c
12090 68 61 6e 67 65 73 65 74 2e 65 78 65 3a 09 24 28  hangeset.exe:.$( 120a0 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e TOP)\ext\session 120b0 5c 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53 \changeset.c$(S
120c0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT 120d0 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 E3H)..$(LTLINK)
120e0 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL 120f0 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 ITE_THREADSAFE=0 12100 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c -DSQLITE_OMIT_L 12110 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a OAD_EXTENSION \. 12120 09 09 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ..-DSQLITE_ENABL 12130 45 5f 53 45 53 53 49 4f 4e 3d 31 20 2d 44 53 51 E_SESSION=1 -DSQ 12140 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55 LITE_ENABLE_PREU 12150 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09 PDATE_HOOK=1 \.. 12160 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 .$(TOP)\ext\sess
12170 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63 20  ion\changeset.c
12180 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin 12190 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L 121a0 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33 TLINKOPTS)..fts3 121b0 76 69 65 77 2e 65 78 65 3a 09 24 28 54 4f 50 29 view.exe:.$(TOP)
121c0 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66  \ext\fts3\tool\f
121d0 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49  ts3view.c $(SQLI 121e0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
121f0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
12200 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12210 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12220 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12230 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$12240 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 (TOP)\ext\fts3\t 12250 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 ool\fts3view.c$
12260 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
12270 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
12280 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62  LINKOPTS)..rollb
12290 61 63 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28  ack-test.exe:.$( 122a0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 TOP)\tool\rollba 122b0 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 ck-test.c$(SQLI
122c0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H 122d0 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N 122e0 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE 122f0 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 _THREADSAFE=0 -D 12300 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 SQLITE_OMIT_LOAD 12310 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 _EXTENSION \...$
12320 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62  (TOP)\tool\rollb
12330 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c  ack-test.c $(SQL 12340 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
12350 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK 12360 4f 50 54 53 29 0a 0a 61 74 72 63 2e 65 78 65 3a OPTS)..atrc.exe: 12370 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72 .$(TOP)\test\atr
12380 63 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  c.c $(SQLITE3C) 12390 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 123a0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
123b0 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
123c0 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
123d0 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
123e0 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c  SION \...$(TOP)\ 123f0 74 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51 test\atrc.c$(SQ
12400 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 12410 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
12420 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65  KOPTS)..LogEst.e
12430 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\ 12440 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54 logest.c$(SQLIT
12450 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 12460 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50$(NO_WARN) $(TOP 12470 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 )\tool\LogEst.c 12480 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
12490 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS).. 124a0 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a 09 24 wordcount.exe:.$
124b0 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63  (TOP)\test\wordc
124c0 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33  ount.c $(SQLITE3 124d0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
124e0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
124f0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
12500 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
12510 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
12520 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f  TENSION \...$(TO 12530 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e P)\test\wordcoun 12540 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 t.c$(SQLITE3C)
12550 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 12560 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
12570 73 70 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09  speedtest1.exe:.
12580 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65  $(TOP)\test\spee 12590 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 dtest1.c$(SQLIT
125a0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) 125b0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO 125c0 5f 57 41 52 4e 29 20 24 28 53 54 5f 43 4f 4d 50 _WARN)$(ST_COMP
125d0 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ILE_OPTS) -DSQLI
125e0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
125f0 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP 12600 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 )\test\speedtest 12610 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 1.c$(SQLITE3C)
12620 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 12630 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
12640 6b 76 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f  kvtest.exe:.$(TO 12650 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 P)\test\kvtest.c 12660 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S 12670 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
12680 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN)$
12690 28 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  (KV_COMPILE_OPTS
126a0 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73  ) \...$(TOP)\tes 126b0 74 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c t\kvtest.c$(SQL
126c0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L 126d0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
126e0 4f 50 54 53 29 0a 0a 72 62 75 2e 65 78 65 3a 09  OPTS)..rbu.exe:.
126f0 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72  $(TOP)\ext\rbu\r 12700 62 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c bu.c$(TOP)\ext\
12710 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
12720 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
12730 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI 12740 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
12750 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52  DSQLITE_ENABLE_R
12760 42 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  BU \...$(TOP)\ex 12770 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 t\rbu\rbu.c$(SQ
12780 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 12790 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
127a0 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24  KOPTS)..LSMDIR=$127b0 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21 (TOP)\ext\lsm1.! 127c0 49 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52 INCLUDE$(LSMDIR
127d0 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a  )\Makefile.msc..
127e0 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e  moreclean:.clean
127f0 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54  ..del /Q $(SQLIT 12800 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
12810 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b   2>NUL.# <</mark
12820 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20  >>..clean:..del
12830 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e  /Q *.exp *.lo *.
12840 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20  ilk *.lib *.obj
12850 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64  *.ncb *.pdb *.sd
12860 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64  f *.suo 2>NUL..d
12870 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65  el /Q *.bsc *.de
12880 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62  f *.cod *.da *.b
12890 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f  b *.bbg *.vc gmo
128a0 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c  n.out 2>NUL..del
128b0 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45 58 45   /Q $(SQLITE3EXE 128c0 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20 )$(SQLITE3DLL)
128d0 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55  Replace.exe 2>NU
128e0 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65  L.# <<mark>>..de
128f0 6c 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63 20 6f  l /Q opcodes.c o
12900 70 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c 0a 09  pcodes.h 2>NUL..
12910 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c  del /Q lemon.* l
12920 65 6d 70 61 72 2e 63 20 70 61 72 73 65 2e 2a 20  empar.c parse.*
12930 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b  2>NUL..del /Q mk
12940 73 6f 75 72 63 65 69 64 2e 2a 20 6d 6b 6b 65 79  sourceid.* mkkey
12950 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f  wordhash.* keywo
12960 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09  rdhash.h 2>NUL..
12970 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61 72 65  del /Q notashare
12980 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72  dlib.* 2>NUL..-r
12990 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70 73 20  mdir /Q/S .deps
129a0 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51  2>NUL..-rmdir /Q
129b0 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09  /S .libs 2>NUL..
129c0 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63  -rmdir /Q/S tsrc
129d0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e   2>NUL..del /Q .
129e0 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e  target_source 2>
129f0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73  NUL..del /Q tcls
12a00 71 6c 69 74 65 33 2e 65 78 65 20 24 28 53 51 4c  qlite3.exe $(SQL 12a10 49 54 45 54 43 4c 48 29 20 24 28 53 51 4c 49 54 ITETCLH)$(SQLIT
12a20 45 54 43 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55  ETCLDECLSH) 2>NU
12a30 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e 64 6c  L..del /Q lsm.dl
12a40 6c 20 6c 73 6d 74 65 73 74 2e 65 78 65 20 32 3e  l lsmtest.exe 2>
12a50 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74  NUL..del /Q test
12a60 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55  loadext.dll 2>NU
12a70 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 66 69  L..del /Q testfi
12a80 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 2e 64  xture.exe test.d
12a90 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  b 2>NUL..del /Q
12aa0 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73 33 76  LogEst.exe fts3v
12ab0 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b  iew.exe rollback
12ac0 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77 64 62  -test.exe showdb
12ad0 2e 65 78 65 20 64 62 64 75 6d 70 2e 65 78 65 20  .exe dbdump.exe
12ae0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68  2>NUL..del /Q ch
12af0 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e 55  angeset.exe 2>NU
12b00 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f  L..del /Q showjo
12b10 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73 74  urnal.exe showst
12b20 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e  at4.exe showwal.
12b30 65 78 65 20 73 70 65 65 64 74 65 73 74 31 2e 65  exe speedtest1.e
12b40 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
12b50 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77 6f   mptester.exe wo
12b60 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e  rdcount.exe rbu.
12b70 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20 32  exe srcck1.exe 2
12b80 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
12b90 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a  ite3.c sqlite3-*
12ba0 2e 63 20 73 71 6c 69 74 65 33 2e 68 20 32 3e 4e  .c sqlite3.h 2>N
12bb0 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74  UL..del /Q sqlit
12bc0 65 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09 64 65  e3rc.h 2>NUL..de
12bd0 6c 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73 71 6c  l /Q shell.c sql
12be0 69 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74 65  ite3ext.h sqlite
12bf0 33 73 65 73 73 69 6f 6e 2e 68 20 32 3e 4e 55 4c  3session.h 2>NUL
12c00 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33  ..del /Q sqlite3
12c10 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 73 71  _analyzer.exe sq
12c20 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63  lite3_analyzer.c
12c30 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
12c40 71 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e 76  qlite-*-output.v
12c50 73 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  six 2>NUL..del /
12c60 51 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78  Q fuzzershell.ex
12c70 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20  e fuzzcheck.exe
12c80 73 71 6c 64 69 66 66 2e 65 78 65 20 64 62 68 61  sqldiff.exe dbha
12c90 73 68 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  sh.exe 2>NUL..de
12ca0 6c 20 2f 51 20 73 71 6c 74 63 6c 73 68 2e 2a 20  l /Q sqltclsh.*
12cb0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 64 62  2>NUL..del /Q db
12cc0 66 75 7a 7a 2e 65 78 65 20 73 65 73 73 69 6f 6e  fuzz.exe session
12cd0 66 75 7a 7a 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  fuzz.exe 2>NUL..
12ce0 64 65 6c 20 2f 51 20 6b 76 74 65 73 74 2e 65 78  del /Q kvtest.ex
12cf0 65 20 6f 73 73 73 68 65 6c 6c 2e 65 78 65 20 73  e ossshell.exe s
12d00 63 72 75 62 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  crub.exe 2>NUL..
12d10 64 65 6c 20 2f 51 20 73 68 6f 77 73 68 6d 2e 65  del /Q showshm.e
12d20 78 65 20 73 71 6c 69 74 65 33 5f 63 68 65 63 6b  xe sqlite3_check
12d30 65 72 2e 2a 20 73 71 6c 69 74 65 33 5f 65 78 70  er.* sqlite3_exp
12d40 65 72 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  ert.exe 2>NUL..d
12d50 65 6c 20 2f 51 20 66 74 73 35 2e 2a 20 66 74 73  el /Q fts5.* fts
12d60 35 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09  5parse.* 2>NUL..
12d70 64 65 6c 20 2f 51 20 6c 73 6d 2e 68 20 6c 73 6d  del /Q lsm.h lsm
12d80 31 2e 63 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d  1.c 2>NUL.# <</m
12d90 61 72 6b 3e 3e 0a                                ark>>.