/ Hex Artifact Content

• File Makefile.msc — part of check-in [406f7918] at 2018-01-04 19:54:55 on branch sqlar-shell-support — Merge in all recent trunk enhancements. (user: drh size: 74011) [more...]

0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 31  USE_FULLWARN = 1
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 74 72 65 61 74 69 6e 67 20 77 61 72  ble treating war
02b0: 6e 69 6e 67 73 20 61 73 20 65 72 72 6f 72 73 20  nings as errors
02c0: 28 2d 57 58 2c 20 65 74 63 29 20 77 68 65 6e 0a  (-WX, etc) when.
02d0: 23 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21  # compiling..#.!
02e0: 49 46 4e 44 45 46 20 55 53 45 5f 46 41 54 41 4c  IFNDEF USE_FATAL
02f0: 5f 57 41 52 4e 0a 55 53 45 5f 46 41 54 41 4c 5f  _WARN.USE_FATAL_
0300: 57 41 52 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  WARN = 0.!ENDIF.
0310: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0320: 30 20 74 6f 20 65 6e 61 62 6c 65 20 66 75 6c 6c  0 to enable full
0330: 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 63   runtime error c
0340: 68 65 63 6b 73 20 28 2d 52 54 43 31 2c 20 65 74  hecks (-RTC1, et
0350: 63 29 2e 20 20 54 68 69 73 0a 23 20 68 61 73 20  c).  This.# has
0360: 6e 6f 20 65 66 66 65 63 74 20 69 66 20 28 61 6e  no effect if (an
0370: 79 29 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  y) optimizations
0380: 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a   are enabled..#.
0390: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 55 4e 54  !IFNDEF USE_RUNT
03a0: 49 4d 45 5f 43 48 45 43 4b 53 0a 55 53 45 5f 52  IME_CHECKS.USE_R
03b0: 55 4e 54 49 4d 45 5f 43 48 45 43 4b 53 20 3d 20  UNTIME_CHECKS =
03c0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
03d0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  this non-0 to cr
03e0: 65 61 74 65 20 61 20 53 51 4c 69 74 65 20 61 6d  eate a SQLite am
03f0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20  algamation file
0400: 74 68 61 74 20 65 78 63 6c 75 64 65 73 20 74 68  that excludes th
0410: 65 0a 23 20 76 61 72 69 6f 75 73 20 62 75 69 6c  e.# various buil
0420: 74 2d 69 6e 20 65 78 74 65 6e 73 69 6f 6e 73 2e  t-in extensions.
0430: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 49 4e 49 4d  .#.!IFNDEF MINIM
0440: 41 4c 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a  AL_AMALGAMATION.
0450: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
0460: 54 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  TION = 0.!ENDIF.
0470: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0480: 30 20 74 6f 20 75 73 65 20 22 73 74 64 63 61 6c  0 to use "stdcal
0490: 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65  l" calling conve
04a0: 6e 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f  ntion for the co
04b0: 72 65 20 6c 69 62 72 61 72 79 0a 23 20 61 6e 64  re library.# and
04c0: 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c   shell executabl
04d0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45  e..#.!IFNDEF USE
04e0: 5f 53 54 44 43 41 4c 4c 0a 55 53 45 5f 53 54 44  _STDCALL.USE_STD
04f0: 43 41 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  CALL = 0.!ENDIF.
0500: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0510: 30 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 68  0 to have the sh
0520: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 6c  ell executable l
0530: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the
0540: 63 6f 72 65 20 64 79 6e 61 6d 69 63 0a 23 20 6c  core dynamic.# l
0550: 69 6e 6b 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ink library..#.!
0560: 49 46 4e 44 45 46 20 44 59 4e 41 4d 49 43 5f 53  IFNDEF DYNAMIC_S
0570: 48 45 4c 4c 0a 44 59 4e 41 4d 49 43 5f 53 48 45  HELL.DYNAMIC_SHE
0580: 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  LL = 0.!ENDIF..#
0590: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
05a0: 74 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20  to enable extra
05b0: 63 6f 64 65 20 74 68 61 74 20 61 74 74 65 6d 70  code that attemp
05c0: 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69 73  ts to detect mis
05d0: 75 73 65 20 6f 66 20 74 68 65 0a 23 20 53 51 4c  use of the.# SQL
05e0: 69 74 65 20 41 50 49 2e 0a 23 0a 21 49 46 4e 44  ite API..#.!IFND
05f0: 45 46 20 41 50 49 5f 41 52 4d 4f 52 0a 41 50 49  EF API_ARMOR.API
0600: 5f 41 52 4d 4f 52 20 3d 20 30 0a 21 45 4e 44 49  _ARMOR = 0.!ENDI
0610: 46 0a 0a 23 20 49 66 20 6e 65 63 65 73 73 61 72  F..# If necessar
0620: 79 2c 20 63 72 65 61 74 65 20 61 20 6c 69 73 74  y, create a list
0630: 20 6f 66 20 68 61 72 6d 6c 65 73 73 20 63 6f 6d   of harmless com
0640: 70 69 6c 65 72 20 77 61 72 6e 69 6e 67 73 20 74  piler warnings t
0650: 6f 20 64 69 73 61 62 6c 65 20 77 68 65 6e 0a 23  o disable when.#
0660: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 76   compiling the v
0670: 61 72 69 6f 75 73 20 74 6f 6f 6c 73 2e 20 20 46  arious tools.  F
0680: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f  or the SQLite so
0690: 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66  urce code itself
06a0: 2c 20 77 61 72 6e 69 6e 67 73 2c 0a 23 20 69 66  , warnings,.# if
06b0: 20 61 6e 79 2c 20 77 69 6c 6c 20 62 65 20 64 69   any, will be di
06c0: 73 61 62 6c 65 64 20 66 72 6f 6d 20 77 69 74 68  sabled from with
06d0: 69 6e 20 69 74 2e 0a 23 0a 21 49 46 4e 44 45 46  in it..#.!IFNDEF
06e0: 20 4e 4f 5f 57 41 52 4e 0a 21 49 46 20 24 28 55   NO_WARN.!IF $(U 06f0: 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a SE_FULLWARN)!=0. 0700: 4e 4f 5f 57 41 52 4e 20 3d 20 2d 77 64 34 30 35 NO_WARN = -wd405 0710: 34 20 2d 77 64 34 30 35 35 20 2d 77 64 34 31 30 4 -wd4055 -wd410 0720: 30 20 2d 77 64 34 31 32 37 20 2d 77 64 34 31 33 0 -wd4127 -wd413 0730: 30 20 2d 77 64 34 31 35 32 20 2d 77 64 34 31 38 0 -wd4152 -wd418 0740: 39 20 2d 77 64 34 32 30 36 0a 4e 4f 5f 57 41 52 9 -wd4206.NO_WAR 0750: 4e 20 3d 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d N =$(NO_WARN) -
0760: 77 64 34 32 31 30 20 2d 77 64 34 32 33 32 20 2d  wd4210 -wd4232 -
0770: 77 64 34 33 30 35 20 2d 77 64 34 33 30 36 20 2d  wd4305 -wd4306 -
0780: 77 64 34 37 30 32 20 2d 77 64 34 37 30 36 0a 21  wd4702 -wd4706.!
0790: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
07a0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
07b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
07c0: 79 20 70 61 74 68 73 20 61 6e 64 20 6f 74 68 65  y paths and othe
07d0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 63 65 73 73  r options necess
07e0: 61 72 79 20 66 6f 72 0a 23 20 57 69 6e 64 6f 77  ary for.# Window
07f0: 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 23 0a 21  s Phone 8.1..#.!
0800: 49 46 4e 44 45 46 20 55 53 45 5f 57 50 38 31 5f  IFNDEF USE_WP81_
0810: 4f 50 54 53 0a 55 53 45 5f 57 50 38 31 5f 4f 50  OPTS.USE_WP81_OP
0820: 54 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  TS = 0.!ENDIF..#
0830: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0840: 74 6f 20 73 70 6c 69 74 20 74 68 65 20 53 51 4c  to split the SQL
0850: 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  ite amalgamation
0860: 20 66 69 6c 65 20 69 6e 74 6f 20 63 68 75 6e 6b   file into chunk
0870: 73 20 74 6f 0a 23 20 62 65 20 75 73 65 64 20 66  s to.# be used f
0880: 6f 72 20 64 65 62 75 67 67 69 6e 67 20 77 69 74  or debugging wit
0890: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  h Visual Studio.
08a0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 50 4c 49 54  .#.!IFNDEF SPLIT
08b0: 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 53 50  _AMALGAMATION.SP
08c0: 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  LIT_AMALGAMATION
08d0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
08e0: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
08f0: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76 65  is non-0 to have
0900: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 61   this makefile a
0910: 73 73 75 6d 65 20 74 68 65 20 54 63 6c 20 73 68  ssume the Tcl sh
0920: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 0a 23  ell executable.#
0930: 20 28 74 63 6c 73 68 2a 2e 65 78 65 29 20 69 73   (tclsh*.exe) is
0940: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
0950: 65 20 50 41 54 48 2e 20 20 42 79 20 64 65 66 61  e PATH.  By defa
0960: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e 61  ult, this is ena
0970: 62 6c 65 64 0a 23 20 66 6f 72 20 63 6f 6d 70 61  bled.# for compa
0980: 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f 6c  tibility with ol
0990: 64 65 72 20 62 75 69 6c 64 20 65 6e 76 69 72 6f  der build enviro
09a0: 6e 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 73 65  nments.  This se
09b0: 74 74 69 6e 67 20 6f 6e 6c 79 0a 23 20 61 70 70  tting only.# app
09c0: 6c 69 65 73 20 69 66 20 54 43 4c 53 48 5f 43 4d  lies if TCLSH_CM
09d0: 44 20 69 73 20 6e 6f 74 20 73 65 74 20 6d 61 6e  D is not set man
09e0: 75 61 6c 6c 79 2e 0a 23 0a 21 49 46 4e 44 45 46  ually..#.!IFNDEF
09f0: 20 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f 50 41   USE_TCLSH_IN_PA
0a00: 54 48 0a 55 53 45 5f 54 43 4c 53 48 5f 49 4e 5f  TH.USE_TCLSH_IN_
0a10: 50 41 54 48 20 3d 20 31 0a 21 45 4e 44 49 46 0a  PATH = 1.!ENDIF.
0a20: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0a30: 30 20 74 6f 20 75 73 65 20 7a 6c 69 62 2c 20 70  0 to use zlib, p
0a40: 6f 73 73 69 62 6c 79 20 63 6f 6d 70 69 6c 69 6e  ossibly compilin
0a50: 67 20 69 74 20 66 72 6f 6d 20 73 6f 75 72 63 65  g it from source
0a60: 20 63 6f 64 65 2e 0a 23 0a 21 49 46 4e 44 45 46   code..#.!IFNDEF
0a70: 20 55 53 45 5f 5a 4c 49 42 0a 55 53 45 5f 5a 4c   USE_ZLIB.USE_ZL
0a80: 49 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  IB = 0.!ENDIF..#
0a90: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0aa0: 74 6f 20 62 75 69 6c 64 20 7a 6c 69 62 20 66 72  to build zlib fr
0ab0: 6f 6d 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20  om source code.
0ac0: 20 54 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   This is enabled
0ad0: 20 62 79 0a 23 20 64 65 66 61 75 6c 74 20 61 6e   by.# default an
0ae0: 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 20 69  d in that case i
0af0: 74 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d 65  t will be assume
0b00: 64 20 74 68 61 74 20 74 68 65 20 5a 4c 49 42 44  d that the ZLIBD
0b10: 49 52 20 6d 61 63 72 6f 0a 23 20 70 6f 69 6e 74  IR macro.# point
0b20: 73 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65 76  s to the top-lev
0b30: 65 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 64  el source code d
0b40: 69 72 65 63 74 6f 72 79 20 66 6f 72 20 7a 6c 69  irectory for zli
0b50: 62 2e 0a 23 0a 21 49 46 4e 44 45 46 20 42 55 49  b..#.!IFNDEF BUI
0b60: 4c 44 5f 5a 4c 49 42 0a 42 55 49 4c 44 5f 5a 4c  LD_ZLIB.BUILD_ZL
0b70: 49 42 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a 23  IB = 1.!ENDIF..#
0b80: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0b90: 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65 72  to use the Inter
0ba0: 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e 65  national Compone
0bb0: 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65 20  nts for Unicode
0bc0: 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45 46  (ICU)..#.!IFNDEF
0bd0: 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43 55   USE_ICU.USE_ICU
0be0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c 3c   = 0.!ENDIF.# <<
0bf0: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20 74  /mark>>..# Set t
0c00: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79 6e  his non-0 to dyn
0c10: 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f  amically link to
0c20: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d   the MSVC runtim
0c30: 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46  e library..#.!IF
0c40: 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c 4c  NDEF USE_CRT_DLL
0c50: 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20 30  .USE_CRT_DLL = 0
0c60: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0c70: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69 6e  his non-0 to lin
0c80: 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34 20  k to the RPCRT4
0c90: 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44  library..#.!IFND
0ca0: 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  EF USE_RPCRT4_LI
0cb0: 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42  B.USE_RPCRT4_LIB
0cc0: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53   = 0.!ENDIF..# S
0cd0: 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f  et this non-0 to
0ce0: 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d 62   generate assemb
0cf0: 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73  ly code listings
0d00: 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 20   for the source
0d10: 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23 0a  code.# files..#.
0d20: 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53 54  !IFNDEF USE_LIST
0d30: 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e 47  INGS.USE_LISTING
0d40: 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  S = 0.!ENDIF..#
0d50: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0d60: 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69 6e  o attempt settin
0d70: 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f 6d  g the native com
0d80: 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63 61  piler automatica
0d90: 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73 2d  lly.# for cross-
0da0: 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63 6f  compiling the co
0db0: 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73  mmand line tools
0dc0: 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20 74   needed during t
0dd0: 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a 23  he compilation.#
0de0: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0df0: 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43 4f  DEF XCOMPILE.XCO
0e00: 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49 46  MPILE = 0.!ENDIF
0e10: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0e20: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e 61  -0 to use the na
0e30: 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20 70  tive libraries p
0e40: 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d 63  aths for cross-c
0e50: 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20 63  ompiling.# the c
0e60: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0e70: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during
0e80: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20  the compilation
0e90: 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e 44  process..#.!IFND
0ea0: 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49  EF USE_NATIVE_LI
0eb0: 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49 56  BPATHS.USE_NATIV
0ec0: 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a 21  E_LIBPATHS = 0.!
0ed0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0ee0: 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65 20  s 0 to skip the
0ef0: 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65 6d  compiling and em
0f00: 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73 69  bedding of versi
0f10: 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23 0a  on resources..#.
0f20: 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a 55  !IFNDEF USE_RC.U
0f30: 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49 46  SE_RC = 1.!ENDIF
0f40: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0f50: 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69  -0 to compile bi
0f60: 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20  naries suitable
0f70: 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65 6e  for the WinRT en
0f80: 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68 69  vironment..# Thi
0f90: 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20 6e  s setting does n
0fa0: 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79 20  ot apply to any
0fb0: 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72 65  binaries that re
0fc0: 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70 65  quire Tcl to ope
0fd0: 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79 20  rate.# properly
0fe0: 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20 66  (i.e. the text f
0ff0: 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23 0a  ixture, etc)..#.
1000: 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e 52  !IFNDEF FOR_WINR
1010: 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30 0a  T.FOR_WINRT = 0.
1020: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
1030: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d 70  is non-0 to comp
1040: 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75 69  ile binaries sui
1050: 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55 57  table for the UW
1060: 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23  P environment..#
1070: 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64 6f   This setting do
1080: 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20  es not apply to
1090: 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68 61  any binaries tha
10a0: 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74 6f  t require Tcl to
10b0: 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70 65   operate.# prope
10c0: 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74 65  rly (i.e. the te
10d0: 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63 29  xt fixture, etc)
10e0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f  ..#.!IFNDEF FOR_
10f0: 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30 0a  UWP.FOR_UWP = 0.
1100: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
1110: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d 70  is non-0 to comp
1120: 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75 69  ile binaries sui
1130: 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57 69  table for the Wi
1140: 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72  ndows 10 platfor
1150: 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  m..#.!IFNDEF FOR
1160: 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31 30  _WIN10.FOR_WIN10
1170: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   = 0.!ENDIF..# <
1180: 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74 68  <mark>>.# Set th
1190: 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69 70  is non-0 to skip
11a0: 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 6c   attempting to l
11b0: 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20 6c  ook for and/or l
11c0: 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63 6c  ink with the Tcl
11d0: 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61  .# runtime libra
11e0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 4f  ry..#.!IFNDEF NO
11f0: 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30 0a  _TCL.NO_TCL = 0.
1200: 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b  !ENDIF.# <</mark
1210: 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74  >>..# Set this t
1220: 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61 74  o non-0 to creat
1230: 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e 0a  e and use PDBs..
1240: 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f 4c  #.!IFNDEF SYMBOL
1250: 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21 45  S.SYMBOLS = 1.!E
1260: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
1270: 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65   to non-0 to use
1280: 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62 75   the SQLite debu
1290: 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73 79  gging heap subsy
12a0: 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20  stem..#.!IFNDEF
12b0: 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42 55  MEMDEBUG.MEMDEBU
12c0: 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  G = 0.!ENDIF..#
12d0: 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d  Set this to non-
12e0: 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69 6e  0 to use the Win
12f0: 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20 73  32 native heap s
1300: 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e  ubsystem..#.!IFN
1310: 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57 49  DEF WIN32HEAP.WI
1320: 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e 44  N32HEAP = 0.!END
1330: 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74  IF..# Set this t
1340: 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c  o non-0 to enabl
1350: 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63 72  e OSTRACE() macr
1360: 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65  os, which can be
1370: 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20 64   useful when.# d
1380: 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46 4e  ebugging..#.!IFN
1390: 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54 52  DEF OSTRACE.OSTR
13a0: 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  ACE = 0.!ENDIF..
13b0: 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f 6e  # Set this to on
13c0: 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69  e of the followi
13d0: 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e 61  ng values to ena
13e0: 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62 75  ble various debu
13f0: 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65 73  gging.# features
1400: 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69 6e  .  Each level in
1410: 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75 67  cludes the debug
1420: 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72 6f  ging options fro
1430: 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a 23  m the previous.#
1440: 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65 6e   levels.  Curren
1450: 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e 69  tly, the recogni
1460: 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20 44  zed values for D
1470: 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30 20  EBUG are:.#.# 0
1480: 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61 62  == NDEBUG: Disab
1490: 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e 64  les assert() and
14a0: 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20 64   other runtime d
14b0: 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31 20  iagnostics..# 1
14c0: 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  == SQLITE_ENABLE
14d0: 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74 72  _API_ARMOR: extr
14e0: 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64 65  a attempts to de
14f0: 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20 74  tect misuse of t
1500: 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20 44  he API..# 2 == D
1510: 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20 61  isables NDEBUG a
1520: 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74  nd all optimizat
1530: 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65 6e  ions and then en
1540: 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33 20  ables PDBs..# 3
1550: 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47 3a  == SQLITE_DEBUG:
1560: 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75 73   Enables various
1570: 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65 73   diagnostics mes
1580: 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e 0a  sages and code..
1590: 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57 49  # 4 == SQLITE_WI
15a0: 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44  N32_MALLOC_VALID
15b0: 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74 68  ATE: Validate th
15c0: 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20 68  e Win32 native h
15d0: 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23 20  eap per call..#
15e0: 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55  5 == SQLITE_DEBU
15f0: 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61 62  G_OS_TRACE: Enab
1600: 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d 20  les output from
1610: 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61  the OSTRACE() ma
1620: 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51 4c  cros..# 6 == SQL
1630: 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52 41  ITE_ENABLE_IOTRA
1640: 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74 70  CE: Enables outp
1650: 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54 52  ut from the IOTR
1660: 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23 0a  ACE() macros..#.
1670: 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44 45  !IFNDEF DEBUG.DE
1680: 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  BUG = 0.!ENDIF..
1690: 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66 20  # Enable use of
16a0: 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69 6c  available compil
16b0: 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  er optimizations
16c0: 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68 69  ?  Normally, thi
16d0: 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e 6f  s should be.# no
16e0: 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e 67  n-zero.  Setting
16f0: 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20 74   this to zero, t
1700: 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61 6c  hus disabling al
1710: 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6d  l compiler optim
1720: 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e 20  izations,.# can
1730: 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74 65  be useful for te
1740: 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45 46  sting..#.!IFNDEF
1750: 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a 4f   OPTIMIZATIONS.O
1760: 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20 32  PTIMIZATIONS = 2
1770: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1780: 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20  his to non-0 to
1790: 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20 66  enable support f
17a0: 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20 65  or the session e
17b0: 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46 4e  xtension..#.!IFN
17c0: 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53 53  DEF SESSION.SESS
17d0: 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  ION = 0.!ENDIF..
17e0: 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63 65  # Set the source
17f0: 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62 65   code file to be
1800: 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74 61   used by executa
1810: 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72 69  bles and librari
1820: 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20 6e  es when.# they n
1830: 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d 61  eed the amalgama
1840: 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20  tion..#.!IFNDEF
1850: 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28 53  SQLITE3C.!IF $(S 1860: 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 4f PLIT_AMALGAMATIO 1870: 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20 3d N)!=0.SQLITE3C = 1880: 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a 21 sqlite3-all.c.! 1890: 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d 20 ELSE.SQLITE3C = 18a0: 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49 46 sqlite3.c.!ENDIF 18b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 .!ENDIF..# Set t 18c0: 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65 20 he include code 18d0: 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20 file to be used 18e0: 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 61 by executables a 18f0: 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 65 nd libraries whe 1900: 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53 51 n.# they need SQ 1910: 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 Lite..#.!IFNDEF 1920: 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45 33 SQLITE3H.SQLITE3 1930: 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21 45 H = sqlite3.h.!E 1940: 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20 NDIF..# This is 1950: 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 20 the name to use 1960: 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 64 for the SQLite d 1970: 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72 ynamic link libr 1980: 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49 46 ary (DLL)..#.!IF 1990: 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c 0a NDEF SQLITE3DLL. 19a0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 !IF$(FOR_WIN10)
19b0: 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20 3d  !=0.SQLITE3DLL =
19c0: 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c 0a   winsqlite3.dll.
19d0: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c 4c  !ELSE.SQLITE3DLL
19e0: 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 21   = sqlite3.dll.!
19f0: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
1a00: 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d 65  This is the name
1a10: 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65 20   to use for the
1a20: 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c 69  SQLite import li
1a30: 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a 21  brary (LIB)..#.!
1a40: 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c 49  IFNDEF SQLITE3LI
1a50: 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  B.!IF $(FOR_WIN1 1a60: 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49 42 0)!=0.SQLITE3LIB 1a70: 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c 69 = winsqlite3.li 1a80: 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 4c b.!ELSE.SQLITE3L 1a90: 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69 62 IB = sqlite3.lib 1aa0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a .!ENDIF.!ENDIF.. 1ab0: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 # This is the na 1ac0: 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 me to use for th 1ad0: 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 65 e SQLite shell e 1ae0: 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 2e xecutable (EXE). 1af0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 .#.!IFNDEF SQLIT 1b00: 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52 5f E3EXE.!IF$(FOR_
1b10: 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 45  WIN10)!=0.SQLITE
1b20: 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74 65  3EXE = winsqlite
1b30: 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53 45  3shell.exe.!ELSE
1b40: 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73 71  .SQLITE3EXE = sq
1b50: 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49 46  lite3.exe.!ENDIF
1b60: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This
1b70: 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20  is the argument
1b80: 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65 20  used to set the
1b90: 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73 65  program database
1ba0: 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72 20   (PDB) file for
1bb0: 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68 65  the.# SQLite she
1bc0: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28 45  ll executable (E
1bd0: 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53  XE)..#.!IFNDEF S
1be0: 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49 46  QLITE3EXEPDB.!IF
1bf0: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0 1c00: 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 3d .SQLITE3EXEPDB = 1c10: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45 58 .!ELSE.SQLITE3EX 1c20: 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c 69 EPDB = /pdb:sqli 1c30: 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49 46 te3sh.pdb.!ENDIF 1c40: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 .!ENDIF..# <<mar 1c50: 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65 20 k>>.# These are 1c60: 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 the names of the 1c70: 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c 20 customized Tcl 1c80: 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 65 header files use 1c90: 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61 72 d by various par 1ca0: 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61 6b ts.# of this mak 1cb0: 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20 73 efile when the s 1cc0: 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20 63 tdcall calling c 1cd0: 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e 20 onvention is in 1ce0: 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74 0a use. It is not. 1cf0: 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 6f # used for any o 1d00: 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23 0a ther purpose..#. 1d10: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54 43 !IFNDEF SQLITETC 1d20: 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d 20 LH.SQLITETCLH = 1d30: 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45 4e sqlite_tcl.h.!EN 1d40: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51 4c DIF..!IFNDEF SQL 1d50: 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51 4c ITETCLDECLSH.SQL 1d60: 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20 73 ITETCLDECLSH = s 1d70: 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e 68 qlite_tclDecls.h 1d80: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 .!ENDIF..# These 1d90: 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69 6f are the additio 1da0: 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 74 nal targets that 1db0: 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68 61 the targets tha 1dc0: 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74 68 t integrate with 1dd0: 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72 61 the.# Tcl libra 1de0: 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 ry should depend 1df0: 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 on when compili 1e00: 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e 44 ng, etc..#.!IFND 1e10: 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 EF SQLITE_TCL_DE 1e20: 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 P.!IF$(USE_STDC
1e30: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR 1e40: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 _WIN10)!=0.SQLIT 1e50: 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53 51 E_TCL_DEP =$(SQ
1e60: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 24  LITETCLDECLSH) $1e70: 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45 4c (SQLITETCLH).!EL 1e80: 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 SE.SQLITE_TCL_DE 1e90: 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 P =.!ENDIF.!ENDI 1ea0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 F.# <</mark>>..# 1eb0: 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 22 These are the " 1ec0: 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74 65 standard" SQLite 1ed0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 compilation opt 1ee0: 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 ions used when c 1ef0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 ompiling for.# t 1f00: 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 he Windows platf 1f10: 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4f orm..#.!IFNDEF O 1f20: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 PT_FEATURE_FLAGS 1f30: 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f 41 .!IF$(MINIMAL_A
1f40: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
1f50: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1f60: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52  S = $(OPT_FEATUR 1f70: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 E_FLAGS) -DSQLIT 1f80: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31 0a E_ENABLE_FTS3=1. 1f90: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG 1fa0: 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 S =$(OPT_FEATUR
1fb0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
1fc0: 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d 31  E_ENABLE_RTREE=1
1fd0: 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41 54  .!ENDIF.OPT_FEAT
1fe0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP 1ff0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) 2000: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 2010: 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41 _COLUMN_METADATA 2020: 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f =1.!ENDIF..# Sho 2030: 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e 20 uld the session 2040: 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e 61 extension be ena 2050: 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61 64 bled? If so, ad 2060: 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 d compilation op 2070: 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62 6c tions.# to enabl 2080: 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53 45 e it..#.!IF$(SE
2090: 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46 45  SSION)!=0.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 53 45 53 53 49 4f 4e 3d 31 0a 4f 50 54 LE_SESSION=1.OPT 20e0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d _FEATURE_FLAGS = 20f0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46$(OPT_FEATURE_F
2100: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  LAGS) -DSQLITE_E
2110: 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f  NABLE_PREUPDATE_
2120: 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a 23  HOOK=1.!ENDIF..#
2130: 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 22   These are the "
2140: 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74 65  extended" SQLite
2150: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74   compilation opt
2160: 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63  ions used when c
2170: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74  ompiling for.# t
2180: 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c  he Windows 10 pl
2190: 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45  atform..#.!IFNDE
21a0: 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  F EXT_FEATURE_FL
21b0: 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  AGS.!IF $(FOR_WI 21c0: 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41 54 N10)!=0.EXT_FEAT 21d0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 URE_FLAGS =$(EX
21e0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
21f0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
2200: 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41 54  _FTS4=1.EXT_FEAT
2210: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58  URE_FLAGS = $(EX 2220: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) 2230: 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45 4d -DSQLITE_SYSTEM 2240: 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 45 _MALLOC=1.EXT_FE 2250: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 ATURE_FLAGS =$(
2260: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
2270: 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  S) -DSQLITE_OMIT
2280: 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45 4c  _LOCALTIME=1.!EL
2290: 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46  SE.EXT_FEATURE_F
22a0: 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45  LAGS =.!ENDIF.!E
22b0: 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23 23  NDIF..##########
22c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2300: 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23 23  #####.##########
2310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2320: 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50 54  ##### END OF OPT
2330: 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23 23  IONS ###########
2340: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2350: 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23 23  #####.##########
2360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2370: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2390: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
23a0: 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63 6f  #####..# When co
23b0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65 20  mpiling for the
23c0: 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66  Windows 10 platf
23d0: 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f 52  orm, the PLATFOR
23e0: 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65 20  M macro must be
23f0: 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70 72  set.# to an appr
2400: 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28 65  opriate value (e
2410: 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61 72  .g. x86, x64, ar
2420: 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e 0a  m, arm64, etc)..
2430: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31  #.!IF $(FOR_WIN1 2440: 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50 4c 0)!=0.!IFNDEF PL 2450: 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55 73 ATFORM.!ERROR Us 2460: 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e 31 ing the FOR_WIN1 2470: 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 0 option require 2480: 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50 4c s a value for PL 2490: 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a 21 ATFORM..!ENDIF.! 24a0: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61 73 ENDIF..# This as 24b0: 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43 20 sumes that MSVC 24c0: 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61 6c is always instal 24d0: 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50 72 led in 32-bit Pr 24e0: 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72 65 ogram Files dire 24f0: 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74 73 ctory.# and sets 2500: 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66 6f the variable fo 2510: 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69 6e r use in locatin 2520: 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20 69 g other 32-bit i 2530: 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69 6e nstalls accordin 2540: 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 49 gly..#.PROGRAMFI 2550: 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49 4e LES_X86 =$(VCIN
2560: 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e 0a  STALLDIR)\..\...
2570: 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36  PROGRAMFILES_X86
2580: 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45   = $(PROGRAMFILE 2590: 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 S_X86:\\=\)..# C 25a0: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65 heck for the pre 25b0: 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 defined command 25c0: 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73 20 macro CC. This 25d0: 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 should point to 25e0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20 62 the compiler.# b 25f0: 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74 61 inary for the ta 2600: 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 rget platform. 2610: 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 If it is not def 2620: 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 ined, simply def 2630: 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65 20 ine it to.# the 2640: 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 legacy default v 2650: 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a 23 alue 'cl.exe'..# 2660: 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20 3d .!IFNDEF CC.CC = 2670: 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a cl.exe.!ENDIF.. 2680: 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 # Check for the 2690: 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 predefined comma 26a0: 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20 54 nd macro CSC. T 26b0: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 his should point 26c0: 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23 20 to a working.# 26d0: 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65 72 C Sharp compiler 26e0: 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74 20 binary. If it 26f0: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 is not defined, 2700: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 simply define it 2710: 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63 79 to the.# legacy 2720: 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 default value ' 2730: 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e csc.exe'..#.!IFN 2740: 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63 73 DEF CSC.CSC = cs 2750: 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 c.exe.!ENDIF..# 2760: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f Check for the co 2770: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e 20 mmand macro LD. 2780: 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 This should poi 2790: 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 72 nt to the linker 27a0: 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 68 binary for.# th 27b0: 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 e target platfor 27c0: 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 m. If it is not 27d0: 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 defined, simply 27e0: 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68 define it to th 27f0: 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61 75 e legacy.# defau 2800: 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e 65 lt value 'link.e 2810: 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c xe'..#.!IFNDEF L 2820: 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 0a D.LD = link.exe. 2830: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 !ENDIF..# Check 2840: 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 6e for the predefin 2850: 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f ed command macro 2860: 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c RC. This shoul 2870: 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 72 d point to the r 2880: 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 6c esource.# compil 2890: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 er binary for th 28a0: 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 e target platfor 28b0: 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 m. If it is not 28c0: 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 defined, simply 28d0: 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f 20 define.# it to 28e0: 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61 75 the legacy defau 28f0: 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78 65 lt value 'rc.exe 2900: 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 0a '..#.!IFNDEF RC. 2910: 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e 44 RC = rc.exe.!END 2920: 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 IF..# Check for 2930: 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 the MSVC runtime 2940: 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 library path ma 2950: 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c cro. Otherwise, 2960: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c this value will 2970: 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 .# default to th 2980: 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 e 'lib' director 2990: 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 y underneath the 29a0: 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 69 MSVC installati 29b0: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a on directory..#. 29c0: 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50 41 !IFNDEF CRTLIBPA 29d0: 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20 TH.CRTLIBPATH = 29e0: 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c$(VCINSTALLDIR)\
29f0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54 4c  lib.!ENDIF..CRTL
2a00: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI 2a10: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 BPATH:\\=\)..# C 2a20: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d heck for the com 2a30: 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e 20 mand macro NCC. 2a40: 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 This should poi 2a50: 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c nt to the compil 2a60: 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 20 er binary.# for 2a70: 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 the platform the 2a80: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f compilation pro 2a90: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 cess is taking p 2aa0: 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 20 lace on. If it 2ab0: 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 64 is not.# defined 2ac0: 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 , simply define 2ad0: 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 it to have the s 2ae0: 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68 65 ame value as the 2af0: 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 6e CC macro. When 2b00: 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 .# cross-compili 2b10: 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65 73 ng, it is sugges 2b20: 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d 61 ted that this ma 2b30: 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 cro be modified 2b40: 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a via the command. 2b50: 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e 6d # line (since nm 2b60: 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73 20 ake itself does 2b70: 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62 75 not provide a bu 2b80: 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 6f ilt-in method to 2b90: 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46 6f guess it)..# Fo 2ba0: 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 73 r example, to us 2bb0: 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69 6c e the x86 compil 2bc0: 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 6f er when cross-co 2bd0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 2c mpiling for x64, 2be0: 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e a command.# lin 2bf0: 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 e similar to the 2c00: 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c 64 following could 2c10: 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f 6e be used (all on 2c20: 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 one line):.#.# 2c30: 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b nmake /f Mak 2c40: 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 efile.msc sqlite 2c50: 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 3.dll.# 2c60: 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 45 XCOMPILE=1 USE 2c70: 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 _NATIVE_LIBPATHS 2c80: 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 69 =1.#.# Alternati 2c90: 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 70 vely, the full p 2ca0: 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 6d ath and file nam 2cb0: 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 e to the compile 2cc0: 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 r binary for the 2cd0: 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 .# platform the 2ce0: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 compilation proc 2cf0: 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c ess is taking pl 2d00: 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63 69 ace may be speci 2d10: 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 6f fied (all on.# o 2d20: 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20 ne line):.#.# 2d30: 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 nmake /f Makef 2d40: 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e ile.msc sqlite3. 2d50: 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20 dll.# 2d60: 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41 4c "NCC=""%VCINSTAL 2d70: 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 65 LDIR%\bin\cl.exe 2d80: 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20 20 """.# 2d90: 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 USE_NATIVE_LIBPA 2da0: 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 4e THS=1.#.!IFDEF N 2db0: 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a 5c CC.NCC =$(NCC:\
2dc0: 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28 58  \=\).!ELSEIF $(X 2dd0: 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 20 COMPILE)!=0.NCC 2de0: 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 = "$(VCINSTALLDI
2df0: 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e 43  R)\bin\$(CC)".NC 2e00: 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a C =$(NCC:\\=\).
2e10: 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43 43  !ELSE.NCC = $(CC 2e20: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 ).!ENDIF..# Chec 2e30: 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 6e k for the MSVC n 2e40: 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c 69 ative runtime li 2e50: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f brary path macro 2e60: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 20 . Otherwise,.# 2e70: 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 20 this value will 2e80: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 default to the ' 2e90: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 lib' directory u 2ea0: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53 nderneath the MS 2eb0: 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 6f VC.# installatio 2ec0: 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 n directory..#.! 2ed0: 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 41 IFNDEF NCRTLIBPA 2ee0: 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d TH.NCRTLIBPATH = 2ef0: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29$(VCINSTALLDIR)
2f00: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43 52  \lib.!ENDIF..NCR
2f10: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43 52  TLIBPATH = $(NCR 2f20: 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a TLIBPATH:\\=\).. 2f30: 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 # Check for the 2f40: 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 62 Platform SDK lib 2f50: 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e rary path macro. 2f60: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 Otherwise, thi 2f70: 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 s.# value will d 2f80: 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c efault to the 'l 2f90: 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e ib' directory un 2fa0: 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e derneath the Win 2fb0: 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 61 dows.# SDK insta 2fc0: 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 llation director 2fd0: 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 y (the environme 2fe0: 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65 64 nt variable used 2ff0: 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62 65 appears.# to be 3000: 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 available when 3010: 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b 2b using Visual C++ 3020: 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20 76 2008 or later v 3030: 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e 64 ia the.# command 3040: 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 45 line)..#.!IFNDE 3050: 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e 53 F NSDKLIBPATH.NS 3060: 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49 DKLIBPATH =$(WI
3070: 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62  NDOWSSDKDIR)\lib
3080: 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49 42  .!ENDIF..NSDKLIB
3090: 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49 42  PATH = $(NSDKLIB 30a0: 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 PATH:\\=\)..# Ch 30b0: 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52 54 eck for the UCRT 30c0: 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 library path ma 30d0: 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c cro. Otherwise, 30e0: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c this value will 30f0: 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 .# default to th 3100: 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 e version-specif 3110: 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 ic, platform-spe 3120: 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72 65 cific 'lib' dire 3130: 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 61 ctory.# undernea 3140: 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53 th the Windows S 3150: 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 DK installation 3160: 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 directory..#.!IF 3170: 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54 48 NDEF UCRTLIBPATH 3180: 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 .UCRTLIBPATH =$
3190: 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c  (WINDOWSSDKDIR)\
31a0: 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44 4b  lib\$(WINDOWSSDK 31b0: 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 74 LIBVERSION)\ucrt 31c0: 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4e \$(PLATFORM).!EN
31d0: 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54 48  DIF..UCRTLIBPATH
31e0: 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54 48   = $(UCRTLIBPATH 31f0: 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d 70 :\\=\)..# C comp 3200: 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 iler and options 3210: 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c for use in buil 3220: 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 ding executables 3230: 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e that.# will run 3240: 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 6d on the platform 3250: 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20 74 that is doing t 3260: 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 20 he build..#.!IF 3270: 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21$(USE_FULLWARN)!
3280: 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20  =0.BCC = $(NCC) 3290: 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43 43 -nologo -W4$(CC
32a0: 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53 29  OPTS) $(BCCOPTS) 32b0: 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28 4e .!ELSE.BCC =$(N
32c0: 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20  CC) -nologo -W3
32d0: 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43 4f  $(CCOPTS)$(BCCO
32e0: 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43  PTS).!ENDIF..# C
32f0: 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79  heck if assembly
3300: 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73   code listings s
3310: 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74  hould be generat
3320: 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63  ed for the sourc
3330: 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74  e.# code files t
3340: 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23  o be compiled..#
3350: 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49  .!IF $(USE_LISTI 3360: 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24 28 NGS)!=0.BCC =$(
3370: 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49  BCC) -FAcs.!ENDI
3380: 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74 68  F..# Check if th
3390: 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72 79  e native library
33a0: 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62 65   paths should be
33b0: 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69   used when compi
33c0: 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d 61  ling.# the comma
33d0: 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75 73  nd line tools us
33e0: 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f  ed during the co
33f0: 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73  mpilation proces
3400: 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65 74  s.  If.# so, set
3410: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6d   the necessary m
3420: 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46 20  acro now..#.!IF
3430: 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42  $(USE_NATIVE_LIB 3440: 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49 42 PATHS)!=0.NLTLIB 3450: 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41 54 PATHS = "/LIBPAT 3460: 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48 29 H:$(NCRTLIBPATH)
3470: 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 53  " "/LIBPATH:$(NS 3480: 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49 46 DKLIBPATH)"..!IF 3490: 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54 48 DEF NUCRTLIBPATH 34a0: 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 .NUCRTLIBPATH = 34b0: 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a 5c$(NUCRTLIBPATH:\
34c0: 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48 53  \=\).NLTLIBPATHS
34d0: 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53   = $(NLTLIBPATHS 34e0: 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 55 ) "/LIBPATH:$(NU
34f0: 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45 4e  CRTLIBPATH)".!EN
3500: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20  DIF.!ENDIF..# C
3510: 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70 74  compiler and opt
3520: 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e 20  ions for use in
3530: 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74 61  building executa
3540: 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c 6c  bles that.# will
3550: 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72 67   run on the targ
3560: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28 42  et platform.  (B
3570: 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20 75  CC and TCC are u
3580: 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61 6d  sually the.# sam
3590: 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61 72  e unless your ar
35a0: 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e  e cross-compilin
35b0: 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  g.).#.!IF $(USE_ 35c0: 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43 43 FULLWARN)!=0.TCC 35d0: 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f =$(CC) -nologo
35e0: 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f 4d   -W4 -DINCLUDE_M
35f0: 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54 53  SVC_H=1 $(CCOPTS 3600: 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45 4c )$(TCCOPTS).!EL
3610: 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20 2d  SE.TCC = $(CC) - 3620: 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f nologo -W3$(CCO
3630: 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a  PTS) $(TCCOPTS). 3640: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 !ENDIF..# Check 3650: 69 66 20 77 61 72 6e 69 6e 67 73 20 73 68 6f 75 if warnings shou 3660: 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73 ld be treated as 3670: 20 65 72 72 6f 72 73 20 77 68 65 6e 20 63 6f 6d errors when com 3680: 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 20 24 28 piling..#.!IF$(
3690: 55 53 45 5f 46 41 54 41 4c 5f 57 41 52 4e 29 21  USE_FATAL_WARN)!
36a0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 36b0: 2d 57 58 0a 21 45 4e 44 49 46 0a 0a 54 43 43 20 -WX.!ENDIF..TCC 36c0: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 =$(TCC) -DSQLIT
36d0: 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d  E_OS_WIN=1 -I. -
36e0: 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50 29  I$(TOP) -I$(TOP)
36f0: 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73 65  \src -fp:precise
3700: 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44 53  .RCC = $(RC) -DS 3710: 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d QLITE_OS_WIN=1 - 3720: 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 I. -I$(TOP) -I$( 3730: 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50 54 TOP)\src$(RCOPT
3740: 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a 23  S) $(RCCOPTS)..# 3750: 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61 6e Check if we wan 3760: 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73 74 t to use the "st 3770: 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 63 dcall" calling c 3780: 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20 63 onvention when c 3790: 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69 73 ompiling..# This 37a0: 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 is not supporte 37b0: 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 d by the compile 37c0: 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 70 rs for non-x86 p 37d0: 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73 68 latforms. It sh 37e0: 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20 6e ould.# also be n 37f0: 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20 62 oted here that b 3800: 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72 67 uilding any targ 3810: 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22 73 et with these "s 3820: 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 0a tdcall" options. 3830: 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65 # will most like 3840: 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20 54 ly fail if the T 3850: 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61 6c cl library is al 3860: 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54 68 so required. Th 3870: 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20 68 is is due.# to h 3880: 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61 ow the Tcl libra 3890: 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 ry functions are 38a0: 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65 78 declared and ex 38b0: 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69 74 ported (i.e. wit 38c0: 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69 63 hout.# an explic 38d0: 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 it calling conve 38e0: 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65 73 ntion, which res 38f0: 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22 29 ults in "cdecl") 3900: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53 54 ..#.!IF$(USE_ST
3910: 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  DCALL)!=0 || $(F 3920: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 46 OR_WIN10)!=0.!IF 3930: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d "$(PLATFORM)"==
3940: 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e 56  "x86".CORE_CCONV
3950: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3960: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
3970: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
3980: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
3990: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
39a0: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
39b0: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
39c0: 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f  all.SHELL_CCONV_
39d0: 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c  OPTS = -Gz -DSQL
39e0: 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63  ITE_CDECL=__cdec
39f0: 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41  l -DSQLITE_APICA
3a00: 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  LL=__stdcall -DS
3a10: 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f  QLITE_CALLBACK=_
3a20: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3a30: 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61  E_SYSAPI=__stdca
3a40: 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45  ll.# <<mark>>.TE
3a50: 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20  ST_CCONV_OPTS =
3a60: 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45  -Gz -DSQLITE_CDE
3a70: 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c  CL=__cdecl -DSQL
3a80: 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74  ITE_APICALL=__st
3a90: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43  dcall -DSQLITE_C
3aa0: 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c  ALLBACK=__stdcal
3ab0: 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50  l -DSQLITE_SYSAP
3ac0: 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49 4e  I=__stdcall -DIN
3ad0: 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43 4c  CLUDE_SQLITE_TCL
3ae0: 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54 43  _H=1 -DSQLITE_TC
3af0: 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c  LAPI=__cdecl.# <
3b00: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 21  </mark>>.!ELSE.!
3b10: 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a  IFNDEF PLATFORM.
3b20: 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20  CORE_CCONV_OPTS
3b30: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43  = -Gz -DSQLITE_C
3b40: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53  DECL=__cdecl -DS
3b50: 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f  QLITE_APICALL=__
3b60: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3b70: 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63  _CALLBACK=__stdc
3b80: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53  all -DSQLITE_SYS
3b90: 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48  API=__stdcall.SH
3ba0: 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ELL_CCONV_OPTS =
3bb0: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
3bc0: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
3bd0: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
3be0: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3bf0: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3c00: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3c10: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c  PI=__stdcall.# <
3c20: 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f  <mark>>.TEST_CCO
3c30: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44  NV_OPTS = -Gz -D
3c40: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63  SQLITE_CDECL=__c
3c50: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50  decl -DSQLITE_AP
3c60: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20  ICALL=__stdcall
3c70: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  -DSQLITE_CALLBAC
3c80: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  K=__stdcall -DSQ
3c90: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74  LITE_SYSAPI=__st
3ca0: 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f  dcall -DINCLUDE_
3cb0: 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d  SQLITE_TCL_H=1 -
3cc0: 44 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f  DSQLITE_TCLAPI=_
3cd0: 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b  _cdecl.# <</mark
3ce0: 3e 3e 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43  >>.!ELSE.CORE_CC
3cf0: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c  ONV_OPTS =.SHELL
3d00: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20  _CCONV_OPTS =.#
3d10: 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43  <<mark>>.TEST_CC
3d20: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f  ONV_OPTS =.# <</
3d30: 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21 45  mark>>.!ENDIF.!E
3d40: 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45 5f  NDIF.!ELSE.CORE_
3d50: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45  CCONV_OPTS =.SHE
3d60: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a  LL_CCONV_OPTS =.
3d70: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f  # <<mark>>.TEST_
3d80: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c  CCONV_OPTS =.# <
3d90: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a  </mark>>.!ENDIF.
3da0: 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64  .# These are add
3db0: 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72  itional compiler
3dc0: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f   options used fo
3dd0: 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  r the core libra
3de0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f  ry..#.!IFNDEF CO
3df0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a  RE_COMPILE_OPTS.
3e00: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH 3e10: 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 ELL)!=0 ||$(FOR
3e20: 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45 5f  _WIN10)!=0.CORE_
3e30: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $3e40: 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 (CORE_CCONV_OPTS 3e50: 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f ) -DSQLITE_API=_ 3e60: 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c 65 78 70 _declspec(dllexp 3e70: 6f 72 74 29 0a 21 45 4c 53 45 0a 43 4f 52 45 5f ort).!ELSE.CORE_ 3e80: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 COMPILE_OPTS =$
3e90: 28 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  (CORE_CCONV_OPTS
3ea0: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
3eb0: 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65  .# These are the
3ec0: 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 67   additional targ
3ed0: 65 74 73 20 74 68 61 74 20 74 68 65 20 63 6f 72  ets that the cor
3ee0: 65 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c 64  e library should
3ef0: 20 64 65 70 65 6e 64 20 6f 6e 0a 23 20 77 68 65   depend on.# whe
3f00: 6e 20 6c 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49 46  n linking..#.!IF
3f10: 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 44  NDEF CORE_LINK_D
3f20: 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  EP.!IF $(DYNAMIC 3f30: 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f _SHELL)!=0.CORE_ 3f40: 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 45 LINK_DEP =.!ELSE 3f50: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d IF$(FOR_WIN10)=
3f60: 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52  =0 || "$(PLATFOR 3f70: 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f M)"=="x86".CORE_ 3f80: 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69 74 LINK_DEP = sqlit 3f90: 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52 e3.def.!ELSE.COR 3fa0: 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4e E_LINK_DEP =.!EN 3fb0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 DIF.!ENDIF..# Th 3fc0: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e ese are addition 3fd0: 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e al linker option 3fe0: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 63 s used for the c 3ff0: 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 ore library..#.! 4000: 49 46 4e 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b IFNDEF CORE_LINK 4010: 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41 _OPTS.!IF$(DYNA
4020: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f  MIC_SHELL)!=0.CO
4030: 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21  RE_LINK_OPTS =.!
4040: 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 49 4e  ELSEIF $(FOR_WIN 4050: 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 10)==0 || "$(PLA
4060: 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43  TFORM)"=="x86".C
4070: 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20  ORE_LINK_OPTS =
4080: 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e 64 65 66  /DEF:sqlite3.def
4090: 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b  .!ELSE.CORE_LINK
40a0: 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a 21  _OPTS =.!ENDIF.!
40b0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
40c0: 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f  re additional co
40d0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75  mpiler options u
40e0: 73 65 64 20 66 6f 72 20 74 68 65 20 73 68 65 6c  sed for the shel
40f0: 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a  l executable..#.
4100: 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f  !IFNDEF SHELL_CO
4110: 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24  MPILE_OPTS.!IF $4120: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 (DYNAMIC_SHELL)! 4130: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 =0 ||$(FOR_WIN1
4140: 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50  0)!=0.SHELL_COMP
4150: 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45  ILE_OPTS = $(SHE 4160: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d LL_CCONV_OPTS) - 4170: 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 DSQLITE_API=__de 4180: 63 6c 73 70 65 63 28 64 6c 6c 69 6d 70 6f 72 74 clspec(dllimport 4190: 29 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f ).!ELSE.SHELL_CO 41a0: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 MPILE_OPTS =$(S
41b0: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29  HELL_CCONV_OPTS)
41c0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
41d0: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 73 6f  # This is the so
41e0: 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20 74  urce code that t
41f0: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
4200: 62 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 63 6f  ble should be co
4210: 6d 70 69 6c 65 64 0a 23 20 77 69 74 68 2e 0a 23  mpiled.# with..#
4220: 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43  .!IFNDEF SHELL_C
4230: 4f 52 45 5f 53 52 43 0a 21 49 46 20 24 28 44 59  ORE_SRC.!IF $(DY 4240: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 NAMIC_SHELL)!=0 4250: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 ||$(FOR_WIN10)!
4260: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  =0.SHELL_CORE_SR
4270: 43 20 3d 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f  C =.!ELSE.SHELL_
4280: 43 4f 52 45 5f 53 52 43 20 3d 20 24 28 53 51 4c  CORE_SRC = $(SQL 4290: 49 54 45 33 43 29 0a 21 45 4e 44 49 46 0a 21 45 ITE3C).!ENDIF.!E 42a0: 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20 NDIF..# This is 42b0: 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 the core library 42c0: 20 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c 20 that the shell 42d0: 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75 6c executable shoul 42e0: 64 20 64 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a 21 d depend on..#.! 42f0: 49 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 IFNDEF SHELL_COR 4300: 45 5f 44 45 50 0a 21 49 46 20 24 28 44 59 4e 41 E_DEP.!IF$(DYNA
4310: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c  MIC_SHELL)!=0 ||
4320: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0 4330: 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 .SHELL_CORE_DEP 4340: 3d 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a =$(SQLITE3DLL).
4350: 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45  !ELSE.SHELL_CORE
4360: 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45  _DEP =.!ENDIF.!E
4370: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
4380: 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f  .# If zlib suppo
4390: 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61  rt is enabled, a
43a0: 64 64 20 74 68 65 20 73 68 65 6c 6c 20 64 65 70  dd the shell dep
43b0: 65 6e 64 65 6e 63 79 20 66 6f 72 20 69 74 2e 0a  endency for it..
43c0: 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42  #.!IF $(USE_ZLIB 43d0: 29 21 3d 30 20 26 26 20 24 28 42 55 49 4c 44 5f )!=0 &&$(BUILD_
43e0: 5a 4c 49 42 29 21 3d 30 0a 53 48 45 4c 4c 5f 43  ZLIB)!=0.SHELL_C
43f0: 4f 52 45 5f 44 45 50 20 3d 20 7a 6c 69 62 20 24  ORE_DEP = zlib $4400: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 (SHELL_CORE_DEP) 4410: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 .!ENDIF.# <</mar 4420: 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74 k>>..# This is t 4430: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 he core library 4440: 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 that the shell e 4450: 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 xecutable should 4460: 20 6c 69 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49 link with..#.!I 4470: 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 FNDEF SHELL_CORE 4480: 5f 4c 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d _LIB.!IF$(DYNAM
4490: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20  IC_SHELL)!=0 ||
44a0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0. 44b0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d SHELL_CORE_LIB = 44c0: 20 24 28 53 51 4c 49 54 45 33 4c 49 42 29 0a 21$(SQLITE3LIB).!
44d0: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f  ELSE.SHELL_CORE_
44e0: 4c 49 42 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e  LIB =.!ENDIF.!EN
44f0: 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65  DIF..# These are
4500: 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b   additional link
4510: 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20  er options used
4520: 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78  for the shell ex
4530: 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e  ecutable..#.!IFN
4540: 44 45 46 20 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f  DEF SHELL_LINK_O
4550: 50 54 53 0a 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f  PTS.SHELL_LINK_O
4560: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f  PTS = $(SHELL_CO 4570: 52 45 5f 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a RE_LIB).!ENDIF.. 4580: 23 20 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d # Check if assem 4590: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 bly code listing 45a0: 73 20 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 s should be gene 45b0: 72 61 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f rated for the so 45c0: 75 72 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 urce.# code file 45d0: 73 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 s to be compiled 45e0: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 ..#.!IF$(USE_LI
45f0: 53 54 49 4e 47 53 29 21 3d 30 0a 54 43 43 20 3d  STINGS)!=0.TCC =
4600: 20 24 28 54 43 43 29 20 2d 46 41 63 73 0a 21 45   $(TCC) -FAcs.!E 4610: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d NDIF..# When com 4620: 70 69 6c 69 6e 67 20 74 68 65 20 6c 69 62 72 61 piling the libra 4630: 72 79 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 ry for use in th 4640: 65 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d e WinRT environm 4650: 65 6e 74 2c 0a 23 20 74 68 65 20 66 6f 6c 6c 6f ent,.# the follo 4660: 77 69 6e 67 20 63 6f 6d 70 69 6c 65 2d 74 69 6d wing compile-tim 4670: 65 20 6f 70 74 69 6f 6e 73 20 6d 75 73 74 20 62 e options must b 4680: 65 20 75 73 65 64 20 61 73 20 77 65 6c 6c 20 74 e used as well t 4690: 6f 0a 23 20 64 69 73 61 62 6c 65 20 75 73 65 20 o.# disable use 46a0: 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20 74 68 of Win32 APIs th 46b0: 61 74 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c at are not avail 46c0: 61 62 6c 65 20 61 6e 64 20 74 6f 20 65 6e 61 62 able and to enab 46d0: 6c 65 0a 23 20 75 73 65 20 6f 66 20 57 69 6e 33 le.# use of Win3 46e0: 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65 20 2 APIs that are 46f0: 73 70 65 63 69 66 69 63 20 74 6f 20 57 69 6e 64 specific to Wind 4700: 6f 77 73 20 38 20 61 6e 64 2f 6f 72 20 57 69 6e ows 8 and/or Win 4710: 52 54 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f RT..#.!IF$(FOR_
4720: 57 49 4e 52 54 29 21 3d 30 0a 54 43 43 20 3d 20  WINRT)!=0.TCC =
4730: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_ 4740: 4f 53 5f 57 49 4e 52 54 3d 31 0a 52 43 43 20 3d OS_WINRT=1.RCC = 4750: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45$(RCC) -DSQLITE
4760: 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 54 43 43 20  _OS_WINRT=1.TCC
4770: 3d 20 24 28 54 43 43 29 20 2d 44 57 49 4e 41 50  = $(TCC) -DWINAP 4780: 49 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f I_FAMILY=WINAPI_ 4790: 46 41 4d 49 4c 59 5f 41 50 50 0a 52 43 43 20 3d FAMILY_APP.RCC = 47a0: 20 24 28 52 43 43 29 20 2d 44 57 49 4e 41 50 49$(RCC) -DWINAPI
47b0: 5f 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46  _FAMILY=WINAPI_F
47c0: 41 4d 49 4c 59 5f 41 50 50 0a 21 45 4e 44 49 46  AMILY_APP.!ENDIF
47d0: 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 6f  ..# C compiler o
47e0: 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 57  ptions for the W
47f0: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
4800: 72 6d 20 28 6e 65 65 64 73 20 4d 53 56 43 20 32  rm (needs MSVC 2
4810: 30 31 35 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f  015)..#.!IF $(FO 4820: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 R_WIN10)!=0.TCC 4830: 3d 20 24 28 54 43 43 29 20 2f 64 32 67 75 61 72 =$(TCC) /d2guar
4840: 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49  d4 -D_ARM_WINAPI
4850: 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54  _PARTITION_DESKT
4860: 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45  OP_SDK_AVAILABLE
4870: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2f 64  .BCC = $(BCC) /d 4880: 32 67 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57 2guard4 -D_ARM_W 4890: 49 4e 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f INAPI_PARTITION_ 48a0: 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 DESKTOP_SDK_AVAI 48b0: 4c 41 42 4c 45 0a 21 45 4e 44 49 46 0a 0a 23 20 LABLE.!ENDIF..# 48c0: 41 6c 73 6f 2c 20 77 65 20 6e 65 65 64 20 74 6f Also, we need to 48d0: 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e dynamically lin 48e0: 6b 20 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74 k to the correct 48f0: 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 0a 23 20 MSVC runtime.# 4900: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 when compiling f 4910: 6f 72 20 57 69 6e 52 54 20 28 65 2e 67 2e 20 64 or WinRT (e.g. d 4920: 65 62 75 67 20 6f 72 20 72 65 6c 65 61 73 65 29 ebug or release) 4930: 20 4f 52 20 69 66 20 74 68 65 0a 23 20 55 53 45 OR if the.# USE 4940: 5f 43 52 54 5f 44 4c 4c 20 6f 70 74 69 6f 6e 20 _CRT_DLL option 4950: 69 73 20 73 65 74 20 74 6f 20 66 6f 72 63 65 20 is set to force 4960: 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b dynamically link 4970: 69 6e 67 20 74 6f 20 74 68 65 0a 23 20 4d 53 56 ing to the.# MSV 4980: 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 C runtime librar 4990: 79 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 y..#.!IF$(FOR_W
49a0: 49 4e 52 54 29 21 3d 30 20 7c 7c 20 24 28 55 53  INRT)!=0 || $(US 49b0: 45 5f 43 52 54 5f 44 4c 4c 29 21 3d 30 0a 21 49 E_CRT_DLL)!=0.!I 49c0: 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 F$(DEBUG)>1.TCC
49d0: 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 64 0a 42   = $(TCC) -MDd.B 49e0: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 64 CC =$(BCC) -MDd
49f0: 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54  .!ELSE.TCC = $(T 4a00: 43 43 29 20 2d 4d 44 0a 42 43 43 20 3d 20 24 28 CC) -MD.BCC =$(
4a10: 42 43 43 29 20 2d 4d 44 0a 21 45 4e 44 49 46 0a  BCC) -MD.!ENDIF.
4a20: 21 45 4c 53 45 0a 21 49 46 20 24 28 44 45 42 55  !ELSE.!IF $(DEBU 4a30: 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 G)>1.TCC =$(TCC
4a40: 29 20 2d 4d 54 64 0a 42 43 43 20 3d 20 24 28 42  ) -MTd.BCC = $(B 4a50: 43 43 29 20 2d 4d 54 64 0a 21 45 4c 53 45 0a 54 CC) -MTd.!ELSE.T 4a60: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 0a CC =$(TCC) -MT.
4a70: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54  BCC = $(BCC) -MT 4a80: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a .!ENDIF.!ENDIF.. 4a90: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 # <<mark>>.# The 4aa0: 20 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 mksqlite3c.tcl 4ab0: 61 6e 64 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 and mksqlite3h.t 4ac0: 63 6c 20 73 63 72 69 70 74 73 20 77 69 6c 6c 20 cl scripts will 4ad0: 70 75 6c 6c 20 69 6e 0a 23 20 61 6e 79 20 65 78 pull in.# any ex 4ae0: 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 tension header f 4af0: 69 6c 65 73 20 62 79 20 64 65 66 61 75 6c 74 2e iles by default. 4b00: 20 20 46 6f 72 20 6e 6f 6e 2d 61 6d 61 6c 67 61 For non-amalga 4b10: 6d 61 74 69 6f 6e 0a 23 20 62 75 69 6c 64 73 2c mation.# builds, 4b20: 20 77 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 we need to make 4b30: 20 73 75 72 65 20 74 68 65 20 63 6f 6d 70 69 6c sure the compil 4b40: 65 72 20 63 61 6e 20 66 69 6e 64 20 74 68 65 73 er can find thes 4b50: 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 41 e..#.!IF$(USE_A
4b60: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a  MALGAMATION)==0.
4b70: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24  TCC = $(TCC) -I$
4b80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 52  (TOP)\ext\fts3.R
4b90: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28  CC = $(RCC) -I$(
4ba0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 54 43  TOP)\ext\fts3.TC
4bb0: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
4bc0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 0a 52 43  OP)\ext\rtree.RC
4bd0: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54  C = $(RCC) -I$(T
4be0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 0a 54 43  OP)\ext\rtree.TC
4bf0: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54  C = $(TCC) -I$(T
4c00: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a  OP)\ext\session.
4c10: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
4c20: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
4c30: 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20  n.!ENDIF..# The
4c40: 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 73  mksqlite3c.tcl s
4c50: 63 72 69 70 74 20 61 63 63 65 70 74 73 20 73 6f  cript accepts so
4c60: 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68  me options on th
4c70: 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65  e command.# line
4c80: 2e 20 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .  When compilin
4c90: 67 20 77 69 74 68 20 64 65 62 75 67 67 69 6e 67  g with debugging
4ca0: 20 65 6e 61 62 6c 65 64 2c 20 73 6f 6d 65 20 6f   enabled, some o
4cb0: 66 20 74 68 65 73 65 0a 23 20 6f 70 74 69 6f 6e  f these.# option
4cc0: 73 20 61 72 65 20 6e 65 63 65 73 73 61 72 79 20  s are necessary
4cd0: 69 6e 20 6f 72 64 65 72 20 74 6f 20 61 6c 6c 6f  in order to allo
4ce0: 77 20 64 65 62 75 67 67 69 6e 67 20 73 79 6d 62  w debugging symb
4cf0: 6f 6c 73 20 74 6f 0a 23 20 77 6f 72 6b 20 63 6f  ols to.# work co
4d00: 72 72 65 63 74 6c 79 20 77 69 74 68 20 56 69 73  rrectly with Vis
4d10: 75 61 6c 20 53 74 75 64 69 6f 20 77 68 65 6e 20  ual Studio when
4d20: 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61  using the amalga
4d30: 6d 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45  mation..#.!IFNDE
4d40: 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f  F MKSQLITE3C_TOO
4d50: 4c 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f  L.!IF $(MINIMAL_ 4d60: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 AMALGAMATION)!=0 4d70: 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c .MKSQLITE3C_TOOL 4d80: 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d =$(TOP)\tool\m
4d90: 6b 73 71 6c 69 74 65 33 63 2d 6e 6f 65 78 74 2e  ksqlite3c-noext.
4da0: 74 63 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49  tcl.!ELSE.MKSQLI
4db0: 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f  TE3C_TOOL = $(TO 4dc0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 P)\tool\mksqlite 4dd0: 33 63 2e 74 63 6c 0a 21 45 4e 44 49 46 0a 21 45 3c.tcl.!ENDIF.!E 4de0: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4d 4b NDIF..!IFNDEF MK 4df0: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 0a 21 49 SQLITE3C_ARGS.!I 4e00: 46 20 24 28 44 45 42 55 47 29 3e 31 0a 4d 4b 53 F$(DEBUG)>1.MKS
4e10: 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20 2d  QLITE3C_ARGS = -
4e20: 2d 6c 69 6e 65 6d 61 63 72 6f 73 0a 21 45 4c 53  -linemacros.!ELS
4e30: 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47  E.MKSQLITE3C_ARG
4e40: 53 20 3d 0a 21 45 4e 44 49 46 0a 21 49 46 20 24  S =.!ENDIF.!IF $4e50: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 (USE_STDCALL)!=0 4e60: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 ||$(FOR_WIN10)
4e70: 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41  !=0.MKSQLITE3C_A
4e80: 52 47 53 20 3d 20 24 28 4d 4b 53 51 4c 49 54 45  RGS = $(MKSQLITE 4e90: 33 43 5f 41 52 47 53 29 20 2d 2d 75 73 65 61 70 3C_ARGS) --useap 4ea0: 69 63 61 6c 6c 0a 21 45 4e 44 49 46 0a 21 45 4e icall.!ENDIF.!EN 4eb0: 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c DIF..# The mksql 4ec0: 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69 70 74 ite3h.tcl script 4ed0: 20 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 accepts some op 4ee0: 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d tions on the com 4ef0: 6d 61 6e 64 20 6c 69 6e 65 2e 0a 23 20 57 68 65 mand line..# Whe 4f00: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 n compiling with 4f10: 20 73 74 64 63 61 6c 6c 20 73 75 70 70 6f 72 74 stdcall support 4f20: 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 20 , some of these 4f30: 6f 70 74 69 6f 6e 73 20 61 72 65 0a 23 20 6e 65 options are.# ne 4f40: 63 65 73 73 61 72 79 2e 0a 23 0a 21 49 46 4e 44 cessary..#.!IFND 4f50: 45 46 20 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 EF MKSQLITE3H_AR 4f60: 47 53 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 GS.!IF$(USE_STD
4f70: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO 4f80: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53 51 R_WIN10)!=0.MKSQ 4f90: 4c 49 54 45 33 48 5f 41 52 47 53 20 3d 20 2d 2d LITE3H_ARGS = -- 4fa0: 75 73 65 61 70 69 63 61 6c 6c 0a 21 45 4c 53 45 useapicall.!ELSE 4fb0: 0a 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53 .MKSQLITE3H_ARGS 4fc0: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 =.!ENDIF.!ENDIF 4fd0: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 .# <</mark>>..# 4fe0: 44 65 66 69 6e 65 20 2d 44 4e 44 45 42 55 47 20 Define -DNDEBUG 4ff0: 74 6f 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 6f to compile witho 5000: 75 74 20 64 65 62 75 67 67 69 6e 67 20 28 69 2e ut debugging (i. 5010: 65 2e 2c 20 66 6f 72 20 70 72 6f 64 75 63 74 69 e., for producti 5020: 6f 6e 20 75 73 61 67 65 29 0a 23 20 4f 6d 69 74 on usage).# Omit 5030: 74 69 6e 67 20 74 68 65 20 64 65 66 69 6e 65 20 ting the define 5040: 77 69 6c 6c 20 63 61 75 73 65 20 65 78 74 72 61 will cause extra 5050: 20 64 65 62 75 67 67 69 6e 67 20 63 6f 64 65 20 debugging code 5060: 74 6f 20 62 65 20 69 6e 73 65 72 74 65 64 20 61 to be inserted a 5070: 6e 64 0a 23 20 69 6e 63 6c 75 64 65 73 20 65 78 nd.# includes ex 5080: 74 72 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68 65 tra comments whe 5090: 6e 20 22 45 58 50 4c 41 49 4e 20 73 74 6d 74 22 n "EXPLAIN stmt" 50a0: 20 69 73 20 75 73 65 64 2e 0a 23 0a 21 49 46 20 is used..#.!IF 50b0: 24 28 44 45 42 55 47 29 3d 3d 30 0a 54 43 43 20$(DEBUG)==0.TCC
50c0: 3d 20 24 28 54 43 43 29 20 2d 44 4e 44 45 42 55  = $(TCC) -DNDEBU 50d0: 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d G.BCC =$(BCC) -
50e0: 44 4e 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28  DNDEBUG.RCC = $( 50f0: 52 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 21 45 RCC) -DNDEBUG.!E 5100: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 NDIF..!IF$(DEBU
5110: 47 29 3e 30 20 7c 7c 20 24 28 41 50 49 5f 41 52  G)>0 || $(API_AR 5120: 4d 4f 52 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 MOR)!=0 ||$(FOR
5130: 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d  _WIN10)!=0.TCC =
5140: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE 5150: 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f _ENABLE_API_ARMO 5160: 52 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 R=1.RCC =$(RCC)
5170: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
5180: 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 21 45 4e  _API_ARMOR=1.!EN
5190: 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47  DIF..!IF $(DEBUG 51a0: 29 3e 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 )>2.TCC =$(TCC)
51b0: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d   -DSQLITE_DEBUG=
51c0: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) - 51d0: 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a DSQLITE_DEBUG=1. 51e0: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 !IF$(DYNAMIC_SH
51f0: 45 4c 4c 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28  ELL)==0.TCC = $( 5200: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e TCC) -DSQLITE_EN 5210: 41 42 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20 ABLE_WHERETRACE 5220: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 5230: 53 45 4c 45 43 54 54 52 41 43 45 0a 52 43 43 20 SELECTTRACE.RCC 5240: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 =$(RCC) -DSQLIT
5250: 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52 45 54 52  E_ENABLE_WHERETR
5260: 41 43 45 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  ACE -DSQLITE_ENA
5270: 42 4c 45 5f 53 45 4c 45 43 54 54 52 41 43 45 0a  BLE_SELECTTRACE.
5280: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21  !ENDIF.!ENDIF..!
5290: 49 46 20 24 28 44 45 42 55 47 29 3e 34 20 7c 7c  IF $(DEBUG)>4 || 52a0: 20 24 28 4f 53 54 52 41 43 45 29 21 3d 30 0a 54$(OSTRACE)!=0.T
52b0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ 52c0: 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54 52 LITE_FORCE_OS_TR 52d0: 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f 44 ACE=1 -DSQLITE_D 52e0: 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31 0a EBUG_OS_TRACE=1. 52f0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 RCC =$(RCC) -DS
5300: 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54  QLITE_FORCE_OS_T
5310: 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RACE=1 -DSQLITE_
5320: 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31  DEBUG_OS_TRACE=1
5330: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D 5340: 45 42 55 47 29 3e 35 0a 54 43 43 20 3d 20 24 28 EBUG)>5.TCC =$(
5350: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TCC) -DSQLITE_EN
5360: 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 52  ABLE_IOTRACE=1.R
5370: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ 5380: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52 LITE_ENABLE_IOTR 5390: 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 ACE=1.!ENDIF..# 53a0: 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67 73 Prevent warnings 53b0: 20 61 62 6f 75 74 20 22 69 6e 73 65 63 75 72 65 about "insecure 53c0: 22 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c " MSVC runtime l 53d0: 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 ibrary functions 53e0: 0a 23 20 62 65 69 6e 67 20 75 73 65 64 2e 0a 23 .# being used..# 53f0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 .TCC =$(TCC) -D
5400: 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44  _CRT_SECURE_NO_D
5410: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
5420: 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e  SECURE_NO_WARNIN
5430: 47 53 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  GS.BCC = $(BCC) 5440: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f -D_CRT_SECURE_NO 5450: 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 _DEPRECATE -D_CR 5460: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e T_SECURE_NO_WARN 5470: 49 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43 INGS.RCC =$(RCC
5480: 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  ) -D_CRT_SECURE_
5490: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
54a0: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41  CRT_SECURE_NO_WA
54b0: 52 4e 49 4e 47 53 0a 0a 23 20 50 72 65 76 65 6e  RNINGS..# Preven
54c0: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74  t warnings about
54d0: 20 22 64 65 70 72 65 63 61 74 65 64 22 20 50 4f   "deprecated" PO
54e0: 53 49 58 20 66 75 6e 63 74 69 6f 6e 73 20 62 65  SIX functions be
54f0: 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20  ing used..#.TCC
5500: 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f  = $(TCC) -D_CRT_ 5510: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 NONSTDC_NO_DEPRE 5520: 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 CATE -D_CRT_NONS 5530: 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a TDC_NO_WARNINGS. 5540: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f BCC =$(BCC) -D_
5550: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44  CRT_NONSTDC_NO_D
5560: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
5570: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49  NONSTDC_NO_WARNI
5580: 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43 29  NGS.RCC = $(RCC) 5590: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f -D_CRT_NONSTDC_ 55a0: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f NO_DEPRECATE -D_ 55b0: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 CRT_NONSTDC_NO_W 55c0: 41 52 4e 49 4e 47 53 0a 0a 23 20 55 73 65 20 74 ARNINGS..# Use t 55d0: 68 65 20 53 51 4c 69 74 65 20 64 65 62 75 67 67 he SQLite debugg 55e0: 69 6e 67 20 68 65 61 70 20 73 75 62 73 79 73 74 ing heap subsyst 55f0: 65 6d 3f 0a 23 0a 21 49 46 20 24 28 4d 45 4d 44 em?.#.!IF$(MEMD
5600: 45 42 55 47 29 21 3d 30 0a 54 43 43 20 3d 20 24  EBUG)!=0.TCC = $5610: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4d (TCC) -DSQLITE_M 5620: 45 4d 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20 EMDEBUG=1.RCC = 5630: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(RCC) -DSQLITE_
5640: 4d 45 4d 44 45 42 55 47 3d 31 0a 0a 23 20 55 73  MEMDEBUG=1..# Us
5650: 65 20 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68  e native Win32 h
5660: 65 61 70 20 73 75 62 73 79 73 74 65 6d 20 69 6e  eap subsystem in
5670: 73 74 65 61 64 20 6f 66 20 6d 61 6c 6c 6f 63 2f  stead of malloc/
5680: 66 72 65 65 3f 0a 23 0a 21 45 4c 53 45 49 46 20  free?.#.!ELSEIF
5690: 24 28 57 49 4e 33 32 48 45 41 50 29 21 3d 30 0a  $(WIN32HEAP)!=0. 56a0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 TCC =$(TCC) -DS
56b0: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c  QLITE_WIN32_MALL
56c0: 4f 43 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  OC=1.RCC = $(RCC 56d0: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 ) -DSQLITE_WIN32 56e0: 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23 20 56 61 6c _MALLOC=1..# Val 56f0: 69 64 61 74 65 20 74 68 65 20 68 65 61 70 20 6f idate the heap o 5700: 6e 20 65 76 65 72 79 20 63 61 6c 6c 20 69 6e 74 n every call int 5710: 6f 20 74 68 65 20 6e 61 74 69 76 65 20 57 69 6e o the native Win 5720: 33 32 20 68 65 61 70 20 73 75 62 73 79 73 74 65 32 heap subsyste 5730: 6d 3f 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 m?.#.!IF$(DEBUG
5740: 29 3e 33 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>3.TCC = $(TCC) 5750: 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f -DSQLITE_WIN32_ 5760: 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d MALLOC_VALIDATE= 5770: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 1.RCC =$(RCC) -
5780: 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41  DSQLITE_WIN32_MA
5790: 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d 31 0a  LLOC_VALIDATE=1.
57a0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
57b0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20   <<mark>>.# The
57c0: 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65  locations of the
57d0: 20 54 63 6c 20 68 65 61 64 65 72 20 61 6e 64 20   Tcl header and
57e0: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20  library files.
57f0: 41 6c 73 6f 2c 20 74 68 65 20 6c 69 62 72 61 72  Also, the librar
5800: 79 20 74 68 61 74 0a 23 20 6e 6f 6e 2d 73 74 75  y that.# non-stu
5810: 62 73 20 65 6e 61 62 6c 65 64 20 70 72 6f 67 72  bs enabled progr
5820: 61 6d 73 20 75 73 69 6e 67 20 54 63 6c 20 6d 75  ams using Tcl mu
5830: 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e  st link against.
5840: 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65    These variable
5850: 73 0a 23 20 28 54 43 4c 49 4e 43 44 49 52 2c 20  s.# (TCLINCDIR,
5860: 54 43 4c 4c 49 42 44 49 52 2c 20 61 6e 64 20 4c  TCLLIBDIR, and L
5870: 49 42 54 43 4c 29 20 6d 61 79 20 62 65 20 6f 76  IBTCL) may be ov
5880: 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65  erridden via the
5890: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70   environment.# p
58a0: 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20  rior to running
58b0: 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74  nmake in order t
58c0: 6f 20 6d 61 74 63 68 20 74 68 65 20 61 63 74 75  o match the actu
58d0: 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f 63  al installed loc
58e0: 61 74 69 6f 6e 20 61 6e 64 0a 23 20 76 65 72 73  ation and.# vers
58f0: 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63 68  ion on this mach
5900: 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54  ine..#.!IFNDEF T
5910: 43 4c 44 49 52 0a 54 43 4c 44 49 52 20 3d 20 24  CLDIR.TCLDIR = $5920: 28 54 4f 50 29 5c 63 6f 6d 70 61 74 5c 74 63 6c (TOP)\compat\tcl 5930: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 .!ENDIF..!IFNDEF 5940: 20 54 43 4c 49 4e 43 44 49 52 0a 54 43 4c 49 4e TCLINCDIR.TCLIN 5950: 43 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52 29 CDIR =$(TCLDIR)
5960: 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a  \include.!ENDIF.
5970: 0a 21 49 46 4e 44 45 46 20 54 43 4c 4c 49 42 44  .!IFNDEF TCLLIBD
5980: 49 52 0a 54 43 4c 4c 49 42 44 49 52 20 3d 20 24  IR.TCLLIBDIR = $5990: 28 54 43 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e (TCLDIR)\lib.!EN 59a0: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 DIF..!IFNDEF LIB 59b0: 54 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 63 6c TCL.LIBTCL = tcl 59c0: 38 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 86.lib.!ENDIF..! 59d0: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54 55 IFNDEF LIBTCLSTU 59e0: 42 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20 74 B.LIBTCLSTUB = t 59f0: 63 6c 73 74 75 62 38 36 2e 6c 69 62 0a 21 45 4e clstub86.lib.!EN 5a00: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 DIF..!IFNDEF LIB 5a10: 54 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c 50 41 TCLPATH.LIBTCLPA 5a20: 54 48 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62 TH =$(TCLDIR)\b
5a30: 69 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65  in.!ENDIF..# The
5a40: 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68   locations of th
5a50: 65 20 7a 6c 69 62 20 68 65 61 64 65 72 20 61 6e  e zlib header an
5a60: 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e  d library files.
5a70: 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65    These variable
5a80: 73 0a 23 20 28 5a 4c 49 42 49 4e 43 44 49 52 2c  s.# (ZLIBINCDIR,
5a90: 20 5a 4c 49 42 4c 49 42 44 49 52 2c 20 61 6e 64   ZLIBLIBDIR, and
5aa0: 20 5a 4c 49 42 4c 49 42 29 20 6d 61 79 20 62 65   ZLIBLIB) may be
5ab0: 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20   overridden via
5ac0: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a  the environment.
5ad0: 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69  # prior to runni
5ae0: 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65  ng nmake in orde
5af0: 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61  r to match the a
5b00: 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20  ctual installed
5b10: 28 6f 72 20 73 6f 75 72 63 65 0a 23 20 63 6f 64  (or source.# cod
5b20: 65 29 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e 20 74  e) location on t
5b30: 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21  his machine..#.!
5b40: 49 46 4e 44 45 46 20 5a 4c 49 42 44 49 52 0a 5a  IFNDEF ZLIBDIR.Z
5b50: 4c 49 42 44 49 52 20 3d 20 24 28 54 4f 50 29 5c  LIBDIR = $(TOP)\ 5b60: 63 6f 6d 70 61 74 5c 7a 6c 69 62 0a 21 45 4e 44 compat\zlib.!END 5b70: 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a 4c 49 42 IF..!IFNDEF ZLIB 5b80: 49 4e 43 44 49 52 0a 5a 4c 49 42 49 4e 43 44 49 INCDIR.ZLIBINCDI 5b90: 52 20 3d 20 24 28 5a 4c 49 42 44 49 52 29 0a 21 R =$(ZLIBDIR).!
5ba0: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 5a  ENDIF..!IFNDEF Z
5bb0: 4c 49 42 4c 49 42 44 49 52 0a 5a 4c 49 42 4c 49  LIBLIBDIR.ZLIBLI
5bc0: 42 44 49 52 20 3d 20 24 28 5a 4c 49 42 44 49 52  BDIR = $(ZLIBDIR 5bd0: 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 ).!ENDIF..!IFNDE 5be0: 46 20 5a 4c 49 42 4c 49 42 0a 21 49 46 20 24 28 F ZLIBLIB.!IF$(
5bf0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
5c00: 30 0a 5a 4c 49 42 4c 49 42 20 3d 20 7a 64 6c 6c  0.ZLIBLIB = zdll
5c10: 2e 6c 69 62 0a 21 45 4c 53 45 0a 5a 4c 49 42 4c  .lib.!ELSE.ZLIBL
5c20: 49 42 20 3d 20 7a 6c 69 62 2e 6c 69 62 0a 21 45  IB = zlib.lib.!E
5c30: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
5c40: 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20  he locations of
5c50: 74 68 65 20 49 43 55 20 68 65 61 64 65 72 20 61  the ICU header a
5c60: 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73  nd library files
5c70: 2e 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c  .  These variabl
5c80: 65 73 0a 23 20 28 49 43 55 49 4e 43 44 49 52 2c  es.# (ICUINCDIR,
5c90: 20 49 43 55 4c 49 42 44 49 52 2c 20 61 6e 64 20   ICULIBDIR, and
5ca0: 4c 49 42 49 43 55 29 20 6d 61 79 20 62 65 20 6f  LIBICU) may be o
5cb0: 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68  verridden via th
5cc0: 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20  e environment.#
5cd0: 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67  prior to running
5ce0: 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20   nmake in order
5cf0: 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61 63 74  to match the act
5d00: 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f  ual installed lo
5d10: 63 61 74 69 6f 6e 20 6f 6e 0a 23 20 74 68 69 73  cation on.# this
5d20: 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e   machine..#.!IFN
5d30: 44 45 46 20 49 43 55 44 49 52 0a 49 43 55 44 49  DEF ICUDIR.ICUDI
5d40: 52 20 3d 20 24 28 54 4f 50 29 5c 63 6f 6d 70 61  R = $(TOP)\compa 5d50: 74 5c 69 63 75 0a 21 45 4e 44 49 46 0a 0a 21 49 t\icu.!ENDIF..!I 5d60: 46 4e 44 45 46 20 49 43 55 49 4e 43 44 49 52 0a FNDEF ICUINCDIR. 5d70: 49 43 55 49 4e 43 44 49 52 20 3d 20 24 28 49 43 ICUINCDIR =$(IC
5d80: 55 44 49 52 29 5c 69 6e 63 6c 75 64 65 0a 21 45  UDIR)\include.!E
5d90: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 49 43  NDIF..!IFNDEF IC
5da0: 55 4c 49 42 44 49 52 0a 49 43 55 4c 49 42 44 49  ULIBDIR.ICULIBDI
5db0: 52 20 3d 20 24 28 49 43 55 44 49 52 29 5c 6c 69  R = $(ICUDIR)\li 5dc0: 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 b.!ENDIF..!IFNDE 5dd0: 46 20 4c 49 42 49 43 55 0a 4c 49 42 49 43 55 20 F LIBICU.LIBICU 5de0: 3d 20 69 63 75 75 63 2e 6c 69 62 20 69 63 75 69 = icuuc.lib icui 5df0: 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 n.lib.!ENDIF..# 5e00: 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d This is the comm 5e10: 61 6e 64 20 74 6f 20 75 73 65 20 66 6f 72 20 74 and to use for t 5e20: 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c 6c 79 20 clsh - normally 5e30: 6a 75 73 74 20 22 74 63 6c 73 68 22 2c 20 62 75 just "tclsh", bu 5e40: 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e 6f 77 20 t we may.# know 5e50: 74 68 65 20 73 70 65 63 69 66 69 63 20 76 65 72 the specific ver 5e60: 73 69 6f 6e 20 77 65 20 77 61 6e 74 20 74 6f 20 sion we want to 5e70: 75 73 65 2e 20 20 54 68 69 73 20 76 61 72 69 61 use. This varia 5e80: 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d 44 29 20 ble (TCLSH_CMD) 5e90: 6d 61 79 20 62 65 0a 23 20 6f 76 65 72 72 69 64 may be.# overrid 5ea0: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 den via the envi 5eb0: 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72 20 74 6f ronment prior to 5ec0: 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 running nmake i 5ed0: 6e 20 6f 72 64 65 72 20 74 6f 20 73 65 6c 65 63 n order to selec 5ee0: 74 20 61 0a 23 20 73 70 65 63 69 66 69 63 20 54 t a.# specific T 5ef0: 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75 73 65 2e cl shell to use. 5f00: 0a 23 0a 21 49 46 4e 44 45 46 20 54 43 4c 53 48 .#.!IFNDEF TCLSH 5f10: 5f 43 4d 44 0a 21 49 46 20 24 28 55 53 45 5f 54 _CMD.!IF$(USE_T
5f20: 43 4c 53 48 5f 49 4e 5f 50 41 54 48 29 21 3d 30  CLSH_IN_PATH)!=0
5f30: 0a 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c  .TCLSH_CMD = tcl
5f40: 73 68 0a 21 45 4c 53 45 0a 54 43 4c 53 48 5f 43  sh.!ELSE.TCLSH_C
5f50: 4d 44 20 3d 20 24 28 54 43 4c 44 49 52 29 5c 62  MD = $(TCLDIR)\b 5f60: 69 6e 5c 74 63 6c 73 68 2e 65 78 65 0a 21 45 4e in\tclsh.exe.!EN 5f70: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f DIF.!ENDIF.# <</ 5f80: 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c mark>>..# Compil 5f90: 65 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 er options neede 5fa0: 64 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 d for programs t 5fb0: 68 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64 hat use the read 5fc0: 6c 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a line() library.. 5fd0: 23 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49 #.!IFNDEF READLI 5fe0: 4e 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e NE_FLAGS.READLIN 5ff0: 45 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45 E_FLAGS = -DHAVE 6000: 5f 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44 _READLINE=0.!END 6010: 49 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 IF..# The librar 6020: 79 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 y that programs 6030: 75 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 using readline() 6040: 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e must link again 6050: 73 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49 st..#.!IFNDEF LI 6060: 42 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41 BREADLINE.LIBREA 6070: 44 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a DLINE =.!ENDIF.. 6080: 23 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74 # Should the dat 6090: 61 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20 abase engine be 60a0: 63 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73 compiled threads 60b0: 61 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 afe.#.TCC =$(TC
60c0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  C) -DSQLITE_THRE
60d0: 41 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24  ADSAFE=1.RCC = $60e0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 (RCC) -DSQLITE_T 60f0: 48 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44 HREADSAFE=1..# D 6100: 6f 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69 o threads overri 6110: 64 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c de each others l 6120: 6f 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20 ocks by default 6130: 28 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65 (1), or do we te 6140: 73 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20 st (-1).#.TCC = 6150: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(TCC) -DSQLITE_
6160: 54 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f  THREAD_OVERRIDE_
6170: 4c 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28  LOCK=-1.RCC = $( 6180: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 RCC) -DSQLITE_TH 6190: 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f READ_OVERRIDE_LO 61a0: 43 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72 CK=-1..# Any tar 61b0: 67 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68 get libraries wh 61c0: 69 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75 ich libsqlite mu 61d0: 73 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61 st be linked aga 61e0: 69 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54 inst.#.!IFNDEF T 61f0: 4c 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e LIBS.TLIBS =.!EN 6200: 44 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e DIF..# Flags con 6210: 74 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20 trolling use of 6220: 74 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74 the in memory bt 6230: 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 ree implementati 6240: 6f 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45 on.#.# SQLITE_TE 6250: 4d 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f MP_STORE is 0 to 6260: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79 force temporary 6270: 20 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e tables to be in 6280: 20 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20 a file, 1 to.# 6290: 64 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c default to file, 62a0: 20 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f 2 to default to 62b0: 20 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74 memory, and 3 t 62c0: 6f 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 o force temporar 62d0: 79 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c y.# tables to al 62e0: 77 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72 ways be in memor 62f0: 79 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 y..#.TCC =$(TCC
6300: 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f  ) -DSQLITE_TEMP_
6310: 53 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28  STORE=1.RCC = $( 6320: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 RCC) -DSQLITE_TE 6330: 4d 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e MP_STORE=1..# En 6340: 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61 able/disable loa 6350: 64 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 dable extensions 6360: 2c 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 , and other opti 6370: 6f 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20 onal features.# 6380: 62 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75 based on configu 6390: 72 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 ration. (-DSQLIT 63a0: 45 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54 E_OMIT*, -DSQLIT 63b0: 45 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68 E_ENABLE*)..# Th 63c0: 65 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d e same set of OM 63d0: 49 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c IT and ENABLE fl 63e0: 61 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61 ags should be pa 63f0: 73 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45 ssed to the.# LE 6400: 4d 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72 MON parser gener 6410: 61 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b ator and the mkk 6420: 65 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20 eywordhash tool 6430: 61 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73 as well...# Thes 6440: 65 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72 e are the requir 6450: 65 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c ed SQLite compil 6460: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 ation options us 6470: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e ed when compilin 6480: 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 g for.# the Wind 6490: 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a ows platform..#. 64a0: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 REQ_FEATURE_FLAG 64b0: 53 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52 S =$(REQ_FEATUR
64c0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
64d0: 45 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45  E_MAX_TRIGGER_DE
64e0: 50 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65  PTH=100..# If we
64f0: 20 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20   are linking to
6500: 74 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61  the RPCRT4 libra
6510: 72 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75  ry, enable featu
6520: 72 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74  res that need it
6530: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50  ..#.!IF $(USE_RP 6540: 43 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51 CRT4_LIB)!=0.REQ 6550: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d _FEATURE_FLAGS = 6560: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46$(REQ_FEATURE_F
6570: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57  LAGS) -DSQLITE_W
6580: 49 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a  IN32_USE_UUID=1.
6590: 21 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68  !ENDIF..# Add th
65a0: 65 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f  e required and o
65b0: 70 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63  ptional SQLite c
65c0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f  ompilation optio
65d0: 6e 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d  ns into the comm
65e0: 61 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64  and.# lines used
65f0: 20 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d   to invoke the M
6600: 53 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73  SVC code and res
6610: 6f 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e  ource compilers.
6620: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 6630: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c$(REQ_FEATURE_FL
6640: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55  AGS) $(OPT_FEATU 6650: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f RE_FLAGS)$(EXT_
6660: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52  FEATURE_FLAGS).R
6670: 43 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45  CC = $(RCC)$(RE
6680: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
6690: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F 66a0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 LAGS)$(EXT_FEAT
66b0: 55 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64  URE_FLAGS)..# Ad
66c0: 64 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61  d in any optiona
66d0: 6c 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65  l parameters spe
66e0: 63 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f  cified on the co
66f0: 6d 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e  mmane line, e.g.
6700: 0a 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65  .# nmake /f Make
6710: 66 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50  file.msc all "OP
6720: 54 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  TS=-DSQLITE_ENAB
6730: 4c 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54  LE_FOO=1 -DSQLIT
6740: 45 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a  E_OMIT_FOO=1".#.
6750: 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f  TCC = $(TCC)$(O
6760: 50 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43  PTS).RCC = $(RCC 6770: 29 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20 )$(OPTS)..# If
6780: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65  compiling for de
6790: 62 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d  bugging, add som
67a0: 65 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46  e defines..#.!IF
67b0: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20   $(DEBUG)>1.TCC 67c0: 3d 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55 =$(TCC) -D_DEBU
67d0: 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  G.BCC = $(BCC) - 67e0: 44 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 D_DEBUG.RCC =$(
67f0: 52 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45  RCC) -D_DEBUG.!E
6800: 4e 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d  NDIF..# If optim
6810: 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61  izations are ena
6820: 62 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64  bled or disabled
6830: 20 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69   (either implici
6840: 74 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69  tly or.# explici
6850: 74 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65  tly), add the ne
6860: 63 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23  cessary flags..#
6870: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20  .!IF $(DEBUG)>1 6880: 7c 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f ||$(OPTIMIZATIO
6890: 4e 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54  NS)==0.TCC = $(T 68a0: 43 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28 CC) -Od.BCC =$(
68b0: 42 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55  BCC) -Od.!IF $(U 68c0: 53 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b SE_RUNTIME_CHECK 68d0: 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 S)!=0.TCC =$(TC
68e0: 43 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24  C) -RTC1.BCC = $68f0: 28 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44 (BCC) -RTC1.!END 6900: 49 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 IF.!ELSEIF$(OPT
6910: 49 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54  IMIZATIONS)>=3.T
6920: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a  CC = $(TCC) -Ox. 6930: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 BCC =$(BCC) -Ox
6940: 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d  .!ELSEIF $(OPTIM 6950: 49 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 IZATIONS)==2.TCC 6960: 20 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 =$(TCC) -O2.BC
6970: 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21  C = $(BCC) -O2.! 6980: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a ELSEIF$(OPTIMIZ
6990: 41 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d  ATIONS)==1.TCC =
69a0: 20 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20   $(TCC) -O1.BCC 69b0: 3d 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e =$(BCC) -O1.!EN
69c0: 44 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c  DIF..# If symbol
69d0: 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f  s are enabled (o
69e0: 72 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  r compiling for
69f0: 64 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62  debugging), enab
6a00: 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24  le PDBs..#.!IF $6a10: 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 (DEBUG)>1 ||$(S
6a20: 59 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d  YMBOLS)!=0.TCC =
6a30: 20 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20   $(TCC) -Zi.BCC 6a40: 3d 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e =$(BCC) -Zi.!EN
6a50: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
6a60: 23 20 49 66 20 7a 6c 69 62 20 73 75 70 70 6f 72  # If zlib suppor
6a70: 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64  t is enabled, ad
6a80: 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f  d the compiler o
6a90: 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23  ptions for it..#
6aa0: 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 29  .!IF $(USE_ZLIB) 6ab0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 !=0.TCC =$(TCC)
6ac0: 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 5f 5a   -DSQLITE_HAVE_Z
6ad0: 4c 49 42 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  LIB=1.RCC = $(RC 6ae0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 48 41 56 45 C) -DSQLITE_HAVE 6af0: 5f 5a 4c 49 42 3d 31 0a 54 43 43 20 3d 20 24 28 _ZLIB=1.TCC =$(
6b00: 54 43 43 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43  TCC) -I$(ZLIBINC 6b10: 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43 DIR).RCC =$(RCC
6b20: 29 20 2d 49 24 28 5a 4c 49 42 49 4e 43 44 49 52  ) -I$(ZLIBINCDIR 6b30: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 ).!ENDIF..# If I 6b40: 43 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e CU support is en 6b50: 61 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 abled, add the c 6b60: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 ompiler options 6b70: 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 for it..#.!IF$(
6b80: 55 53 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20  USE_ICU)!=0.TCC
6b90: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT 6ba0: 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 E_ENABLE_ICU=1.R 6bb0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 CC =$(RCC) -DSQ
6bc0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d  LITE_ENABLE_ICU=
6bd0: 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  1.TCC = $(TCC) - 6be0: 49 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a I$(TOP)\ext\icu.
6bf0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
6c00: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43  (TOP)\ext\icu.TC
6c10: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49  C = $(TCC) -I$(I
6c20: 43 55 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20  CUINCDIR).RCC =
6c30: 24 28 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e  $(RCC) -I$(ICUIN
6c40: 43 44 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c  CDIR).!ENDIF.# <
6c50: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d  </mark>>..# Comm
6c60: 61 6e 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65  and line prefixe
6c70: 73 20 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20  s for compiling
6c80: 63 6f 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20  code, compiling
6c90: 72 65 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e  resources,.# lin
6ca0: 6b 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43  king, etc..#.LTC
6cb0: 4f 4d 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20  OMPILE = $(TCC) 6cc0: 2d 46 6f 24 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 -Fo$@.LTRCOMPILE
6cd0: 20 3d 20 24 28 52 43 43 29 20 2d 72 0a 4c 54 4c   = $(RCC) -r.LTL 6ce0: 49 42 20 3d 20 6c 69 62 2e 65 78 65 0a 4c 54 4c IB = lib.exe.LTL 6cf0: 49 4e 4b 20 3d 20 24 28 54 43 43 29 20 2d 46 65 INK =$(TCC) -Fe
6d00: 24 40 0a 0a 23 20 49 66 20 72 65 71 75 65 73 74  $@..# If request 6d10: 65 64 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 ed, link to the 6d20: 52 50 43 52 54 34 20 6c 69 62 72 61 72 79 2e 0a RPCRT4 library.. 6d30: 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 #.!IF$(USE_RPCR
6d40: 54 34 5f 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 42  T4_LIB)!=0.LTLIB
6d50: 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 20 72 70  S = $(LTLIBS) rp 6d60: 63 72 74 34 2e 6c 69 62 0a 21 45 4e 44 49 46 0a crt4.lib.!ENDIF. 6d70: 0a 23 20 49 66 20 61 20 70 6c 61 74 66 6f 72 6d .# If a platform 6d80: 20 77 61 73 20 73 65 74 2c 20 66 6f 72 63 65 20 was set, force 6d90: 74 68 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74 61 the linker to ta 6da0: 72 67 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f 74 rget that..# Not 6db0: 65 20 74 68 61 74 20 74 68 65 20 76 63 76 61 72 e that the vcvar 6dc0: 73 2a 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f 66 s*.bat family of 6dd0: 20 62 61 74 63 68 20 66 69 6c 65 73 20 74 79 70 batch files typ 6de0: 69 63 61 6c 6c 79 0a 23 20 73 65 74 20 74 68 69 ically.# set thi 6df0: 73 20 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68 65 s for you. Othe 6e00: 72 77 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b 65 rwise, the linke 6e10: 72 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a 23 r will attempt.# 6e20: 20 74 6f 20 64 65 64 75 63 65 20 74 68 65 20 62 to deduce the b 6e30: 69 6e 61 72 79 20 74 79 70 65 20 62 61 73 65 64 inary type based 6e40: 20 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 66 on the object f 6e50: 69 6c 65 73 2e 0a 21 49 46 44 45 46 20 50 4c 41 iles..!IFDEF PLA 6e60: 54 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 TFORM.LTLINKOPTS 6e70: 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 = /NOLOGO /MACH 6e80: 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a INE:$(PLATFORM).
6e90: 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c  LTLIBOPTS = /NOL
6ea0: 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50  OGO /MACHINE:$(P 6eb0: 4c 41 54 46 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c LATFORM).!ELSE.L 6ec0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c TLINKOPTS = /NOL 6ed0: 4f 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 OGO.LTLIBOPTS = 6ee0: 2f 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a /NOLOGO.!ENDIF.. 6ef0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 # When compiling 6f00: 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 for use in the 6f10: 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e WinRT environmen 6f20: 74 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 t, the following 6f30: 0a 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e .# linker option 6f40: 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f must be used to 6f50: 20 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 74 mark the execut 6f60: 61 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65 able as runnable 6f70: 0a 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 .# only in the c 6f80: 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70 ontext of an app 6f90: 6c 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e lication contain 6fa0: 65 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f er..#.!IF$(FOR_
6fb0: 57 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b  WINRT)!=0.LTLINK
6fc0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO 6fd0: 50 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e PTS) /APPCONTAIN 6fe0: 45 52 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c ER.!IF "$(VISUAL
6ff0: 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d  STUDIOVERSION)"=
7000: 3d 22 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49  ="12.0" || "$(VI 7010: 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f SUALSTUDIOVERSIO 7020: 4e 29 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e N)"=="14.0".!IFN 7030: 44 45 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48 DEF STORELIBPATH 7040: 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d .!IF "$(PLATFORM
7050: 29 22 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c  )"=="x86".STOREL
7060: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI 7070: 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c BPATH)\store.!EL 7080: 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d SEIF "$(PLATFORM
7090: 29 22 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c  )"=="x64".STOREL
70a0: 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49  IBPATH = $(CRTLI 70b0: 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64 BPATH)\store\amd 70c0: 36 34 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 64.!ELSEIF "$(PL
70d0: 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a  ATFORM)"=="ARM".
70e0: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $70f0: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f (CRTLIBPATH)\sto 7100: 72 65 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f re\arm.!ELSE.STO 7110: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 RELIBPATH =$(CR
7120: 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a  TLIBPATH)\store.
7130: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54  !ENDIF.!ENDIF.ST
7140: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53  ORELIBPATH = $(S 7150: 54 4f 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c TORELIBPATH:\\=\ 7160: 29 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 ).LTLINKOPTS =$
7170: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c  (LTLINKOPTS) "/L
7180: 49 42 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49  IBPATH:$(STORELI 7190: 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 BPATH)".!ENDIF.! 71a0: 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f ENDIF..# When co 71b0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 mpiling for Wind 71c0: 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61 ows Phone 8.1, a 71d0: 6e 20 65 78 74 72 61 20 6c 69 62 72 61 72 79 20 n extra library 71e0: 70 61 74 68 20 69 73 0a 23 20 72 65 71 75 69 72 path is.# requir 71f0: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f ed..#.!IF$(USE_
7200: 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49  WP81_OPTS)!=0.!I
7210: 46 4e 44 45 46 20 57 50 38 31 4c 49 42 50 41 54  FNDEF WP81LIBPAT
7220: 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52  H.!IF "$(PLATFOR 7230: 4d 29 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c M)"=="x86".WP81L 7240: 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 IBPATH =$(PROGR
7250: 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e  AMFILES_X86)\Win
7260: 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c  dows Phone Kits\
7270: 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53  8.1\lib\x86.!ELS
7280: 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  EIF "$(PLATFORM) 7290: 22 3d 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42 "=="ARM".WP81LIB 72a0: 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d PATH =$(PROGRAM
72b0: 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f  FILES_X86)\Windo
72c0: 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e  ws Phone Kits\8.
72d0: 31 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a  1\lib\ARM.!ELSE.
72e0: 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28  WP81LIBPATH = $( 72f0: 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 PROGRAMFILES_X86 7300: 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 )\Windows Phone 7310: 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 Kits\8.1\lib\x86 7320: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 .!ENDIF.!ENDIF.! 7330: 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f ENDIF..# When co 7340: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 mpiling for Wind 7350: 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73 ows Phone 8.1, s 7360: 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 ome extra linker 7370: 20 6f 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61 options.# are a 7380: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a lso required..#. 7390: 21 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f !IF$(USE_WP81_O
73a0: 50 54 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57  PTS)!=0.!IFDEF W
73b0: 50 38 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e  P81LIBPATH.LTLIN
73c0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK 73d0: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a OPTS) "/LIBPATH: 73e0: 24 28 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a$(WP81LIBPATH)".
73f0: 21 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54  !ENDIF.LTLINKOPT
7400: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS 7410: 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c ) /DYNAMICBASE.L 7420: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 TLINKOPTS =$(LT
7430: 4c 49 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77  LINKOPTS) Window
7440: 73 50 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52  sPhoneCore.lib R
7450: 75 6e 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62  untimeObject.lib
7460: 20 50 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f   PhoneAppModelHo
7470: 73 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54  st.lib.LTLINKOPT
7480: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  S = $(LTLINKOPTS 7490: 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a ) /NODEFAULTLIB: 74a0: 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f kernel32.lib /NO 74b0: 44 45 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 DEFAULTLIB:ole32 74c0: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57 .lib.!ENDIF..# W 74d0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f hen compiling fo 74e0: 72 20 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e r UWP or the Win 74f0: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d dows 10 platform 7500: 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e , some extra lin 7510: 6b 65 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 ker.# options ar 7520: 65 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e e also required. 7530: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50 .#.!IF$(FOR_UWP
7540: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI 7550: 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 N10)!=0.LTLINKOP 7560: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 TS =$(LTLINKOPT
7570: 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20  S) /DYNAMICBASE
7580: 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65  /NODEFAULTLIB:ke
7590: 72 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e  rnel32.lib.LTLIN
75a0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK 75b0: 4f 50 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 OPTS) mincore.li 75c0: 62 0a 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42 b.!IFDEF PSDKLIB 75d0: 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 PATH.LTLINKOPTS 75e0: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 =$(LTLINKOPTS)
75f0: 22 2f 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b  "/LIBPATH:$(PSDK 7600: 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 LIBPATH)".!ENDIF 7610: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46 .!ENDIF..!IF$(F
7620: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c  OR_WIN10)!=0.LTL
7630: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI 7640: 4e 4b 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63 NKOPTS) /guard:c 7650: 66 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43 f "/LIBPATH:$(UC
7660: 52 54 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20  RTLIBPATH)".!IF
7670: 24 28 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e  $(DEBUG)>1.LTLIN 7680: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b KOPTS =$(LTLINK
7690: 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54  OPTS) /NODEFAULT
76a0: 4c 49 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62  LIB:libucrtd.lib
76b0: 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72   /DEFAULTLIB:ucr
76c0: 74 64 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c  td.lib.!ELSE.LTL
76d0: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI 76e0: 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 NKOPTS) /NODEFAU 76f0: 4c 54 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69 LTLIB:libucrt.li 7700: 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 b /DEFAULTLIB:uc 7710: 72 74 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 rt.lib.!ENDIF.!E 7720: 4e 44 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65 NDIF..# If eithe 7730: 72 20 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73 r debugging or s 7740: 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c ymbols are enabl 7750: 65 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e ed, enable PDBs. 7760: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e .#.!IF$(DEBUG)>
7770: 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21  1 || $(SYMBOLS)! 7780: 3d 30 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45 =0.LDFLAGS = /DE 7790: 42 55 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 BUG$(LDOPTS).!E
77a0: 4c 53 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28  LSE.LDFLAGS = $( 77b0: 4c 44 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a LDOPTS).!ENDIF.. 77c0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 # <<mark>>.# Sta 77d0: 72 74 20 77 69 74 68 20 74 68 65 20 54 63 6c 20 rt with the Tcl 77e0: 72 65 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f related linker o 77f0: 70 74 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28 ptions..#.!IF$(
7800: 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 4c 54 4c 49 42  NO_TCL)==0.LTLIB
7810: 50 41 54 48 53 20 3d 20 2f 4c 49 42 50 41 54 48  PATHS = /LIBPATH
7820: 3a 24 28 54 43 4c 4c 49 42 44 49 52 29 0a 4c 54  :$(TCLLIBDIR).LT 7830: 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 LIBS =$(LTLIBS)
7840: 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44 49   $(LIBTCL).!ENDI 7850: 46 0a 0a 23 20 49 66 20 7a 6c 69 62 20 73 75 70 F..# If zlib sup 7860: 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c port is enabled, 7870: 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 20 add the linker 7880: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a options for it.. 7890: 23 0a 21 49 46 20 24 28 55 53 45 5f 5a 4c 49 42 #.!IF$(USE_ZLIB
78a0: 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53 20  )!=0.LTLIBPATHS
78b0: 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  = $(LTLIBPATHS) 78c0: 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 4c /LIBPATH:$(ZLIBL
78d0: 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20  IBDIR).LTLIBS =
78e0: 24 28 4c 54 4c 49 42 53 29 20 24 28 5a 4c 49 42  $(LTLIBS)$(ZLIB
78f0: 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49  LIB).!ENDIF..# I
7900: 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69 73  f ICU support is
7910: 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68   enabled, add th
7920: 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73  e linker options
7930: 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24   for it..#.!IF $7940: 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54 4c (USE_ICU)!=0.LTL 7950: 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c 49 IBPATHS =$(LTLI
7960: 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48  BPATHS) /LIBPATH
7970: 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c 54  :$(ICULIBDIR).LT 7980: 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29 LIBS =$(LTLIBS)
7990: 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44 49   $(LIBICU).!ENDI 79a0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 F.# <</mark>>..# 79b0: 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 You should not 79c0: 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61 have to change a 79d0: 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68 nything below th 79e0: 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 23 is line.######## 79f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7a00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7a10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7a20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 7a30: 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 72 #######..# <<mar 7a40: 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c k>>.# Object fil 7a50: 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 es for the SQLit 7a60: 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d 61 e library (non-a 7a70: 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a malgamation)..#. 7a80: 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 2e LIBOBJS0 = vdbe. 7a90: 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 65 lo parse.lo alte 7aa0: 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f 20 r.lo analyze.lo 7ab0: 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e 6c attach.lo auth.l 7ac0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61 63 o \. bac 7ad0: 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c 6f kup.lo bitvec.lo 7ae0: 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 65 btmutex.lo btre 7af0: 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c 0a e.lo build.lo \. 7b00: 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 callbac 7b10: 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c 6f k.lo complete.lo 7b20: 20 63 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20 20 ctime.lo \. 7b30: 20 20 20 20 20 64 61 74 65 2e 6c 6f 20 64 62 70 date.lo dbp 7b40: 61 67 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c 6f age.lo dbstat.lo 7b50: 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 20 delete.lo \. 7b60: 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20 66 61 expr.lo fa 7b70: 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c ult.lo fkey.lo \ 7b80: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 2e 6c . fts3.l 7b90: 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66 74 o fts3_aux.lo ft 7ba0: 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33 5f s3_expr.lo fts3_ 7bb0: 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63 75 hash.lo fts3_icu 7bc0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 .lo \. f 7bd0: 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 74 ts3_porter.lo ft 7be0: 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66 74 s3_snippet.lo ft 7bf0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20 s3_tokenizer.lo 7c00: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e fts3_tokenizer1. 7c10: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 lo \. ft 7c20: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 s3_tokenize_vtab 7c30: 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 .lo fts3_unicode 7c40: 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 .lo fts3_unicode 7c50: 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74 65 2e 2.lo fts3_write. 7c60: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 lo \. ft 7c70: 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 s5.lo \. 7c80: 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c 2e func.lo global. 7c90: 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 20 lo hash.lo \. 7ca0: 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e 73 icu.lo ins 7cb0: 65 72 74 2e 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f ert.lo legacy.lo 7cc0: 20 6c 6f 61 64 65 78 74 2e 6c 6f 20 5c 0a 20 20 loadext.lo \. 7cd0: 20 20 20 20 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d main.lo m 7ce0: 61 6c 6c 6f 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f alloc.lo mem0.lo 7cf0: 20 6d 65 6d 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f mem1.lo mem2.lo 7d00: 20 6d 65 6d 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f mem3.lo mem5.lo 7d10: 20 5c 0a 20 20 20 20 20 20 20 20 20 6d 65 6d 6a \. memj 7d20: 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20 ournal.lo \. 7d30: 20 20 20 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75 mutex.lo mu 7d40: 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65 tex_noop.lo mute 7d50: 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f x_unix.lo mutex_ 7d60: 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 w32.lo \. 7d70: 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f notify.lo opco 7d80: 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f des.lo os.lo os_ 7d90: 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c unix.lo os_win.l 7da0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 70 61 67 o \. pag 7db0: 65 72 2e 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20 er.lo pcache.lo 7dc0: 70 63 61 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d pcache1.lo pragm 7dd0: 61 2e 6c 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20 a.lo prepare.lo 7de0: 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20 printf.lo \. 7df0: 20 20 20 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72 random.lo r 7e00: 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74 esolve.lo rowset 7e10: 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20 .lo rtree.lo \. 7e20: 20 20 20 20 20 20 20 20 73 71 6c 69 74 65 33 73 sqlite3s 7e30: 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74 ession.lo select 7e40: 2e 6c 6f 20 73 71 6c 69 74 65 33 72 62 75 2e 6c .lo sqlite3rbu.l 7e50: 6f 20 73 74 61 74 75 73 2e 6c 6f 20 5c 0a 20 20 o status.lo \. 7e60: 20 20 20 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 table.lo 7e70: 74 68 72 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e threads.lo token 7e80: 69 7a 65 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e ize.lo treeview. 7e90: 6c 6f 20 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a lo trigger.lo \. 7ea0: 20 20 20 20 20 20 20 20 20 75 70 64 61 74 65 2e update. 7eb0: 6c 6f 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 lo util.lo vacuu 7ec0: 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 m.lo \. 7ed0: 76 64 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 vdbeapi.lo vdbea 7ee0: 75 78 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c ux.lo vdbeblob.l 7ef0: 6f 20 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 o vdbemem.lo vdb 7f00: 65 73 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 esort.lo \. 7f10: 20 20 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f vdbetrace.lo 7f20: 20 77 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c wal.lo walker.l 7f30: 6f 20 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 o where.lo where 7f40: 63 6f 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 code.lo whereexp 7f50: 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 r.lo \. 7f60: 75 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 utf.lo vtab.lo.# 7f70: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 <</mark>>..# Ob 7f80: 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 ject files for t 7f90: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e he amalgamation. 7fa0: 0a 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 .#.LIBOBJS1 = sq 7fb0: 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 lite3.lo..# Dete 7fc0: 72 6d 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 rmine the real v 7fd0: 61 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 alue of LIBOBJ b 7fe0: 61 73 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e ased on the 'con 7ff0: 66 69 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 figure' script.# 8000: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 .# <<mark>>.!IF 8010: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49$(USE_AMALGAMATI
8020: 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20  ON)==0.LIBOBJ =
8030: 24 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53  $(LIBOBJS0).!ELS 8040: 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 E.# <</mark>>.LI 8050: 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 BOBJ =$(LIBOBJS
8060: 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45  1).# <<mark>>.!E
8070: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
8080: 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66  ..# Determine if
8090: 20 65 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72   embedded resour
80a0: 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61  ce compilation a
80b0: 6e 64 20 75 73 61 67 65 20 61 72 65 20 65 6e 61  nd usage are ena
80c0: 62 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53  bled..#.!IF $(US 80d0: 45 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f E_RC)!=0.LIBRESO 80e0: 42 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 BJS = sqlite3res 80f0: 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 .lo.!ELSE.LIBRES 8100: 4f 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 OBJS =.!ENDIF..# 8110: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 <<mark>>.# Core 8120: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c source code fil 8130: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 es, part 1..#.SR 8140: 43 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 C00 = \.$(TOP)
8150: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20  \src\alter.c \.
8160: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c   $(TOP)\src\anal 8170: 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 yze.c \.$(TOP)
8180: 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a  \src\attach.c \.
8190: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74    $(TOP)\src\aut 81a0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 h.c \.$(TOP)\s
81b0: 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20  rc\backup.c \.
81c0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65  $(TOP)\src\bitve 81d0: 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 c.c \.$(TOP)\s
81e0: 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20  rc\btmutex.c \.
81f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre 8200: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.c \.$(TOP)\s
8210: 72 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24  rc\build.c \.  $8220: 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 (TOP)\src\callba 8230: 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ck.c \.$(TOP)\
8240: 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c  src\complete.c \
8250: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74  .  $(TOP)\src\ct 8260: 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ime.c \.$(TOP)
8270: 5c 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20  \src\date.c \.
8280: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67  $(TOP)\src\dbpag 8290: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.c \.$(TOP)\s
82a0: 72 63 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20  rc\dbstat.c \.
82b0: 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74  $(TOP)\src\delet 82c0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.c \.$(TOP)\s
82d0: 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28  rc\expr.c \.  $( 82e0: 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 TOP)\src\fault.c 82f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8300: 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50  fkey.c \.  $(TOP 8310: 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 )\src\func.c \. 8320: 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62$(TOP)\src\glob
8330: 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  al.c \.  $(TOP)\ 8340: 73 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24 src\hash.c \.$
8350: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74  (TOP)\src\insert
8360: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8370: 63 5c 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24 c\legacy.c \.$
8380: 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78  (TOP)\src\loadex
8390: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s 83a0: 72 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 rc\main.c \.$(
83b0: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e  TOP)\src\malloc.
83c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 83d0: 5c 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f \mem0.c \.$(TO
83e0: 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a  P)\src\mem1.c \.
83f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem 8400: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 2.c \.$(TOP)\s
8410: 72 63 5c 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28  rc\mem3.c \.  $( 8420: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 TOP)\src\mem5.c 8430: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d \.$(TOP)\src\m
8440: 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20  emjournal.c \.
8450: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex 8460: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8470: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c  c\mutex_noop.c \
8480: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu 8490: 74 65 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 tex_unix.c \.$
84a0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
84b0: 77 33 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  w32.c \.  $(TOP) 84c0: 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a \src\notify.c \. 84d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e$(TOP)\src\os.
84e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 84f0: 5c 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 \os_unix.c \.$
8500: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
8510: 2e 63 0a 0a 23 20 43 6f 72 65 20 73 6f 75 72 63  .c..# Core sourc
8520: 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61  e code files, pa
8530: 72 74 20 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20  rt 2..#.SRC01 =
8540: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p 8550: 61 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 ager.c \.$(TOP
8560: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c  )\src\pcache.c \
8570: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc 8580: 61 63 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f ache1.c \.$(TO
8590: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20  P)\src\pragma.c
85a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p 85b0: 72 65 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 repare.c \.$(T
85c0: 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63  OP)\src\printf.c
85d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 85e0: 72 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 random.c \.$(T
85f0: 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e  OP)\src\resolve.
8600: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8610: 5c 72 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 28 \rowset.c \.$(
8620: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e  TOP)\src\select.
8630: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8640: 5c 73 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 28 \status.c \.$(
8650: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
8660: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8670: 74 68 72 65 61 64 73 2e 63 20 5c 0a 20 20 24 28 threads.c \.$(
8680: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
8690: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  te.c \.  $(TOP)\ 86a0: 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c src\tokenize.c \ 86b0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 .$(TOP)\src\tr
86c0: 65 65 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54  eeview.c \.  $(T 86d0: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e OP)\src\trigger. 86e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
86f0: 5c 75 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50  \utf.c \.  $(TOP 8700: 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 5c )\src\update.c \ 8710: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 .$(TOP)\src\ut
8720: 69 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  il.c \.  $(TOP)\ 8730: 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 src\vacuum.c \. 8740: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
8750: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8760: 63 5c 76 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 c\vdbeapi.c \. 8770: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61$(TOP)\src\vdbea
8780: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ux.c \.  $(TOP)\ 8790: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c src\vdbeblob.c \ 87a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 .$(TOP)\src\vd
87b0: 62 65 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  bemem.c \.  $(TO 87c0: 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e P)\src\vdbesort. 87d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
87e0: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 5c 0a 20  \vdbetrace.c \.
87f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62   $(TOP)\src\vtab 8800: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8810: 63 5c 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  c\wal.c \.  $(TO 8820: 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 P)\src\walker.c 8830: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 \.$(TOP)\src\w
8840: 68 65 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  here.c \.  $(TOP 8850: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e )\src\wherecode. 8860: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8870: 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 23 20  \whereexpr.c..#
8880: 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e 65 6f  Core miscellaneo
8890: 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 30  us files..#.SRC0
88a0: 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  3 = \.  $(TOP)\s 88b0: 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 43 6f rc\parse.y..# Co 88c0: 72 65 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c re header files, 88d0: 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 34 part 1..#.SRC04 88e0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 = \.$(TOP)\sr
88f0: 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 24 28  c\btree.h \.  $( 8900: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e TOP)\src\btreeIn 8910: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 t.h \.$(TOP)\s
8920: 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  rc\hash.h \.  $( 8930: 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e TOP)\src\hwtime. 8940: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 h \.$(TOP)\src
8950: 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28 54 4f  \msvc.h \.  $(TO 8960: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c P)\src\mutex.h \ 8970: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 .$(TOP)\src\os
8980: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr 8990: 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a c\os_common.h \. 89a0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f$(TOP)\src\os_
89b0: 73 65 74 75 70 2e 68 20 5c 0a 20 20 24 28 54 4f  setup.h \.  $(TO 89c0: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a P)\src\os_win.h. 89d0: 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 .# Core header f 89e0: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a iles, part 2..#. 89f0: 53 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 54 4f SRC05 = \.$(TO
8a00: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c  P)\src\pager.h \
8a10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc 8a20: 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 ache.h \.$(TOP
8a30: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c  )\src\pragma.h \
8a40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  .  $(TOP)\src\sq 8a50: 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 lite.h.in \.$(
8a60: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33  TOP)\src\sqlite3
8a70: 65 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ext.h \.  $(TOP) 8a80: 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 \src\sqliteInt.h 8a90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8aa0: 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a  sqliteLimit.h \.
8ab0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb 8ac0: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.h \.$(TOP)\s
8ad0: 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20  rc\vdbeInt.h \.
8ae0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f   $(TOP)\src\vxwo 8af0: 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 rks.h \.$(TOP)
8b00: 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 24  \src\wal.h \.  $8b10: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49 (TOP)\src\whereI 8b20: 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 6f nt.h..# Extensio 8b30: 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 n source code fi 8b40: 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 les, part 1..#.S 8b50: 52 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 4f 50 RC06 = \.$(TOP
8b60: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e  )\ext\fts1\fts1.
8b70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 8b80: 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e \fts1\fts1_hash. 8b90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
8ba0: 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f 72 74 65  \fts1\fts1_porte
8bb0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 8bc0: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b xt\fts1\fts1_tok 8bd0: 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 enizer1.c \.$(
8be0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
8bf0: 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s2.c \.  $(TOP)\ 8c00: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 ext\fts2\fts2_ha 8c10: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.c \.$(TOP)\
8c20: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63  ext\fts2\fts2_ic
8c30: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  u.c \.  $(TOP)\e 8c40: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 xt\fts2\fts2_por 8c50: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ter.c \.$(TOP)
8c60: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
8c70: 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24  okenizer.c \.  $8c80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f 8c90: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 ts2_tokenizer1.c 8ca0: 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f ..# Extension so 8cb0: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c urce code files, 8cc0: 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 37 part 2..#.SRC07 8cd0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 = \.$(TOP)\ex
8ce0: 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a  t\fts3\fts3.c \.
8cf0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 8d00: 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20 3\fts3_aux.c \. 8d10: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
8d20: 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20  \fts3_expr.c \.
8d30: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 8d40: 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20 \fts3_hash.c \. 8d50: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
8d60: 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20  \fts3_icu.c \.
8d70: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 8d80: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a fts3_porter.c \. 8d90: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
8da0: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
8db0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8dc0: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 fts3\fts3_tokeni 8dd0: 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 zer.c \.$(TOP)
8de0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
8df0: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20  okenizer1.c \.
8e00: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 8e10: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 fts3_tokenize_vt 8e20: 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ab.c \.$(TOP)\
8e30: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e  ext\fts3\fts3_un
8e40: 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f  icode.c \.  $(TO 8e50: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 8e60: 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 _unicode2.c \. 8e70: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
8e80: 66 74 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20  fts3_write.c \.
8e90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c   $(TOP)\ext\icu\ 8ea0: 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 icu.c \.$(TOP)
8eb0: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65  \ext\rtree\rtree
8ec0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 8ed0: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 t\session\sqlite 8ee0: 33 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24 3session.c \.$
8ef0: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
8f00: 6c 69 74 65 33 72 62 75 2e 63 20 5c 0a 20 20 24  lite3rbu.c \.  $8f10: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6a (TOP)\ext\misc\j 8f20: 73 6f 6e 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 son1.c \.$(TOP
8f30: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 74 6d 74 2e  )\ext\misc\stmt.
8f40: 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68  c..# Extension h
8f50: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72  eader files, par
8f60: 74 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c  t 1..#.SRC08 = \
8f70: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 8f80: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 s1\fts1.h \.$(
8f90: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
8fa0: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s1_hash.h \.  $( 8fb0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 TOP)\ext\fts1\ft 8fc0: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c s1_tokenizer.h \ 8fd0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
8fe0: 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28  s2\fts2.h \.  $( 8ff0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft 9000: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 s2_hash.h \.$(
9010: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
9020: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a  s2_tokenizer.h..
9030: 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64  # Extension head
9040: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32  er files, part 2
9050: 2e 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20  ..#.SRC09 = \.
9060: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 9070: 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 fts3.h \.$(TOP
9080: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49  )\ext\fts3\fts3I
9090: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.h \.  $(TOP)\ 90a0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 ext\fts3\fts3_ha 90b0: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.h \.$(TOP)\
90c0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f  ext\fts3\fts3_to
90d0: 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28  kenizer.h \.  $( 90e0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c TOP)\ext\icu\sql 90f0: 69 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54 iteicu.h \.$(T
9100: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
9110: 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ree.h \.  $(TOP) 9120: 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 \ext\rbu\sqlite3 9130: 72 62 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 rbu.h \.$(TOP)
9140: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c  \ext\session\sql
9150: 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23  ite3session.h..#
9160: 20 47 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63   Generated sourc
9170: 65 20 63 6f 64 65 20 66 69 6c 65 73 0a 23 0a 53  e code files.#.S
9180: 52 43 31 30 20 3d 20 5c 0a 20 20 6f 70 63 6f 64  RC10 = \.  opcod
9190: 65 73 2e 63 20 5c 0a 20 20 70 61 72 73 65 2e 63  es.c \.  parse.c
91a0: 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20 68 65  ..# Generated he
91b0: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 53 52 43  ader files.#.SRC
91c0: 31 31 20 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64  11 = \.  keyword
91d0: 68 61 73 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64  hash.h \.  opcod
91e0: 65 73 2e 68 20 5c 0a 20 20 70 61 72 73 65 2e 68  es.h \.  parse.h
91f0: 20 5c 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20   \.  shell.c \.
9200: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20   $(SQLITE3H)..# 9210: 47 65 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65 Generated Tcl he 9220: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46 ader files.#.!IF 9230: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21$(USE_STDCALL)!
9240: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1 9250: 30 29 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a 0)!=0.SRC12 = \. 9260: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20$(SQLITETCLH)
9270: 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44  \.  $(SQLITETCLD 9280: 45 43 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43 ECLSH).!ELSE.SRC 9290: 31 32 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41 12 =.!ENDIF..# A 92a0: 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 ll source code f 92b0: 69 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 iles..#.SRC =$(
92c0: 53 52 43 30 30 29 20 24 28 53 52 43 30 31 29 20  SRC00) $(SRC01) 92d0: 24 28 53 52 43 30 33 29 20 24 28 53 52 43 30 34$(SRC03) $(SRC04 92e0: 29 20 24 28 53 52 43 30 35 29 20 24 28 53 52 43 )$(SRC05) $(SRC 92f0: 30 36 29 20 24 28 53 52 43 30 37 29 20 24 28 53 06)$(SRC07) $(S 9300: 52 43 30 38 29 20 24 28 53 52 43 30 39 29 20 24 RC08)$(SRC09) $9310: 28 53 52 43 31 30 29 20 24 28 53 52 43 31 31 29 (SRC10)$(SRC11)
9320: 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20  ..# Source code
9330: 74 6f 20 74 68 65 20 74 65 73 74 20 66 69 6c 65  to the test file
9340: 73 2e 0a 23 0a 54 45 53 54 53 52 43 20 3d 20 5c  s..#.TESTSRC = \
9350: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 9360: 73 74 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 st1.c \.$(TOP)
9370: 5c 73 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a 20  \src\test2.c \.
9380: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 9390: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 3.c \.$(TOP)\s
93a0: 72 63 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20 24  rc\test4.c \.  $93b0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 35 2e (TOP)\src\test5. 93c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
93d0: 5c 74 65 73 74 36 2e 63 20 5c 0a 20 20 24 28 54  \test6.c \.  $(T 93e0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 20 OP)\src\test7.c 93f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
9400: 65 73 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est8.c \.  $(TOP 9410: 29 5c 73 72 63 5c 74 65 73 74 39 2e 63 20 5c 0a )\src\test9.c \. 9420: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
9430: 74 5f 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20 20  t_autoext.c \.
9440: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 9450: 61 73 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f async.c \.$(TO
9460: 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 61 63 6b  P)\src\test_back
9470: 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  up.c \.  $(TOP)\ 9480: 73 72 63 5c 74 65 73 74 5f 62 65 73 74 69 6e 64 src\test_bestind 9490: 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ex.c \.$(TOP)\
94a0: 73 72 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 20  src\test_blob.c
94b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 94c0: 65 73 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20 20 est_btree.c \. 94d0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
94e0: 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 54  config.c \.  $(T 94f0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 6c OP)\src\test_del 9500: 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ete.c \.$(TOP)
9510: 5c 73 72 63 5c 74 65 73 74 5f 64 65 6d 6f 76 66  \src\test_demovf
9520: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s 9530: 72 63 5c 74 65 73 74 5f 64 65 76 73 79 6d 2e 63 rc\test_devsym.c 9540: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9550: 74 65 73 74 5f 66 73 2e 63 20 5c 0a 20 20 24 28  test_fs.c \.  $( 9560: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75 TOP)\src\test_fu 9570: 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c nc.c \.$(TOP)\
9580: 73 72 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63  src\test_hexio.c
9590: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 95a0: 74 65 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 test_init.c \. 95b0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
95c0: 69 6e 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24  intarray.c \.  $95d0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a (TOP)\src\test_j 95e0: 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 ournal.c \.$(T
95f0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c  OP)\src\test_mal
9600: 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  loc.c \.  $(TOP) 9610: 5c 73 72 63 5c 74 65 73 74 5f 6d 64 35 2e 63 20 \src\test_md5.c 9620: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
9630: 65 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20  est_multiplex.c
9640: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 9650: 65 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 est_mutex.c \. 9660: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
9670: 6f 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28  onefile.c \.  $( 9680: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 TOP)\src\test_os 9690: 69 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 inst.c \.$(TOP
96a0: 29 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68  )\src\test_pcach
96b0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 96c0: 72 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 rc\test_quota.c 96d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
96e0: 65 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20  est_rtree.c \.
96f0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 9700: 73 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 schema.c \.$(T
9710: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72  OP)\src\test_ser
9720: 76 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ver.c \.  $(TOP) 9730: 5c 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c \src\test_superl 9740: 6f 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ock.c \.$(TOP)
9750: 5c 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c  \src\test_syscal
9760: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  l.c \.  $(TOP)\s 9770: 72 63 5c 74 65 73 74 5f 74 63 6c 73 68 2e 63 20 rc\test_tclsh.c 9780: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
9790: 65 73 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20  est_tclvar.c \.
97a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 97b0: 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 _thread.c \.$(
97c0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66  TOP)\src\test_vf
97d0: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s 97e0: 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e rc\test_windiren 97f0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 t.c \.$(TOP)\s
9800: 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a  rc\test_wsd.c \.
9810: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 9820: 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a 3\fts3_term.c \. 9830: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
9840: 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a  3\fts3_test.c \.
9850: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75    $(TOP)\ext\rbu 9860: 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20 \test_rbu.c \. 9870: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69$(TOP)\ext\sessi
9880: 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e  on\test_session.
9890: 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20  c..# Statically
98a0: 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e  linked extension
98b0: 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c  s..#.TESTEXT = \
98c0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78  .  $(TOP)\ext\ex 98d0: 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 pert\sqlite3expe 98e0: 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c rt.c \.$(TOP)\
98f0: 65 78 74 5c 65 78 70 65 72 74 5c 74 65 73 74 5f  ext\expert\test_
9900: 65 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54  expert.c \.  $(T 9910: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61 OP)\ext\misc\ama 9920: 74 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 tch.c \.$(TOP)
9930: 5c 65 78 74 5c 6d 69 73 63 5c 63 61 72 72 61 79  \ext\misc\carray
9940: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9950: 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63 t\misc\closure.c 9960: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9970: 6d 69 73 63 5c 63 73 76 2e 63 20 5c 0a 20 20 24  misc\csv.c \.  $9980: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 65 (TOP)\ext\misc\e 9990: 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 val.c \.$(TOP)
99a0: 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 6f  \ext\misc\fileio
99b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 99c0: 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63 20 t\misc\fuzzer.c 99d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
99e0: 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 5c  ts5\fts5_tcl.c \
99f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 9a00: 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e s5\fts5_test_mi. 9a10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9a20: 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f  \fts5\fts5_test_
9a30: 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tok.c \.  $(TOP) 9a40: 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37 35 \ext\misc\ieee75 9a50: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 4.c \.$(TOP)\e
9a60: 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 77 61 72 6d  xt\misc\mmapwarm
9a70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9a80: 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 72 2e t\misc\nextchar. 9a90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
9aa0: 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69 6c 65  \misc\percentile
9ab0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 9ac0: 74 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e 63 20 t\misc\regexp.c 9ad0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d \.$(TOP)\ext\m
9ae0: 69 73 63 5c 72 65 6d 65 6d 62 65 72 2e 63 20 5c  isc\remember.c \
9af0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi 9b00: 73 63 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 sc\series.c \. 9b10: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
9b20: 73 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24  spellfix.c \.  $9b30: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 (TOP)\ext\misc\t 9b40: 6f 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f otype.c \.$(TO
9b50: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 75 6e 69 6f  P)\ext\misc\unio
9b60: 6e 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  nvtab.c \.  $(TO 9b70: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c P)\ext\misc\whol 9b80: 65 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 53 6f 75 enumber.c..# Sou 9b90: 72 63 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20 rce code to the 9ba0: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 20 6e 65 library files ne 9bb0: 65 64 65 64 20 62 79 20 74 68 65 20 74 65 73 74 eded by the test 9bc0: 20 66 69 78 74 75 72 65 0a 23 20 28 6e 6f 6e 2d fixture.# (non- 9bd0: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 0a 23 0a amalgamation).#. 9be0: 54 45 53 54 53 52 43 32 20 3d 20 5c 0a 20 20 24 TESTSRC2 = \.$
9bf0: 28 53 52 43 30 30 29 20 5c 0a 20 20 24 28 53 52  (SRC00) \.  $(SR 9c00: 43 30 31 29 20 5c 0a 20 20 24 28 53 52 43 30 36 C01) \.$(SRC06
9c10: 29 20 5c 0a 20 20 24 28 53 52 43 30 37 29 20 5c  ) \.  $(SRC07) \ 9c20: 0a 20 20 24 28 53 52 43 31 30 29 20 5c 0a 20 20 .$(SRC10) \.
9c30: 24 28 54 4f 50 29 5c 65 78 74 5c 61 73 79 6e 63  $(TOP)\ext\async 9c40: 5c 73 71 6c 69 74 65 33 61 73 79 6e 63 2e 63 0a \sqlite3async.c. 9c50: 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65 73 20 .# Header files 9c60: 75 73 65 64 20 62 79 20 61 6c 6c 20 6c 69 62 72 used by all libr 9c70: 61 72 79 20 73 6f 75 72 63 65 20 66 69 6c 65 73 ary source files 9c80: 2e 0a 23 0a 48 44 52 20 3d 20 5c 0a 20 20 20 24 ..#.HDR = \.$
9c90: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
9ca0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr 9cb0: 63 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 c\btreeInt.h \. 9cc0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73$(TOP)\src\has
9cd0: 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  h.h \.   $(TOP)\ 9ce0: 73 72 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 src\hwtime.h \. 9cf0: 20 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 keywordhash.h 9d00: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9d10: 6d 73 76 63 2e 68 20 5c 0a 20 20 20 24 28 54 4f  msvc.h \.   $(TO 9d20: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c P)\src\mutex.h \ 9d30: 0a 20 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a . opcodes.h \. 9d40: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73$(TOP)\src\os
9d50: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s 9d60: 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c rc\os_common.h \ 9d70: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f .$(TOP)\src\o
9d80: 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 20 24  s_setup.h \.   $9d90: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e (TOP)\src\os_win 9da0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 .h \.$(TOP)\s
9db0: 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a 20 20 20  rc\pager.h \.
9dc0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach 9dd0: 65 2e 68 20 5c 0a 20 20 20 70 61 72 73 65 2e 68 e.h \. parse.h 9de0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 \.$(TOP)\src
9df0: 5c 70 72 61 67 6d 61 2e 68 20 5c 0a 20 20 20 24  \pragma.h \.   $9e00: 28 53 51 4c 49 54 45 33 48 29 20 5c 0a 20 20 20 (SQLITE3H) \. 9e10: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 sqlite3ext.h \. 9e20: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c$(TOP)\src\sql
9e30: 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28  iteInt.h \.   $( 9e40: 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c TOP)\src\sqliteL 9e50: 69 6d 69 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f imit.h \.$(TO
9e60: 50 29 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a  P)\src\vdbe.h \.
9e70: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64     $(TOP)\src\vd 9e80: 62 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 beInt.h \.$(T
9e90: 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73 2e  OP)\src\vxworks.
9ea0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr 9eb0: 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 c\whereInt.h..# 9ec0: 48 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 65 Header files use 9ed0: 64 20 62 79 20 65 78 74 65 6e 73 69 6f 6e 73 0a d by extensions. 9ee0: 23 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 #.EXTHDR =$(EXT
9ef0: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  HDR) \.  $(TOP)\ 9f00: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20 ext\fts1\fts1.h 9f10: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
9f20: 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20  ts1\fts1_hash.h
9f30: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 9f40: 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a ts1\fts1_tokeniz 9f50: 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 er.h.EXTHDR =$(
9f60: 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f  EXTHDR) \.  $(TO 9f70: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 9f80: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .h \.$(TOP)\ex
9f90: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68  t\fts2\fts2_hash
9fa0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex 9fb0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 t\fts2\fts2_toke 9fc0: 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d nizer.h.EXTHDR = 9fd0: 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24$(EXTHDR) \.  $9fe0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f 9ff0: 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 ts3.h \.$(TOP)
a000: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e  \ext\fts3\fts3In
a010: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  t.h \.  $(TOP)\e a020: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 xt\fts3\fts3_has a030: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 h.h \.$(TOP)\e
a040: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
a050: 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20  enizer.h.EXTHDR
a060: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \. a070: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65$(TOP)\ext\rtree
a080: 5c 72 74 72 65 65 2e 68 0a 45 58 54 48 44 52 20  \rtree.h.EXTHDR
a090: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \. a0a0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73$(TOP)\ext\icu\s
a0b0: 71 6c 69 74 65 69 63 75 2e 68 0a 45 58 54 48 44  qliteicu.h.EXTHD
a0c0: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \. a0d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72$(TOP)\ext\rtr
a0e0: 65 65 5c 73 71 6c 69 74 65 33 72 74 72 65 65 2e  ee\sqlite3rtree.
a0f0: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT a100: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c HDR) \.$(TOP)\
a110: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69  ext\session\sqli
a120: 74 65 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20  te3session.h..#
a130: 65 78 65 63 75 74 61 62 6c 65 73 20 6e 65 65 64  executables need
a140: 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 0a 23  ed for testing.#
a150: 0a 54 45 53 54 50 52 4f 47 53 20 3d 20 5c 0a 20  .TESTPROGS = \.
a160: 20 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65   testfixture.exe
a170: 20 5c 0a 20 20 24 28 53 51 4c 49 54 45 33 45 58   \.  $(SQLITE3EX a180: 45 29 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f 61 E) \. sqlite3_a a190: 6e 61 6c 79 7a 65 72 2e 65 78 65 20 5c 0a 20 20 nalyzer.exe \. a1a0: 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e sqlite3_checker. a1b0: 65 78 65 20 5c 0a 20 20 73 71 6c 64 69 66 66 2e exe \. sqldiff. a1c0: 65 78 65 20 5c 0a 20 20 64 62 68 61 73 68 2e 65 exe \. dbhash.e a1d0: 78 65 0a 0a 23 20 44 61 74 61 62 61 73 65 73 20 xe..# Databases a1e0: 63 6f 6e 74 61 69 6e 69 6e 67 20 66 75 7a 7a 65 containing fuzze a1f0: 72 20 74 65 73 74 20 63 61 73 65 73 0a 23 0a 46 r test cases.#.F a200: 55 5a 5a 44 41 54 41 20 3d 20 5c 0a 20 20 24 28 UZZDATA = \.$(
a210: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61  TOP)\test\fuzzda
a220: 74 61 31 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50  ta1.db \.  $(TOP a230: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 32 )\test\fuzzdata2 a240: 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 .db \.$(TOP)\t
a250: 65 73 74 5c 66 75 7a 7a 64 61 74 61 33 2e 64 62  est\fuzzdata3.db
a260: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test a270: 5c 66 75 7a 7a 64 61 74 61 34 2e 64 62 20 5c 0a \fuzzdata4.db \. a280: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75$(TOP)\test\fu
a290: 7a 7a 64 61 74 61 35 2e 64 62 0a 23 20 3c 3c 2f  zzdata5.db.# <</
a2a0: 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 69 74 69  mark>>..# Additi
a2b0: 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70  onal compiler op
a2c0: 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 73 68  tions for the sh
a2d0: 65 6c 6c 2e 20 20 54 68 65 73 65 20 61 72 65 20  ell.  These are
a2e0: 6f 6e 6c 79 20 65 66 66 65 63 74 69 76 65 0a 23  only effective.#
a2f0: 20 77 68 65 6e 20 74 68 65 20 73 68 65 6c 6c 20   when the shell
a300: 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 64 79 6e  is not being dyn
a310: 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 2e  amically linked.
a320: 0a 23 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  .#.!IF $(DYNAMIC a330: 5f 53 48 45 4c 4c 29 3d 3d 30 20 26 26 20 24 28 _SHELL)==0 &&$(
a340: 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 0a 53 48  FOR_WIN10)==0.SH
a350: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
a360: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49   = $(SHELL_COMPI a370: 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 LE_OPTS) -DSQLIT a380: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d E_ENABLE_JSON1 - a390: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 DSQLITE_ENABLE_F a3a0: 54 53 34 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 TS4 -DSQLITE_ENA a3b0: 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d BLE_EXPLAIN_COMM a3c0: 45 4e 54 53 20 2d 44 53 51 4c 49 54 45 5f 45 4e ENTS -DSQLITE_EN a3d0: 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 0a 53 48 ABLE_STMTVTAB.SH a3e0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ELL_COMPILE_OPTS a3f0: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 =$(SHELL_COMPI
a400: 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
a410: 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f  E_ENABLE_DBPAGE_
a420: 56 54 41 42 20 2d 44 53 51 4c 49 54 45 5f 45 4e  VTAB -DSQLITE_EN
a430: 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 54 41 42  ABLE_DBSTAT_VTAB
a440: 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  .SHELL_COMPILE_O
a450: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f  PTS = $(SHELL_CO a460: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 MPILE_OPTS) -DSQ a470: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4f 46 46 53 LITE_ENABLE_OFFS a480: 45 54 5f 53 51 4c 5f 46 55 4e 43 20 2d 44 53 51 ET_SQL_FUNC -DSQ a490: 4c 49 54 45 5f 49 4e 54 52 4f 53 50 45 43 54 49 LITE_INTROSPECTI a4a0: 4f 4e 5f 50 52 41 47 4d 41 53 0a 21 45 4e 44 49 ON_PRAGMAS.!ENDI a4b0: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 F..# <<mark>>.# a4c0: 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f Extra compiler o a4d0: 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f ptions for vario a4e0: 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23 us test tools..# a4f0: 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c .MPTESTER_COMPIL a500: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 E_OPTS = -DSQLIT a510: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d E_ENABLE_JSON1 - a520: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 DSQLITE_ENABLE_F a530: 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f TS5.FUZZERSHELL_ a540: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d COMPILE_OPTS = - a550: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a DSQLITE_ENABLE_J a560: 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 43 SON1.FUZZCHECK_C a570: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 OMPILE_OPTS = -D a580: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 SQLITE_ENABLE_JS a590: 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 ON1 -DSQLITE_ENA a5a0: 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d 44 53 51 BLE_MEMSYS5 -DSQ a5b0: 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d 44 LITE_OSS_FUZZ -D a5c0: 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f 52 SQLITE_MAX_MEMOR a5d0: 59 3d 35 30 30 30 30 30 30 30 0a 46 55 5a 5a 43 Y=50000000.FUZZC a5e0: 48 45 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f 50 HECK_SRC =$(TOP
a5f0: 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b  )\test\fuzzcheck
a600: 2e 63 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f  .c $(TOP)\test\o a610: 73 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c ssfuzz.c.OSSSHEL a620: 4c 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 L_SRC =$(TOP)\t
a630: 65 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 24  est\ossshell.c $a640: 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 (TOP)\test\ossfu a650: 7a 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50 zz.c.DBFUZZ_COMP a660: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c ILE_OPTS = -DSQL a670: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 ITE_THREADSAFE=0 a680: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c -DSQLITE_OMIT_L a690: 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 4b 56 OAD_EXTENSION.KV a6a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 _COMPILE_OPTS = a6b0: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 -DSQLITE_THREADS a6c0: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 44 AFE=0 -DSQLITE_D a6d0: 49 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f 52 IRECT_OVERFLOW_R a6e0: 45 41 44 0a 44 42 53 45 4c 46 54 45 53 54 5f 43 EAD.DBSELFTEST_C a6f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 OMPILE_OPTS = -D a700: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 SQLITE_THREADSAF a710: 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 E=0 -DSQLITE_OMI a720: 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e T_LOAD_EXTENSION a730: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE a740: 5f 52 54 52 45 45 20 2d 44 53 51 4c 49 54 45 5f _RTREE -DSQLITE_ a750: 45 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 53 51 ENABLE_FTS4 -DSQ a760: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 LITE_ENABLE_FTS5 a770: 0a 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 .ST_COMPILE_OPTS a780: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 = -DSQLITE_THRE a790: 41 44 53 41 46 45 3d 30 0a 0a 23 20 53 74 61 6e ADSAFE=0..# Stan a7a0: 64 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 dard options to a7b0: 74 65 73 74 66 69 78 74 75 72 65 2e 0a 23 0a 54 testfixture..#.T a7c0: 45 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72 62 ESTOPTS = --verb a7d0: 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70 75 ose=file --outpu a7e0: 74 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a 0a t=test-out.txt.. a7f0: 23 20 45 78 74 72 61 20 74 61 72 67 65 74 73 20 # Extra targets a800: 66 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 74 61 for the "all" ta a810: 72 67 65 74 20 74 68 61 74 20 72 65 71 75 69 72 rget that requir a820: 65 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28 4e e Tcl..#.!IF$(N
a830: 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43  O_TCL)==0.ALL_TC
a840: 4c 5f 54 41 52 47 45 54 53 20 3d 20 6c 69 62 74  L_TARGETS = libt
a850: 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45  clsqlite3.lib.!E
a860: 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47  LSE.ALL_TCL_TARG
a870: 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 3c  ETS =.!ENDIF.# <
a880: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73  </mark>>..# This
a890: 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20   is the default
a8a0: 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e  Makefile target.
a8b0: 20 20 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69    The objects li
a8c0: 73 74 65 64 20 68 65 72 65 0a 23 20 61 72 65 20  sted here.# are
a8d0: 77 68 61 74 20 67 65 74 20 62 75 69 6c 64 20 77  what get build w
a8e0: 68 65 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73  hen you type jus
a8f0: 74 20 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f  t "make" with no
a900: 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c   arguments..#.al
a910: 6c 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69 74 65  l:.dll libsqlite
a920: 33 2e 6c 69 62 20 73 68 65 6c 6c 20 24 28 41 4c  3.lib shell $(AL a930: 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 29 0a 0a L_TCL_TARGETS).. a940: 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c # Dynamic link l a950: 69 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a ibrary section.. a960: 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 #.dll:.$(SQLITE3
a970: 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78  DLL)..# Shell ex
a980: 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c  ecutable..#.shel
a990: 6c 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45 29  l:.$(SQLITE3EXE) a9a0: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 ..# <<mark>>.lib a9b0: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c sqlite3.lib:.$(L
a9c0: 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29  IBOBJ)..$(LTLIB) a9d0: 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f$(LTLIBOPTS) /O
a9e0: 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20  UT:$@$(LIBOBJ)
a9f0: 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c  $(TLIBS)..libtcl aa00: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c sqlite3.lib:.tcl aa10: 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c sqlite.lo libsql aa20: 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 ite3.lib..$(LTLI
aa30: 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20  B) $(LTLIBOPTS) aa40: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f$(LTLIBPATHS) /O
aa50: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e  UT:$@ tclsqlite. aa60: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 lo libsqlite3.li aa70: 62 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20 b$(LIBTCLSTUB)
aa80: 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61  $(TLIBS).# <</ma aa90: 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44 rk>>..$(SQLITE3D
aaa0: 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24  LL):.$(LIBOBJ)$
aab0: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 43  (LIBRESOBJS) $(C aac0: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24 ORE_LINK_DEP)..$
aad0: 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20  (LD) $(LDFLAGS) aae0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28$(LTLINKOPTS) $( aaf0: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c LTLIBPATHS) /DLL ab00: 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54$(CORE_LINK_OPT
ab10: 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42  S) /OUT:$@$(LIB
ab20: 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  OBJ) $(LIBRESOBJ ab30: 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 S)$(LTLIBS) $(T ab40: 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b LIBS)..# <<block ab50: 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a 2>>.sqlite3.def: ab60: 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a .libsqlite3.lib. ab70: 09 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20 .echo EXPORTS > ab80: 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 6d sqlite3.def..dum ab90: 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c pbin /all libsql aba0: 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24 ite3.lib \...|$
abb0: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO abc0: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e P)\tool\replace. abd0: 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73 tcl include "^\s abe0: 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33 28 3f 3a +1 _?(sqlite3(?: abf0: 73 65 73 73 69 6f 6e 7c 63 68 61 6e 67 65 73 65 session|changese ac00: 74 7c 63 68 61 6e 67 65 67 72 6f 75 70 29 3f 5f t|changegroup)?_ ac10: 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 [^@]*)(?:@\d+)?$
ac20: 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74  $" \1 \...| sort ac30: 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a >> sqlite3.def. ac40: 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 # <</block2>>..$
ac50: 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 73 68  (SQLITE3EXE):.sh
ac60: 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f  ell.c $(SHELL_CO ac70: 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53 RE_DEP)$(LIBRES
ac80: 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f  OBJS) $(SHELL_CO ac90: 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 RE_SRC)$(SQLITE
aca0: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK)$
acb0: 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  (SHELL_COMPILE_O
acc0: 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45 5f  PTS) $(READLINE_ acd0: 46 4c 41 47 53 29 20 73 68 65 6c 6c 2e 63 20 24 FLAGS) shell.c$
ace0: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29  (SHELL_CORE_SRC)
acf0: 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c   \.../link $(SQL ad00: 49 54 45 33 45 58 45 50 44 42 29 20 24 28 4c 44 ITE3EXEPDB)$(LD
ad10: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO ad20: 50 54 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e PTS)$(SHELL_LIN
ad30: 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  K_OPTS) $(LTLIBP ad40: 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 ATHS)$(LIBRESOB
ad50: 4a 53 29 20 24 28 4c 49 42 52 45 41 44 4c 49 4e  JS) $(LIBREADLIN ad60: 45 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 E)$(LTLIBS) $(T ad70: 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e LIBS)..# <<mark> ad80: 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 24 >.sqldiff.exe:.$
ad90: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69  (TOP)\tool\sqldi
ada0: 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ff.c $(SQLITE3C) adb0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( adc0: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
add0: 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  N) $(TOP)\tool\s ade0: 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54 qldiff.c$(SQLIT
adf0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF ae00: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
ae10: 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a  TS)..dbhash.exe:
ae20: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68  .$(TOP)\tool\dbh ae30: 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43 ash.c$(SQLITE3C
ae40: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
ae50: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA ae60: 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c RN)$(TOP)\tool\
ae70: 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54  dbhash.c $(SQLIT ae80: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 E3C) /link$(LDF
ae90: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP aea0: 54 53 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09 TS)..scrub.exe:. aeb0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
aec0: 73 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45  scrub.c $(SQLITE aed0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
aee0: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
aef0: 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 65 78 74  WARN) $(TOP)\ext af00: 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28 \misc\scrub.c$(
af10: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link
af20: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
af30: 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31  INKOPTS)..srcck1
af40: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too af50: 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24 28 42 43 l\srcck1.c..$(BC
af60: 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46  C) $(NO_WARN) -F af70: 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c e$@ $(TOP)\tool\ af80: 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65 srcck1.c..source af90: 74 65 73 74 3a 09 73 72 63 63 6b 31 2e 65 78 65 test:.srcck1.exe afa0: 20 73 71 6c 69 74 65 33 2e 63 0a 09 73 72 63 63 sqlite3.c..srcc afb0: 6b 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e 63 k1.exe sqlite3.c afc0: 0a 0a 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 ..fuzzershell.ex afd0: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 e:.$(TOP)\tool\f
afe0: 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53  uzzershell.c $(S aff0: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
b000: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) b010: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a$(NO_WARN) $(FUZ b020: 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 ZERSHELL_COMPILE b030: 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74 6f _OPTS)$(TOP)\to
b040: 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63  ol\fuzzershell.c
b050: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li b060: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( b070: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 66 LTLINKOPTS)..dbf b080: 75 7a 7a 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c uzz.exe:.$(TOP)\
b090: 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 28  test\dbfuzz.c $( b0a0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 SQLITE3C)$(SQLI
b0b0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK) b0c0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 44 42$(NO_WARN) $(DB b0d0: 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 FUZZ_COMPILE_OPT b0e0: 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 S)$(TOP)\test\d
b0f0: 62 66 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45  bfuzz.c $(SQLITE b100: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 3C) /link$(LDFL
b110: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT b120: 53 29 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e 65 78 S)..fuzzcheck.ex b130: 65 3a 09 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 e:.$(FUZZCHECK_S
b140: 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20  RC) $(SQLITE3C) b150: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L b160: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
b170: 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f  ) $(FUZZCHECK_CO b180: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 46 55 MPILE_OPTS)$(FU
b190: 5a 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53  ZZCHECK_SRC) $(S b1a0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 QLITE3C) /link$
b1b0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI b1c0: 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73 73 68 65 6c NKOPTS)..ossshel b1d0: 6c 2e 65 78 65 3a 09 24 28 4f 53 53 53 48 45 4c l.exe:.$(OSSSHEL
b1e0: 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  L_SRC) $(SQLITE3 b1f0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
b200: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
b210: 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b  ARN) $(FUZZCHECK b220: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
b230: 28 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24  (OSSSHELL_SRC) $b240: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b (SQLITE3C) /link b250: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT b260: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6d 70 74 65 73 LINKOPTS)..mptes b270: 74 65 72 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c ter.exe:.$(TOP)\
b280: 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20  mptest\mptest.c
b290: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
b2a0: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN b2b0: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 K)$(NO_WARN) $( b2c0: 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 MPTESTER_COMPILE b2d0: 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 6d 70 _OPTS)$(TOP)\mp
b2e0: 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28  test\mptest.c $( b2f0: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 SQLITE3C) /link b300: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL b310: 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53 54 INKOPTS)..MPTEST b320: 31 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74 1 = mptester mpt b330: 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70 est.db$(TOP)\mp
b340: 74 65 73 74 5c 63 72 61 73 68 30 31 2e 74 65 73  test\crash01.tes
b350: 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d 50  t --repeat 20.MP
b360: 54 45 53 54 32 20 3d 20 6d 70 74 65 73 74 65 72  TEST2 = mptester
b370: 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50   mptest.db $(TOP b380: 29 5c 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77 72 )\mptest\multiwr b390: 69 74 65 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 ite01.test --rep b3a0: 65 61 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a 09 eat 20..mptest:. b3b0: 6d 70 74 65 73 74 65 72 2e 65 78 65 0a 09 64 65 mptester.exe..de b3c0: 6c 20 2f 51 20 6d 70 74 65 73 74 2e 64 62 20 32 l /Q mptest.db 2 b3d0: 3e 4e 55 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 >NUL..$(MPTEST1)
b3e0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44   --journalmode D
b3f0: 45 4c 45 54 45 0a 09 24 28 4d 50 54 45 53 54 32  ELETE..$(MPTEST2 b400: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 ) --journalmode b410: 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 WAL..$(MPTEST1)
b420: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41  --journalmode WA
b430: 4c 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d  L..$(MPTEST2) -- b440: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 journalmode PERS b450: 49 53 54 0a 09 24 28 4d 50 54 45 53 54 31 29 20 IST..$(MPTEST1)
b460: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45  --journalmode PE
b470: 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54 32  RSIST..$(MPTEST2 b480: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 ) --journalmode b490: 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 TRUNCATE..$(MPTE
b4a0: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
b4b0: 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d  de TRUNCATE..$(M b4c0: 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 PTEST2) --journa b4d0: 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23 20 lmode DELETE..# b4e0: 54 68 69 73 20 74 61 72 67 65 74 20 63 72 65 61 This target crea b4f0: 74 65 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 tes a directory b500: 6e 61 6d 65 64 20 22 74 73 72 63 22 20 61 6e 64 named "tsrc" and b510: 20 66 69 6c 6c 73 20 69 74 20 77 69 74 68 0a 23 fills it with.# b520: 20 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 6f copies of all o b530: 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 f the C source c b540: 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 20 66 ode and header f b550: 69 6c 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 23 iles needed to.# b560: 20 62 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 61 build on the ta b570: 72 67 65 74 20 73 79 73 74 65 6d 2e 20 20 53 6f rget system. So b580: 6d 65 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 me of the C sour b590: 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 ce code and head b5a0: 65 72 0a 23 20 66 69 6c 65 73 20 61 72 65 20 61 er.# files are a b5b0: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e utomatically gen b5c0: 65 72 61 74 65 64 2e 20 20 54 68 69 73 20 74 61 erated. This ta b5d0: 72 67 65 74 20 74 61 6b 65 73 20 63 61 72 65 20 rget takes care b5e0: 6f 66 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 75 of.# all that au b5f0: 74 6f 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69 tomatic generati b600: 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 6f on..#..target_so b610: 75 72 63 65 3a 09 24 28 53 52 43 29 20 24 28 54 urce:.$(SRC) $(T b620: 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f OP)\tool\vdbe-co b630: 6d 70 72 65 73 73 2e 74 63 6c 20 66 74 73 35 2e mpress.tcl fts5. b640: 63 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 c$(SQLITE_TCL_D
b650: 45 50 29 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53  EP)..-rmdir /Q/S
b660: 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b   tsrc 2>NUL..-mk
b670: 64 69 72 20 74 73 72 63 0a 09 66 6f 72 20 25 69  dir tsrc..for %i
b680: 20 69 6e 20 28 24 28 53 52 43 30 30 29 29 20 64   in ($(SRC00)) d b690: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 o copy /Y %i tsr b6a0: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 c..for %i in ($(
b6b0: 53 52 43 30 31 29 29 20 64 6f 20 63 6f 70 79 20  SRC01)) do copy
b6c0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for
b6d0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 33 29 29  %i in ($(SRC03)) b6e0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 do copy /Y %i t b6f0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 src..for %i in ( b700: 24 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f 70$(SRC04)) do cop
b710: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
b720: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 35  r %i in ($(SRC05 b730: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 )) do copy /Y %i b740: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e tsrc..for %i in b750: 20 28 24 28 53 52 43 30 36 29 29 20 64 6f 20 63 ($(SRC06)) do c
b760: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
b770: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC b780: 30 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 07)) do copy /Y b790: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 %i tsrc..for %i b7a0: 69 6e 20 28 24 28 53 52 43 30 38 29 29 20 64 6f in ($(SRC08)) do
b7b0: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
b7c0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S b7d0: 52 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20 2f RC09)) do copy / b7e0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 Y %i tsrc..for % b7f0: 69 20 69 6e 20 28 24 28 53 52 43 31 30 29 29 20 i in ($(SRC10))
b800: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
b810: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($b820: 28 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70 79 (SRC11)) do copy b830: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 /Y %i tsrc..for b840: 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 32 29 %i in ($(SRC12)
b850: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i
b860: 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74  tsrc..copy /Y ft
b870: 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 20  s5.c tsrc..copy
b880: 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a 09  /Y fts5.h tsrc..
b890: 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69  del /Q tsrc\sqli
b8a0: 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72  te.h.in tsrc\par
b8b0: 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43  se.y 2>NUL..$(TC b8c0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c LSH_CMD)$(TOP)\
b8d0: 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65  tool\vdbe-compre
b8e0: 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 3c  ss.tcl $(OPTS) < b8f0: 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 tsrc\vdbe.c > v b900: 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 dbe.new..move vd b910: 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65 be.new tsrc\vdbe b920: 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 .c..echo > .targ b930: 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 et_source..sqlit b940: 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f e3.c:..target_so b950: 75 72 63 65 20 73 71 6c 69 74 65 33 65 78 74 2e urce sqlite3ext. b960: 68 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 h$(MKSQLITE3C_T
b970: 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d  OOL)..$(TCLSH_CM b980: 44 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f D)$(MKSQLITE3C_
b990: 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45  TOOL) $(MKSQLITE b9a0: 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 24 3C_ARGS)..copy$
b9b0: 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f  (TOP)\ext\sessio
b9c0: 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  n\sqlite3session
b9d0: 2e 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61 6c  .h ...sqlite3-al
b9e0: 6c 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63 20 24  l.c:.sqlite3.c $b9f0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 (TOP)\tool\split ba00: 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 24 -sqlite3c.tcl..$
ba10: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO ba20: 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 P)\tool\split-sq ba30: 6c 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f lite3c.tcl.# <</ ba40: 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 mark>>..# Rule t ba50: 6f 20 62 75 69 6c 64 20 74 68 65 20 61 6d 61 6c o build the amal ba60: 67 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 gamation.#.sqlit ba70: 65 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 33 e3.lo:.$(SQLITE3
ba80: 43 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  C)..$(LTCOMPILE) ba90: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
baa0: 4f 50 54 53 29 20 2d 63 20 24 28 53 51 4c 49 54  OPTS) -c $(SQLIT bab0: 45 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e E3C)..# <<mark>> bac0: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c .# Rules to buil bad0: 64 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 d the LEMON comp bae0: 69 6c 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 23 iler generator.# baf0: 0a 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f 50 .lempar.c:.$(TOP
bb00: 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a  )\tool\lempar.c.
bb10: 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f 6f  .copy $(TOP)\too bb20: 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65 l\lempar.c ...le bb30: 6d 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c mon.exe:.$(TOP)\
bb40: 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d  tool\lemon.c lem
bb50: 70 61 72 2e 63 0a 09 24 28 42 43 43 29 20 24 28  par.c..$(BCC)$(
bb60: 4e 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63 65 73  NO_WARN) -Dacces
bb70: 73 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d 46  s=_access \...-F
bb80: 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  e$@$(TOP)\tool\
bb90: 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28  lemon.c /link $( bba0: 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 LDFLAGS)$(NLTLI
bbb0: 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42  NKOPTS) $(NLTLIB bbc0: 50 41 54 48 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b PATHS)..# <<mark bbd0: 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 >>.# Rules to bu bbe0: 69 6c 64 20 74 68 65 20 73 6f 75 72 63 65 2d 69 ild the source-i bbf0: 64 20 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c d generator tool bc00: 0a 23 0a 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 .#.mksourceid.ex bc10: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d e:.$(TOP)\tool\m
bc20: 6b 73 6f 75 72 63 65 69 64 2e 63 0a 09 24 28 42  ksourceid.c..$(B bc30: 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d CC)$(NO_WARN) -
bc40: 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  Fe$@$(TOP)\tool
bc50: 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 20 2f 6c  \mksourceid.c /l
bc60: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
bc70: 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  (NLTLINKOPTS) $( bc80: 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 NLTLIBPATHS)..# bc90: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 Rules to build i bca0: 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 ndividual *.lo f bcb0: 69 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 iles from genera bcc0: 74 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 ted *.c files. T bcd0: 68 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f his.# applies to bce0: 3a 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e :.#.# parse. bcf0: 6c 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73 lo.# opcodes bd00: 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 .lo.#.parse.lo:. bd10: 70 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09 parse.c$(HDR)..
bd20: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
bd30: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
bd40: 29 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70  ) -c parse.c..op
bd50: 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65  codes.lo:.opcode
bd60: 73 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  s.c..$(LTCOMPILE bd70: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
bd80: 5f 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65  _OPTS) -c opcode
bd90: 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  s.c.# <</mark>>.
bda0: 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64  .# Rule to build
bdb0: 20 74 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75   the Win32 resou
bdc0: 72 63 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65  rces object file
bdd0: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43  ..#.!IF $(USE_RC bde0: 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e )!=0.# <<block1> bdf0: 3e 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a >.$(LIBRESOBJS):
be00: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69  .$(TOP)\src\sqli be10: 74 65 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33 te3.rc$(SQLITE3
be20: 48 29 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66  H)..echo #ifndef
be30: 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45   SQLITE_RESOURCE
be40: 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74  _VERSION > sqlit
be50: 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25  e3rc.h..for /F %
be60: 25 56 20 69 6e 20 28 27 74 79 70 65 20 22 24 28  %V in ('type "$( be70: 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 TOP)\VERSION"') be80: 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64 do ( \...echo #d be90: 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53 efine SQLITE_RES bea0: 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25 OURCE_VERSION %% beb0: 56 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 V \....|$(TCLSH
bec0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too bed0: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 l\replace.tcl ex bee0: 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69 act . ^, >> sqli bef0: 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63 te3rc.h \..)..ec bf00: 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c ho #endif >> sql bf10: 69 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43 ite3rc.h..$(LTRC
bf20: 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49  OMPILE) -fo $(LI bf30: 42 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29 BRESOBJS)$(TOP)
bf40: 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a  \src\sqlite3.rc.
bf50: 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45  # <</block1>>.!E
bf60: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
bf70: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
bf80: 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c  d individual *.l
bf90: 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c  o files from fil
bfa0: 65 73 20 69 6e 20 74 68 65 20 73 72 63 20 64 69  es in the src di
bfb0: 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72  rectory..#.alter
bfc0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ bfd0: 61 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09 alter.c$(HDR)..
bfe0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
bff0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c000: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ c010: 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 alter.c..analyze c020: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
c030: 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29  analyze.c $(HDR) c040: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c050: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP c060: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
c070: 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74  c\analyze.c..att
c080: 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ach.lo:.$(TOP)\s c090: 72 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44 rc\attach.c$(HD
c0a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) c0b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
c0c0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ c0d0: 73 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75 src\attach.c..au c0e0: 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 th.lo:.$(TOP)\sr
c0f0: 63 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a  c\auth.c $(HDR). c100: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( c110: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT c120: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
c130: 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e  \auth.c..backup.
c140: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62  lo:.$(TOP)\src\b c150: 61 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09 ackup.c$(HDR)..
c160: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
c170: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c180: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ c190: 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 backup.c..bitvec c1a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
c1b0: 62 69 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a  bitvec.c $(HDR). c1c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( c1d0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT c1e0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
c1f0: 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74  \bitvec.c..btmut
c200: 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ex.lo:.$(TOP)\sr c210: 63 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44 c\btmutex.c$(HD
c220: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) c230: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
c240: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ c250: 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62 src\btmutex.c..b c260: 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c tree.lo:.$(TOP)\
c270: 73 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44  src\btree.c $(HD c280: 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 R)$(TOP)\src\pa
c290: 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49  ger.h..$(LTCOMPI c2a0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
c2b0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO c2c0: 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a P)\src\btree.c.. c2d0: 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 build.lo:.$(TOP)
c2e0: 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48  \src\build.c $(H c2f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
c300: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE c310: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
c320: 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61  \src\build.c..ca
c330: 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50  llback.lo:.$(TOP c340: 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 )\src\callback.c c350: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM c360: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
c370: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( c380: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 TOP)\src\callbac c390: 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f k.c..complete.lo c3a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d :.$(TOP)\src\com
c3b0: 70 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09  plete.c $(HDR).. c3c0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C c3d0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS c3e0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
c3f0: 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d  complete.c..ctim
c400: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src c410: 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a \ctime.c$(HDR).
c420: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
c430: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c440: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src c450: 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c \ctime.c..date.l c460: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 o:.$(TOP)\src\da
c470: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
c480: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE c490: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - c4a0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 c$(TOP)\src\dat
c4b0: 65 2e 63 0a 0a 64 62 70 61 67 65 2e 6c 6f 3a 09  e.c..dbpage.lo:.
c4c0: 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61 67  $(TOP)\src\dbpag c4d0: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 e.c$(HDR)..$(LT c4e0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
c4f0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c500: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 70 61   $(TOP)\src\dbpa c510: 67 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a ge.c..dbstat.lo: c520: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 .$(TOP)\src\dbst
c530: 61 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  at.c $(HDR)..$(L
c540: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE c550: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - c560: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 c$(TOP)\src\dbs
c570: 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f  tat.c..delete.lo
c580: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c  :.$(TOP)\src\del c590: 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ete.c$(HDR)..$( c5a0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
c5b0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
c5c0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65  -c $(TOP)\src\de c5d0: 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a lete.c..expr.lo: c5e0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 .$(TOP)\src\expr
c5f0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c600: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C c610: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c c620: 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e$(TOP)\src\expr.
c630: 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54  c..fault.lo:.$(T c640: 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 OP)\src\fault.c c650: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP c660: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
c670: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T c680: 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a OP)\src\fault.c. c690: 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 .fkey.lo:.$(TOP)
c6a0: 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24 28 48 44  \src\fkey.c $(HD c6b0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c6c0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c6d0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c6e0: 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63  src\fkey.c..func
c6f0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ c700: 66 75 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24 func.c$(HDR)..$c710: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
c720: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c730: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66   -c $(TOP)\src\f c740: 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f unc.c..global.lo c750: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f :.$(TOP)\src\glo
c760: 62 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28  bal.c $(HDR)..$(
c770: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR c780: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) c790: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c -c$(TOP)\src\gl
c7a0: 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a  obal.c..hash.lo:
c7b0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68  .$(TOP)\src\hash c7c0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC c7d0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
c7e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
c7f0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e  $(TOP)\src\hash. c800: 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 c..insert.lo:.$(
c810: 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e  TOP)\src\insert.
c820: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c830: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO c840: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
c850: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74  (TOP)\src\insert
c860: 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24  .c..legacy.lo:.$c870: 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 (TOP)\src\legacy c880: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC c890: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
c8a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
c8b0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63  $(TOP)\src\legac c8c0: 79 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a y.c..loadext.lo: c8d0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 .$(TOP)\src\load
c8e0: 65 78 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ext.c $(HDR)..$(
c8f0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR c900: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) c910: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f -c$(TOP)\src\lo
c920: 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f  adext.c..main.lo
c930: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69  :.$(TOP)\src\mai c940: 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 n.c$(HDR)..$(LT c950: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
c960: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c970: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e   $(TOP)\src\main c980: 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 .c..malloc.lo:.$
c990: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63  (TOP)\src\malloc
c9a0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c9b0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C c9c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c c9d0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f$(TOP)\src\mallo
c9e0: 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28  c.c..mem0.lo:.$( c9f0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 TOP)\src\mem0.c ca00: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP ca10: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
ca20: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T ca30: 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a OP)\src\mem0.c.. ca40: 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c mem1.lo:.$(TOP)\
ca50: 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52  src\mem1.c $(HDR ca60: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
ca70: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O ca80: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
ca90: 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e  rc\mem1.c..mem2.
caa0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d  lo:.$(TOP)\src\m cab0: 65 6d 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 em2.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 6d 65  -c $(TOP)\src\me caf0: 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 m2.c..mem3.lo:.$
cb00: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63  (TOP)\src\mem3.c
cb10: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cb20: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM cb30: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
cb40: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a  TOP)\src\mem3.c.
cb50: 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29  .mem5.lo:.$(TOP) cb60: 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44 \src\mem5.c$(HD
cb70: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) cb80: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
cb90: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ cba0: 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 6a src\mem5.c..memj cbb0: 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 ournal.lo:.$(TOP
cbc0: 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c  )\src\memjournal
cbd0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cbe0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C cbf0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c cc00: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f$(TOP)\src\memjo
cc10: 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c  urnal.c..mutex.l
cc20: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  o:.$(TOP)\src\mu cc30: 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 tex.c$(HDR)..$( cc40: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
cc50: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
cc60: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  -c $(TOP)\src\mu cc70: 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f tex.c..mutex_noo cc80: 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 p.lo:.$(TOP)\src
cc90: 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28  \mutex_noop.c $( cca0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
ccb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL ccc0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
ccd0: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70  )\src\mutex_noop
cce0: 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c  .c..mutex_unix.l
ccf0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  o:.$(TOP)\src\mu cd00: 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 tex_unix.c$(HDR
cd10: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) cd20: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
cd30: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s cd40: 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a rc\mutex_unix.c. cd50: 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 .mutex_w32.lo:.$
cd60: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
cd70: 77 33 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28  w32.c $(HDR)..$(
cd80: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR cd90: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) cda0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 -c$(TOP)\src\mu
cdb0: 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66  tex_w32.c..notif
cdc0: 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  y.lo:.$(TOP)\src cdd0: 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 44 52 29 \notify.c$(HDR)
cde0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
cdf0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ce00: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr ce10: 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 c\notify.c..page ce20: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 r.lo:.$(TOP)\src
ce30: 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52 29 20  \pager.c $(HDR) ce40: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72$(TOP)\src\pager
ce50: 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  .h..$(LTCOMPILE) ce60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
ce70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ ce80: 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 src\pager.c..pca ce90: 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 che.lo:.$(TOP)\s
cea0: 72 63 5c 70 63 61 63 68 65 2e 63 20 24 28 48 44  rc\pcache.c $(HD ceb0: 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 R)$(TOP)\src\pc
cec0: 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50  ache.h..$(LTCOMP ced0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
cee0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T cef0: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 OP)\src\pcache.c cf00: 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 ..pcache1.lo:.$(
cf10: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31  TOP)\src\pcache1
cf20: 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29  .c $(HDR)$(TOP)
cf30: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24  \src\pcache.h..$cf40: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
cf50: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cf60: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p cf70: 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a cache1.c..os.lo: cf80: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 .$(TOP)\src\os.c
cf90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
cfa0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM cfb0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
cfc0: 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f  TOP)\src\os.c..o
cfd0: 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50  s_unix.lo:.$(TOP cfe0: 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 )\src\os_unix.c cff0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP d000: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
d010: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T d020: 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e OP)\src\os_unix. d030: 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 c..os_win.lo:.$(
d040: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e  TOP)\src\os_win.
d050: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d060: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO d070: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
d080: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
d090: 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24  .c..pragma.lo:.$d0a0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 (TOP)\src\pragma d0b0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC d0c0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
d0d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
d0e0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d  $(TOP)\src\pragm d0f0: 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a a.c..prepare.lo: d100: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 .$(TOP)\src\prep
d110: 61 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  are.c $(HDR)..$(
d120: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR d130: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) d140: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 -c$(TOP)\src\pr
d150: 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e  epare.c..printf.
d160: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p d170: 72 69 6e 74 66 2e 63 20 24 28 48 44 52 29 0a 09 rintf.c$(HDR)..
d180: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
d190: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d1a0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ d1b0: 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d printf.c..random d1c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
d1d0: 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a  random.c $(HDR). d1e0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d1f0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d200: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d210: 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c  \random.c..resol
d220: 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ve.lo:.$(TOP)\sr d230: 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 c\resolve.c$(HD
d240: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) d250: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
d260: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ d270: 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 src\resolve.c..r d280: 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 owset.lo:.$(TOP)
d290: 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 24 28  \src\rowset.c $( d2a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d2b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d2c0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
d2d0: 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a  )\src\rowset.c..
d2e0: 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50  select.lo:.$(TOP d2f0: 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 )\src\select.c$
d300: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d310: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d320: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d330: 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a P)\src\select.c. d340: 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f .status.lo:.$(TO
d350: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20  P)\src\status.c
d360: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d370: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP d380: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
d390: 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63  OP)\src\status.c
d3a0: 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f  ..table.lo:.$(TO d3b0: 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 P)\src\table.c$
d3c0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d3d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d3e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d3f0: 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a P)\src\table.c.. d400: 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f threads.lo:.$(TO
d410: 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63  P)\src\threads.c
d420: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
d430: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM d440: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
d450: 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73  TOP)\src\threads
d460: 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a  .c..tokenize.lo:
d470: 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65  .$(TOP)\src\toke d480: 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 nize.c keywordha d490: 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28 4c sh.h$(HDR)..$(L d4a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d4b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d4c0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b  c $(TOP)\src\tok d4d0: 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 enize.c..treevie d4e0: 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 w.lo:.$(TOP)\src
d4f0: 5c 74 72 65 65 76 69 65 77 2e 63 20 24 28 48 44  \treeview.c $(HD d500: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d510: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d520: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
d530: 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a  src\treeview.c..
d540: 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f  trigger.lo:.$(TO d550: 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 P)\src\trigger.c d560: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM d570: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
d580: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( d590: 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 TOP)\src\trigger d5a0: 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 .c..update.lo:.$
d5b0: 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65  (TOP)\src\update
d5c0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d5d0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C d5e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c d5f0: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74$(TOP)\src\updat
d600: 65 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54  e.c..utf.lo:.$(T d610: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 OP)\src\utf.c$(
d620: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d630: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d640: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d650: 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 )\src\utf.c..uti d660: 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 l.lo:.$(TOP)\src
d670: 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 29 0a 09  \util.c $(HDR).. d680: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d690: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d6a0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d6b0: 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c  util.c..vacuum.l
d6c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 61  o:.$(TOP)\src\va d6d0: 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 cuum.c$(HDR)..$d6e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d6f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d700: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v d710: 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f acuum.c..vdbe.lo d720: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 :.$(TOP)\src\vdb
d730: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
d740: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d750: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d760: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
d770: 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09  .c..vdbeapi.lo:.
d780: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea d790: 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c pi.c$(HDR)..$(L d7a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d7b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
d7c0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb d7d0: 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e eapi.c..vdbeaux. d7e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 lo:.$(TOP)\src\v
d7f0: 64 62 65 61 75 78 2e 63 20 24 28 48 44 52 29 0a  dbeaux.c $(HDR). d800: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d810: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d820: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d830: 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 64 62 65  \vdbeaux.c..vdbe
d840: 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  blob.lo:.$(TOP)\ d850: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 src\vdbeblob.c$
d860: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d870: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d880: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d890: 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e P)\src\vdbeblob. d8a0: 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 c..vdbemem.lo:.$
d8b0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65  (TOP)\src\vdbeme
d8c0: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
d8d0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d8e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c d8f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
d900: 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e  mem.c..vdbesort.
d910: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v d920: 64 62 65 73 6f 72 74 2e 63 20 24 28 48 44 52 29 dbesort.c$(HDR)
d930: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
d940: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d950: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr d960: 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 c\vdbesort.c..vd d970: 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f betrace.lo:.$(TO
d980: 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65  P)\src\vdbetrace
d990: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
d9a0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C d9b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c d9c0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74$(TOP)\src\vdbet
d9d0: 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a  race.c..vtab.lo:
d9e0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62  .$(TOP)\src\vtab d9f0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC da00: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
da10: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
da20: 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e  $(TOP)\src\vtab. da30: 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 c..wal.lo:.$(TOP
da40: 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28 48 44  )\src\wal.c $(HD da50: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
da60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ da70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
da80: 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65  src\wal.c..walke
da90: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src daa0: 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 \walker.c$(HDR)
dab0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
dac0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
dad0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr dae0: 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 c\walker.c..wher daf0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
db00: 5c 77 68 65 72 65 2e 63 20 24 28 48 44 52 29 0a  \where.c $(HDR). db10: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( db20: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT db30: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
db40: 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 72 65 63  \where.c..wherec
db50: 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ode.lo:.$(TOP)\s db60: 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 24 rc\wherecode.c$
db70: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI db80: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
db90: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO dba0: 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 P)\src\wherecode dbb0: 2e 63 0a 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f .c..whereexpr.lo dbc0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 :.$(TOP)\src\whe
dbd0: 72 65 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a  reexpr.c $(HDR). dbe0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( dbf0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT dc00: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
dc10: 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 74 63  \whereexpr.c..tc
dc20: 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f  lsqlite.lo:.$(TO dc30: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 P)\src\tclsqlite dc40: 2e 63 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 .c$(HDR) $(SQLI dc50: 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c TE_TCL_DEP)..$(L
dc60: 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57  TCOMPILE) $(NO_W dc70: 41 52 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53 ARN) -DUSE_TCL_S dc80: 54 55 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73 TUBS=1 -DBUILD_s dc90: 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 qlite -I$(TCLINC
dca0: 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  DIR) -c $(TOP)\s dcb0: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a rc\tclsqlite.c.. dcc0: 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e tclsqlite-shell. dcd0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 lo:.$(TOP)\src\t
dce0: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52  clsqlite.c $(HDR dcf0: 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 )$(SQLITE_TCL_D
dd00: 45 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  EP)..$(LTCOMPILE dd10: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 )$(NO_WARN) -DT
dd20: 43 4c 53 48 20 2d 44 42 55 49 4c 44 5f 73 71 6c  CLSH -DBUILD_sql
dd30: 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI dd40: 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 R) -c$(TOP)\src
dd50: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63  \tclsqlite.c..tc
dd60: 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 63  lsqlite3.exe:.tc
dd70: 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f  lsqlite-shell.lo
dd80: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
dd90: 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45  QLITE3H) $(LIBRE dda0: 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b SOBJS)..$(LTLINK
ddb0: 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  ) $(SQLITE3C) /l ddc0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $ddd0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c (LTLINKOPTS)$(L
dde0: 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a  TLIBPATHS) /OUT:
ddf0: 24 40 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65  $@ tclsqlite-she de00: 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42 ll.lo$(LIBRESOB
de10: 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  JS) $(LTLIBS)$(
de20: 54 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20  TLIBS)..# Rules
de30: 74 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73  to build opcodes
de40: 2e 63 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68  .c and opcodes.h
de50: 0a 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70  .#.opcodes.c:.op
de60: 63 6f 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74  codes.h $(TOP)\t de70: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 ool\mkopcodec.tc de80: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 l..$(TCLSH_CMD)
de90: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70  $(TOP)\tool\mkop dea0: 63 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 codec.tcl opcode deb0: 73 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a s.h > opcodes.c. dec0: 0a 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 .opcodes.h:.pars ded0: 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 e.h$(TOP)\src\v
dee0: 64 62 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f  dbe.c $(TOP)\too def0: 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a l\mkopcodeh.tcl. df00: 09 74 79 70 65 20 70 61 72 73 65 2e 68 20 24 28 .type parse.h$(
df10: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20  TOP)\src\vdbe.c
df20: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD)$
df30: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63  (TOP)\tool\mkopc
df40: 6f 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64  odeh.tcl > opcod
df50: 65 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f  es.h..# Rules to
df60: 20 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61   build parse.c a
df70: 6e 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65  nd parse.h - the
df80: 20 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f   outputs of lemo
df90: 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61  n..#.parse.h:.pa
dfa0: 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09  rse.c..parse.c:.
dfb0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65  $(TOP)\src\parse dfc0: 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 .y lemon.exe$(T
dfd0: 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f  OP)\tool\addopco
dfe0: 64 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20  des.tcl..del /Q
dff0: 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20  parse.y parse.h
e000: 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e  parse.h.temp 2>N
e010: 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c  UL..copy $(TOP)\ e020: 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e src\parse.y .... e030: 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 \lemon.exe$(REQ
e040: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
e050: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL e060: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 AGS)$(EXT_FEATU
e070: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53  RE_FLAGS) $(OPTS e080: 29 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 ) parse.y..move e090: 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e parse.h parse.h. e0a0: 74 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d temp..$(TCLSH_CM
e0b0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61  D) $(TOP)\tool\a e0c0: 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 ddopcodes.tcl pa e0d0: 72 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 rse.h.temp > par e0e0: 73 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 se.h..$(SQLITE3H
e0f0: 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  ):.$(TOP)\src\sq e100: 6c 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 lite.h.in$(TOP)
e110: 5c 6d 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72  \manifest mksour
e120: 63 65 69 64 2e 65 78 65 20 24 28 54 4f 50 29 5c  ceid.exe $(TOP)\ e130: 56 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 VERSION..$(TCLSH
e140: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too e150: 6c 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c l\mksqlite3h.tcl e160: 20 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28$(TOP:\=/) > $( e170: 53 51 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 51 SQLITE3H)$(MKSQ
e180: 4c 49 54 45 33 48 5f 41 52 47 53 29 0a 0a 73 71  LITE3H_ARGS)..sq
e190: 6c 69 74 65 33 65 78 74 2e 68 3a 09 2e 74 61 72  lite3ext.h:..tar
e1a0: 67 65 74 5f 73 6f 75 72 63 65 0a 21 49 46 20 24  get_source.!IF $e1b0: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 (USE_STDCALL)!=0 e1c0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 ||$(FOR_WIN10)
e1d0: 21 3d 30 0a 09 74 79 70 65 20 74 73 72 63 5c 73  !=0..type tsrc\s
e1e0: 71 6c 69 74 65 33 65 78 74 2e 68 20 7c 20 24 28  qlite3ext.h | $( e1f0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
e200: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
e210: 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 5c  cl regsub "\(\*\
e220: 29 22 20 22 28 53 51 4c 49 54 45 5f 43 41 4c 4c  )" "(SQLITE_CALL
e230: 42 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20 24  BACK *)" \...| $e240: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
e250: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
e260: 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a  tcl regsub "\(\*
e270: 22 20 22 28 53 51 4c 49 54 45 5f 41 50 49 43 41  " "(SQLITE_APICA
e280: 4c 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65 33 65  LL *" > sqlite3e
e290: 78 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73 71  xt.h..copy /Y sq
e2a0: 6c 69 74 65 33 65 78 74 2e 68 20 74 73 72 63 5c  lite3ext.h tsrc\
e2b0: 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4c  sqlite3ext.h.!EL
e2c0: 53 45 0a 09 63 6f 70 79 20 2f 59 20 74 73 72 63  SE..copy /Y tsrc
e2d0: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73 71  \sqlite3ext.h sq
e2e0: 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4e 44 49  lite3ext.h.!ENDI
e2f0: 46 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68  F..mkkeywordhash
e300: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too e310: 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e l\mkkeywordhash. e320: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 c..$(BCC) $(NO_W e330: 41 52 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 ARN) -Fe$@ $(REQ e340: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) e350: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c$(OPT_FEATURE_FL
e360: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU e370: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 RE_FLAGS)$(OPTS
e380: 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  ) \...$(TOP)\too e390: 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e l\mkkeywordhash. e3a0: 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 c /link$(LDFLAG
e3b0: 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53  S) $(NLTLINKOPTS e3c0: 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 )$(NLTLIBPATHS)
e3d0: 0a 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a  ..keywordhash.h:
e3e0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b  .$(TOP)\tool\mkk e3f0: 65 79 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b eywordhash.c mkk e400: 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 eywordhash.exe.. e410: 2e 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e .\mkkeywordhash. e420: 65 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 exe > keywordhas e430: 68 2e 68 0a 0a 23 20 53 6f 75 72 63 65 20 66 69 h.h..# Source fi e440: 6c 65 73 20 74 68 61 74 20 67 6f 20 69 6e 74 6f les that go into e450: 20 6d 61 6b 69 6e 67 20 73 68 65 6c 6c 2e 63 0a making shell.c. e460: 53 48 45 4c 4c 5f 53 52 43 20 3d 20 5c 0a 09 24 SHELL_SRC = \..$
e470: 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e  (TOP)\src\shell.
e480: 63 2e 69 6e 20 5c 0a 09 24 28 54 4f 50 29 5c 65  c.in \..$(TOP)\e e490: 78 74 5c 6d 69 73 63 5c 73 68 61 74 68 72 65 65 xt\misc\shathree e4a0: 2e 63 20 5c 0a 09 24 28 54 4f 50 29 5c 65 78 74 .c \..$(TOP)\ext
e4b0: 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c  \misc\fileio.c \
e4c0: 0a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  ..$(TOP)\ext\mis e4d0: 63 5c 63 6f 6d 70 6c 65 74 69 6f 6e 2e 63 0a 0a c\completion.c.. e4e0: 73 68 65 6c 6c 2e 63 3a 09 24 28 53 48 45 4c 4c shell.c:.$(SHELL
e4f0: 5f 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _SRC) $(TOP)\too e500: 6c 5c 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 0a 09 l\mkshellc.tcl.. e510: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T e520: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 68 65 6c 6c OP)\tool\mkshell e530: 63 2e 74 63 6c 20 3e 20 73 68 65 6c 6c 2e 63 0a c.tcl > shell.c. e540: 0a 7a 6c 69 62 3a 0a 09 70 75 73 68 64 20 24 28 .zlib:..pushd$(
e550: 5a 4c 49 42 44 49 52 29 20 26 26 20 24 28 4d 41  ZLIBDIR) && $(MA e560: 4b 45 29 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b KE) /f win32\Mak e570: 65 66 69 6c 65 2e 6d 73 63 20 24 28 5a 4c 49 42 efile.msc$(ZLIB
e580: 4c 49 42 29 20 26 26 20 70 6f 70 64 0a 0a 23 20  LIB) && popd..#
e590: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74  Rules to build t
e5a0: 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a  he extension obj
e5b0: 65 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09  ects..#.icu.lo:.
e5c0: 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69  $(TOP)\ext\icu\i e5d0: 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 cu.c$(HDR) $(EX e5e0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
e5f0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI e600: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
e610: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
e620: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ e630: 69 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e icu\icu.c..fts2. e640: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 lo:.$(TOP)\ext\f
e650: 74 73 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52  ts2\fts2.c $(HDR e660: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L e670: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
e680: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $e690: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI e6a0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
e6b0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e  )\ext\fts2\fts2.
e6c0: 63 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a  c..fts2_hash.lo:
e6d0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32  .$(TOP)\ext\fts2 e6e0: 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48 \fts2_hash.c$(H
e6f0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
e700: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO e710: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) e720: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
e730: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T e740: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts e750: 32 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69 2_hash.c..fts2_i e760: 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 cu.lo:.$(TOP)\ex
e770: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e  t\fts2\fts2_icu.
e780: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
e790: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e7a0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e7b0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) e7c0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - e7d0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
e7e0: 32 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74  2\fts2_icu.c..ft
e7f0: 73 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28  s2_porter.lo:.$( e800: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft e810: 73 32 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 s2_porter.c$(HD
e820: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
e830: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR e840: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) e850: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
e860: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO e870: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 e880: 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f _porter.c..fts2_ e890: 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 tokenizer.lo:.$(
e8a0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
e8b0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24  s2_tokenizer.c $e8c0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
e8d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
e8e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
e8f0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D e900: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
e910: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
e920: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a  ts2_tokenizer.c.
e930: 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31  .fts2_tokenizer1
e940: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ e950: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 fts2\fts2_tokeni e960: 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 zer1.c$(HDR) $( e970: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
e980: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM e990: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
e9a0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
e9b0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex e9c0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 t\fts2\fts2_toke e9d0: 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c nizer1.c..fts3.l e9e0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 o:.$(TOP)\ext\ft
e9f0: 73 33 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29  s3\fts3.c $(HDR) ea00: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT ea10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
ea20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( ea30: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT ea40: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
ea50: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63  \ext\fts3\fts3.c
ea60: 0a 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24  ..fts3_aux.lo:.$ea70: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f ea80: 74 73 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29 ts3_aux.c$(HDR)
ea90: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
eaa0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ eab0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
eac0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
ead0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) eae0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 \ext\fts3\fts3_a eaf0: 75 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e ux.c..fts3_expr. eb00: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 lo:.$(TOP)\ext\f
eb10: 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20  ts3\fts3_expr.c
eb20: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
eb30: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
eb40: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
eb50: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - eb60: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c eb70: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
eb80: 66 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73  fts3_expr.c..fts
eb90: 33 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50  3_hash.lo:.$(TOP eba0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ ebb0: 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 hash.c$(HDR) $( ebc0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
ebd0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM ebe0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
ebf0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
ec00: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex ec10: 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 t\fts3\fts3_hash ec20: 2e 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a .c..fts3_icu.lo: ec30: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 .$(TOP)\ext\fts3
ec40: 5c 66 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44  \fts3_icu.c $(HD ec50: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( ec60: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
ec70: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
ec80: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL ec90: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
eca0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
ecb0: 5f 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69  _icu.c..fts3_sni
ecc0: 70 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ppet.lo:.$(TOP)\ ecd0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e ext\fts3\fts3_sn ece0: 69 70 70 65 74 2e 63 20 24 28 48 44 52 29 20 24 ippet.c$(HDR) $ecf0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f (EXTHDR)..$(LTCO
ed00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO ed10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f MPILE_OPTS)$(NO
ed20: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
ed30: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e ed40: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 xt\fts3\fts3_sni ed50: 70 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 ppet.c..fts3_por ed60: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 ter.lo:.$(TOP)\e
ed70: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72  xt\fts3\fts3_por
ed80: 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45  ter.c $(HDR)$(E
ed90: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP eda0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
edb0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W edc0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO edd0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
ede0: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
edf0: 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69  r.c..fts3_tokeni
ee00: 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  zer.lo:.$(TOP)\e ee10: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b xt\fts3\fts3_tok ee20: 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 enizer.c$(HDR)
ee30: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
ee40: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C ee50: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
ee60: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
ee70: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ ee80: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f ext\fts3\fts3_to ee90: 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f kenizer.c..fts3_ eea0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 tokenizer1.lo:.$
eeb0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
eec0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts3_tokenizer1.c
eed0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
eee0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) eef0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
ef00: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) ef10: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c ef20: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
ef30: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts3_tokenizer1
ef40: 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a  .c..fts3_tokeniz
ef50: 65 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50  e_vtab.lo:.$(TOP ef60: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ ef70: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 tokenize_vtab.c ef80: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) ef90: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $efa0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP efb0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
efc0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
efd0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ efe0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 fts3_tokenize_vt eff0: 61 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f ab.c..fts3_unico f000: 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 de.lo:.$(TOP)\ex
f010: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
f020: 6f 64 65 2e 63 20 24 28 48 44 52 29 20 24 28 45  ode.c $(HDR)$(E
f030: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP f040: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
f050: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W f060: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO f070: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
f080: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
f090: 64 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f  de.c..fts3_unico
f0a0: 64 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  de2.lo:.$(TOP)\e f0b0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 xt\fts3\fts3_uni f0c0: 63 6f 64 65 32 2e 63 20 24 28 48 44 52 29 20 24 code2.c$(HDR) $f0d0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f (EXTHDR)..$(LTCO
f0e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO f0f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f MPILE_OPTS)$(NO
f100: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
f110: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e f120: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 xt\fts3\fts3_uni f130: 63 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72 code2.c..fts3_wr f140: 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 ite.lo:.$(TOP)\e
f150: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69  xt\fts3\fts3_wri
f160: 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  te.c $(HDR)$(EX
f170: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI f180: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
f190: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA f1a0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR f1b0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
f1c0: 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e  fts3\fts3_write.
f1d0: 63 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54  c..rtree.lo:.$(T f1e0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 OP)\ext\rtree\rt f1f0: 72 65 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 ree.c$(HDR) $(E f200: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
f210: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP f220: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
f230: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
f240: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext f250: 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a \rtree\rtree.c.. f260: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c sqlite3session.l f270: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 o:.$(TOP)\ext\se
f280: 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73  ssion\sqlite3ses
f290: 73 69 6f 6e 2e 63 20 24 28 48 44 52 29 20 24 28  sion.c $(HDR)$(
f2a0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM f2b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
f2c0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ f2d0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C f2e0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
f2f0: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65  t\session\sqlite
f300: 33 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 46 54  3session.c..# FT
f310: 53 35 20 74 68 69 6e 67 73 0a 23 0a 46 54 53 35  S5 things.#.FTS5
f320: 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f  _SRC = \.   $(TO f330: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 P)\ext\fts5\fts5 f340: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .h \.$(TOP)\e
f350: 78 74 5c 66 74 73 35 5c 66 74 73 35 49 6e 74 2e  xt\fts5\fts5Int.
f360: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  h \.   $(TOP)\ex f370: 74 5c 66 74 73 35 5c 66 74 73 35 5f 61 75 78 2e t\fts5\fts5_aux. f380: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 c \.$(TOP)\ex
f390: 74 5c 66 74 73 35 5c 66 74 73 35 5f 62 75 66 66  t\fts5\fts5_buff
f3a0: 65 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  er.c \.   $(TOP) f3b0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 6d \ext\fts5\fts5_m f3c0: 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 ain.c \.$(TOP
f3d0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
f3e0: 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 20 24 28  config.c \.   $( f3f0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 TOP)\ext\fts5\ft f400: 73 35 5f 65 78 70 72 2e 63 20 5c 0a 20 20 20 24 s5_expr.c \.$
f410: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
f420: 74 73 35 5f 68 61 73 68 2e 63 20 5c 0a 20 20 20  ts5_hash.c \.
f430: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\ f440: 66 74 73 35 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 fts5_index.c \. f450: 20 20 66 74 73 35 70 61 72 73 65 2e 63 20 66 74 fts5parse.c ft f460: 73 35 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 s5parse.h \.$
f470: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
f480: 74 73 35 5f 73 74 6f 72 61 67 65 2e 63 20 5c 0a  ts5_storage.c \.
f490: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft f4a0: 73 35 5c 66 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 s5\fts5_tokenize f4b0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
f4c0: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 75 6e 69  xt\fts5\fts5_uni
f4d0: 63 6f 64 65 32 2e 63 20 5c 0a 20 20 20 24 28 54  code2.c \.   $(T f4e0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts f4f0: 35 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 5_varint.c \. f500: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c$(TOP)\ext\fts5\
f510: 66 74 73 35 5f 76 6f 63 61 62 2e 63 0a 0a 4c 53  fts5_vocab.c..LS
f520: 4d 31 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24 28  M1_SRC = \.   $( f530: 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 TOP)\ext\lsm1\ls f540: 6d 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c m.h \.$(TOP)\
f550: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 49 6e 74 2e  ext\lsm1\lsmInt.
f560: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  h \.   $(TOP)\ex f570: 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 63 6b 70 74 2e t\lsm1\lsm_ckpt. f580: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 c \.$(TOP)\ex
f590: 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 66 69 6c 65 2e  t\lsm1\lsm_file.
f5a0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex f5b0: 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 6c 6f 67 2e 63 t\lsm1\lsm_log.c f5c0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
f5d0: 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 61 69 6e 2e 63  \lsm1\lsm_main.c
f5e0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext f5f0: 5c 6c 73 6d 31 5c 6c 73 6d 5f 6d 65 6d 2e 63 20 \lsm1\lsm_mem.c f600: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
f610: 6c 73 6d 31 5c 6c 73 6d 5f 6d 75 74 65 78 2e 63  lsm1\lsm_mutex.c
f620: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext f630: 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 68 61 72 65 64 \lsm1\lsm_shared f640: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
f650: 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 6f 72 74  xt\lsm1\lsm_sort
f660: 65 64 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ed.c \.   $(TOP) f670: 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 73 74 \ext\lsm1\lsm_st f680: 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c r.c \.$(TOP)\
f690: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 74 72 65  ext\lsm1\lsm_tre
f6a0: 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  e.c \.   $(TOP)\ f6b0: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 75 6e 69 ext\lsm1\lsm_uni f6c0: 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c x.c \.$(TOP)\
f6d0: 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 61 72  ext\lsm1\lsm_var
f6e0: 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  int.c \.   $(TOP f6f0: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 76 )\ext\lsm1\lsm_v f700: 74 61 62 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 tab.c \.$(TOP
f710: 29 5c 65 78 74 5c 6c 73 6d 31 5c 6c 73 6d 5f 77  )\ext\lsm1\lsm_w
f720: 69 6e 33 32 2e 63 0a 0a 66 74 73 35 70 61 72 73  in32.c..fts5pars
f730: 65 2e 63 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  e.c:.$(TOP)\ext\ f740: 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79 fts5\fts5parse.y f750: 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70 79 lemon.exe..copy f760: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35$(TOP)\ext\fts5
f770: 5c 66 74 73 35 70 61 72 73 65 2e 79 20 2e 0a 09  \fts5parse.y ...
f780: 64 65 6c 20 2f 51 20 66 74 73 35 70 61 72 73 65  del /Q fts5parse
f790: 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f  .h 2>NUL...\lemo
f7a0: 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41 54  n.exe $(REQ_FEAT f7b0: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 URE_FLAGS)$(OPT
f7c0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
f7d0: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(EXT_FEATURE_FL f7e0: 41 47 53 29 20 24 28 4f 50 54 53 29 20 66 74 73 AGS)$(OPTS) fts
f7f0: 35 70 61 72 73 65 2e 79 0a 0a 66 74 73 35 70 61  5parse.y..fts5pa
f800: 72 73 65 2e 68 3a 09 66 74 73 35 70 61 72 73 65  rse.h:.fts5parse
f810: 2e 63 0a 0a 66 74 73 35 2e 63 3a 09 24 28 46 54  .c..fts5.c:.$(FT f820: 53 35 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48 S5_SRC)..$(TCLSH
f830: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74  _CMD) $(TOP)\ext f840: 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 \fts5\tool\mkfts f850: 35 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 5c.tcl..copy$(T
f860: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
f870: 35 2e 68 20 2e 0a 0a 6c 73 6d 31 2e 63 3a 09 24  5.h ...lsm1.c:.$f880: 28 4c 53 4d 31 5f 53 52 43 29 0a 09 24 28 54 43 (LSM1_SRC)..$(TC
f890: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ f8a0: 65 78 74 5c 6c 73 6d 31 5c 74 6f 6f 6c 5c 6d 6b ext\lsm1\tool\mk f8b0: 6c 73 6d 31 63 2e 74 63 6c 0a 09 63 6f 70 79 20 lsm1c.tcl..copy f8c0: 24 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 5c$(TOP)\ext\lsm1\
f8d0: 6c 73 6d 2e 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f  lsm.h ...fts5.lo
f8e0: 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52 29 20  :.fts5.c $(HDR) f8f0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC f900: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
f910: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N f920: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE f930: 5f 43 4f 52 45 20 2d 63 20 66 74 73 35 2e 63 0a _CORE -c fts5.c. f940: 0a 66 74 73 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 .fts5_ext.lo:.ft f950: 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 s5.c$(HDR) $(EX f960: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
f970: 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  LE) $(NO_WARN) - f980: 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 2e 64 c fts5.c..fts5.d f990: 6c 6c 3a 09 66 74 73 35 5f 65 78 74 2e 6c 6f 0a ll:.fts5_ext.lo. f9a0: 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 .$(LD) $(LDFLAGS f9b0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 )$(LTLINKOPTS)
f9c0: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44  $(LTLIBPATHS) /D f9d0: 4c 4c 20 2f 4f 55 54 3a 24 40 20 66 74 73 35 5f LL /OUT:$@ fts5_
f9e0: 65 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65 33 72  ext.lo..sqlite3r
f9f0: 62 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  bu.lo:.$(TOP)\ex fa00: 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 t\rbu\sqlite3rbu fa10: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 .c$(HDR) $(EXTH fa20: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
fa30: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE
fa40: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  -c $(TOP)\ext\rb fa50: 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 0a 0a u\sqlite3rbu.c.. fa60: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 # Rules to build fa70: 20 74 68 65 20 27 74 65 73 74 66 69 78 74 75 72 the 'testfixtur fa80: 65 27 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a e' application.. fa90: 23 0a 23 20 49 66 20 75 73 69 6e 67 20 74 68 65 #.# If using the faa0: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 amalgamation, u fab0: 73 65 20 73 71 6c 69 74 65 33 2e 63 20 64 69 72 se sqlite3.c dir fac0: 65 63 74 6c 79 20 74 6f 20 62 75 69 6c 64 20 74 ectly to build t fad0: 68 65 20 74 65 73 74 0a 23 20 66 69 78 74 75 72 he test.# fixtur fae0: 65 2e 20 20 4f 74 68 65 72 77 69 73 65 20 6c 69 e. Otherwise li faf0: 6e 6b 20 61 67 61 69 6e 73 74 20 6c 69 62 73 71 nk against libsq fb00: 6c 69 74 65 33 2e 6c 69 62 2e 20 20 28 54 68 69 lite3.lib. (Thi fb10: 73 20 64 69 73 74 69 6e 63 74 69 6f 6e 20 69 73 s distinction is fb20: 0a 23 20 6e 65 63 65 73 73 61 72 79 20 62 65 63 .# necessary bec fb30: 61 75 73 65 20 74 68 65 20 74 65 73 74 20 66 69 ause the test fi fb40: 78 74 75 72 65 20 72 65 71 75 69 72 65 73 20 6e xture requires n fb50: 6f 6e 2d 41 50 49 20 73 79 6d 62 6f 6c 73 20 77 on-API symbols w fb60: 68 69 63 68 20 61 72 65 0a 23 20 68 69 64 64 65 hich are.# hidde fb70: 6e 20 77 68 65 6e 20 74 68 65 20 6c 69 62 72 61 n when the libra fb80: 72 79 20 69 73 20 62 75 69 6c 74 20 76 69 61 20 ry is built via fb90: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e the amalgamation fba0: 29 2e 0a 23 0a 54 45 53 54 46 49 58 54 55 52 45 )..#.TESTFIXTURE fbb0: 5f 46 4c 41 47 53 20 3d 20 2d 44 54 43 4c 53 48 _FLAGS = -DTCLSH fbc0: 5f 49 4e 49 54 5f 50 52 4f 43 3d 73 71 6c 69 74 _INIT_PROC=sqlit fbd0: 65 33 54 65 73 74 49 6e 69 74 20 2d 44 53 51 4c e3TestInit -DSQL fbe0: 49 54 45 5f 54 45 53 54 3d 31 20 2d 44 53 51 4c ITE_TEST=1 -DSQL fbf0: 49 54 45 5f 43 52 41 53 48 5f 54 45 53 54 3d 31 ITE_CRASH_TEST=1 fc00: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 .TESTFIXTURE_FLA fc10: 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 GS =$(TESTFIXTU
fc20: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
fc30: 54 45 5f 53 45 52 56 45 52 3d 31 20 2d 44 53 51  TE_SERVER=1 -DSQ
fc40: 4c 49 54 45 5f 50 52 49 56 41 54 45 3d 22 22 0a  LITE_PRIVATE="".
fc50: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
fc60: 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR fc70: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 E_FLAGS) -DSQLIT fc80: 45 5f 43 4f 52 45 20 24 28 4e 4f 5f 57 41 52 4e E_CORE$(NO_WARN
fc90: 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  ).TESTFIXTURE_FL
fca0: 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT fcb0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c URE_FLAGS) -DSQL fcc0: 49 54 45 5f 53 45 52 49 45 53 5f 43 4f 4e 53 54 ITE_SERIES_CONST fcd0: 52 41 49 4e 54 5f 56 45 52 49 46 59 3d 31 0a 54 RAINT_VERIFY=1.T fce0: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 ESTFIXTURE_FLAGS fcf0: 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 =$(TESTFIXTURE
fd00: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
fd10: 5f 44 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 49  _DEFAULT_PAGE_SI
fd20: 5a 45 3d 31 30 32 34 0a 54 45 53 54 46 49 58 54  ZE=1024.TESTFIXT
fd30: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45  URE_FLAGS = $(TE fd40: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 STFIXTURE_FLAGS) fd50: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE fd60: 5f 53 54 4d 54 56 54 41 42 0a 54 45 53 54 46 49 _STMTVTAB.TESTFI fd70: 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 XTURE_FLAGS =$(
fd80: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
fd90: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
fda0: 4c 45 5f 44 42 50 41 47 45 5f 56 54 41 42 0a 54  LE_DBPAGE_VTAB.T
fdb0: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
fdc0: 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE fdd0: 5f 46 4c 41 47 53 29 20 24 28 54 45 53 54 5f 43 _FLAGS)$(TEST_C
fde0: 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45 53 54  CONV_OPTS)..TEST
fdf0: 46 49 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24  FIXTURE_SRC0 = $fe00: 28 54 45 53 54 45 58 54 29 20 24 28 54 45 53 54 (TESTEXT)$(TEST
fe10: 53 52 43 32 29 0a 54 45 53 54 46 49 58 54 55 52  SRC2).TESTFIXTUR
fe20: 45 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54 45  E_SRC1 = $(TESTE fe30: 58 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 0a XT)$(SQLITE3C).
fe40: 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41  !IF $(USE_AMALGA fe50: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 MATION)==0.TESTF fe60: 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 IXTURE_SRC =$(T
fe70: 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73  ESTSRC) $(TOP)\s fe80: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 rc\tclsqlite.c$
fe90: 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  (TESTFIXTURE_SRC
fea0: 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49 58  0).!ELSE.TESTFIX
feb0: 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53  TURE_SRC = $(TES fec0: 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 TSRC)$(TOP)\src
fed0: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54  \tclsqlite.c $(T fee0: 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 29 ESTFIXTURE_SRC1) fef0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 55 .!ENDIF..!IF$(U
ff00: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
ff10: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!= ff20: 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 0.sqlite_tclDecl ff30: 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e 64 s.h:..echo #ifnd ff40: 65 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 ef SQLITE_TCLAPI ff50: 20 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 >$(SQLITETCLDE
ff60: 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 20 20 64  CLSH)..echo #  d
ff70: 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43 4c  efine SQLITE_TCL
ff80: 41 50 49 20 3e 3e 20 24 28 53 51 4c 49 54 45 54  API >> $(SQLITET ff90: 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 CLDECLSH)..echo ffa0: 23 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 4c 49 #endif >>$(SQLI
ffb0: 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 74 79  TETCLDECLSH)..ty
ffc0: 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29  pe "$(TCLINCDIR) ffd0: 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c 0a 09 \tclDecls.h" \.. ffe0: 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 .|$(TCLSH_CMD)
fff0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl 10000 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 ace.tcl regsub " 10010 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f 4e 53 ^(EXTERN(?: CONS 10020 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 5d T\d+?)?\s+?[^\(] 10030 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 5c 31 *?\s+?)Tcl_" "\1 10040 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 SQLITE_TCLAPI T 10050 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c cl_" \...|$(TCL
10060 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t 10070 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 ool\replace.tcl 10080 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e regsub "^(EXTERN 10090 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 44 \s+?(?:void|VOID 100a0 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f 62 6a )\s+?)TclFreeObj 100b0 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c " "\1 SQLITE_TCL 100c0 41 50 49 20 54 63 6c 46 72 65 65 4f 62 6a 22 20 API TclFreeObj" 100d0 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d \...|$(TCLSH_CM
100e0 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r 100f0 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 eplace.tcl regsu 10100 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 53 b "\(\*tcl_" "(S 10110 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 QLITE_TCLAPI *tc 10120 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 l_" \...|$(TCLS
10130 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to 10140 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 ol\replace.tcl r 10150 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 46 72 egsub "\(\*tclFr 10160 65 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 45 5f eeObj" "(SQLITE_ 10170 54 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 65 4f TCLAPI *tclFreeO 10180 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 bj" \...|$(TCLS
10190 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to 101a0 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 ol\replace.tcl r 101b0 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 egsub "\(\*" "(S 101c0 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 22 20 QLITE_TCLAPI *" 101d0 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 >>$(SQLITETCLDE
101e0 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f 74 63  CLSH)..sqlite_tc
101f0 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24 28 54 43  l.h:..type "$(TC 10200 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 20 LINCDIR)\tcl.h" 10210 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 |$(TCLSH_CMD) $10220 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 (TOP)\tool\repla 10230 63 65 2e 74 63 6c 20 65 78 61 63 74 20 74 63 6c ce.tcl exact tcl 10240 44 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f 74 Decls.h sqlite_t 10250 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c 20 clDecls.h \...| 10260 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T 10270 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 OP)\tool\replace 10280 2e 74 63 6c 20 72 65 67 73 75 62 20 22 74 79 70 .tcl regsub "typ 10290 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c 5f edef (.*?)\(Tcl_ 102a0 22 20 22 74 79 70 65 64 65 66 20 5c 31 20 28 53 " "typedef \1 (S 102b0 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c QLITE_TCLAPI Tcl 102c0 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 _" \...|$(TCLSH
102d0 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too 102e0 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 l\replace.tcl ex 102f0 61 63 74 20 22 76 6f 69 64 20 28 2a 66 72 65 65 act "void (*free 10300 50 72 6f 63 29 22 20 22 76 6f 69 64 20 28 53 51 Proc)" "void (SQ 10310 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 65 LITE_TCLAPI *fre 10320 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 28 eProc)" \...|$(
10330 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP 10340 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 )\tool\replace.t 10350 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 61 cl exact "Tcl_Ha 10360 73 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 50 shEntry *(*findP 10370 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45 roc)" "Tcl_HashE 10380 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 ntry *(SQLITE_TC 10390 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 22 LAPI *findProc)" 103a0 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 \...|$(TCLSH_C
103b0 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ 103c0 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 replace.tcl exac 103d0 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 t "Tcl_HashEntry 103e0 20 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 29 22 *(*createProc)" 103f0 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 "Tcl_HashEntry 10400 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 *(SQLITE_TCLAPI 10410 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 3e 3e *createProc)" >> 10420 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21$(SQLITETCLH).!
10430 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75  ENDIF..testfixtu
10440 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49  re.exe:.$(TESTFI 10450 58 54 55 52 45 5f 53 52 43 29 20 24 28 53 51 4c XTURE_SRC)$(SQL
10460 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f  ITE3H) $(LIBRESO 10470 42 4a 53 29 20 24 28 48 44 52 29 20 24 28 53 51 BJS)$(HDR) $(SQ 10480 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 LITE_TCL_DEP)..$
10490 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54  (LTLINK) -DSQLIT
104a0 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45  E_NO_SYNC=1 $(TE 104b0 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 STFIXTURE_FLAGS) 104c0 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c \...-DBUILD_sql 104d0 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 ite -I$(TCLINCDI
104e0 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46 49 58  R) \...$(TESTFIX 104f0 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c TURE_SRC) \.../l 10500 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $10510 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c (LTLINKOPTS)$(L
10520 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB 10530 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 RESOBJS)$(LTLIB
10540 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 65 78 74  S) $(TLIBS)..ext 10550 65 6e 73 69 6f 6e 74 65 73 74 3a 09 74 65 73 74 ensiontest:.test 10560 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 fixture.exe test 10570 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40 73 65 loadext.dll..@se 10580 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 t PATH=$(LIBTCLP
10590 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c  ATH);$(PATH)...\ 105a0 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 testfixture.exe 105b0 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f 61 64$(TOP)\test\load
105c0 65 78 74 2e 74 65 73 74 20 24 28 54 45 53 54 4f  ext.test $(TESTO 105d0 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 PTS)..fulltest:. 105e0 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a$(TESTPROGS) fuz
105f0 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48  ztest..@set PATH
10600 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
10610 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
10620 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP) 10630 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 24 \test\all.test$
10640 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f 61 6b  (TESTOPTS)..soak
10650 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47  test:.$(TESTPROG 10660 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 S)..@set PATH=$(
10670 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA 10680 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 TH)...\testfixtu 10690 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 re.exe$(TOP)\te
106a0 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73 6f 61  st\all.test -soa
106b0 6b 3d 31 20 24 28 54 45 53 54 4f 50 54 53 29 0a  k=1 $(TESTOPTS). 106c0 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 .fulltestonly:.$
106d0 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a  (TESTPROGS) fuzz
106e0 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d  test..@set PATH=
106f0 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
10700 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
10710 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\ 10720 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a test\full.test.. 10730 71 75 65 72 79 70 6c 61 6e 74 65 73 74 3a 09 74 queryplantest:.t 10740 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 estfixture.exe s 10750 68 65 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d hell..@set PATH= 10760 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28$(LIBTCLPATH);$( 10770 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 PATH)...\testfix 10780 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c ture.exe$(TOP)\
10790 74 65 73 74 5c 70 65 72 6d 75 74 61 74 69 6f 6e  test\permutation
107a0 73 2e 74 65 73 74 20 71 75 65 72 79 70 6c 61 6e  s.test queryplan
107b0 6e 65 72 20 24 28 54 45 53 54 4f 50 54 53 29 0a  ner $(TESTOPTS). 107c0 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 .fuzztest:.fuzzc 107d0 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a heck.exe...\fuzz 107e0 63 68 65 63 6b 2e 65 78 65 20 24 28 46 55 5a 5a check.exe$(FUZZ
107f0 44 41 54 41 29 0a 0a 66 61 73 74 66 75 7a 7a 74  DATA)..fastfuzzt
10800 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65  est:.fuzzcheck.e
10810 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e  xe...\fuzzcheck.
10820 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20  exe --limit-mem
10830 31 30 30 4d 20 24 28 46 55 5a 5a 44 41 54 41 29  100M $(FUZZDATA) 10840 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74 ..# Minimal test 10850 69 6e 67 20 74 68 61 74 20 72 75 6e 73 20 69 6e ing that runs in 10860 20 6c 65 73 73 20 74 68 61 6e 20 33 20 6d 69 6e less than 3 min 10870 75 74 65 73 20 28 6f 6e 20 61 20 66 61 73 74 20 utes (on a fast 10880 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 69 63 6b machine).#.quick 10890 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 test:.testfixtur 108a0 65 2e 65 78 65 20 73 6f 75 72 63 65 74 65 73 74 e.exe sourcetest 108b0 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 ..@set PATH=$(LI
108c0 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH 108d0 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 )...\testfixture 108e0 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 .exe$(TOP)\test
108f0 5c 65 78 74 72 61 71 75 69 63 6b 2e 74 65 73 74  \extraquick.test
10900 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 23 20   $(TESTOPTS)..# 10910 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d This is the comm 10920 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e 20 6d 61 on case. Run ma 10930 6e 79 20 74 65 73 74 73 20 74 68 61 74 20 64 6f ny tests that do 10940 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c 6f not take too lo 10950 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67 20 ng,.# including 10960 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69 74 fuzzcheck, sqlit 10970 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 e3_analyzer, and 10980 20 73 71 6c 64 69 66 66 20 74 65 73 74 73 2e 0a sqldiff tests.. 10990 23 0a 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 #.test:.$(TESTPR
109a0 4f 47 53 29 20 73 6f 75 72 63 65 74 65 73 74 20  OGS) sourcetest
109b0 66 61 73 74 66 75 7a 7a 74 65 73 74 0a 09 40 73  fastfuzztest..@s
109c0 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL 109d0 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e PATH);$(PATH)...
109e0 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
109f0 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 76 65 72   $(TOP)\test\ver 10a00 79 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 45 yquick.test$(TE
10a10 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65  STOPTS)..smokete
10a20 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS) 10a30 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 ..@set PATH=$(LI
10a40 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH 10a50 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 )...\testfixture 10a60 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 .exe$(TOP)\test
10a70 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28 54 45 53  \main.test $(TES 10a80 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f TOPTS)..sqlite3_ 10a90 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 28 53 51 analyzer.c:.$(SQ
10aa0 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE 10ab0 33 48 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 3H)$(TOP)\src\t
10ac0 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50  clsqlite.c $(TOP 10ad0 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c )\tool\spaceanal 10ae0 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c .tcl$(TOP)\tool
10af0 5c 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54  \mkccode.tcl $(T 10b00 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 69 74 65 33 OP)\tool\sqlite3 10b10 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e 69 6e 20 24 _analyzer.c.in$
10b20 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29  (SQLITE_TCL_DEP)
10b30 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD)$
10b40 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f  (TOP)\tool\mkcco
10b50 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f  de.tcl $(TOP)\to 10b60 6f 6c 5c 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 ol\sqlite3_analy 10b70 7a 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a 73 zer.c.in >$@..s
10b80 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
10b90 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61  exe:.sqlite3_ana
10ba0 6c 79 7a 65 72 2e 63 20 24 28 4c 49 42 52 45 53  lyzer.c $(LIBRES 10bb0 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 OBJS)..$(LTLINK)
10bc0 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55   $(NO_WARN) -DBU 10bd0 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 ILD_sqlite -I$(T
10be0 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65  CLINCDIR) sqlite
10bf0 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09  3_analyzer.c \..
10c00 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53  ./link $(LDFLAGS 10c10 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 )$(LTLINKOPTS)
10c20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28  $(LTLIBPATHS)$(
10c30 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54  LIBRESOBJS) $(LT 10c40 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a LIBS)$(TLIBS)..
10c50 73 71 6c 69 74 65 33 5f 65 78 70 65 72 74 2e 65  sqlite3_expert.e
10c60 78 65 3a 20 24 28 53 51 4c 49 54 45 33 43 29 20  xe: $(SQLITE3C) 10c70 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70 65 72$(TOP)\ext\exper
10c80 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e  t\sqlite3expert.
10c90 68 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 78 70  h $(TOP)\ext\exp 10ca0 65 72 74 5c 73 71 6c 69 74 65 33 65 78 70 65 72 ert\sqlite3exper 10cb0 74 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 65 t.c$(TOP)\ext\e
10cc0 78 70 65 72 74 5c 65 78 70 65 72 74 2e 63 0a 09  xpert\expert.c..
10cd0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
10ce0 41 52 4e 29 09 24 28 54 4f 50 29 5c 65 78 74 5c  ARN).$(TOP)\ext\ 10cf0 65 78 70 65 72 74 5c 73 71 6c 69 74 65 33 65 78 expert\sqlite3ex 10d00 70 65 72 74 2e 63 20 24 28 54 4f 50 29 5c 65 78 pert.c$(TOP)\ex
10d10 74 5c 65 78 70 65 72 74 5c 65 78 70 65 72 74 2e  t\expert\expert.
10d20 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C)$(
10d30 54 4c 49 42 53 29 0a 0a 43 48 45 43 4b 45 52 5f  TLIBS)..CHECKER_
10d40 44 45 50 53 20 3d 5c 0a 20 20 24 28 54 4f 50 29  DEPS =\.  $(TOP) 10d50 2f 74 6f 6f 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63 /tool/mkccode.tc 10d60 6c 20 5c 0a 20 20 73 71 6c 69 74 65 33 2e 63 20 l \. sqlite3.c 10d70 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 \.$(TOP)/src/t
10d80 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24  clsqlite.c \.  $10d90 28 54 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 (TOP)/ext/repair 10da0 2f 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 /sqlite3_checker 10db0 2e 74 63 6c 20 5c 0a 20 20 24 28 54 4f 50 29 2f .tcl \.$(TOP)/
10dc0 65 78 74 2f 72 65 70 61 69 72 2f 63 68 65 63 6b  ext/repair/check
10dd0 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f  index.c \.  $(TO 10de0 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 63 68 P)/ext/repair/ch 10df0 65 63 6b 66 72 65 65 6c 69 73 74 2e 63 20 5c 0a eckfreelist.c \. 10e00 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73$(TOP)/ext/mis
10e10 63 2f 62 74 72 65 65 69 6e 66 6f 2e 63 20 5c 0a  c/btreeinfo.c \.
10e20 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65 70    $(TOP)/ext/rep 10e30 61 69 72 2f 73 71 6c 69 74 65 33 5f 63 68 65 63 air/sqlite3_chec 10e40 6b 65 72 2e 63 2e 69 6e 0a 0a 73 71 6c 69 74 65 ker.c.in..sqlite 10e50 33 5f 63 68 65 63 6b 65 72 2e 63 3a 09 24 28 43 3_checker.c:.$(C
10e60 48 45 43 4b 45 52 5f 44 45 50 53 29 0a 09 24 28  HECKER_DEPS)..$( 10e70 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
10e80 29 5c 74 6f 6f 6c 5c 6d 6b 63 63 6f 64 65 2e 74  )\tool\mkccode.t
10e90 63 6c 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 65  cl $(TOP)\ext\re 10ea0 70 61 69 72 5c 73 71 6c 69 74 65 33 5f 63 68 65 pair\sqlite3_che 10eb0 63 6b 65 72 2e 63 2e 69 6e 20 3e 20 24 40 0a 0a cker.c.in >$@..
10ec0 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e  sqlite3_checker.
10ed0 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 63 68 65  exe:.sqlite3_che
10ee0 63 6b 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f  cker.c $(LIBRESO 10ef0 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 BJS)..$(LTLINK)
10f00 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49  $(NO_WARN) -DBUI 10f10 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 LD_sqlite -I$(TC
10f20 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33  LINCDIR) sqlite3
10f30 5f 63 68 65 63 6b 65 72 2e 63 20 5c 0a 09 09 2f  _checker.c \.../
10f40 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 10f50 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28$(LTLINKOPTS) $( 10f60 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 LTLIBPATHS)$(LI
10f70 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI 10f80 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 64 62 BS)$(TLIBS)..db
10f90 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f 50 29  dump.exe:.$(TOP) 10fa0 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d 70 \ext\misc\dbdump 10fb0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $10fc0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
10fd0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) 10fe0 20 2d 44 44 42 44 55 4d 50 5f 53 54 41 4e 44 41 -DDBDUMP_STANDA 10ff0 4c 4f 4e 45 20 24 28 54 4f 50 29 5c 65 78 74 5c LONE$(TOP)\ext\
11000 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 28  misc\dbdump.c $( 11010 53 51 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f 6c SQLITE3C) \.../l 11020 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $11030 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c (LTLINKOPTS)$(L
11040 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42  TLIBPATHS) $(LIB 11050 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 RESOBJS)$(LTLIB
11060 53 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e  S)..testloadext.
11070 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t 11080 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 09 24 est_loadext.c..$
11090 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f  (LTCOMPILE) $(NO 110a0 5f 57 41 52 4e 29 20 2d 63 20 24 28 54 4f 50 29 _WARN) -c$(TOP)
110b0 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78  \src\test_loadex
110c0 74 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74  t.c..testloadext
110d0 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 64 65 78  .dll:.testloadex
110e0 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44  t.lo..$(LD)$(LD
110f0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 11100 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 PTS)$(LTLIBPATH
11110 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20  S) /DLL /OUT:$@ 11120 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a testloadext.lo.. 11130 73 68 6f 77 64 62 2e 65 78 65 3a 09 24 28 54 4f showdb.exe:.$(TO
11140 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63  P)\tool\showdb.c
11150 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
11160 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI 11170 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
11180 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
11190 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
111a0 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
111b0 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  N \...$(TOP)\too 111c0 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c l\showdb.c$(SQL
111d0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L 111e0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
111f0 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74 61 74 34  OPTS)..showstat4
11200 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too 11210 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28 l\showstat4.c$(
11220 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI 11230 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 TE3H)..$(LTLINK)
11240 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ 11250 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d LITE_THREADSAFE= 11260 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 0 -DSQLITE_OMIT_ 11270 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c LOAD_EXTENSION \ 11280 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 ...$(TOP)\tool\s
11290 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c  howstat4.c $(SQL 112a0 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
112b0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK 112c0 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e OPTS)..showjourn 112d0 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 al.exe:.$(TOP)\t
112e0 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e  ool\showjournal.
112f0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C)$(
11300 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL 11310 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 INK)$(NO_WARN)
11320 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
11330 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
11340 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
11350 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  ON \...$(TOP)\to 11360 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 ol\showjournal.c 11370 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69$(SQLITE3C) /li
11380 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
11390 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f  LTLINKOPTS)..sho
113a0 77 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  wwal.exe:.$(TOP) 113b0 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 \tool\showwal.c 113c0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ 113d0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e LITE3H)..$(LTLIN
113e0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D 113f0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 SQLITE_THREADSAF 11400 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 E=0 -DSQLITE_OMI 11410 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e T_LOAD_EXTENSION 11420 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c \...$(TOP)\tool
11430 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c  \showwal.c $(SQL 11440 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
11450 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK 11460 4f 50 54 53 29 0a 0a 73 68 6f 77 73 68 6d 2e 65 OPTS)..showshm.e 11470 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c xe:.$(TOP)\tool\
11480 73 68 6f 77 73 68 6d 2e 63 0a 09 24 28 4c 54 4c  showshm.c..$(LTL 11490 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 09 INK)$(NO_WARN).
114a0 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show 114b0 73 68 6d 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 shm.c /link$(LD
114c0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 114d0 50 54 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e PTS)..changeset. 114e0 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c exe:.$(TOP)\ext\
114f0 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65  session\changese
11500 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 11510 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 11520 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
11530 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41  ) -DSQLITE_THREA
11540 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45  DSAFE=0 -DSQLITE
11550 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
11560 53 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c 49 54  SION \...-DSQLIT
11570 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e  E_ENABLE_SESSION
11580 3d 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  =1 -DSQLITE_ENAB
11590 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f  LE_PREUPDATE_HOO
115a0 4b 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  K=1 \...$(TOP)\e 115b0 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 xt\session\chang 115c0 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 eset.c$(SQLITE3
115d0 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA 115e0 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
115f0 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65 3a  )..fts3view.exe:
11600 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3 11610 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 \tool\fts3view.c 11620 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S 11630 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
11640 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) - 11650 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 DSQLITE_THREADSA 11660 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d FE=0 -DSQLITE_OM 11670 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f IT_LOAD_EXTENSIO 11680 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 N \...$(TOP)\ext
11690 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76  \fts3\tool\fts3v
116a0 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iew.c $(SQLITE3C 116b0 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
116c0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) 116d0 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e ..rollback-test. 116e0 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c exe:.$(TOP)\tool
116f0 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63  \rollback-test.c
11700 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
11710 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI 11720 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
11730 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
11740 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
11750 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
11760 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  N \...$(TOP)\too 11770 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e l\rollback-test. 11780 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c c$(SQLITE3C) /l
11790 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
117a0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f  (LTLINKOPTS)..Lo
117b0 67 45 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  gEst.exe:.$(TOP) 117c0 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 \tool\logest.c$
117d0 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT 117e0 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
117f0 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67   $(TOP)\tool\Log 11800 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 Est.c /link$(LD
11810 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 11820 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e PTS)..wordcount. 11830 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 exe:.$(TOP)\test
11840 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53  \wordcount.c $(S 11850 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
11860 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 11870 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
11880 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
11890 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
118a0 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
118b0 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f  ..$(TOP)\test\wo 118c0 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 rdcount.c$(SQLI
118d0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD 118e0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
118f0 50 54 53 29 0a 0a 73 70 65 65 64 74 65 73 74 31  PTS)..speedtest1
11900 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73  .exe:.$(TOP)\tes 11910 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 20 24 t\speedtest1.c$
11920 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL 11930 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b ITE3H)..$(LTLINK
11940 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 53  ) $(NO_WARN)$(S
11950 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  T_COMPILE_OPTS)
11960 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
11970 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09  AD_EXTENSION \..
11980 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65  .$(TOP)\test\spe 11990 65 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 edtest1.c$(SQLI
119a0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD 119b0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
119c0 50 54 53 29 0a 0a 6b 76 74 65 73 74 2e 65 78 65  PTS)..kvtest.exe
119d0 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 6b 76  :.$(TOP)\test\kv 119e0 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 test.c$(SQLITE3
119f0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. 11a00 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W 11a10 41 52 4e 29 20 24 28 4b 56 5f 43 4f 4d 50 49 4c ARN)$(KV_COMPIL
11a20 45 5f 4f 50 54 53 29 20 5c 0a 09 09 24 28 54 4f  E_OPTS) \...$(TO 11a30 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 P)\test\kvtest.c 11a40 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69$(SQLITE3C) /li
11a50 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
11a60 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 73  LTLINKOPTS)..dbs
11a70 65 6c 66 74 65 73 74 2e 65 78 65 3a 09 24 28 54  elftest.exe:.$(T 11a80 4f 50 29 5c 74 65 73 74 5c 64 62 73 65 6c 66 74 OP)\test\dbselft 11a90 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 est.c$(SQLITE3C
11aa0 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
11ab0 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 11ac0 52 4e 29 20 24 28 44 42 53 45 4c 46 54 45 53 54 RN)$(DBSELFTEST
11ad0 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $11ae0 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 73 65 6c (TOP)\test\dbsel 11af0 66 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 ftest.c$(SQLITE
11b00 33 43 29 0a 0a 72 62 75 2e 65 78 65 3a 09 24 28  3C)..rbu.exe:.$( 11b10 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 TOP)\ext\rbu\rbu 11b20 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 .c$(TOP)\ext\rb
11b30 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24  u\sqlite3rbu.c $11b40 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
11b50 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK 11b60 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
11b70 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 42 55  QLITE_ENABLE_RBU
11b80 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 5c   \...$(TOP)\ext\ 11b90 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 4c 49 rbu\rbu.c$(SQLI
11ba0 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD 11bb0 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
11bc0 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24 28 54  PTS)..LSMDIR=$(T 11bd0 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21 49 4e OP)\ext\lsm1.!IN 11be0 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52 29 5c CLUDE$(LSMDIR)\
11bf0 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a 6d 6f  Makefile.msc..mo
11c00 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a 09  reclean:.clean..
11c10 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33  del /Q $(SQLITE3 11c20 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 32 C)$(SQLITE3H) 2
11c30 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  >NUL.# <</mark>>
11c40 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f 51  ..clean:..del /Q
11c50 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e 69 6c   *.exp *.lo *.il
11c60 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20 2a 2e  k *.lib *.obj *.
11c70 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64 66 20  ncb *.pdb *.sdf
11c80 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64 65 6c  *.suo 2>NUL..del
11c90 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65 66 20   /Q *.bsc *.def
11ca0 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62 62 20  *.cod *.da *.bb
11cb0 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f 6e 2e  *.bbg *.vc gmon.
11cc0 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  out 2>NUL..del /
11cd0 51 20 24 28 53 51 4c 49 54 45 33 45 58 45 29 20  Q $(SQLITE3EXE) 11ce0 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20 52 65$(SQLITE3DLL) Re
11cf0 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55 4c 0a  place.exe 2>NUL.
11d00 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65 6c 20  # <<mark>>..del
11d10 2f 51 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c  /Q sqlite3.c sql
11d20 69 74 65 33 2e 68 20 32 3e 4e 55 4c 0a 09 64 65  ite3.h 2>NUL..de
11d30 6c 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63 20 6f  l /Q opcodes.c o
11d40 70 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c 0a 09  pcodes.h 2>NUL..
11d50 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c  del /Q lemon.* l
11d60 65 6d 70 61 72 2e 63 20 70 61 72 73 65 2e 2a 20  empar.c parse.*
11d70 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b  2>NUL..del /Q mk
11d80 73 6f 75 72 63 65 69 64 2e 2a 20 6d 6b 6b 65 79  sourceid.* mkkey
11d90 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f  wordhash.* keywo
11da0 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09  rdhash.h 2>NUL..
11db0 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61 72 65  del /Q notashare
11dc0 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72  dlib.* 2>NUL..-r
11dd0 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70 73 20  mdir /Q/S .deps
11de0 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51  2>NUL..-rmdir /Q
11df0 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09  /S .libs 2>NUL..
11e00 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63  -rmdir /Q/S tsrc
11e10 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e   2>NUL..del /Q .
11e20 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e  target_source 2>
11e30 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73  NUL..del /Q tcls
11e40 71 6c 69 74 65 33 2e 65 78 65 20 24 28 53 51 4c  qlite3.exe $(SQL 11e50 49 54 45 54 43 4c 48 29 20 24 28 53 51 4c 49 54 ITETCLH)$(SQLIT
11e60 45 54 43 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55  ETCLDECLSH) 2>NU
11e70 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e 64 6c  L..del /Q lsm.dl
11e80 6c 20 6c 73 6d 74 65 73 74 2e 65 78 65 20 32 3e  l lsmtest.exe 2>
11e90 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74  NUL..del /Q test
11ea0 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55  loadext.dll 2>NU
11eb0 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 66 69  L..del /Q testfi
11ec0 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 2e 64  xture.exe test.d
11ed0 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  b 2>NUL..del /Q
11ee0 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73 33 76  LogEst.exe fts3v
11ef0 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b  iew.exe rollback
11f00 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77 64 62  -test.exe showdb
11f10 2e 65 78 65 20 64 62 64 75 6d 70 2e 65 78 65 20  .exe dbdump.exe
11f20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68  2>NUL..del /Q ch
11f30 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e 55  angeset.exe 2>NU
11f40 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f  L..del /Q showjo
11f50 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73 74  urnal.exe showst
11f60 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e  at4.exe showwal.
11f70 65 78 65 20 73 70 65 65 64 74 65 73 74 31 2e 65  exe speedtest1.e
11f80 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
11f90 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77 6f   mptester.exe wo
11fa0 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e  rdcount.exe rbu.
11fb0 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20 32  exe srcck1.exe 2
11fc0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
11fd0 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a  ite3.c sqlite3-*
11fe0 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .c 2>NUL..del /Q
11ff0 20 73 71 6c 69 74 65 33 72 63 2e 68 20 32 3e 4e   sqlite3rc.h 2>N
12000 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65 6c 6c  UL..del /Q shell
12010 2e 63 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20  .c sqlite3ext.h
12020 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68  sqlite3session.h
12030 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
12040 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
12050 65 78 65 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c  exe sqlite3_anal
12060 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09 64 65  yzer.c 2>NUL..de
12070 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d 6f 75  l /Q sqlite-*-ou
12080 74 70 75 74 2e 76 73 69 78 20 32 3e 4e 55 4c 0a  tput.vsix 2>NUL.
12090 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72 73 68  .del /Q fuzzersh
120a0 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68 65 63  ell.exe fuzzchec
120b0 6b 2e 65 78 65 20 73 71 6c 64 69 66 66 2e 65 78  k.exe sqldiff.ex
120c0 65 20 64 62 68 61 73 68 2e 65 78 65 20 32 3e 4e  e dbhash.exe 2>N
120d0 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 2e  UL..del /Q fts5.
120e0 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20 32 3e  * fts5parse.* 2>
120f0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e  NUL..del /Q lsm.
12100 68 20 6c 73 6d 31 2e 63 20 32 3e 4e 55 4c 0a 23  h lsm1.c 2>NUL.#
12110 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a                  <</mark>>.