/ Hex Artifact Content

## Artifact 5402eae167757dae275cd99c21d21d77db2ec1877c58b4f790ef747a60b95c9f:

• File Makefile.msc — part of check-in [790ea39a] at 2018-10-31 19:01:13 on branch trunk — Add support for the SQLITE_PREPARE_NORMALIZED flag and the sqlite3_normalized_sql() when compiling with SQLITE_ENABLE_NORMALIZE. Also remove unnecessary whitespace from Makefiles. (user: drh size: 77308) [more...]

0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS =
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U 06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a SE_FULLWARN)!=0. 0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35 NO_WARN = -wd405 0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30 4 -wd4055 -wd410 0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33 0 -wd4127 -wd413 0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38 0 -wd4152 -wd418 0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52 9 -wd4206.NO_WAR 0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d N =$(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
0970: 61 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70  abled.# for comp
0980: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f  atibility with o
0990: 6c 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72  lder build envir
09a0: 6f 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73  onments.  This s
09b0: 65 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70  etting only.# ap
09c0: 70 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43  plies if TCLSH_C
09d0: 4d 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61  MD is not set ma
09e0: 6e 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45  nually..#.!IFNDE
09f0: 46 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  F USE_TCLSH_IN_P
0a00: 41 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e  ATH.USE_TCLSH_IN
0a10: 5f 50 41 54 48 20 3d 20 30 0a 21 45 4e 44 49 46  _PATH = 0.!ENDIF
0a20: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0a30: 2d 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20  -0 to use zlib,
0a40: 70 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69  possibly compili
0a50: 6e 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63  ng it from sourc
0a60: 65 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45  e code..#.!IFNDE
0a70: 46 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a  F USE_ZLIB.USE_Z
0a80: 4c 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  LIB = 0.!ENDIF..
0a90: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0aa0: 20 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66   to build zlib f
0ab0: 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  rom source code.
0ac0: 20 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65    This is enable
0ad0: 64 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61  d by.# default a
0ae0: 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20  nd in that case
0af0: 69 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  it will be assum
0b00: 65 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42  ed that the ZLIB
0b10: 44 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e  DIR macro.# poin
0b20: 74 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65  ts to the top-le
0b30: 76 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  vel source code
0b40: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c  directory for zl
0b50: 69 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55  ib..#.!IFNDEF BU
0b60: 49 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a  ILD_ZLIB.BUILD_Z
0b70: 4c 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a  LIB = 1.!ENDIF..
0b80: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0b90: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0ba0: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0bb0: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0bc0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0bd0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0be0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0bf0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set
0c00: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0c10: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0c20: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0c30: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0c40: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0c50: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL =
0c60: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
0c70: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0c80: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0c90: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0ca0: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0cb0: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0cc0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..#
0cd0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0ce0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0cf0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0d00: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0d10: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0d20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0d30: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0d40: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0d50: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0d60: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0d70: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0d80: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0d90: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0da0: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0db0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0dc0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during
0dd0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0de0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0df0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0e00: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0e10: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0e20: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0e30: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries
0e40: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0e50: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the
0e60: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0e70: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0e80: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0e90: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0ea0: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0eb0: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ec0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0ed0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0ee0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0ef0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0f00: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0f10: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0f20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0f30: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0f40: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0f50: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0f60: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0f70: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0f80: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0f90: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does
0fa0: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0fb0: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0fc0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0fd0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0fe0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text
0ff0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
1000: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
1010: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
1020: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1030: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1040: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1050: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
1060: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
1070: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
1080: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
1090: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
10a0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
10b0: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
10c0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
10d0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
10e0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
10f0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
1100: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1110: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1120: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1130: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
1140: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
1150: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
1160: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
1170: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..#
1180: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
1190: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
11a0: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to
11b0: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or
11c0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
11d0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
11e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
11f0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
1200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
1210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
1220: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
1230: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
1240: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
1250: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
1260: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1280: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
1290: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
12a0: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
12b0: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
12c0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
12d0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
12e0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
12f0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap
1300: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
1310: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1320: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1330: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this
1340: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1350: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1360: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1370: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.#
1380: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1390: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
13a0: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
13b0: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
13c0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
13d0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
13e0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
13f0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
1400: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
1410: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1420: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1430: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1440: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1450: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1460: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for
1470: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1480: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1490: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
14a0: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime
14b0: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
14c0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
14d0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
14e0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
14f0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of
1500: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 ==
1510: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG
1520: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1530: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1540: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1550: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1560: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1570: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1580: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1590: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
15a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
15b0: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
15c0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native
15d0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
15e0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
15f0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1600: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1610: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1620: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1630: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1640: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1650: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1660: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1670: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1680: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1690: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
16a0: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
16b0: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
16c0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
16d0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
16e0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
16f0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero,
1700: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1710: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1720: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1730: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1740: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1750: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1760: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS =
1770: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set
1780: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1790: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support
17a0: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session
17b0: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
17c0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
17d0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
17e0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
17f0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1800: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1810: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1820: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they
1830: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1840: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1850: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $( 1860: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 SPLIT_AMALGAMATI 1870: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20 ON)!=0.SQLITE3C 1880: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a = sqlite3-all.c. 1890: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d !ELSE.SQLITE3C = 18a0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49 sqlite3.c.!ENDI 18b0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 F.!ENDIF..# Set 18c0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65 the include code 18d0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 file to be used 18e0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 by executables 18f0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 and libraries wh 1900: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53 en.# they need S 1910: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46 QLite..#.!IFNDEF 1920: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45 SQLITE3H.SQLITE 1930: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21 3H = sqlite3.h.! 1940: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 ENDIF..# This is 1950: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 the name to use 1960: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 for the SQLite 1970: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 dynamic link lib 1980: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49 rary (DLL)..#.!I 1990: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c FNDEF SQLITE3DLL 19a0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 .!IF$(FOR_WIN10
19b0: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL
19c0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
19d0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
19e0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
19f0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1a00: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1a10: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1a20: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1a30: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1a40: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1a50: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN 1a60: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49 10)!=0.SQLITE3LI 1a70: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c B = winsqlite3.l 1a80: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 ib.!ELSE.SQLITE3 1a90: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69 LIB = sqlite3.li 1aa0: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a b.!ENDIF.!ENDIF. 1ab0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e .# This is the n 1ac0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 ame to use for t 1ad0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 he SQLite shell 1ae0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 executable (EXE) 1af0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 ..#.!IFNDEF SQLI 1b00: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52 TE3EXE.!IF$(FOR
1b10: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1b20: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1b30: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1b40: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1b50: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1b70: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1b80: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1b90: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1ba0: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1bb0: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1bc0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1bd0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF
1be0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!= 1c00: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 0.SQLITE3EXEPDB 1c10: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45 =.!ELSE.SQLITE3E 1c20: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c XEPDB = /pdb:sql 1c30: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49 ite3sh.pdb.!ENDI 1c40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 F.!ENDIF..# <<ma 1c50: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65 rk>>.# These are 1c60: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 the names of th 1c70: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c e customized Tcl 1c80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 header files us 1c90: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61 ed by various pa 1ca0: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61 rts.# of this ma 1cb0: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20 kefile when the 1cc0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20 stdcall calling 1cd0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e convention is in 1ce0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74 use. It is not 1cf0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 .# used for any 1d00: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23 other purpose..# 1d10: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54 .!IFNDEF SQLITET 1d20: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d CLH.SQLITETCLH = 1d30: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45 sqlite_tcl.h.!E 1d40: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51 NDIF..!IFNDEF SQ 1d50: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51 LITETCLDECLSH.SQ 1d60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20 LITETCLDECLSH = 1d70: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e sqlite_tclDecls. 1d80: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 h.!ENDIF..# Thes 1d90: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69 e are the additi 1da0: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 onal targets tha 1db0: 74 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68 t the targets th 1dc0: 61 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74 at integrate wit 1dd0: 68 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72 h the.# Tcl libr 1de0: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e ary should depen 1df0: 64 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c d on when compil 1e00: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e ing, etc..#.!IFN 1e10: 44 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44 DEF SQLITE_TCL_D 1e20: 45 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 EP.!IF$(USE_STD
1e30: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO 1e40: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 R_WIN10)!=0.SQLI 1e50: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53 TE_TCL_DEP =$(S
1e60: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH)
1e70: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E 1e80: 4c 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 LSE.SQLITE_TCL_D 1e90: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 EP =.!ENDIF.!END 1ea0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a IF.# <</mark>>.. 1eb0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 # These are the 1ec0: 22 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74 "standard" SQLit 1ed0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 e compilation op 1ee0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 tions used when 1ef0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 compiling for.# 1f00: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 the Windows plat 1f10: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 form..#.!IFNDEF 1f20: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG 1f30: 53 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f S.!IF$(MINIMAL_
1f40: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
1f50: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1f60: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU 1f70: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI 1f80: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31 TE_ENABLE_FTS3=1 1f90: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 .OPT_FEATURE_FLA 1fa0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 GS =$(OPT_FEATU
1fb0: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1fc0: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d  TE_ENABLE_RTREE=
1fd0: 31 0a 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 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes a760: 74 5c 66 75 7a 7a 64 61 74 61 37 2e 64 62 0a 23 t\fuzzdata7.db.# a770: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 <</mark>>..# Ad a780: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 ditional compile a790: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 r options for th a7a0: 65 20 73 68 65 6c 6c 2e 20 20 54 68 65 73 65 20 e shell. These a7b0: 61 72 65 20 6f 6e 6c 79 20 65 66 66 65 63 74 69 are only effecti a7c0: 76 65 0a 23 20 77 68 65 6e 20 74 68 65 20 73 68 ve.# when the sh a7d0: 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e 67 ell is not being a7e0: 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e dynamically lin a7f0: 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e ked..#.!IF$(DYN
a800: 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26  AMIC_SHELL)==0 &
a810: 26 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d  & $(FOR_WIN10)== a820: 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 0.SHELL_COMPILE_ a830: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 OPTS =$(SHELL_C
a840: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
a850: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53  QLITE_ENABLE_FTS
a860: 34 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  4=1.SHELL_COMPIL
a870: 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c  E_OPTS = $(SHELL a880: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - a890: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 DSQLITE_ENABLE_E a8a0: 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 3d XPLAIN_COMMENTS= a8b0: 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 1.SHELL_COMPILE_ a8c0: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 OPTS =$(SHELL_C
a8d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
a8e0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4f 46 46  QLITE_ENABLE_OFF
a8f0: 53 45 54 5f 53 51 4c 5f 46 55 4e 43 3d 31 0a 53  SET_SQL_FUNC=1.S
a900: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
a910: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50  S = $(SHELL_COMP a920: 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 ILE_OPTS) -DSQLI a930: 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53 45 52 49 TE_ENABLE_DESERI a940: 41 4c 49 5a 45 3d 31 0a 21 45 4e 44 49 46 0a 0a ALIZE=1.!ENDIF.. a950: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 # <<mark>>.# Ext a960: 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 ra compiler opti a970: 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f 75 73 20 ons for various a980: 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 test tools..#.MP a990: 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f TESTER_COMPILE_O a9a0: 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 PTS = -DSQLITE_E a9b0: 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 NABLE_JSON1 -DSQ a9c0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 LITE_ENABLE_FTS5 a9d0: 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d .FUZZERSHELL_COM a9e0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 PILE_OPTS = -DSQ a9f0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e LITE_ENABLE_JSON aa00: 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 1.FUZZCHECK_COMP aa10: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c ILE_OPTS = -DSQL aa20: 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 ITE_ENABLE_JSON1 aa30: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE aa40: 5f 4d 45 4d 53 59 53 35 20 2d 44 53 51 4c 49 54 _MEMSYS5 -DSQLIT aa50: 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d 44 53 51 4c E_OSS_FUZZ -DSQL aa60: 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f 52 59 3d 35 ITE_MAX_MEMORY=5 aa70: 30 30 30 30 30 30 30 20 2d 44 53 51 4c 49 54 45 0000000 -DSQLITE aa80: 5f 50 52 49 4e 54 46 5f 50 52 45 43 49 53 49 4f _PRINTF_PRECISIO aa90: 4e 5f 4c 49 4d 49 54 3d 31 30 30 30 0a 46 55 5a N_LIMIT=1000.FUZ aaa0: 5a 43 48 45 43 4b 5f 53 52 43 20 3d 20 24 28 54 ZCHECK_SRC =$(T
aab0: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65  OP)\test\fuzzche
aac0: 63 6b 2e 63 20 24 28 54 4f 50 29 5c 74 65 73 74  ck.c $(TOP)\test aad0: 5c 6f 73 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 \ossfuzz.c.OSSSH aae0: 45 4c 4c 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 ELL_SRC =$(TOP)
aaf0: 5c 74 65 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63  \test\ossshell.c
ab00: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73   $(TOP)\test\oss ab10: 66 75 7a 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f fuzz.c.DBFUZZ_CO ab20: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 MPILE_OPTS = -DS ab30: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 QLITE_THREADSAFE ab40: 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 =0 -DSQLITE_OMIT ab50: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a _LOAD_EXTENSION. ab60: 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 KV_COMPILE_OPTS ab70: 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 = -DSQLITE_THREA ab80: 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 DSAFE=0 -DSQLITE ab90: 5f 44 49 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 _DIRECT_OVERFLOW aba0: 5f 52 45 41 44 0a 53 54 5f 43 4f 4d 50 49 4c 45 _READ.ST_COMPILE abb0: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 _OPTS = -DSQLITE abc0: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 0a 0a 23 _THREADSAFE=0..# abd0: 20 53 74 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e Standard option abe0: 73 20 74 6f 20 74 65 73 74 66 69 78 74 75 72 65 s to testfixture abf0: 2e 0a 23 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d ..#.TESTOPTS = - ac00: 2d 76 65 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d -verbose=file -- ac10: 6f 75 74 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e output=test-out. ac20: 74 78 74 0a 0a 23 20 45 78 74 72 61 20 74 61 72 txt..# Extra tar ac30: 67 65 74 73 20 66 6f 72 20 74 68 65 20 22 61 6c gets for the "al ac40: 6c 22 20 74 61 72 67 65 74 20 74 68 61 74 20 72 l" target that r ac50: 65 71 75 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49 equire Tcl..#.!I ac60: 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 F$(NO_TCL)==0.A
ac70: 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d  LL_TCL_TARGETS =
ac80: 20 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c   libtclsqlite3.l
ac90: 69 62 0a 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c  ib.!ELSE.ALL_TCL
aca0: 5f 54 41 52 47 45 54 53 20 3d 0a 21 45 4e 44 49  _TARGETS =.!ENDI
acb0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
acc0: 20 54 68 69 73 20 69 73 20 74 68 65 20 64 65 66   This is the def
acd0: 61 75 6c 74 20 4d 61 6b 65 66 69 6c 65 20 74 61  ault Makefile ta
ace0: 72 67 65 74 2e 20 20 54 68 65 20 6f 62 6a 65 63  rget.  The objec
acf0: 74 73 20 6c 69 73 74 65 64 20 68 65 72 65 0a 23  ts listed here.#
ad00: 20 61 72 65 20 77 68 61 74 20 67 65 74 20 62 75   are what get bu
ad10: 69 6c 64 20 77 68 65 6e 20 79 6f 75 20 74 79 70  ild when you typ
ad20: 65 20 6a 75 73 74 20 22 6d 61 6b 65 22 20 77 69  e just "make" wi
ad30: 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e  th no arguments.
ad40: 0a 23 0a 63 6f 72 65 3a 09 64 6c 6c 20 6c 69 62  .#.core:.dll lib
ad50: 73 71 6c 69 74 65 33 2e 6c 69 62 20 73 68 65 6c  sqlite3.lib shel
ad60: 6c 0a 0a 23 20 54 61 72 67 65 74 73 20 74 68 61  l..# Targets tha
ad70: 74 20 72 65 71 75 69 72 65 20 74 68 65 20 54 63  t require the Tc
ad80: 6c 20 6c 69 62 72 61 72 79 2e 0a 23 0a 74 63 6c  l library..#.tcl
ad90: 3a 09 24 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47  :.$(ALL_TCL_TARG ada0: 45 54 53 29 0a 0a 23 20 54 68 69 73 20 4d 61 6b ETS)..# This Mak adb0: 65 66 69 6c 65 20 74 61 72 67 65 74 20 62 75 69 efile target bui adc0: 6c 64 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 lds all of the s add0: 74 61 6e 64 61 72 64 20 62 69 6e 61 72 69 65 73 tandard binaries ade0: 2e 0a 23 0a 61 6c 6c 3a 09 63 6f 72 65 20 74 63 ..#.all:.core tc adf0: 6c 0a 0a 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e l..# Dynamic lin ae00: 6b 20 6c 69 62 72 61 72 79 20 73 65 63 74 69 6f k library sectio ae10: 6e 2e 0a 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 n..#.dll:.$(SQLI
ae20: 54 45 33 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c  TE3DLL)..# Shell
ae30: 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73   executable..#.s
ae40: 68 65 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 45  hell:.$(SQLITE3E ae50: 58 45 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a XE)..# <<mark>>. ae60: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 libsqlite3.lib:. ae70: 24 28 4c 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c$(LIBOBJ)..$(LTL ae80: 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 IB)$(LTLIBOPTS)
ae90: 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42   /OUT:$@$(LIBOB
aea0: 4a 29 20 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62  J) $(TLIBS)..lib aeb0: 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 tclsqlite3.lib:. aec0: 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 tclsqlite.lo lib aed0: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c sqlite3.lib..$(L
aee0: 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54  TLIB) $(LTLIBOPT aef0: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 S)$(LTLIBPATHS)
af00: 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69   /OUT:$@ tclsqli af10: 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 te.lo libsqlite3 af20: 2e 6c 69 62 20 24 28 4c 49 42 54 43 4c 53 54 55 .lib$(LIBTCLSTU
af30: 42 29 20 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c  B) $(TLIBS).# << af40: 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 /mark>>..$(SQLIT
af50: 45 33 44 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a  E3DLL):.$(LIBOBJ af60: 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 )$(LIBRESOBJS)
af70: 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29  $(CORE_LINK_DEP) af80: 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 ..$(LD) $(LDFLAG af90: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
afa0: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) / afb0: 44 4c 4c 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f DLL$(CORE_LINK_
afc0: 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24 28  OPTS) /OUT:$@$(
afd0: 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53  LIBOBJ) $(LIBRES afe0: 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 OBJS)$(LTLIBS)
aff0: 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c  $(TLIBS)..# <<bl b000: 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 ock2>>.sqlite3.d b010: 65 66 3a 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c ef:.libsqlite3.l b020: 69 62 0a 09 65 63 68 6f 20 45 58 50 4f 52 54 53 ib..echo EXPORTS b030: 20 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 > sqlite3.def.. b040: 64 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 dumpbin /all lib b050: 73 71 6c 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09 sqlite3.lib \... b060: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 |$(TCLSH_CMD) $b070: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 (TOP)\tool\repla b080: 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 ce.tcl include " b090: 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33 ^\s+1 _?(sqlite3 b0a0: 28 3f 3a 73 65 73 73 69 6f 6e 7c 63 68 61 6e 67 (?:session|chang b0b0: 65 73 65 74 7c 63 68 61 6e 67 65 67 72 6f 75 70 eset|changegroup b0c0: 7c 72 65 62 61 73 65 72 29 3f 5f 5b 5e 40 5d 2a |rebaser)?_[^@]* b0d0: 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31 )(?:@\d+)?$$" \1 b0e0: 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e 20 73 \...| sort >> s b0f0: 71 6c 69 74 65 33 2e 64 65 66 0a 23 20 3c 3c 2f qlite3.def.# <</ b100: 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49 block2>>..$(SQLI
b110: 54 45 33 45 58 45 29 3a 09 73 68 65 6c 6c 2e 63  TE3EXE):.shell.c
b120: 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45   $(SHELL_CORE_DE b130: 50 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 P)$(LIBRESOBJS)
b140: 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52   $(SHELL_CORE_SR b150: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
b160: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 48 45 4c  $(LTLINK)$(SHEL
b170: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  L_COMPILE_OPTS)
b180: 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53  $(READLINE_FLAGS b190: 29 20 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c ) shell.c$(SHEL
b1a0: 4c 5f 43 4f 52 45 5f 53 52 43 29 20 5c 0a 09 09  L_CORE_SRC) \...
b1b0: 2f 6c 69 6e 6b 20 24 28 53 51 4c 49 54 45 33 45  /link $(SQLITE3E b1c0: 58 45 50 44 42 29 20 24 28 4c 44 46 4c 41 47 53 XEPDB)$(LDFLAGS
b1d0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) b1e0: 24 28 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54$(SHELL_LINK_OPT
b1f0: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS) b200: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24$(LIBRESOBJS) $b210: 28 4c 49 42 52 45 41 44 4c 49 4e 45 29 20 24 28 (LIBREADLINE)$(
b220: 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29  LTLIBS) $(TLIBS) b230: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c ..# <<mark>>.sql b240: 64 69 66 66 2e 65 78 65 3a 09 24 28 54 4f 50 29 diff.exe:.$(TOP)
b250: 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20  \tool\sqldiff.c
b260: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
b270: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN b280: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 K)$(NO_WARN) $( b290: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 TOP)\tool\sqldif b2a0: 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 f.c$(SQLITE3C)
b2b0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) b2c0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
b2d0: 64 62 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f  dbhash.exe:.$(TO b2e0: 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 P)\tool\dbhash.c b2f0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S b300: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
b310: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN)$
b320: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73  (TOP)\tool\dbhas
b330: 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  h.c $(SQLITE3C) b340: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
b350: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS).. b360: 73 63 72 75 62 2e 65 78 65 3a 09 24 28 54 4f 50 scrub.exe:.$(TOP
b370: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62  )\ext\misc\scrub
b380: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C)$
b390: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT b3a0: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
b3b0: 20 2d 44 53 43 52 55 42 5f 53 54 41 4e 44 41 4c   -DSCRUB_STANDAL
b3c0: 4f 4e 45 3d 31 20 24 28 54 4f 50 29 5c 65 78 74  ONE=1 $(TOP)\ext b3d0: 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28 \misc\scrub.c$(
b3e0: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link
b3f0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
b400: 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31  INKOPTS)..srcck1
b410: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too b420: 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24 28 42 43 l\srcck1.c..$(BC
b430: 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46  C) $(NO_WARN) -F b440: 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c e$@ $(TOP)\tool\ b450: 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65 srcck1.c..source b460: 74 65 73 74 3a 09 73 72 63 63 6b 31 2e 65 78 65 test:.srcck1.exe b470: 20 24 28 53 51 4c 49 54 45 33 43 29 0a 09 73 72$(SQLITE3C)..sr
b480: 63 63 6b 31 2e 65 78 65 20 24 28 53 51 4c 49 54  cck1.exe $(SQLIT b490: 45 33 43 29 0a 0a 66 75 7a 7a 65 72 73 68 65 6c E3C)..fuzzershel b4a0: 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f l.exe:.$(TOP)\to
b4b0: 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63  ol\fuzzershell.c
b4c0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
b4d0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI b4e0: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 NK)$(NO_WARN) $b4f0: 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d (FUZZERSHELL_COM b500: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 PILE_OPTS)$(TOP
b510: 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65  )\tool\fuzzershe
b520: 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ll.c $(SQLITE3C) b530: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 /link$(LDFLAGS
b540: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS). b550: 0a 64 62 66 75 7a 7a 2e 65 78 65 3a 09 24 28 54 .dbfuzz.exe:.$(T
b560: 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e  OP)\test\dbfuzz.
b570: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C)$(
b580: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL b590: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 INK)$(NO_WARN)
b5a0: 24 28 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45  $(DBFUZZ_COMPILE b5b0: 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74 65 _OPTS)$(TOP)\te
b5c0: 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53 51  st\dbfuzz.c $(SQ b5d0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
b5e0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN b5f0: 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63 68 65 63 KOPTS)..fuzzchec b600: 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a 43 48 45 k.exe:.$(FUZZCHE
b610: 43 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45  CK_SRC) $(SQLITE b620: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
b630: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
b640: 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43  WARN) $(FUZZCHEC b650: 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 K_COMPILE_OPTS) b660: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29$(FUZZCHECK_SRC)
b670: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li b680: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( b690: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73 LTLINKOPTS)..oss b6a0: 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 4f 53 53 shell.exe:.$(OSS
b6b0: 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c  SHELL_SRC) $(SQL b6c0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
b6d0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK)$(
b6e0: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43  NO_WARN) $(FUZZC b6f0: 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 HECK_COMPILE_OPT b700: 53 29 20 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52 S)$(OSSSHELL_SR
b710: 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  C) $(SQLITE3C) / b720: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
b730: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s b740: 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 3a 09 essionfuzz.exe:. b750: 7a 6c 69 62 20 24 28 54 4f 50 29 5c 74 65 73 74 zlib$(TOP)\test
b760: 5c 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 63 20 24  \sessionfuzz.c $b770: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
b780: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK b790: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 49 24 )$(NO_WARN) -I$b7a0: 28 5a 4c 49 42 49 4e 43 44 49 52 29 20 24 28 54 (ZLIBINCDIR)$(T
b7b0: 4f 50 29 5c 74 65 73 74 5c 73 65 73 73 69 6f 6e  OP)\test\session
b7c0: 66 75 7a 7a 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c  fuzz.c /link $(L b7d0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
b7e0: 4f 50 54 53 29 20 2f 4c 49 42 50 41 54 48 3a 24  OPTS) /LIBPATH:$b7f0: 28 5a 4c 49 42 4c 49 42 44 49 52 29 20 24 28 5a (ZLIBLIBDIR)$(Z
b800: 4c 49 42 4c 49 42 29 0a 0a 6d 70 74 65 73 74 65  LIBLIB)..mpteste
b810: 72 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d 70  r.exe:.$(TOP)\mp b820: 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 test\mptest.c$(
b830: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI b840: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 TE3H)..$(LTLINK)
b850: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d 50   $(NO_WARN)$(MP
b860: 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f  TESTER_COMPILE_O
b870: 50 54 53 29 20 24 28 54 4f 50 29 5c 6d 70 74 65  PTS) $(TOP)\mpte b880: 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51 st\mptest.c$(SQ
b890: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( b8a0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
b8b0: 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53 54 31 20  KOPTS)..MPTEST1
b8c0: 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73  = mptester mptes
b8d0: 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65  t.db $(TOP)\mpte b8e0: 73 74 5c 63 72 61 73 68 30 31 2e 74 65 73 74 20 st\crash01.test b8f0: 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d 50 54 45 --repeat 20.MPTE b900: 53 54 32 20 3d 20 6d 70 74 65 73 74 65 72 20 6d ST2 = mptester m b910: 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c ptest.db$(TOP)\
b920: 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77 72 69 74  mptest\multiwrit
b930: 65 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61  e01.test --repea
b940: 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d 70  t 20..mptest:.mp
b950: 74 65 73 74 65 72 2e 65 78 65 0a 09 64 65 6c 20  tester.exe..del
b960: 2f 51 20 6d 70 74 65 73 74 2e 64 62 20 32 3e 4e  /Q mptest.db 2>N
b970: 55 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  UL..$(MPTEST1) - b980: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c -journalmode DEL b990: 45 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 ETE..$(MPTEST2)
b9a0: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41  --journalmode WA
b9b0: 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d  L..$(MPTEST1) -- b9c0: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a journalmode WAL. b9d0: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f .$(MPTEST2) --jo
b9e0: 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53  urnalmode PERSIS
b9f0: 54 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d  T..$(MPTEST1) -- ba00: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 journalmode PERS ba10: 49 53 54 0a 09 24 28 4d 50 54 45 53 54 32 29 20 IST..$(MPTEST2)
ba20: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52  --journalmode TR
ba30: 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53 54  UNCATE..$(MPTEST ba40: 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 1) --journalmode ba50: 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 TRUNCATE..$(MPT
ba60: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
ba70: 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23 20 54 68  ode DELETE..# Th
ba80: 69 73 20 74 61 72 67 65 74 20 63 72 65 61 74 65  is target create
ba90: 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61  s a directory na
baa0: 6d 65 64 20 22 74 73 72 63 22 20 61 6e 64 20 66  med "tsrc" and f
bab0: 69 6c 6c 73 20 69 74 20 77 69 74 68 0a 23 20 63  ills it with.# c
bac0: 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66 20  opies of all of
bad0: 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64  the C source cod
bae0: 65 20 61 6e 64 20 68 65 61 64 65 72 20 66 69 6c  e and header fil
baf0: 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 23 20 62  es needed to.# b
bb00: 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 61 72 67  uild on the targ
bb10: 65 74 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d 65  et system.  Some
bb20: 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63 65   of the C source
bb30: 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72   code and header
bb40: 0a 23 20 66 69 6c 65 73 20 61 72 65 20 61 75 74  .# files are aut
bb50: 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72  omatically gener
bb60: 61 74 65 64 2e 20 20 54 68 69 73 20 74 61 72 67  ated.  This targ
bb70: 65 74 20 74 61 6b 65 73 20 63 61 72 65 20 6f 66  et takes care of
bb80: 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 75 74 6f  .# all that auto
bb90: 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e  matic generation
bba0: 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75 72  ..#..target_sour
bbb0: 63 65 3a 09 24 28 53 52 43 29 20 24 28 54 4f 50  ce:.$(SRC)$(TOP
bbc0: 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70  )\tool\vdbe-comp
bbd0: 72 65 73 73 2e 74 63 6c 20 66 74 73 35 2e 63 20  ress.tcl fts5.c
bbe0: 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50  $(SQLITE_TCL_DEP bbf0: 29 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 )..-rmdir /Q/S t bc00: 73 72 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b 64 69 src 2>NUL..-mkdi bc10: 72 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 r tsrc..for %i i bc20: 6e 20 28 24 28 53 52 43 30 30 29 29 20 64 6f 20 n ($(SRC00)) do
bc30: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
bc40: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR bc50: 43 30 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 C01)) do copy /Y bc60: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 %i tsrc..for %i bc70: 20 69 6e 20 28 24 28 53 52 43 30 33 29 29 20 64 in ($(SRC03)) d
bc80: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
bc90: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($( bca0: 53 52 43 30 34 29 29 20 64 6f 20 63 6f 70 79 20 SRC04)) do copy bcb0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 /Y %i tsrc..for bcc0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 35 29 29 %i in ($(SRC05))
bcd0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
bce0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
bcf0: 24 28 53 52 43 30 36 29 29 20 64 6f 20 63 6f 70  $(SRC06)) do cop bd00: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f y /Y %i tsrc..fo bd10: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 37 r %i in ($(SRC07
bd20: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
bd30: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
bd40: 20 28 24 28 53 52 43 30 38 29 29 20 64 6f 20 63   ($(SRC08)) do c bd50: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 opy /Y %i tsrc.. bd60: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 for %i in ($(SRC
bd70: 30 39 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  09)) do copy /Y
bd80: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i
bd90: 69 6e 20 28 24 28 53 52 43 31 30 29 29 20 64 6f  in ($(SRC10)) do bda0: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 copy /Y %i tsrc bdb0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 ..for %i in ($(S
bdc0: 52 43 31 31 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC11)) do copy /
bdd0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
bde0: 69 20 69 6e 20 28 24 28 53 52 43 31 32 29 29 20  i in ($(SRC12)) bdf0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 do copy /Y %i ts be00: 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35 rc..copy /Y fts5 be10: 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 .c tsrc..copy /Y be20: 20 66 74 73 35 2e 68 20 74 73 72 63 0a 09 64 65 fts5.h tsrc..de be30: 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69 74 65 l /Q tsrc\sqlite be40: 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72 73 65 .h.in tsrc\parse be50: 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c 53 .y 2>NUL..$(TCLS
be60: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to be70: 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 ol\vdbe-compress be80: 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 3c 20 74 .tcl$(OPTS) < t
be90: 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 64 62  src\vdbe.c > vdb
bea0: 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62 65  e.new..move vdbe
beb0: 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65 2e 63  .new tsrc\vdbe.c
bec0: 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 65 74  ..echo > .target
bed0: 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65 33  _source..sqlite3
bee0: 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72  .c:..target_sour
bef0: 63 65 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20  ce sqlite3ext.h
bf00: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f  $(MKSQLITE3C_TOO bf10: 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 L)..$(TCLSH_CMD)
bf20: 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f   $(MKSQLITE3C_TO bf30: 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 OL)$(MKSQLITE3C
bf40: 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 24 28 54  _ARGS)..copy $(T bf50: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c OP)\ext\session\ bf60: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 sqlite3session.h bf70: 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61 6c 6c 2e ...sqlite3-all. bf80: 63 3a 09 73 71 6c 69 74 65 33 2e 63 20 24 28 54 c:.sqlite3.c$(T
bf90: 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73  OP)\tool\split-s
bfa0: 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 24 28 54  qlite3c.tcl..$(T bfb0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
bfc0: 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69  \tool\split-sqli
bfd0: 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d 61  te3c.tcl.# <</ma
bfe0: 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20  rk>>..# Rule to
bff0: 62 75 69 6c 64 20 74 68 65 20 61 6d 61 6c 67 61  build the amalga
c000: 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 65 33  mation.#.sqlite3
c010: 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 33 43 29  .lo:.$(SQLITE3C) c020: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c030: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP c040: 54 53 29 20 2d 63 20 24 28 53 51 4c 49 54 45 33 TS) -c$(SQLITE3
c050: 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  C)..# <<mark>>.#
c060: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build
c070: 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69 6c  the LEMON compil
c080: 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 23 0a 6c  er generator.#.l
c090: 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f 50 29 5c  empar.c:.$(TOP)\ c0a0: 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09 63 tool\lempar.c..c c0b0: 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c opy$(TOP)\tool\
c0c0: 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d 6f  lempar.c ...lemo
c0d0: 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  n.exe:.$(TOP)\to c0e0: 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70 61 ol\lemon.c lempa c0f0: 72 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f r.c..$(BCC) $(NO c100: 5f 57 41 52 4e 29 20 2d 44 61 63 63 65 73 73 3d _WARN) -Daccess= c110: 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d 46 65 24 _access \...-Fe$
c120: 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65  @ $(TOP)\tool\le c130: 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 mon.c /link$(LD
c140: 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b  FLAGS) $(NLTLINK c150: 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 OPTS)$(NLTLIBPA
c160: 54 48 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  THS)..# <<mark>>
c170: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
c180: 64 20 74 68 65 20 73 6f 75 72 63 65 2d 69 64 20  d the source-id
c190: 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c 0a 23  generator tool.#
c1a0: 0a 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 3a  .mksourceid.exe:
c1b0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73  .$(TOP)\tool\mks c1c0: 6f 75 72 63 65 69 64 2e 63 0a 09 24 28 42 43 43 ourceid.c..$(BCC
c1d0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65  ) $(NO_WARN) -Fe c1e0: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d$@ $(TOP)\tool\m c1f0: 6b 73 6f 75 72 63 65 69 64 2e 63 20 2f 6c 69 6e ksourceid.c /lin c200: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e k$(LDFLAGS) $(N c210: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c LTLINKOPTS)$(NL
c220: 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 52 75  TLIBPATHS)..# Ru
c230: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64  les to build ind
c240: 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c  ividual *.lo fil
c250: 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 74 65  es from generate
c260: 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68 69  d *.c files. Thi
c270: 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f 3a 0a  s.# applies to:.
c280: 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e 6c 6f  #.#     parse.lo
c290: 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73 2e 6c  .#     opcodes.l
c2a0: 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 61  o.#.parse.lo:.pa
c2b0: 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  rse.c $(HDR)..$(
c2c0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR c2d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) c2e0: 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70 63 6f -c parse.c..opco c2f0: 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73 2e des.lo:.opcodes. c300: 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 c..$(LTCOMPILE)
c310: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O c320: 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65 73 2e PTS) -c opcodes. c330: 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 c.# <</mark>>..# c340: 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 Rule to build t c350: 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75 72 63 he Win32 resourc c360: 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a es object file.. c370: 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29 21 #.!IF$(USE_RC)!
c380: 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e 0a  =0.# <<block1>>.
c390: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a 09 24  $(LIBRESOBJS):.$
c3a0: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
c3b0: 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33 48 29  3.rc $(SQLITE3H) c3c0: 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20 53 ..echo #ifndef S c3d0: 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56 QLITE_RESOURCE_V c3e0: 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74 65 33 ERSION > sqlite3 c3f0: 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25 25 56 rc.h..for /F %%V c400: 20 69 6e 20 28 27 74 79 70 65 20 22 24 28 54 4f in ('type "$(TO
c410: 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 64 6f  P)\VERSION"') do
c420: 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64 65 66   ( \...echo #def
c430: 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53 4f 55  ine SQLITE_RESOU
c440: 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25 56 20  RCE_VERSION %%V
c450: 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 5f 43  \....| $(TCLSH_C c460: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c MD)$(TOP)\tool\
c470: 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
c480: 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69 74 65  t . ^, >> sqlite
c490: 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63 68 6f  3rc.h \..)..echo
c4a0: 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c 69 74   #endif >> sqlit
c4b0: 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43 4f 4d  e3rc.h..$(LTRCOM c4c0: 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49 42 52 PILE) -fo$(LIBR
c4d0: 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29 5c 73  ESOBJS) $(TOP)\s c4e0: 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a 23 20 rc\sqlite3.rc.# c4f0: 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e 44 <</block1>>.!END c500: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 IF..# <<mark>>.# c510: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 Rules to build c520: 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 individual *.lo c530: 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c 65 73 files from files c540: 20 69 6e 20 74 68 65 20 73 72 63 20 64 69 72 65 in the src dire c550: 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72 2e 6c ctory..#.alter.l c560: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c o:.$(TOP)\src\al
c570: 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ter.c $(HDR)..$(
c580: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR c590: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) c5a0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c -c$(TOP)\src\al
c5b0: 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e 6c  ter.c..analyze.l
c5c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e  o:.$(TOP)\src\an c5d0: 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29 0a 09 alyze.c$(HDR)..
c5e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
c5f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c600: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ c610: 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74 61 63 analyze.c..attac c620: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 h.lo:.$(TOP)\src
c630: 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44 52 29  \attach.c $(HDR) c640: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c650: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP c660: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
c670: 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75 74 68  c\attach.c..auth
c680: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ c690: 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a 09 24 auth.c$(HDR)..$c6a0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
c6b0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c6c0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a c6d0: 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c 6f uth.c..backup.lo c6e0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 :.$(TOP)\src\bac
c6f0: 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28  kup.c $(HDR)..$(
c700: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR c710: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) c720: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 -c$(TOP)\src\ba
c730: 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 2e 6c  ckup.c..bitvec.l
c740: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 69  o:.$(TOP)\src\bi c750: 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a 09 24 tvec.c$(HDR)..$c760: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
c770: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c780: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b c790: 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74 65 78 itvec.c..btmutex c7a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
c7b0: 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29  btmutex.c $(HDR) c7c0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c7d0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP c7e0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
c7f0: 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62 74 72  c\btmutex.c..btr
c800: 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ee.lo:.$(TOP)\sr c810: 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44 52 29 c\btree.c$(HDR)
c820: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page c830: 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 r.h..$(LTCOMPILE
c840: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE c850: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
c860: 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a 62 75  \src\btree.c..bu
c870: 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ild.lo:.$(TOP)\s c880: 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48 44 52 rc\build.c$(HDR
c890: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) c8a0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
c8b0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s c8c0: 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61 6c 6c rc\build.c..call c8d0: 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c back.lo:.$(TOP)\
c8e0: 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 24  src\callback.c $c8f0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
c900: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI c910: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
c920: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e  P)\src\callback.
c930: 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a 09  c..complete.lo:.
c940: 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c  $(TOP)\src\compl c950: 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ete.c$(HDR)..$( c960: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
c970: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
c980: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  -c $(TOP)\src\co c990: 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d 65 2e mplete.c..ctime. c9a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 lo:.$(TOP)\src\c
c9b0: 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a 09 24  time.c $(HDR)..$
c9c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO c9d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) c9e0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 -c$(TOP)\src\c
c9f0: 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f 3a  time.c..date.lo:
ca00: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65  .$(TOP)\src\date ca10: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC ca20: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
ca30: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
ca40: 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e  $(TOP)\src\date. ca50: 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a 09 24 28 c..dbpage.lo:.$(
ca60: 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65 2e  TOP)\src\dbpage.
ca70: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ca80: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO ca90: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
caa0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65  (TOP)\src\dbpage
cab0: 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a 09 24  .c..dbstat.lo:.$cac0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 (TOP)\src\dbstat cad0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC cae0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
caf0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
cb00: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61  $(TOP)\src\dbsta cb10: 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09 t.c..delete.lo:. cb20: 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74$(TOP)\src\delet
cb30: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
cb40: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ cb50: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c cb60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65$(TOP)\src\dele
cb70: 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24  te.c..expr.lo:.$cb80: 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 (TOP)\src\expr.c cb90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM cba0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
cbb0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( cbc0: 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 0a TOP)\src\expr.c. cbd0: 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50 .fault.lo:.$(TOP
cbe0: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 24 28  )\src\fault.c $( cbf0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
cc00: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL cc10: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
cc20: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a 0a 66  )\src\fault.c..f
cc30: 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  key.lo:.$(TOP)\s cc40: 72 63 5c 66 6b 65 79 2e 63 20 24 28 48 44 52 29 rc\fkey.c$(HDR)
cc50: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
cc60: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cc70: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr cc80: 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c c\fkey.c..func.l cc90: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 o:.$(TOP)\src\fu
cca0: 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  nc.c $(HDR)..$(L
ccb0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE ccc0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - ccd0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e c$(TOP)\src\fun
cce0: 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09  c.c..global.lo:.
ccf0: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61  $(TOP)\src\globa cd00: 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 l.c$(HDR)..$(LT cd10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
cd20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cd30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62   $(TOP)\src\glob cd40: 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24 al.c..hash.lo:.$
cd50: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63  (TOP)\src\hash.c
cd60: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cd70: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM cd80: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
cd90: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 0a  TOP)\src\hash.c.
cda0: 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f  .insert.lo:.$(TO cdb0: 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 P)\src\insert.c cdc0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP cdd0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
cde0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T cdf0: 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 OP)\src\insert.c ce00: 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24 28 54 ..legacy.lo:.$(T
ce10: 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63  OP)\src\legacy.c
ce20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
ce30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM ce40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
ce50: 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e  TOP)\src\legacy.
ce60: 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24  c..loadext.lo:.$ce70: 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 (TOP)\src\loadex ce80: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 t.c$(HDR)..$(LT ce90: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
cea0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
ceb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64   $(TOP)\src\load cec0: 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09 ext.c..main.lo:. ced0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e$(TOP)\src\main.
cee0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
cef0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO cf00: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
cf10: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63  (TOP)\src\main.c
cf20: 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54  ..malloc.lo:.$(T cf30: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 OP)\src\malloc.c cf40: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM cf50: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
cf60: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( cf70: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e TOP)\src\malloc. cf80: 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f c..mem0.lo:.$(TO
cf90: 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 24 28  P)\src\mem0.c $( cfa0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
cfb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL cfc0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
cfd0: 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65  )\src\mem0.c..me
cfe0: 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m1.lo:.$(TOP)\sr cff0: 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52 29 0a c\mem1.c$(HDR).
d000: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d010: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d020: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src d030: 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f \mem1.c..mem2.lo d040: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d :.$(TOP)\src\mem
d050: 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  2.c $(HDR)..$(LT
d060: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d070: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d080: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32$(TOP)\src\mem2
d090: 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54  .c..mem3.lo:.$(T d0a0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 24 OP)\src\mem3.c$
d0b0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d0c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d0d0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d0e0: 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d P)\src\mem3.c..m d0f0: 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 em5.lo:.$(TOP)\s
d100: 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44 52 29  rc\mem5.c $(HDR) d110: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $d120: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP d130: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
d140: 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 64 62 2e  c\mem5.c..memdb.
d150: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m d160: 65 6d 64 62 2e 63 20 24 28 48 44 52 29 0a 09 24 emdb.c$(HDR)..$d170: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d180: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d190: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m d1a0: 65 6d 64 62 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e emdb.c..memjourn d1b0: 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 al.lo:.$(TOP)\sr
d1c0: 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24  c\memjournal.c $d1d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
d1e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI d1f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
d200: 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61  P)\src\memjourna
d210: 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24  l.c..mutex.lo:.$d220: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e (TOP)\src\mutex. d230: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO d240: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d250: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $d260: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e (TOP)\src\mutex. d270: 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f c..mutex_noop.lo d280: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 :.$(TOP)\src\mut
d290: 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52 29  ex_noop.c $(HDR) d2a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $d2b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP d2c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
d2d0: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a 0a  c\mutex_noop.c..
d2e0: 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 24  mutex_unix.lo:.$d2f0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f (TOP)\src\mutex_ d300: 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24 unix.c$(HDR)..$d310: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d320: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d330: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m d340: 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74 utex_unix.c..mut d350: 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f 50 ex_w32.lo:.$(TOP
d360: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e  )\src\mutex_w32.
d370: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d380: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO d390: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
d3a0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
d3b0: 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c 6f  w32.c..notify.lo
d3c0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74  :.$(TOP)\src\not d3d0: 69 66 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ify.c$(HDR)..$( d3e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d3f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d400: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f  -c $(TOP)\src\no d410: 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 2e 6c 6f tify.c..pager.lo d420: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 :.$(TOP)\src\pag
d430: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  er.c $(HDR)$(TO
d440: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09  P)\src\pager.h..
d450: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
d460: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d470: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ d480: 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e pager.c..pcache. d490: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 lo:.$(TOP)\src\p
d4a0: 63 61 63 68 65 2e 63 20 24 28 48 44 52 29 20 24  cache.c $(HDR)$
d4b0: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
d4c0: 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  .h..$(LTCOMPILE) d4d0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
d4e0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ d4f0: 73 72 63 5c 70 63 61 63 68 65 2e 63 0a 0a 70 63 src\pcache.c..pc d500: 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 ache1.lo:.$(TOP)
d510: 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 24  \src\pcache1.c $d520: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 (HDR)$(TOP)\src
d530: 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43  \pcache.h..$(LTC d540: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
d550: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
d560: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach d570: 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54 e1.c..os.lo:.$(T
d580: 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 24 28 48  OP)\src\os.c $(H d590: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
d5a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE d5b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
d5c0: 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e  \src\os.c..os_un
d5d0: 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ix.lo:.$(TOP)\sr d5e0: 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48 44 c\os_unix.c$(HD
d5f0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) d600: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
d610: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ d620: 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a 6f src\os_unix.c..o d630: 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 s_win.lo:.$(TOP)
d640: 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 28  \src\os_win.c $( d650: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d660: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d670: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
d680: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a  )\src\os_win.c..
d690: 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f 50  pragma.lo:.$(TOP d6a0: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 24 )\src\pragma.c$
d6b0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d6c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d6d0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d6e0: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 0a P)\src\pragma.c. d6f0: 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28 54 .prepare.lo:.$(T
d700: 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e  OP)\src\prepare.
d710: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d720: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO d730: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
d740: 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72  (TOP)\src\prepar
d750: 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09  e.c..printf.lo:.
d760: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74  $(TOP)\src\print d770: 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 f.c$(HDR)..$(LT d780: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
d790: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
d7a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e   $(TOP)\src\prin d7b0: 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a tf.c..random.lo: d7c0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 .$(TOP)\src\rand
d7d0: 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  om.c $(HDR)..$(L
d7e0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d7f0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d800: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e c$(TOP)\src\ran
d810: 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c  dom.c..resolve.l
d820: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  o:.$(TOP)\src\re d830: 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 29 0a 09 solve.c$(HDR)..
d840: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
d850: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d860: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ d870: 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73 65 resolve.c..rowse d880: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 t.lo:.$(TOP)\src
d890: 5c 72 6f 77 73 65 74 2e 63 20 24 28 48 44 52 29  \rowset.c $(HDR) d8a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $d8b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP d8c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
d8d0: 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c 65  c\rowset.c..sele
d8e0: 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ct.lo:.$(TOP)\sr d8f0: 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 48 44 52 c\select.c$(HDR
d900: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) d910: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
d920: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s d930: 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a 73 74 61 rc\select.c..sta d940: 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 tus.lo:.$(TOP)\s
d950: 72 63 5c 73 74 61 74 75 73 2e 63 20 24 28 48 44  rc\status.c $(HD d960: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d970: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d980: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
d990: 73 72 63 5c 73 74 61 74 75 73 2e 63 0a 0a 74 61  src\status.c..ta
d9a0: 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ble.lo:.$(TOP)\s d9b0: 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 48 44 52 rc\table.c$(HDR
d9c0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) d9d0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
d9e0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s d9f0: 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 68 72 65 rc\table.c..thre da00: 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ads.lo:.$(TOP)\s
da10: 72 63 5c 74 68 72 65 61 64 73 2e 63 20 24 28 48  rc\threads.c $(H da20: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
da30: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE da40: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
da50: 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 0a 0a  \src\threads.c..
da60: 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 54  tokenize.lo:.$(T da70: 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 OP)\src\tokenize da80: 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 .c keywordhash.h da90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM daa0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
dab0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( dac0: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a TOP)\src\tokeniz dad0: 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 2e 6c 6f e.c..treeview.lo dae0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 :.$(TOP)\src\tre
daf0: 65 76 69 65 77 2e 63 20 24 28 48 44 52 29 0a 09  eview.c $(HDR).. db00: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C db10: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS db20: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
db30: 74 72 65 65 76 69 65 77 2e 63 0a 0a 74 72 69 67  treeview.c..trig
db40: 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ger.lo:.$(TOP)\s db50: 72 63 5c 74 72 69 67 67 65 72 2e 63 20 24 28 48 rc\trigger.c$(H
db60: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE db70: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
db80: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) db90: 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 0a 0a \src\trigger.c.. dba0: 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 update.lo:.$(TOP
dbb0: 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 24  )\src\update.c $dbc0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
dbd0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI dbe0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
dbf0: 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 0a  P)\src\update.c.
dc00: 0a 75 70 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f  .upsert.lo:.$(TO dc10: 50 29 5c 73 72 63 5c 75 70 73 65 72 74 2e 63 20 P)\src\upsert.c dc20: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP dc30: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
dc40: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T dc50: 4f 50 29 5c 73 72 63 5c 75 70 73 65 72 74 2e 63 OP)\src\upsert.c dc60: 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 ..utf.lo:.$(TOP)
dc70: 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 48 44 52  \src\utf.c $(HDR dc80: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
dc90: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O dca0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
dcb0: 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c  rc\utf.c..util.l
dcc0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  o:.$(TOP)\src\ut dcd0: 69 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c il.c$(HDR)..$(L dce0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
dcf0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
dd00: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69  c $(TOP)\src\uti dd10: 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09 l.c..vacuum.lo:. dd20: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75$(TOP)\src\vacuu
dd30: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
dd40: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ dd50: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c dd60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75$(TOP)\src\vacu
dd70: 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24  um.c..vdbe.lo:.$dd80: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 (TOP)\src\vdbe.c dd90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM dda0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
ddb0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( ddc0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a TOP)\src\vdbe.c. ddd0: 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54 .vdbeapi.lo:.$(T
dde0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e  OP)\src\vdbeapi.
ddf0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
de00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO de10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
de20: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70  (TOP)\src\vdbeap
de30: 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a  i.c..vdbeaux.lo:
de40: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe de50: 61 75 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 aux.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 61 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f beaux.c..vdbeblo dea0: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 b.lo:.$(TOP)\src
deb0: 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 48 44  \vdbeblob.c $(HD dec0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
ded0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ dee0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
def0: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a  src\vdbeblob.c..
df00: 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f  vdbemem.lo:.$(TO df10: 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 P)\src\vdbemem.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 6d 65 6d TOP)\src\vdbemem df60: 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a .c..vdbesort.lo: df70: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 .$(TOP)\src\vdbe
df80: 73 6f 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24  sort.c $(HDR)..$
df90: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO dfa0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) dfb0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 -c$(TOP)\src\v
dfc0: 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74  dbesort.c..vdbet
dfd0: 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  race.lo:.$(TOP)\ dfe0: 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 20 src\vdbetrace.c dff0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP e000: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
e010: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T e020: 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 OP)\src\vdbetrac e030: 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28 e.c..vtab.lo:.$(
e040: 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20  TOP)\src\vtab.c
e050: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
e060: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP e070: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
e080: 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a  OP)\src\vtab.c..
e090: 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  wal.lo:.$(TOP)\s e0a0: 72 63 5c 77 61 6c 2e 63 20 24 28 48 44 52 29 0a rc\wal.c$(HDR).
e0b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
e0c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e0d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src e0e0: 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c \wal.c..walker.l e0f0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 o:.$(TOP)\src\wa
e100: 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  lker.c $(HDR)..$
e110: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO e120: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) e130: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 -c$(TOP)\src\w
e140: 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c  alker.c..where.l
e150: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  o:.$(TOP)\src\wh e160: 65 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ere.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 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65 ere.c..wherecode e1b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
e1c0: 77 68 65 72 65 63 6f 64 65 2e 63 20 24 28 48 44  wherecode.c $(HD e1d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
e1e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ e1f0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
e200: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a  src\wherecode.c.
e210: 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24  .whereexpr.lo:.$e220: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 (TOP)\src\wheree e230: 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 xpr.c$(HDR)..$( e240: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
e250: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
e260: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh e270: 65 72 65 65 78 70 72 2e 63 0a 0a 77 69 6e 64 6f ereexpr.c..windo e280: 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 w.lo:.$(TOP)\src
e290: 5c 77 69 6e 64 6f 77 2e 63 20 24 28 48 44 52 29  \window.c $(HDR) e2a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $e2b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP e2c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
e2d0: 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 74 63 6c 73  c\window.c..tcls
e2e0: 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  qlite.lo:.$(TOP) e2f0: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 \src\tclsqlite.c e300: 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45$(HDR) $(SQLITE e310: 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 _TCL_DEP)..$(LTC
e320: 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52  OMPILE) $(NO_WAR e330: 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55 N) -DUSE_TCL_STU e340: 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c BS=1 -DBUILD_sql e350: 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 ite -I$(TCLINCDI
e360: 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  R) -c $(TOP)\src e370: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 \tclsqlite.c..tc e380: 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f lsqlite-shell.lo e390: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c :.$(TOP)\src\tcl
e3a0: 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20  sqlite.c $(HDR) e3b0: 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50$(SQLITE_TCL_DEP
e3c0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) e3d0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c$(NO_WARN) -DTCL
e3e0: 53 48 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  SH -DBUILD_sqlit
e3f0: 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR) e400: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 -c$(TOP)\src\t
e410: 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73  clsqlite.c..tcls
e420: 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 63 6c 73  qlite3.exe:.tcls
e430: 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24  qlite-shell.lo $e440: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
e450: 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f  ITE3H) $(LIBRESO e460: 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 BJS)..$(LTLINK)
e470: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin e480: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L e490: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c TLINKOPTS)$(TCL
e4a0: 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49  LIBPATHS) $(LTLI e4b0: 42 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 BPATHS) /OUT:$@
e4c0: 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e  tclsqlite-shell.
e4d0: 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  lo $(LIBRESOBJS) e4e0: 20 24 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54$(TCLLIBS) $(LT e4f0: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a LIBS)$(TLIBS)..
e500: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
e510: 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f   opcodes.c and o
e520: 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64  pcodes.h.#.opcod
e530: 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20  es.c:.opcodes.h
e540: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70  $(TOP)\tool\mkop e550: 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c codec.tcl..$(TCL
e560: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t e570: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 ool\mkopcodec.tc e580: 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70 l opcodes.h > op e590: 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73 codes.c..opcodes e5a0: 2e 68 3a 09 70 61 72 73 65 2e 68 20 24 28 54 4f .h:.parse.h$(TO
e5b0: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28  P)\src\vdbe.c $( e5c0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f TOP)\tool\mkopco e5d0: 64 65 68 2e 74 63 6c 0a 09 74 79 70 65 20 70 61 deh.tcl..type pa e5e0: 72 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 rse.h$(TOP)\src
e5f0: 5c 76 64 62 65 2e 63 20 7c 20 24 28 54 43 4c 53  \vdbe.c | $(TCLS e600: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
e610: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c  ol\mkopcodeh.tcl
e620: 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20   > opcodes.h..#
e630: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 70  Rules to build p
e640: 61 72 73 65 2e 63 20 61 6e 64 20 70 61 72 73 65  arse.c and parse
e650: 2e 68 20 2d 20 74 68 65 20 6f 75 74 70 75 74 73  .h - the outputs
e660: 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72   of lemon..#.par
e670: 73 65 2e 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70  se.h:.parse.c..p
e680: 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73  arse.c:.$(TOP)\s e690: 72 63 5c 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e rc\parse.y lemon e6a0: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 6f 6f 6c .exe$(TOP)\tool
e6b0: 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 0a  \addopcodes.tcl.
e6c0: 09 64 65 6c 20 2f 51 20 70 61 72 73 65 2e 79 20  .del /Q parse.y
e6d0: 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e  parse.h parse.h.
e6e0: 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f 70 79  temp 2>NUL..copy
e6f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73   $(TOP)\src\pars e700: 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 e.y ....\lemon.e e710: 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 xe$(REQ_FEATURE
e720: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE e730: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 ATURE_FLAGS)$(E
e740: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
e750: 29 20 24 28 4f 50 54 53 29 20 70 61 72 73 65 2e  ) $(OPTS) parse. e760: 79 0a 09 6d 6f 76 65 20 70 61 72 73 65 2e 68 20 y..move parse.h e770: 70 61 72 73 65 2e 68 2e 74 65 6d 70 0a 09 24 28 parse.h.temp..$(
e780: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP e790: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 )\tool\addopcode e7a0: 73 2e 74 63 6c 20 70 61 72 73 65 2e 68 2e 74 65 s.tcl parse.h.te e7b0: 6d 70 20 3e 20 70 61 72 73 65 2e 68 0a 0a 24 28 mp > parse.h..$(
e7c0: 53 51 4c 49 54 45 33 48 29 3a 09 24 28 54 4f 50  SQLITE3H):.$(TOP e7d0: 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 )\src\sqlite.h.i e7e0: 6e 20 24 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73 n$(TOP)\manifes
e7f0: 74 20 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65  t mksourceid.exe
e800: 20 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a   $(TOP)\VERSION. e810: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 .$(TCLSH_CMD) $( e820: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 TOP)\tool\mksqli e830: 74 65 33 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c te3h.tcl$(TOP:\
e840: 3d 2f 29 20 3e 20 24 28 53 51 4c 49 54 45 33 48  =/) > $(SQLITE3H e850: 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 48 5f 41 )$(MKSQLITE3H_A
e860: 52 47 53 29 0a 0a 73 71 6c 69 74 65 33 65 78 74  RGS)..sqlite3ext
e870: 2e 68 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72  .h:..target_sour
e880: 63 65 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44  ce.!IF $(USE_STD e890: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f CALL)!=0 ||$(FO
e8a0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 09 74 79 70  R_WIN10)!=0..typ
e8b0: 65 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78  e tsrc\sqlite3ex
e8c0: 74 2e 68 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d  t.h | $(TCLSH_CM e8d0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 D)$(TOP)\tool\r
e8e0: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
e8f0: 62 20 22 5c 28 5c 2a 5c 29 22 20 22 28 53 51 4c  b "$$\*$$" "(SQL
e900: 49 54 45 5f 43 41 4c 4c 42 41 43 4b 20 2a 29 22  ITE_CALLBACK *)"
e910: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C e920: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c MD)$(TOP)\tool\
e930: 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73  replace.tcl regs
e940: 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49  ub "\(\*" "(SQLI
e950: 54 45 5f 41 50 49 43 41 4c 4c 20 2a 22 20 3e 20  TE_APICALL *" >
e960: 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 09 63 6f  sqlite3ext.h..co
e970: 70 79 20 2f 59 20 73 71 6c 69 74 65 33 65 78 74  py /Y sqlite3ext
e980: 2e 68 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65  .h tsrc\sqlite3e
e990: 78 74 2e 68 0a 21 45 4c 53 45 0a 09 63 6f 70 79  xt.h.!ELSE..copy
e9a0: 20 2f 59 20 74 73 72 63 5c 73 71 6c 69 74 65 33   /Y tsrc\sqlite3
e9b0: 65 78 74 2e 68 20 73 71 6c 69 74 65 33 65 78 74  ext.h sqlite3ext
e9c0: 2e 68 0a 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79  .h.!ENDIF..mkkey
e9d0: 77 6f 72 64 68 61 73 68 2e 65 78 65 3a 09 24 28  wordhash.exe:.$( e9e0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 TOP)\tool\mkkeyw e9f0: 6f 72 64 68 61 73 68 2e 63 0a 09 24 28 42 43 43 ordhash.c..$(BCC
ea00: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65  ) $(NO_WARN) -Fe ea10: 24 40 20 24 28 52 45 51 5f 46 45 41 54 55 52 45$@ $(REQ_FEATURE ea20: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 _FLAGS)$(OPT_FE
ea30: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E ea40: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 XT_FEATURE_FLAGS ea50: 29 20 24 28 4f 50 54 53 29 20 5c 0a 09 09 24 28 )$(OPTS) \...$( ea60: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 TOP)\tool\mkkeyw ea70: 6f 72 64 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20 ordhash.c /link ea80: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54$(LDFLAGS) $(NLT ea90: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c LINKOPTS)$(NLTL
eaa0: 49 42 50 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72  IBPATHS)..keywor
eab0: 64 68 61 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c  dhash.h:.$(TOP)\ eac0: 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 tool\mkkeywordha ead0: 73 68 2e 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61 sh.c mkkeywordha eae0: 73 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77 sh.exe...\mkkeyw eaf0: 6f 72 64 68 61 73 68 2e 65 78 65 20 3e 20 6b 65 ordhash.exe > ke eb00: 79 77 6f 72 64 68 61 73 68 2e 68 0a 0a 23 20 53 ywordhash.h..# S eb10: 6f 75 72 63 65 20 66 69 6c 65 73 20 74 68 61 74 ource files that eb20: 20 67 6f 20 69 6e 74 6f 20 6d 61 6b 69 6e 67 20 go into making eb30: 73 68 65 6c 6c 2e 63 0a 53 48 45 4c 4c 5f 53 52 shell.c.SHELL_SR eb40: 43 20 3d 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72 C = \..$(TOP)\sr
eb50: 63 5c 73 68 65 6c 6c 2e 63 2e 69 6e 20 5c 0a 09  c\shell.c.in \..
eb60: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ eb70: 61 70 70 65 6e 64 76 66 73 2e 63 20 5c 0a 09 24 appendvfs.c \..$
eb80: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
eb90: 68 61 74 68 72 65 65 2e 63 20 5c 0a 09 24 28 54  hathree.c \..$(T eba0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c OP)\ext\misc\fil ebb0: 65 69 6f 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c eio.c \..$(TOP)\
ebc0: 65 78 74 5c 6d 69 73 63 5c 63 6f 6d 70 6c 65 74  ext\misc\complet
ebd0: 69 6f 6e 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c  ion.c \..$(TOP)\ ebe0: 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c 69 74 ext\expert\sqlit ebf0: 65 33 65 78 70 65 72 74 2e 63 20 5c 0a 09 24 28 e3expert.c \..$(
ec00: 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c  TOP)\ext\expert\
ec10: 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20  sqlite3expert.h
ec20: 5c 0a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  \..$(TOP)\src\te ec30: 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e 63 0a 0a st_windirent.c.. ec40: 23 20 49 66 20 75 73 65 20 6f 66 20 7a 6c 69 62 # If use of zlib ec50: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 is enabled, add ec60: 20 74 68 65 20 22 7a 69 70 66 69 6c 65 2e 63 22 the "zipfile.c" ec70: 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 23 0a source file..#. ec80: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 !IF$(USE_ZLIB)!
ec90: 3d 30 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24  =0.SHELL_SRC = $eca0: 28 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54 4f (SHELL_SRC)$(TO
ecb0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 71 6c 61  P)\ext\misc\sqla
ecc0: 72 2e 63 0a 53 48 45 4c 4c 5f 53 52 43 20 3d 20  r.c.SHELL_SRC =
ecd0: 24 28 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 54  $(SHELL_SRC)$(T
ece0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 7a 69 70  OP)\ext\misc\zip
ecf0: 66 69 6c 65 2e 63 0a 21 45 4e 44 49 46 0a 0a 73  file.c.!ENDIF..s
ed00: 68 65 6c 6c 2e 63 3a 09 24 28 53 48 45 4c 4c 5f  hell.c:.$(SHELL_ ed10: 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c SRC)$(TOP)\tool
ed20: 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 0a 09 24  \mkshellc.tcl..$ed30: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
ed40: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63  P)\tool\mkshellc
ed50: 2e 74 63 6c 20 3e 20 73 68 65 6c 6c 2e 63 0a 0a  .tcl > shell.c..
ed60: 7a 6c 69 62 3a 0a 09 70 75 73 68 64 20 24 28 5a  zlib:..pushd $(Z ed70: 4c 49 42 44 49 52 29 20 26 26 20 24 28 4d 41 4b LIBDIR) &&$(MAK
ed80: 45 29 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b 65  E) /f win32\Make
ed90: 66 69 6c 65 2e 6d 73 63 20 63 6c 65 61 6e 20 24  file.msc clean $eda0: 28 5a 4c 49 42 4c 49 42 29 20 26 26 20 70 6f 70 (ZLIBLIB) && pop edb0: 64 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 d..# Rules to bu edc0: 69 6c 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f ild the extensio edd0: 6e 20 6f 62 6a 65 63 74 73 2e 0a 23 0a 69 63 75 n objects..#.icu ede0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
edf0: 69 63 75 5c 69 63 75 2e 63 20 24 28 48 44 52 29  icu\icu.c $(HDR) ee00: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT ee10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
ee20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( ee30: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT ee40: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
ee50: 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 0a 0a  \ext\icu\icu.c..
ee60: 66 74 73 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  fts2.lo:.$(TOP)\ ee70: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 ext\fts2\fts2.c ee80: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) ee90: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $eea0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP eeb0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
eec0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
eed0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ eee0: 66 74 73 32 2e 63 0a 0a 66 74 73 32 5f 68 61 73 fts2.c..fts2_has eef0: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 h.lo:.$(TOP)\ext
ef00: 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e  \fts2\fts2_hash.
ef10: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
ef20: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) ef30: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
ef40: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) ef50: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - ef60: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
ef70: 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 0a 0a 66  2\fts2_hash.c..f
ef80: 74 73 32 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f  ts2_icu.lo:.$(TO ef90: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 efa0: 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 _icu.c$(HDR) $( efb0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
efc0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM efd0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
efe0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
eff0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex f000: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e t\fts2\fts2_icu. f010: 63 0a 0a 66 74 73 32 5f 70 6f 72 74 65 72 2e 6c c..fts2_porter.l f020: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 o:.$(TOP)\ext\ft
f030: 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63  s2\fts2_porter.c
f040: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
f050: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) f060: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
f070: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) f080: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c f090: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
f0a0: 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 0a 0a  \fts2_porter.c..
f0b0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c  fts2_tokenizer.l
f0c0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft f0d0: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 s2\fts2_tokenize f0e0: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 r.c$(HDR) $(EXT f0f0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
f100: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL f110: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
f120: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f130: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f f140: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a ts2\fts2_tokeniz f150: 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e er.c..fts2_token f160: 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 izer1.lo:.$(TOP)
f170: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
f180: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44  okenizer1.c $(HD f190: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( f1a0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
f1b0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
f1c0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL f1d0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
f1e0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
f1f0: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66  _tokenizer1.c..f
f200: 74 73 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ts3.lo:.$(TOP)\e f210: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 24 xt\fts3\fts3.c$
f220: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). f230: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( f240: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT f250: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
f260: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $f270: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f f280: 74 73 33 2e 63 0a 0a 66 74 73 33 5f 61 75 78 2e ts3.c..fts3_aux. f290: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 lo:.$(TOP)\ext\f
f2a0: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 24  ts3\fts3_aux.c $f2b0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
f2c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
f2d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
f2e0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D f2f0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
f300: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f310: 74 73 33 5f 61 75 78 2e 63 0a 0a 66 74 73 33 5f  ts3_aux.c..fts3_
f320: 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  expr.lo:.$(TOP)\ f330: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 ext\fts3\fts3_ex f340: 70 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 pr.c$(HDR) $(EX f350: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
f360: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI f370: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
f380: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
f390: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ f3a0: 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 fts3\fts3_expr.c f3b0: 0a 0a 66 74 73 33 5f 68 61 73 68 2e 6c 6f 3a 09 ..fts3_hash.lo:. f3c0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
f3d0: 66 74 73 33 5f 68 61 73 68 2e 63 20 24 28 48 44  fts3_hash.c $(HD f3e0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( f3f0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
f400: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
f410: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL f420: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
f430: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f440: 5f 68 61 73 68 2e 63 0a 0a 66 74 73 33 5f 69 63  _hash.c..fts3_ic
f450: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext f460: 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 \fts3\fts3_icu.c f470: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR f480: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
f490: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O f4a0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
f4b0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f4c0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 f4d0: 5c 66 74 73 33 5f 69 63 75 2e 63 0a 0a 66 74 73 \fts3_icu.c..fts f4e0: 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a 09 24 28 3_snippet.lo:.$(
f4f0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f500: 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 24 28 48  s3_snippet.c $(H f510: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$f520: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
f530: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f540: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ f550: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
f560: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f570: 33 5f 73 6e 69 70 70 65 74 2e 63 0a 0a 66 74 73  3_snippet.c..fts
f580: 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54  3_porter.lo:.$(T f590: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts f5a0: 33 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 3_porter.c$(HDR
f5b0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f5c0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE f5d0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
f5e0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f5f0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP f600: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ f610: 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 33 5f 74 porter.c..fts3_t f620: 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 okenizer.lo:.$(T
f630: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f640: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28  3_tokenizer.c $( f650: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
f660: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
f670: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
f680: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS f690: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
f6a0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f6b0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a  s3_tokenizer.c..
f6c0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
f6d0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f f6e0: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a ts3\fts3_tokeniz f6f0: 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 er1.c$(HDR) $(E f700: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
f710: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP f720: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
f730: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f740: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext f750: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e \fts3\fts3_token f760: 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 5f 74 6f izer1.c..fts3_to f770: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 3a 09 kenize_vtab.lo:. f780: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
f790: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
f7a0: 61 62 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  ab.c $(HDR)$(EX
f7b0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI f7c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
f7d0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA f7e0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR f7f0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
f800: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
f810: 7a 65 5f 76 74 61 62 2e 63 0a 0a 66 74 73 33 5f  ze_vtab.c..fts3_
f820: 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f  unicode.lo:.$(TO f830: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 f840: 5f 75 6e 69 63 6f 64 65 2e 63 20 24 28 48 44 52 _unicode.c$(HDR
f850: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
f860: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE f870: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
f880: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
f890: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP f8a0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ f8b0: 75 6e 69 63 6f 64 65 2e 63 0a 0a 66 74 73 33 5f unicode.c..fts3_ f8c0: 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09 24 28 54 unicode2.lo:.$(T
f8d0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f8e0: 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 24 28 48  3_unicode2.c $(H f8f0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$f900: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
f910: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f920: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ f930: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
f940: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f950: 33 5f 75 6e 69 63 6f 64 65 32 2e 63 0a 0a 66 74  3_unicode2.c..ft
f960: 73 33 5f 77 72 69 74 65 2e 6c 6f 3a 09 24 28 54  s3_write.lo:.$(T f970: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts f980: 33 5f 77 72 69 74 65 2e 63 20 24 28 48 44 52 29 3_write.c$(HDR)
f990: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
f9a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ f9b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
f9c0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
f9d0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) f9e0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 \ext\fts3\fts3_w f9f0: 72 69 74 65 2e 63 0a 0a 6a 73 6f 6e 31 2e 6c 6f rite.c..json1.lo fa00: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 :.$(TOP)\ext\mis
fa10: 63 5c 6a 73 6f 6e 31 2e 63 20 24 28 48 44 52 29  c\json1.c $(HDR) fa20: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT fa30: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
fa40: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( fa50: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT fa60: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
fa70: 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e  \ext\misc\json1.
fa80: 63 0a 0a 73 74 6d 74 2e 6c 6f 3a 09 24 28 54 4f  c..stmt.lo:.$(TO fa90: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 P)\ext\misc\stmt faa0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 .c$(HDR) $(EXTH fab0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
fac0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE fad0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e _OPTS)$(NO_WARN
fae0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE
faf0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  -c $(TOP)\ext\mi fb00: 73 63 5c 73 74 6d 74 2e 63 0a 0a 72 74 72 65 65 sc\stmt.c..rtree fb10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
fb20: 72 74 72 65 65 5c 72 74 72 65 65 2e 63 20 24 28  rtree\rtree.c $( fb30: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
fb40: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
fb50: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
fb60: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS fb70: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
fb80: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72  TOP)\ext\rtree\r
fb90: 74 72 65 65 2e 63 0a 0a 73 71 6c 69 74 65 33 73  tree.c..sqlite3s
fba0: 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28 54 4f 50  ession.lo:.$(TOP fbb0: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 )\ext\session\sq fbc0: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 20 24 lite3session.c$
fbd0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). fbe0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( fbf0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT fc00: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
fc10: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $fc20: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f (TOP)\ext\sessio fc30: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e n\sqlite3session fc40: 2e 63 0a 0a 23 20 46 54 53 35 20 74 68 69 6e 67 .c..# FTS5 thing fc50: 73 0a 23 0a 46 54 53 35 5f 53 52 43 20 3d 20 5c s.#.FTS5_SRC = \ fc60: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 .$(TOP)\ext\f
fc70: 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a 20 20 20  ts5\fts5.h \.
fc80: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\ fc90: 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20 20 20 24 fts5Int.h \.$
fca0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
fcb0: 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20 20 20 24  ts5_aux.c \.   $fcc0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 (TOP)\ext\fts5\f fcd0: 74 73 35 5f 62 75 66 66 65 72 2e 63 20 5c 0a 20 ts5_buffer.c \. fce0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
fcf0: 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63 20 5c 0a  5\fts5_main.c \.
fd00: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft fd10: 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69 67 2e 63 s5\fts5_config.c fd20: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
fd30: 5c 66 74 73 35 5c 66 74 73 35 5f 65 78 70 72 2e  \fts5\fts5_expr.
fd40: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex fd50: 74 5c 66 74 73 35 5c 66 74 73 35 5f 68 61 73 68 t\fts5\fts5_hash fd60: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
fd70: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 69 6e 64  xt\fts5\fts5_ind
fd80: 65 78 2e 63 20 5c 0a 20 20 20 66 74 73 35 70 61  ex.c \.   fts5pa
fd90: 72 73 65 2e 63 20 66 74 73 35 70 61 72 73 65 2e  rse.c fts5parse.
fda0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  h \.   $(TOP)\ex fdb0: 74 5c 66 74 73 35 5c 66 74 73 35 5f 73 74 6f 72 t\fts5\fts5_stor fdc0: 61 67 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 age.c \.$(TOP
fdd0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
fde0: 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 20  tokenize.c \.
fdf0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\ fe00: 66 74 73 35 5f 75 6e 69 63 6f 64 65 32 2e 63 20 fts5_unicode2.c fe10: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
fe20: 66 74 73 35 5c 66 74 73 35 5f 76 61 72 69 6e 74  fts5\fts5_varint
fe30: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e fe40: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 6f 63 xt\fts5\fts5_voc fe50: 61 62 2e 63 0a 0a 4c 53 4d 31 5f 53 52 43 20 3d ab.c..LSM1_SRC = fe60: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
fe70: 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 5c 0a 20 20  \lsm1\lsm.h \.
fe80: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1 fe90: 5c 6c 73 6d 49 6e 74 2e 68 20 5c 0a 20 20 20 24 \lsmInt.h \.$
fea0: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
feb0: 73 6d 5f 63 6b 70 74 2e 63 20 5c 0a 20 20 20 24  sm_ckpt.c \.   $fec0: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c (TOP)\ext\lsm1\l fed0: 73 6d 5f 66 69 6c 65 2e 63 20 5c 0a 20 20 20 24 sm_file.c \.$
fee0: 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c  (TOP)\ext\lsm1\l
fef0: 73 6d 5f 6c 6f 67 2e 63 20 5c 0a 20 20 20 24 28  sm_log.c \.   $( ff00: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 TOP)\ext\lsm1\ls ff10: 6d 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 m_main.c \.$(
ff20: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
ff30: 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 20 20 24 28 54  m_mem.c \.   $(T ff40: 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d OP)\ext\lsm1\lsm ff50: 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 20 24 28 _mutex.c \.$(
ff60: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73  TOP)\ext\lsm1\ls
ff70: 6d 5f 73 68 61 72 65 64 2e 63 20 5c 0a 20 20 20  m_shared.c \.
ff80: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c  $(TOP)\ext\lsm1\ ff90: 6c 73 6d 5f 73 6f 72 74 65 64 2e 63 20 5c 0a 20 lsm_sorted.c \. ffa0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d$(TOP)\ext\lsm
ffb0: 31 5c 6c 73 6d 5f 73 74 72 2e 63 20 5c 0a 20 20  1\lsm_str.c \.
ffc0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1 ffd0: 5c 6c 73 6d 5f 74 72 65 65 2e 63 20 5c 0a 20 20 \lsm_tree.c \. ffe0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31$(TOP)\ext\lsm1
fff0: 5c 6c 73 6d 5f 75 6e 69 78 2e 63 20 5c 0a 20 20  \lsm_unix.c \.
10000 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1 10010 5c 6c 73 6d 5f 76 61 72 69 6e 74 2e 63 20 5c 0a \lsm_varint.c \. 10020 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73$(TOP)\ext\ls
10030 6d 31 5c 6c 73 6d 5f 76 74 61 62 2e 63 20 5c 0a  m1\lsm_vtab.c \.
10040 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73     $(TOP)\ext\ls 10050 6d 31 5c 6c 73 6d 5f 77 69 6e 33 32 2e 63 0a 0a m1\lsm_win32.c.. 10060 66 74 73 35 70 61 72 73 65 2e 63 3a 09 24 28 54 fts5parse.c:.$(T
10070 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
10080 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65  5parse.y lemon.e
10090 78 65 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  xe..copy $(TOP)\ 100a0 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72 ext\fts5\fts5par 100b0 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f 51 20 66 se.y ...del /Q f 100c0 74 73 35 70 61 72 73 65 2e 68 20 32 3e 4e 55 4c ts5parse.h 2>NUL 100d0 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 ...\lemon.exe$(
100e0 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
100f0 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45  S) $(OPT_FEATURE 10100 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 _FLAGS)$(EXT_FE
10110 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O 10120 50 54 53 29 20 66 74 73 35 70 61 72 73 65 2e 79 PTS) fts5parse.y 10130 0a 0a 66 74 73 35 70 61 72 73 65 2e 68 3a 09 66 ..fts5parse.h:.f 10140 74 73 35 70 61 72 73 65 2e 63 0a 0a 66 74 73 35 ts5parse.c..fts5 10150 2e 63 3a 09 24 28 46 54 53 35 5f 53 52 43 29 0a .c:.$(FTS5_SRC).
10160 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD)$(
10170 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 74 6f  TOP)\ext\fts5\to
10180 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63 6c 0a 09  ol\mkfts5c.tcl..
10190 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c  copy $(TOP)\ext\ 101a0 66 74 73 35 5c 66 74 73 35 2e 68 20 2e 0a 0a 6c fts5\fts5.h ...l 101b0 73 6d 31 2e 63 3a 09 24 28 4c 53 4d 31 5f 53 52 sm1.c:.$(LSM1_SR
101c0 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  C)..$(TCLSH_CMD) 101d0 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31$(TOP)\ext\lsm1
101e0 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d 31 63 2e 74 63  \tool\mklsm1c.tc
101f0 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65  l..copy $(TOP)\e 10200 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 2e 0a xt\lsm1\lsm.h .. 10210 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73 35 2e 63 .fts5.lo:.fts5.c 10220 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR 10230 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
10240 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O 10250 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
10260 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
10270 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 5f 65 78   fts5.c..fts5_ex
10280 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48  t.lo:.fts5.c $(H 10290 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$102a0 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f (LTCOMPILE)$(NO
102b0 5f 57 41 52 4e 29 20 2d 63 20 66 74 73 35 2e 63  _WARN) -c fts5.c
102c0 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66 74 73 35  ..fts5.dll:.fts5
102d0 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24  _ext.lo..$(LD)$
102e0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI 102f0 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 NKOPTS)$(LTLIBP
10300 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a  ATHS) /DLL /OUT:
10310 24 40 20 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a  $@ fts5_ext.lo.. 10320 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24 sqlite3rbu.lo:.$
10330 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
10340 6c 69 74 65 33 72 62 75 2e 63 20 24 28 48 44 52  lite3rbu.c $(HDR 10350 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L 10360 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 TCOMPILE) -DSQLI 10370 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
10380 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65  )\ext\rbu\sqlite
10390 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c 65 73 20  3rbu.c..# Rules
103a0 74 6f 20 62 75 69 6c 64 20 74 68 65 20 27 74 65  to build the 'te
103b0 73 74 66 69 78 74 75 72 65 27 20 61 70 70 6c 69  stfixture' appli
103c0 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75  cation..#.# If u
103d0 73 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d  sing the amalgam
103e0 61 74 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74  ation, use sqlit
103f0 65 33 2e 63 20 64 69 72 65 63 74 6c 79 20 74 6f  e3.c directly to
10400 20 62 75 69 6c 64 20 74 68 65 20 74 65 73 74 0a   build the test.
10410 23 20 66 69 78 74 75 72 65 2e 20 20 4f 74 68 65  # fixture.  Othe
10420 72 77 69 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e  rwise link again
10430 73 74 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  st libsqlite3.li
10440 62 2e 20 20 28 54 68 69 73 20 64 69 73 74 69 6e  b.  (This distin
10450 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73  ction is.# neces
10460 73 61 72 79 20 62 65 63 61 75 73 65 20 74 68 65  sary because the
10470 20 74 65 73 74 20 66 69 78 74 75 72 65 20 72 65   test fixture re
10480 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73  quires non-API s
10490 79 6d 62 6f 6c 73 20 77 68 69 63 68 20 61 72 65  ymbols which are
104a0 0a 23 20 68 69 64 64 65 6e 20 77 68 65 6e 20 74  .# hidden when t
104b0 68 65 20 6c 69 62 72 61 72 79 20 69 73 20 62 75  he library is bu
104c0 69 6c 74 20 76 69 61 20 74 68 65 20 61 6d 61 6c  ilt via the amal
104d0 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53  gamation)..#.TES
104e0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
104f0 20 2d 44 54 43 4c 53 48 5f 49 4e 49 54 5f 50 52   -DTCLSH_INIT_PR
10500 4f 43 3d 73 71 6c 69 74 65 33 54 65 73 74 49 6e  OC=sqlite3TestIn
10510 69 74 20 2d 44 53 51 4c 49 54 45 5f 54 45 53 54  it -DSQLITE_TEST
10520 3d 31 20 2d 44 53 51 4c 49 54 45 5f 43 52 41 53  =1 -DSQLITE_CRAS
10530 48 5f 54 45 53 54 3d 31 0a 54 45 53 54 46 49 58  H_TEST=1.TESTFIX
10540 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54  TURE_FLAGS = $(T 10550 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 ESTFIXTURE_FLAGS 10560 29 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 56 45 ) -DSQLITE_SERVE 10570 52 3d 31 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 R=1 -DSQLITE_PRI 10580 56 41 54 45 3d 22 22 0a 54 45 53 54 46 49 58 54 VATE="".TESTFIXT 10590 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 URE_FLAGS =$(TE
105a0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
105b0 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 24   -DSQLITE_CORE $105c0 28 4e 4f 5f 57 41 52 4e 29 0a 54 45 53 54 46 49 (NO_WARN).TESTFI 105d0 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 XTURE_FLAGS =$(
105e0 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
105f0 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 49  S) -DSQLITE_SERI
10600 45 53 5f 43 4f 4e 53 54 52 41 49 4e 54 5f 56 45  ES_CONSTRAINT_VE
10610 52 49 46 59 3d 31 0a 54 45 53 54 46 49 58 54 55  RIFY=1.TESTFIXTU
10620 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES 10630 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 TFIXTURE_FLAGS) 10640 2d 44 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 -DSQLITE_DEFAULT 10650 5f 50 41 47 45 5f 53 49 5a 45 3d 31 30 32 34 0a _PAGE_SIZE=1024. 10660 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 TESTFIXTURE_FLAG 10670 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 S =$(TESTFIXTUR
10680 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
10690 45 5f 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41  E_ENABLE_STMTVTA
106a0 42 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f  B=1.TESTFIXTURE_
106b0 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49  FLAGS = $(TESTFI 106c0 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 XTURE_FLAGS) -DS 106d0 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 50 QLITE_ENABLE_DBP 106e0 41 47 45 5f 56 54 41 42 3d 31 0a 54 45 53 54 46 AGE_VTAB=1.TESTF 106f0 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 IXTURE_FLAGS =$
10700 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
10710 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  GS) -DSQLITE_ENA
10720 42 4c 45 5f 4a 53 4f 4e 31 3d 31 0a 54 45 53 54  BLE_JSON1=1.TEST
10730 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS =
10740 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL 10750 41 47 53 29 20 24 28 54 45 53 54 5f 43 43 4f 4e AGS)$(TEST_CCON
10760 56 5f 4f 50 54 53 29 0a 0a 54 45 53 54 46 49 58  V_OPTS)..TESTFIX
10770 54 55 52 45 5f 53 52 43 30 20 3d 20 24 28 54 45  TURE_SRC0 = $(TE 10780 53 54 45 58 54 29 20 24 28 54 45 53 54 53 52 43 STEXT)$(TESTSRC
10790 32 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  2).TESTFIXTURE_S
107a0 52 43 31 20 3d 20 24 28 54 45 53 54 45 58 54 29  RC1 = $(TESTEXT) 107b0 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21 49 46$(SQLITE3C).!IF
107c0 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54   $(USE_AMALGAMAT 107d0 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 49 58 54 ION)==0.TESTFIXT 107e0 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54 URE_SRC =$(TEST
107f0 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  SRC) $(TOP)\src\ 10800 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45 tclsqlite.c$(TE
10810 53 54 46 49 58 54 55 52 45 5f 53 52 43 30 29 0a  STFIXTURE_SRC0).
10820 21 45 4c 53 45 0a 54 45 53 54 46 49 58 54 55 52  !ELSE.TESTFIXTUR
10830 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 52  E_SRC = $(TESTSR 10840 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 C)$(TOP)\src\tc
10850 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54  lsqlite.c $(TEST 10860 46 49 58 54 55 52 45 5f 53 52 43 31 29 0a 21 45 FIXTURE_SRC1).!E 10870 4e 44 49 46 0a 0a 21 49 46 20 24 28 55 53 45 5f NDIF..!IF$(USE_
10880 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24  STDCALL)!=0 || $10890 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 73 (FOR_WIN10)!=0.s 108a0 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68 qlite_tclDecls.h 108b0 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20 :..echo #ifndef 108c0 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 20 SQLITE_TCLAPI > 108d0 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53$(SQLITETCLDECLS
108e0 48 29 0a 09 65 63 68 6f 20 23 20 20 64 65 66 69  H)..echo #  defi
108f0 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  ne SQLITE_TCLAPI
10900 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44   >> $(SQLITETCLD 10910 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 65 6e ECLSH)..echo #en 10920 64 69 66 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 dif >>$(SQLITET
10930 43 4c 44 45 43 4c 53 48 29 0a 09 74 79 70 65 20  CLDECLSH)..type
10940 22 24 28 54 43 4c 49 4e 43 44 49 52 29 5c 74 63  "$(TCLINCDIR)\tc 10950 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09 09 7c 20 lDecls.h" \...| 10960 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T 10970 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 OP)\tool\replace 10980 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5e 28 45 .tcl regsub "^(E 10990 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53 54 5c 64 XTERN(?: CONST\d 109a0 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c +?)?\s+?[^\(]*?\ 109b0 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31 20 53 51 s+?)Tcl_" "\1 SQ 109c0 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f LITE_TCLAPI Tcl_ 109d0 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f " \...|$(TCLSH_
109e0 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool 109f0 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 \replace.tcl reg 10a00 73 75 62 20 22 5e 28 45 58 54 45 52 4e 5c 73 2b sub "^(EXTERN\s+ 10a10 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44 29 5c 73 ?(?:void|VOID)\s 10a20 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a 22 20 22 +?)TclFreeObj" " 10a30 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 \1 SQLITE_TCLAPI 10a40 20 54 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 TclFreeObj" \.. 10a50 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 .|$(TCLSH_CMD)
10a60 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl 10a70 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 ace.tcl regsub " 10a80 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53 51 4c 49 \(\*tcl_" "(SQLI 10a90 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c 5f 22 TE_TCLAPI *tcl_" 10aa0 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 \...|$(TCLSH_C
10ab0 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ 10ac0 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 replace.tcl regs 10ad0 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72 65 65 4f ub "\(\*tclFreeO 10ae0 62 6a 22 20 22 28 53 51 4c 49 54 45 5f 54 43 4c bj" "(SQLITE_TCL 10af0 41 50 49 20 2a 74 63 6c 46 72 65 65 4f 62 6a 22 API *tclFreeObj" 10b00 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 \...|$(TCLSH_C
10b10 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ 10b20 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 replace.tcl regs 10b30 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 ub "\(\*" "(SQLI 10b40 54 45 5f 54 43 4c 41 50 49 20 2a 22 20 3e 3e 20 TE_TCLAPI *" >> 10b50 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53$(SQLITETCLDECLS
10b60 48 29 0a 0a 73 71 6c 69 74 65 5f 74 63 6c 2e 68  H)..sqlite_tcl.h
10b70 3a 0a 09 74 79 70 65 20 22 24 28 54 43 4c 49 4e  :..type "$(TCLIN 10b80 43 44 49 52 29 5c 74 63 6c 2e 68 22 20 7c 20 24 CDIR)\tcl.h" |$
10b90 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO 10ba0 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e P)\tool\replace. 10bb0 74 63 6c 20 65 78 61 63 74 20 74 63 6c 44 65 63 tcl exact tclDec 10bc0 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74 63 6c 44 ls.h sqlite_tclD 10bd0 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20 24 28 54 ecls.h \...|$(T
10be0 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) 10bf0 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 \tool\replace.tc 10c00 6c 20 72 65 67 73 75 62 20 22 74 79 70 65 64 65 l regsub "typede 10c10 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f 22 20 22 f (.*?)\(Tcl_" " 10c20 74 79 70 65 64 65 66 20 5c 31 20 28 53 51 4c 49 typedef \1 (SQLI 10c30 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 TE_TCLAPI Tcl_" 10c40 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d \...|$(TCLSH_CM
10c50 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r 10c60 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 eplace.tcl exact 10c70 20 22 76 6f 69 64 20 28 2a 66 72 65 65 50 72 6f "void (*freePro 10c80 63 29 22 20 22 76 6f 69 64 20 28 53 51 4c 49 54 c)" "void (SQLIT 10c90 45 5f 54 43 4c 41 50 49 20 2a 66 72 65 65 50 72 E_TCLAPI *freePr 10ca0 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c oc)" \...|$(TCL
10cb0 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t 10cc0 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 ool\replace.tcl 10cd0 65 78 61 63 74 20 22 54 63 6c 5f 48 61 73 68 45 exact "Tcl_HashE 10ce0 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50 72 6f 63 ntry *(*findProc 10cf0 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 )" "Tcl_HashEntr 10d00 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 y *(SQLITE_TCLAP 10d10 49 20 2a 66 69 6e 64 50 72 6f 63 29 22 20 5c 0a I *findProc)" \. 10d20 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
10d30 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep 10d40 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 22 lace.tcl exact " 10d50 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 Tcl_HashEntry *( 10d60 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 22 54 *createProc)" "T 10d70 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53 cl_HashEntry *(S 10d80 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 63 72 QLITE_TCLAPI *cr 10d90 65 61 74 65 50 72 6f 63 29 22 20 3e 3e 20 24 28 eateProc)" >>$(
10da0 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45 4e 44  SQLITETCLH).!END
10db0 49 46 0a 0a 74 65 73 74 66 69 78 74 75 72 65 2e  IF..testfixture.
10dc0 65 78 65 3a 09 24 28 54 45 53 54 46 49 58 54 55  exe:.$(TESTFIXTU 10dd0 52 45 5f 53 52 43 29 20 24 28 54 45 53 54 46 49 RE_SRC)$(TESTFI
10de0 58 54 55 52 45 5f 44 45 50 29 20 24 28 53 51 4c  XTURE_DEP) $(SQL 10df0 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f ITE3H)$(LIBRESO
10e00 42 4a 53 29 20 24 28 48 44 52 29 20 24 28 53 51  BJS) $(HDR)$(SQ
10e10 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24  LITE_TCL_DEP)..$10e20 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54 (LTLINK) -DSQLIT 10e30 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45 E_NO_SYNC=1$(TE
10e40 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
10e50 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c   \...-DBUILD_sql
10e60 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI 10e70 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46 49 58 R) \...$(TESTFIX
10e80 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c  TURE_SRC) \.../l
10e90 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
10ea0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54  (LTLINKOPTS) $(T 10eb0 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 CLLIBPATHS)$(LT
10ec0 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR 10ed0 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 ESOBJS)$(TCLLIB
10ee0 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS)$(T
10ef0 4c 49 42 53 29 0a 0a 65 78 74 65 6e 73 69 6f 6e  LIBS)..extension
10f00 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72  test:.testfixtur
10f10 65 2e 65 78 65 20 74 65 73 74 6c 6f 61 64 65 78  e.exe testloadex
10f20 74 2e 64 6c 6c 0a 09 40 73 65 74 20 50 41 54 48  t.dll..@set PATH
10f30 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
10f40 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
10f50 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP) 10f60 5c 74 65 73 74 5c 6c 6f 61 64 65 78 74 2e 74 65 \test\loadext.te 10f70 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a st$(TESTOPTS)..
10f80 63 6f 72 65 74 65 73 74 70 72 6f 67 73 3a 09 24  coretestprogs:.$10f90 28 54 45 53 54 50 52 4f 47 53 29 0a 0a 74 65 73 (TESTPROGS)..tes 10fa0 74 70 72 6f 67 73 3a 09 63 6f 72 65 74 65 73 74 tprogs:.coretest 10fb0 70 72 6f 67 73 20 73 72 63 63 6b 31 2e 65 78 65 progs srcck1.exe 10fc0 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 73 fuzzcheck.exe s 10fd0 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 0a 0a essionfuzz.exe.. 10fe0 66 75 6c 6c 74 65 73 74 3a 09 24 28 54 45 53 54 fulltest:.$(TEST
10ff0 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74 0a  PROGS) fuzztest.
11000 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB 11010 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 TCLPATH);$(PATH)
11020 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
11030 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\ 11040 61 6c 6c 2e 74 65 73 74 20 24 28 54 45 53 54 4f all.test$(TESTO
11050 50 54 53 29 0a 0a 73 6f 61 6b 74 65 73 74 3a 09  PTS)..soaktest:.
11060 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73  $(TESTPROGS)..@s 11070 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c et PATH=$(LIBTCL
11080 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)... 11090 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 \testfixture.exe 110a0 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c$(TOP)\test\all
110b0 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31 20 24 28  .test -soak=1 $( 110c0 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 TESTOPTS)..fullt 110d0 65 73 74 6f 6e 6c 79 3a 09 24 28 54 45 53 54 50 estonly:.$(TESTP
110e0 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74 0a 09  ROGS) fuzztest..
110f0 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT 11100 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a CLPATH);$(PATH).
11110 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
11120 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66  xe $(TOP)\test\f 11130 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 65 72 79 70 ull.test..queryp 11140 6c 61 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78 lantest:.testfix 11150 74 75 72 65 2e 65 78 65 20 73 68 65 6c 6c 0a 09 ture.exe shell.. 11160 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 @set PATH=$(LIBT
11170 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH). 11180 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 ..\testfixture.e 11190 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 70 xe$(TOP)\test\p
111a0 65 72 6d 75 74 61 74 69 6f 6e 73 2e 74 65 73 74  ermutations.test
111b0 20 71 75 65 72 79 70 6c 61 6e 6e 65 72 20 24 28   queryplanner $( 111c0 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 7a 7a 74 TESTOPTS)..fuzzt 111d0 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 est:.fuzzcheck.e 111e0 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e xe...\fuzzcheck. 111f0 65 78 65 20 24 28 46 55 5a 5a 44 41 54 41 29 0a exe$(FUZZDATA).
11200 0a 66 61 73 74 66 75 7a 7a 74 65 73 74 3a 09 66  .fastfuzztest:.f
11210 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c  uzzcheck.exe...\
11220 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 2d 2d  fuzzcheck.exe --
11230 6c 69 6d 69 74 2d 6d 65 6d 20 31 30 30 4d 20 24  limit-mem 100M $11240 28 46 55 5a 5a 44 41 54 41 29 0a 0a 23 20 4d 69 (FUZZDATA)..# Mi 11250 6e 69 6d 61 6c 20 74 65 73 74 69 6e 67 20 74 68 nimal testing th 11260 61 74 20 72 75 6e 73 20 69 6e 20 6c 65 73 73 20 at runs in less 11270 74 68 61 6e 20 33 20 6d 69 6e 75 74 65 73 20 28 than 3 minutes ( 11280 6f 6e 20 61 20 66 61 73 74 20 6d 61 63 68 69 6e on a fast machin 11290 65 29 0a 23 0a 71 75 69 63 6b 74 65 73 74 3a 09 e).#.quicktest:. 112a0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 testfixture.exe 112b0 73 6f 75 72 63 65 74 65 73 74 0a 09 40 73 65 74 sourcetest..@set 112c0 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 PATH=$(LIBTCLPA
112d0 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t 112e0 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 estfixture.exe$
112f0 28 54 4f 50 29 5c 74 65 73 74 5c 65 78 74 72 61  (TOP)\test\extra
11300 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 45 53  quick.test $(TES 11310 54 4f 50 54 53 29 0a 0a 23 20 54 68 69 73 20 69 TOPTS)..# This i 11320 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 s the common cas 11330 65 2e 20 20 52 75 6e 20 6d 61 6e 79 20 74 65 73 e. Run many tes 11340 74 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 74 ts that do not t 11350 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 ake too long,.# 11360 69 6e 63 6c 75 64 69 6e 67 20 66 75 7a 7a 63 68 including fuzzch 11370 65 63 6b 2c 20 73 71 6c 69 74 65 33 5f 61 6e 61 eck, sqlite3_ana 11380 6c 79 7a 65 72 2c 20 61 6e 64 20 73 71 6c 64 69 lyzer, and sqldi 11390 66 66 20 74 65 73 74 73 2e 0a 23 0a 74 65 73 74 ff tests..#.test 113a0 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 73 :.$(TESTPROGS) s
113b0 6f 75 72 63 65 74 65 73 74 20 66 61 73 74 66 75  ourcetest fastfu
113c0 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54  zztest..@set PAT
113d0 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH); 113e0 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66$(PATH)...\testf
113f0 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP 11400 29 5c 74 65 73 74 5c 76 65 72 79 71 75 69 63 6b )\test\veryquick 11410 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 .test$(TESTOPTS
11420 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 3a 09 24 28  )..smoketest:.$( 11430 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74 TESTPROGS)..@set 11440 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 PATH=$(LIBTCLPA
11450 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t 11460 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 estfixture.exe$
11470 28 54 4f 50 29 5c 74 65 73 74 5c 6d 61 69 6e 2e  (TOP)\test\main.
11480 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS) 11490 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a ..sqlite3_analyz 114a0 65 72 2e 63 3a 09 24 28 53 51 4c 49 54 45 33 43 er.c:.$(SQLITE3C
114b0 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28  ) $(SQLITE3H)$(
114c0 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
114d0 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  te.c $(TOP)\tool 114e0 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c 20 24 \spaceanal.tcl$
114f0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f  (TOP)\tool\mkcco
11500 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f  de.tcl $(TOP)\to 11510 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 ol\sqlite3_analy 11520 7a 65 72 2e 63 2e 69 6e 20 24 28 53 51 4c 49 54 zer.c.in$(SQLIT
11530 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 54 43  E_TCL_DEP)..$(TC 11540 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c LSH_CMD)$(TOP)\
11550 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool\mkccode.tcl
11560 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql 11570 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e ite3_analyzer.c. 11580 69 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 in >$@..sqlite3
11590 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73  _analyzer.exe:.s
115a0 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
115b0 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a  c $(LIBRESOBJS). 115c0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ 115d0 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 WARN) -DBUILD_sq 115e0 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 lite -I$(TCLINCD
115f0 49 52 29 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c  IR) sqlite3_anal
11600 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b  yzer.c \.../link
11610 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
11620 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c  LINKOPTS) $(TCLL 11630 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 IBPATHS)$(LTLIB
11640 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO 11650 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 BJS)$(TCLLIBS)
11660 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42  $(LTLIBS)$(TLIB
11670 53 29 0a 0a 73 71 6c 74 63 6c 73 68 2e 63 3a 20  S)..sqltclsh.c:
11680 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29  sqlite3.c $(TOP) 11690 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 \src\tclsqlite.c 116a0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c$(TOP)\tool\sql
116b0 74 63 6c 73 68 2e 74 63 6c 20 24 28 54 4f 50 29  tclsh.tcl $(TOP) 116c0 5c 65 78 74 5c 6d 69 73 63 5c 61 70 70 65 6e 64 \ext\misc\append 116d0 76 66 73 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f vfs.c$(TOP)\too
116e0 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28  l\mkccode.tcl $( 116f0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c TOP)\tool\sqltcl 11700 73 68 2e 63 2e 69 6e 0a 09 24 28 54 43 4c 53 48 sh.c.in..$(TCLSH
11710 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too 11720 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 l\mkccode.tcl$(
11730 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 74 63 6c  TOP)\tool\sqltcl
11740 73 68 2e 63 2e 69 6e 20 3e 73 71 6c 74 63 6c 73  sh.c.in >sqltcls
11750 68 2e 63 0a 0a 73 71 6c 74 63 6c 73 68 2e 65 78  h.c..sqltclsh.ex
11760 65 3a 20 73 71 6c 74 63 6c 73 68 2e 63 20 20 24  e: sqltclsh.c  $11770 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 (SHELL_CORE_DEP) 11780 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09$(LIBRESOBJS)..
11790 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
117a0 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c  ARN) -DBUILD_sql
117b0 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI 117c0 52 29 20 73 71 6c 74 63 6c 73 68 2e 63 20 5c 0a R) sqltclsh.c \. 117d0 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ../link$(LDFLAG
117e0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) 117f0 20 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20$(TCLLIBPATHS)
11800 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28  $(LTLIBPATHS)$(
11810 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43  LIBRESOBJS) $(TC 11820 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 LLIBS)$(LTLIBS)
11830 20 24 28 54 4c 49 42 53 29 0a 0a 73 71 6c 69 74   $(TLIBS)..sqlit 11840 65 33 5f 65 78 70 65 72 74 2e 65 78 65 3a 20 24 e3_expert.exe:$
11850 28 53 51 4c 49 54 45 33 43 29 20 24 28 54 4f 50  (SQLITE3C) $(TOP 11860 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71 6c )\ext\expert\sql 11870 69 74 65 33 65 78 70 65 72 74 2e 68 20 24 28 54 ite3expert.h$(T
11880 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73  OP)\ext\expert\s
11890 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 24  qlite3expert.c $118a0 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 (TOP)\ext\expert 118b0 5c 65 78 70 65 72 74 2e 63 0a 09 24 28 4c 54 4c \expert.c..$(LTL
118c0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09  INK) $(NO_WARN). 118d0 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72$(TOP)\ext\exper
118e0 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
118f0 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70  c $(TOP)\ext\exp 11900 65 72 74 5c 65 78 70 65 72 74 2e 63 20 24 28 53 ert\expert.c$(S
11910 51 4c 49 54 45 33 43 29 20 24 28 54 4c 49 42 53  QLITE3C) $(TLIBS 11920 29 0a 0a 43 48 45 43 4b 45 52 5f 44 45 50 53 20 )..CHECKER_DEPS 11930 3d 5c 0a 20 20 24 28 54 4f 50 29 2f 74 6f 6f 6c =\.$(TOP)/tool
11940 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 5c 0a 20  /mkccode.tcl \.
11950 20 73 71 6c 69 74 65 33 2e 63 20 5c 0a 20 20 24   sqlite3.c \.  $11960 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c (TOP)/src/tclsql 11970 69 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ite.c \.$(TOP)
11980 2f 65 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69  /ext/repair/sqli
11990 74 65 33 5f 63 68 65 63 6b 65 72 2e 74 63 6c 20  te3_checker.tcl
119a0 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72  \.  $(TOP)/ext/r 119b0 65 70 61 69 72 2f 63 68 65 63 6b 69 6e 64 65 78 epair/checkindex 119c0 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 .c \.$(TOP)/ex
119d0 74 2f 72 65 70 61 69 72 2f 63 68 65 63 6b 66 72  t/repair/checkfr
119e0 65 65 6c 69 73 74 2e 63 20 5c 0a 20 20 24 28 54  eelist.c \.  $(T 119f0 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f 62 74 72 OP)/ext/misc/btr 11a00 65 65 69 6e 66 6f 2e 63 20 5c 0a 20 20 24 28 54 eeinfo.c \.$(T
11a10 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 73  OP)/ext/repair/s
11a20 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63  qlite3_checker.c
11a30 2e 69 6e 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65  .in..sqlite3_che
11a40 63 6b 65 72 2e 63 3a 09 24 28 43 48 45 43 4b 45  cker.c:.$(CHECKE 11a50 52 5f 44 45 50 53 29 0a 09 24 28 54 43 4c 53 48 R_DEPS)..$(TCLSH
11a60 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too 11a70 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 l\mkccode.tcl$(
11a80 54 4f 50 29 5c 65 78 74 5c 72 65 70 61 69 72 5c  TOP)\ext\repair\
11a90 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
11aa0 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 74  c.in > $@..sqlit 11ab0 65 33 5f 63 68 65 63 6b 65 72 2e 65 78 65 3a 09 e3_checker.exe:. 11ac0 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e sqlite3_checker. 11ad0 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a c$(LIBRESOBJS).
11ae0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
11af0 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71  WARN) -DBUILD_sq
11b00 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD 11b10 49 52 29 20 73 71 6c 69 74 65 33 5f 63 68 65 63 IR) sqlite3_chec 11b20 6b 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 ker.c \.../link 11b30 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL 11b40 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 4c 4c 49 INKOPTS)$(TCLLI
11b50 42 50 41 54 48 53 29 20 24 28 4c 54 4c 49 42 50  BPATHS) $(LTLIBP 11b60 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 ATHS)$(LIBRESOB
11b70 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24  JS) $(TCLLIBS)$
11b80 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS 11b90 29 0a 0a 64 62 64 75 6d 70 2e 65 78 65 3a 09 24 )..dbdump.exe:.$
11ba0 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64  (TOP)\ext\misc\d
11bb0 62 64 75 6d 70 2e 63 20 24 28 53 51 4c 49 54 45  bdump.c $(SQLITE 11bc0 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 3C)$(SQLITE3H)
11bd0 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24  $(LIBRESOBJS)..$
11be0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 11bf0 52 4e 29 20 2d 44 44 42 44 55 4d 50 5f 53 54 41 RN) -DDBDUMP_STA 11c00 4e 44 41 4c 4f 4e 45 20 24 28 54 4f 50 29 5c 65 NDALONE$(TOP)\e
11c10 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63  xt\misc\dbdump.c
11c20 20 24 28 53 51 4c 49 54 45 33 43 29 20 5c 0a 09   $(SQLITE3C) \.. 11c30 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 ./link$(LDFLAGS
11c40 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 11c50 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28$(LTLIBPATHS) $( 11c60 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 LIBRESOBJS)$(LT
11c70 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f 61 64 65  LIBS)..testloade
11c80 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  xt.lo:.$(TOP)\sr 11c90 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 c\test_loadext.c 11ca0 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( 11cb0 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f LTCOMPILE)$(NO_
11cc0 57 41 52 4e 29 20 2d 63 20 24 28 54 4f 50 29 5c  WARN) -c $(TOP)\ 11cd0 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 src\test_loadext 11ce0 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e .c..testloadext. 11cf0 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 64 65 78 74 dll:.testloadext 11d00 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 .lo..$(LD) $(LDF 11d10 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
11d20 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  TS) $(LTLIBPATHS 11d30 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 ) /DLL /OUT:$@ t
11d40 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a 73  estloadext.lo..s
11d50 68 6f 77 64 62 2e 65 78 65 3a 09 24 28 54 4f 50  howdb.exe:.$(TOP 11d60 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 )\tool\showdb.c 11d70 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ 11d80 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e LITE3H)..$(LTLIN
11d90 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D 11da0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 SQLITE_THREADSAF 11db0 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 E=0 -DSQLITE_OMI 11dc0 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e T_LOAD_EXTENSION 11dd0 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c \...$(TOP)\tool
11de0 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49  \showdb.c $(SQLI 11df0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 TE3C) /link$(LD
11e00 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 11e10 50 54 53 29 0a 0a 73 68 6f 77 73 74 61 74 34 2e PTS)..showstat4. 11e20 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c exe:.$(TOP)\tool
11e30 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53  \showstat4.c $(S 11e40 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
11e50 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 11e60 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
11e70 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11e80 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
11e90 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
11ea0 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ..$(TOP)\tool\sh 11eb0 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 owstat4.c$(SQLI
11ec0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD 11ed0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
11ee0 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e 61  PTS)..showjourna
11ef0 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  l.exe:.$(TOP)\to 11f00 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 ol\showjournal.c 11f10 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S 11f20 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
11f30 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) - 11f40 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 DSQLITE_THREADSA 11f50 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d FE=0 -DSQLITE_OM 11f60 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f IT_LOAD_EXTENSIO 11f70 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f N \...$(TOP)\too
11f80 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20  l\showjournal.c
11f90 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin 11fa0 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L 11fb0 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 TLINKOPTS)..show 11fc0 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c wal.exe:.$(TOP)\
11fd0 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24  tool\showwal.c $11fe0 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
11ff0 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK 12000 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
12010 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
12020 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
12030 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION
12040 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\ 12050 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 showwal.c$(SQLI
12060 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD 12070 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
12080 50 54 53 29 0a 0a 73 68 6f 77 73 68 6d 2e 65 78  PTS)..showshm.ex
12090 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  e:.$(TOP)\tool\s 120a0 68 6f 77 73 68 6d 2e 63 0a 09 24 28 4c 54 4c 49 howshm.c..$(LTLI
120b0 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09 24  NK) $(NO_WARN).$
120c0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73  (TOP)\tool\shows
120d0 68 6d 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  hm.c /link $(LDF 120e0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
120f0 54 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65  TS)..changeset.e
12100 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73  xe:.$(TOP)\ext\s 12110 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 ession\changeset 12120 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $12130 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
12140 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) 12150 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 -DSQLITE_THREAD 12160 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f SAFE=0 -DSQLITE_ 12170 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 OMIT_LOAD_EXTENS 12180 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54 45 ION \...-DSQLITE 12190 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d _ENABLE_SESSION= 121a0 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 1 -DSQLITE_ENABL 121b0 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b E_PREUPDATE_HOOK 121c0 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 =1 \...$(TOP)\ex
121d0 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65  t\session\change
121e0 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  set.c $(SQLITE3C 121f0 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
12200 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) 12210 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65 3a 09 ..fts3view.exe:. 12220 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
12230 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20  tool\fts3view.c
12240 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
12250 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN 12260 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 K)$(NO_WARN) -D
12270 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
12280 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
12290 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
122a0 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c   \...$(TOP)\ext\ 122b0 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 fts3\tool\fts3vi 122c0 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 ew.c$(SQLITE3C)
122d0 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS 122e0 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
122f0 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65  .rollback-test.e
12300 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\ 12310 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 rollback-test.c 12320 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ 12330 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e LITE3H)..$(LTLIN
12340 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D 12350 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 SQLITE_THREADSAF 12360 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 E=0 -DSQLITE_OMI 12370 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e T_LOAD_EXTENSION 12380 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c \...$(TOP)\tool
12390 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63  \rollback-test.c
123a0 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li 123b0 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( 123c0 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 61 74 72 LTLINKOPTS)..atr 123d0 63 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 c.exe:.$(TOP)\te
123e0 73 74 5c 61 74 72 63 2e 63 20 24 28 53 51 4c 49  st\atrc.c $(SQLI 123f0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
12400 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
12410 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12420 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
12430 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
12440 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$12450 28 54 4f 50 29 5c 74 65 73 74 5c 61 74 72 63 2e (TOP)\test\atrc. 12460 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c c$(SQLITE3C) /l
12470 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
12480 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f  (LTLINKOPTS)..Lo
12490 67 45 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  gEst.exe:.$(TOP) 124a0 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 \tool\logest.c$
124b0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT 124c0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
124d0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67   $(TOP)\tool\Log 124e0 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 Est.c /link$(LD
124f0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 12500 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e PTS)..wordcount. 12510 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 exe:.$(TOP)\test
12520 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53  \wordcount.c $(S 12530 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
12540 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 12550 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
12560 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
12570 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
12580 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
12590 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f  ..$(TOP)\test\wo 125a0 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 rdcount.c$(SQLI
125b0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD 125c0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
125d0 50 54 53 29 0a 0a 73 70 65 65 64 74 65 73 74 31  PTS)..speedtest1
125e0 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73  .exe:.$(TOP)\tes 125f0 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 20 24 t\speedtest1.c$
12600 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL 12610 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b ITE3H)..$(LTLINK
12620 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 53  ) $(NO_WARN)$(S
12630 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  T_COMPILE_OPTS)
12640 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
12650 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09  AD_EXTENSION \..
12660 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65  .$(TOP)\test\spe 12670 65 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 edtest1.c$(SQLI
12680 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD 12690 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
126a0 50 54 53 29 0a 0a 6b 76 74 65 73 74 2e 65 78 65  PTS)..kvtest.exe
126b0 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76  :.$(TOP)\test\kv 126c0 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 test.c$(SQLITE3
126d0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. 126e0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W 126f0 41 52 4e 29 20 24 28 4b 56 5f 43 4f 4d 50 49 4c ARN)$(KV_COMPIL
12700 45 5f 4f 50 54 53 29 20 5c 0a 09 09 24 28 54 4f  E_OPTS) \...$(TO 12710 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 P)\test\kvtest.c 12720 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69$(SQLITE3C) /li
12730 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
12740 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 62 75  LTLINKOPTS)..rbu
12750 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74  .exe:.$(TOP)\ext 12760 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 54 4f 50 \rbu\rbu.c$(TOP
12770 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65  )\ext\rbu\sqlite
12780 33 72 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33  3rbu.c $(SQLITE3 12790 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
127a0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
127b0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  ARN) -DSQLITE_EN
127c0 41 42 4c 45 5f 52 42 55 20 5c 0a 09 09 24 28 54  ABLE_RBU \...$(T 127d0 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e OP)\ext\rbu\rbu. 127e0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c c$(SQLITE3C) /l
127f0 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
12800 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 53  (LTLINKOPTS)..LS
12810 4d 44 49 52 3d 24 28 54 4f 50 29 5c 65 78 74 5c  MDIR=$(TOP)\ext\ 12820 6c 73 6d 31 0a 21 49 4e 43 4c 55 44 45 20 24 28 lsm1.!INCLUDE$(
12830 4c 53 4d 44 49 52 29 5c 4d 61 6b 65 66 69 6c 65  LSMDIR)\Makefile
12840 2e 6d 73 63 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a  .msc..moreclean:
12850 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f 51 20 24  .clean..del /Q $12860 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
12870 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a 23 20 3c  ITE3H) 2>NUL.# <
12880 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a  </mark>>..clean:
12890 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78 70 20 2a  ..del /Q *.exp *
128a0 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20  .lo *.ilk *.lib
128b0 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64  *.obj *.ncb *.pd
128c0 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f 20 32 3e  b *.sdf *.suo 2>
128d0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e 62 73  NUL..del /Q *.bs
128e0 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64 20 2a 2e  c *.def *.cod *.
128f0 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67 20 2a 2e  da *.bb *.bbg *.
12900 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55  vc gmon.out 2>NU
12910 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49  L..del /Q $(SQLI 12920 54 45 33 45 58 45 29 20 24 28 53 51 4c 49 54 45 TE3EXE)$(SQLITE
12930 33 44 4c 4c 29 20 52 65 70 6c 61 63 65 2e 65 78  3DLL) Replace.ex
12940 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b  e 2>NUL.# <<mark
12950 3e 3e 0a 09 64 65 6c 20 2f 51 20 6f 70 63 6f 64  >>..del /Q opcod
12960 65 73 2e 63 20 6f 70 63 6f 64 65 73 2e 68 20 32  es.c opcodes.h 2
12970 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 65 6d  >NUL..del /Q lem
12980 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e 63 20 70 61  on.* lempar.c pa
12990 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c  rse.* 2>NUL..del
129a0 20 2f 51 20 6d 6b 73 6f 75 72 63 65 69 64 2e 2a   /Q mksourceid.*
129b0 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 2a   mkkeywordhash.*
129c0 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 32   keywordhash.h 2
129d0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6e 6f 74  >NUL..del /Q not
129e0 61 73 68 61 72 65 64 6c 69 62 2e 2a 20 32 3e 4e  asharedlib.* 2>N
129f0 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20  UL..-rmdir /Q/S
12a00 2e 64 65 70 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d  .deps 2>NUL..-rm
12a10 64 69 72 20 2f 51 2f 53 20 2e 6c 69 62 73 20 32  dir /Q/S .libs 2
12a20 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f  >NUL..-rmdir /Q/
12a30 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 64 65  S tsrc 2>NUL..de
12a40 6c 20 2f 51 20 2e 74 61 72 67 65 74 5f 73 6f 75  l /Q .target_sou
12a50 72 63 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  rce 2>NUL..del /
12a60 51 20 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65  Q tclsqlite3.exe
12a70 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 24   $(SQLITETCLH)$
12a80 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48  (SQLITETCLDECLSH
12a90 29 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  ) 2>NUL..del /Q
12aa0 6c 73 6d 2e 64 6c 6c 20 6c 73 6d 74 65 73 74 2e  lsm.dll lsmtest.
12ab0 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
12ac0 51 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c  Q testloadext.dl
12ad0 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  l 2>NUL..del /Q
12ae0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe
12af0 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 64  test.db 2>NUL..d
12b00 65 6c 20 2f 51 20 4c 6f 67 45 73 74 2e 65 78 65  el /Q LogEst.exe
12b10 20 66 74 73 33 76 69 65 77 2e 65 78 65 20 72 6f   fts3view.exe ro
12b20 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 20  llback-test.exe
12b30 73 68 6f 77 64 62 2e 65 78 65 20 64 62 64 75 6d  showdb.exe dbdum
12b40 70 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c  p.exe 2>NUL..del
12b50 20 2f 51 20 63 68 61 6e 67 65 73 65 74 2e 65 78   /Q changeset.ex
12b60 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q
12b70 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 20  showjournal.exe
12b80 73 68 6f 77 73 74 61 74 34 2e 65 78 65 20 73 68  showstat4.exe sh
12b90 6f 77 77 61 6c 2e 65 78 65 20 73 70 65 65 64 74  owwal.exe speedt
12ba0 65 73 74 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  est1.exe 2>NUL..
12bb0 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 65 72 2e  del /Q mptester.
12bc0 65 78 65 20 77 6f 72 64 63 6f 75 6e 74 2e 65 78  exe wordcount.ex
12bd0 65 20 72 62 75 2e 65 78 65 20 73 72 63 63 6b 31  e rbu.exe srcck1
12be0 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del
12bf0 2f 51 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c  /Q sqlite3.c sql
12c00 69 74 65 33 2d 2a 2e 63 20 73 71 6c 69 74 65 33  ite3-*.c sqlite3
12c10 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
12c20 20 73 71 6c 69 74 65 33 72 63 2e 68 20 32 3e 4e   sqlite3rc.h 2>N
12c30 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65 6c 6c  UL..del /Q shell
12c40 2e 63 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20  .c sqlite3ext.h
12c50 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68  sqlite3session.h
12c60 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
12c70 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
12c80 65 78 65 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c  exe sqlite3_anal
12c90 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09 64 65  yzer.c 2>NUL..de
12ca0 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d 6f 75  l /Q sqlite-*-ou
12cb0 74 70 75 74 2e 76 73 69 78 20 32 3e 4e 55 4c 0a  tput.vsix 2>NUL.
12cc0 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72 73 68  .del /Q fuzzersh
12cd0 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68 65 63  ell.exe fuzzchec
12ce0 6b 2e 65 78 65 20 73 71 6c 64 69 66 66 2e 65 78  k.exe sqldiff.ex
12cf0 65 20 64 62 68 61 73 68 2e 65 78 65 20 32 3e 4e  e dbhash.exe 2>N
12d00 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 74 63  UL..del /Q sqltc
12d10 6c 73 68 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c  lsh.* 2>NUL..del
12d20 20 2f 51 20 64 62 66 75 7a 7a 2e 65 78 65 20 73   /Q dbfuzz.exe s
12d30 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78 65 20 32  essionfuzz.exe 2
12d40 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6b 76 74  >NUL..del /Q kvt
12d50 65 73 74 2e 65 78 65 20 6f 73 73 73 68 65 6c 6c  est.exe ossshell
12d60 2e 65 78 65 20 73 63 72 75 62 2e 65 78 65 20 32  .exe scrub.exe 2
12d70 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f  >NUL..del /Q sho
12d80 77 73 68 6d 2e 65 78 65 20 73 71 6c 69 74 65 33  wshm.exe sqlite3
12d90 5f 63 68 65 63 6b 65 72 2e 2a 20 73 71 6c 69 74  _checker.* sqlit
12da0 65 33 5f 65 78 70 65 72 74 2e 65 78 65 20 32 3e  e3_expert.exe 2>
12db0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73 35  NUL..del /Q fts5
12dc0 2e 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20 32  .* fts5parse.* 2
12dd0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d  >NUL..del /Q lsm
12de0 2e 68 20 6c 73 6d 31 2e 63 20 32 3e 4e 55 4c 0a  .h lsm1.c 2>NUL.
12df0 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a              # <</mark>>.