/ Hex Artifact Content

Artifact 425975b711d07077fc50df2bbe13f4e363274cc63f7352f7be701729112705fa:

• File Makefile.msc — part of check-in [5e0129ee] at 2018-10-30 13:19:49 on branch trunk — Enable sqlite3_deserialize() in the CLI. The --deserialize option associated with opening a new database cause the database file to be read into memory and accessed using the sqlite3_deserialize() API. This simplifies running tests on a database without risk of modifying the file on disk. (user: drh size: 77183)

0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS =
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U 06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a SE_FULLWARN)!=0. 0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35 NO_WARN = -wd405 0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30 4 -wd4055 -wd410 0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33 0 -wd4127 -wd413 0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38 0 -wd4152 -wd418 0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52 9 -wd4206.NO_WAR 0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d N =$(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
0970: 61 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70  abled.# for comp
0980: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f  atibility with o
0990: 6c 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72  lder build envir
09a0: 6f 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73  onments.  This s
09b0: 65 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70  etting only.# ap
09c0: 70 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43  plies if TCLSH_C
09d0: 4d 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61  MD is not set ma
09e0: 6e 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45  nually..#.!IFNDE
09f0: 46 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50  F USE_TCLSH_IN_P
0a00: 41 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e  ATH.USE_TCLSH_IN
0a10: 5f 50 41 54 48 20 3d 20 30 0a 21 45 4e 44 49 46  _PATH = 0.!ENDIF
0a20: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0a30: 2d 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20  -0 to use zlib,
0a40: 70 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69  possibly compili
0a50: 6e 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63  ng it from sourc
0a60: 65 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45  e code..#.!IFNDE
0a70: 46 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a  F USE_ZLIB.USE_Z
0a80: 4c 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  LIB = 0.!ENDIF..
0a90: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0aa0: 20 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66   to build zlib f
0ab0: 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  rom source code.
0ac0: 20 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65    This is enable
0ad0: 64 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61  d by.# default a
0ae0: 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20  nd in that case
0af0: 69 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  it will be assum
0b00: 65 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42  ed that the ZLIB
0b10: 44 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e  DIR macro.# poin
0b20: 74 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65  ts to the top-le
0b30: 76 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20  vel source code
0b40: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c  directory for zl
0b50: 69 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55  ib..#.!IFNDEF BU
0b60: 49 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a  ILD_ZLIB.BUILD_Z
0b70: 4c 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a  LIB = 1.!ENDIF..
0b80: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0b90: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0ba0: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0bb0: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0bc0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0bd0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0be0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0bf0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set
0c00: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0c10: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0c20: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0c30: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0c40: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0c50: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL =
0c60: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
0c70: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0c80: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0c90: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0ca0: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0cb0: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0cc0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..#
0cd0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0ce0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0cf0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0d00: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0d10: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0d20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0d30: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0d40: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0d50: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0d60: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0d70: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0d80: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0d90: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0da0: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0db0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0dc0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during
0dd0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0de0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0df0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0e00: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0e10: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0e20: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0e30: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries
0e40: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0e50: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the
0e60: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0e70: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0e80: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0e90: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0ea0: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0eb0: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ec0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0ed0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0ee0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0ef0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0f00: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0f10: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0f20: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0f30: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0f40: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0f50: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0f60: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0f70: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0f80: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0f90: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does
0fa0: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0fb0: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0fc0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0fd0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0fe0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text
0ff0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
1000: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
1010: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
1020: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1030: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1040: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1050: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
1060: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
1070: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
1080: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
1090: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
10a0: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
10b0: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
10c0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
10d0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
10e0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
10f0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
1100: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1110: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
1120: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
1130: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
1140: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
1150: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
1160: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
1170: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..#
1180: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
1190: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
11a0: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to
11b0: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or
11c0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
11d0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
11e0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
11f0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
1200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
1210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
1220: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
1230: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
1240: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
1250: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
1260: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1280: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
1290: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
12a0: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
12b0: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
12c0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
12d0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
12e0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
12f0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap
1300: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
1310: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1320: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1330: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this
1340: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1350: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1360: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1370: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.#
1380: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1390: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
13a0: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
13b0: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
13c0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
13d0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
13e0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
13f0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
1400: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
1410: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1420: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1430: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1440: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1450: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1460: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for
1470: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1480: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1490: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
14a0: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime
14b0: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
14c0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
14d0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
14e0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
14f0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of
1500: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 ==
1510: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG
1520: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1530: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1540: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1550: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1560: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1570: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1580: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1590: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
15a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
15b0: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
15c0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native
15d0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
15e0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
15f0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1600: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1610: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1620: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1630: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1640: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1650: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1660: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1670: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1680: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1690: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
16a0: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
16b0: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
16c0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
16d0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
16e0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
16f0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero,
1700: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1710: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1720: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1730: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1740: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1750: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1760: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS =
1770: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set
1780: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1790: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support
17a0: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session
17b0: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
17c0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
17d0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
17e0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
17f0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1800: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1810: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1820: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they
1830: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1840: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1850: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $( 1860: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 SPLIT_AMALGAMATI 1870: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20 ON)!=0.SQLITE3C 1880: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a = sqlite3-all.c. 1890: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d !ELSE.SQLITE3C = 18a0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49 sqlite3.c.!ENDI 18b0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 F.!ENDIF..# Set 18c0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65 the include code 18d0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 file to be used 18e0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 by executables 18f0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 and libraries wh 1900: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53 en.# they need S 1910: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46 QLite..#.!IFNDEF 1920: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45 SQLITE3H.SQLITE 1930: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21 3H = sqlite3.h.! 1940: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 ENDIF..# This is 1950: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 the name to use 1960: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 for the SQLite 1970: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 dynamic link lib 1980: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49 rary (DLL)..#.!I 1990: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c FNDEF SQLITE3DLL 19a0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 .!IF$(FOR_WIN10
19b0: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL
19c0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
19d0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
19e0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
19f0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1a00: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1a10: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1a20: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1a30: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1a40: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1a50: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN 1a60: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49 10)!=0.SQLITE3LI 1a70: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c B = winsqlite3.l 1a80: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 ib.!ELSE.SQLITE3 1a90: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69 LIB = sqlite3.li 1aa0: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a b.!ENDIF.!ENDIF. 1ab0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e .# This is the n 1ac0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 ame to use for t 1ad0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 he SQLite shell 1ae0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 executable (EXE) 1af0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 ..#.!IFNDEF SQLI 1b00: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52 TE3EXE.!IF$(FOR
1b10: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1b20: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1b30: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1b40: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1b50: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1b60: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1b70: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1b80: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1b90: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1ba0: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1bb0: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1bc0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1bd0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF
1be0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!= 1c00: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 0.SQLITE3EXEPDB 1c10: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45 =.!ELSE.SQLITE3E 1c20: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c XEPDB = /pdb:sql 1c30: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49 ite3sh.pdb.!ENDI 1c40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 F.!ENDIF..# <<ma 1c50: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65 rk>>.# These are 1c60: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 the names of th 1c70: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c e customized Tcl 1c80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 header files us 1c90: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61 ed by various pa 1ca0: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61 rts.# of this ma 1cb0: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20 kefile when the 1cc0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20 stdcall calling 1cd0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e convention is in 1ce0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74 use. It is not 1cf0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 .# used for any 1d00: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23 other purpose..# 1d10: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54 .!IFNDEF SQLITET 1d20: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d CLH.SQLITETCLH = 1d30: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45 sqlite_tcl.h.!E 1d40: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51 NDIF..!IFNDEF SQ 1d50: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51 LITETCLDECLSH.SQ 1d60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20 LITETCLDECLSH = 1d70: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e sqlite_tclDecls. 1d80: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 h.!ENDIF..# Thes 1d90: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69 e are the additi 1da0: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 onal targets tha 1db0: 74 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68 t the targets th 1dc0: 61 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74 at integrate wit 1dd0: 68 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72 h the.# Tcl libr 1de0: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e ary should depen 1df0: 64 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c d on when compil 1e00: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e ing, etc..#.!IFN 1e10: 44 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44 DEF SQLITE_TCL_D 1e20: 45 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 EP.!IF$(USE_STD
1e30: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO 1e40: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 R_WIN10)!=0.SQLI 1e50: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53 TE_TCL_DEP =$(S
1e60: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH)
1e70: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E 1e80: 4c 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 LSE.SQLITE_TCL_D 1e90: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 EP =.!ENDIF.!END 1ea0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a IF.# <</mark>>.. 1eb0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 # These are the 1ec0: 22 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74 "standard" SQLit 1ed0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 e compilation op 1ee0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 tions used when 1ef0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 compiling for.# 1f00: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 the Windows plat 1f10: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 form..#.!IFNDEF 1f20: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG 1f30: 53 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f S.!IF$(MINIMAL_
1f40: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
1f50: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1f60: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU 1f70: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI 1f80: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31 TE_ENABLE_FTS3=1 1f90: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 .OPT_FEATURE_FLA 1fa0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 GS =$(OPT_FEATU
1fb0: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1fc0: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d  TE_ENABLE_RTREE=
1fd0: 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  1.OPT_FEATURE_FL
1fe0: 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54  AGS = $(OPT_FEAT 1ff0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c URE_FLAGS) -DSQL 2000: 49 54 45 5f 45 4e 41 42 4c 45 5f 47 45 4f 50 4f ITE_ENABLE_GEOPO 2010: 4c 59 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 LY=1.OPT_FEATURE 2020: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 _FLAGS =$(OPT_F
2030: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
2040: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53  SQLITE_ENABLE_JS
2050: 4f 4e 31 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52  ON1=1.OPT_FEATUR
2060: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_ 2070: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d FEATURE_FLAGS) - 2080: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 DSQLITE_ENABLE_S 2090: 54 4d 54 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 TMTVTAB=1.OPT_FE 20a0: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 ATURE_FLAGS =$(
20b0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
20c0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
20d0: 4c 45 5f 44 42 50 41 47 45 5f 56 54 41 42 3d 31  LE_DBPAGE_VTAB=1
20e0: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
20f0: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU 2100: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI 2110: 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 TE_ENABLE_DBSTAT 2120: 5f 56 54 41 42 3d 31 0a 4f 50 54 5f 46 45 41 54 _VTAB=1.OPT_FEAT 2130: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 URE_FLAGS =$(OP
2140: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
2150: 20 2d 44 53 51 4c 49 54 45 5f 49 4e 54 52 4f 53   -DSQLITE_INTROS
2160: 50 45 43 54 49 4f 4e 5f 50 52 41 47 4d 41 53 3d  PECTION_PRAGMAS=
2170: 31 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41  1.!ENDIF.OPT_FEA
2180: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O 2190: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 PT_FEATURE_FLAGS 21a0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ) -DSQLITE_ENABL 21b0: 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 E_COLUMN_METADAT 21c0: 41 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 A=1.!ENDIF..# Sh 21d0: 6f 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e ould the session 21e0: 20 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e extension be en 21f0: 61 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61 abled? If so, a 2200: 64 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f dd compilation o 2210: 70 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62 ptions.# to enab 2220: 6c 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53 le it..#.!IF$(S
2230: 45 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46  ESSION)!=0.OPT_F
2240: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $2250: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (OPT_FEATURE_FLA 2260: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 GS) -DSQLITE_ENA 2270: 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50 BLE_SESSION=1.OP 2280: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 T_FEATURE_FLAGS 2290: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f =$(OPT_FEATURE_
22a0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
22b0: 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
22c0: 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a  _HOOK=1.!ENDIF..
22d0: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the
22e0: 22 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74  "extended" SQLit
22f0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
2300: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when
2310: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.#
2320: 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70  the Windows 10 p
2330: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44  latform..#.!IFND
2340: 45 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46  EF EXT_FEATURE_F
2350: 4c 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57  LAGS.!IF $(FOR_W 2360: 49 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41 IN10)!=0.EXT_FEA 2370: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 TURE_FLAGS =$(E
2380: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
2390: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
23a0: 45 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41  E_FTS4=1.EXT_FEA
23b0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E 23c0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 XT_FEATURE_FLAGS 23d0: 29 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45 ) -DSQLITE_SYSTE 23e0: 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 M_MALLOC=1.EXT_F 23f0: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 EATURE_FLAGS =$
2400: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
2410: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  GS) -DSQLITE_OMI
2420: 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45  T_LOCALTIME=1.!E
2430: 4c 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  LSE.EXT_FEATURE_
2440: 46 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  FLAGS =.!ENDIF.!
2450: 45 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23  ENDIF..#########
2460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2490: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24a0: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
24b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24c0: 23 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50  ###### END OF OP
24d0: 54 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23  TIONS ##########
24e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24f0: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
2500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2530: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2540: 23 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63  ######..# When c
2550: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65  ompiling for the
2560: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
2570: 66 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f  form, the PLATFO
2580: 52 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65  RM macro must be
2590: 20 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70   set.# to an app
25a0: 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28  ropriate value (
25b0: 65 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61  e.g. x86, x64, a
25c0: 72 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e  rm, arm64, etc).
25d0: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN 25e0: 31 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50 10)!=0.!IFNDEF P 25f0: 4c 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55 LATFORM.!ERROR U 2600: 73 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e sing the FOR_WIN 2610: 31 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 10 option requir 2620: 65 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50 es a value for P 2630: 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a LATFORM..!ENDIF. 2640: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61 !ENDIF..# This a 2650: 73 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43 ssumes that MSVC 2660: 20 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61 is always insta 2670: 6c 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50 lled in 32-bit P 2680: 72 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72 rogram Files dir 2690: 65 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74 ectory.# and set 26a0: 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66 s the variable f 26b0: 6f 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69 or use in locati 26c0: 6e 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20 ng other 32-bit 26d0: 69 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69 installs accordi 26e0: 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 ngly..#.PROGRAMF 26f0: 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49 ILES_X86 =$(VCI
2700: 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e  NSTALLDIR)\..\..
2710: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  .PROGRAMFILES_X8
2720: 36 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  6 = $(PROGRAMFIL 2730: 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 ES_X86:\\=\)..# 2740: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 Check for the pr 2750: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 edefined command 2760: 20 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73 macro CC. This 2770: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f should point to 2780: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20 the compiler.# 2790: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74 binary for the t 27a0: 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 arget platform. 27b0: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 If it is not de 27c0: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 fined, simply de 27d0: 66 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65 fine it to.# the 27e0: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 legacy default 27f0: 76 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a value 'cl.exe'.. 2800: 23 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20 #.!IFNDEF CC.CC 2810: 3d 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a = cl.exe.!ENDIF. 2820: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 .# Check for the 2830: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d predefined comm 2840: 61 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20 and macro CSC. 2850: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e This should poin 2860: 74 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23 t to a working.# 2870: 20 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65 C Sharp compile 2880: 72 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74 r binary. If it 2890: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c is not defined, 28a0: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 simply define i 28b0: 74 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63 t to the.# legac 28c0: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 y default value 28d0: 27 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 'csc.exe'..#.!IF 28e0: 4e 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63 NDEF CSC.CSC = c 28f0: 73 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 sc.exe.!ENDIF..# 2900: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 Check for the c 2910: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e ommand macro LD. 2920: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f This should po 2930: 69 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 int to the linke 2940: 72 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 r binary for.# t 2950: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f he target platfo 2960: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f rm. If it is no 2970: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c t defined, simpl 2980: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 y define it to t 2990: 68 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61 he legacy.# defa 29a0: 75 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e ult value 'link. 29b0: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 exe'..#.!IFNDEF 29c0: 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 LD.LD = link.exe 29d0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b .!ENDIF..# Check 29e0: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 for the predefi 29f0: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 ned command macr 2a00: 6f 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75 o RC. This shou 2a10: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 ld point to the 2a20: 72 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 resource.# compi 2a30: 6c 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 ler binary for t 2a40: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f he target platfo 2a50: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f rm. If it is no 2a60: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c t defined, simpl 2a70: 79 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f y define.# it to 2a80: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61 the legacy defa 2a90: 75 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78 ult value 'rc.ex 2aa0: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 e'..#.!IFNDEF RC 2ab0: 0a 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e .RC = rc.exe.!EN 2ac0: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 DIF..# Check for 2ad0: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d the MSVC runtim 2ae0: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d e library path m 2af0: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 acro. Otherwise 2b00: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c , this value wil 2b10: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 l.# default to t 2b20: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f he 'lib' directo 2b30: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 ry underneath th 2b40: 65 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 e MSVC installat 2b50: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 ion directory..# 2b60: 0a 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50 .!IFNDEF CRTLIBP 2b70: 41 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d ATH.CRTLIBPATH = 2b80: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29$(VCINSTALLDIR)
2b90: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54  \lib.!ENDIF..CRT
2ba0: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL 2bb0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 IBPATH:\\=\)..# 2bc0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f Check for the co 2bd0: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e mmand macro NCC. 2be0: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f This should po 2bf0: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 int to the compi 2c00: 6c 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 ler binary.# for 2c10: 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 the platform th 2c20: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 e compilation pr 2c30: 6f 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 ocess is taking 2c40: 70 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 place on. If it 2c50: 20 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 is not.# define 2c60: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 d, simply define 2c70: 20 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20 it to have the 2c80: 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68 same value as th 2c90: 65 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 e CC macro. Whe 2ca0: 6e 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c n.# cross-compil 2cb0: 69 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65 ing, it is sugge 2cc0: 73 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d sted that this m 2cd0: 61 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 acro be modified 2ce0: 20 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 via the command 2cf0: 0a 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e .# line (since n 2d00: 6d 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73 make itself does 2d10: 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62 not provide a b 2d20: 75 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 uilt-in method t 2d30: 6f 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46 o guess it)..# F 2d40: 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 or example, to u 2d50: 73 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69 se the x86 compi 2d60: 6c 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 ler when cross-c 2d70: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 ompiling for x64 2d80: 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 , a command.# li 2d90: 6e 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 ne similar to th 2da0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c e following coul 2db0: 64 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f d be used (all o 2dc0: 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 n one line):.#.# 2dd0: 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 nmake /f Ma 2de0: 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 kefile.msc sqlit 2df0: 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 e3.dll.# 2e00: 20 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 XCOMPILE=1 US 2e10: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 E_NATIVE_LIBPATH 2e20: 53 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 S=1.#.# Alternat 2e30: 69 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 ively, the full 2e40: 70 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 path and file na 2e50: 6d 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c me to the compil 2e60: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 er binary for th 2e70: 65 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 e.# platform the 2e80: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f compilation pro 2e90: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 cess is taking p 2ea0: 6c 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63 lace may be spec 2eb0: 69 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 ified (all on.# 2ec0: 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 one line):.#.# 2ed0: 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 nmake /f Make 2ee0: 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 file.msc sqlite3 2ef0: 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 .dll.# 2f00: 20 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41 "NCC=""%VCINSTA 2f10: 4c 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 LLDIR%\bin\cl.ex 2f20: 65 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20 e""".# 2f30: 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 USE_NATIVE_LIBP 2f40: 41 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 ATHS=1.#.!IFDEF 2f50: 4e 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a NCC.NCC =$(NCC:
2f60: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28  \\=\).!ELSEIF $( 2f70: 58 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 XCOMPILE)!=0.NCC 2f80: 20 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 = "$(VCINSTALLD
2f90: 49 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e  IR)\bin\$(CC)".N 2fa0: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 CC =$(NCC:\\=\)
2fb0: 0a 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43  .!ELSE.NCC = $(C 2fc0: 43 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 C).!ENDIF..# Che 2fd0: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 ck for the MSVC 2fe0: 6e 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c native runtime l 2ff0: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 ibrary path macr 3000: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 o. Otherwise,.# 3010: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c this value will 3020: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 default to the 3030: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 'lib' directory 3040: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d underneath the M 3050: 53 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 SVC.# installati 3060: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a on directory..#. 3070: 21 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 !IFNDEF NCRTLIBP 3080: 41 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 ATH.NCRTLIBPATH 3090: 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 =$(VCINSTALLDIR
30a0: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43  )\lib.!ENDIF..NC
30b0: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43  RTLIBPATH = $(NC 30c0: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a RTLIBPATH:\\=\). 30d0: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 .# Check for the 30e0: 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 Platform SDK li 30f0: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f brary path macro 3100: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 . Otherwise, th 3110: 69 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 is.# value will 3120: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 default to the ' 3130: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 lib' directory u 3140: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 nderneath the Wi 3150: 6e 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 ndows.# SDK inst 3160: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f allation directo 3170: 72 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d ry (the environm 3180: 65 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65 ent variable use 3190: 64 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62 d appears.# to b 31a0: 65 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e e available when 31b0: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b using Visual C+ 31c0: 2b 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20 + 2008 or later 31d0: 76 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e via the.# comman 31e0: 64 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 d line)..#.!IFND 31f0: 45 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e EF NSDKLIBPATH.N 3200: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57 SDKLIBPATH =$(W
3210: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
3220: 62 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49  b.!ENDIF..NSDKLI
3230: 42 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49  BPATH = $(NSDKLI 3240: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 BPATH:\\=\)..# C 3250: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52 heck for the UCR 3260: 54 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d T library path m 3270: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 acro. Otherwise 3280: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c , this value wil 3290: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 l.# default to t 32a0: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 he version-speci 32b0: 66 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 fic, platform-sp 32c0: 65 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72 ecific 'lib' dir 32d0: 65 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 ectory.# underne 32e0: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20 ath the Windows 32f0: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e SDK installation 3300: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 directory..#.!I 3310: 46 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54 FNDEF UCRTLIBPAT 3320: 48 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 H.UCRTLIBPATH = 3330: 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29$(WINDOWSSDKDIR)
3340: 5c 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44  \lib\$(WINDOWSSD 3350: 4b 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 KLIBVERSION)\ucr 3360: 74 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 t\$(PLATFORM).!E
3370: 4e 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54  NDIF..UCRTLIBPAT
3380: 48 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54  H = $(UCRTLIBPAT 3390: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d H:\\=\)..# C com 33a0: 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e piler and option 33b0: 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 s for use in bui 33c0: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 lding executable 33d0: 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 s that.# will ru 33e0: 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 n on the platfor 33f0: 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20 m that is doing 3400: 74 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 the build..#.!IF 3410: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29$(USE_FULLWARN)
3420: 21 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29  !=0.BCC = $(NCC) 3430: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43 -nologo -W4$(C
3440: 43 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53  COPTS) $(BCCOPTS 3450: 29 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28 ).!ELSE.BCC =$(
3460: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33  NCC) -nologo -W3
3470: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS)$(BCC
3480: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..#
3490: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
34a0: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings
34b0: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
34c0: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
34d0: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files
34e0: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
34f0: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST 3500: 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24 INGS)!=0.BCC =$
3510: 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (BCC) -FAcs.!END
3520: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74  IF..# Check if t
3530: 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72  he native librar
3540: 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62  y paths should b
3550: 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70  e used when comp
3560: 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d  iling.# the comm
3570: 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75  and line tools u
3580: 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63  sed during the c
3590: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
35a0: 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65  ss.  If.# so, se
35b0: 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  t the necessary
35c0: 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46  macro now..#.!IF
35d0: 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49   $(USE_NATIVE_LI 35e0: 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49 BPATHS)!=0.NLTLI 35f0: 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41 BPATHS = "/LIBPA 3600: 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48 TH:$(NCRTLIBPATH
3610: 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  )" "/LIBPATH:$(N 3620: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49 SDKLIBPATH)"..!I 3630: 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54 FDEF NUCRTLIBPAT 3640: 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d H.NUCRTLIBPATH = 3650: 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a$(NUCRTLIBPATH:
3660: 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48  \\=\).NLTLIBPATH
3670: 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  S = $(NLTLIBPATH 3680: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e S) "/LIBPATH:$(N
3690: 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45  UCRTLIBPATH)".!E
36a0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43  NDIF.!ENDIF..# C
36b0: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
36c0: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
36d0: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
36e0: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
36f0: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72  l run on the tar
3700: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28  get platform.  (
3710: 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20  BCC and TCC are
3720: 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61  usually the.# sa
3730: 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61  me unless your a
3740: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
3750: 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45  ng.).#.!IF $(USE 3760: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43 _FULLWARN)!=0.TC 3770: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 C =$(CC) -nolog
3780: 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f  o -W4 -DINCLUDE_
3790: 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54  MSVC_H=1 $(CCOPT 37a0: 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45 S)$(TCCOPTS).!E
37b0: 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20  LSE.TCC = $(CC) 37c0: 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 -nologo -W3$(CC
37d0: 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29  OPTS) $(TCCOPTS) 37e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b .!ENDIF..# Check 37f0: 20 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f if warnings sho 3800: 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 uld be treated a 3810: 73 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f s errors when co 3820: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24 mpiling..#.!IF$
3830: 28 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29  (USE_FATAL_WARN)
3840: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC) 3850: 20 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43 -WX.!ENDIF..TCC 3860: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 =$(TCC) -DSQLI
3870: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20  TE_OS_WIN=1 -I.
3880: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50  -I$(TOP) -I$(TOP
3890: 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73  )\src -fp:precis
38a0: 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44  e.RCC = $(RC) -D 38b0: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 SQLITE_OS_WIN=1 38c0: 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 -I. -I$(TOP) -I$38d0: 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50 (TOP)\src$(RCOP
38e0: 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a  TS) $(RCCOPTS).. 38f0: 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61 # Check if we wa 3900: 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73 nt to use the "s 3910: 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 tdcall" calling 3920: 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20 convention when 3930: 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69 compiling..# Thi 3940: 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 s is not support 3950: 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c ed by the compil 3960: 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 ers for non-x86 3970: 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73 platforms. It s 3980: 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20 hould.# also be 3990: 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20 noted here that 39a0: 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72 building any tar 39b0: 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22 get with these " 39c0: 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 stdcall" options 39d0: 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b .# will most lik 39e0: 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20 ely fail if the 39f0: 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61 Tcl library is a 3a00: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54 lso required. T 3a10: 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20 his is due.# to 3a20: 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72 how the Tcl libr 3a30: 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 ary functions ar 3a40: 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65 e declared and e 3a50: 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69 xported (i.e. wi 3a60: 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69 thout.# an expli 3a70: 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 cit calling conv 3a80: 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65 ention, which re 3a90: 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22 sults in "cdecl" 3aa0: 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 )..#.!IF$(USE_S
3ab0: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $( 3ac0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 FOR_WIN10)!=0.!I 3ad0: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d F "$(PLATFORM)"=
3ae0: 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e  ="x86".CORE_CCON
3af0: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
3b00: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
3b10: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
3b20: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3b30: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
3b40: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3b50: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
3b60: 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56  call.SHELL_CCONV
3b70: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3b80: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
3b90: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3ba0: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3bb0: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
3bc0: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3bd0: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
3be0: 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54  all.# <<mark>>.T
3bf0: 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  EST_CCONV_OPTS =
3c00: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3c10: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3c20: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3c30: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3c40: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3c50: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3c60: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49  PI=__stdcall -DI
3c70: 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43  NCLUDE_SQLITE_TC
3c80: 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54  L_H=1 -DSQLITE_T
3c90: 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20  CLAPI=__cdecl.#
3ca0: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a  <</mark>>.!ELSE.
3cb0: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d  !IFNDEF PLATFORM
3cc0: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3cd0: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
3ce0: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
3cf0: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
3d00: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3d10: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
3d20: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3d30: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53  SAPI=__stdcall.S
3d40: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  HELL_CCONV_OPTS
3d50: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3d60: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3d70: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3d80: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3d90: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3da0: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3db0: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20  API=__stdcall.#
3dc0: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3dd0: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3de0: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3df0: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
3e00: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
3e10: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
3e20: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
3e30: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3e40: 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45  tdcall -DINCLUDE
3e50: 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20  _SQLITE_TCL_H=1
3e60: 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d  -DSQLITE_TCLAPI=
3e70: 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72  __cdecl.# <</mar
3e80: 6b 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43  k>>.!ELSE.CORE_C
3e90: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c  CONV_OPTS =.SHEL
3ea0: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23  L_CCONV_OPTS =.#
3eb0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43   <<mark>>.TEST_C
3ec0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c  CONV_OPTS =.# <<
3ed0: 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21  /mark>>.!ENDIF.!
3ee0: 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45  ENDIF.!ELSE.CORE
3ef0: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48  _CCONV_OPTS =.SH
3f00: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3f10: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54  .# <<mark>>.TEST
3f20: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.#
3f30: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46  <</mark>>.!ENDIF
3f40: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
3f50: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65  ditional compile
3f60: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66  r options used f
3f70: 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  or the core libr
3f80: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43  ary..#.!IFNDEF C
3f90: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
3fa0: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S 3fb0: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f HELL)!=0 ||$(FO
3fc0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45  R_WIN10)!=0.CORE
3fd0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS =
3fe0: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  $(CORE_CCONV_OPT 3ff0: 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d S) -DSQLITE_API= 4000: 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78 __declspec(dllex 4010: 70 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45 port).!ELSE.CORE 4020: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 _COMPILE_OPTS = 4030: 24 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54$(CORE_CCONV_OPT
4040: 53 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  S).!ENDIF.!ENDIF
4050: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
4060: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72  e additional tar
4070: 67 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f  gets that the co
4080: 72 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c  re library shoul
4090: 64 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68  d depend on.# wh
40a0: 65 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49  en linking..#.!I
40b0: 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f  FNDEF CORE_LINK_
40c0: 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  DEP.!IF $(DYNAMI 40d0: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 C_SHELL)!=0.CORE 40e0: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 _LINK_DEP =.!ELS 40f0: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 EIF$(FOR_WIN10)
4100: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f  ==0 || "$(PLATFO 4110: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 RM)"=="x86".CORE 4120: 5f 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69 _LINK_DEP = sqli 4130: 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f te3.def.!ELSE.CO 4140: 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 RE_LINK_DEP =.!E 4150: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 NDIF.!ENDIF..# T 4160: 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f hese are additio 4170: 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f nal linker optio 4180: 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 ns used for the 4190: 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a core library..#. 41a0: 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e !IFNDEF CORE_LIN 41b0: 4b 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e K_OPTS.!IF$(DYN
41c0: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43  AMIC_SHELL)!=0.C
41d0: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a  ORE_LINK_OPTS =.
41e0: 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49  !ELSEIF $(FOR_WI 41f0: 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c N10)==0 || "$(PL
4200: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
4210: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
4220: 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65   /DEF:sqlite3.de
4230: 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e  f.!ELSE.CORE_LIN
4240: 4b 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a  K_OPTS =.!ENDIF.
4250: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These
4260: 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63  are additional c
4270: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options
4280: 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65  used for the she
4290: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23  ll executable..#
42a0: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
42b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20  OMPILE_OPTS.!IF
42c0: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL) 42d0: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e !=0 ||$(FOR_WIN
42e0: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)!=0.SHELL_COM
42f0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH 4300: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 ELL_CCONV_OPTS) 4310: 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 -DSQLITE_API=__d 4320: 65 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72 eclspec(dllimpor 4330: 74 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 t).!ELSE.SHELL_C 4340: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 OMPILE_OPTS =$(
4350: 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53  SHELL_CCONV_OPTS
4360: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
4370: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73  .# This is the s
4380: 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20  ource code that
4390: 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74  the shell execut
43a0: 61 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63  able should be c
43b0: 6f 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a  ompiled.# with..
43c0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
43d0: 43 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44  CORE_SRC.!IF $(D 43e0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 YNAMIC_SHELL)!=0 43f0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 ||$(FOR_WIN10)
4400: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  !=0.SHELL_CORE_S
4410: 52 43 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  RC =.# <<mark>>.
4420: 21 45 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d  !ELSEIF $(USE_AM 4430: 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 ALGAMATION)==0.S 4440: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a HELL_CORE_SRC =. 4450: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 # <</mark>>.!ELS 4460: 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 E.SHELL_CORE_SRC 4470: 20 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21 =$(SQLITE3C).!
4480: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
4490: 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72 65  This is the core
44a0: 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74 68   library that th
44b0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
44c0: 6c 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64  le should depend
44d0: 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53   on..#.!IFNDEF S
44e0: 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21 49  HELL_CORE_DEP.!I
44f0: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c  F $(DYNAMIC_SHEL 4500: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 L)!=0 ||$(FOR_W
4510: 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43  IN10)!=0.SHELL_C
4520: 4f 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c 49  ORE_DEP = $(SQLI 4530: 54 45 33 44 4c 4c 29 0a 23 20 3c 3c 6d 61 72 6b TE3DLL).# <<mark 4540: 3e 3e 0a 21 45 4c 53 45 49 46 20 24 28 55 53 45 >>.!ELSEIF$(USE
4550: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d  _AMALGAMATION)==
4560: 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  0.SHELL_CORE_DEP
4570: 20 3d 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69   = libsqlite3.li
4580: 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45  b.# <</mark>>.!E
4590: 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44  LSE.SHELL_CORE_D
45a0: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  EP =.!ENDIF.!END
45b0: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
45c0: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74   If zlib support
45d0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64   is enabled, add
45e0: 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65   the dependencie
45f0: 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20  s for it..#.!IF
4600: 24 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 20 26  $(USE_ZLIB)!=0 & 4610: 26 20 24 28 42 55 49 4c 44 5f 5a 4c 49 42 29 21 &$(BUILD_ZLIB)!
4620: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  =0.SHELL_CORE_DE
4630: 50 20 3d 20 7a 6c 69 62 20 24 28 53 48 45 4c 4c  P = zlib $(SHELL 4640: 5f 43 4f 52 45 5f 44 45 50 29 0a 54 45 53 54 46 _CORE_DEP).TESTF 4650: 49 58 54 55 52 45 5f 44 45 50 20 3d 20 7a 6c 69 IXTURE_DEP = zli 4660: 62 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f b$(TESTFIXTURE_
4670: 44 45 50 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  DEP).!ENDIF.# <<
4680: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20  /mark>>..# This
4690: 69 73 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  is the core libr
46a0: 61 72 79 20 74 68 61 74 20 74 68 65 20 73 68 65  ary that the she
46b0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68  ll executable sh
46c0: 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74 68 2e 0a  ould link with..
46d0: 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f  #.!IFNDEF SHELL_
46e0: 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20 24 28 44  CORE_LIB.!IF $(D 46f0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 YNAMIC_SHELL)!=0 4700: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 ||$(FOR_WIN10)
4710: 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  !=0.SHELL_CORE_L
4720: 49 42 20 3d 20 24 28 53 51 4c 49 54 45 33 4c 49  IB = $(SQLITE3LI 4730: 42 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 B).# <<mark>>.!E 4740: 4c 53 45 49 46 20 24 28 55 53 45 5f 41 4d 41 4c LSEIF$(USE_AMAL
4750: 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 53 48 45  GAMATION)==0.SHE
4760: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 6c 69  LL_CORE_LIB = li
4770: 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 23 20 3c  bsqlite3.lib.# <
4780: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 53  </mark>>.!ELSE.S
4790: 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a  HELL_CORE_LIB =.
47a0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
47b0: 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74   These are addit
47c0: 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74  ional linker opt
47d0: 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68  ions used for th
47e0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
47f0: 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48  le..#.!IFNDEF SH
4800: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48  ELL_LINK_OPTS.SH
4810: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20  ELL_LINK_OPTS =
4820: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42  $(SHELL_CORE_LIB 4830: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 ).!ENDIF..# Chec 4840: 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63 6f k if assembly co 4850: 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 de listings shou 4860: 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 ld be generated 4870: 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a 23 for the source.# 4880: 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20 62 code files to b 4890: 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 e compiled..#.!I 48a0: 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 F$(USE_LISTINGS
48b0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC 48c0: 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a ) -FAcs.!ENDIF.. 48d0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 # When compiling 48e0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f 72 the library for 48f0: 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52 use in the WinR 4900: 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23 T environment,.# 4910: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 the following c 4920: 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 ompile-time opti 4930: 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65 64 ons must be used 4940: 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69 as well to.# di 4950: 73 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69 6e sable use of Win 4960: 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65 32 APIs that are 4970: 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61 not available a 4980: 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75 nd to enable.# u 4990: 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73 se of Win32 APIs 49a0: 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69 66 that are specif 49b0: 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38 20 ic to Windows 8 49c0: 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a and/or WinRT..#. 49d0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 !IF$(FOR_WINRT)
49e0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29  !=0.TCC = $(TCC) 49f0: 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e -DSQLITE_OS_WIN 4a00: 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 RT=1.RCC =$(RCC
4a10: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49  ) -DSQLITE_OS_WI
4a20: 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54 43  NRT=1.TCC = $(TC 4a30: 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 C) -DWINAPI_FAMI 4a40: 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 LY=WINAPI_FAMILY 4a50: 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43 43 _APP.RCC =$(RCC
4a60: 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c  ) -DWINAPI_FAMIL
4a70: 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f  Y=WINAPI_FAMILY_
4a80: 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20  APP.!ENDIF..# C
4a90: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
4aa0: 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73   for the Windows
4ab0: 20 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65   10 platform (ne
4ac0: 65 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e 0a  eds MSVC 2015)..
4ad0: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  #.!IF $(FOR_WIN1 4ae0: 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 0)!=0.TCC =$(TC
4af0: 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f  C) /d2guard4 -D_
4b00: 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49  ARM_WINAPI_PARTI
4b10: 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b  TION_DESKTOP_SDK
4b20: 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d  _AVAILABLE.BCC =
4b30: 20 24 28 42 43 43 29 20 2f 64 32 67 75 61 72 64   $(BCC) /d2guard 4b40: 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 4 -D_ARM_WINAPI_ 4b50: 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f PARTITION_DESKTO 4b60: 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a P_SDK_AVAILABLE. 4b70: 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20 !ENDIF..# Also, 4b80: 77 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d we need to dynam 4b90: 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74 ically link to t 4ba0: 68 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43 20 he correct MSVC 4bb0: 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20 63 runtime.# when c 4bc0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e ompiling for Win 4bd0: 52 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20 6f RT (e.g. debug o 4be0: 72 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69 66 r release) OR if 4bf0: 20 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f 44 the.# USE_CRT_D 4c00: 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65 74 LL option is set 4c10: 20 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d 69 to force dynami 4c20: 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f cally linking to 4c30: 20 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e 74 the.# MSVC runt 4c40: 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 ime library..#.! 4c50: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 IF$(FOR_WINRT)!
4c60: 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f  =0 || $(USE_CRT_ 4c70: 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44 45 DLL)!=0.!IF$(DE
4c80: 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54  BUG)>1.TCC = $(T 4c90: 43 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24 CC) -MDd.BCC =$
4ca0: 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45  (BCC) -MDd.!ELSE
4cb0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d  .TCC = $(TCC) -M 4cc0: 44 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d D.BCC =$(BCC) -
4cd0: 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a  MD.!ENDIF.!ELSE.
4ce0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54  !IF $(DEBUG)>1.T 4cf0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 64 CC =$(TCC) -MTd
4d00: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d  .BCC = $(BCC) -M 4d10: 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 Td.!ELSE.TCC =$
4d20: 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20  (TCC) -MT.BCC =
4d30: 24 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49  $(BCC) -MT.!ENDI 4d40: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 F.!ENDIF..# <<ma 4d50: 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c rk>>.# The mksql 4d60: 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b ite3c.tcl and mk 4d70: 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72 sqlite3h.tcl scr 4d80: 69 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69 ipts will pull i 4d90: 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69 6f n.# any extensio 4da0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 62 n header files b 4db0: 79 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72 20 y default. For 4dc0: 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e non-amalgamation 4dd0: 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e 65 .# builds, we ne 4de0: 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 ed to make sure 4df0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e the compiler can 4e00: 20 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21 find these..#.! 4e10: 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d IF$(USE_AMALGAM
4e20: 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20  ATION)==0.TCC =
4e30: 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(TCC) -I$(TOP)\
4e40: 65 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20 24  ext\fts3.RCC = $4e50: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 (RCC) -I$(TOP)\e
4e60: 78 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24 28  xt\fts3.TCC = $( 4e70: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 TCC) -I$(TOP)\ex
4e80: 74 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24 28  t\rtree.RCC = $( 4e90: 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 RCC) -I$(TOP)\ex
4ea0: 74 5c 72 74 72 65 65 0a 54 43 43 20 3d 20 24 28  t\rtree.TCC = $( 4eb0: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 TCC) -I$(TOP)\ex
4ec0: 74 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20  t\session.RCC =
4ed0: 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(RCC) -I$(TOP)\
4ee0: 65 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44  ext\session.!END
4ef0: 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69  IF..# The mksqli
4f00: 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 20  te3c.tcl script
4f10: 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74  accepts some opt
4f20: 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d  ions on the comm
4f30: 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65  and.# line.  Whe
4f40: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68  n compiling with
4f50: 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 6c   debugging enabl
4f60: 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73  ed, some of thes
4f70: 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20  e.# options are
4f80: 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64  necessary in ord
4f90: 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75  er to allow debu
4fa0: 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f  gging symbols to
4fb0: 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c  .# work correctl
4fc0: 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74  y with Visual St
4fd0: 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 20  udio when using
4fe0: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  the amalgamation
4ff0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51  ..#.!IFNDEF MKSQ
5000: 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20  LITE3C_TOOL.!IF
5010: 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41  $(MINIMAL_AMALGA 5020: 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c MATION)!=0.MKSQL 5030: 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 ITE3C_TOOL =$(T
5040: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74  OP)\tool\mksqlit
5050: 65 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45  e3c-noext.tcl.!E
5060: 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54  LSE.MKSQLITE3C_T
5070: 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f  OOL = $(TOP)\too 5080: 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c l\mksqlite3c.tcl 5090: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a .!ENDIF.!ENDIF.. 50a0: 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 !IFNDEF MKSQLITE 50b0: 33 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44 45 3C_ARGS.!IF$(DE
50c0: 42 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33  BUG)>1.MKSQLITE3
50d0: 43 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d  C_ARGS = --linem
50e0: 61 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51  acros.!ELSE.MKSQ
50f0: 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21 45  LITE3C_ARGS =.!E
5100: 4e 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f 53  NDIF.!IF $(USE_S 5110: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 TDCALL)!=0 ||$(
5120: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b  FOR_WIN10)!=0.MK
5130: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20  SQLITE3C_ARGS =
5140: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  $(MKSQLITE3C_ARG 5150: 53 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a S) --useapicall. 5160: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 !ENDIF.!ENDIF..# 5170: 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e The mksqlite3h. 5180: 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 65 70 tcl script accep 5190: 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 ts some options 51a0: 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c on the command l 51b0: 69 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70 ine..# When comp 51c0: 69 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63 61 iling with stdca 51d0: 6c 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65 ll support, some 51e0: 20 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f 6e of these option 51f0: 73 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61 72 s are.# necessar 5200: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 y..#.!IFNDEF MKS 5210: 51 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49 46 QLITE3H_ARGS.!IF 5220: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21$(USE_STDCALL)!
5230: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1 5240: 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48 0)!=0.MKSQLITE3H 5250: 5f 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70 69 _ARGS = --useapi 5260: 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c call.!ELSE.MKSQL 5270: 49 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e ITE3H_ARGS =.!EN 5280: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f DIF.!ENDIF.# <</ 5290: 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65 mark>>..# Define 52a0: 20 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d -DNDEBUG to com 52b0: 70 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65 62 pile without deb 52c0: 75 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f ugging (i.e., fo 52d0: 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73 61 r production usa 52e0: 67 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74 ge).# Omitting t 52f0: 68 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20 63 he define will c 5300: 61 75 73 65 20 65 78 74 72 61 20 64 65 62 75 67 ause extra debug 5310: 67 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65 20 ging code to be 5320: 69 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20 69 inserted and.# i 5330: 6e 63 6c 75 64 65 73 20 65 78 74 72 61 20 63 6f ncludes extra co 5340: 6d 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58 50 mments when "EXP 5350: 4c 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75 73 LAIN stmt" is us 5360: 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 ed..#.!IF$(DEBU
5370: 47 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  G)==0.TCC = $(TC 5380: 43 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43 20 C) -DNDEBUG.BCC 5390: 3d 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42 55 =$(BCC) -DNDEBU
53a0: 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  G.RCC = $(RCC) - 53b0: 44 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a DNDEBUG.!ENDIF.. 53c0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 30 20 7c !IF$(DEBUG)>0 |
53d0: 7c 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d  | $(API_ARMOR)!= 53e0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 0 ||$(FOR_WIN10
53f0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC 5400: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ) -DSQLITE_ENABL 5410: 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43 E_API_ARMOR=1.RC 5420: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c C =$(RCC) -DSQL
5430: 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41  ITE_ENABLE_API_A
5440: 52 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21  RMOR=1.!ENDIF..!
5450: 49 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54 43  IF $(DEBUG)>2.TC 5460: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c C =$(TCC) -DSQL
5470: 49 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43 20  ITE_DEBUG=1.RCC
5480: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT 5490: 45 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24 28 E_DEBUG=1.!IF$(
54a0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d  DYNAMIC_SHELL)==
54b0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) - 54c0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 DSQLITE_ENABLE_W 54d0: 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c 49 HERETRACE -DSQLI 54e0: 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 TE_ENABLE_SELECT 54f0: 54 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52 43 TRACE.RCC =$(RC
5500: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
5510: 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d 44  LE_WHERETRACE -D
5520: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45  SQLITE_ENABLE_SE
5530: 4c 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49 46  LECTTRACE.!ENDIF
5540: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D 5550: 45 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 EBUG)>4 ||$(OST
5560: 52 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 24  RACE)!=0.TCC = $5570: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 (TCC) -DSQLITE_F 5580: 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 ORCE_OS_TRACE=1 5590: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f -DSQLITE_DEBUG_O 55a0: 53 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 S_TRACE=1.RCC = 55b0: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(RCC) -DSQLITE_
55c0: 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31  FORCE_OS_TRACE=1
55d0: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f   -DSQLITE_DEBUG_
55e0: 4f 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49  OS_TRACE=1.!ENDI
55f0: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  F..!IF $(DEBUG)> 5600: 35 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 5.TCC =$(TCC) -
5610: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49  DSQLITE_ENABLE_I
5620: 4f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24  OTRACE=1.RCC = $5630: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 (RCC) -DSQLITE_E 5640: 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a NABLE_IOTRACE=1. 5650: 21 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65 6e !ENDIF..# Preven 5660: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 t warnings about 5670: 20 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56 43 "insecure" MSVC 5680: 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 runtime library 5690: 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 functions.# bei 56a0: 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d ng used..#.TCC = 56b0: 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f 53$(TCC) -D_CRT_S
56c0: 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41  ECURE_NO_DEPRECA
56d0: 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45  TE -D_CRT_SECURE
56e0: 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43  _NO_WARNINGS.BCC
56f0: 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54   = $(BCC) -D_CRT 5700: 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 _SECURE_NO_DEPRE 5710: 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 CATE -D_CRT_SECU 5720: 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 RE_NO_WARNINGS.R 5730: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 CC =$(RCC) -D_C
5740: 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50  RT_SECURE_NO_DEP
5750: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45  RECATE -D_CRT_SE
5760: 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53  CURE_NO_WARNINGS
5770: 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e  ..# Prevent warn
5780: 69 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70 72  ings about "depr
5790: 65 63 61 74 65 64 22 20 50 4f 53 49 58 20 66 75  ecated" POSIX fu
57a0: 6e 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 73  nctions being us
57b0: 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  ed..#.TCC = $(TC 57c0: 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 C) -D_CRT_NONSTD 57d0: 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d C_NO_DEPRECATE - 57e0: 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f D_CRT_NONSTDC_NO 57f0: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 _WARNINGS.BCC = 5800: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f$(BCC) -D_CRT_NO
5810: 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41  NSTDC_NO_DEPRECA
5820: 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44  TE -D_CRT_NONSTD
5830: 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43  C_NO_WARNINGS.RC
5840: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52  C = $(RCC) -D_CR 5850: 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 T_NONSTDC_NO_DEP 5860: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f RECATE -D_CRT_NO 5870: 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 NSTDC_NO_WARNING 5880: 53 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51 4c S..# Use the SQL 5890: 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68 65 ite debugging he 58a0: 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a ap subsystem?.#. 58b0: 21 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29 21 !IF$(MEMDEBUG)!
58c0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 58d0: 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 -DSQLITE_MEMDEBU 58e0: 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 G=1.RCC =$(RCC)
58f0: 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42   -DSQLITE_MEMDEB
5900: 55 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 69  UG=1..# Use nati
5910: 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 75  ve Win32 heap su
5920: 62 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64 20  bsystem instead
5930: 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a  of malloc/free?.
5940: 23 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e 33  #.!ELSEIF $(WIN3 5950: 32 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 2HEAP)!=0.TCC = 5960: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(TCC) -DSQLITE_
5970: 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52  WIN32_MALLOC=1.R
5980: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ 5990: 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f LITE_WIN32_MALLO 59a0: 43 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 C=1..# Validate 59b0: 74 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65 72 the heap on ever 59c0: 79 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 y call into the 59d0: 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68 65 61 native Win32 hea 59e0: 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 p subsystem?.#.! 59f0: 49 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54 43 IF$(DEBUG)>3.TC
5a00: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL 5a10: 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 ITE_WIN32_MALLOC 5a20: 5f 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 _VALIDATE=1.RCC 5a30: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 =$(RCC) -DSQLIT
5a40: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56  E_WIN32_MALLOC_V
5a50: 41 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 46  ALIDATE=1.!ENDIF
5a60: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
5a70: 6b 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 69  k>>.# The locati
5a80: 6f 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20 68  ons of the Tcl h
5a90: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72  eader and librar
5aa0: 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20  y files.  Also,
5ab0: 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74  the library that
5ac0: 0a 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61  .# non-stubs ena
5ad0: 62 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75 73  bled programs us
5ae0: 69 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e  ing Tcl must lin
5af0: 6b 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65 73  k against.  Thes
5b00: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 54  e variables.# (T
5b10: 43 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42  CLINCDIR, TCLLIB
5b20: 44 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29  DIR, and LIBTCL)
5b30: 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64   may be overridd
5b40: 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72  en via the envir
5b50: 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74  onment.# prior t
5b60: 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20  o running nmake
5b70: 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63  in order to matc
5b80: 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73  h the actual ins
5b90: 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20  talled location
5ba0: 61 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e  and.# version on
5bb0: 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23   this machine..#
5bc0: 0a 21 49 46 4e 44 45 46 20 54 43 4c 44 49 52 0a  .!IFNDEF TCLDIR.
5bd0: 54 43 4c 44 49 52 20 3d 20 24 28 54 4f 50 29 5c  TCLDIR = $(TOP)\ 5be0: 63 6f 6d 70 61 74 5c 74 63 6c 0a 21 45 4e 44 49 compat\tcl.!ENDI 5bf0: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 49 4e F..!IFNDEF TCLIN 5c00: 43 44 49 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d CDIR.TCLINCDIR = 5c10: 20 24 28 54 43 4c 44 49 52 29 5c 69 6e 63 6c 75$(TCLDIR)\inclu
5c20: 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  de.!ENDIF..!IFND
5c30: 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 43 4c  EF TCLLIBDIR.TCL
5c40: 4c 49 42 44 49 52 20 3d 20 24 28 54 43 4c 44 49  LIBDIR = $(TCLDI 5c50: 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 R)\lib.!ENDIF..! 5c60: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49 IFNDEF LIBTCL.LI 5c70: 42 54 43 4c 20 3d 20 74 63 6c 38 36 2e 6c 69 62 BTCL = tcl86.lib 5c80: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 .!ENDIF..!IFNDEF 5c90: 20 4c 49 42 54 43 4c 53 54 55 42 0a 4c 49 42 54 LIBTCLSTUB.LIBT 5ca0: 43 4c 53 54 55 42 20 3d 20 74 63 6c 73 74 75 62 CLSTUB = tclstub 5cb0: 38 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 86.lib.!ENDIF..! 5cc0: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54 IFNDEF LIBTCLPAT 5cd0: 48 0a 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 24 H.LIBTCLPATH =$
5ce0: 28 54 43 4c 44 49 52 29 5c 62 69 6e 0a 21 45 4e  (TCLDIR)\bin.!EN
5cf0: 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 61 74  DIF..# The locat
5d00: 69 6f 6e 73 20 6f 66 20 74 68 65 20 7a 6c 69 62  ions of the zlib
5d10: 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72   header and libr
5d20: 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 73  ary files.  Thes
5d30: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 5a  e variables.# (Z
5d40: 4c 49 42 49 4e 43 44 49 52 2c 20 5a 4c 49 42 4c  LIBINCDIR, ZLIBL
5d50: 49 42 44 49 52 2c 20 61 6e 64 20 5a 4c 49 42 4c  IBDIR, and ZLIBL
5d60: 49 42 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72  IB) may be overr
5d70: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e  idden via the en
5d80: 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f  vironment.# prio
5d90: 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61  r to running nma
5da0: 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d  ke in order to m
5db0: 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20  atch the actual
5dc0: 69 6e 73 74 61 6c 6c 65 64 20 28 6f 72 20 73 6f  installed (or so
5dd0: 75 72 63 65 0a 23 20 63 6f 64 65 29 20 6c 6f 63  urce.# code) loc
5de0: 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61  ation on this ma
5df0: 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46  chine..#.!IFNDEF
5e00: 20 5a 4c 49 42 44 49 52 0a 5a 4c 49 42 44 49 52   ZLIBDIR.ZLIBDIR
5e10: 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61 74   = $(TOP)\compat 5e20: 5c 7a 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 \zlib.!ENDIF..!I 5e30: 46 4e 44 45 46 20 5a 4c 49 42 49 4e 43 44 49 52 FNDEF ZLIBINCDIR 5e40: 0a 5a 4c 49 42 49 4e 43 44 49 52 20 3d 20 24 28 .ZLIBINCDIR =$(
5e50: 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44 49 46 0a  ZLIBDIR).!ENDIF.
5e60: 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 4c 49 42  .!IFNDEF ZLIBLIB
5e70: 44 49 52 0a 5a 4c 49 42 4c 49 42 44 49 52 20 3d  DIR.ZLIBLIBDIR =
5e80: 20 24 28 5a 4c 49 42 44 49 52 29 0a 21 45 4e 44   $(ZLIBDIR).!END 5e90: 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 IF..!IFNDEF ZLIB 5ea0: 4c 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 LIB.!IF$(DYNAMI
5eb0: 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 5a 4c 49 42  C_SHELL)!=0.ZLIB
5ec0: 4c 49 42 20 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21  LIB = zdll.lib.!
5ed0: 45 4c 53 45 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a  ELSE.ZLIBLIB = z
5ee0: 6c 69 62 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21  lib.lib.!ENDIF.!
5ef0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63  ENDIF..# The loc
5f00: 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43  ations of the IC
5f10: 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62  U header and lib
5f20: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65  rary files.  The
5f30: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28  se variables.# (
5f40: 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49  ICUINCDIR, ICULI
5f50: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55  BDIR, and LIBICU
5f60: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
5f70: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
5f80: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior
5f90: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
5fa0: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
5fb0: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
5fc0: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e  stalled location
5fd0: 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69   on.# this machi
5fe0: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43  ne..#.!IFNDEF IC
5ff0: 55 44 49 52 0a 49 43 55 44 49 52 20 3d 20 24 28  UDIR.ICUDIR = $( 6000: 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 69 63 75 0a TOP)\compat\icu. 6010: 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 !ENDIF..!IFNDEF 6020: 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 ICUINCDIR.ICUINC 6030: 44 49 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c DIR =$(ICUDIR)\
6040: 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a  include.!ENDIF..
6050: 21 49 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49  !IFNDEF ICULIBDI
6060: 52 0a 49 43 55 4c 49 42 44 49 52 20 3d 20 24 28  R.ICULIBDIR = $( 6070: 49 43 55 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 ICUDIR)\lib.!END 6080: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 49 IF..!IFNDEF LIBI 6090: 43 55 0a 4c 49 42 49 43 55 20 3d 20 69 63 75 75 CU.LIBICU = icuu 60a0: 63 2e 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62 0a c.lib icuin.lib. 60b0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 !ENDIF..# This i 60c0: 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f s the command to 60d0: 20 75 73 65 20 66 6f 72 20 74 63 6c 73 68 20 2d use for tclsh - 60e0: 20 6e 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22 normally just " 60f0: 74 63 6c 73 68 22 2c 20 62 75 74 20 77 65 20 6d tclsh", but we m 6100: 61 79 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73 70 ay.# know the sp 6110: 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20 77 ecific version w 6120: 65 20 77 61 6e 74 20 74 6f 20 75 73 65 2e 20 20 e want to use. 6130: 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 28 54 This variable (T 6140: 43 4c 53 48 5f 43 4d 44 29 20 6d 61 79 20 62 65 CLSH_CMD) may be 6150: 0a 23 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 .# overridden vi 6160: 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e a the environmen 6170: 74 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 t prior to runni 6180: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 ng nmake in orde 6190: 72 20 74 6f 20 73 65 6c 65 63 74 20 61 0a 23 20 r to select a.# 61a0: 73 70 65 63 69 66 69 63 20 54 63 6c 20 73 68 65 specific Tcl she 61b0: 6c 6c 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49 46 ll to use..#.!IF 61c0: 4e 44 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a 21 NDEF TCLSH_CMD.! 61d0: 49 46 20 24 28 55 53 45 5f 54 43 4c 53 48 5f 49 IF$(USE_TCLSH_I
61e0: 4e 5f 50 41 54 48 29 21 3d 30 20 7c 7c 20 21 45  N_PATH)!=0 || !E
61f0: 58 49 53 54 28 22 24 28 54 43 4c 44 49 52 29 5c  XIST("$(TCLDIR)\ 6200: 62 69 6e 5c 74 63 6c 73 68 2e 65 78 65 22 29 0a bin\tclsh.exe"). 6210: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73 TCLSH_CMD = tcls 6220: 68 0a 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43 4d h.!ELSE.TCLSH_CM 6230: 44 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62 69 D =$(TCLDIR)\bi
6240: 6e 5c 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e 44  n\tclsh.exe.!END
6250: 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d  IF.!ENDIF.# <</m
6260: 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c 65  ark>>..# Compile
6270: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64  r options needed
6280: 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 68   for programs th
6290: 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64 6c  at use the readl
62a0: 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a 23  ine() library..#
62b0: 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49 4e  .!IFNDEF READLIN
62c0: 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e 45  E_FLAGS.READLINE
62d0: 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45 5f  _FLAGS = -DHAVE_
62e0: 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 49  READLINE=0.!ENDI
62f0: 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79  F..# The library
6300: 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75   that programs u
6310: 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20  sing readline()
6320: 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73  must link agains
6330: 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49 42  t..#.!IFNDEF LIB
6340: 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41 44  READLINE.LIBREAD
6350: 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a 23  LINE =.!ENDIF..#
6360: 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74 61   Should the data
6370: 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20 63  base engine be c
6380: 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73 61  ompiled threadsa
6390: 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  fe.#.TCC = $(TCC 63a0: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 ) -DSQLITE_THREA 63b0: 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24 28 DSAFE=1.RCC =$(
63c0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  RCC) -DSQLITE_TH
63d0: 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44 6f  READSAFE=1..# Do
63e0: 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69 64   threads overrid
63f0: 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c 6f  e each others lo
6400: 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20 28  cks by default (
6410: 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65 73  1), or do we tes
6420: 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20 24  t (-1).#.TCC = $6430: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 (TCC) -DSQLITE_T 6440: 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c HREAD_OVERRIDE_L 6450: 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28 52 OCK=-1.RCC =$(R
6460: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  CC) -DSQLITE_THR
6470: 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43  EAD_OVERRIDE_LOC
6480: 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72 67  K=-1..# Any targ
6490: 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68 69  et libraries whi
64a0: 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75 73  ch libsqlite mus
64b0: 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61 69  t be linked agai
64c0: 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54 4c  nst.#.!IFNDEF TL
64d0: 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e 44  IBS.TLIBS =.!END
64e0: 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e 74  IF..# Flags cont
64f0: 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20 74  rolling use of t
6500: 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74 72  he in memory btr
6510: 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ee implementatio
6520: 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45 4d  n.#.# SQLITE_TEM
6530: 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f 20  P_STORE is 0 to
6540: 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 20  force temporary
6550: 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e 20  tables to be in
6560: 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20 64  a file, 1 to.# d
6570: 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c 20  efault to file,
6580: 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f 20  2 to default to
6590: 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74 6f  memory, and 3 to
65a0: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79   force temporary
65b0: 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c 77  .# tables to alw
65c0: 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72 79  ays be in memory
65d0: 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ..#.TCC = $(TCC) 65e0: 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 -DSQLITE_TEMP_S 65f0: 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 TORE=1.RCC =$(R
6600: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d  CC) -DSQLITE_TEM
6610: 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e 61  P_STORE=1..# Ena
6620: 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64  ble/disable load
6630: 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c  able extensions,
6640: 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f   and other optio
6650: 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20 62  nal features.# b
6660: 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72  ased on configur
6670: 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45  ation. (-DSQLITE
6680: 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45  _OMIT*, -DSQLITE
6690: 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68 65  _ENABLE*)..# The
66a0: 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d 49   same set of OMI
66b0: 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c 61  T and ENABLE fla
66c0: 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61 73  gs should be pas
66d0: 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45 4d  sed to the.# LEM
66e0: 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72 61  ON parser genera
66f0: 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b 65  tor and the mkke
6700: 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20 61  ywordhash tool a
6710: 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 65  s well...# These
6720: 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72 65   are the require
6730: 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61  d SQLite compila
6740: 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65  tion options use
6750: 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  d when compiling
6760: 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f   for.# the Windo
6770: 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52  ws platform..#.R
6780: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  EQ_FEATURE_FLAGS
6790: 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52 45   = $(REQ_FEATURE 67a0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE 67b0: 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45 50 _MAX_TRIGGER_DEP 67c0: 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65 20 TH=100..# If we 67d0: 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 are linking to t 67e0: 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 he RPCRT4 librar 67f0: 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75 72 y, enable featur 6800: 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74 2e es that need it. 6810: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43 .#.!IF$(USE_RPC
6820: 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51 5f  RT4_LIB)!=0.REQ_
6830: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS =
6840: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL 6850: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 AGS) -DSQLITE_WI 6860: 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a 21 N32_USE_UUID=1.! 6870: 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68 65 ENDIF..# Add the 6880: 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f 70 required and op 6890: 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63 6f tional SQLite co 68a0: 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e mpilation option 68b0: 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d 61 s into the comma 68c0: 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64 20 nd.# lines used 68d0: 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d 53 to invoke the MS 68e0: 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73 6f VC code and reso 68f0: 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e 0a urce compilers.. 6900: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 #.TCC =$(TCC) $6910: 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 (REQ_FEATURE_FLA 6920: 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 GS)$(OPT_FEATUR
6930: 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46  E_FLAGS) $(EXT_F 6940: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52 43 EATURE_FLAGS).RC 6950: 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45 51 C =$(RCC) $(REQ 6960: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) 6970: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c$(OPT_FEATURE_FL
6980: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU 6990: 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64 64 RE_FLAGS)..# Add 69a0: 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61 6c in any optional 69b0: 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65 63 parameters spec 69c0: 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f 6d ified on the com 69d0: 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e 0a mane line, e.g.. 69e0: 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 # nmake /f Makef 69f0: 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 54 ile.msc all "OPT 6a00: 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c S=-DSQLITE_ENABL 6a10: 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 45 E_FOO=1 -DSQLITE 6a20: 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a 54 _OMIT_FOO=1".#.T 6a30: 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f 50 CC =$(TCC) $(OP 6a40: 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29 TS).RCC =$(RCC)
6a50: 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20 63   $(OPTS)..# If c 6a60: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 ompiling for deb 6a70: 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d 65 ugging, add some 6a80: 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46 20 defines..#.!IF 6a90: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d$(DEBUG)>1.TCC =
6aa0: 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55 47   $(TCC) -D_DEBUG 6ab0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 .BCC =$(BCC) -D
6ac0: 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52  _DEBUG.RCC = $(R 6ad0: 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45 4e CC) -D_DEBUG.!EN 6ae0: 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d 69 DIF..# If optimi 6af0: 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 62 zations are enab 6b00: 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64 20 led or disabled 6b10: 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69 74 (either implicit 6b20: 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69 74 ly or.# explicit 6b30: 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65 63 ly), add the nec 6b40: 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23 0a essary flags..#. 6b50: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c !IF$(DEBUG)>1 |
6b60: 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e  | $(OPTIMIZATION 6b70: 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 S)==0.TCC =$(TC
6b80: 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28 42  C) -Od.BCC = $(B 6b90: 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55 53 CC) -Od.!IF$(US
6ba0: 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53  E_RUNTIME_CHECKS
6bb0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC 6bc0: 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24 28 ) -RTC1.BCC =$(
6bd0: 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44 49  BCC) -RTC1.!ENDI
6be0: 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49  F.!ELSEIF $(OPTI 6bf0: 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43 MIZATIONS)>=3.TC 6c00: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42 C =$(TCC) -Ox.B
6c10: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a  CC = $(BCC) -Ox. 6c20: 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 !ELSEIF$(OPTIMI
6c30: 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20  ZATIONS)==2.TCC
6c40: 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43  = $(TCC) -O2.BCC 6c50: 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45 =$(BCC) -O2.!E
6c60: 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41  LSEIF $(OPTIMIZA 6c70: 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20 TIONS)==1.TCC = 6c80: 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d$(TCC) -O1.BCC =
6c90: 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44   $(BCC) -O1.!END 6ca0: 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73 IF..# If symbols 6cb0: 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72 are enabled (or 6cc0: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 compiling for d 6cd0: 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c ebugging), enabl 6ce0: 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 e PDBs..#.!IF$(
6cf0: 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59  DEBUG)>1 || $(SY 6d00: 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20 MBOLS)!=0.TCC = 6d10: 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d$(TCC) -Zi.BCC =
6d20: 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44   $(BCC) -Zi.!END 6d30: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 IF..# <<mark>>.# 6d40: 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72 74 If zlib support 6d50: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 is enabled, add 6d60: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 the compiler op 6d70: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a tions for it..#. 6d80: 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29 21 !IF$(USE_ZLIB)!
6d90: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 6da0: 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a 4c -DSQLITE_HAVE_ZL 6db0: 49 42 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 IB=1.RCC =$(RCC
6dc0: 29 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f  ) -DSQLITE_HAVE_
6dd0: 5a 4c 49 42 3d 31 0a 54 43 43 20 3d 20 24 28 54  ZLIB=1.TCC = $(T 6de0: 43 43 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 CC) -I$(ZLIBINCD
6df0: 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29  IR).RCC = $(RCC) 6e00: 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 -I$(ZLIBINCDIR)
6e10: 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43  .!ENDIF..# If IC
6e20: 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61  U support is ena
6e30: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f  bled, add the co
6e40: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66  mpiler options f
6e50: 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55  or it..#.!IF $(U 6e60: 53 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d SE_ICU)!=0.TCC = 6e70: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45$(TCC) -DSQLITE
6e80: 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43  _ENABLE_ICU=1.RC
6e90: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL 6ea0: 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 ITE_ENABLE_ICU=1 6eb0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 .TCC =$(TCC) -I
6ec0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52  $(TOP)\ext\icu.R 6ed0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 CC =$(RCC) -I$( 6ee0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43 TOP)\ext\icu.TCC 6ef0: 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49 43 =$(TCC) -I$(IC 6f00: 55 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24 UINCDIR).RCC =$
6f10: 28 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43  (RCC) -I$(ICUINC 6f20: 44 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c DIR).!ENDIF.# << 6f30: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 /mark>>..# Comma 6f40: 6e 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73 nd line prefixes 6f50: 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63 for compiling c 6f60: 6f 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72 ode, compiling r 6f70: 65 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b esources,.# link 6f80: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f ing, etc..#.LTCO 6f90: 4d 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d MPILE =$(TCC) -
6fa0: 46 6f 24 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 20  Fo$@.LTRCOMPILE 6fb0: 3d 20 24 28 52 43 43 29 20 2d 72 0a 4c 54 4c 49 =$(RCC) -r.LTLI
6fc0: 42 20 3d 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49  B = lib.exe.LTLI
6fd0: 4e 4b 20 3d 20 24 28 54 43 43 29 20 2d 46 65 24  NK = $(TCC) -Fe$
6fe0: 40 0a 0a 23 20 49 66 20 72 65 71 75 65 73 74 65  @..# If requeste
6ff0: 64 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 52  d, link to the R
7000: 50 43 52 54 34 20 6c 69 62 72 61 72 79 2e 0a 23  PCRT4 library..#
7010: 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 54  .!IF $(USE_RPCRT 7020: 34 5f 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 42 53 4_LIB)!=0.LTLIBS 7030: 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 72 70 63 =$(LTLIBS) rpc
7040: 72 74 34 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  rt4.lib.!ENDIF..
7050: 23 20 49 66 20 61 20 70 6c 61 74 66 6f 72 6d 20  # If a platform
7060: 77 61 73 20 73 65 74 2c 20 66 6f 72 63 65 20 74  was set, force t
7070: 68 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74 61 72  he linker to tar
7080: 67 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f 74 65  get that..# Note
7090: 20 74 68 61 74 20 74 68 65 20 76 63 76 61 72 73   that the vcvars
70a0: 2a 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f 66 20  *.bat family of
70b0: 62 61 74 63 68 20 66 69 6c 65 73 20 74 79 70 69  batch files typi
70c0: 63 61 6c 6c 79 0a 23 20 73 65 74 20 74 68 69 73  cally.# set this
70d0: 20 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68 65 72   for you.  Other
70e0: 77 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b 65 72  wise, the linker
70f0: 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a 23 20   will attempt.#
7100: 74 6f 20 64 65 64 75 63 65 20 74 68 65 20 62 69  to deduce the bi
7110: 6e 61 72 79 20 74 79 70 65 20 62 61 73 65 64 20  nary type based
7120: 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 66 69  on the object fi
7130: 6c 65 73 2e 0a 21 49 46 44 45 46 20 50 4c 41 54  les..!IFDEF PLAT
7140: 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  FORM.LTLINKOPTS
7150: 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49  = /NOLOGO /MACHI
7160: 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 4c  NE:$(PLATFORM).L 7170: 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f TLIBOPTS = /NOLO 7180: 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c GO /MACHINE:$(PL
7190: 41 54 46 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c 54  ATFORM).!ELSE.LT
71a0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f  LINKOPTS = /NOLO
71b0: 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f  GO.LTLIBOPTS = /
71c0: 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23  NOLOGO.!ENDIF..#
71d0: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   When compiling
71e0: 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 57  for use in the W
71f0: 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  inRT environment
7200: 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a  , the following.
7210: 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20  # linker option
7220: 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20  must be used to
7230: 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 74 61  mark the executa
7240: 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a  ble as runnable.
7250: 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f  # only in the co
7260: 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70 6c  ntext of an appl
7270: 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65  ication containe
7280: 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57  r..#.!IF $(FOR_W 7290: 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f INRT)!=0.LTLINKO 72a0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 PTS =$(LTLINKOP
72b0: 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45  TS) /APPCONTAINE
72c0: 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c 53  R.!IF "$(VISUALS 72d0: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d TUDIOVERSION)"== 72e0: 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49 53 "12.0" || "$(VIS
72f0: 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e  UALSTUDIOVERSION
7300: 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44  )"=="14.0".!IFND
7310: 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48 0a  EF STORELIBPATH.
7320: 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  !IF "$(PLATFORM) 7330: 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c 49 "=="x86".STORELI 7340: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 BPATH =$(CRTLIB
7350: 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53  PATH)\store.!ELS
7360: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM) 7370: 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c 49 "=="x64".STORELI 7380: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 BPATH =$(CRTLIB
7390: 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36  PATH)\store\amd6
73a0: 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41  4.!ELSEIF "$(PLA 73b0: 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 TFORM)"=="ARM".S 73c0: 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 TORELIBPATH =$(
73d0: 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72  CRTLIBPATH)\stor
73e0: 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52  e\arm.!ELSE.STOR
73f0: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54  ELIBPATH = $(CRT 7400: 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 LIBPATH)\store.! 7410: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f ENDIF.!ENDIF.STO 7420: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53 54 RELIBPATH =$(ST
7430: 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29  ORELIBPATH:\\=\)
7440: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $( 7450: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 LTLINKOPTS) "/LI 7460: 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49 42 BPATH:$(STORELIB
7470: 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45  PATH)".!ENDIF.!E
7480: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7490: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
74a0: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e  ws Phone 8.1, an
74b0: 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 20 70   extra library p
74c0: 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 72 65  ath is.# require
74d0: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57  d..#.!IF $(USE_W 74e0: 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 P81_OPTS)!=0.!IF 74f0: 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48 NDEF WP81LIBPATH 7500: 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d .!IF "$(PLATFORM
7510: 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c 49  )"=="x86".WP81LI
7520: 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41  BPATH = $(PROGRA 7530: 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 MFILES_X86)\Wind 7540: 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 ows Phone Kits\8 7550: 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45 .1\lib\x86.!ELSE 7560: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 IF "$(PLATFORM)"
7570: 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42 50  =="ARM".WP81LIBP
7580: 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46  ATH = $(PROGRAMF 7590: 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 ILES_X86)\Window 75a0: 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 s Phone Kits\8.1 75b0: 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 \lib\ARM.!ELSE.W 75c0: 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 P81LIBPATH =$(P
75d0: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29  ROGRAMFILES_X86)
75e0: 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b  \Windows Phone K
75f0: 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a  its\8.1\lib\x86.
7600: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45  !ENDIF.!ENDIF.!E
7610: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d  NDIF..# When com
7620: 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f  piling for Windo
7630: 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f  ws Phone 8.1, so
7640: 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 20  me extra linker
7650: 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c  options.# are al
7660: 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21  so required..#.!
7670: 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50  IF $(USE_WP81_OP 7680: 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57 50 TS)!=0.!IFDEF WP 7690: 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 81LIBPATH.LTLINK 76a0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f OPTS =$(LTLINKO
76b0: 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24  PTS) "/LIBPATH:$76c0: 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a 21 (WP81LIBPATH)".! 76d0: 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 ENDIF.LTLINKOPTS 76e0: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 =$(LTLINKOPTS)
76f0: 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54   /DYNAMICBASE.LT
7700: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL 7710: 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77 73 INKOPTS) Windows 7720: 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75 PhoneCore.lib Ru 7730: 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20 ntimeObject.lib 7740: 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73 PhoneAppModelHos 7750: 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 t.lib.LTLINKOPTS 7760: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 =$(LTLINKOPTS)
7770: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b   /NODEFAULTLIB:k
7780: 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44  ernel32.lib /NOD
7790: 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e  EFAULTLIB:ole32.
77a0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68  lib.!ENDIF..# Wh
77b0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
77c0: 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e 64   UWP or the Wind
77d0: 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c  ows 10 platform,
77e0: 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b   some extra link
77f0: 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65  er.# options are
7800: 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a   also required..
7810: 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50 29  #.!IF $(FOR_UWP) 7820: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e !=0 ||$(FOR_WIN
7830: 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54  10)!=0.LTLINKOPT
7840: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS 7850: 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20 2f ) /DYNAMICBASE / 7860: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 NODEFAULTLIB:ker 7870: 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b nel32.lib.LTLINK 7880: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f OPTS =$(LTLINKO
7890: 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62  PTS) mincore.lib
78a0: 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42 50  .!IFDEF PSDKLIBP
78b0: 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  ATH.LTLINKOPTS =
78c0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22   $(LTLINKOPTS) " 78d0: 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b 4c /LIBPATH:$(PSDKL
78e0: 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a  IBPATH)".!ENDIF.
78f0: 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46 4f  !ENDIF..!IF $(FO 7900: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 R_WIN10)!=0.LTLI 7910: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e NKOPTS =$(LTLIN
7920: 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63 66  KOPTS) /guard:cf
7930: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43 52   "/LIBPATH:$(UCR 7940: 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20 24 TLIBPATH)".!IF$
7950: 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b  (DEBUG)>1.LTLINK
7960: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO 7970: 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c PTS) /NODEFAULTL 7980: 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62 20 IB:libucrtd.lib 7990: 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 /DEFAULTLIB:ucrt 79a0: 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 d.lib.!ELSE.LTLI 79b0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e NKOPTS =$(LTLIN
79c0: 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c  KOPTS) /NODEFAUL
79d0: 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62  TLIB:libucrt.lib
79e0: 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72   /DEFAULTLIB:ucr
79f0: 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e  t.lib.!ENDIF.!EN
7a00: 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65 72  DIF..# If either
7a10: 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73 79   debugging or sy
7a20: 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c 65  mbols are enable
7a30: 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a  d, enable PDBs..
7a40: 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  #.!IF $(DEBUG)>1 7a50: 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d ||$(SYMBOLS)!=
7a60: 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45 42  0.LDFLAGS = /DEB
7a70: 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c  UG $(LDOPTS).!EL 7a80: 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c SE.LDFLAGS =$(L
7a90: 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23  DOPTS).!ENDIF..#
7aa0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72   <<mark>>.# Star
7ab0: 74 20 77 69 74 68 20 74 68 65 20 54 63 6c 20 72  t with the Tcl r
7ac0: 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70  elated linker op
7ad0: 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e  tions..#.!IF $(N 7ae0: 4f 5f 54 43 4c 29 3d 3d 30 0a 54 43 4c 4c 49 42 O_TCL)==0.TCLLIB 7af0: 50 41 54 48 53 20 3d 20 24 28 54 43 4c 4c 49 42 PATHS =$(TCLLIB
7b00: 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48 3a  PATHS) /LIBPATH:
7b10: 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 54 43 4c  $(TCLLIBDIR).TCL 7b20: 4c 49 42 53 20 3d 20 24 28 54 43 4c 4c 49 42 53 LIBS =$(TCLLIBS
7b30: 29 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44  ) $(LIBTCL).!END 7b40: 49 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 IF..# If zlib su 7b50: 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 pport is enabled 7b60: 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 , add the linker 7b70: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e options for it. 7b80: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 .#.!IF$(USE_ZLI
7b90: 42 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53  B)!=0.LTLIBPATHS
7ba0: 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29   = $(LTLIBPATHS) 7bb0: 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 /LIBPATH:$(ZLIB
7bc0: 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d  LIBDIR).LTLIBS =
7bd0: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49   $(LTLIBS)$(ZLI
7be0: 42 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20  BLIB).!ENDIF..#
7bf0: 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69  If ICU support i
7c00: 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74  s enabled, add t
7c10: 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e  he linker option
7c20: 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20  s for it..#.!IF
7c30: 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54  $(USE_ICU)!=0.LT 7c40: 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c LIBPATHS =$(LTL
7c50: 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54  IBPATHS) /LIBPAT
7c60: 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c  H:$(ICULIBDIR).L 7c70: 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 TLIBS =$(LTLIBS
7c80: 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44  ) $(LIBICU).!END 7c90: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a IF.# <</mark>>.. 7ca0: 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 # You should not 7cb0: 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 have to change 7cc0: 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 anything below t 7cd0: 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 his line.####### 7ce0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7cf0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7d00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7d10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7d20: 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 ########..# <<ma 7d30: 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 rk>>.# Object fi 7d40: 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69 les for the SQLi 7d50: 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d te library (non- 7d60: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 amalgamation)..# 7d70: 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 .LIBOBJS0 = vdbe 7d80: 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 .lo parse.lo alt 7d90: 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f er.lo analyze.lo 7da0: 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e attach.lo auth. 7db0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61 lo \. ba 7dc0: 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c ckup.lo bitvec.l 7dd0: 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 o btmutex.lo btr 7de0: 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c ee.lo build.lo \ 7df0: 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 . callba 7e00: 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c ck.lo complete.l 7e10: 6f 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20 o ctime.lo \. 7e20: 20 20 20 20 20 20 64 61 74 65 2e 6c 6f 20 64 62 date.lo db 7e30: 70 61 67 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c page.lo dbstat.l 7e40: 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 o delete.lo \. 7e50: 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20 66 expr.lo f 7e60: 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 ault.lo fkey.lo 7e70: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 2e \. fts3. 7e80: 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66 lo fts3_aux.lo f 7e90: 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33 ts3_expr.lo fts3 7ea0: 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63 _hash.lo fts3_ic 7eb0: 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 u.lo \. 7ec0: 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 fts3_porter.lo f 7ed0: 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66 ts3_snippet.lo f 7ee0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f ts3_tokenizer.lo 7ef0: 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 fts3_tokenizer1 7f00: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 .lo \. f 7f10: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 ts3_tokenize_vta 7f20: 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 b.lo fts3_unicod 7f30: 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 e.lo fts3_unicod 7f40: 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74 65 e2.lo fts3_write 7f50: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 .lo \. f 7f60: 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 ts5.lo \. 7f70: 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c func.lo global 7f80: 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 .lo hash.lo \. 7f90: 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e icu.lo in 7fa0: 73 65 72 74 2e 6c 6f 20 6a 73 6f 6e 31 2e 6c 6f sert.lo json1.lo 7fb0: 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64 65 legacy.lo loade 7fc0: 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 xt.lo \. 7fd0: 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63 2e main.lo malloc. 7fe0: 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31 2e lo mem0.lo mem1. 7ff0: 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33 2e lo mem2.lo mem3. 8000: 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20 20 lo mem5.lo \. 8010: 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f 20 6d memdb.lo m 8020: 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a 20 emjournal.lo \. 8030: 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c 6f mutex.lo 8040: 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d mutex_noop.lo m 8050: 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 74 utex_unix.lo mut 8060: 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 20 ex_w32.lo \. 8070: 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 6f notify.lo o 8080: 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f 20 pcodes.lo os.lo 8090: 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69 os_unix.lo os_wi 80a0: 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 n.lo \. 80b0: 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65 2e pager.lo pcache. 80c0: 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70 72 lo pcache1.lo pr 80d0: 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65 2e agma.lo prepare. 80e0: 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a 20 lo printf.lo \. 80f0: 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e 6c random.l 8100: 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f 77 o resolve.lo row 8110: 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f 20 set.lo rtree.lo 8120: 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69 74 \. sqlit 8130: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 6c e3session.lo sel 8140: 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72 62 ect.lo sqlite3rb 8150: 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20 73 u.lo status.lo s 8160: 74 6d 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 tmt.lo \. 8170: 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 65 61 table.lo threa 8180: 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 2e 6c ds.lo tokenize.l 8190: 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 74 72 o treeview.lo tr 81a0: 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 igger.lo \. 81b0: 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 75 70 update.lo up 81c0: 73 65 72 74 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20 sert.lo util.lo 81d0: 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20 vacuum.lo \. 81e0: 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c 6f 20 vdbeapi.lo 81f0: 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62 65 62 vdbeaux.lo vdbeb 8200: 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c lob.lo vdbemem.l 8210: 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a o vdbesort.lo \. 8220: 20 20 20 20 20 20 20 20 20 76 64 62 65 74 72 61 vdbetra 8230: 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c ce.lo wal.lo wal 8240: 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20 ker.lo where.lo 8250: 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65 wherecode.lo whe 8260: 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20 reexpr.lo \. 8270: 20 20 20 20 20 77 69 6e 64 6f 77 2e 6c 6f 20 75 window.lo u 8280: 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 tf.lo vtab.lo.# 8290: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a <</mark>>..# Obj 82a0: 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 ect files for th 82b0: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a e amalgamation.. 82c0: 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c #.LIBOBJS1 = sql 82d0: 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 ite3.lo..# Deter 82e0: 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61 mine the real va 82f0: 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61 lue of LIBOBJ ba 8300: 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66 sed on the 'conf 8310: 69 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a igure' script.#. 8320: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 # <<mark>>.!IF$
8330: 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  (USE_AMALGAMATIO
8340: 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24  N)==0.LIBOBJ = $8350: 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45 (LIBOBJS0).!ELSE 8360: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 .# <</mark>>.LIB 8370: 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31 OBJ =$(LIBOBJS1
8380: 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e  ).# <<mark>>.!EN
8390: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  DIF.# <</mark>>.
83a0: 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20  .# Determine if
83b0: 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72 63  embedded resourc
83c0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e  e compilation an
83d0: 64 20 75 73 61 67 65 20 61 72 65 20 65 6e 61 62  d usage are enab
83e0: 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45  led..#.!IF $(USE 83f0: 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42 _RC)!=0.LIBRESOB 8400: 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e JS = sqlite3res. 8410: 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f lo.!ELSE.LIBRESO 8420: 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 BJS =.!ENDIF..# 8430: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20 <<mark>>.# Core 8440: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 source code file 8450: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 s, part 1..#.SRC 8460: 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 00 = \.$(TOP)\
8470: 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20  src\alter.c \.
8480: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79  $(TOP)\src\analy 8490: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ze.c \.$(TOP)\
84a0: 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20  src\attach.c \.
84b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68   $(TOP)\src\auth 84c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
84d0: 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24  c\backup.c \.  $84e0: 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 (TOP)\src\bitvec 84f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8500: 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20  c\btmutex.c \.
8510: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree 8520: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8530: 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28  c\build.c \.  $( 8540: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 TOP)\src\callbac 8550: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 k.c \.$(TOP)\s
8560: 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a  rc\complete.c \.
8570: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69    $(TOP)\src\cti 8580: 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c me.c \.$(TOP)\
8590: 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24  src\date.c \.  $85a0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67 65 (TOP)\src\dbpage 85b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
85c0: 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20 24  c\dbstat.c \.  $85d0: 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 (TOP)\src\delete 85e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
85f0: 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54  c\expr.c \.  $(T 8600: 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 OP)\src\fault.c 8610: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 \.$(TOP)\src\f
8620: 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  key.c \.  $(TOP) 8630: 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 20 \src\func.c \. 8640: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61$(TOP)\src\globa
8650: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s 8660: 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 rc\hash.c \.$(
8670: 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e  TOP)\src\insert.
8680: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8690: 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24 28 \legacy.c \.$(
86a0: 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74  TOP)\src\loadext
86b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 86c0: 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 c\main.c \.$(T
86d0: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63  OP)\src\malloc.c
86e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 86f0: 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f 50 mem0.c \.$(TOP
8700: 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20  )\src\mem1.c \.
8710: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32   $(TOP)\src\mem2 8720: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8730: 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28 54  c\mem3.c \.  $(T 8740: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c OP)\src\mem5.c \ 8750: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 .$(TOP)\src\me
8760: 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mdb.c \.  $(TOP) 8770: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e \src\memjournal. 8780: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8790: 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54  \mutex.c \.  $(T 87a0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f OP)\src\mutex_no 87b0: 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c op.c \.$(TOP)\
87c0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
87d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 87e0: 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20 mutex_w32.c \. 87f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66$(TOP)\src\notif
8800: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s 8810: 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f rc\os.c \.$(TO
8820: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
8830: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8840: 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65 os_win.c..# Core 8850: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c source code fil 8860: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 es, part 2..#.SR 8870: 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 C01 = \.$(TOP)
8880: 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20  \src\pager.c \.
8890: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63   $(TOP)\src\pcac 88a0: 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c he.c \.$(TOP)\
88b0: 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a  src\pcache1.c \.
88c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61    $(TOP)\src\pra 88d0: 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 gma.c \.$(TOP)
88e0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c  \src\prepare.c \
88f0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  .  $(TOP)\src\pr 8900: 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 intf.c \.$(TOP
8910: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c  )\src\random.c \
8920: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65  .  $(TOP)\src\re 8930: 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f solve.c \.$(TO
8940: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20  P)\src\rowset.c
8950: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s 8960: 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f elect.c \.$(TO
8970: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20  P)\src\status.c
8980: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8990: 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 able.c \.$(TOP
89a0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20  )\src\threads.c
89b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 89c0: 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 clsqlite.c \.$
89d0: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
89e0: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ze.c \.  $(TOP)\ 89f0: 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c src\treeview.c \ 8a00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 .$(TOP)\src\tr
8a10: 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  igger.c \.  $(TO 8a20: 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20 P)\src\utf.c \. 8a30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61$(TOP)\src\upda
8a40: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\ 8a50: 73 72 63 5c 75 70 73 65 72 74 2e 63 20 5c 0a 20 src\upsert.c \. 8a60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c$(TOP)\src\util
8a70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8a80: 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24 c\vacuum.c \.$
8a90: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
8aa0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8ab0: 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 vdbeapi.c \.$(
8ac0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78  TOP)\src\vdbeaux
8ad0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8ae0: 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 c\vdbeblob.c \. 8af0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
8b00: 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  mem.c \.  $(TOP) 8b10: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 \src\vdbesort.c 8b20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 \.$(TOP)\src\v
8b30: 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24  dbetrace.c \.  $8b40: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 (TOP)\src\vtab.c 8b50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8b60: 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  wal.c \.  $(TOP) 8b70: 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a \src\walker.c \. 8b80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65$(TOP)\src\whe
8b90: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\ 8ba0: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 src\wherecode.c 8bb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 \.$(TOP)\src\w
8bc0: 68 65 72 65 65 78 70 72 2e 63 20 5c 0a 20 20 24  hereexpr.c \.  $8bd0: 28 54 4f 50 29 5c 73 72 63 5c 77 69 6e 64 6f 77 (TOP)\src\window 8be0: 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73 63 65 .c..# Core misce 8bf0: 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73 2e 0a llaneous files.. 8c00: 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20 24 28 #.SRC03 = \.$(
8c10: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79  TOP)\src\parse.y
8c20: 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20  ..# Core header
8c30: 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23  files, part 1..#
8c40: 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 28 54  .SRC04 = \.  $(T 8c50: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68 20 OP)\src\btree.h 8c60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 \.$(TOP)\src\b
8c70: 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28  treeInt.h \.  $( 8c80: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 TOP)\src\hash.h 8c90: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 \.$(TOP)\src\h
8ca0: 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 54 4f  wtime.h \.  $(TO 8cb0: 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a P)\src\msvc.h \. 8cc0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74$(TOP)\src\mut
8cd0: 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.h \.  $(TOP)\ 8ce0: 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24 28 54 src\os.h \.$(T
8cf0: 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f  OP)\src\os_commo
8d00: 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  n.h \.  $(TOP)\s 8d10: 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a rc\os_setup.h \. 8d20: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f$(TOP)\src\os_
8d30: 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 68 65  win.h..# Core he
8d40: 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74  ader files, part
8d50: 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 5c 0a   2..#.SRC05 = \.
8d60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67    $(TOP)\src\pag 8d70: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c er.h \.$(TOP)\
8d80: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20  src\pcache.h \.
8d90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag 8da0: 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c ma.h \.$(TOP)\
8db0: 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20  src\sqlite.h.in
8dc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s 8dd0: 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 20 qlite3ext.h \. 8de0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74$(TOP)\src\sqlit
8df0: 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eInt.h \.  $(TOP 8e00: 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 )\src\sqliteLimi 8e10: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 t.h \.$(TOP)\s
8e20: 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 24 28  rc\vdbe.h \.  $( 8e30: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 TOP)\src\vdbeInt 8e40: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .h \.$(TOP)\sr
8e50: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.
8e60: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 68  $(TOP)\src\wal.h 8e70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8e80: 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 45 78  whereInt.h..# Ex
8e90: 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63  tension source c
8ea0: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part
8eb0: 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c 0a 20  1..#.SRC06 = \.
8ec0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31   $(TOP)\ext\fts1 8ed0: 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28 54 4f \fts1.c \.$(TO
8ee0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
8ef0: 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f  _hash.c \.  $(TO 8f00: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 P)\ext\fts1\fts1 8f10: 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 _porter.c \.$(
8f20: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
8f30: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20  s1_tokenizer1.c
8f40: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 8f50: 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20 20 24 ts2\fts2.c \.$
8f60: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
8f70: 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24  ts2_hash.c \.  $8f80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f 8f90: 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28 ts2_icu.c \.$(
8fa0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
8fb0: 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20  s2_porter.c \.
8fc0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ 8fd0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 fts2_tokenizer.c 8fe0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8ff0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
9000: 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 6e 73  zer1.c..# Extens
9010: 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20  ion source code
9020: 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23  files, part 2..#
9030: 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 28 54  .SRC07 = \.  $(T 9040: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 9050: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 3.c \.$(TOP)\e
9060: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78  xt\fts3\fts3_aux
9070: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9080: 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 t\fts3\fts3_expr 9090: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
90a0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68  t\fts3\fts3_hash
90b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 90c0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e t\fts3\fts3_icu. 90d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
90e0: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
90f0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 9100: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 xt\fts3\fts3_sni 9110: 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 ppet.c \.$(TOP
9120: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
9130: 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20  tokenizer.c \.
9140: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 9150: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e fts3_tokenizer1. 9160: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9170: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e  \fts3\fts3_token
9180: 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 20 24  ize_vtab.c \.  $9190: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f 91a0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 5c 0a ts3_unicode.c \. 91b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
91c0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
91d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 91e0: 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 \fts3\fts3_write 91f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
9200: 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a 20 20  t\icu\icu.c \.
9210: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree 9220: 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 \rtree.c \.$(T
9230: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c  OP)\ext\session\
9240: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63  sqlite3session.c
9250: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 9260: 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 rbu\sqlite3rbu.c 9270: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9280: 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c 0a 20  misc\json1.c \.
9290: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 92a0: 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 78 74 65 6e \stmt.c..# Exten 92b0: 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 sion header file 92c0: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 s, part 1..#.SRC 92d0: 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 08 = \.$(TOP)\
92e0: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20  ext\fts1\fts1.h
92f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9300: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20 ts1\fts1_hash.h 9310: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9320: 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a  ts1\fts1_tokeniz
9330: 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.h \.  $(TOP)\ 9340: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 ext\fts2\fts2.h 9350: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9360: 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 20  ts2\fts2_hash.h
9370: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9380: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a ts2\fts2_tokeniz 9390: 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f er.h..# Extensio 93a0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 n header files, 93b0: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 39 20 part 2..#.SRC09 93c0: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 = \.$(TOP)\ext
93d0: 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20  \fts3\fts3.h \.
93e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 93f0: 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 \fts3Int.h \.$
9400: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9410: 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24  ts3_hash.h \.  $9420: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f 9430: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 ts3_tokenizer.h 9440: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 \.$(TOP)\ext\i
9450: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 20 5c  cu\sqliteicu.h \
9460: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  .  $(TOP)\ext\rt 9470: 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 20 ree\rtree.h \. 9480: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65$(TOP)\ext\rtree
9490: 5c 67 65 6f 70 6f 6c 79 2e 63 20 5c 0a 20 20 24  \geopoly.c \.  $94a0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 (TOP)\ext\rbu\sq 94b0: 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20 20 24 lite3rbu.h \.$
94c0: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
94d0: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
94e0: 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20  .h..# Generated
94f0: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
9500: 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a 20 20  s.#.SRC10 = \.
9510: 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 70 61  opcodes.c \.  pa
9520: 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 61 74  rse.c..# Generat
9530: 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a  ed header files.
9540: 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 6b 65  #.SRC11 = \.  ke
9550: 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20  ywordhash.h \.
9560: 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 70 61  opcodes.h \.  pa
9570: 72 73 65 2e 68 20 5c 0a 20 20 73 68 65 6c 6c 2e  rse.h \.  shell.
9580: 63 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 48  c \.  $(SQLITE3H 9590: 29 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 54 )..# Generated T 95a0: 63 6c 20 68 65 61 64 65 72 20 66 69 6c 65 73 0a cl header files. 95b0: 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 #.!IF$(USE_STDC
95c0: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR 95d0: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 52 43 31 32 _WIN10)!=0.SRC12 95e0: 20 3d 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 = \.$(SQLITET
95f0: 43 4c 48 29 20 5c 0a 20 20 24 28 53 51 4c 49 54  CLH) \.  $(SQLIT 9600: 45 54 43 4c 44 45 43 4c 53 48 29 0a 21 45 4c 53 ETCLDECLSH).!ELS 9610: 45 0a 53 52 43 31 32 20 3d 0a 21 45 4e 44 49 46 E.SRC12 =.!ENDIF 9620: 0a 0a 23 20 41 6c 6c 20 73 6f 75 72 63 65 20 63 ..# All source c 9630: 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 ode files..#.SRC 9640: 20 3d 20 24 28 53 52 43 30 30 29 20 24 28 53 52 =$(SRC00) $(SR 9650: 43 30 31 29 20 24 28 53 52 43 30 33 29 20 24 28 C01)$(SRC03) $( 9660: 53 52 43 30 34 29 20 24 28 53 52 43 30 35 29 20 SRC04)$(SRC05)
9670: 24 28 53 52 43 30 36 29 20 24 28 53 52 43 30 37  $(SRC06)$(SRC07
9680: 29 20 24 28 53 52 43 30 38 29 20 24 28 53 52 43  ) $(SRC08)$(SRC
9690: 30 39 29 20 24 28 53 52 43 31 30 29 20 24 28 53  09) $(SRC10)$(S
96a0: 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 20  RC11)..# Source
96b0: 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74  code to the test
96c0: 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52   files..#.TESTSR
96d0: 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  C = \.  $(TOP)\s 96e0: 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24 rc\test1.c \.$
96f0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e  (TOP)\src\test2.
9700: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9710: 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28 54 \test3.c \.$(T
9720: 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20  OP)\src\test4.c
9730: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9740: 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 est5.c \.$(TOP
9750: 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a  )\src\test6.c \.
9760: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9770: 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c t7.c \.$(TOP)\
9780: 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20  src\test8.c \.
9790: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39  $(TOP)\src\test9 97a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
97b0: 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e 63  c\test_autoext.c
97c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 97d0: 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20 test_async.c \. 97e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
97f0: 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28  _backup.c \.  $( 9800: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 65 TOP)\src\test_be 9810: 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 stindex.c \.$(
9820: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 6c  TOP)\src\test_bl
9830: 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ob.c \.  $(TOP)\ 9840: 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e 63 src\test_btree.c 9850: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9860: 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a  test_config.c \.
9870: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9880: 74 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 t_delete.c \.$
9890: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64  (TOP)\src\test_d
98a0: 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  emovfs.c \.  $(T 98b0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 76 OP)\src\test_dev 98c0: 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 sym.c \.$(TOP)
98d0: 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 20 5c  \src\test_fs.c \
98e0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 98f0: 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 st_func.c \.$(
9900: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 68 65  TOP)\src\test_he
9910: 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  xio.c \.  $(TOP) 9920: 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 2e 63 \src\test_init.c 9930: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9940: 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e 63 20  test_intarray.c
9950: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9960: 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a est_journal.c \. 9970: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9980: 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24  t_malloc.c \.  $9990: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d (TOP)\src\test_m 99a0: 64 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c d5.c \.$(TOP)\
99b0: 73 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69 70 6c  src\test_multipl
99c0: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ex.c \.  $(TOP)\ 99d0: 73 72 63 5c 74 65 73 74 5f 6d 75 74 65 78 2e 63 src\test_mutex.c 99e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
99f0: 74 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 20 5c  test_onefile.c \
9a00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9a10: 73 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a 20 20 st_osinst.c \. 9a20: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
9a30: 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54  pcache.c \.  $(T 9a40: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 71 75 6f OP)\src\test_quo 9a50: 74 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ta.c \.$(TOP)\
9a60: 73 72 63 5c 74 65 73 74 5f 72 74 72 65 65 2e 63  src\test_rtree.c
9a70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 9a80: 74 65 73 74 5f 73 63 68 65 6d 61 2e 63 20 5c 0a test_schema.c \. 9a90: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9aa0: 74 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20 20 24  t_server.c \.  $9ab0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 (TOP)\src\test_s 9ac0: 75 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20 20 24 uperlock.c \.$
9ad0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
9ae0: 79 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 28 54  yscall.c \.  $(T 9af0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 63 6c OP)\src\test_tcl 9b00: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.c \.$(TOP)\
9b10: 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e  src\test_tclvar.
9b20: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9b30: 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c \test_thread.c \ 9b40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
9b50: 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54  st_vfs.c \.  $(T 9b60: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e OP)\src\test_win 9b70: 64 69 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54 dirent.c \.$(T
9b80: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e  OP)\src\test_win
9b90: 64 6f 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  dow.c \.  $(TOP) 9ba0: 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 \src\test_wsd.c 9bb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9bc0: 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20  ts3\fts3_term.c
9bd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9be0: 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 ts3\fts3_test.c 9bf0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 \.$(TOP)\ext\r
9c00: 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a  bu\test_rbu.c \.
9c10: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses 9c20: 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f sion\test_sessio 9c30: 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c n.c..# Staticall 9c40: 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 y linked extensi 9c50: 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d ons..#.TESTEXT = 9c60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9c70: 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78  expert\sqlite3ex
9c80: 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  pert.c \.  $(TOP 9c90: 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73 )\ext\expert\tes 9ca0: 74 5f 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 t_expert.c \.$
9cb0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61  (TOP)\ext\misc\a
9cc0: 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f  match.c \.  $(TO 9cd0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72 P)\ext\misc\carr 9ce0: 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ay.c \.$(TOP)\
9cf0: 65 78 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65  ext\misc\closure
9d00: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9d10: 74 5c 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20 t\misc\csv.c \. 9d20: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
9d30: 5c 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  \eval.c \.  $(TO 9d40: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 78 70 6c P)\ext\misc\expl 9d50: 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ain.c \.$(TOP)
9d60: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
9d70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9d80: 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20 t\misc\fuzzer.c 9d90: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9da0: 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c  ts5\fts5_tcl.c \
9db0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 9dc0: 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e s5\fts5_test_mi. 9dd0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9de0: 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f  \fts5\fts5_test_
9df0: 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tok.c \.  $(TOP) 9e00: 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35 \ext\misc\ieee75 9e10: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 4.c \.$(TOP)\e
9e20: 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d  xt\misc\mmapwarm
9e30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9e40: 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e t\misc\nextchar. 9e50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9e60: 5c 6d 69 73 63 5c 6e 6f 72 6d 61 6c 69 7a 65 2e  \misc\normalize.
9e70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 9e80: 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 \misc\percentile 9e90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
9ea0: 74 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20  t\misc\regexp.c
9eb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 9ec0: 69 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c isc\remember.c \ 9ed0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
9ee0: 73 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20  sc\series.c \.
9ef0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ 9f00: 73 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 spellfix.c \.$
9f10: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74  (TOP)\ext\misc\t
9f20: 6f 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f  otype.c \.  $(TO 9f30: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f P)\ext\misc\unio 9f40: 6e 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f nvtab.c \.$(TO
9f50: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c  P)\ext\misc\whol
9f60: 65 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 49 66 20  enumber.c..# If
9f70: 75 73 65 20 6f 66 20 7a 6c 69 62 20 69 73 20 65  use of zlib is e
9f80: 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20  nabled, add the
9f90: 22 7a 69 70 66 69 6c 65 2e 63 22 20 73 6f 75 72  "zipfile.c" sour
9fa0: 63 65 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24  ce file..#.!IF $9fb0: 28 55 53 45 5f 5a 4c 49 42 29 21 3d 30 0a 54 45 (USE_ZLIB)!=0.TE 9fc0: 53 54 45 58 54 20 3d 20 24 28 54 45 53 54 45 58 STEXT =$(TESTEX
9fd0: 54 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  T) $(TOP)\ext\mi 9fe0: 73 63 5c 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e sc\zipfile.c.!EN 9ff0: 44 49 46 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f DIF..# Source co a000: 64 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 de to the librar a010: 79 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62 y files needed b a020: 79 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 y the test fixtu a030: 72 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 re.# (non-amalga a040: 6d 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 mation).#.TESTSR a050: 43 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 C2 = \.$(SRC00
a060: 29 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c  ) \.  $(SRC01) \ a070: 0a 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 .$(SRC06) \.
a080: 24 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53  $(SRC07) \.$(S
a090: 52 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29  RC10) \.  $(TOP) a0a0: 5c 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 \ext\async\sqlit a0b0: 65 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 e3async.c..# Hea a0c0: 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 der files used b a0d0: 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f y all library so a0e0: 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 urce files..#.HD a0f0: 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c R = \.$(TOP)\
a100: 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20  src\btree.h \.
a110: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre a120: 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f eInt.h \.$(TO
a130: 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a  P)\src\hash.h \.
a140: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77     $(TOP)\src\hw a150: 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 time.h \. keyw a160: 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 ordhash.h \.$
a170: 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68  (TOP)\src\msvc.h
a180: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src a190: 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 \mutex.h \. op a1a0: 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 codes.h \.$(T
a1b0: 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20  OP)\src\os.h \.
a1c0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_ a1d0: 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 common.h \.$(
a1e0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75  TOP)\src\os_setu
a1f0: 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  p.h \.   $(TOP)\ a200: 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 src\os_win.h \. a210: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67$(TOP)\src\pag
a220: 65 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  er.h \.   $(TOP) a230: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a \src\pcache.h \. a240: 20 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 parse.h \. a250: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d$(TOP)\src\pragm
a260: 61 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54  a.h \.   $(SQLIT a270: 45 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 E3H) \. sqlite a280: 33 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 3ext.h \.$(TO
a290: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74  P)\src\sqliteInt
a2a0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s a2b0: 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 rc\sqliteLimit.h a2c0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 \.$(TOP)\src
a2d0: 5c 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54  \vdbe.h \.   $(T a2e0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e OP)\src\vdbeInt. a2f0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 h \.$(TOP)\sr
a300: 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20  c\vxworks.h \.
a310: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher a320: 65 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 eInt.h..# Header a330: 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 65 files used by e a340: 78 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 xtensions.#.EXTH a350: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c DR =$(EXTHDR) \
a360: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft a370: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 s1\fts1.h \.$(
a380: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
a390: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $( a3a0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 TOP)\ext\fts1\ft a3b0: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 s1_tokenizer.h.E a3c0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 XTHDR =$(EXTHDR
a3d0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext a3e0: 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 \fts2\fts2.h \. a3f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
a400: 5c 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20  \fts2_hash.h \.
a410: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 a420: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e \fts2_tokenizer. a430: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 h.EXTHDR =$(EXT
a440: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\ a450: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 ext\fts3\fts3.h a460: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
a470: 74 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a  ts3\fts3Int.h \.
a480: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts a490: 33 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 3\fts3_hash.h \. a4a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
a4b0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
a4c0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX a4d0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 THDR) \.$(TOP)
a4e0: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
a4f0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex a500: 74 5c 72 74 72 65 65 5c 67 65 6f 70 6f 6c 79 2e t\rtree\geopoly. a510: 63 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 c.EXTHDR =$(EXT
a520: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\ a530: 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 ext\icu\sqliteic a540: 75 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 u.h.EXTHDR =$(E
a550: 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50  XTHDR) \.  $(TOP a560: 29 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 )\ext\rtree\sqli a570: 74 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44 te3rtree.h.EXTHD a580: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a R =$(EXTHDR) \.
a590: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses a5a0: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 sion\sqlite3sess a5b0: 69 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 ion.h..# executa a5c0: 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20 bles needed for a5d0: 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 testing.#.TESTPR a5e0: 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 OGS = \. testfi a5f0: 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 xture.exe \.$(
a600: 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20  SQLITE3EXE) \.
a610: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
a620: 2e 65 78 65 20 5c 0a 20 20 73 71 6c 69 74 65 33  .exe \.  sqlite3
a630: 5f 63 68 65 63 6b 65 72 2e 65 78 65 20 5c 0a 20  _checker.exe \.
a640: 20 73 71 6c 64 69 66 66 2e 65 78 65 20 5c 0a 20   sqldiff.exe \.
a650: 20 64 62 68 61 73 68 2e 65 78 65 20 5c 0a 20 20   dbhash.exe \.
a660: 73 71 6c 74 63 6c 73 68 2e 65 78 65 0a 0a 23 20  sqltclsh.exe..#
a670: 44 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69  Databases contai
a680: 6e 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74  ning fuzzer test
a690: 20 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54   cases.#.FUZZDAT
a6a0: 41 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74  A = \.  $(TOP)\t a6b0: 65 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 est\fuzzdata1.db a6c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 \.$(TOP)\test
a6d0: 5c 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a  \fuzzdata2.db \.
a6e0: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu a6f0: 7a 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 zzdata3.db \.$
a700: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
a710: 61 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata4.db \.  $(TO a720: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 P)\test\fuzzdata a730: 35 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 5.db \.$(TOP)\
a740: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 36 2e 64  test\fuzzdata6.d
a750: 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  b.# <</mark>>..#
a760: 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70   Additional comp
a770: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72  iler options for
a780: 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54 68 65   the shell.  The
a790: 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66 66 65  se are only effe
a7a0: 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74 68 65  ctive.# when the
a7b0: 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65   shell is not be
a7c0: 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20  ing dynamically
a7d0: 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28  linked..#.!IF $( a7e0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d DYNAMIC_SHELL)== a7f0: 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e 31 30 0 &&$(FOR_WIN10
a800: 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  )==0.SHELL_COMPI
a810: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL a820: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 L_COMPILE_OPTS) a830: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ a840: 46 54 53 34 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d FTS4=1.SHELL_COM a850: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 PILE_OPTS =$(SH
a860: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a870: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
a880: 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e  E_EXPLAIN_COMMEN
a890: 54 53 3d 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49  TS=1.SHELL_COMPI
a8a0: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c  LE_OPTS = $(SHEL a8b0: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 L_COMPILE_OPTS) a8c0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ a8d0: 4f 46 46 53 45 54 5f 53 51 4c 5f 46 55 4e 43 3d OFFSET_SQL_FUNC= a8e0: 31 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 1.SHELL_COMPILE_ a8f0: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 OPTS =$(SHELL_C
a900: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
a910: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 45 53  QLITE_ENABLE_DES
a920: 45 52 49 41 4c 49 5a 45 3d 31 0a 21 45 4e 44 49  ERIALIZE=1.!ENDI
a930: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.#
a940: 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f  Extra compiler o
a950: 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f  ptions for vario
a960: 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23  us test tools..#
a970: 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c  .MPTESTER_COMPIL
a980: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
a990: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d  E_ENABLE_JSON1 -
a9a0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
a9b0: 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f  TS5.FUZZERSHELL_
a9c0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d  COMPILE_OPTS = -
a9d0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a  DSQLITE_ENABLE_J
a9e0: 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 43  SON1.FUZZCHECK_C
a9f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44  OMPILE_OPTS = -D
aa00: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53  SQLITE_ENABLE_JS
aa10: 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  ON1 -DSQLITE_ENA
aa20: 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d 44 53 51  BLE_MEMSYS5 -DSQ
aa30: 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d 44  LITE_OSS_FUZZ -D
aa40: 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f 52  SQLITE_MAX_MEMOR
aa50: 59 3d 35 30 30 30 30 30 30 30 20 2d 44 53 51 4c  Y=50000000 -DSQL
aa60: 49 54 45 5f 50 52 49 4e 54 46 5f 50 52 45 43 49  ITE_PRINTF_PRECI
aa70: 53 49 4f 4e 5f 4c 49 4d 49 54 3d 31 30 30 30 0a  SION_LIMIT=1000.
aa80: 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 20 3d 20  FUZZCHECK_SRC =
aa90: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz aaa0: 63 68 65 63 6b 2e 63 20 24 28 54 4f 50 29 5c 74 check.c$(TOP)\t
aab0: 65 73 74 5c 6f 73 73 66 75 7a 7a 2e 63 0a 4f 53  est\ossfuzz.c.OS
aac0: 53 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 54  SSHELL_SRC = $(T aad0: 4f 50 29 5c 74 65 73 74 5c 6f 73 73 73 68 65 6c OP)\test\ossshel aae0: 6c 2e 63 20 24 28 54 4f 50 29 5c 74 65 73 74 5c l.c$(TOP)\test\
aaf0: 6f 73 73 66 75 7a 7a 2e 63 0a 44 42 46 55 5a 5a  ossfuzz.c.DBFUZZ
ab00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS =
ab10: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
ab20: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
ab30: 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
ab40: 4f 4e 0a 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50  ON.KV_COMPILE_OP
ab50: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48  TS = -DSQLITE_TH
ab60: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
ab70: 49 54 45 5f 44 49 52 45 43 54 5f 4f 56 45 52 46  ITE_DIRECT_OVERF
ab80: 4c 4f 57 5f 52 45 41 44 0a 53 54 5f 43 4f 4d 50  LOW_READ.ST_COMP
ab90: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c  ILE_OPTS = -DSQL
aba0: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
abb0: 0a 0a 23 20 53 74 61 6e 64 61 72 64 20 6f 70 74  ..# Standard opt
abc0: 69 6f 6e 73 20 74 6f 20 74 65 73 74 66 69 78 74  ions to testfixt
abd0: 75 72 65 2e 0a 23 0a 54 45 53 54 4f 50 54 53 20  ure..#.TESTOPTS
abe0: 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66 69 6c 65  = --verbose=file
abf0: 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73 74 2d 6f   --output=test-o
ac00: 75 74 2e 74 78 74 0a 0a 23 20 45 78 74 72 61 20  ut.txt..# Extra
ac10: 74 61 72 67 65 74 73 20 66 6f 72 20 74 68 65 20  targets for the
ac20: 22 61 6c 6c 22 20 74 61 72 67 65 74 20 74 68 61  "all" target tha
ac30: 74 20 72 65 71 75 69 72 65 20 54 63 6c 2e 0a 23  t require Tcl..#
ac40: 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d  .!IF $(NO_TCL)== ac50: 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 0.ALL_TCL_TARGET ac60: 53 20 3d 20 6c 69 62 74 63 6c 73 71 6c 69 74 65 S = libtclsqlite ac70: 33 2e 6c 69 62 0a 21 45 4c 53 45 0a 41 4c 4c 5f 3.lib.!ELSE.ALL_ ac80: 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 0a 21 45 TCL_TARGETS =.!E ac90: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e NDIF.# <</mark>> aca0: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 ..# This is the acb0: 64 65 66 61 75 6c 74 20 4d 61 6b 65 66 69 6c 65 default Makefile acc0: 20 74 61 72 67 65 74 2e 20 20 54 68 65 20 6f 62 target. The ob acd0: 6a 65 63 74 73 20 6c 69 73 74 65 64 20 68 65 72 jects listed her ace0: 65 0a 23 20 61 72 65 20 77 68 61 74 20 67 65 74 e.# are what get acf0: 20 62 75 69 6c 64 20 77 68 65 6e 20 79 6f 75 20 build when you ad00: 74 79 70 65 20 6a 75 73 74 20 22 6d 61 6b 65 22 type just "make" ad10: 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e with no argumen ad20: 74 73 2e 0a 23 0a 63 6f 72 65 3a 09 64 6c 6c 20 ts..#.core:.dll ad30: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 73 libsqlite3.lib s ad40: 68 65 6c 6c 0a 0a 23 20 54 61 72 67 65 74 73 20 hell..# Targets ad50: 74 68 61 74 20 72 65 71 75 69 72 65 20 74 68 65 that require the ad60: 20 54 63 6c 20 6c 69 62 72 61 72 79 2e 0a 23 0a Tcl library..#. ad70: 74 63 6c 3a 09 24 28 41 4c 4c 5f 54 43 4c 5f 54 tcl:.$(ALL_TCL_T
ad80: 41 52 47 45 54 53 29 0a 0a 23 20 54 68 69 73 20  ARGETS)..# This
ad90: 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 20  Makefile target
ada0: 62 75 69 6c 64 73 20 61 6c 6c 20 6f 66 20 74 68  builds all of th
adb0: 65 20 73 74 61 6e 64 61 72 64 20 62 69 6e 61 72  e standard binar
adc0: 69 65 73 2e 0a 23 0a 61 6c 6c 3a 09 63 6f 72 65  ies..#.all:.core
add0: 20 74 63 6c 0a 0a 23 20 44 79 6e 61 6d 69 63 20   tcl..# Dynamic
ade0: 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 73 65 63  link library sec
adf0: 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09 24 28 53  tion..#.dll:.$(S ae00: 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23 20 53 68 QLITE3DLL)..# Sh ae10: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a ell executable.. ae20: 23 0a 73 68 65 6c 6c 3a 09 24 28 53 51 4c 49 54 #.shell:.$(SQLIT
ae30: 45 33 45 58 45 29 0a 0a 23 20 3c 3c 6d 61 72 6b  E3EXE)..# <<mark
ae40: 3e 3e 0a 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69  >>.libsqlite3.li
ae50: 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a 09 24 28  b:.$(LIBOBJ)..$(
ae60: 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50  LTLIB) $(LTLIBOP ae70: 54 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 TS) /OUT:$@ $(LI ae80: 42 4f 42 4a 29 20 24 28 54 4c 49 42 53 29 0a 0a BOBJ)$(TLIBS)..
ae90: 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69  libtclsqlite3.li
aea0: 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20  b:.tclsqlite.lo
aeb0: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09  libsqlite3.lib..
aec0: 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49 42  $(LTLIB)$(LTLIB
aed0: 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT aee0: 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 HS) /OUT:$@ tcls
aef0: 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69  qlite.lo libsqli
af00: 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 54 43 4c  te3.lib $(LIBTCL af10: 53 54 55 42 29 20 24 28 54 4c 49 42 53 29 0a 23 STUB)$(TLIBS).#
af20: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53 51   <</mark>>..$(SQ af30: 4c 49 54 45 33 44 4c 4c 29 3a 09 24 28 4c 49 42 LITE3DLL):.$(LIB
af40: 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  OBJ) $(LIBRESOBJ af50: 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 44 S)$(CORE_LINK_D
af60: 45 50 29 0a 09 24 28 4c 44 29 20 24 28 4c 44 46  EP)..$(LD)$(LDF
af70: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP af80: 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 TS)$(LTLIBPATHS
af90: 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45 5f 4c 49  ) /DLL $(CORE_LI afa0: 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 NK_OPTS) /OUT:$@
afb0: 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42   $(LIBOBJ)$(LIB
afc0: 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42  RESOBJS) $(LTLIB afd0: 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c S)$(TLIBS)..# <
afe0: 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74 65  <block2>>.sqlite
aff0: 33 2e 64 65 66 3a 09 6c 69 62 73 71 6c 69 74 65  3.def:.libsqlite
b000: 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45 58 50 4f  3.lib..echo EXPO
b010: 52 54 53 20 3e 20 73 71 6c 69 74 65 33 2e 64 65  RTS > sqlite3.de
b020: 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c 20  f..dumpbin /all
b030: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 5c  libsqlite3.lib \
b040: 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44  ...| $(TCLSH_CMD b050: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 )$(TOP)\tool\re
b060: 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64  place.tcl includ
b070: 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c 69  e "^\s+1 _?(sqli
b080: 74 65 33 28 3f 3a 73 65 73 73 69 6f 6e 7c 63 68  te3(?:session|ch
b090: 61 6e 67 65 73 65 74 7c 63 68 61 6e 67 65 67 72  angeset|changegr
b0a0: 6f 75 70 7c 72 65 62 61 73 65 72 29 3f 5f 5b 5e  oup|rebaser)?_[^
b0b0: 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22  @]*)(?:@\d+)?"
b0c0: 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e   \1 \...| sort >
b0d0: 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 23 20  > sqlite3.def.#
b0e0: 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53  <</block2>>..$(S b0f0: 51 4c 49 54 45 33 45 58 45 29 3a 09 73 68 65 6c QLITE3EXE):.shel b100: 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 l.c$(SHELL_CORE
b110: 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42  _DEP) $(LIBRESOB b120: 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 JS)$(SHELL_CORE
b130: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 48  _SRC) $(SQLITE3H b140: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 )..$(LTLINK) $(S b150: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 HELL_COMPILE_OPT b160: 53 29 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c S)$(READLINE_FL
b170: 41 47 53 29 20 73 68 65 6c 6c 2e 63 20 24 28 53  AGS) shell.c $(S b180: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 5c HELL_CORE_SRC) \ b190: 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c 49 54 .../link$(SQLIT
b1a0: 45 33 45 58 45 50 44 42 29 20 24 28 4c 44 46 4c  E3EXEPDB) $(LDFL b1b0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 AGS)$(LTLINKOPT
b1c0: 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e 4b 5f  S) $(SHELL_LINK_ b1d0: 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 OPTS)$(LTLIBPAT
b1e0: 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS b1f0: 29 20 24 28 4c 49 42 52 45 41 44 4c 49 4e 45 29 )$(LIBREADLINE)
b200: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS)$(TLI
b210: 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  BS)..# <<mark>>.
b220: 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 24 28 54  sqldiff.exe:.$(T b230: 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 OP)\tool\sqldiff b240: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $b250: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
b260: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) b270: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c$(TOP)\tool\sql
b280: 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33  diff.c $(SQLITE3 b290: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
b2a0: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS b2b0: 29 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a 09 24 )..dbhash.exe:.$
b2c0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73  (TOP)\tool\dbhas
b2d0: 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  h.c $(SQLITE3C) b2e0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L b2f0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
b300: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62  ) $(TOP)\tool\db b310: 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 hash.c$(SQLITE3
b320: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA b330: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
b340: 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09 24 28  )..scrub.exe:.$( b350: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 TOP)\ext\misc\sc b360: 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 rub.c$(SQLITE3C
b370: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
b380: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA b390: 52 4e 29 20 2d 44 53 43 52 55 42 5f 53 54 41 4e RN) -DSCRUB_STAN b3a0: 44 41 4c 4f 4e 45 3d 31 20 24 28 54 4f 50 29 5c DALONE=1$(TOP)\
b3b0: 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63  ext\misc\scrub.c
b3c0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li b3d0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( b3e0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63 LTLINKOPTS)..src b3f0: 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c ck1.exe:.$(TOP)\
b400: 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24  tool\srcck1.c..$b410: 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 (BCC)$(NO_WARN)
b420: 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f   -Fe$@$(TOP)\to
b430: 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75  ol\srcck1.c..sou
b440: 72 63 65 74 65 73 74 3a 09 73 72 63 63 6b 31 2e  rcetest:.srcck1.
b450: 65 78 65 20 24 28 53 51 4c 49 54 45 33 43 29 0a  exe $(SQLITE3C). b460: 09 73 72 63 63 6b 31 2e 65 78 65 20 24 28 53 51 .srcck1.exe$(SQ
b470: 4c 49 54 45 33 43 29 0a 0a 66 75 7a 7a 65 72 73  LITE3C)..fuzzers
b480: 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  hell.exe:.$(TOP) b490: 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c \tool\fuzzershel b4a0: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 l.c$(SQLITE3C)
b4b0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
b4c0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN b4d0: 29 20 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f )$(FUZZERSHELL_
b4e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( b4f0: 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 TOP)\tool\fuzzer b500: 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 shell.c$(SQLITE
b510: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL b520: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 AGS)$(LTLINKOPT
b530: 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78 65 3a 09  S)..dbfuzz.exe:.
b540: 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66 75  $(TOP)\test\dbfu b550: 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 zz.c$(SQLITE3C)
b560: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
b570: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR b580: 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43 4f 4d 50 N)$(DBFUZZ_COMP
b590: 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29  ILE_OPTS) $(TOP) b5a0: 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 \test\dbfuzz.c$
b5b0: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
b5c0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
b5d0: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63  LINKOPTS)..fuzzc
b5e0: 68 65 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a  heck.exe:.$(FUZZ b5f0: 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c CHECK_SRC)$(SQL
b600: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 b610: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( b620: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 NO_WARN)$(FUZZC
b630: 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HECK_COMPILE_OPT
b640: 53 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53  S) $(FUZZCHECK_S b650: 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 RC)$(SQLITE3C)
b660: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) b670: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
b680: 6f 73 73 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28  ossshell.exe:.$( b690: 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 OSSSHELL_SRC)$(
b6a0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI b6b0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 TE3H)..$(LTLINK)
b6c0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55   $(NO_WARN)$(FU
b6d0: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f  ZZCHECK_COMPILE_
b6e0: 4f 50 54 53 29 20 24 28 4f 53 53 53 48 45 4c 4c  OPTS) $(OSSSHELL b6f0: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 _SRC)$(SQLITE3C
b700: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG b710: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
b720: 0a 0a 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78  ..sessionfuzz.ex
b730: 65 3a 09 7a 6c 69 62 20 24 28 54 4f 50 29 5c 74  e:.zlib $(TOP)\t b740: 65 73 74 5c 73 65 73 73 69 6f 6e 66 75 7a 7a 2e est\sessionfuzz. b750: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 c$(SQLITE3C) $( b760: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c SQLITE3H)..$(LTL
b770: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) b780: 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52 29 20 -I$(ZLIBINCDIR)
b790: 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 65 73 73  $(TOP)\test\sess b7a0: 69 6f 6e 66 75 7a 7a 2e 63 20 2f 6c 69 6e 6b 20 ionfuzz.c /link b7b0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL b7c0: 49 4e 4b 4f 50 54 53 29 20 2f 4c 49 42 50 41 54 INKOPTS) /LIBPAT b7d0: 48 3a 24 28 5a 4c 49 42 4c 49 42 44 49 52 29 20 H:$(ZLIBLIBDIR)
b7e0: 24 28 5a 4c 49 42 4c 49 42 29 0a 0a 6d 70 74 65  $(ZLIBLIB)..mpte b7f0: 73 74 65 72 2e 65 78 65 3a 09 24 28 54 4f 50 29 ster.exe:.$(TOP)
b800: 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63  \mptest\mptest.c
b810: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
b820: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI b830: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 NK)$(NO_WARN) $b840: 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c (MPTESTER_COMPIL b850: 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 6d E_OPTS)$(TOP)\m
b860: 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24  ptest\mptest.c $b870: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b (SQLITE3C) /link b880: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT b890: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53 LINKOPTS)..MPTES b8a0: 54 31 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 T1 = mptester mp b8b0: 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d test.db$(TOP)\m
b8c0: 70 74 65 73 74 5c 63 72 61 73 68 30 31 2e 74 65  ptest\crash01.te
b8d0: 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d  st --repeat 20.M
b8e0: 50 54 45 53 54 32 20 3d 20 6d 70 74 65 73 74 65  PTEST2 = mpteste
b8f0: 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f  r mptest.db $(TO b900: 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77 P)\mptest\multiw b910: 72 69 74 65 30 31 2e 74 65 73 74 20 2d 2d 72 65 rite01.test --re b920: 70 65 61 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a peat 20..mptest: b930: 09 6d 70 74 65 73 74 65 72 2e 65 78 65 0a 09 64 .mptester.exe..d b940: 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e 64 62 20 el /Q mptest.db b950: 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45 53 54 31 2>NUL..$(MPTEST1
b960: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20  ) --journalmode
b970: 44 45 4c 45 54 45 0a 09 24 28 4d 50 54 45 53 54  DELETE..$(MPTEST b980: 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 2) --journalmode b990: 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 WAL..$(MPTEST1)
b9a0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57   --journalmode W
b9b0: 41 4c 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d  AL..$(MPTEST2) - b9c0: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 -journalmode PER b9d0: 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54 31 29 SIST..$(MPTEST1)
b9e0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50   --journalmode P
b9f0: 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54  ERSIST..$(MPTEST ba00: 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 2) --journalmode ba10: 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 TRUNCATE..$(MPT
ba20: 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST1) --journalm
ba30: 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28  ode TRUNCATE..$( ba40: 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e MPTEST2) --journ ba50: 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23 almode DELETE..# ba60: 20 54 68 69 73 20 74 61 72 67 65 74 20 63 72 65 This target cre ba70: 61 74 65 73 20 61 20 64 69 72 65 63 74 6f 72 79 ates a directory ba80: 20 6e 61 6d 65 64 20 22 74 73 72 63 22 20 61 6e named "tsrc" an ba90: 64 20 66 69 6c 6c 73 20 69 74 20 77 69 74 68 0a d fills it with. baa0: 23 20 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 # copies of all bab0: 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 of the C source bac0: 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 20 code and header bad0: 66 69 6c 65 73 20 6e 65 65 64 65 64 20 74 6f 0a files needed to. bae0: 23 20 62 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 # build on the t baf0: 61 72 67 65 74 20 73 79 73 74 65 6d 2e 20 20 53 arget system. S bb00: 6f 6d 65 20 6f 66 20 74 68 65 20 43 20 73 6f 75 ome of the C sou bb10: 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 rce code and hea bb20: 64 65 72 0a 23 20 66 69 6c 65 73 20 61 72 65 20 der.# files are bb30: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 automatically ge bb40: 6e 65 72 61 74 65 64 2e 20 20 54 68 69 73 20 74 nerated. This t bb50: 61 72 67 65 74 20 74 61 6b 65 73 20 63 61 72 65 arget takes care bb60: 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 of.# all that a bb70: 75 74 6f 6d 61 74 69 63 20 67 65 6e 65 72 61 74 utomatic generat bb80: 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 ion..#..target_s bb90: 6f 75 72 63 65 3a 09 24 28 53 52 43 29 20 24 28 ource:.$(SRC) $( bba0: 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 TOP)\tool\vdbe-c bbb0: 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66 74 73 35 ompress.tcl fts5 bbc0: 2e 63 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f .c$(SQLITE_TCL_
bbd0: 44 45 50 29 0a 09 2d 72 6d 64 69 72 20 2f 51 2f  DEP)..-rmdir /Q/
bbe0: 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d 6d  S tsrc 2>NUL..-m
bbf0: 6b 64 69 72 20 74 73 72 63 0a 09 66 6f 72 20 25  kdir tsrc..for %
bc00: 69 20 69 6e 20 28 24 28 53 52 43 30 30 29 29 20  i in ($(SRC00)) bc10: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 do copy /Y %i ts bc20: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 rc..for %i in ($
bc30: 28 53 52 43 30 31 29 29 20 64 6f 20 63 6f 70 79  (SRC01)) do copy
bc40: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
bc50: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 33 29   %i in ($(SRC03) bc60: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 ) do copy /Y %i bc70: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 tsrc..for %i in bc80: 28 24 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f ($(SRC04)) do co
bc90: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
bca0: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0 bcb0: 35 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 5)) do copy /Y % bcc0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 i tsrc..for %i i bcd0: 6e 20 28 24 28 53 52 43 30 36 29 29 20 64 6f 20 n ($(SRC06)) do
bce0: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
bcf0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR bd00: 43 30 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 C07)) do copy /Y bd10: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 %i tsrc..for %i bd20: 20 69 6e 20 28 24 28 53 52 43 30 38 29 29 20 64 in ($(SRC08)) d
bd30: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
bd40: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($( bd50: 53 52 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20 SRC09)) do copy bd60: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 /Y %i tsrc..for bd70: 25 69 20 69 6e 20 28 24 28 53 52 43 31 30 29 29 %i in ($(SRC10))
bd80: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
bd90: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
bda0: 24 28 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70  $(SRC11)) do cop bdb0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f y /Y %i tsrc..fo bdc0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 32 r %i in ($(SRC12
bdd0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
bde0: 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66   tsrc..copy /Y f
bdf0: 74 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79  ts5.c tsrc..copy
be00: 20 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a   /Y fts5.h tsrc.
be10: 09 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c  .del /Q tsrc\sql
be20: 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61  ite.h.in tsrc\pa
be30: 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54  rse.y 2>NUL..$(T be40: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
be50: 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72  \tool\vdbe-compr
be60: 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20  ess.tcl $(OPTS) be70: 3c 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 < tsrc\vdbe.c > be80: 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 vdbe.new..move v be90: 64 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 dbe.new tsrc\vdb bea0: 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 e.c..echo > .tar beb0: 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 get_source..sqli bec0: 74 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 te3.c:..target_s bed0: 6f 75 72 63 65 20 73 71 6c 69 74 65 33 65 78 74 ource sqlite3ext bee0: 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f .h$(MKSQLITE3C_
bef0: 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43  TOOL)..$(TCLSH_C bf00: 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 MD)$(MKSQLITE3C
bf10: 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54  _TOOL) $(MKSQLIT bf20: 45 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 E3C_ARGS)..copy bf30: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69$(TOP)\ext\sessi
bf40: 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f  on\sqlite3sessio
bf50: 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61  n.h ...sqlite3-a
bf60: 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63 20  ll.c:.sqlite3.c
bf70: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69  $(TOP)\tool\spli bf80: 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 t-sqlite3c.tcl.. bf90: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T bfa0: 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 OP)\tool\split-s bfb0: 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c qlite3c.tcl.# << bfc0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 /mark>>..# Rule bfd0: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 61 6d 61 to build the ama bfe0: 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 lgamation.#.sqli bff0: 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 te3.lo:.$(SQLITE
c000: 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  3C)..$(LTCOMPILE c010: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
c020: 5f 4f 50 54 53 29 20 2d 63 20 24 28 53 51 4c 49  _OPTS) -c $(SQLI c030: 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e TE3C)..# <<mark> c040: 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 >.# Rules to bui c050: 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d ld the LEMON com c060: 70 69 6c 65 72 20 67 65 6e 65 72 61 74 6f 72 0a piler generator. c070: 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f #.lempar.c:.$(TO
c080: 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63  P)\tool\lempar.c
c090: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f  ..copy $(TOP)\to c0a0: 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c ol\lempar.c ...l c0b0: 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 emon.exe:.$(TOP)
c0c0: 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65  \tool\lemon.c le
c0d0: 6d 70 61 72 2e 63 0a 09 24 28 42 43 43 29 20 24  mpar.c..$(BCC)$
c0e0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63 65  (NO_WARN) -Dacce
c0f0: 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d  ss=_access \...-
c100: 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  Fe$@$(TOP)\tool
c110: 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24  \lemon.c /link $c120: 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c (LDFLAGS)$(NLTL
c130: 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49  INKOPTS) $(NLTLI c140: 42 50 41 54 48 53 29 0a 0a 23 20 3c 3c 6d 61 72 BPATHS)..# <<mar c150: 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 k>>.# Rules to b c160: 75 69 6c 64 20 74 68 65 20 73 6f 75 72 63 65 2d uild the source- c170: 69 64 20 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f id generator too c180: 6c 0a 23 0a 6d 6b 73 6f 75 72 63 65 69 64 2e 65 l.#.mksourceid.e c190: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c xe:.$(TOP)\tool\
c1a0: 6d 6b 73 6f 75 72 63 65 69 64 2e 63 0a 09 24 28  mksourceid.c..$( c1b0: 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 BCC)$(NO_WARN)
c1c0: 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f  -Fe$@$(TOP)\too
c1d0: 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 20 2f  l\mksourceid.c /
c1e0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) c1f0: 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24$(NLTLINKOPTS) $c200: 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 (NLTLIBPATHS)..# c210: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 Rules to build c220: 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 individual *.lo c230: 66 69 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 files from gener c240: 61 74 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 ated *.c files. c250: 54 68 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74 This.# applies t c260: 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65 o:.#.# parse c270: 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 .lo.# opcode c280: 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a s.lo.#.parse.lo: c290: 09 70 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a .parse.c$(HDR).
c2a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
c2b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c2c0: 53 29 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f  S) -c parse.c..o
c2d0: 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64  pcodes.lo:.opcod
c2e0: 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  es.c..$(LTCOMPIL c2f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
c300: 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f 64  E_OPTS) -c opcod
c310: 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  es.c.# <</mark>>
c320: 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c  ..# Rule to buil
c330: 64 20 74 68 65 20 57 69 6e 33 32 20 72 65 73 6f  d the Win32 reso
c340: 75 72 63 65 73 20 6f 62 6a 65 63 74 20 66 69 6c  urces object fil
c350: 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52  e..#.!IF $(USE_R c360: 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 C)!=0.# <<block1 c370: 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 >>.$(LIBRESOBJS)
c380: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c  :.$(TOP)\src\sql c390: 69 74 65 33 2e 72 63 20 24 28 53 51 4c 49 54 45 ite3.rc$(SQLITE
c3a0: 33 48 29 0a 09 65 63 68 6f 20 23 69 66 6e 64 65  3H)..echo #ifnde
c3b0: 66 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43  f SQLITE_RESOURC
c3c0: 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69  E_VERSION > sqli
c3d0: 74 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20  te3rc.h..for /F
c3e0: 25 25 56 20 69 6e 20 28 27 74 79 70 65 20 22 24  %%V in ('type "$c3f0: 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 (TOP)\VERSION"') c400: 20 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 do ( \...echo # c410: 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 define SQLITE_RE c420: 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 SOURCE_VERSION % c430: 25 56 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 %V \....|$(TCLS
c440: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to c450: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 ol\replace.tcl e c460: 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c xact . ^, >> sql c470: 69 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 ite3rc.h \..)..e c480: 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 cho #endif >> sq c490: 6c 69 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 lite3rc.h..$(LTR
c4a0: 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c  COMPILE) -fo $(L c4b0: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 IBRESOBJS)$(TOP
c4c0: 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63  )\src\sqlite3.rc
c4d0: 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21  .# <</block1>>.!
c4e0: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
c4f0: 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69  >.# Rules to bui
c500: 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e  ld individual *.
c510: 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69  lo files from fi
c520: 6c 65 73 20 69 6e 20 74 68 65 20 73 72 63 20 64  les in the src d
c530: 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65  irectory..#.alte
c540: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src c550: 5c 61 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a \alter.c$(HDR).
c560: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
c570: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c580: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src c590: 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a \alter.c..analyz c5a0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
c5b0: 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52  \analyze.c $(HDR c5c0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
c5d0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O c5e0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
c5f0: 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74  rc\analyze.c..at
c600: 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  tach.lo:.$(TOP)\ c610: 73 72 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48 src\attach.c$(H
c620: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE c630: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
c640: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) c650: 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 \src\attach.c..a c660: 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 uth.lo:.$(TOP)\s
c670: 72 63 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29  rc\auth.c $(HDR) c680: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c690: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP c6a0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
c6b0: 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70  c\auth.c..backup
c6c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ c6d0: 62 61 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a backup.c$(HDR).
c6e0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
c6f0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c700: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src c710: 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 \backup.c..bitve c720: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 c.lo:.$(TOP)\src
c730: 5c 62 69 74 76 65 63 2e 63 20 24 28 48 44 52 29  \bitvec.c $(HDR) c740: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c750: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP c760: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
c770: 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75  c\bitvec.c..btmu
c780: 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  tex.lo:.$(TOP)\s c790: 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48 rc\btmutex.c$(H
c7a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE c7b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
c7c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) c7d0: 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a \src\btmutex.c.. c7e0: 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 btree.lo:.$(TOP)
c7f0: 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48  \src\btree.c $(H c800: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 DR)$(TOP)\src\p
c810: 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50  ager.h..$(LTCOMP c820: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
c830: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T c840: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a OP)\src\btree.c. c850: 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 .build.lo:.$(TOP
c860: 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28  )\src\build.c $( c870: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
c880: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL c890: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
c8a0: 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63  )\src\build.c..c
c8b0: 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f  allback.lo:.$(TO c8c0: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e P)\src\callback. c8d0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO c8e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
c8f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $c900: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 (TOP)\src\callba c910: 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c ck.c..complete.l c920: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f o:.$(TOP)\src\co
c930: 6d 70 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a  mplete.c $(HDR). c940: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( c950: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT c960: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
c970: 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69  \complete.c..cti
c980: 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  me.lo:.$(TOP)\sr c990: 63 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29 c\ctime.c$(HDR)
c9a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
c9b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c9c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr c9d0: 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e c\ctime.c..date. c9e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 lo:.$(TOP)\src\d
c9f0: 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ate.c $(HDR)..$(
ca00: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR ca10: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) ca20: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 -c$(TOP)\src\da
ca30: 74 65 2e 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a  te.c..dbpage.lo:
ca40: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61  .$(TOP)\src\dbpa ca50: 67 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c ge.c$(HDR)..$(L ca60: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
ca70: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ca80: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70  c $(TOP)\src\dbp ca90: 61 67 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f age.c..dbstat.lo caa0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 :.$(TOP)\src\dbs
cab0: 74 61 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tat.c $(HDR)..$(
cac0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR cad0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) cae0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 -c$(TOP)\src\db
caf0: 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c  stat.c..delete.l
cb00: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 65  o:.$(TOP)\src\de cb10: 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 lete.c$(HDR)..$cb20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
cb30: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cb40: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64   -c $(TOP)\src\d cb50: 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f elete.c..expr.lo cb60: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 :.$(TOP)\src\exp
cb70: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  r.c $(HDR)..$(LT
cb80: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ cb90: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c cba0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72$(TOP)\src\expr
cbb0: 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28  .c..fault.lo:.$( cbc0: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 TOP)\src\fault.c cbd0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM cbe0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
cbf0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( cc00: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 TOP)\src\fault.c cc10: 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 ..fkey.lo:.$(TOP
cc20: 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24 28 48  )\src\fkey.c $(H cc30: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
cc40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE cc50: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
cc60: 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e  \src\fkey.c..fun
cc70: 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  c.lo:.$(TOP)\src cc80: 5c 66 75 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 \func.c$(HDR)..
cc90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
cca0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ccb0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ ccc0: 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c func.c..global.l ccd0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c o:.$(TOP)\src\gl
cce0: 6f 62 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24  obal.c $(HDR)..$
ccf0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO cd00: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) cd10: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 -c$(TOP)\src\g
cd20: 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f  lobal.c..hash.lo
cd30: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73  :.$(TOP)\src\has cd40: 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 h.c$(HDR)..$(LT cd50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
cd60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cd70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68   $(TOP)\src\hash cd80: 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 .c..insert.lo:.$
cd90: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74  (TOP)\src\insert
cda0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cdb0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C cdc0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c cdd0: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72$(TOP)\src\inser
cde0: 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09  t.c..legacy.lo:.
cdf0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63  $(TOP)\src\legac ce00: 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 y.c$(HDR)..$(LT ce10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
ce20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
ce30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61   $(TOP)\src\lega ce40: 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f cy.c..loadext.lo ce50: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 :.$(TOP)\src\loa
ce60: 64 65 78 74 2e 63 20 24 28 48 44 52 29 0a 09 24  dext.c $(HDR)..$
ce70: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO ce80: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) ce90: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c -c$(TOP)\src\l
cea0: 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c  oadext.c..main.l
ceb0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  o:.$(TOP)\src\ma cec0: 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c in.c$(HDR)..$(L ced0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
cee0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cef0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69  c $(TOP)\src\mai cf00: 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 n.c..malloc.lo:. cf10: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f$(TOP)\src\mallo
cf20: 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  c.c $(HDR)..$(LT
cf30: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ cf40: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c cf50: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c$(TOP)\src\mall
cf60: 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24  oc.c..mem0.lo:.$cf70: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 (TOP)\src\mem0.c cf80: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM cf90: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
cfa0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( cfb0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a TOP)\src\mem0.c. cfc0: 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 .mem1.lo:.$(TOP)
cfd0: 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44  \src\mem1.c $(HD cfe0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
cff0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d000: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
d010: 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32  src\mem1.c..mem2
d020: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d030: 6d 65 6d 32 2e 63 20 24 28 48 44 52 29 0a 09 24 mem2.c$(HDR)..$d040: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d050: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d060: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m d070: 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 em2.c..mem3.lo:. d080: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e$(TOP)\src\mem3.
d090: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d0a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO d0b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
d0c0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63  (TOP)\src\mem3.c
d0d0: 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50  ..mem5.lo:.$(TOP d0e0: 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48 )\src\mem5.c$(H
d0f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE d100: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
d110: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) d120: 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d \src\mem5.c..mem d130: 64 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 db.lo:.$(TOP)\sr
d140: 63 5c 6d 65 6d 64 62 2e 63 20 24 28 48 44 52 29  c\memdb.c $(HDR) d150: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $d160: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP d170: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
d180: 63 5c 6d 65 6d 64 62 2e 63 0a 0a 6d 65 6d 6a 6f  c\memdb.c..memjo
d190: 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29  urnal.lo:.$(TOP) d1a0: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e \src\memjournal. d1b0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO d1c0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d1d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $d1e0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 (TOP)\src\memjou d1f0: 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f rnal.c..mutex.lo d200: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 :.$(TOP)\src\mut
d210: 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ex.c $(HDR)..$(L
d220: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d230: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d240: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 c$(TOP)\src\mut
d250: 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70  ex.c..mutex_noop
d260: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d270: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 mutex_noop.c$(H
d280: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE d290: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
d2a0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) d2b0: 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e \src\mutex_noop. d2c0: 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f c..mutex_unix.lo d2d0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 :.$(TOP)\src\mut
d2e0: 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29  ex_unix.c $(HDR) d2f0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $d300: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP d310: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
d320: 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a  c\mutex_unix.c..
d330: 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28  mutex_w32.lo:.$( d340: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 TOP)\src\mutex_w d350: 33 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 32.c$(HDR)..$(L d360: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d370: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d380: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  c $(TOP)\src\mut d390: 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79 ex_w32.c..notify d3a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
d3b0: 6e 6f 74 69 66 79 2e 63 20 24 28 48 44 52 29 0a  notify.c $(HDR). d3c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d3d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d3e0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d3f0: 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 72  \notify.c..pager
d400: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d410: 70 61 67 65 72 2e 63 20 24 28 48 44 52 29 20 24 pager.c$(HDR) $d420: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e (TOP)\src\pager. d430: 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 h..$(LTCOMPILE)
d440: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O d450: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
d460: 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 63  rc\pager.c..pcac
d470: 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  he.lo:.$(TOP)\sr d480: 63 5c 70 63 61 63 68 65 2e 63 20 24 28 48 44 52 c\pcache.c$(HDR
d490: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61  ) $(TOP)\src\pca d4a0: 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 che.h..$(LTCOMPI
d4b0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI d4c0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
d4d0: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 0a  P)\src\pcache.c.
d4e0: 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54  .pcache1.lo:.$(T d4f0: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e OP)\src\pcache1. d500: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c c$(HDR) $(TOP)\ d510: 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 src\pcache.h..$(
d520: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR d530: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) d540: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 -c$(TOP)\src\pc
d550: 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09  ache1.c..os.lo:.
d560: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20  $(TOP)\src\os.c d570: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP d580: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
d590: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T d5a0: 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 OP)\src\os.c..os d5b0: 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 _unix.lo:.$(TOP)
d5c0: 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24  \src\os_unix.c $d5d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
d5e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI d5f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
d600: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63  P)\src\os_unix.c
d610: 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54  ..os_win.lo:.$(T d620: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 OP)\src\os_win.c d630: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM d640: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
d650: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( d660: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e TOP)\src\os_win. d670: 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28 c..pragma.lo:.$(
d680: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e  TOP)\src\pragma.
d690: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d6a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO d6b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
d6c0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61  (TOP)\src\pragma
d6d0: 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09  .c..prepare.lo:.
d6e0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61  $(TOP)\src\prepa d6f0: 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c re.c$(HDR)..$(L d700: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d710: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d720: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65  c $(TOP)\src\pre d730: 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c pare.c..printf.l d740: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 o:.$(TOP)\src\pr
d750: 69 6e 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24  intf.c $(HDR)..$
d760: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO d770: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) d780: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 -c$(TOP)\src\p
d790: 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e  rintf.c..random.
d7a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72  lo:.$(TOP)\src\r d7b0: 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09 andom.c$(HDR)..
d7c0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
d7d0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d7e0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ d7f0: 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 random.c..resolv d800: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
d810: 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52  \resolve.c $(HDR d820: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
d830: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O d840: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
d850: 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f  rc\resolve.c..ro
d860: 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  wset.lo:.$(TOP)\ d870: 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 24 28 48 src\rowset.c$(H
d880: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE d890: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
d8a0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) d8b0: 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73 \src\rowset.c..s d8c0: 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 elect.lo:.$(TOP)
d8d0: 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 28  \src\select.c $( d8e0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d8f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d900: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
d910: 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a  )\src\select.c..
d920: 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50  status.lo:.$(TOP d930: 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24 )\src\status.c$
d940: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d950: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d960: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d970: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 0a P)\src\status.c. d980: 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 .table.lo:.$(TOP
d990: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 28  )\src\table.c $( d9a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d9b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d9c0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
d9d0: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74  )\src\table.c..t
d9e0: 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50  hreads.lo:.$(TOP d9f0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 )\src\threads.c da00: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP da10: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
da20: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T da30: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e OP)\src\threads. da40: 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 c..tokenize.lo:. da50: 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e$(TOP)\src\token
da60: 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 73  ize.c keywordhas
da70: 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.h $(HDR)..$(LT
da80: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ da90: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c daa0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65$(TOP)\src\toke
dab0: 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 77  nize.c..treeview
dac0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ dad0: 74 72 65 65 76 69 65 77 2e 63 20 24 28 48 44 52 treeview.c$(HDR
dae0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) daf0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
db00: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s db10: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a 74 rc\treeview.c..t db20: 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 rigger.lo:.$(TOP
db30: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20  )\src\trigger.c
db40: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
db50: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP db60: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
db70: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e  OP)\src\trigger.
db80: 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28  c..update.lo:.$( db90: 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e TOP)\src\update. dba0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO dbb0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
dbc0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $dbd0: 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 (TOP)\src\update dbe0: 2e 63 0a 0a 75 70 73 65 72 74 2e 6c 6f 3a 09 24 .c..upsert.lo:.$
dbf0: 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 65 72 74  (TOP)\src\upsert
dc00: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
dc10: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C dc20: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c dc30: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 73 65 72$(TOP)\src\upser
dc40: 74 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54  t.c..utf.lo:.$(T dc50: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 OP)\src\utf.c$(
dc60: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL dc70: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
dc80: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP dc90: 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 )\src\utf.c..uti dca0: 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 l.lo:.$(TOP)\src
dcb0: 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 29 0a 09  \util.c $(HDR).. dcc0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C dcd0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS dce0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
dcf0: 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c  util.c..vacuum.l
dd00: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 61  o:.$(TOP)\src\va dd10: 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 cuum.c$(HDR)..$dd20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
dd30: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
dd40: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v dd50: 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f acuum.c..vdbe.lo dd60: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 :.$(TOP)\src\vdb
dd70: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
dd80: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ dd90: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c dda0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
ddb0: 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09  .c..vdbeapi.lo:.
ddc0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea ddd0: 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c pi.c$(HDR)..$(L dde0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
ddf0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
de00: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb de10: 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e eapi.c..vdbeaux. de20: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 lo:.$(TOP)\src\v
de30: 64 62 65 61 75 78 2e 63 20 24 28 48 44 52 29 0a  dbeaux.c $(HDR). de40: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( de50: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT de60: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
de70: 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 64 62 65  \vdbeaux.c..vdbe
de80: 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  blob.lo:.$(TOP)\ de90: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 src\vdbeblob.c$
dea0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI deb0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
dec0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO ded0: 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e P)\src\vdbeblob. dee0: 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 c..vdbemem.lo:.$
def0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65  (TOP)\src\vdbeme
df00: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
df10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ df20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c df30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
df40: 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e  mem.c..vdbesort.
df50: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v df60: 64 62 65 73 6f 72 74 2e 63 20 24 28 48 44 52 29 dbesort.c$(HDR)
df70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
df80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
df90: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr dfa0: 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 c\vdbesort.c..vd dfb0: 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f betrace.lo:.$(TO
dfc0: 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65  P)\src\vdbetrace
dfd0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
dfe0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C dff0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c e000: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74$(TOP)\src\vdbet
e010: 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a  race.c..vtab.lo:
e020: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62  .$(TOP)\src\vtab e030: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC e040: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
e050: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
e060: 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e  $(TOP)\src\vtab. e070: 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 c..wal.lo:.$(TOP
e080: 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28 48 44  )\src\wal.c $(HD e090: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
e0a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ e0b0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
e0c0: 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65  src\wal.c..walke
e0d0: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src e0e0: 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 \walker.c$(HDR)
e0f0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
e100: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e110: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr e120: 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 c\walker.c..wher e130: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
e140: 5c 77 68 65 72 65 2e 63 20 24 28 48 44 52 29 0a  \where.c $(HDR). e150: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( e160: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT e170: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
e180: 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 72 65 63  \where.c..wherec
e190: 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ode.lo:.$(TOP)\s e1a0: 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 24 rc\wherecode.c$
e1b0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI e1c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
e1d0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO e1e0: 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 P)\src\wherecode e1f0: 2e 63 0a 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f .c..whereexpr.lo e200: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 :.$(TOP)\src\whe
e210: 72 65 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a  reexpr.c $(HDR). e220: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( e230: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT e240: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
e250: 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 77 69  \whereexpr.c..wi
e260: 6e 64 6f 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ndow.lo:.$(TOP)\ e270: 73 72 63 5c 77 69 6e 64 6f 77 2e 63 20 24 28 48 src\window.c$(H
e280: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE e290: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
e2a0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) e2b0: 5c 73 72 63 5c 77 69 6e 64 6f 77 2e 63 0a 0a 74 \src\window.c..t e2c0: 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 clsqlite.lo:.$(T
e2d0: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
e2e0: 65 2e 63 20 24 28 48 44 52 29 20 24 28 53 51 4c  e.c $(HDR)$(SQL
e2f0: 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28  ITE_TCL_DEP)..$( e300: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f LTCOMPILE)$(NO_
e310: 57 41 52 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f  WARN) -DUSE_TCL_
e320: 53 54 55 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f  STUBS=1 -DBUILD_
e330: 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN e340: 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c CDIR) -c$(TOP)\
e350: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a  src\tclsqlite.c.
e360: 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c  .tclsqlite-shell
e370: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ e380: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 tclsqlite.c$(HD
e390: 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f  R) $(SQLITE_TCL_ e3a0: 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c DEP)..$(LTCOMPIL
e3b0: 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  E) $(NO_WARN) -D e3c0: 54 43 4c 53 48 20 2d 44 42 55 49 4c 44 5f 73 71 TCLSH -DBUILD_sq e3d0: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 lite -I$(TCLINCD
e3e0: 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  IR) -c $(TOP)\sr e3f0: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 c\tclsqlite.c..t e400: 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 clsqlite3.exe:.t e410: 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c clsqlite-shell.l e420: 6f 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 o$(SQLITE3C) $( e430: 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 SQLITE3H)$(LIBR
e440: 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e  ESOBJS)..$(LTLIN e450: 4b 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f K)$(SQLITE3C) /
e460: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) e470: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28$(LTLINKOPTS) $( e480: 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c TCLLIBPATHS)$(L
e490: 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a  TLIBPATHS) /OUT:
e4a0: 24 40 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65  $@ tclsqlite-she e4b0: 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42 ll.lo$(LIBRESOB
e4c0: 4a 53 29 20 24 28 54 43 4c 4c 49 42 53 29 20 24  JS) $(TCLLIBS)$
e4d0: 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS e4e0: 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 )..# Rules to bu e4f0: 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e ild opcodes.c an e500: 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 d opcodes.h.#.op e510: 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73 codes.c:.opcodes e520: 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d .h$(TOP)\tool\m
e530: 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28  kopcodec.tcl..$( e540: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
e550: 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63  )\tool\mkopcodec
e560: 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e  .tcl opcodes.h >
e570: 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f   opcodes.c..opco
e580: 64 65 73 2e 68 3a 09 70 61 72 73 65 2e 68 20 24  des.h:.parse.h $e590: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 (TOP)\src\vdbe.c e5a0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f$(TOP)\tool\mko
e5b0: 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74 79 70 65  pcodeh.tcl..type
e5c0: 20 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29 5c   parse.h $(TOP)\ e5d0: 73 72 63 5c 76 64 62 65 2e 63 20 7c 20 24 28 54 src\vdbe.c |$(T
e5e0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) e5f0: 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e \tool\mkopcodeh. e600: 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a tcl > opcodes.h. e610: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c .# Rules to buil e620: 64 20 70 61 72 73 65 2e 63 20 61 6e 64 20 70 61 d parse.c and pa e630: 72 73 65 2e 68 20 2d 20 74 68 65 20 6f 75 74 70 rse.h - the outp e640: 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a uts of lemon..#. e650: 70 61 72 73 65 2e 68 3a 09 70 61 72 73 65 2e 63 parse.h:.parse.c e660: 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 ..parse.c:.$(TOP
e670: 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 6c 65  )\src\parse.y le
e680: 6d 6f 6e 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  mon.exe $(TOP)\t e690: 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 ool\addopcodes.t e6a0: 63 6c 0a 09 64 65 6c 20 2f 51 20 70 61 72 73 65 cl..del /Q parse e6b0: 2e 79 20 70 61 72 73 65 2e 68 20 70 61 72 73 65 .y parse.h parse e6c0: 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 .h.temp 2>NUL..c e6d0: 6f 70 79 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 opy$(TOP)\src\p
e6e0: 61 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f  arse.y ....\lemo
e6f0: 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41 54  n.exe $(REQ_FEAT e700: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 URE_FLAGS)$(OPT
e710: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
e720: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(EXT_FEATURE_FL e730: 41 47 53 29 20 24 28 4f 50 54 53 29 20 70 61 72 AGS)$(OPTS) par
e740: 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61 72 73 65  se.y..move parse
e750: 2e 68 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 0a  .h parse.h.temp.
e760: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD)$(
e770: 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63  TOP)\tool\addopc
e780: 6f 64 65 73 2e 74 63 6c 20 70 61 72 73 65 2e 68  odes.tcl parse.h
e790: 2e 74 65 6d 70 20 3e 20 70 61 72 73 65 2e 68 0a  .temp > parse.h.
e7a0: 0a 24 28 53 51 4c 49 54 45 33 48 29 3a 09 24 28  .$(SQLITE3H):.$(
e7b0: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e  TOP)\src\sqlite.
e7c0: 68 2e 69 6e 20 24 28 54 4f 50 29 5c 6d 61 6e 69  h.in $(TOP)\mani e7d0: 66 65 73 74 20 6d 6b 73 6f 75 72 63 65 69 64 2e fest mksourceid. e7e0: 65 78 65 20 24 28 54 4f 50 29 5c 56 45 52 53 49 exe$(TOP)\VERSI
e7f0: 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  ON..$(TCLSH_CMD) e800: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73$(TOP)\tool\mks
e810: 71 6c 69 74 65 33 68 2e 74 63 6c 20 24 28 54 4f  qlite3h.tcl $(TO e820: 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51 4c 49 54 P:\=/) >$(SQLIT
e830: 45 33 48 29 20 24 28 4d 4b 53 51 4c 49 54 45 33  E3H) $(MKSQLITE3 e840: 48 5f 41 52 47 53 29 0a 0a 73 71 6c 69 74 65 33 H_ARGS)..sqlite3 e850: 65 78 74 2e 68 3a 09 2e 74 61 72 67 65 74 5f 73 ext.h:..target_s e860: 6f 75 72 63 65 0a 21 49 46 20 24 28 55 53 45 5f ource.!IF$(USE_
e870: 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24  STDCALL)!=0 || $e880: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 09 (FOR_WIN10)!=0.. e890: 74 79 70 65 20 74 73 72 63 5c 73 71 6c 69 74 65 type tsrc\sqlite e8a0: 33 65 78 74 2e 68 20 7c 20 24 28 54 43 4c 53 48 3ext.h |$(TCLSH
e8b0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too e8c0: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 l\replace.tcl re e8d0: 67 73 75 62 20 22 5c 28 5c 2a 5c 29 22 20 22 28 gsub "$$\*$$" "( e8e0: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 20 SQLITE_CALLBACK e8f0: 2a 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 *)" \...|$(TCLS
e900: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to e910: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 ol\replace.tcl r e920: 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 egsub "\(\*" "(S e930: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 20 2a 22 QLITE_APICALL *" e940: 20 3e 20 73 71 6c 69 74 65 33 65 78 74 2e 68 0a > sqlite3ext.h. e950: 09 63 6f 70 79 20 2f 59 20 73 71 6c 69 74 65 33 .copy /Y sqlite3 e960: 65 78 74 2e 68 20 74 73 72 63 5c 73 71 6c 69 74 ext.h tsrc\sqlit e970: 65 33 65 78 74 2e 68 0a 21 45 4c 53 45 0a 09 63 e3ext.h.!ELSE..c e980: 6f 70 79 20 2f 59 20 74 73 72 63 5c 73 71 6c 69 opy /Y tsrc\sqli e990: 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74 65 33 te3ext.h sqlite3 e9a0: 65 78 74 2e 68 0a 21 45 4e 44 49 46 0a 0a 6d 6b ext.h.!ENDIF..mk e9b0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 3a keywordhash.exe: e9c0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b .$(TOP)\tool\mkk
e9d0: 65 79 77 6f 72 64 68 61 73 68 2e 63 0a 09 24 28  eywordhash.c..$( e9e0: 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 BCC)$(NO_WARN)
e9f0: 2d 46 65 24 40 20 24 28 52 45 51 5f 46 45 41 54  -Fe$@$(REQ_FEAT
ea00: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT ea10: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) ea20: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c$(EXT_FEATURE_FL
ea30: 41 47 53 29 20 24 28 4f 50 54 53 29 20 5c 0a 09  AGS) $(OPTS) \.. ea40: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b .$(TOP)\tool\mkk
ea50: 65 79 77 6f 72 64 68 61 73 68 2e 63 20 2f 6c 69  eywordhash.c /li
ea60: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
ea70: 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e  NLTLINKOPTS) $(N ea80: 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 6b 65 79 LTLIBPATHS)..key ea90: 77 6f 72 64 68 61 73 68 2e 68 3a 09 24 28 54 4f wordhash.h:.$(TO
eaa0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72  P)\tool\mkkeywor
eab0: 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79 77 6f 72  dhash.c mkkeywor
eac0: 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b  dhash.exe...\mkk
ead0: 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 20 3e  eywordhash.exe >
eae0: 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 0a 0a   keywordhash.h..
eaf0: 23 20 53 6f 75 72 63 65 20 66 69 6c 65 73 20 74  # Source files t
eb00: 68 61 74 20 67 6f 20 69 6e 74 6f 20 6d 61 6b 69  hat go into maki
eb10: 6e 67 20 73 68 65 6c 6c 2e 63 0a 53 48 45 4c 4c  ng shell.c.SHELL
eb20: 5f 53 52 43 20 3d 20 5c 0a 09 24 28 54 4f 50 29  _SRC = \..$(TOP) eb30: 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 2e 69 6e 20 \src\shell.c.in eb40: 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 \..$(TOP)\ext\mi
eb50: 73 63 5c 61 70 70 65 6e 64 76 66 73 2e 63 20 5c  sc\appendvfs.c \
eb60: 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ..$(TOP)\ext\mis eb70: 63 5c 73 68 61 74 68 72 65 65 2e 63 20 5c 0a 09 c\shathree.c \.. eb80: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
eb90: 66 69 6c 65 69 6f 2e 63 20 5c 0a 09 24 28 54 4f  fileio.c \..$(TO eba0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6f 6d 70 P)\ext\misc\comp ebb0: 6c 65 74 69 6f 6e 2e 63 20 5c 0a 09 24 28 54 4f letion.c \..$(TO
ebc0: 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c 73 71  P)\ext\expert\sq
ebd0: 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20 5c 0a  lite3expert.c \.
ebe0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65  .$(TOP)\ext\expe ebf0: 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 rt\sqlite3expert ec00: 2e 68 20 5c 0a 09 24 28 54 4f 50 29 5c 73 72 63 .h \..$(TOP)\src
ec10: 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e  \test_windirent.
ec20: 63 0a 0a 23 20 49 66 20 75 73 65 20 6f 66 20 7a  c..# If use of z
ec30: 6c 69 62 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  lib is enabled,
ec40: 61 64 64 20 74 68 65 20 22 7a 69 70 66 69 6c 65  add the "zipfile
ec50: 2e 63 22 20 73 6f 75 72 63 65 20 66 69 6c 65 2e  .c" source file.
ec60: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49  .#.!IF $(USE_ZLI ec70: 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 53 52 43 20 B)!=0.SHELL_SRC ec80: 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29 20 24 =$(SHELL_SRC) $ec90: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 (TOP)\ext\misc\s eca0: 71 6c 61 72 2e 63 0a 53 48 45 4c 4c 5f 53 52 43 qlar.c.SHELL_SRC ecb0: 20 3d 20 24 28 53 48 45 4c 4c 5f 53 52 43 29 20 =$(SHELL_SRC)
ecc0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ ecd0: 7a 69 70 66 69 6c 65 2e 63 0a 21 45 4e 44 49 46 zipfile.c.!ENDIF ece0: 0a 0a 73 68 65 6c 6c 2e 63 3a 09 24 28 53 48 45 ..shell.c:.$(SHE
ecf0: 4c 4c 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 74  LL_SRC) $(TOP)\t ed00: 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c ool\mkshellc.tcl ed10: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 ..$(TCLSH_CMD) $ed20: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 (TOP)\tool\mkshe ed30: 6c 6c 63 2e 74 63 6c 20 3e 20 73 68 65 6c 6c 2e llc.tcl > shell. ed40: 63 0a 0a 7a 6c 69 62 3a 0a 09 70 75 73 68 64 20 c..zlib:..pushd ed50: 24 28 5a 4c 49 42 44 49 52 29 20 26 26 20 24 28$(ZLIBDIR) && $( ed60: 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33 32 5c 4d MAKE) /f win32\M ed70: 61 6b 65 66 69 6c 65 2e 6d 73 63 20 63 6c 65 61 akefile.msc clea ed80: 6e 20 24 28 5a 4c 49 42 4c 49 42 29 20 26 26 20 n$(ZLIBLIB) &&
ed90: 70 6f 70 64 0a 0a 23 20 52 75 6c 65 73 20 74 6f  popd..# Rules to
eda0: 20 62 75 69 6c 64 20 74 68 65 20 65 78 74 65 6e   build the exten
edb0: 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a 23 0a  sion objects..#.
edc0: 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  icu.lo:.$(TOP)\e edd0: 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 24 28 48 xt\icu\icu.c$(H
ede0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
edf0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO ee00: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) ee10: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
ee20: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T ee30: 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e OP)\ext\icu\icu. ee40: 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28 54 4f c..fts2.lo:.$(TO
ee50: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
ee60: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
ee70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE ee80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
ee90: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN eea0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE eeb0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
eec0: 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73 32 5f  s2\fts2.c..fts2_
eed0: 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  hash.lo:.$(TOP)\ eee0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 ext\fts2\fts2_ha eef0: 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 sh.c$(HDR) $(EX ef00: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
ef10: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI ef20: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
ef30: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
ef40: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ ef50: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 fts2\fts2_hash.c ef60: 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a 09 24 ..fts2_icu.lo:.$
ef70: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
ef80: 74 73 32 5f 69 63 75 2e 63 20 24 28 48 44 52 29  ts2_icu.c $(HDR) ef90: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT efa0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
efb0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( efc0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT efd0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
efe0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69  \ext\fts2\fts2_i
eff0: 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72 74 65  cu.c..fts2_porte
f000: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  r.lo:.$(TOP)\ext f010: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 \fts2\fts2_porte f020: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 r.c$(HDR) $(EXT f030: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
f040: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL f050: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
f060: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
f070: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f f080: 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e ts2\fts2_porter. f090: 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 c..fts2_tokenize f0a0: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 r.lo:.$(TOP)\ext
f0b0: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
f0c0: 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  izer.c $(HDR)$(
f0d0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM f0e0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
f0f0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ f100: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C f110: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
f120: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65  t\fts2\fts2_toke
f130: 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f  nizer.c..fts2_to
f140: 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54  kenizer1.lo:.$(T f150: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts f160: 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 2_tokenizer1.c$
f170: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). f180: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( f190: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT f1a0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
f1b0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $f1c0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f f1d0: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 ts2_tokenizer1.c f1e0: 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54 4f 50 ..fts3.lo:.$(TOP
f1f0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e  )\ext\fts3\fts3.
f200: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
f210: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) f220: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
f230: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) f240: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - f250: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
f260: 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33 5f 61  3\fts3.c..fts3_a
f270: 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  ux.lo:.$(TOP)\ex f280: 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e t\fts3\fts3_aux. f290: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD f2a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
f2b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ f2c0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
f2d0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
f2e0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts f2f0: 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a 66 74 3\fts3_aux.c..ft f300: 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f s3_expr.lo:.$(TO
f310: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
f320: 5f 65 78 70 72 2e 63 20 24 28 48 44 52 29 20 24  _expr.c $(HDR)$
f330: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO f340: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
f350: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO f360: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ f370: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
f380: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70  xt\fts3\fts3_exp
f390: 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68 2e 6c  r.c..fts3_hash.l
f3a0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft f3b0: 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 24 s3\fts3_hash.c$
f3c0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). f3d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( f3e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT f3f0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
f400: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $f410: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f f420: 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74 73 33 ts3_hash.c..fts3 f430: 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c _icu.lo:.$(TOP)\
f440: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63  ext\fts3\fts3_ic
f450: 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  u.c $(HDR)$(EXT
f460: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL f470: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
f480: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR f490: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE f4a0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
f4b0: 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 0a 0a  ts3\fts3_icu.c..
f4c0: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a  fts3_snippet.lo:
f4d0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3 f4e0: 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 \fts3_snippet.c f4f0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) f500: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $f510: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP f520: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
f530: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
f540: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ f550: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 0a 0a fts3_snippet.c.. f560: 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 fts3_porter.lo:. f570: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
f580: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 24 28  fts3_porter.c $( f590: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
f5a0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
f5b0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
f5c0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS f5d0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
f5e0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f5f0: 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73  s3_porter.c..fts
f600: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09  3_tokenizer.lo:.
f610: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ f620: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 fts3_tokenizer.c f630: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR f640: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
f650: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O f660: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
f670: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
f680: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 f690: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e \fts3_tokenizer. f6a0: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 c..fts3_tokenize f6b0: 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 r1.lo:.$(TOP)\ex
f6c0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
f6d0: 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20  nizer1.c $(HDR) f6e0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC f6f0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
f700: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N f710: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE f720: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
f730: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
f740: 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33  kenizer1.c..fts3
f750: 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c  _tokenize_vtab.l
f760: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft f770: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 s3\fts3_tokenize f780: 5f 76 74 61 62 2e 63 20 24 28 48 44 52 29 20 24 _vtab.c$(HDR) $f790: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f (EXTHDR)..$(LTCO
f7a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO f7b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f MPILE_OPTS)$(NO
f7c0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f7d0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e f7e0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b xt\fts3\fts3_tok f7f0: 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a 66 74 enize_vtab.c..ft f800: 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24 s3_unicode.lo:.$
f810: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
f820: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 24 28  ts3_unicode.c $( f830: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
f840: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
f850: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
f860: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS f870: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
f880: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
f890: 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a 66 74  s3_unicode.c..ft
f8a0: 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09  s3_unicode2.lo:.
f8b0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ f8c0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 fts3_unicode2.c f8d0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) f8e0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $f8f0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP f900: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
f910: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
f920: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ f930: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 0a fts3_unicode2.c. f940: 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 3a 09 .fts3_write.lo:. f950: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
f960: 66 74 73 33 5f 77 72 69 74 65 2e 63 20 24 28 48  fts3_write.c $(H f970: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$f980: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
f990: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
f9a0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ f9b0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
f9c0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
f9d0: 33 5f 77 72 69 74 65 2e 63 0a 0a 6a 73 6f 6e 31  3_write.c..json1
f9e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ f9f0: 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 24 28 48 misc\json1.c$(H
fa00: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
fa10: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO fa20: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) fa30: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
fa40: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T fa50: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f OP)\ext\misc\jso fa60: 6e 31 2e 63 0a 0a 73 74 6d 74 2e 6c 6f 3a 09 24 n1.c..stmt.lo:.$
fa70: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
fa80: 74 6d 74 2e 63 20 24 28 48 44 52 29 20 24 28 45  tmt.c $(HDR)$(E
fa90: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP faa0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
fab0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W fac0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO fad0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
fae0: 5c 6d 69 73 63 5c 73 74 6d 74 2e 63 0a 0a 72 74  \misc\stmt.c..rt
faf0: 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ree.lo:.$(TOP)\e fb00: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63 xt\rtree\rtree.c fb10: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR fb20: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
fb30: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O fb40: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
fb50: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
fb60: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65   $(TOP)\ext\rtre fb70: 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69 74 e\rtree.c..sqlit fb80: 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28 e3session.lo:.$(
fb90: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
fba0: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
fbb0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
fbc0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) fbd0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
fbe0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) fbf0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - fc00: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 c$(TOP)\ext\ses
fc10: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
fc20: 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74 68  ion.c..# FTS5 th
fc30: 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43 20  ings.#.FTS5_SRC
fc40: 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  = \.   $(TOP)\ex fc50: 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a t\fts5\fts5.h \. fc60: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74$(TOP)\ext\ft
fc70: 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20  s5\fts5Int.h \.
fc80: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts fc90: 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20 5\fts5_aux.c \. fca0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
fcb0: 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63 20  5\fts5_buffer.c
fcc0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\ fcd0: 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63 fts5\fts5_main.c fce0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
fcf0: 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69  \fts5\fts5_confi
fd00: 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  g.c \.   $(TOP)\ fd10: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65 78 ext\fts5\fts5_ex fd20: 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 pr.c \.$(TOP)
fd30: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 68  \ext\fts5\fts5_h
fd40: 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ash.c \.   $(TOP fd50: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ fd60: 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74 73 index.c \. fts fd70: 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 61 72 5parse.c fts5par fd80: 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 se.h \.$(TOP)
fd90: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 73  \ext\fts5\fts5_s
fda0: 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24 28  torage.c \.   $( fdb0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 TOP)\ext\fts5\ft fdc0: 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a s5_tokenize.c \. fdd0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74$(TOP)\ext\ft
fde0: 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65 32  s5\fts5_unicode2
fdf0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e fe00: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61 72 xt\fts5\fts5_var fe10: 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 int.c \.$(TOP
fe20: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
fe30: 76 6f 63 61 62 2e 63 0a 0a 4c 53 4d 31 5f 53 52  vocab.c..LSM1_SR
fe40: 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  C = \.   $(TOP)\ fe50: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68 20 5c ext\lsm1\lsm.h \ fe60: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c .$(TOP)\ext\l
fe70: 73 6d 31 5c 6c 73 6d 49 6e 74 2e 68 20 5c 0a 20  sm1\lsmInt.h \.
fe80: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm fe90: 31 5c 6c 73 6d 5f 63 6b 70 74 2e 63 20 5c 0a 20 1\lsm_ckpt.c \. fea0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d$(TOP)\ext\lsm
feb0: 31 5c 6c 73 6d 5f 66 69 6c 65 2e 63 20 5c 0a 20  1\lsm_file.c \.
fec0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d    $(TOP)\ext\lsm fed0: 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 20 5c 0a 20 20 1\lsm_log.c \. fee0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31$(TOP)\ext\lsm1
fef0: 5c 6c 73 6d 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20  \lsm_main.c \.
ff00: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1 ff10: 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 5c 0a 20 20 20 \lsm_mem.c \. ff20: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c$(TOP)\ext\lsm1\
ff30: 6c 73 6d 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20  lsm_mutex.c \.
ff40: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31   $(TOP)\ext\lsm1 ff50: 5c 6c 73 6d 5f 73 68 61 72 65 64 2e 63 20 5c 0a \lsm_shared.c \. ff60: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73$(TOP)\ext\ls
ff70: 6d 31 5c 6c 73 6d 5f 73 6f 72 74 65 64 2e 63 20  m1\lsm_sorted.c
ff80: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\ ff90: 6c 73 6d 31 5c 6c 73 6d 5f 73 74 72 2e 63 20 5c lsm1\lsm_str.c \ ffa0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c .$(TOP)\ext\l
ffb0: 73 6d 31 5c 6c 73 6d 5f 74 72 65 65 2e 63 20 5c  sm1\lsm_tree.c \
ffc0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  .   $(TOP)\ext\l ffd0: 73 6d 31 5c 6c 73 6d 5f 75 6e 69 78 2e 63 20 5c sm1\lsm_unix.c \ ffe0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c .$(TOP)\ext\l
fff0: 73 6d 31 5c 6c 73 6d 5f 76 61 72 69 6e 74 2e 63  sm1\lsm_varint.c
10000 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext 10010 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 74 61 62 2e 63 \lsm1\lsm_vtab.c 10020 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
10030 5c 6c 73 6d 31 5c 6c 73 6d 5f 77 69 6e 33 32 2e  \lsm1\lsm_win32.
10040 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63 3a 09  c..fts5parse.c:.
10050 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\ 10060 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f fts5parse.y lemo 10070 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 54 4f n.exe..copy$(TO
10080 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
10090 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f  parse.y ...del /
100a0 51 20 66 74 73 35 70 61 72 73 65 2e 68 20 32 3e  Q fts5parse.h 2>
100b0 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65  NUL...\lemon.exe
100c0 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F 100d0 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 LAGS)$(OPT_FEAT
100e0 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54  URE_FLAGS) $(EXT 100f0 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) 10100 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 72 73$(OPTS) fts5pars
10110 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65 2e 68  e.y..fts5parse.h
10120 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a 0a 66  :.fts5parse.c..f
10130 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f 53 52  ts5.c:.$(FTS5_SR 10140 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 C)..$(TCLSH_CMD)
10150 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 10160 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63 \tool\mkfts5c.tc 10170 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 l..copy$(TOP)\e
10180 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 2e  xt\fts5\fts5.h .
10190 0a 0a 6c 73 6d 31 2e 63 3a 09 24 28 4c 53 4d 31  ..lsm1.c:.$(LSM1 101a0 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 _SRC)..$(TCLSH_C
101b0 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6c  MD) $(TOP)\ext\l 101c0 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b 6c 73 6d 31 63 sm1\tool\mklsm1c 101d0 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 .tcl..copy$(TOP
101e0 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 2e 68  )\ext\lsm1\lsm.h
101f0 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73   ...fts5.lo:.fts
10200 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  5.c $(HDR)$(EXT
10210 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL 10220 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
10230 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR 10240 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE 10250 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 -c fts5.c..fts5 10260 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 _ext.lo:.fts5.c 10270 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) 10280 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $10290 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74 73 (NO_WARN) -c fts 102a0 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66 5.c..fts5.dll:.f 102b0 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 ts5_ext.lo..$(LD
102c0 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS)$(L
102d0 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL 102e0 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f IBPATHS) /DLL /O 102f0 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 2e 6c UT:$@ fts5_ext.l
10300 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f  o..sqlite3rbu.lo
10310 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  :.$(TOP)\ext\rbu 10320 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28 \sqlite3rbu.c$(
10330 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR).. 10340 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53$(LTCOMPILE) -DS
10350 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $( 10360 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c TOP)\ext\rbu\sql 10370 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c ite3rbu.c..# Rul 10380 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 es to build the 10390 27 74 65 73 74 66 69 78 74 75 72 65 27 20 61 70 'testfixture' ap 103a0 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49 plication..#.# I 103b0 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c f using the amal 103c0 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73 71 gamation, use sq 103d0 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 6c 79 lite3.c directly 103e0 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 74 65 to build the te 103f0 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 20 4f st.# fixture. O 10400 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 61 67 therwise link ag 10410 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 65 33 ainst libsqlite3 10420 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 69 73 .lib. (This dis 10430 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65 tinction is.# ne 10440 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65 20 cessary because 10450 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65 the test fixture 10460 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50 requires non-AP 10470 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 68 20 I symbols which 10480 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 68 65 are.# hidden whe 10490 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 69 73 n the library is 104a0 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 20 61 built via the a 104b0 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a malgamation)..#. 104c0 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 TESTFIXTURE_FLAG 104d0 53 20 3d 20 2d 44 54 43 4c 53 48 5f 49 4e 49 54 S = -DTCLSH_INIT 104e0 5f 50 52 4f 43 3d 73 71 6c 69 74 65 33 54 65 73 _PROC=sqlite3Tes 104f0 74 49 6e 69 74 20 2d 44 53 51 4c 49 54 45 5f 54 tInit -DSQLITE_T 10500 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f 43 EST=1 -DSQLITE_C 10510 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 53 54 RASH_TEST=1.TEST 10520 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 FIXTURE_FLAGS = 10530 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c$(TESTFIXTURE_FL
10540 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45  AGS) -DSQLITE_SE
10550 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RVER=1 -DSQLITE_
10560 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53 54 46  PRIVATE="".TESTF
10570 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $10580 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 (TESTFIXTURE_FLA 10590 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 GS) -DSQLITE_COR 105a0 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45 53 E$(NO_WARN).TES
105b0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
105c0 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F 105d0 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 LAGS) -DSQLITE_S 105e0 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e 54 ERIES_CONSTRAINT 105f0 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 46 49 _VERIFY=1.TESTFI 10600 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 XTURE_FLAGS =$(
10610 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
10620 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 46 41  S) -DSQLITE_DEFA
10630 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31 30  ULT_PAGE_SIZE=10
10640 32 34 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  24.TESTFIXTURE_F
10650 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX 10660 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 TURE_FLAGS) -DSQ 10670 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d 54 LITE_ENABLE_STMT 10680 56 54 41 42 3d 31 0a 54 45 53 54 46 49 58 54 55 VTAB=1.TESTFIXTU 10690 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 RE_FLAGS =$(TES
106a0 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS)
106b0 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
106c0 44 42 50 41 47 45 5f 56 54 41 42 3d 31 0a 54 45  DBPAGE_VTAB=1.TE
106d0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS
106e0 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  = $(TESTFIXTURE_ 106f0 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f FLAGS) -DSQLITE_ 10700 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 3d 31 0a 54 ENABLE_JSON1=1.T 10710 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 ESTFIXTURE_FLAGS 10720 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 =$(TESTFIXTURE
10730 5f 46 4c 41 47 53 29 20 24 28 54 45 53 54 5f 43  _FLAGS) $(TEST_C 10740 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45 53 54 CONV_OPTS)..TEST 10750 46 49 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24 FIXTURE_SRC0 =$
10760 28 54 45 53 54 45 58 54 29 20 24 28 54 45 53 54  (TESTEXT) $(TEST 10770 53 52 43 32 29 0a 54 45 53 54 46 49 58 54 55 52 SRC2).TESTFIXTUR 10780 45 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54 45 E_SRC1 =$(TESTE
10790 58 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 0a  XT) $(SQLITE3C). 107a0 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 !IF$(USE_AMALGA
107b0 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46  MATION)==0.TESTF
107c0 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54  IXTURE_SRC = $(T 107d0 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 ESTSRC)$(TOP)\s
107e0 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $107f0 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 (TESTFIXTURE_SRC 10800 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49 58 0).!ELSE.TESTFIX 10810 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 TURE_SRC =$(TES
10820 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63  TSRC) $(TOP)\src 10830 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 \tclsqlite.c$(T
10840 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 29  ESTFIXTURE_SRC1)
10850 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 55  .!ENDIF..!IF $(U 10860 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c SE_STDCALL)!=0 | 10870 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d |$(FOR_WIN10)!=
10880 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c  0.sqlite_tclDecl
10890 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64  s.h:..echo #ifnd
108a0 65 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49  ef SQLITE_TCLAPI
108b0 20 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45   > $(SQLITETCLDE 108c0 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 20 20 64 CLSH)..echo # d 108d0 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c efine SQLITE_TCL 108e0 41 50 49 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 API >>$(SQLITET
108f0 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20  CLDECLSH)..echo
10900 23 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 4c 49  #endif >> $(SQLI 10910 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 74 79 TETCLDECLSH)..ty 10920 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29 pe "$(TCLINCDIR)
10930 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09  \tclDecls.h" \..
10940 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) 10950 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c$(TOP)\tool\repl
10960 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
10970 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53  ^(EXTERN(?: CONS
10980 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d  T\d+?)?\s+?[^\(]
10990 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31  *?\s+?)Tcl_" "\1
109a0 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54   SQLITE_TCLAPI T
109b0 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c  cl_" \...| $(TCL 109c0 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 SH_CMD)$(TOP)\t
109d0 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl
109e0 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e  regsub "^(EXTERN
109f0 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44  \s+?(?:void|VOID
10a00 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a  )\s+?)TclFreeObj
10a10 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c  " "\1 SQLITE_TCL
10a20 41 50 49 20 54 63 6c 46 72 65 65 4f 62 6a 22 20  API TclFreeObj"
10a30 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM 10a40 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 D)$(TOP)\tool\r
10a50 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75  eplace.tcl regsu
10a60 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53  b "\(\*tcl_" "(S
10a70 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 63  QLITE_TCLAPI *tc
10a80 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  l_" \...| $(TCLS 10a90 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
10aa0 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
10ab0 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72  egsub "\(\*tclFr
10ac0 65 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 45 5f  eeObj" "(SQLITE_
10ad0 54 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 65 4f  TCLAPI *tclFreeO
10ae0 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53  bj" \...| $(TCLS 10af0 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
10b00 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72  ol\replace.tcl r
10b10 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53  egsub "\(\*" "(S
10b20 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 22 20  QLITE_TCLAPI *"
10b30 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45  >> $(SQLITETCLDE 10b40 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f 74 63 CLSH)..sqlite_tc 10b50 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24 28 54 43 l.h:..type "$(TC
10b60 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 20  LINCDIR)\tcl.h"
10b70 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD)$
10b80 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
10b90 63 65 2e 74 63 6c 20 65 78 61 63 74 20 74 63 6c  ce.tcl exact tcl
10ba0 44 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74  Decls.h sqlite_t
10bb0 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20  clDecls.h \...|
10bc0 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD)$(T
10bd0 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
10be0 2e 74 63 6c 20 72 65 67 73 75 62 20 22 74 79 70  .tcl regsub "typ
10bf0 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f  edef (.*?)\(Tcl_
10c00 22 20 22 74 79 70 65 64 65 66 20 5c 31 20 28 53  " "typedef \1 (S
10c10 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c  QLITE_TCLAPI Tcl
10c20 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  _" \...| $(TCLSH 10c30 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f _CMD)$(TOP)\too
10c40 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78  l\replace.tcl ex
10c50 61 63 74 20 22 76 6f 69 64 20 28 2a 66 72 65 65  act "void (*free
10c60 50 72 6f 63 29 22 20 22 76 6f 69 64 20 28 53 51  Proc)" "void (SQ
10c70 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 65  LITE_TCLAPI *fre
10c80 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28  eProc)" \...| $( 10c90 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
10ca0 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
10cb0 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61  cl exact "Tcl_Ha
10cc0 73 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50  shEntry *(*findP
10cd0 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45  roc)" "Tcl_HashE
10ce0 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43  ntry *(SQLITE_TC
10cf0 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 22  LAPI *findProc)"
10d00 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43   \...| $(TCLSH_C 10d10 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c MD)$(TOP)\tool\
10d20 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63  replace.tcl exac
10d30 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79  t "Tcl_HashEntry
10d40 20 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 29 22   *(*createProc)"
10d50 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20   "Tcl_HashEntry
10d60 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20  *(SQLITE_TCLAPI
10d70 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 3e 3e  *createProc)" >>
10d80 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21   $(SQLITETCLH).! 10d90 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75 ENDIF..testfixtu 10da0 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49 re.exe:.$(TESTFI
10db0 58 54 55 52 45 5f 53 52 43 29 20 24 28 54 45 53  XTURE_SRC) $(TES 10dc0 54 46 49 58 54 55 52 45 5f 44 45 50 29 20 24 28 TFIXTURE_DEP)$(
10dd0 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52  SQLITE3H) $(LIBR 10de0 45 53 4f 42 4a 53 29 20 24 28 48 44 52 29 20 24 ESOBJS)$(HDR) $10df0 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 (SQLITE_TCL_DEP) 10e00 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 ..$(LTLINK) -DSQ
10e10 4c 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24  LITE_NO_SYNC=1 $10e20 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 (TESTFIXTURE_FLA 10e30 47 53 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f GS) \...-DBUILD_ 10e40 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e sqlite -I$(TCLIN
10e50 43 44 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54  CDIR) \...$(TEST 10e60 46 49 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 FIXTURE_SRC) \.. 10e70 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 ./link$(LDFLAGS
10e80 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) 10e90 24 28 54 43 4c 4c 49 42 50 41 54 48 53 29 20 24$(TCLLIBPATHS) $10ea0 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c (LTLIBPATHS)$(L
10eb0 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 43 4c  IBRESOBJS) $(TCL 10ec0 4c 49 42 53 29 20 24 28 4c 54 4c 49 42 53 29 20 LIBS)$(LTLIBS)
10ed0 24 28 54 4c 49 42 53 29 0a 0a 65 78 74 65 6e 73  $(TLIBS)..extens 10ee0 69 6f 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78 iontest:.testfix 10ef0 74 75 72 65 2e 65 78 65 20 74 65 73 74 6c 6f 61 ture.exe testloa 10f00 64 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74 20 50 dext.dll..@set P 10f10 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 ATH=$(LIBTCLPATH
10f20 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes 10f30 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 tfixture.exe$(T
10f40 4f 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65 78 74  OP)\test\loadext
10f50 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53  .test $(TESTOPTS 10f60 29 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24 28 54 )..fulltest:.$(T
10f70 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65  ESTPROGS) fuzzte
10f80 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  st..@set PATH=$( 10f90 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 LIBTCLPATH);$(PA
10fa0 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
10fb0 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te 10fc0 73 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28 54 45 st\all.test$(TE
10fd0 53 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74 65 73  STOPTS)..soaktes
10fe0 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a  t:.$(TESTPROGS). 10ff0 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 .@set PATH=$(LIB
11000 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29  TCLPATH);$(PATH) 11010 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e ...\testfixture. 11020 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c exe$(TOP)\test\
11030 61 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31  all.test -soak=1
11040 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75   $(TESTOPTS)..fu 11050 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28 54 45 lltestonly:.$(TE
11060 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73  STPROGS) fuzztes
11070 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  t..@set PATH=$(L 11080 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 IBTCLPATH);$(PAT
11090 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
110a0 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes 110b0 74 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 65 t\full.test..que 110c0 72 79 70 6c 61 6e 74 65 73 74 3a 09 74 65 73 74 ryplantest:.test 110d0 66 69 78 74 75 72 65 2e 65 78 65 20 73 68 65 6c fixture.exe shel 110e0 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c l..@set PATH=$(L
110f0 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT 11100 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 H)...\testfixtur 11110 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 e.exe$(TOP)\tes
11120 74 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73 2e 74  t\permutations.t
11130 65 73 74 20 71 75 65 72 79 70 6c 61 6e 6e 65 72  est queryplanner
11140 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75   $(TESTOPTS)..fu 11150 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 zztest:.fuzzchec 11160 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 k.exe...\fuzzche 11170 63 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44 41 54 ck.exe$(FUZZDAT
11180 41 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65 73 74  A)..fastfuzztest
11190 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a  :.fuzzcheck.exe.
111a0 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  ..\fuzzcheck.exe
111b0 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31 30 30   --limit-mem 100
111c0 4d 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 23  M $(FUZZDATA)..# 111d0 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69 6e 67 Minimal testing 111e0 20 74 68 61 74 20 72 75 6e 73 20 69 6e 20 6c 65 that runs in le 111f0 73 73 20 74 68 61 6e 20 33 20 6d 69 6e 75 74 65 ss than 3 minute 11200 73 20 28 6f 6e 20 61 20 66 61 73 74 20 6d 61 63 s (on a fast mac 11210 68 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74 65 73 hine).#.quicktes 11220 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 t:.testfixture.e 11230 78 65 20 73 6f 75 72 63 65 74 65 73 74 0a 09 40 xe sourcetest..@ 11240 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 set PATH=$(LIBTC
11250 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09  LPATH);$(PATH).. 11260 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 .\testfixture.ex 11270 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 65 78 e$(TOP)\test\ex
11280 74 72 61 71 75 69 63 6b 2e 74 65 73 74 20 24 28  traquick.test $( 11290 54 45 53 54 4f 50 54 53 29 0a 0a 23 20 54 68 69 TESTOPTS)..# Thi 112a0 73 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 s is the common 112b0 63 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e 79 20 case. Run many 112c0 74 65 73 74 73 20 74 68 61 74 20 64 6f 20 6e 6f tests that do no 112d0 74 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67 2c t take too long, 112e0 0a 23 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 7a .# including fuz 112f0 7a 63 68 65 63 6b 2c 20 73 71 6c 69 74 65 33 5f zcheck, sqlite3_ 11300 61 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20 73 71 analyzer, and sq 11310 6c 64 69 66 66 20 74 65 73 74 73 2e 0a 23 0a 74 ldiff tests..#.t 11320 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 est:.$(TESTPROGS
11330 29 20 73 6f 75 72 63 65 74 65 73 74 20 66 61 73  ) sourcetest fas
11340 74 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20  tfuzztest..@set
11350 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT 11360 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 H);$(PATH)...\te
11370 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $( 11380 54 4f 50 29 5c 74 65 73 74 5c 76 65 72 79 71 75 TOP)\test\veryqu 11390 69 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f ick.test$(TESTO
113a0 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 3a  PTS)..smoketest:
113b0 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 40  .$(TESTPROGS)..@ 113c0 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 set PATH=$(LIBTC
113d0 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09  LPATH);$(PATH).. 113e0 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 .\testfixture.ex 113f0 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6d 61 e$(TOP)\test\ma
11400 69 6e 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  in.test $(TESTOP 11410 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 TS)..sqlite3_ana 11420 6c 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c 49 54 lyzer.c:.$(SQLIT
11430 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) 11440 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73$(TOP)\src\tcls
11450 71 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74  qlite.c $(TOP)\t 11460 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 ool\spaceanal.tc 11470 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b l$(TOP)\tool\mk
11480 63 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29  ccode.tcl $(TOP) 11490 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e \tool\sqlite3_an 114a0 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 24 28 53 51 alyzer.c.in$(SQ
114b0 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24  LITE_TCL_DEP)..$114c0 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
114d0 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e  P)\tool\mkccode.
114e0 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  tcl $(TOP)\tool\ 114f0 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 sqlite3_analyzer 11500 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71 6c 69 .c.in >$@..sqli
11510 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65  te3_analyzer.exe
11520 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  :.sqlite3_analyz
11530 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a  er.c $(LIBRESOBJ 11540 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 S)..$(LTLINK) $( 11550 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 NO_WARN) -DBUILD 11560 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 _sqlite -I$(TCLI
11570 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f 61  NCDIR) sqlite3_a
11580 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c  nalyzer.c \.../l
11590 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
115a0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54  (LTLINKOPTS) $(T 115b0 43 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 CLLIBPATHS)$(LT
115c0 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR 115d0 45 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 ESOBJS)$(TCLLIB
115e0 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54  S) $(LTLIBS)$(T
115f0 4c 49 42 53 29 0a 0a 73 71 6c 74 63 6c 73 68 2e  LIBS)..sqltclsh.
11600 63 3a 20 73 71 6c 69 74 65 33 2e 63 20 24 28 54  c: sqlite3.c $(T 11610 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 OP)\src\tclsqlit 11620 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c e.c$(TOP)\tool\
11630 73 71 6c 74 63 6c 73 68 2e 74 63 6c 20 24 28 54  sqltclsh.tcl $(T 11640 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 70 70 OP)\ext\misc\app 11650 65 6e 64 76 66 73 2e 63 20 24 28 54 4f 50 29 5c endvfs.c$(TOP)\
11660 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool\mkccode.tcl
11670 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c   $(TOP)\tool\sql 11680 74 63 6c 73 68 2e 63 2e 69 6e 0a 09 24 28 54 43 tclsh.c.in..$(TC
11690 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ 116a0 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c tool\mkccode.tcl 116b0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c$(TOP)\tool\sql
116c0 74 63 6c 73 68 2e 63 2e 69 6e 20 3e 73 71 6c 74  tclsh.c.in >sqlt
116d0 63 6c 73 68 2e 63 0a 0a 73 71 6c 74 63 6c 73 68  clsh.c..sqltclsh
116e0 2e 65 78 65 3a 20 73 71 6c 74 63 6c 73 68 2e 63  .exe: sqltclsh.c
116f0 20 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44    $(SHELL_CORE_D 11700 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 EP)$(LIBRESOBJS
11710 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
11720 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f  O_WARN) -DBUILD_
11730 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN 11740 43 44 49 52 29 20 73 71 6c 74 63 6c 73 68 2e 63 CDIR) sqltclsh.c 11750 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 \.../link$(LDF
11760 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP 11770 54 53 29 20 24 28 54 43 4c 4c 49 42 50 41 54 48 TS)$(TCLLIBPATH
11780 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS) 11790 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24$(LIBRESOBJS) $117a0 28 54 43 4c 4c 49 42 53 29 20 24 28 4c 54 4c 49 (TCLLIBS)$(LTLI
117b0 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 73 71  BS) $(TLIBS)..sq 117c0 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65 78 65 lite3_expert.exe 117d0 3a 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 :$(SQLITE3C) $( 117e0 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72 74 5c TOP)\ext\expert\ 117f0 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20 sqlite3expert.h 11800 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72$(TOP)\ext\exper
11810 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
11820 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70  c $(TOP)\ext\exp 11830 65 72 74 5c 65 78 70 65 72 74 2e 63 0a 09 24 28 ert\expert.c..$(
11840 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR 11850 4e 29 09 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 N).$(TOP)\ext\ex
11860 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65  pert\sqlite3expe
11870 72 74 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  rt.c $(TOP)\ext\ 11880 65 78 70 65 72 74 5c 65 78 70 65 72 74 2e 63 20 expert\expert.c 11890 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 54 4c$(SQLITE3C) $(TL 118a0 49 42 53 29 0a 0a 43 48 45 43 4b 45 52 5f 44 45 IBS)..CHECKER_DE 118b0 50 53 20 3d 5c 0a 20 20 24 28 54 4f 50 29 2f 74 PS =\.$(TOP)/t
118c0 6f 6f 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c 20  ool/mkccode.tcl
118d0 5c 0a 20 20 73 71 6c 69 74 65 33 2e 63 20 5c 0a  \.  sqlite3.c \.
118e0 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c    $(TOP)/src/tcl 118f0 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28 54 sqlite.c \.$(T
11900 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 73  OP)/ext/repair/s
11910 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 74  qlite3_checker.t
11920 63 6c 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  cl \.  $(TOP)/ex 11930 74 2f 72 65 70 61 69 72 2f 63 68 65 63 6b 69 6e t/repair/checkin 11940 64 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 dex.c \.$(TOP)
11950 2f 65 78 74 2f 72 65 70 61 69 72 2f 63 68 65 63  /ext/repair/chec
11960 6b 66 72 65 65 6c 69 73 74 2e 63 20 5c 0a 20 20  kfreelist.c \.
11970 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f  $(TOP)/ext/misc/ 11980 62 74 72 65 65 69 6e 66 6f 2e 63 20 5c 0a 20 20 btreeinfo.c \. 11990 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69$(TOP)/ext/repai
119a0 72 2f 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65  r/sqlite3_checke
119b0 72 2e 63 2e 69 6e 0a 0a 73 71 6c 69 74 65 33 5f  r.c.in..sqlite3_
119c0 63 68 65 63 6b 65 72 2e 63 3a 09 24 28 43 48 45  checker.c:.$(CHE 119d0 43 4b 45 52 5f 44 45 50 53 29 0a 09 24 28 54 43 CKER_DEPS)..$(TC
119e0 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ 119f0 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c tool\mkccode.tcl 11a00 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 65 70 61$(TOP)\ext\repa
11a10 69 72 5c 73 71 6c 69 74 65 33 5f 63 68 65 63 6b  ir\sqlite3_check
11a20 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 71  er.c.in > $@..sq 11a30 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 65 78 lite3_checker.ex 11a40 65 3a 09 73 71 6c 69 74 65 33 5f 63 68 65 63 6b e:.sqlite3_check 11a50 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a er.c$(LIBRESOBJ
11a60 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  S)..$(LTLINK)$(
11a70 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44  NO_WARN) -DBUILD
11a80 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49  _sqlite -I$(TCLI 11a90 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f 63 NCDIR) sqlite3_c 11aa0 68 65 63 6b 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 hecker.c \.../li 11ab0 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( 11ac0 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 54 43 LTLINKOPTS)$(TC
11ad0 4c 4c 49 42 50 41 54 48 53 29 20 24 28 4c 54 4c  LLIBPATHS) $(LTL 11ae0 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 IBPATHS)$(LIBRE
11af0 53 4f 42 4a 53 29 20 24 28 54 43 4c 4c 49 42 53  SOBJS) $(TCLLIBS 11b00 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c )$(LTLIBS) $(TL 11b10 49 42 53 29 0a 0a 64 62 64 75 6d 70 2e 65 78 65 IBS)..dbdump.exe 11b20 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 :.$(TOP)\ext\mis
11b30 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51 4c  c\dbdump.c $(SQL 11b40 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
11b50 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  H) $(LIBRESOBJS) 11b60 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO 11b70 5f 57 41 52 4e 29 20 2d 44 44 42 44 55 4d 50 5f _WARN) -DDBDUMP_ 11b80 53 54 41 4e 44 41 4c 4f 4e 45 20 24 28 54 4f 50 STANDALONE$(TOP
11b90 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d  )\ext\misc\dbdum
11ba0 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  p.c $(SQLITE3C) 11bb0 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c \.../link$(LDFL
11bc0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT 11bd0 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 S)$(LTLIBPATHS)
11be0 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS)$
11bf0 28 4c 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f  (LTLIBS)..testlo
11c00 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  adext.lo:.$(TOP) 11c10 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 \src\test_loadex 11c20 74 2e 63 20 24 28 53 51 4c 49 54 45 33 48 29 0a t.c$(SQLITE3H).
11c30 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
11c40 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28 54 4f  NO_WARN) -c $(TO 11c50 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 P)\src\test_load 11c60 65 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 65 ext.c..testloade 11c70 78 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 64 xt.dll:.testload 11c80 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 ext.lo..$(LD) $( 11c90 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
11ca0 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA 11cb0 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 THS) /DLL /OUT:$
11cc0 40 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f  @ testloadext.lo
11cd0 0a 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09 24 28  ..showdb.exe:.$( 11ce0 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 TOP)\tool\showdb 11cf0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $11d00 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
11d10 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) 11d20 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 -DSQLITE_THREAD 11d30 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f SAFE=0 -DSQLITE_ 11d40 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 OMIT_LOAD_EXTENS 11d50 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 ION \...$(TOP)\t
11d60 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53  ool\showdb.c $(S 11d70 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 QLITE3C) /link$
11d80 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI 11d90 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74 61 NKOPTS)..showsta 11da0 74 34 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 t4.exe:.$(TOP)\t
11db0 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20  ool\showstat4.c
11dc0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
11dd0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN 11de0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 K)$(NO_WARN) -D
11df0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
11e00 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
11e10 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
11e20 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(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 2f 6c 69 6e 6b 20 24  QLITE3C) /link $11e50 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
11e60 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75  NKOPTS)..showjou
11e70 72 6e 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  rnal.exe:.$(TOP) 11e80 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 \tool\showjourna 11e90 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 l.c$(SQLITE3C)
11ea0 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
11eb0 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN 11ec0 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 ) -DSQLITE_THREA 11ed0 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 DSAFE=0 -DSQLITE 11ee0 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e _OMIT_LOAD_EXTEN 11ef0 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c SION \...$(TOP)\
11f00 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c  tool\showjournal
11f10 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) / 11f20 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
11f30 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s 11f40 68 6f 77 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f howwal.exe:.$(TO
11f50 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e  P)\tool\showwal.
11f60 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C)$(
11f70 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL 11f80 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 INK)$(NO_WARN)
11f90 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
11fa0 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
11fb0 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
11fc0 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  ON \...$(TOP)\to 11fd0 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 ol\showwal.c$(S
11fe0 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $11ff0 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
12000 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 68 6d  NKOPTS)..showshm
12010 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too 12020 6c 5c 73 68 6f 77 73 68 6d 2e 63 0a 09 24 28 4c l\showshm.c..$(L
12030 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN 12040 29 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 ).$(TOP)\tool\sh
12050 6f 77 73 68 6d 2e 63 20 2f 6c 69 6e 6b 20 24 28  owshm.c /link $( 12060 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
12070 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67 65 73 65  KOPTS)..changese
12080 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  t.exe:.$(TOP)\ex 12090 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 t\session\change 120a0 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 set.c$(SQLITE3C
120b0 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
120c0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 120d0 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 RN) -DSQLITE_THR 120e0 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 EADSAFE=0 -DSQLI 120f0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 TE_OMIT_LOAD_EXT 12100 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c ENSION \...-DSQL 12110 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 ITE_ENABLE_SESSI 12120 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e ON=1 -DSQLITE_EN 12130 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48 ABLE_PREUPDATE_H 12140 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29 OOK=1 \...$(TOP)
12150 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61  \ext\session\cha
12160 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54  ngeset.c $(SQLIT 12170 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 E3C) /link$(LDF
12180 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP 12190 54 53 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 TS)..fts3view.ex 121a0 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 e:.$(TOP)\ext\ft
121b0 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77  s3\tool\fts3view
121c0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C)$
121d0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT 121e0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
121f0 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
12200 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
12210 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
12220 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  ION \...$(TOP)\e 12230 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 xt\fts3\tool\fts 12240 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 3view.c$(SQLITE
12250 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL 12260 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 AGS)$(LTLINKOPT
12270 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  S)..rollback-tes
12280 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  t.exe:.$(TOP)\to 12290 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 ol\rollback-test 122a0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $122b0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
122c0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) 122d0 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 -DSQLITE_THREAD 122e0 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f SAFE=0 -DSQLITE_ 122f0 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 OMIT_LOAD_EXTENS 12300 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 ION \...$(TOP)\t
12310 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  ool\rollback-tes
12320 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 12330 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
12340 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS).. 12350 61 74 72 63 2e 65 78 65 3a 09 24 28 54 4f 50 29 atrc.exe:.$(TOP)
12360 5c 74 65 73 74 5c 61 74 72 63 2e 63 20 24 28 53  \test\atrc.c $(S 12370 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
12380 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 12390 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
123a0 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
123b0 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
123c0 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
123d0 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 74  ..$(TOP)\test\at 123e0 72 63 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 rc.c$(SQLITE3C)
123f0 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS 12400 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
12410 0a 4c 6f 67 45 73 74 2e 65 78 65 3a 09 24 28 54  .LogEst.exe:.$(T 12420 4f 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e OP)\tool\logest. 12430 63 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 c$(SQLITE3H)..$12440 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 (LTLINK)$(NO_WA
12450 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  RN) $(TOP)\tool\ 12460 4c 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 LogEst.c /link$
12470 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI 12480 4e 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 NKOPTS)..wordcou 12490 6e 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 nt.exe:.$(TOP)\t
124a0 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20  est\wordcount.c
124b0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
124c0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN 124d0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 K)$(NO_WARN) -D
124e0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
124f0 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
12500 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
12510 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74   \...$(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 2f 6c 69 6e 6b 20 24  QLITE3C) /link $12540 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
12550 4e 4b 4f 50 54 53 29 0a 0a 73 70 65 65 64 74 65  NKOPTS)..speedte
12560 73 74 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  st1.exe:.$(TOP)\ 12570 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e test\speedtest1. 12580 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 c$(SQLITE3C) $( 12590 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c SQLITE3H)..$(LTL
125a0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 125b0 24 28 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54$(ST_COMPILE_OPT
125c0 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  S) -DSQLITE_OMIT
125d0 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION
125e0 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c  \...$(TOP)\test\ 125f0 73 70 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 speedtest1.c$(S
12600 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $12610 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
12620 4e 4b 4f 50 54 53 29 0a 0a 6b 76 74 65 73 74 2e  NKOPTS)..kvtest.
12630 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74  exe:.$(TOP)\test 12640 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49 \kvtest.c$(SQLI
12650 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H 12660 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N 12670 4f 5f 57 41 52 4e 29 20 24 28 4b 56 5f 43 4f 4d O_WARN)$(KV_COM
12680 50 49 4c 45 5f 4f 50 54 53 29 20 5c 0a 09 09 24  PILE_OPTS) \...$12690 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 (TOP)\test\kvtes 126a0 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 t.c$(SQLITE3C)
126b0 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) 126c0 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
126d0 72 62 75 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  rbu.exe:.$(TOP)\ 126e0 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 ext\rbu\rbu.c$(
126f0 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c  TOP)\ext\rbu\sql
12700 69 74 65 33 72 62 75 2e 63 20 24 28 53 51 4c 49  ite3rbu.c $(SQLI 12710 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
12720 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
12730 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
12740 5f 45 4e 41 42 4c 45 5f 52 42 55 20 5c 0a 09 09  _ENABLE_RBU \...
12750 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72  $(TOP)\ext\rbu\r 12760 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 bu.c$(SQLITE3C)
12770 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS 12780 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
12790 0a 4c 53 4d 44 49 52 3d 24 28 54 4f 50 29 5c 65  .LSMDIR=$(TOP)\e 127a0 78 74 5c 6c 73 6d 31 0a 21 49 4e 43 4c 55 44 45 xt\lsm1.!INCLUDE 127b0 20 24 28 4c 53 4d 44 49 52 29 5c 4d 61 6b 65 66$(LSMDIR)\Makef
127c0 69 6c 65 2e 6d 73 63 0a 0a 6d 6f 72 65 63 6c 65  ile.msc..morecle
127d0 61 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f  an:.clean..del /
127e0 51 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  Q $(SQLITE3C)$(
127f0 53 51 4c 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a  SQLITE3H) 2>NUL.
12800 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65  # <</mark>>..cle
12810 61 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78  an:..del /Q *.ex
12820 70 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c  p *.lo *.ilk *.l
12830 69 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a  ib *.obj *.ncb *
12840 2e 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f  .pdb *.sdf *.suo
12850 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a   2>NUL..del /Q *
12860 2e 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64  .bsc *.def *.cod
12870 20 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67   *.da *.bb *.bbg
12880 20 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32   *.vc gmon.out 2
12890 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53  >NUL..del /Q $(S 128a0 51 4c 49 54 45 33 45 58 45 29 20 24 28 53 51 4c QLITE3EXE)$(SQL
128b0 49 54 45 33 44 4c 4c 29 20 52 65 70 6c 61 63 65  ITE3DLL) Replace
128c0 2e 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d  .exe 2>NUL.# <<m
128d0 61 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 6f 70  ark>>..del /Q op
128e0 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65 73 2e  codes.c opcodes.
128f0 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q
12900 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e 63  lemon.* lempar.c
12910 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09   parse.* 2>NUL..
12920 64 65 6c 20 2f 51 20 6d 6b 73 6f 75 72 63 65 69  del /Q mksourcei
12930 64 2e 2a 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73  d.* mkkeywordhas
12940 68 2e 2a 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  h.* keywordhash.
12950 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q
12960 6e 6f 74 61 73 68 61 72 65 64 6c 69 62 2e 2a 20  notasharedlib.*
12970 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51  2>NUL..-rmdir /Q
12980 2f 53 20 2e 64 65 70 73 20 32 3e 4e 55 4c 0a 09  /S .deps 2>NUL..
12990 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 6c 69 62  -rmdir /Q/S .lib
129a0 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20  s 2>NUL..-rmdir
129b0 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a  /Q/S tsrc 2>NUL.
129c0 09 64 65 6c 20 2f 51 20 2e 74 61 72 67 65 74 5f  .del /Q .target_
129d0 73 6f 75 72 63 65 20 32 3e 4e 55 4c 0a 09 64 65  source 2>NUL..de
129e0 6c 20 2f 51 20 74 63 6c 73 71 6c 69 74 65 33 2e  l /Q tclsqlite3.
129f0 65 78 65 20 24 28 53 51 4c 49 54 45 54 43 4c 48  exe $(SQLITETCLH 12a00 29 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 )$(SQLITETCLDEC
12a10 4c 53 48 29 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  LSH) 2>NUL..del
12a20 2f 51 20 6c 73 6d 2e 64 6c 6c 20 6c 73 6d 74 65  /Q lsm.dll lsmte
12a30 73 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  st.exe 2>NUL..de
12a40 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64 65 78 74  l /Q testloadext
12a50 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .dll 2>NUL..del
12a60 2f 51 20 74 65 73 74 66 69 78 74 75 72 65 2e 65  /Q testfixture.e
12a70 78 65 20 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c  xe test.db 2>NUL
12a80 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45 73 74 2e  ..del /Q LogEst.
12a90 65 78 65 20 66 74 73 33 76 69 65 77 2e 65 78 65  exe fts3view.exe
12aa0 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65   rollback-test.e
12ab0 78 65 20 73 68 6f 77 64 62 2e 65 78 65 20 64 62  xe showdb.exe db
12ac0 64 75 6d 70 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  dump.exe 2>NUL..
12ad0 64 65 6c 20 2f 51 20 63 68 61 6e 67 65 73 65 74  del /Q changeset
12ae0 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del
12af0 2f 51 20 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65  /Q showjournal.e
12b00 78 65 20 73 68 6f 77 73 74 61 74 34 2e 65 78 65  xe showstat4.exe
12b10 20 73 68 6f 77 77 61 6c 2e 65 78 65 20 73 70 65   showwal.exe spe
12b20 65 64 74 65 73 74 31 2e 65 78 65 20 32 3e 4e 55  edtest1.exe 2>NU
12b30 4c 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74  L..del /Q mptest
12b40 65 72 2e 65 78 65 20 77 6f 72 64 63 6f 75 6e 74  er.exe wordcount
12b50 2e 65 78 65 20 72 62 75 2e 65 78 65 20 73 72 63  .exe rbu.exe src
12b60 63 6b 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  ck1.exe 2>NUL..d
12b70 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63 20  el /Q sqlite3.c
12b80 73 71 6c 69 74 65 33 2d 2a 2e 63 20 73 71 6c 69  sqlite3-*.c sqli
12b90 74 65 33 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  te3.h 2>NUL..del
12ba0 20 2f 51 20 73 71 6c 69 74 65 33 72 63 2e 68 20   /Q sqlite3rc.h
12bb0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68  2>NUL..del /Q sh
12bc0 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65 78 74  ell.c sqlite3ext
12bd0 2e 68 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f  .h sqlite3sessio
12be0 6e 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  n.h 2>NUL..del /
12bf0 51 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  Q sqlite3_analyz
12c00 65 72 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 61  er.exe sqlite3_a
12c10 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a  nalyzer.c 2>NUL.
12c20 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a  .del /Q sqlite-*
12c30 2d 6f 75 74 70 75 74 2e 76 73 69 78 20 32 3e 4e  -output.vsix 2>N
12c40 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65  UL..del /Q fuzze
12c50 72 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63  rshell.exe fuzzc
12c60 68 65 63 6b 2e 65 78 65 20 73 71 6c 64 69 66 66  heck.exe sqldiff
12c70 2e 65 78 65 20 64 62 68 61 73 68 2e 65 78 65 20  .exe dbhash.exe
12c80 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
12c90 6c 74 63 6c 73 68 2e 2a 20 32 3e 4e 55 4c 0a 09  ltclsh.* 2>NUL..
12ca0 64 65 6c 20 2f 51 20 64 62 66 75 7a 7a 2e 65 78  del /Q dbfuzz.ex
12cb0 65 20 73 65 73 73 69 6f 6e 66 75 7a 7a 2e 65 78  e sessionfuzz.ex
12cc0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q
12cd0 6b 76 74 65 73 74 2e 65 78 65 20 6f 73 73 73 68  kvtest.exe osssh
12ce0 65 6c 6c 2e 65 78 65 20 73 63 72 75 62 2e 65 78  ell.exe scrub.ex
12cf0 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q
12d00 73 68 6f 77 73 68 6d 2e 65 78 65 20 73 71 6c 69  showshm.exe sqli
12d10 74 65 33 5f 63 68 65 63 6b 65 72 2e 2a 20 73 71  te3_checker.* sq
12d20 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65 78 65  lite3_expert.exe
12d30 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66   2>NUL..del /Q f
12d40 74 73 35 2e 2a 20 66 74 73 35 70 61 72 73 65 2e  ts5.* fts5parse.
12d50 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  * 2>NUL..del /Q
12d60 6c 73 6d 2e 68 20 6c 73 6d 31 2e 63 20 32 3e 4e  lsm.h lsm1.c 2>N
12d70 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a     UL.# <</mark>>.