/ Hex Artifact Content

## Artifact 523fd246fd801689c766945f6450615d3784fda2dc04993bcafc796ac6afd8df:

• File Makefile.msc — part of check-in [18d4654f] at 2017-10-12 01:24:36 on branch dbpage — Merge fixes from the 3.21 branch. (user: drh size: 70121) [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 75 73 65 20  is non-0 to use
0900: 74 68 65 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61  the Internationa
0910: 6c 20 43 6f 6d 70 6f 6e 65 6e 74 73 20 66 6f 72  l Components for
0920: 20 55 6e 69 63 6f 64 65 20 28 49 43 55 29 2e 0a   Unicode (ICU)..
0930: 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 49 43  #.!IFNDEF USE_IC
0940: 55 0a 55 53 45 5f 49 43 55 20 3d 20 30 0a 21 45  U.USE_ICU = 0.!E
0950: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
0960: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0970: 2d 30 20 74 6f 20 64 79 6e 61 6d 69 63 61 6c 6c  -0 to dynamicall
0980: 79 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 4d 53  y link to the MS
0990: 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61  VC runtime libra
09a0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53  ry..#.!IFNDEF US
09b0: 45 5f 43 52 54 5f 44 4c 4c 0a 55 53 45 5f 43 52  E_CRT_DLL.USE_CR
09c0: 54 5f 44 4c 4c 20 3d 20 30 0a 21 45 4e 44 49 46  T_DLL = 0.!ENDIF
09d0: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
09e0: 2d 30 20 74 6f 20 6c 69 6e 6b 20 74 6f 20 74 68  -0 to link to th
09f0: 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 79  e RPCRT4 library
0a00: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f  ..#.!IFNDEF USE_
0a10: 52 50 43 52 54 34 5f 4c 49 42 0a 55 53 45 5f 52  RPCRT4_LIB.USE_R
0a20: 50 43 52 54 34 5f 4c 49 42 20 3d 20 30 0a 21 45  PCRT4_LIB = 0.!E
0a30: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
0a40: 20 6e 6f 6e 2d 30 20 74 6f 20 67 65 6e 65 72 61   non-0 to genera
0a50: 74 65 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65  te assembly code
0a60: 20 6c 69 73 74 69 6e 67 73 20 66 6f 72 20 74 68   listings for th
0a70: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 0a 23 20  e source code.#
0a80: 66 69 6c 65 73 2e 0a 23 0a 21 49 46 4e 44 45 46  files..#.!IFNDEF
0a90: 20 55 53 45 5f 4c 49 53 54 49 4e 47 53 0a 55 53   USE_LISTINGS.US
0aa0: 45 5f 4c 49 53 54 49 4e 47 53 20 3d 20 30 0a 21  E_LISTINGS = 0.!
0ab0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0ac0: 73 20 6e 6f 6e 2d 30 20 74 6f 20 61 74 74 65 6d  s non-0 to attem
0ad0: 70 74 20 73 65 74 74 69 6e 67 20 74 68 65 20 6e  pt setting the n
0ae0: 61 74 69 76 65 20 63 6f 6d 70 69 6c 65 72 20 61  ative compiler a
0af0: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 23 20 66  utomatically.# f
0b00: 6f 72 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  or cross-compili
0b10: 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c  ng the command l
0b20: 69 6e 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65 64  ine tools needed
0b30: 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f 6d 70   during the comp
0b40: 69 6c 61 74 69 6f 6e 0a 23 20 70 72 6f 63 65 73  ilation.# proces
0b50: 73 2e 0a 23 0a 21 49 46 4e 44 45 46 20 58 43 4f  s..#.!IFNDEF XCO
0b60: 4d 50 49 4c 45 0a 58 43 4f 4d 50 49 4c 45 20 3d  MPILE.XCOMPILE =
0b70: 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74   0.!ENDIF..# Set
0b80: 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75   this non-0 to u
0b90: 73 65 20 74 68 65 20 6e 61 74 69 76 65 20 6c 69  se the native li
0ba0: 62 72 61 72 69 65 73 20 70 61 74 68 73 20 66 6f  braries paths fo
0bb0: 72 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e  r cross-compilin
0bc0: 67 0a 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20  g.# the command
0bd0: 6c 69 6e 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65  line tools neede
0be0: 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f 6d  d during the com
0bf0: 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73  pilation process
0c00: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f  ..#.!IFNDEF USE_
0c10: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 0a  NATIVE_LIBPATHS.
0c20: 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41  USE_NATIVE_LIBPA
0c30: 54 48 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a  THS = 0.!ENDIF..
0c40: 23 20 53 65 74 20 74 68 69 73 20 30 20 74 6f 20  # Set this 0 to
0c50: 73 6b 69 70 20 74 68 65 20 63 6f 6d 70 69 6c 69  skip the compili
0c60: 6e 67 20 61 6e 64 20 65 6d 62 65 64 64 69 6e 67  ng and embedding
0c70: 20 6f 66 20 76 65 72 73 69 6f 6e 20 72 65 73 6f   of version reso
0c80: 75 72 63 65 73 2e 0a 23 0a 21 49 46 4e 44 45 46  urces..#.!IFNDEF
0c90: 20 55 53 45 5f 52 43 0a 55 53 45 5f 52 43 20 3d   USE_RC.USE_RC =
0ca0: 20 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74   1.!ENDIF..# Set
0cb0: 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63   this non-0 to c
0cc0: 6f 6d 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20  ompile binaries
0cd0: 73 75 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65  suitable for the
0ce0: 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65   WinRT environme
0cf0: 6e 74 2e 0a 23 20 54 68 69 73 20 73 65 74 74 69  nt..# This setti
0d00: 6e 67 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c  ng does not appl
0d10: 79 20 74 6f 20 61 6e 79 20 62 69 6e 61 72 69 65  y to any binarie
0d20: 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20 54  s that require T
0d30: 63 6c 20 74 6f 20 6f 70 65 72 61 74 65 0a 23 20  cl to operate.#
0d40: 70 72 6f 70 65 72 6c 79 20 28 69 2e 65 2e 20 74  properly (i.e. t
0d50: 68 65 20 74 65 78 74 20 66 69 78 74 75 72 65 2c  he text fixture,
0d60: 20 65 74 63 29 2e 0a 23 0a 21 49 46 4e 44 45 46   etc)..#.!IFNDEF
0d70: 20 46 4f 52 5f 57 49 4e 52 54 0a 46 4f 52 5f 57   FOR_WINRT.FOR_W
0d80: 49 4e 52 54 20 3d 20 30 0a 21 45 4e 44 49 46 0a  INRT = 0.!ENDIF.
0d90: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0da0: 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69 6e  0 to compile bin
0db0: 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20 66  aries suitable f
0dc0: 6f 72 20 74 68 65 20 55 57 50 20 65 6e 76 69 72  or the UWP envir
0dd0: 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68 69 73 20 73  onment..# This s
0de0: 65 74 74 69 6e 67 20 64 6f 65 73 20 6e 6f 74 20  etting does not
0df0: 61 70 70 6c 79 20 74 6f 20 61 6e 79 20 62 69 6e  apply to any bin
0e00: 61 72 69 65 73 20 74 68 61 74 20 72 65 71 75 69  aries that requi
0e10: 72 65 20 54 63 6c 20 74 6f 20 6f 70 65 72 61 74  re Tcl to operat
0e20: 65 0a 23 20 70 72 6f 70 65 72 6c 79 20 28 69 2e  e.# properly (i.
0e30: 65 2e 20 74 68 65 20 74 65 78 74 20 66 69 78 74  e. the text fixt
0e40: 75 72 65 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46  ure, etc)..#.!IF
0e50: 4e 44 45 46 20 46 4f 52 5f 55 57 50 0a 46 4f 52  NDEF FOR_UWP.FOR
0e60: 5f 55 57 50 20 3d 20 30 0a 21 45 4e 44 49 46 0a  _UWP = 0.!ENDIF.
0e70: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0e80: 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 69 6e  0 to compile bin
0e90: 61 72 69 65 73 20 73 75 69 74 61 62 6c 65 20 66  aries suitable f
0ea0: 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31  or the Windows 1
0eb0: 30 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49  0 platform..#.!I
0ec0: 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e 31 30 0a  FNDEF FOR_WIN10.
0ed0: 46 4f 52 5f 57 49 4e 31 30 20 3d 20 30 0a 21 45  FOR_WIN10 = 0.!E
0ee0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
0ef0: 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d  .# Set this non-
0f00: 30 20 74 6f 20 73 6b 69 70 20 61 74 74 65 6d 70  0 to skip attemp
0f10: 74 69 6e 67 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72  ting to look for
0f20: 20 61 6e 64 2f 6f 72 20 6c 69 6e 6b 20 77 69 74   and/or link wit
0f30: 68 20 74 68 65 20 54 63 6c 0a 23 20 72 75 6e 74  h the Tcl.# runt
0f40: 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ime library..#.!
0f50: 49 46 4e 44 45 46 20 4e 4f 5f 54 43 4c 0a 4e 4f  IFNDEF NO_TCL.NO
0f60: 5f 54 43 4c 20 3d 20 30 0a 21 45 4e 44 49 46 0a  _TCL = 0.!ENDIF.
0f70: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53  # <</mark>>..# S
0f80: 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30  et this to non-0
0f90: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
0fa0: 73 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 4e 44  se PDBs..#.!IFND
0fb0: 45 46 20 53 59 4d 42 4f 4c 53 0a 53 59 4d 42 4f  EF SYMBOLS.SYMBO
0fc0: 4c 53 20 3d 20 31 0a 21 45 4e 44 49 46 0a 0a 23  LS = 1.!ENDIF..#
0fd0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
0fe0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 53 51  -0 to use the SQ
0ff0: 4c 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68  Lite debugging h
1000: 65 61 70 20 73 75 62 73 79 73 74 65 6d 2e 0a 23  eap subsystem..#
1010: 0a 21 49 46 4e 44 45 46 20 4d 45 4d 44 45 42 55  .!IFNDEF MEMDEBU
1020: 47 0a 4d 45 4d 44 45 42 55 47 20 3d 20 30 0a 21  G.MEMDEBUG = 0.!
1030: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
1040: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
1050: 65 20 74 68 65 20 57 69 6e 33 32 20 6e 61 74 69  e the Win32 nati
1060: 76 65 20 68 65 61 70 20 73 75 62 73 79 73 74 65  ve heap subsyste
1070: 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 57 49 4e  m..#.!IFNDEF WIN
1080: 33 32 48 45 41 50 0a 57 49 4e 33 32 48 45 41 50  32HEAP.WIN32HEAP
1090: 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53   = 0.!ENDIF..# S
10a0: 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30  et this to non-0
10b0: 20 74 6f 20 65 6e 61 62 6c 65 20 4f 53 54 52 41   to enable OSTRA
10c0: 43 45 28 29 20 6d 61 63 72 6f 73 2c 20 77 68 69  CE() macros, whi
10d0: 63 68 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c  ch can be useful
10e0: 20 77 68 65 6e 0a 23 20 64 65 62 75 67 67 69 6e   when.# debuggin
10f0: 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4f 53 54  g..#.!IFNDEF OST
1100: 52 41 43 45 0a 4f 53 54 52 41 43 45 20 3d 20 30  RACE.OSTRACE = 0
1110: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1120: 68 69 73 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68  his to one of th
1130: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75  e following valu
1140: 65 73 20 74 6f 20 65 6e 61 62 6c 65 20 76 61 72  es to enable var
1150: 69 6f 75 73 20 64 65 62 75 67 67 69 6e 67 0a 23  ious debugging.#
1160: 20 66 65 61 74 75 72 65 73 2e 20 20 45 61 63 68   features.  Each
1170: 20 6c 65 76 65 6c 20 69 6e 63 6c 75 64 65 73 20   level includes
1180: 74 68 65 20 64 65 62 75 67 67 69 6e 67 20 6f 70  the debugging op
1190: 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65 20 70  tions from the p
11a0: 72 65 76 69 6f 75 73 0a 23 20 6c 65 76 65 6c 73  revious.# levels
11b0: 2e 20 20 43 75 72 72 65 6e 74 6c 79 2c 20 74 68  .  Currently, th
11c0: 65 20 72 65 63 6f 67 6e 69 7a 65 64 20 76 61 6c  e recognized val
11d0: 75 65 73 20 66 6f 72 20 44 45 42 55 47 20 61 72  ues for DEBUG ar
11e0: 65 3a 0a 23 0a 23 20 30 20 3d 3d 20 4e 44 45 42  e:.#.# 0 == NDEB
11f0: 55 47 3a 20 44 69 73 61 62 6c 65 73 20 61 73 73  UG: Disables ass
1200: 65 72 74 28 29 20 61 6e 64 20 6f 74 68 65 72 20  ert() and other
1210: 72 75 6e 74 69 6d 65 20 64 69 61 67 6e 6f 73 74  runtime diagnost
1220: 69 63 73 2e 0a 23 20 31 20 3d 3d 20 53 51 4c 49  ics..# 1 == SQLI
1230: 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52  TE_ENABLE_API_AR
1240: 4d 4f 52 3a 20 65 78 74 72 61 20 61 74 74 65 6d  MOR: extra attem
1250: 70 74 73 20 74 6f 20 64 65 74 65 63 74 20 6d 69  pts to detect mi
1260: 73 75 73 65 20 6f 66 20 74 68 65 20 41 50 49 2e  suse of the API.
1270: 0a 23 20 32 20 3d 3d 20 44 69 73 61 62 6c 65 73  .# 2 == Disables
1280: 20 4e 44 45 42 55 47 20 61 6e 64 20 61 6c 6c 20   NDEBUG and all
1290: 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 6e  optimizations an
12a0: 64 20 74 68 65 6e 20 65 6e 61 62 6c 65 73 20 50  d then enables P
12b0: 44 42 73 2e 0a 23 20 33 20 3d 3d 20 53 51 4c 49  DBs..# 3 == SQLI
12c0: 54 45 5f 44 45 42 55 47 3a 20 45 6e 61 62 6c 65  TE_DEBUG: Enable
12d0: 73 20 76 61 72 69 6f 75 73 20 64 69 61 67 6e 6f  s various diagno
12e0: 73 74 69 63 73 20 6d 65 73 73 61 67 65 73 20 61  stics messages a
12f0: 6e 64 20 63 6f 64 65 2e 0a 23 20 34 20 3d 3d 20  nd code..# 4 ==
1300: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c  SQLITE_WIN32_MAL
1310: 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3a 20 56 61  LOC_VALIDATE: Va
1320: 6c 69 64 61 74 65 20 74 68 65 20 57 69 6e 33 32  lidate the Win32
1330: 20 6e 61 74 69 76 65 20 68 65 61 70 20 70 65 72   native heap per
1340: 20 63 61 6c 6c 2e 0a 23 20 35 20 3d 3d 20 53 51   call..# 5 == SQ
1350: 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52  LITE_DEBUG_OS_TR
1360: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1370: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 4f 53 54  put from the OST
1380: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1390: 20 36 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41   6 == SQLITE_ENA
13a0: 42 4c 45 5f 49 4f 54 52 41 43 45 3a 20 45 6e 61  BLE_IOTRACE: Ena
13b0: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
13c0: 20 74 68 65 20 49 4f 54 52 41 43 45 28 29 20 6d   the IOTRACE() m
13d0: 61 63 72 6f 73 2e 0a 23 0a 21 49 46 4e 44 45 46  acros..#.!IFNDEF
13e0: 20 44 45 42 55 47 0a 44 45 42 55 47 20 3d 20 30   DEBUG.DEBUG = 0
13f0: 0a 21 45 4e 44 49 46 0a 0a 23 20 45 6e 61 62 6c  .!ENDIF..# Enabl
1400: 65 20 75 73 65 20 6f 66 20 61 76 61 69 6c 61 62  e use of availab
1410: 6c 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  le compiler opti
1420: 6d 69 7a 61 74 69 6f 6e 73 3f 20 20 4e 6f 72 6d  mizations?  Norm
1430: 61 6c 6c 79 2c 20 74 68 69 73 20 73 68 6f 75 6c  ally, this shoul
1440: 64 20 62 65 0a 23 20 6e 6f 6e 2d 7a 65 72 6f 2e  d be.# non-zero.
1450: 20 20 53 65 74 74 69 6e 67 20 74 68 69 73 20 74    Setting this t
1460: 6f 20 7a 65 72 6f 2c 20 74 68 75 73 20 64 69 73  o zero, thus dis
1470: 61 62 6c 69 6e 67 20 61 6c 6c 20 63 6f 6d 70 69  abling all compi
1480: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
1490: 73 2c 0a 23 20 63 61 6e 20 62 65 20 75 73 65 66  s,.# can be usef
14a0: 75 6c 20 66 6f 72 20 74 65 73 74 69 6e 67 2e 0a  ul for testing..
14b0: 23 0a 21 49 46 4e 44 45 46 20 4f 50 54 49 4d 49  #.!IFNDEF OPTIMI
14c0: 5a 41 54 49 4f 4e 53 0a 4f 50 54 49 4d 49 5a 41  ZATIONS.OPTIMIZA
14d0: 54 49 4f 4e 53 20 3d 20 32 0a 21 45 4e 44 49 46  TIONS = 2.!ENDIF
14e0: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20  ..# Set this to
14f0: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable
1500: 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20  support for the
1510: 73 65 73 73 69 6f 6e 20 65 78 74 65 6e 73 69 6f  session extensio
1520: 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 45 53  n..#.!IFNDEF SES
1530: 53 49 4f 4e 0a 53 45 53 53 49 4f 4e 20 3d 20 30  SION.SESSION = 0
1540: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
1550: 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  he source code f
1560: 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20 62  ile to be used b
1570: 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 61 6e  y executables an
1580: 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 65 6e  d libraries when
1590: 0a 23 20 74 68 65 79 20 6e 65 65 64 20 74 68 65  .# they need the
15a0: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
15b0: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33  .!IFNDEF SQLITE3
15c0: 43 0a 21 49 46 20 24 28 53 50 4c 49 54 5f 41 4d  C.!IF $(SPLIT_AM 15d0: 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 53 ALGAMATION)!=0.S 15e0: 51 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65 QLITE3C = sqlite 15f0: 33 2d 61 6c 6c 2e 63 0a 21 45 4c 53 45 0a 53 51 3-all.c.!ELSE.SQ 1600: 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65 33 LITE3C = sqlite3 1610: 2e 63 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 .c.!ENDIF.!ENDIF 1620: 0a 0a 23 20 53 65 74 20 74 68 65 20 69 6e 63 6c ..# Set the incl 1630: 75 64 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f ude code file to 1640: 20 62 65 20 75 73 65 64 20 62 79 20 65 78 65 63 be used by exec 1650: 75 74 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 utables and libr 1660: 61 72 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 aries when.# the 1670: 79 20 6e 65 65 64 20 53 51 4c 69 74 65 2e 0a 23 y need SQLite..# 1680: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 .!IFNDEF SQLITE3 1690: 48 0a 53 51 4c 49 54 45 33 48 20 3d 20 73 71 6c H.SQLITE3H = sql 16a0: 69 74 65 33 2e 68 0a 21 45 4e 44 49 46 0a 0a 23 ite3.h.!ENDIF..# 16b0: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d This is the nam 16c0: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65 e to use for the 16d0: 20 53 51 4c 69 74 65 20 64 79 6e 61 6d 69 63 20 SQLite dynamic 16e0: 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 28 44 4c link library (DL 16f0: 4c 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 L)..#.!IFNDEF SQ 1700: 4c 49 54 45 33 44 4c 4c 0a 21 49 46 20 24 28 46 LITE3DLL.!IF$(F
1710: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c  OR_WIN10)!=0.SQL
1720: 49 54 45 33 44 4c 4c 20 3d 20 77 69 6e 73 71 6c  ITE3DLL = winsql
1730: 69 74 65 33 2e 64 6c 6c 0a 21 45 4c 53 45 0a 53  ite3.dll.!ELSE.S
1740: 51 4c 49 54 45 33 44 4c 4c 20 3d 20 73 71 6c 69  QLITE3DLL = sqli
1750: 74 65 33 2e 64 6c 6c 0a 21 45 4e 44 49 46 0a 21  te3.dll.!ENDIF.!
1760: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73  ENDIF..# This is
1770: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65   the name to use
1780: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite
1790: 69 6d 70 6f 72 74 20 6c 69 62 72 61 72 79 20 28  import library (
17a0: 4c 49 42 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  LIB)..#.!IFNDEF
17b0: 53 51 4c 49 54 45 33 4c 49 42 0a 21 49 46 20 24  SQLITE3LIB.!IF $17c0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 (FOR_WIN10)!=0.S 17d0: 51 4c 49 54 45 33 4c 49 42 20 3d 20 77 69 6e 73 QLITE3LIB = wins 17e0: 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53 45 qlite3.lib.!ELSE 17f0: 0a 53 51 4c 49 54 45 33 4c 49 42 20 3d 20 73 71 .SQLITE3LIB = sq 1800: 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4e 44 49 46 lite3.lib.!ENDIF 1810: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 .!ENDIF..# This 1820: 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 is the name to u 1830: 73 65 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 se for the SQLit 1840: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 e shell executab 1850: 6c 65 20 28 45 58 45 29 2e 0a 23 0a 21 49 46 4e le (EXE)..#.!IFN 1860: 44 45 46 20 53 51 4c 49 54 45 33 45 58 45 0a 21 DEF SQLITE3EXE.! 1870: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 IF$(FOR_WIN10)!
1880: 3d 30 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20  =0.SQLITE3EXE =
1890: 77 69 6e 73 71 6c 69 74 65 33 73 68 65 6c 6c 2e  winsqlite3shell.
18a0: 65 78 65 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45  exe.!ELSE.SQLITE
18b0: 33 45 58 45 20 3d 20 73 71 6c 69 74 65 33 2e 65  3EXE = sqlite3.e
18c0: 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  xe.!ENDIF.!ENDIF
18d0: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the
18e0: 61 72 67 75 6d 65 6e 74 20 75 73 65 64 20 74 6f  argument used to
18f0: 20 73 65 74 20 74 68 65 20 70 72 6f 67 72 61 6d   set the program
1900: 20 64 61 74 61 62 61 73 65 20 28 50 44 42 29 20   database (PDB)
1910: 66 69 6c 65 20 66 6f 72 20 74 68 65 0a 23 20 53  file for the.# S
1920: 51 4c 69 74 65 20 73 68 65 6c 6c 20 65 78 65 63  QLite shell exec
1930: 75 74 61 62 6c 65 20 28 45 58 45 29 2e 0a 23 0a  utable (EXE)..#.
1940: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 45  !IFNDEF SQLITE3E
1950: 58 45 50 44 42 0a 21 49 46 20 24 28 46 4f 52 5f  XEPDB.!IF $(FOR_ 1960: 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 WIN10)!=0.SQLITE 1970: 33 45 58 45 50 44 42 20 3d 0a 21 45 4c 53 45 0a 3EXEPDB =.!ELSE. 1980: 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 3d 20 SQLITE3EXEPDB = 1990: 2f 70 64 62 3a 73 71 6c 69 74 65 33 73 68 2e 70 /pdb:sqlite3sh.p 19a0: 64 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 db.!ENDIF.!ENDIF 19b0: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 ..# <<mark>>.# T 19c0: 68 65 73 65 20 61 72 65 20 74 68 65 20 6e 61 6d hese are the nam 19d0: 65 73 20 6f 66 20 74 68 65 20 63 75 73 74 6f 6d es of the custom 19e0: 69 7a 65 64 20 54 63 6c 20 68 65 61 64 65 72 20 ized Tcl header 19f0: 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 76 61 files used by va 1a00: 72 69 6f 75 73 20 70 61 72 74 73 0a 23 20 6f 66 rious parts.# of 1a10: 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20 77 this makefile w 1a20: 68 65 6e 20 74 68 65 20 73 74 64 63 61 6c 6c 20 hen the stdcall 1a30: 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 calling conventi 1a40: 6f 6e 20 69 73 20 69 6e 20 75 73 65 2e 20 20 49 on is in use. I 1a50: 74 20 69 73 20 6e 6f 74 0a 23 20 75 73 65 64 20 t is not.# used 1a60: 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 70 75 for any other pu 1a70: 72 70 6f 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 rpose..#.!IFNDEF 1a80: 20 53 51 4c 49 54 45 54 43 4c 48 0a 53 51 4c 49 SQLITETCLH.SQLI 1a90: 54 45 54 43 4c 48 20 3d 20 73 71 6c 69 74 65 5f TETCLH = sqlite_ 1aa0: 74 63 6c 2e 68 0a 21 45 4e 44 49 46 0a 0a 21 49 tcl.h.!ENDIF..!I 1ab0: 46 4e 44 45 46 20 53 51 4c 49 54 45 54 43 4c 44 FNDEF SQLITETCLD 1ac0: 45 43 4c 53 48 0a 53 51 4c 49 54 45 54 43 4c 44 ECLSH.SQLITETCLD 1ad0: 45 43 4c 53 48 20 3d 20 73 71 6c 69 74 65 5f 74 ECLSH = sqlite_t 1ae0: 63 6c 44 65 63 6c 73 2e 68 0a 21 45 4e 44 49 46 clDecls.h.!ENDIF 1af0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 ..# These are th 1b00: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 e additional tar 1b10: 67 65 74 73 20 74 68 61 74 20 74 68 65 20 74 61 gets that the ta 1b20: 72 67 65 74 73 20 74 68 61 74 20 69 6e 74 65 67 rgets that integ 1b30: 72 61 74 65 20 77 69 74 68 20 74 68 65 0a 23 20 rate with the.# 1b40: 54 63 6c 20 6c 69 62 72 61 72 79 20 73 68 6f 75 Tcl library shou 1b50: 6c 64 20 64 65 70 65 6e 64 20 6f 6e 20 77 68 65 ld depend on whe 1b60: 6e 20 63 6f 6d 70 69 6c 69 6e 67 2c 20 65 74 63 n compiling, etc 1b70: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 ..#.!IFNDEF SQLI 1b80: 54 45 5f 54 43 4c 5f 44 45 50 0a 21 49 46 20 24 TE_TCL_DEP.!IF$
1b90: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
1ba0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10) 1bb0: 21 3d 30 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 !=0.SQLITE_TCL_D 1bc0: 45 50 20 3d 20 24 28 53 51 4c 49 54 45 54 43 4c EP =$(SQLITETCL
1bd0: 44 45 43 4c 53 48 29 20 24 28 53 51 4c 49 54 45  DECLSH) $(SQLITE 1be0: 54 43 4c 48 29 0a 21 45 4c 53 45 0a 53 51 4c 49 TCLH).!ELSE.SQLI 1bf0: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 0a 21 45 4e TE_TCL_DEP =.!EN 1c00: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f DIF.!ENDIF.# <</ 1c10: 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 65 73 65 20 mark>>..# These 1c20: 61 72 65 20 74 68 65 20 22 73 74 61 6e 64 61 72 are the "standar 1c30: 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c d" SQLite compil 1c40: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 ation options us 1c50: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e ed when compilin 1c60: 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 g for.# the Wind 1c70: 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a ows platform..#. 1c80: 21 49 46 4e 44 45 46 20 4f 50 54 5f 46 45 41 54 !IFNDEF OPT_FEAT 1c90: 55 52 45 5f 46 4c 41 47 53 0a 21 49 46 20 24 28 URE_FLAGS.!IF$(
1ca0: 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41  MINIMAL_AMALGAMA
1cb0: 54 49 4f 4e 29 3d 3d 30 0a 4f 50 54 5f 46 45 41  TION)==0.OPT_FEA
1cc0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O 1cd0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 PT_FEATURE_FLAGS 1ce0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ) -DSQLITE_ENABL 1cf0: 45 5f 46 54 53 33 3d 31 0a 4f 50 54 5f 46 45 41 E_FTS3=1.OPT_FEA 1d00: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f TURE_FLAGS =$(O
1d10: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
1d20: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
1d30: 45 5f 52 54 52 45 45 3d 31 0a 21 45 4e 44 49 46  E_RTREE=1.!ENDIF
1d40: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1d50: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU 1d60: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI 1d70: 54 45 5f 45 4e 41 42 4c 45 5f 43 4f 4c 55 4d 4e TE_ENABLE_COLUMN 1d80: 5f 4d 45 54 41 44 41 54 41 3d 31 0a 21 45 4e 44 _METADATA=1.!END 1d90: 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 74 68 65 IF..# Should the 1da0: 20 73 65 73 73 69 6f 6e 20 65 78 74 65 6e 73 69 session extensi 1db0: 6f 6e 20 62 65 20 65 6e 61 62 6c 65 64 3f 20 20 on be enabled? 1dc0: 49 66 20 73 6f 2c 20 61 64 64 20 63 6f 6d 70 69 If so, add compi 1dd0: 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 0a 23 lation options.# 1de0: 20 74 6f 20 65 6e 61 62 6c 65 20 69 74 2e 0a 23 to enable it..# 1df0: 0a 21 49 46 20 24 28 53 45 53 53 49 4f 4e 29 21 .!IF$(SESSION)!
1e00: 3d 30 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46  =0.OPT_FEATURE_F
1e10: 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41  LAGS = $(OPT_FEA 1e20: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 TURE_FLAGS) -DSQ 1e30: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 LITE_ENABLE_SESS 1e40: 49 4f 4e 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 ION=1.OPT_FEATUR 1e50: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f E_FLAGS =$(OPT_
1e60: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
1e70: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50  DSQLITE_ENABLE_P
1e80: 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 0a  REUPDATE_HOOK=1.
1e90: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20  !ENDIF..# These
1ea0: 61 72 65 20 74 68 65 20 22 65 78 74 65 6e 64 65  are the "extende
1eb0: 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c  d" SQLite compil
1ec0: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73  ation options us
1ed0: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  ed when compilin
1ee0: 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64  g for.# the Wind
1ef0: 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2e  ows 10 platform.
1f00: 0a 23 0a 21 49 46 4e 44 45 46 20 45 58 54 5f 46  .#.!IFNDEF EXT_F
1f10: 45 41 54 55 52 45 5f 46 4c 41 47 53 0a 21 49 46  EATURE_FLAGS.!IF
1f20: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0 1f30: 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 .EXT_FEATURE_FLA 1f40: 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 GS =$(EXT_FEATU
1f50: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1f60: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 3d 31  TE_ENABLE_FTS4=1
1f70: 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .EXT_FEATURE_FLA
1f80: 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55  GS = $(EXT_FEATU 1f90: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI 1fa0: 54 45 5f 53 59 53 54 45 4d 5f 4d 41 4c 4c 4f 43 TE_SYSTEM_MALLOC 1fb0: 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 =1.EXT_FEATURE_F 1fc0: 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 LAGS =$(EXT_FEA
1fd0: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
1fe0: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54  LITE_OMIT_LOCALT
1ff0: 49 4d 45 3d 31 0a 21 45 4c 53 45 0a 45 58 54 5f  IME=1.!ELSE.EXT_
2000: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 0a  FEATURE_FLAGS =.
2010: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
2020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23  ##############.#
2070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 45  ############## E
2090: 4e 44 20 4f 46 20 4f 50 54 49 4f 4e 53 20 23 23  ND OF OPTIONS ##
20a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
20b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23  ##############.#
20c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
20d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
20e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
20f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a  ##############..
2110: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
2120: 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73   for the Windows
2130: 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 74 68   10 platform, th
2140: 65 20 50 4c 41 54 46 4f 52 4d 20 6d 61 63 72 6f  e PLATFORM macro
2150: 20 6d 75 73 74 20 62 65 20 73 65 74 0a 23 20 74   must be set.# t
2160: 6f 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65  o an appropriate
2170: 20 76 61 6c 75 65 20 28 65 2e 67 2e 20 78 38 36   value (e.g. x86
2180: 2c 20 78 36 34 2c 20 61 72 6d 2c 20 61 72 6d 36  , x64, arm, arm6
2190: 34 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46 20 24  4, etc)..#.!IF $21a0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 (FOR_WIN10)!=0.! 21b0: 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a IFNDEF PLATFORM. 21c0: 21 45 52 52 4f 52 20 55 73 69 6e 67 20 74 68 65 !ERROR Using the 21d0: 20 46 4f 52 5f 57 49 4e 31 30 20 6f 70 74 69 6f FOR_WIN10 optio 21e0: 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 61 6c n requires a val 21f0: 75 65 20 66 6f 72 20 50 4c 41 54 46 4f 52 4d 2e ue for PLATFORM. 2200: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a .!ENDIF.!ENDIF.. 2210: 23 20 54 68 69 73 20 61 73 73 75 6d 65 73 20 74 # This assumes t 2220: 68 61 74 20 4d 53 56 43 20 69 73 20 61 6c 77 61 hat MSVC is alwa 2230: 79 73 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 ys installed in 2240: 33 32 2d 62 69 74 20 50 72 6f 67 72 61 6d 20 46 32-bit Program F 2250: 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 0a 23 iles directory.# 2260: 20 61 6e 64 20 73 65 74 73 20 74 68 65 20 76 61 and sets the va 2270: 72 69 61 62 6c 65 20 66 6f 72 20 75 73 65 20 69 riable for use i 2280: 6e 20 6c 6f 63 61 74 69 6e 67 20 6f 74 68 65 72 n locating other 2290: 20 33 32 2d 62 69 74 20 69 6e 73 74 61 6c 6c 73 32-bit installs 22a0: 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0a 23 0a accordingly..#. 22b0: 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 PROGRAMFILES_X86 22c0: 20 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 =$(VCINSTALLDI
22d0: 52 29 5c 2e 2e 5c 2e 2e 0a 50 52 4f 47 52 41 4d  R)\..\...PROGRAM
22e0: 46 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 50 52  FILES_X86 = $(PR 22f0: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 3a 5c OGRAMFILES_X86:\ 2300: 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f \=\)..# Check fo 2310: 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 r the predefined 2320: 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 43 command macro C 2330: 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 C. This should 2340: 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d point to the com 2350: 70 69 6c 65 72 0a 23 20 62 69 6e 61 72 79 20 66 piler.# binary f 2360: 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 70 6c or the target pl 2370: 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20 69 atform. If it i 2380: 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 s not defined, s 2390: 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 imply define it 23a0: 74 6f 0a 23 20 74 68 65 20 6c 65 67 61 63 79 20 to.# the legacy 23b0: 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 63 default value 'c 23c0: 6c 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 l.exe'..#.!IFNDE 23d0: 46 20 43 43 0a 43 43 20 3d 20 63 6c 2e 65 78 65 F CC.CC = cl.exe 23e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b .!ENDIF..# Check 23f0: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 for the predefi 2400: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 ned command macr 2410: 6f 20 43 53 43 2e 20 20 54 68 69 73 20 73 68 6f o CSC. This sho 2420: 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 61 20 77 uld point to a w 2430: 6f 72 6b 69 6e 67 0a 23 20 43 20 53 68 61 72 70 orking.# C Sharp 2440: 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 compiler binary 2450: 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 . If it is not 2460: 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 defined, simply 2470: 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68 65 define it to the 2480: 0a 23 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c .# legacy defaul 2490: 74 20 76 61 6c 75 65 20 27 63 73 63 2e 65 78 65 t value 'csc.exe 24a0: 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 53 43 '..#.!IFNDEF CSC 24b0: 0a 43 53 43 20 3d 20 63 73 63 2e 65 78 65 0a 21 .CSC = csc.exe.! 24c0: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 ENDIF..# Check f 24d0: 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d or the command m 24e0: 61 63 72 6f 20 4c 44 2e 20 20 54 68 69 73 20 73 acro LD. This s 24f0: 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 hould point to t 2500: 68 65 20 6c 69 6e 6b 65 72 20 62 69 6e 61 72 79 he linker binary 2510: 20 66 6f 72 0a 23 20 74 68 65 20 74 61 72 67 65 for.# the targe 2520: 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 t platform. If 2530: 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 it is not define 2540: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 d, simply define 2550: 20 69 74 20 74 6f 20 74 68 65 20 6c 65 67 61 63 it to the legac 2560: 79 0a 23 20 64 65 66 61 75 6c 74 20 76 61 6c 75 y.# default valu 2570: 65 20 27 6c 69 6e 6b 2e 65 78 65 27 2e 0a 23 0a e 'link.exe'..#. 2580: 21 49 46 4e 44 45 46 20 4c 44 0a 4c 44 20 3d 20 !IFNDEF LD.LD = 2590: 6c 69 6e 6b 2e 65 78 65 0a 21 45 4e 44 49 46 0a link.exe.!ENDIF. 25a0: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 .# Check for the 25b0: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d predefined comm 25c0: 61 6e 64 20 6d 61 63 72 6f 20 52 43 2e 20 20 54 and macro RC. T 25d0: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 his should point 25e0: 20 74 6f 20 74 68 65 20 72 65 73 6f 75 72 63 65 to the resource 25f0: 0a 23 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 .# compiler bina 2600: 72 79 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 ry for the targe 2610: 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 t platform. If 2620: 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 it is not define 2630: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 d, simply define 2640: 0a 23 20 69 74 20 74 6f 20 74 68 65 20 6c 65 67 .# it to the leg 2650: 61 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 acy default valu 2660: 65 20 27 72 63 2e 65 78 65 27 2e 0a 23 0a 21 49 e 'rc.exe'..#.!I 2670: 46 4e 44 45 46 20 52 43 0a 52 43 20 3d 20 72 63 FNDEF RC.RC = rc 2680: 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 .exe.!ENDIF..# C 2690: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 heck for the MSV 26a0: 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 C runtime librar 26b0: 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f y path macro. O 26c0: 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 20 76 therwise, this v 26d0: 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 alue will.# defa 26e0: 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 ult to the 'lib' 26f0: 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 directory under 2700: 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43 20 69 neath the MSVC i 2710: 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 nstallation dire 2720: 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 ctory..#.!IFNDEF 2730: 20 43 52 54 4c 49 42 50 41 54 48 0a 43 52 54 4c CRTLIBPATH.CRTL 2740: 49 42 50 41 54 48 20 3d 20 24 28 56 43 49 4e 53 IBPATH =$(VCINS
2750: 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e  TALLDIR)\lib.!EN
2760: 44 49 46 0a 0a 43 52 54 4c 49 42 50 41 54 48 20  DIF..CRTLIBPATH
2770: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 3a 5c  = $(CRTLIBPATH:\ 2780: 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f \=\)..# Check fo 2790: 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 r the command ma 27a0: 63 72 6f 20 4e 43 43 2e 20 20 54 68 69 73 20 73 cro NCC. This s 27b0: 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 hould point to t 27c0: 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 he compiler bina 27d0: 72 79 0a 23 20 66 6f 72 20 74 68 65 20 70 6c 61 ry.# for the pla 27e0: 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c tform the compil 27f0: 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 ation process is 2800: 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 6f 6e taking place on 2810: 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 0a . If it is not. 2820: 23 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c # defined, simpl 2830: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 68 y define it to h 2840: 61 76 65 20 74 68 65 20 73 61 6d 65 20 76 61 6c ave the same val 2850: 75 65 20 61 73 20 74 68 65 20 43 43 20 6d 61 63 ue as the CC mac 2860: 72 6f 2e 20 20 57 68 65 6e 0a 23 20 63 72 6f 73 ro. When.# cros 2870: 73 2d 63 6f 6d 70 69 6c 69 6e 67 2c 20 69 74 20 s-compiling, it 2880: 69 73 20 73 75 67 67 65 73 74 65 64 20 74 68 61 is suggested tha 2890: 74 20 74 68 69 73 20 6d 61 63 72 6f 20 62 65 20 t this macro be 28a0: 6d 6f 64 69 66 69 65 64 20 76 69 61 20 74 68 65 modified via the 28b0: 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 command.# line 28c0: 28 73 69 6e 63 65 20 6e 6d 61 6b 65 20 69 74 73 (since nmake its 28d0: 65 6c 66 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f elf does not pro 28e0: 76 69 64 65 20 61 20 62 75 69 6c 74 2d 69 6e 20 vide a built-in 28f0: 6d 65 74 68 6f 64 20 74 6f 20 67 75 65 73 73 20 method to guess 2900: 69 74 29 2e 0a 23 20 46 6f 72 20 65 78 61 6d 70 it)..# For examp 2910: 6c 65 2c 20 74 6f 20 75 73 65 20 74 68 65 20 78 le, to use the x 2920: 38 36 20 63 6f 6d 70 69 6c 65 72 20 77 68 65 6e 86 compiler when 2930: 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 cross-compiling 2940: 20 66 6f 72 20 78 36 34 2c 20 61 20 63 6f 6d 6d for x64, a comm 2950: 61 6e 64 0a 23 20 6c 69 6e 65 20 73 69 6d 69 6c and.# line simil 2960: 61 72 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 ar to the follow 2970: 69 6e 67 20 63 6f 75 6c 64 20 62 65 20 75 73 65 ing could be use 2980: 64 20 28 61 6c 6c 20 6f 6e 20 6f 6e 65 20 6c 69 d (all on one li 2990: 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 ne):.#.# nma 29a0: 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d ke /f Makefile.m 29b0: 73 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 sc sqlite3.dll.# 29c0: 20 20 20 20 20 20 20 20 20 20 20 58 43 4f 4d 50 XCOMP 29d0: 49 4c 45 3d 31 20 55 53 45 5f 4e 41 54 49 56 45 ILE=1 USE_NATIVE 29e0: 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a 23 20 _LIBPATHS=1.#.# 29f0: 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 74 Alternatively, t 2a00: 68 65 20 66 75 6c 6c 20 70 61 74 68 20 61 6e 64 he full path and 2a10: 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 74 68 file name to th 2a20: 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 e compiler binar 2a30: 79 20 66 6f 72 20 74 68 65 0a 23 20 70 6c 61 74 y for the.# plat 2a40: 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 form the compila 2a50: 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 20 tion process is 2a60: 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 6d 61 79 taking place may 2a70: 20 62 65 20 73 70 65 63 69 66 69 65 64 20 28 61 be specified (a 2a80: 6c 6c 20 6f 6e 0a 23 20 6f 6e 65 20 6c 69 6e 65 ll on.# one line 2a90: 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65 ):.#.# nmake 2aa0: 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 /f Makefile.msc 2ab0: 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20 sqlite3.dll.# 2ac0: 20 20 20 20 20 20 20 20 20 22 4e 43 43 3d 22 22 "NCC="" 2ad0: 25 56 43 49 4e 53 54 41 4c 4c 44 49 52 25 5c 62 %VCINSTALLDIR%\b 2ae0: 69 6e 5c 63 6c 2e 65 78 65 22 22 22 0a 23 20 20 in\cl.exe""".# 2af0: 20 20 20 20 20 20 20 20 20 55 53 45 5f 4e 41 54 USE_NAT 2b00: 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 IVE_LIBPATHS=1.# 2b10: 0a 21 49 46 44 45 46 20 4e 43 43 0a 4e 43 43 20 .!IFDEF NCC.NCC 2b20: 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 =$(NCC:\\=\).!E
2b30: 4c 53 45 49 46 20 24 28 58 43 4f 4d 50 49 4c 45  LSEIF $(XCOMPILE 2b40: 29 21 3d 30 0a 4e 43 43 20 3d 20 22 24 28 56 43 )!=0.NCC = "$(VC
2b50: 49 4e 53 54 41 4c 4c 44 49 52 29 5c 62 69 6e 5c  INSTALLDIR)\bin\
2b60: 24 28 43 43 29 22 0a 4e 43 43 20 3d 20 24 28 4e  $(CC)".NCC =$(N
2b70: 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45 0a 4e  CC:\\=\).!ELSE.N
2b80: 43 43 20 3d 20 24 28 43 43 29 0a 21 45 4e 44 49  CC = $(CC).!ENDI 2b90: 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 F..# Check for t 2ba0: 68 65 20 4d 53 56 43 20 6e 61 74 69 76 65 20 72 he MSVC native r 2bb0: 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 70 untime library p 2bc0: 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 ath macro. Othe 2bd0: 72 77 69 73 65 2c 0a 23 20 74 68 69 73 20 76 61 rwise,.# this va 2be0: 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 lue will default 2bf0: 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69 to the 'lib' di 2c00: 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 rectory undernea 2c10: 74 68 20 74 68 65 20 4d 53 56 43 0a 23 20 69 6e th the MSVC.# in 2c20: 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 stallation direc 2c30: 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 tory..#.!IFNDEF 2c40: 4e 43 52 54 4c 49 42 50 41 54 48 0a 4e 43 52 54 NCRTLIBPATH.NCRT 2c50: 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43 49 4e LIBPATH =$(VCIN
2c60: 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45  STALLDIR)\lib.!E
2c70: 4e 44 49 46 0a 0a 4e 43 52 54 4c 49 42 50 41 54  NDIF..NCRTLIBPAT
2c80: 48 20 3d 20 24 28 4e 43 52 54 4c 49 42 50 41 54  H = $(NCRTLIBPAT 2c90: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b H:\\=\)..# Check 2ca0: 20 66 6f 72 20 74 68 65 20 50 6c 61 74 66 6f 72 for the Platfor 2cb0: 6d 20 53 44 4b 20 6c 69 62 72 61 72 79 20 70 61 m SDK library pa 2cc0: 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 th macro. Other 2cd0: 77 69 73 65 2c 20 74 68 69 73 0a 23 20 76 61 6c wise, this.# val 2ce0: 75 65 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 ue will default 2cf0: 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69 72 to the 'lib' dir 2d00: 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 ectory underneat 2d10: 68 20 74 68 65 20 57 69 6e 64 6f 77 73 0a 23 20 h the Windows.# 2d20: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e SDK installation 2d30: 20 64 69 72 65 63 74 6f 72 79 20 28 74 68 65 20 directory (the 2d40: 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 environment vari 2d50: 61 62 6c 65 20 75 73 65 64 20 61 70 70 65 61 72 able used appear 2d60: 73 0a 23 20 74 6f 20 62 65 20 61 76 61 69 6c 61 s.# to be availa 2d70: 62 6c 65 20 77 68 65 6e 20 75 73 69 6e 67 20 56 ble when using V 2d80: 69 73 75 61 6c 20 43 2b 2b 20 32 30 30 38 20 6f isual C++ 2008 o 2d90: 72 20 6c 61 74 65 72 20 76 69 61 20 74 68 65 0a r later via the. 2da0: 23 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 29 2e # command line). 2db0: 0a 23 0a 21 49 46 4e 44 45 46 20 4e 53 44 4b 4c .#.!IFNDEF NSDKL 2dc0: 49 42 50 41 54 48 0a 4e 53 44 4b 4c 49 42 50 41 IBPATH.NSDKLIBPA 2dd0: 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 53 44 TH =$(WINDOWSSD
2de0: 4b 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46  KDIR)\lib.!ENDIF
2df0: 0a 0a 4e 53 44 4b 4c 49 42 50 41 54 48 20 3d 20  ..NSDKLIBPATH =
2e00: 24 28 4e 53 44 4b 4c 49 42 50 41 54 48 3a 5c 5c  $(NSDKLIBPATH:\\ 2e10: 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 =\)..# Check for 2e20: 20 74 68 65 20 55 43 52 54 20 6c 69 62 72 61 72 the UCRT librar 2e30: 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f y path macro. O 2e40: 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 20 76 therwise, this v 2e50: 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 alue will.# defa 2e60: 75 6c 74 20 74 6f 20 74 68 65 20 76 65 72 73 69 ult to the versi 2e70: 6f 6e 2d 73 70 65 63 69 66 69 63 2c 20 70 6c 61 on-specific, pla 2e80: 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 63 20 27 tform-specific ' 2e90: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 0a 23 lib' directory.# 2ea0: 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 underneath the 2eb0: 57 69 6e 64 6f 77 73 20 53 44 4b 20 69 6e 73 74 Windows SDK inst 2ec0: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f allation directo 2ed0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 43 ry..#.!IFNDEF UC 2ee0: 52 54 4c 49 42 50 41 54 48 0a 55 43 52 54 4c 49 RTLIBPATH.UCRTLI 2ef0: 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 BPATH =$(WINDOW
2f00: 53 53 44 4b 44 49 52 29 5c 6c 69 62 5c 24 28 57  SSDKDIR)\lib\$(W 2f10: 49 4e 44 4f 57 53 53 44 4b 4c 49 42 56 45 52 53 INDOWSSDKLIBVERS 2f20: 49 4f 4e 29 5c 75 63 72 74 5c 24 28 50 4c 41 54 ION)\ucrt\$(PLAT
2f30: 46 4f 52 4d 29 0a 21 45 4e 44 49 46 0a 0a 55 43  FORM).!ENDIF..UC
2f40: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 55 43  RTLIBPATH = $(UC 2f50: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a RTLIBPATH:\\=\). 2f60: 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e .# C compiler an 2f70: 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 d options for us 2f80: 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 e in building ex 2f90: 65 63 75 74 61 62 6c 65 73 20 74 68 61 74 0a 23 ecutables that.# 2fa0: 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 will run on the 2fb0: 20 70 6c 61 74 66 6f 72 6d 20 74 68 61 74 20 69 platform that i 2fc0: 73 20 64 6f 69 6e 67 20 74 68 65 20 62 75 69 6c s doing the buil 2fd0: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46 d..#.!IF$(USE_F
2fe0: 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 42 43 43 20  ULLWARN)!=0.BCC
2ff0: 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f  = $(NCC) -nologo 3000: 20 2d 57 34 20 24 28 43 43 4f 50 54 53 29 20 24 -W4$(CCOPTS) $3010: 28 42 43 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a (BCCOPTS).!ELSE. 3020: 42 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f BCC =$(NCC) -no
3030: 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f 50 54  logo -W3 $(CCOPT 3040: 53 29 20 24 28 42 43 43 4f 50 54 53 29 0a 21 45 S)$(BCCOPTS).!E
3050: 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66  NDIF..# Check if
3060: 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20 6c   assembly code l
3070: 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20 62  istings should b
3080: 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20  e generated for
3090: 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f 64  the source.# cod
30a0: 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63 6f  e files to be co
30b0: 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28  mpiled..#.!IF $( 30c0: 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d 30 USE_LISTINGS)!=0 30d0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 46 .BCC =$(BCC) -F
30e0: 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68  Acs.!ENDIF..# Ch
30f0: 65 63 6b 20 69 66 20 74 68 65 20 6e 61 74 69 76  eck if the nativ
3100: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 20  e library paths
3110: 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 77  should be used w
3120: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a 23 20  hen compiling.#
3130: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  the command line
3140: 20 74 6f 6f 6c 73 20 75 73 65 64 20 64 75 72 69   tools used duri
3150: 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69  ng the compilati
3160: 6f 6e 20 70 72 6f 63 65 73 73 2e 20 20 49 66 0a  on process.  If.
3170: 23 20 73 6f 2c 20 73 65 74 20 74 68 65 20 6e 65  # so, set the ne
3180: 63 65 73 73 61 72 79 20 6d 61 63 72 6f 20 6e 6f  cessary macro no
3190: 77 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4e  w..#.!IF $(USE_N 31a0: 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 29 21 ATIVE_LIBPATHS)! 31b0: 3d 30 0a 4e 4c 54 4c 49 42 50 41 54 48 53 20 3d =0.NLTLIBPATHS = 31c0: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 43 52 "/LIBPATH:$(NCR
31d0: 54 4c 49 42 50 41 54 48 29 22 20 22 2f 4c 49 42  TLIBPATH)" "/LIB
31e0: 50 41 54 48 3a 24 28 4e 53 44 4b 4c 49 42 50 41  PATH:$(NSDKLIBPA 31f0: 54 48 29 22 0a 0a 21 49 46 44 45 46 20 4e 55 43 TH)"..!IFDEF NUC 3200: 52 54 4c 49 42 50 41 54 48 0a 4e 55 43 52 54 4c RTLIBPATH.NUCRTL 3210: 49 42 50 41 54 48 20 3d 20 24 28 4e 55 43 52 54 IBPATH =$(NUCRT
3220: 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4e 4c  LIBPATH:\\=\).NL
3230: 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4e 4c  TLIBPATHS = $(NL 3240: 54 4c 49 42 50 41 54 48 53 29 20 22 2f 4c 49 42 TLIBPATHS) "/LIB 3250: 50 41 54 48 3a 24 28 4e 55 43 52 54 4c 49 42 50 PATH:$(NUCRTLIBP
3260: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e  ATH)".!ENDIF.!EN
3270: 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65  DIF..# C compile
3280: 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f  r and options fo
3290: 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e  r use in buildin
32a0: 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 68  g executables th
32b0: 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e  at.# will run on
32c0: 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74   the target plat
32d0: 66 6f 72 6d 2e 20 20 28 42 43 43 20 61 6e 64 20  form.  (BCC and
32e0: 54 43 43 20 61 72 65 20 75 73 75 61 6c 6c 79 20  TCC are usually
32f0: 74 68 65 0a 23 20 73 61 6d 65 20 75 6e 6c 65 73  the.# same unles
3300: 73 20 79 6f 75 72 20 61 72 65 20 63 72 6f 73 73  s your are cross
3310: 2d 63 6f 6d 70 69 6c 69 6e 67 2e 29 0a 23 0a 21  -compiling.).#.!
3320: 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52  IF $(USE_FULLWAR 3330: 4e 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 43 43 N)!=0.TCC =$(CC
3340: 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 2d 44  ) -nologo -W4 -D
3350: 49 4e 43 4c 55 44 45 5f 4d 53 56 43 5f 48 3d 31  INCLUDE_MSVC_H=1
3360: 20 24 28 43 43 4f 50 54 53 29 20 24 28 54 43 43   $(CCOPTS)$(TCC
3370: 4f 50 54 53 29 0a 21 45 4c 53 45 0a 54 43 43 20  OPTS).!ELSE.TCC
3380: 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20  = $(CC) -nologo 3390: 2d 57 33 20 24 28 43 43 4f 50 54 53 29 20 24 28 -W3$(CCOPTS) $( 33a0: 54 43 43 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a TCCOPTS).!ENDIF. 33b0: 0a 23 20 43 68 65 63 6b 20 69 66 20 77 61 72 6e .# Check if warn 33c0: 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20 74 ings should be t 33d0: 72 65 61 74 65 64 20 61 73 20 65 72 72 6f 72 73 reated as errors 33e0: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 2e when compiling. 33f0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46 41 54 .#.!IF$(USE_FAT
3400: 41 4c 5f 57 41 52 4e 29 21 3d 30 0a 54 43 43 20  AL_WARN)!=0.TCC
3410: 3d 20 24 28 54 43 43 29 20 2d 57 58 0a 21 45 4e  = $(TCC) -WX.!EN 3420: 44 49 46 0a 0a 54 43 43 20 3d 20 24 28 54 43 43 DIF..TCC =$(TCC
3430: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49  ) -DSQLITE_OS_WI
3440: 4e 3d 31 20 2d 49 2e 20 2d 49 24 28 54 4f 50 29  N=1 -I. -I$(TOP) 3450: 20 2d 49 24 28 54 4f 50 29 5c 73 72 63 20 2d 66 -I$(TOP)\src -f
3460: 70 3a 70 72 65 63 69 73 65 0a 52 43 43 20 3d 20  p:precise.RCC =
3470: 24 28 52 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f  $(RC) -DSQLITE_O 3480: 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28 S_WIN=1 -I. -I$(
3490: 54 4f 50 29 20 2d 49 24 28 54 4f 50 29 5c 73 72  TOP) -I$(TOP)\sr 34a0: 63 20 24 28 52 43 4f 50 54 53 29 20 24 28 52 43 c$(RCOPTS) $(RC 34b0: 43 4f 50 54 53 29 0a 0a 23 20 43 68 65 63 6b 20 COPTS)..# Check 34c0: 69 66 20 77 65 20 77 61 6e 74 20 74 6f 20 75 73 if we want to us 34d0: 65 20 74 68 65 20 22 73 74 64 63 61 6c 6c 22 20 e the "stdcall" 34e0: 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 calling conventi 34f0: 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e on when compilin 3500: 67 2e 0a 23 20 54 68 69 73 20 69 73 20 6e 6f 74 g..# This is not 3510: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 supported by th 3520: 65 20 63 6f 6d 70 69 6c 65 72 73 20 66 6f 72 20 e compilers for 3530: 6e 6f 6e 2d 78 38 36 20 70 6c 61 74 66 6f 72 6d non-x86 platform 3540: 73 2e 20 20 49 74 20 73 68 6f 75 6c 64 0a 23 20 s. It should.# 3550: 61 6c 73 6f 20 62 65 20 6e 6f 74 65 64 20 68 65 also be noted he 3560: 72 65 20 74 68 61 74 20 62 75 69 6c 64 69 6e 67 re that building 3570: 20 61 6e 79 20 74 61 72 67 65 74 20 77 69 74 68 any target with 3580: 20 74 68 65 73 65 20 22 73 74 64 63 61 6c 6c 22 these "stdcall" 3590: 20 6f 70 74 69 6f 6e 73 0a 23 20 77 69 6c 6c 20 options.# will 35a0: 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 66 61 69 6c most likely fail 35b0: 20 69 66 20 74 68 65 20 54 63 6c 20 6c 69 62 72 if the Tcl libr 35c0: 61 72 79 20 69 73 20 61 6c 73 6f 20 72 65 71 75 ary is also requ 35d0: 69 72 65 64 2e 20 20 54 68 69 73 20 69 73 20 64 ired. This is d 35e0: 75 65 0a 23 20 74 6f 20 68 6f 77 20 74 68 65 20 ue.# to how the 35f0: 54 63 6c 20 6c 69 62 72 61 72 79 20 66 75 6e 63 Tcl library func 3600: 74 69 6f 6e 73 20 61 72 65 20 64 65 63 6c 61 72 tions are declar 3610: 65 64 20 61 6e 64 20 65 78 70 6f 72 74 65 64 20 ed and exported 3620: 28 69 2e 65 2e 20 77 69 74 68 6f 75 74 0a 23 20 (i.e. without.# 3630: 61 6e 20 65 78 70 6c 69 63 69 74 20 63 61 6c 6c an explicit call 3640: 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 ing convention, 3650: 77 68 69 63 68 20 72 65 73 75 6c 74 73 20 69 6e which results in 3660: 20 22 63 64 65 63 6c 22 29 2e 0a 23 0a 21 49 46 "cdecl")..#.!IF 3670: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21$(USE_STDCALL)!
3680: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1 3690: 30 29 21 3d 30 0a 21 49 46 20 22 24 28 50 4c 41 0)!=0.!IF "$(PLA
36a0: 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43  TFORM)"=="x86".C
36b0: 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ORE_CCONV_OPTS =
36c0: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44   -Gz -DSQLITE_CD
36d0: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51  ECL=__cdecl -DSQ
36e0: 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73  LITE_APICALL=__s
36f0: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3700: 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61  CALLBACK=__stdca
3710: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41  ll -DSQLITE_SYSA
3720: 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48 45  PI=__stdcall.SHE
3730: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20  LL_CCONV_OPTS =
3740: 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45  -Gz -DSQLITE_CDE
3750: 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c  CL=__cdecl -DSQL
3760: 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74  ITE_APICALL=__st
3770: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43  dcall -DSQLITE_C
3780: 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c  ALLBACK=__stdcal
3790: 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50  l -DSQLITE_SYSAP
37a0: 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c 3c  I=__stdcall.# <<
37b0: 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e  mark>>.TEST_CCON
37c0: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53  V_OPTS = -Gz -DS
37d0: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64  QLITE_CDECL=__cd
37e0: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49  ecl -DSQLITE_API
37f0: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  CALL=__stdcall -
3800: 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b  DSQLITE_CALLBACK
3810: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3820: 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64  ITE_SYSAPI=__std
3830: 63 61 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f 53  call -DINCLUDE_S
3840: 51 4c 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d 44  QLITE_TCL_H=1 -D
3850: 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f 5f  SQLITE_TCLAPI=__
3860: 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  cdecl.# <</mark>
3870: 3e 0a 21 45 4c 53 45 0a 21 49 46 4e 44 45 46 20  >.!ELSE.!IFNDEF
3880: 50 4c 41 54 46 4f 52 4d 0a 43 4f 52 45 5f 43 43  PLATFORM.CORE_CC
3890: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
38a0: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
38b0: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41  cdecl -DSQLITE_A
38c0: 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  PICALL=__stdcall
38d0: 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41   -DSQLITE_CALLBA
38e0: 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  CK=__stdcall -DS
38f0: 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73  QLITE_SYSAPI=__s
3900: 74 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f  tdcall.SHELL_CCO
3910: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44  NV_OPTS = -Gz -D
3920: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63  SQLITE_CDECL=__c
3930: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50  decl -DSQLITE_AP
3940: 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20  ICALL=__stdcall
3950: 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43  -DSQLITE_CALLBAC
3960: 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  K=__stdcall -DSQ
3970: 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74  LITE_SYSAPI=__st
3980: 64 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  dcall.# <<mark>>
3990: 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53  .TEST_CCONV_OPTS
39a0: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
39b0: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
39c0: 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f  SQLITE_APICALL=_
39d0: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
39e0: 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64  E_CALLBACK=__std
39f0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59  call -DSQLITE_SY
3a00: 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  SAPI=__stdcall -
3a10: 44 49 4e 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f  DINCLUDE_SQLITE_
3a20: 54 43 4c 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45  TCL_H=1 -DSQLITE
3a30: 5f 54 43 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a  _TCLAPI=__cdecl.
3a40: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53  # <</mark>>.!ELS
3a50: 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54  E.CORE_CCONV_OPT
3a60: 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f  S =.SHELL_CCONV_
3a70: 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e  OPTS =.# <<mark>
3a80: 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54  >.TEST_CCONV_OPT
3a90: 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  S =.# <</mark>>.
3aa0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45  !ENDIF.!ENDIF.!E
3ab0: 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f  LSE.CORE_CCONV_O
3ac0: 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e  PTS =.SHELL_CCON
3ad0: 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72  V_OPTS =.# <<mar
3ae0: 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f  k>>.TEST_CCONV_O
3af0: 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  PTS =.# <</mark>
3b00: 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  >.!ENDIF..# Thes
3b10: 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c  e are additional
3b20: 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e   compiler option
3b30: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 63  s used for the c
3b40: 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ore library..#.!
3b50: 49 46 4e 44 45 46 20 43 4f 52 45 5f 43 4f 4d 50  IFNDEF CORE_COMP
3b60: 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24 28 44  ILE_OPTS.!IF $(D 3b70: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 YNAMIC_SHELL)!=0 3b80: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 ||$(FOR_WIN10)
3b90: 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  !=0.CORE_COMPILE
3ba0: 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 5f 43  _OPTS = $(CORE_C 3bb0: 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c CONV_OPTS) -DSQL 3bc0: 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 ITE_API=__declsp 3bd0: 65 63 28 64 6c 6c 65 78 70 6f 72 74 29 0a 21 45 ec(dllexport).!E 3be0: 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 LSE.CORE_COMPILE 3bf0: 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 5f 43 _OPTS =$(CORE_C
3c00: 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44 49  CONV_OPTS).!ENDI
3c10: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73  F.!ENDIF..# Thes
3c20: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69  e are the additi
3c30: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61  onal targets tha
3c40: 74 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  t the core libra
3c50: 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64  ry should depend
3c60: 20 6f 6e 0a 23 20 77 68 65 6e 20 6c 69 6e 6b 69   on.# when linki
3c70: 6e 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f  ng..#.!IFNDEF CO
3c80: 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a 21 49 46 20  RE_LINK_DEP.!IF
3c90: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL) 3ca0: 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 !=0.CORE_LINK_DE 3cb0: 50 20 3d 0a 21 45 4c 53 45 49 46 20 24 28 46 4f P =.!ELSEIF$(FO
3cc0: 52 5f 57 49 4e 31 30 29 3d 3d 30 20 7c 7c 20 22  R_WIN10)==0 || "
3cd0: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78  $(PLATFORM)"=="x 3ce0: 38 36 22 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 86".CORE_LINK_DE 3cf0: 50 20 3d 20 73 71 6c 69 74 65 33 2e 64 65 66 0a P = sqlite3.def. 3d00: 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f !ELSE.CORE_LINK_ 3d10: 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e DEP =.!ENDIF.!EN 3d20: 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 DIF..# These are 3d30: 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b additional link 3d40: 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 er options used 3d50: 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 for the core lib 3d60: 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 rary..#.!IFNDEF 3d70: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 21 CORE_LINK_OPTS.! 3d80: 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 IF$(DYNAMIC_SHE
3d90: 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b  LL)!=0.CORE_LINK
3da0: 5f 4f 50 54 53 20 3d 0a 21 45 4c 53 45 49 46 20  _OPTS =.!ELSEIF
3db0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20  $(FOR_WIN10)==0 3dc0: 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 || "$(PLATFORM)"
3dd0: 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e  =="x86".CORE_LIN
3de0: 4b 5f 4f 50 54 53 20 3d 20 2f 44 45 46 3a 73 71  K_OPTS = /DEF:sq
3df0: 6c 69 74 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a  lite3.def.!ELSE.
3e00: 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d  CORE_LINK_OPTS =
3e10: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
3e20: 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69  # These are addi
3e30: 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20  tional compiler
3e40: 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72  options used for
3e50: 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75   the shell execu
3e60: 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46  table..#.!IFNDEF
3e70: 20 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f   SHELL_COMPILE_O
3e80: 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49  PTS.!IF $(DYNAMI 3e90: 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 C_SHELL)!=0 ||$
3ea0: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53  (FOR_WIN10)!=0.S
3eb0: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HELL_COMPILE_OPT
3ec0: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43 4f 4e  S = $(SHELL_CCON 3ed0: 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 V_OPTS) -DSQLITE 3ee0: 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65 63 28 _API=__declspec( 3ef0: 64 6c 6c 69 6d 70 6f 72 74 29 0a 21 45 4c 53 45 dllimport).!ELSE 3f00: 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f .SHELL_COMPILE_O 3f10: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43 PTS =$(SHELL_CC
3f20: 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44 49 46  ONV_OPTS).!ENDIF
3f30: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This
3f40: 69 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f  is the source co
3f50: 64 65 20 74 68 61 74 20 74 68 65 20 73 68 65 6c  de that the shel
3f60: 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 68 6f  l executable sho
3f70: 75 6c 64 20 62 65 20 63 6f 6d 70 69 6c 65 64 0a  uld be compiled.
3f80: 23 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44 45  # with..#.!IFNDE
3f90: 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43  F SHELL_CORE_SRC
3fa0: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S 3fb0: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f HELL)!=0 ||$(FO
3fc0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c  R_WIN10)!=0.SHEL
3fd0: 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a 21 45 4c  L_CORE_SRC =.!EL
3fe0: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52  SE.SHELL_CORE_SR
3ff0: 43 20 3d 20 24 28 53 51 4c 49 54 45 33 43 29 0a  C = $(SQLITE3C). 4000: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 !ENDIF.!ENDIF..# 4010: 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72 This is the cor 4020: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74 e library that t 4030: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 he shell executa 4040: 62 6c 65 20 73 68 6f 75 6c 64 20 64 65 70 65 6e ble should depen 4050: 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 d on..#.!IFNDEF 4060: 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21 SHELL_CORE_DEP.! 4070: 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 IF$(DYNAMIC_SHE
4080: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_ 4090: 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f WIN10)!=0.SHELL_ 40a0: 43 4f 52 45 5f 44 45 50 20 3d 20 24 28 53 51 4c CORE_DEP =$(SQL
40b0: 49 54 45 33 44 4c 4c 29 0a 21 45 4c 53 45 0a 53  ITE3DLL).!ELSE.S
40c0: 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 0a  HELL_CORE_DEP =.
40d0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
40e0: 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72   This is the cor
40f0: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 74  e library that t
4100: 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61  he shell executa
4110: 62 6c 65 20 73 68 6f 75 6c 64 20 6c 69 6e 6b 20  ble should link
4120: 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44 45 46 20  with..#.!IFNDEF
4130: 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 0a 21  SHELL_CORE_LIB.!
4140: 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45  IF $(DYNAMIC_SHE 4150: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f LL)!=0 ||$(FOR_
4160: 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f  WIN10)!=0.SHELL_
4170: 43 4f 52 45 5f 4c 49 42 20 3d 20 24 28 53 51 4c  CORE_LIB = $(SQL 4180: 49 54 45 33 4c 49 42 29 0a 21 45 4c 53 45 0a 53 ITE3LIB).!ELSE.S 4190: 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a HELL_CORE_LIB =. 41a0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 !ENDIF.!ENDIF..# 41b0: 20 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 These are addit 41c0: 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 ional linker opt 41d0: 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 ions used for th 41e0: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 e shell executab 41f0: 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 le..#.!IFNDEF SH 4200: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48 ELL_LINK_OPTS.SH 4210: 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 ELL_LINK_OPTS = 4220: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42$(SHELL_CORE_LIB
4230: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  ).!ENDIF..# Chec
4240: 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20 63 6f  k if assembly co
4250: 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68 6f 75  de listings shou
4260: 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 64 20  ld be generated
4270: 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a 23  for the source.#
4280: 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f 20 62   code files to b
4290: 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49  e compiled..#.!I
42a0: 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e 47 53  F $(USE_LISTINGS 42b0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 )!=0.TCC =$(TCC
42c0: 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a  ) -FAcs.!ENDIF..
42d0: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  # When compiling
42e0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 6f 72   the library for
42f0: 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52   use in the WinR
4300: 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23  T environment,.#
4310: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63   the following c
4320: 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69  ompile-time opti
4330: 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 73 65 64  ons must be used
4340: 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69   as well to.# di
4350: 73 61 62 6c 65 20 75 73 65 20 6f 66 20 57 69 6e  sable use of Win
4360: 33 32 20 41 50 49 73 20 74 68 61 74 20 61 72 65  32 APIs that are
4370: 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61   not available a
4380: 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75  nd to enable.# u
4390: 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49 73  se of Win32 APIs
43a0: 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69 66   that are specif
43b0: 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 38 20  ic to Windows 8
43c0: 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a  and/or WinRT..#.
43d0: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29  !IF $(FOR_WINRT) 43e0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 !=0.TCC =$(TCC)
43f0: 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e   -DSQLITE_OS_WIN
4400: 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  RT=1.RCC = $(RCC 4410: 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 ) -DSQLITE_OS_WI 4420: 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 NRT=1.TCC =$(TC
4430: 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49  C) -DWINAPI_FAMI
4440: 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59  LY=WINAPI_FAMILY
4450: 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 52 43 43  _APP.RCC = $(RCC 4460: 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c ) -DWINAPI_FAMIL 4470: 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f Y=WINAPI_FAMILY_ 4480: 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20 APP.!ENDIF..# C 4490: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 compiler options 44a0: 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 for the Windows 44b0: 20 31 30 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65 10 platform (ne 44c0: 65 64 73 20 4d 53 56 43 20 32 30 31 35 29 2e 0a eds MSVC 2015).. 44d0: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 #.!IF$(FOR_WIN1
44e0: 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  0)!=0.TCC = $(TC 44f0: 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d 44 5f C) /d2guard4 -D_ 4500: 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 ARM_WINAPI_PARTI 4510: 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b TION_DESKTOP_SDK 4520: 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d _AVAILABLE.BCC = 4530: 20 24 28 42 43 43 29 20 2f 64 32 67 75 61 72 64$(BCC) /d2guard
4540: 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f  4 -D_ARM_WINAPI_
4550: 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f  PARTITION_DESKTO
4560: 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a  P_SDK_AVAILABLE.
4570: 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20  !ENDIF..# Also,
4580: 77 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d  we need to dynam
4590: 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74  ically link to t
45a0: 68 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43 20  he correct MSVC
45b0: 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20 63  runtime.# when c
45c0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e  ompiling for Win
45d0: 52 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20 6f  RT (e.g. debug o
45e0: 72 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69 66  r release) OR if
45f0: 20 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f 44   the.# USE_CRT_D
4600: 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65 74  LL option is set
4610: 20 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d 69   to force dynami
4620: 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f  cally linking to
4630: 20 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e 74   the.# MSVC runt
4640: 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21  ime library..#.!
4650: 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21  IF $(FOR_WINRT)! 4660: 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f =0 ||$(USE_CRT_
4670: 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44 45  DLL)!=0.!IF $(DE 4680: 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 BUG)>1.TCC =$(T
4690: 43 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24  CC) -MDd.BCC = $46a0: 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45 (BCC) -MDd.!ELSE 46b0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d .TCC =$(TCC) -M
46c0: 44 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  D.BCC = $(BCC) - 46d0: 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a MD.!ENDIF.!ELSE. 46e0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 54 !IF$(DEBUG)>1.T
46f0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 64  CC = $(TCC) -MTd 4700: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d .BCC =$(BCC) -M
4710: 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24  Td.!ELSE.TCC = $4720: 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20 (TCC) -MT.BCC = 4730: 24 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49$(BCC) -MT.!ENDI
4740: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61  F.!ENDIF..# <<ma
4750: 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c  rk>>.# The mksql
4760: 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b  ite3c.tcl and mk
4770: 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72  sqlite3h.tcl scr
4780: 69 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69  ipts will pull i
4790: 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 69 6f  n.# any extensio
47a0: 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 62  n header files b
47b0: 79 20 64 65 66 61 75 6c 74 2e 20 20 46 6f 72 20  y default.  For
47c0: 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  non-amalgamation
47d0: 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 20 6e 65  .# builds, we ne
47e0: 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20  ed to make sure
47f0: 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e  the compiler can
4800: 20 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21   find these..#.!
4810: 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d  IF $(USE_AMALGAM 4820: 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20 ATION)==0.TCC = 4830: 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c$(TCC) -I$(TOP)\ 4840: 65 78 74 5c 66 74 73 33 0a 52 43 43 20 3d 20 24 ext\fts3.RCC =$
4850: 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65  (RCC) -I$(TOP)\e 4860: 78 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24 28 xt\fts3.TCC =$(
4870: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex 4880: 74 5c 72 74 72 65 65 0a 52 43 43 20 3d 20 24 28 t\rtree.RCC =$(
4890: 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  RCC) -I$(TOP)\ex 48a0: 74 5c 72 74 72 65 65 0a 54 43 43 20 3d 20 24 28 t\rtree.TCC =$(
48b0: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex 48c0: 74 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20 t\session.RCC = 48d0: 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c$(RCC) -I$(TOP)\ 48e0: 65 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44 ext\session.!END 48f0: 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 IF..# The mksqli 4900: 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 20 te3c.tcl script 4910: 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 accepts some opt 4920: 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d ions on the comm 4930: 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65 and.# line. Whe 4940: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 n compiling with 4950: 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 6c debugging enabl 4960: 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 ed, some of thes 4970: 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 e.# options are 4980: 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64 necessary in ord 4990: 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75 er to allow debu 49a0: 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f gging symbols to 49b0: 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c .# work correctl 49c0: 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74 y with Visual St 49d0: 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 20 udio when using 49e0: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e the amalgamation 49f0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 ..#.!IFNDEF MKSQ 4a00: 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20 LITE3C_TOOL.!IF 4a10: 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41$(MINIMAL_AMALGA
4a20: 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c  MATION)!=0.MKSQL
4a30: 49 54 45 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54  ITE3C_TOOL = $(T 4a40: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 OP)\tool\mksqlit 4a50: 65 33 63 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45 e3c-noext.tcl.!E 4a60: 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 LSE.MKSQLITE3C_T 4a70: 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f OOL =$(TOP)\too
4a80: 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c  l\mksqlite3c.tcl
4a90: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
4aa0: 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45  !IFNDEF MKSQLITE
4ab0: 33 43 5f 41 52 47 53 0a 21 49 46 20 24 28 44 45  3C_ARGS.!IF $(DE 4ac0: 42 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33 BUG)>1.MKSQLITE3 4ad0: 43 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d C_ARGS = --linem 4ae0: 61 63 72 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51 acros.!ELSE.MKSQ 4af0: 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 0a 21 45 LITE3C_ARGS =.!E 4b00: 4e 44 49 46 0a 21 49 46 20 24 28 55 53 45 5f 53 NDIF.!IF$(USE_S
4b10: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  TDCALL)!=0 || $( 4b20: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b FOR_WIN10)!=0.MK 4b30: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20 SQLITE3C_ARGS = 4b40: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47$(MKSQLITE3C_ARG
4b50: 53 29 20 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a  S) --useapicall.
4b60: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
4b70: 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e   The mksqlite3h.
4b80: 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 65 70  tcl script accep
4b90: 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20  ts some options
4ba0: 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c  on the command l
4bb0: 69 6e 65 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70  ine..# When comp
4bc0: 69 6c 69 6e 67 20 77 69 74 68 20 73 74 64 63 61  iling with stdca
4bd0: 6c 6c 20 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65  ll support, some
4be0: 20 6f 66 20 74 68 65 73 65 20 6f 70 74 69 6f 6e   of these option
4bf0: 73 20 61 72 65 0a 23 20 6e 65 63 65 73 73 61 72  s are.# necessar
4c00: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53  y..#.!IFNDEF MKS
4c10: 51 4c 49 54 45 33 48 5f 41 52 47 53 0a 21 49 46  QLITE3H_ARGS.!IF
4c20: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)! 4c30: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 =0 ||$(FOR_WIN1
4c40: 30 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48  0)!=0.MKSQLITE3H
4c50: 5f 41 52 47 53 20 3d 20 2d 2d 75 73 65 61 70 69  _ARGS = --useapi
4c60: 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c  call.!ELSE.MKSQL
4c70: 49 54 45 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e  ITE3H_ARGS =.!EN
4c80: 44 49 46 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  DIF.!ENDIF.# <</
4c90: 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65  mark>>..# Define
4ca0: 20 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d   -DNDEBUG to com
4cb0: 70 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65 62  pile without deb
4cc0: 75 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f  ugging (i.e., fo
4cd0: 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73 61  r production usa
4ce0: 67 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74  ge).# Omitting t
4cf0: 68 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20 63  he define will c
4d00: 61 75 73 65 20 65 78 74 72 61 20 64 65 62 75 67  ause extra debug
4d10: 67 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65 20  ging code to be
4d20: 69 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20 69  inserted and.# i
4d30: 6e 63 6c 75 64 65 73 20 65 78 74 72 61 20 63 6f  ncludes extra co
4d40: 6d 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58 50  mments when "EXP
4d50: 4c 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75 73  LAIN stmt" is us
4d60: 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55  ed..#.!IF $(DEBU 4d70: 47 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 G)==0.TCC =$(TC
4d80: 43 29 20 2d 44 4e 44 45 42 55 47 0a 42 43 43 20  C) -DNDEBUG.BCC
4d90: 3d 20 24 28 42 43 43 29 20 2d 44 4e 44 45 42 55  = $(BCC) -DNDEBU 4da0: 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d G.RCC =$(RCC) -
4db0: 44 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a  DNDEBUG.!ENDIF..
4dc0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 30 20 7c  !IF $(DEBUG)>0 | 4dd0: 7c 20 24 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d |$(API_ARMOR)!=
4de0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10 4df0: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 )!=0.TCC =$(TCC
4e00: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
4e10: 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43  E_API_ARMOR=1.RC
4e20: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c  C = $(RCC) -DSQL 4e30: 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 ITE_ENABLE_API_A 4e40: 52 4d 4f 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 RMOR=1.!ENDIF..! 4e50: 49 46 20 24 28 44 45 42 55 47 29 3e 32 0a 54 43 IF$(DEBUG)>2.TC
4e60: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL 4e70: 49 54 45 5f 44 45 42 55 47 3d 31 0a 52 43 43 20 ITE_DEBUG=1.RCC 4e80: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 =$(RCC) -DSQLIT
4e90: 45 5f 44 45 42 55 47 3d 31 0a 21 49 46 20 24 28  E_DEBUG=1.!IF $( 4ea0: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d DYNAMIC_SHELL)== 4eb0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 0.TCC =$(TCC) -
4ec0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57  DSQLITE_ENABLE_W
4ed0: 48 45 52 45 54 52 41 43 45 20 2d 44 53 51 4c 49  HERETRACE -DSQLI
4ee0: 54 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54  TE_ENABLE_SELECT
4ef0: 54 52 41 43 45 0a 52 43 43 20 3d 20 24 28 52 43  TRACE.RCC = $(RC 4f00: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 C) -DSQLITE_ENAB 4f10: 4c 45 5f 57 48 45 52 45 54 52 41 43 45 20 2d 44 LE_WHERETRACE -D 4f20: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 SQLITE_ENABLE_SE 4f30: 4c 45 43 54 54 52 41 43 45 0a 21 45 4e 44 49 46 LECTTRACE.!ENDIF 4f40: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 .!ENDIF..!IF$(D
4f50: 45 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54  EBUG)>4 || $(OST 4f60: 52 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 RACE)!=0.TCC =$
4f70: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46  (TCC) -DSQLITE_F
4f80: 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20  ORCE_OS_TRACE=1
4f90: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f  -DSQLITE_DEBUG_O
4fa0: 53 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20  S_TRACE=1.RCC =
4fb0: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_ 4fc0: 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 FORCE_OS_TRACE=1 4fd0: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f -DSQLITE_DEBUG_ 4fe0: 4f 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 OS_TRACE=1.!ENDI 4ff0: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e F..!IF$(DEBUG)>
5000: 35 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  5.TCC = $(TCC) - 5010: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 DSQLITE_ENABLE_I 5020: 4f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 OTRACE=1.RCC =$
5030: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (RCC) -DSQLITE_E
5040: 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a  NABLE_IOTRACE=1.
5050: 21 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65 6e  !ENDIF..# Preven
5060: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74  t warnings about
5070: 20 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56 43   "insecure" MSVC
5080: 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79   runtime library
5090: 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69   functions.# bei
50a0: 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d  ng used..#.TCC =
50b0: 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f 53   $(TCC) -D_CRT_S 50c0: 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 ECURE_NO_DEPRECA 50d0: 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 TE -D_CRT_SECURE 50e0: 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 _NO_WARNINGS.BCC 50f0: 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54 =$(BCC) -D_CRT
5100: 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45  _SECURE_NO_DEPRE
5110: 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55  CATE -D_CRT_SECU
5120: 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52  RE_NO_WARNINGS.R
5130: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43  CC = $(RCC) -D_C 5140: 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 RT_SECURE_NO_DEP 5150: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 RECATE -D_CRT_SE 5160: 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 CURE_NO_WARNINGS 5170: 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e ..# Prevent warn 5180: 69 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70 72 ings about "depr 5190: 65 63 61 74 65 64 22 20 50 4f 53 49 58 20 66 75 ecated" POSIX fu 51a0: 6e 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 nctions being us 51b0: 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 ed..#.TCC =$(TC
51c0: 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44  C) -D_CRT_NONSTD
51d0: 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d  C_NO_DEPRECATE -
51e0: 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f  D_CRT_NONSTDC_NO
51f0: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20  _WARNINGS.BCC =
5200: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f  $(BCC) -D_CRT_NO 5210: 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 NSTDC_NO_DEPRECA 5220: 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 TE -D_CRT_NONSTD 5230: 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 C_NO_WARNINGS.RC 5240: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 C =$(RCC) -D_CR
5250: 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50  T_NONSTDC_NO_DEP
5260: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f  RECATE -D_CRT_NO
5270: 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47  NSTDC_NO_WARNING
5280: 53 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51 4c  S..# Use the SQL
5290: 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68 65  ite debugging he
52a0: 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a  ap subsystem?.#.
52b0: 21 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29 21  !IF $(MEMDEBUG)! 52c0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 =0.TCC =$(TCC)
52d0: 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55  -DSQLITE_MEMDEBU
52e0: 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  G=1.RCC = $(RCC) 52f0: 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 -DSQLITE_MEMDEB 5300: 55 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 UG=1..# Use nati 5310: 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 75 ve Win32 heap su 5320: 62 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64 20 bsystem instead 5330: 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a of malloc/free?. 5340: 23 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e 33 #.!ELSEIF$(WIN3
5350: 32 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d 20  2HEAP)!=0.TCC =
5360: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_ 5370: 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 WIN32_MALLOC=1.R 5380: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 CC =$(RCC) -DSQ
5390: 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f  LITE_WIN32_MALLO
53a0: 43 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65 20  C=1..# Validate
53b0: 74 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65 72  the heap on ever
53c0: 79 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20  y call into the
53d0: 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68 65 61  native Win32 hea
53e0: 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21  p subsystem?.#.!
53f0: 49 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54 43  IF $(DEBUG)>3.TC 5400: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c C =$(TCC) -DSQL
5410: 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43  ITE_WIN32_MALLOC
5420: 5f 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43 20  _VALIDATE=1.RCC
5430: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT 5440: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 E_WIN32_MALLOC_V 5450: 41 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 ALIDATE=1.!ENDIF 5460: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 .!ENDIF..# <<mar 5470: 6b 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 k>>.# The locati 5480: 6f 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20 68 ons of the Tcl h 5490: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72 eader and librar 54a0: 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 y files. Also, 54b0: 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 the library that 54c0: 0a 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 .# non-stubs ena 54d0: 62 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75 73 bled programs us 54e0: 69 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e ing Tcl must lin 54f0: 6b 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65 73 k against. Thes 5500: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 54 e variables.# (T 5510: 43 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 CLINCDIR, TCLLIB 5520: 44 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 DIR, and LIBTCL) 5530: 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 may be overridd 5540: 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 en via the envir 5550: 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 onment.# prior t 5560: 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 o running nmake 5570: 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 in order to matc 5580: 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 h the actual ins 5590: 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 talled location 55a0: 61 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e and.# version on 55b0: 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 this machine..# 55c0: 0a 21 49 46 4e 44 45 46 20 54 43 4c 49 4e 43 44 .!IFNDEF TCLINCD 55d0: 49 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 63 IR.TCLINCDIR = c 55e0: 3a 5c 74 63 6c 5c 69 6e 63 6c 75 64 65 0a 21 45 :\tcl\include.!E 55f0: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 NDIF..!IFNDEF TC 5600: 4c 4c 49 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 LLIBDIR.TCLLIBDI 5610: 52 20 3d 20 63 3a 5c 74 63 6c 5c 6c 69 62 0a 21 R = c:\tcl\lib.! 5620: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c ENDIF..!IFNDEF L 5630: 49 42 54 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 IBTCL.LIBTCL = t 5640: 63 6c 38 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a cl86.lib.!ENDIF. 5650: 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 .!IFNDEF LIBTCLS 5660: 54 55 42 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d TUB.LIBTCLSTUB = 5670: 20 74 63 6c 73 74 75 62 38 36 2e 6c 69 62 0a 21 tclstub86.lib.! 5680: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c ENDIF..!IFNDEF L 5690: 49 42 54 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c IBTCLPATH.LIBTCL 56a0: 50 41 54 48 20 3d 20 63 3a 5c 74 63 6c 5c 62 69 PATH = c:\tcl\bi 56b0: 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 n.!ENDIF..# The 56c0: 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 locations of the 56d0: 20 49 43 55 20 68 65 61 64 65 72 20 61 6e 64 20 ICU header and 56e0: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20 library files. 56f0: 54 68 65 73 65 20 76 61 72 69 61 62 6c 65 73 0a These variables. 5700: 23 20 28 49 43 55 49 4e 43 44 49 52 2c 20 49 43 # (ICUINCDIR, IC 5710: 55 4c 49 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 ULIBDIR, and LIB 5720: 49 43 55 29 20 6d 61 79 20 62 65 20 6f 76 65 72 ICU) may be over 5730: 72 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 ridden via the e 5740: 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 nvironment.# pri 5750: 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d or to running nm 5760: 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 ake in order to 5770: 6d 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c match the actual 5780: 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 installed locat 5790: 69 6f 6e 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 ion on.# this ma 57a0: 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 chine..#.!IFNDEF 57b0: 20 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e ICUINCDIR.ICUIN 57c0: 43 44 49 52 20 3d 20 63 3a 5c 69 63 75 5c 69 6e CDIR = c:\icu\in 57d0: 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 clude.!ENDIF..!I 57e0: 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49 52 0a FNDEF ICULIBDIR. 57f0: 49 43 55 4c 49 42 44 49 52 20 3d 20 63 3a 5c 69 ICULIBDIR = c:\i 5800: 63 75 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 cu\lib.!ENDIF..! 5810: 49 46 4e 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 IFNDEF LIBICU.LI 5820: 42 49 43 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 BICU = icuuc.lib 5830: 20 69 63 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 icuin.lib.!ENDI 5840: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 F..# This is the 5850: 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 command to use 5860: 66 6f 72 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d for tclsh - norm 5870: 61 6c 6c 79 20 6a 75 73 74 20 22 74 63 6c 73 68 ally just "tclsh 5880: 22 2c 20 62 75 74 20 77 65 20 6d 61 79 0a 23 20 ", but we may.# 5890: 6b 6e 6f 77 20 74 68 65 20 73 70 65 63 69 66 69 know the specifi 58a0: 63 20 76 65 72 73 69 6f 6e 20 77 65 20 77 61 6e c version we wan 58b0: 74 20 74 6f 20 75 73 65 2e 20 20 54 68 69 73 20 t to use. This 58c0: 76 61 72 69 61 62 6c 65 20 28 54 43 4c 53 48 5f variable (TCLSH_ 58d0: 43 4d 44 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 CMD) may be.# ov 58e0: 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65 erridden via the 58f0: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 environment pri 5900: 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d or to running nm 5910: 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 ake in order to 5920: 73 65 6c 65 63 74 20 61 0a 23 20 73 70 65 63 69 select a.# speci 5930: 66 69 63 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f fic Tcl shell to 5940: 20 75 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 use..#.!IFNDEF 5950: 54 43 4c 53 48 5f 43 4d 44 0a 54 43 4c 53 48 5f TCLSH_CMD.TCLSH_ 5960: 43 4d 44 20 3d 20 74 63 6c 73 68 0a 21 45 4e 44 CMD = tclsh.!END 5970: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a IF.# <</mark>>.. 5980: 23 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f # Compiler optio 5990: 6e 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72 ns needed for pr 59a0: 6f 67 72 61 6d 73 20 74 68 61 74 20 75 73 65 20 ograms that use 59b0: 74 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20 6c the readline() l 59c0: 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 ibrary..#.!IFNDE 59d0: 46 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 F READLINE_FLAGS 59e0: 0a 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20 .READLINE_FLAGS 59f0: 3d 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49 4e = -DHAVE_READLIN 5a00: 45 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 E=0.!ENDIF..# Th 5a10: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 70 e library that p 5a20: 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72 65 rograms using re 5a30: 61 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c 69 adline() must li 5a40: 6e 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49 nk against..#.!I 5a50: 46 4e 44 45 46 20 4c 49 42 52 45 41 44 4c 49 4e FNDEF LIBREADLIN 5a60: 45 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a E.LIBREADLINE =. 5a70: 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 !ENDIF..# Should 5a80: 20 74 68 65 20 64 61 74 61 62 61 73 65 20 65 6e the database en 5a90: 67 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65 64 gine be compiled 5aa0: 20 74 68 72 65 61 64 73 61 66 65 0a 23 0a 54 43 threadsafe.#.TC 5ab0: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c C =$(TCC) -DSQL
5ac0: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31  ITE_THREADSAFE=1
5ad0: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D 5ae0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 SQLITE_THREADSAF 5af0: 45 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 61 64 E=1..# Do thread 5b00: 73 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 20 s override each 5b10: 6f 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 79 20 others locks by 5b20: 64 65 66 61 75 6c 74 20 28 31 29 2c 20 6f 72 20 default (1), or 5b30: 64 6f 20 77 65 20 74 65 73 74 20 28 2d 31 29 0a do we test (-1). 5b40: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d #.TCC =$(TCC) -
5b50: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f  DSQLITE_THREAD_O
5b60: 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a  VERRIDE_LOCK=-1.
5b70: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS 5b80: 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 QLITE_THREAD_OVE 5b90: 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23 RRIDE_LOCK=-1..# 5ba0: 20 41 6e 79 20 74 61 72 67 65 74 20 6c 69 62 72 Any target libr 5bb0: 61 72 69 65 73 20 77 68 69 63 68 20 6c 69 62 73 aries which libs 5bc0: 71 6c 69 74 65 20 6d 75 73 74 20 62 65 20 6c 69 qlite must be li 5bd0: 6e 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 0a 21 nked against.#.! 5be0: 49 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c 49 IFNDEF TLIBS.TLI 5bf0: 42 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46 BS =.!ENDIF..# F 5c00: 6c 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 lags controlling 5c10: 20 75 73 65 20 6f 66 20 74 68 65 20 69 6e 20 6d use of the in m 5c20: 65 6d 6f 72 79 20 62 74 72 65 65 20 69 6d 70 6c emory btree impl 5c30: 65 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53 ementation.#.# S 5c40: 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 QLITE_TEMP_STORE 5c50: 20 69 73 20 30 20 74 6f 20 66 6f 72 63 65 20 74 is 0 to force t 5c60: 65 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 73 20 emporary tables 5c70: 74 6f 20 62 65 20 69 6e 20 61 20 66 69 6c 65 2c to be in a file, 5c80: 20 31 20 74 6f 0a 23 20 64 65 66 61 75 6c 74 20 1 to.# default 5c90: 74 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 64 65 to file, 2 to de 5ca0: 66 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c fault to memory, 5cb0: 20 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 65 20 and 3 to force 5cc0: 74 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 62 6c temporary.# tabl 5cd0: 65 73 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 es to always be 5ce0: 69 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43 in memory..#.TCC 5cf0: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 =$(TCC) -DSQLI
5d00: 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a  TE_TEMP_STORE=1.
5d10: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS 5d20: 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 QLITE_TEMP_STORE 5d30: 3d 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73 =1..# Enable/dis 5d40: 61 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65 78 able loadable ex 5d50: 74 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74 tensions, and ot 5d60: 68 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 her optional fea 5d70: 74 75 72 65 73 0a 23 20 62 61 73 65 64 20 6f 6e tures.# based on 5d80: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 configuration. 5d90: 28 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c (-DSQLITE_OMIT*, 5da0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 5db0: 2a 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 20 73 *)..# The same s 5dc0: 65 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45 et of OMIT and E 5dd0: 4e 41 42 4c 45 20 66 6c 61 67 73 20 73 68 6f 75 NABLE flags shou 5de0: 6c 64 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 ld be passed to 5df0: 74 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73 the.# LEMON pars 5e00: 65 72 20 67 65 6e 65 72 61 74 6f 72 20 61 6e 64 er generator and 5e10: 20 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61 the mkkeywordha 5e20: 73 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e sh tool as well. 5e30: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 ..# These are th 5e40: 65 20 72 65 71 75 69 72 65 64 20 53 51 4c 69 74 e required SQLit 5e50: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 e compilation op 5e60: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 tions used when 5e70: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 compiling for.# 5e80: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 the Windows plat 5e90: 66 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54 form..#.REQ_FEAT 5ea0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 URE_FLAGS =$(RE
5eb0: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
5ec0: 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52   -DSQLITE_MAX_TR
5ed0: 49 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30 0a  IGGER_DEPTH=100.
5ee0: 0a 23 20 49 66 20 77 65 20 61 72 65 20 6c 69 6e  .# If we are lin
5ef0: 6b 69 6e 67 20 74 6f 20 74 68 65 20 52 50 43 52  king to the RPCR
5f00: 54 34 20 6c 69 62 72 61 72 79 2c 20 65 6e 61 62  T4 library, enab
5f10: 6c 65 20 66 65 61 74 75 72 65 73 20 74 68 61 74  le features that
5f20: 20 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49 46 20   need it..#.!IF
5f30: 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42  $(USE_RPCRT4_LIB 5f40: 29 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 52 45 )!=0.REQ_FEATURE 5f50: 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46 _FLAGS =$(REQ_F
5f60: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
5f70: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53 45  SQLITE_WIN32_USE
5f80: 5f 55 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a  _UUID=1.!ENDIF..
5f90: 23 20 41 64 64 20 74 68 65 20 72 65 71 75 69 72  # Add the requir
5fa0: 65 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20  ed and optional
5fb0: 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69  SQLite compilati
5fc0: 6f 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20  on options into
5fd0: 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69  the command.# li
5fe0: 6e 65 73 20 75 73 65 64 20 74 6f 20 69 6e 76 6f  nes used to invo
5ff0: 6b 65 20 74 68 65 20 4d 53 56 43 20 63 6f 64 65  ke the MSVC code
6000: 20 61 6e 64 20 72 65 73 6f 75 72 63 65 20 63 6f   and resource co
6010: 6d 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d  mpilers..#.TCC =
6020: 20 24 28 54 43 43 29 20 24 28 52 45 51 5f 46 45   $(TCC)$(REQ_FE
6030: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f  ATURE_FLAGS) $(O 6040: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 PT_FEATURE_FLAGS 6050: 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f )$(EXT_FEATURE_
6060: 46 4c 41 47 53 29 0a 52 43 43 20 3d 20 24 28 52  FLAGS).RCC = $(R 6070: 43 43 29 20 24 28 52 45 51 5f 46 45 41 54 55 52 CC)$(REQ_FEATUR
6080: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46  E_FLAGS) $(OPT_F 6090: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 EATURE_FLAGS)$(
60a0: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
60b0: 53 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e 79  S)..# Add in any
60c0: 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65   optional parame
60d0: 74 65 72 73 20 73 70 65 63 69 66 69 65 64 20 6f  ters specified o
60e0: 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69  n the commane li
60f0: 6e 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65  ne, e.g..# nmake
6100: 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63   /f Makefile.msc
6110: 20 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c   all "OPTS=-DSQL
6120: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31  ITE_ENABLE_FOO=1
6130: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46   -DSQLITE_OMIT_F
6140: 4f 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24 28  OO=1".#.TCC = $( 6150: 54 43 43 29 20 24 28 4f 50 54 53 29 0a 52 43 43 TCC)$(OPTS).RCC
6160: 20 3d 20 24 28 52 43 43 29 20 24 28 4f 50 54 53   = $(RCC)$(OPTS
6170: 29 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e  )..# If compilin
6180: 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2c  g for debugging,
6190: 20 61 64 64 20 73 6f 6d 65 20 64 65 66 69 6e 65   add some define
61a0: 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47  s..#.!IF $(DEBUG 61b0: 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 )>1.TCC =$(TCC)
61c0: 20 2d 44 5f 44 45 42 55 47 0a 42 43 43 20 3d 20   -D_DEBUG.BCC =
61d0: 24 28 42 43 43 29 20 2d 44 5f 44 45 42 55 47 0a  $(BCC) -D_DEBUG. 61e0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f RCC =$(RCC) -D_
61f0: 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20  DEBUG.!ENDIF..#
6200: 49 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  If optimizations
6210: 20 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 20   are enabled or
6220: 64 69 73 61 62 6c 65 64 20 28 65 69 74 68 65 72  disabled (either
6230: 20 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23   implicitly or.#
6240: 20 65 78 70 6c 69 63 69 74 6c 79 29 2c 20 61 64   explicitly), ad
6250: 64 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  d the necessary
6260: 66 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24 28 44  flags..#.!IF $(D 6270: 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54 EBUG)>1 ||$(OPT
6280: 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54  IMIZATIONS)==0.T
6290: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a  CC = $(TCC) -Od. 62a0: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 64 BCC =$(BCC) -Od
62b0: 0a 21 49 46 20 24 28 55 53 45 5f 52 55 4e 54 49  .!IF $(USE_RUNTI 62c0: 4d 45 5f 43 48 45 43 4b 53 29 21 3d 30 0a 54 43 ME_CHECKS)!=0.TC 62d0: 43 20 3d 20 24 28 54 43 43 29 20 2d 52 54 43 31 C =$(TCC) -RTC1
62e0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 52  .BCC = $(BCC) -R 62f0: 54 43 31 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 TC1.!ENDIF.!ELSE 6300: 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f IF$(OPTIMIZATIO
6310: 4e 53 29 3e 3d 33 0a 54 43 43 20 3d 20 24 28 54  NS)>=3.TCC = $(T 6320: 43 43 29 20 2d 4f 78 0a 42 43 43 20 3d 20 24 28 CC) -Ox.BCC =$(
6330: 42 43 43 29 20 2d 4f 78 0a 21 45 4c 53 45 49 46  BCC) -Ox.!ELSEIF
6340: 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53   $(OPTIMIZATIONS 6350: 29 3d 3d 32 0a 54 43 43 20 3d 20 24 28 54 43 43 )==2.TCC =$(TCC
6360: 29 20 2d 4f 32 0a 42 43 43 20 3d 20 24 28 42 43  ) -O2.BCC = $(BC 6370: 43 29 20 2d 4f 32 0a 21 45 4c 53 45 49 46 20 24 C) -O2.!ELSEIF$
6380: 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d  (OPTIMIZATIONS)=
6390: 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =1.TCC = $(TCC) 63a0: 2d 4f 31 0a 42 43 43 20 3d 20 24 28 42 43 43 29 -O1.BCC =$(BCC)
63b0: 20 2d 4f 31 0a 21 45 4e 44 49 46 0a 0a 23 20 49   -O1.!ENDIF..# I
63c0: 66 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e  f symbols are en
63d0: 61 62 6c 65 64 20 28 6f 72 20 63 6f 6d 70 69 6c  abled (or compil
63e0: 69 6e 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e  ing for debuggin
63f0: 67 29 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e  g), enable PDBs.
6400: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  .#.!IF $(DEBUG)> 6410: 31 20 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 1 ||$(SYMBOLS)!
6420: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 6430: 2d 5a 69 0a 42 43 43 20 3d 20 24 28 42 43 43 29 -Zi.BCC =$(BCC)
6440: 20 2d 5a 69 0a 21 45 4e 44 49 46 0a 0a 23 20 3c   -Zi.!ENDIF..# <
6450: 3c 6d 61 72 6b 3e 3e 0a 23 20 49 66 20 49 43 55  <mark>>.# If ICU
6460: 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62   support is enab
6470: 6c 65 64 2c 20 61 64 64 20 74 68 65 20 63 6f 6d  led, add the com
6480: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f  piler options fo
6490: 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 53  r it..#.!IF $(US 64a0: 45 5f 49 43 55 29 21 3d 30 0a 54 43 43 20 3d 20 E_ICU)!=0.TCC = 64b0: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(TCC) -DSQLITE_
64c0: 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 52 43 43  ENABLE_ICU=1.RCC
64d0: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI 64e0: 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a TE_ENABLE_ICU=1. 64f0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 TCC =$(TCC) -I$6500: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 0a 52 43 (TOP)\ext\icu.RC 6510: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 C =$(RCC) -I$(T 6520: 4f 50 29 5c 65 78 74 5c 69 63 75 0a 54 43 43 20 OP)\ext\icu.TCC 6530: 3d 20 24 28 54 43 43 29 20 2d 49 24 28 49 43 55 =$(TCC) -I$(ICU 6540: 49 4e 43 44 49 52 29 0a 52 43 43 20 3d 20 24 28 INCDIR).RCC =$(
6550: 52 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44  RCC) -I$(ICUINCD 6560: 49 52 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f IR).!ENDIF.# <</ 6570: 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 6e mark>>..# Comman 6580: 64 20 6c 69 6e 65 20 70 72 65 66 69 78 65 73 20 d line prefixes 6590: 66 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f for compiling co 65a0: 64 65 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 72 65 de, compiling re 65b0: 73 6f 75 72 63 65 73 2c 0a 23 20 6c 69 6e 6b 69 sources,.# linki 65c0: 6e 67 2c 20 65 74 63 2e 0a 23 0a 4c 54 43 4f 4d ng, etc..#.LTCOM 65d0: 50 49 4c 45 20 3d 20 24 28 54 43 43 29 20 2d 46 PILE =$(TCC) -F
65e0: 6f 24 40 0a 4c 54 52 43 4f 4d 50 49 4c 45 20 3d  o$@.LTRCOMPILE = 65f0: 20 24 28 52 43 43 29 20 2d 72 0a 4c 54 4c 49 42$(RCC) -r.LTLIB
6600: 20 3d 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49 4e   = lib.exe.LTLIN
6610: 4b 20 3d 20 24 28 54 43 43 29 20 2d 46 65 24 40  K = $(TCC) -Fe$@
6620: 0a 0a 23 20 49 66 20 72 65 71 75 65 73 74 65 64  ..# If requested
6630: 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 52 50  , link to the RP
6640: 43 52 54 34 20 6c 69 62 72 61 72 79 2e 0a 23 0a  CRT4 library..#.
6650: 21 49 46 20 24 28 55 53 45 5f 52 50 43 52 54 34  !IF $(USE_RPCRT4 6660: 5f 4c 49 42 29 21 3d 30 0a 4c 54 4c 49 4e 4b 20 _LIB)!=0.LTLINK 6670: 3d 20 24 28 4c 54 4c 49 4e 4b 29 20 72 70 63 72 =$(LTLINK) rpcr
6680: 74 34 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23  t4.lib.!ENDIF..#
6690: 20 49 66 20 61 20 70 6c 61 74 66 6f 72 6d 20 77   If a platform w
66a0: 61 73 20 73 65 74 2c 20 66 6f 72 63 65 20 74 68  as set, force th
66b0: 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74 61 72 67  e linker to targ
66c0: 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f 74 65 20  et that..# Note
66d0: 74 68 61 74 20 74 68 65 20 76 63 76 61 72 73 2a  that the vcvars*
66e0: 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f 66 20 62  .bat family of b
66f0: 61 74 63 68 20 66 69 6c 65 73 20 74 79 70 69 63  atch files typic
6700: 61 6c 6c 79 0a 23 20 73 65 74 20 74 68 69 73 20  ally.# set this
6710: 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68 65 72 77  for you.  Otherw
6720: 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b 65 72 20  ise, the linker
6730: 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a 23 20 74  will attempt.# t
6740: 6f 20 64 65 64 75 63 65 20 74 68 65 20 62 69 6e  o deduce the bin
6750: 61 72 79 20 74 79 70 65 20 62 61 73 65 64 20 6f  ary type based o
6760: 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 66 69 6c  n the object fil
6770: 65 73 2e 0a 21 49 46 44 45 46 20 50 4c 41 54 46  es..!IFDEF PLATF
6780: 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d  ORM.LTLINKOPTS =
6790: 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e   /NOLOGO /MACHIN
67a0: 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 4c 54  E:$(PLATFORM).LT 67b0: 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 LIBOPTS = /NOLOG 67c0: 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 O /MACHINE:$(PLA
67d0: 54 46 4f 52 4d 29 0a 21 45 4c 53 45 0a 4c 54 4c  TFORM).!ELSE.LTL
67e0: 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47  INKOPTS = /NOLOG
67f0: 4f 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e  O.LTLIBOPTS = /N
6800: 4f 4c 4f 47 4f 0a 21 45 4e 44 49 46 0a 0a 23 20  OLOGO.!ENDIF..#
6810: 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66  When compiling f
6820: 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 57 69  or use in the Wi
6830: 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c  nRT environment,
6840: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 23   the following.#
6850: 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 20 6d   linker option m
6860: 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 6d  ust be used to m
6870: 61 72 6b 20 74 68 65 20 65 78 65 63 75 74 61 62  ark the executab
6880: 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c 65 0a 23  le as runnable.#
6890: 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 6f 6e   only in the con
68a0: 74 65 78 74 20 6f 66 20 61 6e 20 61 70 70 6c 69  text of an appli
68b0: 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 65 72  cation container
68c0: 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  ..#.!IF $(FOR_WI 68d0: 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 NRT)!=0.LTLINKOP 68e0: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 TS =$(LTLINKOPT
68f0: 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 4e 45 52  S) /APPCONTAINER
6900: 0a 21 49 46 20 22 24 28 56 49 53 55 41 4c 53 54  .!IF "$(VISUALST 6910: 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 UDIOVERSION)"==" 6920: 31 32 2e 30 22 20 7c 7c 20 22 24 28 56 49 53 55 12.0" || "$(VISU
6930: 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e 29  ALSTUDIOVERSION)
6940: 22 3d 3d 22 31 34 2e 30 22 0a 21 49 46 4e 44 45  "=="14.0".!IFNDE
6950: 46 20 53 54 4f 52 45 4c 49 42 50 41 54 48 0a 21  F STORELIBPATH.!
6960: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)" 6970: 3d 3d 22 78 38 36 22 0a 53 54 4f 52 45 4c 49 42 =="x86".STORELIB 6980: 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 PATH =$(CRTLIBP
6990: 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4c 53 45  ATH)\store.!ELSE
69a0: 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  IF "$(PLATFORM)" 69b0: 3d 3d 22 78 36 34 22 0a 53 54 4f 52 45 4c 49 42 =="x64".STORELIB 69c0: 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 PATH =$(CRTLIBP
69d0: 41 54 48 29 5c 73 74 6f 72 65 5c 61 6d 64 36 34  ATH)\store\amd64
69e0: 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54  .!ELSEIF "$(PLAT 69f0: 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 54 FORM)"=="ARM".ST 6a00: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 ORELIBPATH =$(C
6a10: 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65  RTLIBPATH)\store
6a20: 5c 61 72 6d 0a 21 45 4c 53 45 0a 53 54 4f 52 45  \arm.!ELSE.STORE
6a30: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL 6a40: 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 IBPATH)\store.!E 6a50: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 53 54 4f 52 NDIF.!ENDIF.STOR 6a60: 45 4c 49 42 50 41 54 48 20 3d 20 24 28 53 54 4f ELIBPATH =$(STO
6a70: 52 45 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  RELIBPATH:\\=\).
6a80: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L 6a90: 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 TLINKOPTS) "/LIB 6aa0: 50 41 54 48 3a 24 28 53 54 4f 52 45 4c 49 42 50 PATH:$(STORELIBP
6ab0: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e  ATH)".!ENDIF.!EN
6ac0: 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70  DIF..# When comp
6ad0: 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77  iling for Window
6ae0: 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 61 6e 20  s Phone 8.1, an
6af0: 65 78 74 72 61 20 6c 69 62 72 61 72 79 20 70 61  extra library pa
6b00: 74 68 20 69 73 0a 23 20 72 65 71 75 69 72 65 64  th is.# required
6b10: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57 50  ..#.!IF $(USE_WP 6b20: 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 4e 81_OPTS)!=0.!IFN 6b30: 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48 0a DEF WP81LIBPATH. 6b40: 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 !IF "$(PLATFORM)
6b50: 22 3d 3d 22 78 38 36 22 0a 57 50 38 31 4c 49 42  "=="x86".WP81LIB
6b60: 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d  PATH = $(PROGRAM 6b70: 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f FILES_X86)\Windo 6b80: 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e ws Phone Kits\8. 6b90: 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4c 53 45 49 1\lib\x86.!ELSEI 6ba0: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d F "$(PLATFORM)"=
6bb0: 3d 22 41 52 4d 22 0a 57 50 38 31 4c 49 42 50 41  ="ARM".WP81LIBPA
6bc0: 54 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49  TH = $(PROGRAMFI 6bd0: 4c 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 LES_X86)\Windows 6be0: 20 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c Phone Kits\8.1\ 6bf0: 6c 69 62 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 50 lib\ARM.!ELSE.WP 6c00: 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 81LIBPATH =$(PR
6c10: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c  OGRAMFILES_X86)\
6c20: 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69  Windows Phone Ki
6c30: 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21  ts\8.1\lib\x86.!
6c40: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4e  ENDIF.!ENDIF.!EN
6c50: 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70  DIF..# When comp
6c60: 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77  iling for Window
6c70: 73 20 50 68 6f 6e 65 20 38 2e 31 2c 20 73 6f 6d  s Phone 8.1, som
6c80: 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 20 6f  e extra linker o
6c90: 70 74 69 6f 6e 73 0a 23 20 61 72 65 20 61 6c 73  ptions.# are als
6ca0: 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49  o required..#.!I
6cb0: 46 20 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 54  F $(USE_WP81_OPT 6cc0: 53 29 21 3d 30 0a 21 49 46 44 45 46 20 57 50 38 S)!=0.!IFDEF WP8 6cd0: 31 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 1LIBPATH.LTLINKO 6ce0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 PTS =$(LTLINKOP
6cf0: 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28  TS) "/LIBPATH:$( 6d00: 57 50 38 31 4c 49 42 50 41 54 48 29 22 0a 21 45 WP81LIBPATH)".!E 6d10: 4e 44 49 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 NDIF.LTLINKOPTS 6d20: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 =$(LTLINKOPTS)
6d30: 2f 44 59 4e 41 4d 49 43 42 41 53 45 0a 4c 54 4c  /DYNAMICBASE.LTL
6d40: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI 6d50: 4e 4b 4f 50 54 53 29 20 57 69 6e 64 6f 77 73 50 NKOPTS) WindowsP 6d60: 68 6f 6e 65 43 6f 72 65 2e 6c 69 62 20 52 75 6e honeCore.lib Run 6d70: 74 69 6d 65 4f 62 6a 65 63 74 2e 6c 69 62 20 50 timeObject.lib P 6d80: 68 6f 6e 65 41 70 70 4d 6f 64 65 6c 48 6f 73 74 honeAppModelHost 6d90: 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 .lib.LTLINKOPTS 6da0: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 =$(LTLINKOPTS)
6db0: 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65  /NODEFAULTLIB:ke
6dc0: 72 6e 65 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44 45  rnel32.lib /NODE
6dd0: 46 41 55 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e 6c  FAULTLIB:ole32.l
6de0: 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65  ib.!ENDIF..# Whe
6df0: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  n compiling for
6e00: 55 57 50 20 6f 72 20 74 68 65 20 57 69 6e 64 6f  UWP or the Windo
6e10: 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20  ws 10 platform,
6e20: 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e 6b 65  some extra linke
6e30: 72 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20  r.# options are
6e40: 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 0a 23  also required..#
6e50: 0a 21 49 46 20 24 28 46 4f 52 5f 55 57 50 29 21  .!IF $(FOR_UWP)! 6e60: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 =0 ||$(FOR_WIN1
6e70: 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53  0)!=0.LTLINKOPTS
6e80: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS) 6e90: 20 2f 44 59 4e 41 4d 49 43 42 41 53 45 20 2f 4e /DYNAMICBASE /N 6ea0: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e ODEFAULTLIB:kern 6eb0: 65 6c 33 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f el32.lib.LTLINKO 6ec0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 PTS =$(LTLINKOP
6ed0: 54 53 29 20 6d 69 6e 63 6f 72 65 2e 6c 69 62 0a  TS) mincore.lib.
6ee0: 21 49 46 44 45 46 20 50 53 44 4b 4c 49 42 50 41  !IFDEF PSDKLIBPA
6ef0: 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  TH.LTLINKOPTS =
6f00: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f  $(LTLINKOPTS) "/ 6f10: 4c 49 42 50 41 54 48 3a 24 28 50 53 44 4b 4c 49 LIBPATH:$(PSDKLI
6f20: 42 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21  BPATH)".!ENDIF.!
6f30: 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 46 4f 52  ENDIF..!IF $(FOR 6f40: 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e _WIN10)!=0.LTLIN 6f50: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b KOPTS =$(LTLINK
6f60: 4f 50 54 53 29 20 2f 67 75 61 72 64 3a 63 66 20  OPTS) /guard:cf
6f70: 22 2f 4c 49 42 50 41 54 48 3a 24 28 55 43 52 54  "/LIBPATH:$(UCRT 6f80: 4c 49 42 50 41 54 48 29 22 0a 21 49 46 20 24 28 LIBPATH)".!IF$(
6f90: 44 45 42 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b 4f  DEBUG)>1.LTLINKO
6fa0: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP 6fb0: 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 TS) /NODEFAULTLI 6fc0: 42 3a 6c 69 62 75 63 72 74 64 2e 6c 69 62 20 2f B:libucrtd.lib / 6fd0: 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 64 DEFAULTLIB:ucrtd 6fe0: 2e 6c 69 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e .lib.!ELSE.LTLIN 6ff0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b KOPTS =$(LTLINK
7000: 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54  OPTS) /NODEFAULT
7010: 4c 49 42 3a 6c 69 62 75 63 72 74 2e 6c 69 62 20  LIB:libucrt.lib
7020: 2f 44 45 46 41 55 4c 54 4c 49 42 3a 75 63 72 74  /DEFAULTLIB:ucrt
7030: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44  .lib.!ENDIF.!END
7040: 49 46 0a 0a 23 20 49 66 20 65 69 74 68 65 72 20  IF..# If either
7050: 64 65 62 75 67 67 69 6e 67 20 6f 72 20 73 79 6d  debugging or sym
7060: 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c 65 64  bols are enabled
7070: 2c 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23  , enable PDBs..#
7080: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20  .!IF $(DEBUG)>1 7090: 7c 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30 ||$(SYMBOLS)!=0
70a0: 0a 4c 44 46 4c 41 47 53 20 3d 20 2f 44 45 42 55  .LDFLAGS = /DEBU
70b0: 47 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4c 53  G $(LDOPTS).!ELS 70c0: 45 0a 4c 44 46 4c 41 47 53 20 3d 20 24 28 4c 44 E.LDFLAGS =$(LD
70d0: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..#
70e0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 74 61 72 74  <<mark>>.# Start
70f0: 20 77 69 74 68 20 74 68 65 20 54 63 6c 20 72 65   with the Tcl re
7100: 6c 61 74 65 64 20 6c 69 6e 6b 65 72 20 6f 70 74  lated linker opt
7110: 69 6f 6e 73 2e 0a 23 0a 21 49 46 20 24 28 4e 4f  ions..#.!IF $(NO 7120: 5f 54 43 4c 29 3d 3d 30 0a 4c 54 4c 49 42 50 41 _TCL)==0.LTLIBPA 7130: 54 48 53 20 3d 20 2f 4c 49 42 50 41 54 48 3a 24 THS = /LIBPATH:$
7140: 28 54 43 4c 4c 49 42 44 49 52 29 0a 4c 54 4c 49  (TCLLIBDIR).LTLI
7150: 42 53 20 3d 20 24 28 4c 49 42 54 43 4c 29 0a 21  BS = $(LIBTCL).! 7160: 45 4e 44 49 46 0a 0a 23 20 49 66 20 49 43 55 20 ENDIF..# If ICU 7170: 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c support is enabl 7180: 65 64 2c 20 61 64 64 20 74 68 65 20 6c 69 6e 6b ed, add the link 7190: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 er options for i 71a0: 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 49 t..#.!IF$(USE_I
71b0: 43 55 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48  CU)!=0.LTLIBPATH
71c0: 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53  S = $(LTLIBPATHS 71d0: 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 49 43 55 ) /LIBPATH:$(ICU
71e0: 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d  LIBDIR).LTLIBS =
71f0: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 4c 49 42   $(LTLIBS)$(LIB
7200: 49 43 55 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c  ICU).!ENDIF.# <<
7210: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 59 6f 75 20 73  /mark>>..# You s
7220: 68 6f 75 6c 64 20 6e 6f 74 20 68 61 76 65 20 74  hould not have t
7230: 6f 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69 6e  o change anythin
7240: 67 20 62 65 6c 6f 77 20 74 68 69 73 20 6c 69 6e  g below this lin
7250: 65 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  e.##############
7260: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7270: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7280: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
7290: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
72a0: 23 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  #..# <<mark>>.#
72b0: 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72  Object files for
72c0: 20 74 68 65 20 53 51 4c 69 74 65 20 6c 69 62 72   the SQLite libr
72d0: 61 72 79 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d  ary (non-amalgam
72e0: 61 74 69 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42 4a  ation)..#.LIBOBJ
72f0: 53 30 20 3d 20 76 64 62 65 2e 6c 6f 20 70 61 72  S0 = vdbe.lo par
7300: 73 65 2e 6c 6f 20 61 6c 74 65 72 2e 6c 6f 20 61  se.lo alter.lo a
7310: 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74 74 61 63 68  nalyze.lo attach
7320: 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20 5c 0a 20 20  .lo auth.lo \.
7330: 20 20 20 20 20 20 20 62 61 63 6b 75 70 2e 6c 6f         backup.lo
7340: 20 62 69 74 76 65 63 2e 6c 6f 20 62 74 6d 75 74   bitvec.lo btmut
7350: 65 78 2e 6c 6f 20 62 74 72 65 65 2e 6c 6f 20 62  ex.lo btree.lo b
7360: 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  uild.lo \.
7370: 20 20 20 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20 63     callback.lo c
7380: 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63 74 69 6d 65  omplete.lo ctime
7390: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 64  .lo \.         d
73a0: 61 74 65 2e 6c 6f 20 64 62 70 61 67 65 2e 6c 6f  ate.lo dbpage.lo
73b0: 20 64 62 73 74 61 74 2e 6c 6f 20 64 65 6c 65 74   dbstat.lo delet
73c0: 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  e.lo \.
73d0: 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 2e 6c 6f  expr.lo fault.lo
73e0: 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 20 20 20   fkey.lo \.
73f0: 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 74 73 33      fts3.lo fts3
7400: 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f 65 78 70  _aux.lo fts3_exp
7410: 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 68 2e 6c  r.lo fts3_hash.l
7420: 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f 20 5c 0a  o fts3_icu.lo \.
7430: 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 70 6f           fts3_po
7440: 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f 73 6e 69  rter.lo fts3_sni
7450: 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f 74 6f 6b  ppet.lo fts3_tok
7460: 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 33 5f 74  enizer.lo fts3_t
7470: 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 5c 0a 20  okenizer1.lo \.
7480: 20 20 20 20 20 20 20 20 66 74 73 33 5f 74 6f 6b          fts3_tok
7490: 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 20 66 74  enize_vtab.lo ft
74a0: 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 20 66 74  s3_unicode.lo ft
74b0: 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 20 66  s3_unicode2.lo f
74c0: 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20 5c 0a 20  ts3_write.lo \.
74d0: 20 20 20 20 20 20 20 20 66 74 73 35 2e 6c 6f 20          fts5.lo
74e0: 5c 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 2e  \.         func.
74f0: 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20 68 61 73  lo global.lo has
7500: 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  h.lo \.
7510: 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74 2e 6c 6f  icu.lo insert.lo
7520: 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64 65   legacy.lo loade
7530: 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  xt.lo \.
7540: 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63 2e   main.lo malloc.
7550: 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31 2e  lo mem0.lo mem1.
7560: 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33 2e  lo mem2.lo mem3.
7570: 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20 20  lo mem5.lo \.
7580: 20 20 20 20 20 20 6d 65 6d 6a 6f 75 72 6e 61 6c        memjournal
7590: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6d  .lo \.         m
75a0: 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78 5f 6e 6f  utex.lo mutex_no
75b0: 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75 6e 69 78  op.lo mutex_unix
75c0: 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32 2e 6c 6f  .lo mutex_w32.lo
75d0: 20 5c 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 69   \.         noti
75e0: 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73 2e 6c 6f  fy.lo opcodes.lo
75f0: 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69 78 2e 6c   os.lo os_unix.l
7600: 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c 0a 20 20  o os_win.lo \.
7610: 20 20 20 20 20 20 20 70 61 67 65 72 2e 6c 6f 20         pager.lo
7620: 70 63 61 63 68 65 2e 6c 6f 20 70 63 61 63 68 65  pcache.lo pcache
7630: 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c 6f 20 70  1.lo pragma.lo p
7640: 72 65 70 61 72 65 2e 6c 6f 20 70 72 69 6e 74 66  repare.lo printf
7650: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 72  .lo \.         r
7660: 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f 6c 76 65  andom.lo resolve
7670: 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f 20 72 74  .lo rowset.lo rt
7680: 72 65 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ree.lo \.
7690: 20 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e    sqlite3session
76a0: 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c 6f 20 73 71  .lo select.lo sq
76b0: 6c 69 74 65 33 72 62 75 2e 6c 6f 20 73 74 61 74  lite3rbu.lo stat
76c0: 75 73 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  us.lo \.
76d0: 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 65 61 64   table.lo thread
76e0: 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 2e 6c 6f  s.lo tokenize.lo
76f0: 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 74 72 69   treeview.lo tri
7700: 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  gger.lo \.
7710: 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 75 74 69     update.lo uti
7720: 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e 6c 6f 20 5c  l.lo vacuum.lo \
7730: 0a 20 20 20 20 20 20 20 20 20 76 64 62 65 61 70  .         vdbeap
7740: 69 2e 6c 6f 20 76 64 62 65 61 75 78 2e 6c 6f 20  i.lo vdbeaux.lo
7750: 76 64 62 65 62 6c 6f 62 2e 6c 6f 20 76 64 62 65  vdbeblob.lo vdbe
7760: 6d 65 6d 2e 6c 6f 20 76 64 62 65 73 6f 72 74 2e  mem.lo vdbesort.
7770: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64  lo \.         vd
7780: 62 65 74 72 61 63 65 2e 6c 6f 20 77 61 6c 2e 6c  betrace.lo wal.l
7790: 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20 77 68 65 72  o walker.lo wher
77a0: 65 2e 6c 6f 20 77 68 65 72 65 63 6f 64 65 2e 6c  e.lo wherecode.l
77b0: 6f 20 77 68 65 72 65 65 78 70 72 2e 6c 6f 20 5c  o whereexpr.lo \
77c0: 0a 20 20 20 20 20 20 20 20 20 75 74 66 2e 6c 6f  .         utf.lo
77d0: 20 76 74 61 62 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61   vtab.lo.# <</ma
77e0: 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65 63 74 20 66  rk>>..# Object f
77f0: 69 6c 65 73 20 66 6f 72 20 74 68 65 20 61 6d 61  iles for the ama
7800: 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 4c 49 42  lgamation..#.LIB
7810: 4f 42 4a 53 31 20 3d 20 73 71 6c 69 74 65 33 2e  OBJS1 = sqlite3.
7820: 6c 6f 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20  lo..# Determine
7830: 74 68 65 20 72 65 61 6c 20 76 61 6c 75 65 20 6f  the real value o
7840: 66 20 4c 49 42 4f 42 4a 20 62 61 73 65 64 20 6f  f LIBOBJ based o
7850: 6e 20 74 68 65 20 27 63 6f 6e 66 69 67 75 72 65  n the 'configure
7860: 27 20 73 63 72 69 70 74 0a 23 0a 23 20 3c 3c 6d  ' script.#.# <<m
7870: 61 72 6b 3e 3e 0a 21 49 46 20 24 28 55 53 45 5f  ark>>.!IF $(USE_ 7880: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 AMALGAMATION)==0 7890: 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f .LIBOBJ =$(LIBO
78a0: 42 4a 53 30 29 0a 21 45 4c 53 45 0a 23 20 3c 3c  BJS0).!ELSE.# <<
78b0: 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f 42 4a 20 3d  /mark>>.LIBOBJ =
78c0: 20 24 28 4c 49 42 4f 42 4a 53 31 29 0a 23 20 3c   $(LIBOBJS1).# < 78d0: 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 23 <mark>>.!ENDIF.# 78e0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 <</mark>>..# De 78f0: 74 65 72 6d 69 6e 65 20 69 66 20 65 6d 62 65 64 termine if embed 7900: 64 65 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d ded resource com 7910: 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 75 73 61 pilation and usa 7920: 67 65 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a ge are enabled.. 7930: 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29 21 #.!IF$(USE_RC)!
7940: 3d 30 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d 20  =0.LIBRESOBJS =
7950: 73 71 6c 69 74 65 33 72 65 73 2e 6c 6f 0a 21 45  sqlite3res.lo.!E
7960: 4c 53 45 0a 4c 49 42 52 45 53 4f 42 4a 53 20 3d  LSE.LIBRESOBJS =
7970: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72  .!ENDIF..# <<mar
7980: 6b 3e 3e 0a 23 20 43 6f 72 65 20 73 6f 75 72 63  k>>.# Core sourc
7990: 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61  e code files, pa
79a0: 72 74 20 31 2e 0a 23 0a 53 52 43 30 30 20 3d 20  rt 1..#.SRC00 =
79b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61  \.  $(TOP)\src\a 79c0: 6c 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 lter.c \.$(TOP
79d0: 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20  )\src\analyze.c
79e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61  \.  $(TOP)\src\a 79f0: 74 74 61 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f ttach.c \.$(TO
7a00: 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 5c 0a  P)\src\auth.c \.
7a10: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63    $(TOP)\src\bac 7a20: 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 kup.c \.$(TOP)
7a30: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20 5c 0a  \src\bitvec.c \.
7a40: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d    $(TOP)\src\btm 7a50: 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 utex.c \.$(TOP
7a60: 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 5c 0a  )\src\btree.c \.
7a70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69    $(TOP)\src\bui 7a80: 6c 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ld.c \.$(TOP)\
7a90: 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 5c  src\callback.c \
7aa0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f  .  $(TOP)\src\co 7ab0: 6d 70 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 mplete.c \.$(T
7ac0: 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20  OP)\src\ctime.c
7ad0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64  \.  $(TOP)\src\d 7ae0: 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ate.c \.$(TOP)
7af0: 5c 73 72 63 5c 64 62 70 61 67 65 2e 63 20 5c 0a  \src\dbpage.c \.
7b00: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73    $(TOP)\src\dbs 7b10: 74 61 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 tat.c \.$(TOP)
7b20: 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 20 5c 0a  \src\delete.c \.
7b30: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70    $(TOP)\src\exp 7b40: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 r.c \.$(TOP)\s
7b50: 72 63 5c 66 61 75 6c 74 2e 63 20 5c 0a 20 20 24  rc\fault.c \.  $7b60: 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 (TOP)\src\fkey.c 7b70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7b80: 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50  func.c \.  $(TOP 7b90: 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c )\src\global.c \ 7ba0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 .$(TOP)\src\ha
7bb0: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\ 7bc0: 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 5c 0a 20 src\insert.c \. 7bd0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61$(TOP)\src\lega
7be0: 63 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cy.c \.  $(TOP)\ 7bf0: 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 5c 0a src\loadext.c \. 7c00: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69$(TOP)\src\mai
7c10: 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  n.c \.  $(TOP)\s 7c20: 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 rc\malloc.c \. 7c30: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e$(TOP)\src\mem0.
7c40: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7c50: 5c 6d 65 6d 31 2e 63 20 5c 0a 20 20 24 28 54 4f \mem1.c \.$(TO
7c60: 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a  P)\src\mem2.c \.
7c70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem 7c80: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 3.c \.$(TOP)\s
7c90: 72 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 28  rc\mem5.c \.  $( 7ca0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 TOP)\src\memjour 7cb0: 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 nal.c \.$(TOP)
7cc0: 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 5c 0a 20  \src\mutex.c \.
7cd0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute 7ce0: 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20 20 24 28 54 x_noop.c \.$(T
7cf0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e  OP)\src\mutex_un
7d00: 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ix.c \.  $(TOP)\ 7d10: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 src\mutex_w32.c 7d20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e \.$(TOP)\src\n
7d30: 6f 74 69 66 79 2e 63 20 5c 0a 20 20 24 28 54 4f  otify.c \.  $(TO 7d40: 50 29 5c 73 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 P)\src\os.c \. 7d50: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e$(TOP)\src\os_un
7d60: 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ix.c \.  $(TOP)\ 7d70: 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 src\os_win.c..# 7d80: 43 6f 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65 Core source code 7d90: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a files, part 2.. 7da0: 23 0a 53 52 43 30 31 20 3d 20 5c 0a 20 20 24 28 #.SRC01 = \.$(
7db0: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63  TOP)\src\pager.c
7dc0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7dd0: 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54 pcache.c \.$(T
7de0: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e  OP)\src\pcache1.
7df0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7e00: 5c 70 72 61 67 6d 61 2e 63 20 5c 0a 20 20 24 28 \pragma.c \.$(
7e10: 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65  TOP)\src\prepare
7e20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 7e30: 63 5c 70 72 69 6e 74 66 2e 63 20 5c 0a 20 20 24 c\printf.c \.$
7e40: 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d  (TOP)\src\random
7e50: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 7e60: 63 5c 72 65 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 c\resolve.c \. 7e70: 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65$(TOP)\src\rowse
7e80: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s 7e90: 72 63 5c 73 65 6c 65 63 74 2e 63 20 5c 0a 20 20 rc\select.c \. 7ea0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75$(TOP)\src\statu
7eb0: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s 7ec0: 72 63 5c 74 61 62 6c 65 2e 63 20 5c 0a 20 20 24 rc\table.c \.$
7ed0: 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64  (TOP)\src\thread
7ee0: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s 7ef0: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c rc\tclsqlite.c \ 7f00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f .$(TOP)\src\to
7f10: 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 24 28 54  kenize.c \.  $(T 7f20: 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 OP)\src\treeview 7f30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
7f40: 63 5c 74 72 69 67 67 65 72 2e 63 20 5c 0a 20 20  c\trigger.c \.
7f50: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63  $(TOP)\src\utf.c 7f60: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7f70: 75 70 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54  update.c \.  $(T 7f80: 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 5c OP)\src\util.c \ 7f90: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 .$(TOP)\src\va
7fa0: 63 75 75 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50  cuum.c \.  $(TOP 7fb0: 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 5c 0a 20 )\src\vdbe.c \. 7fc0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
7fd0: 61 70 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  api.c \.  $(TOP) 7fe0: 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20 5c \src\vdbeaux.c \ 7ff0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 .$(TOP)\src\vd
8000: 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54  beblob.c \.  $(T 8010: 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e OP)\src\vdbemem. 8020: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8030: 5c 76 64 62 65 73 6f 72 74 2e 63 20 5c 0a 20 20  \vdbesort.c \.
8040: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74  $(TOP)\src\vdbet 8050: 72 61 63 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 race.c \.$(TOP
8060: 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 5c 0a 20  )\src\vtab.c \.
8070: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e   $(TOP)\src\wal. 8080: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8090: 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a 20 20 24 28  \walker.c \.  $( 80a0: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 TOP)\src\where.c 80b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
80c0: 77 68 65 72 65 63 6f 64 65 2e 63 20 5c 0a 20 20  wherecode.c \.
80d0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where 80e0: 65 78 70 72 2e 63 0a 0a 23 20 53 68 65 6c 6c 20 expr.c..# Shell 80f0: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 source code file 8100: 73 2e 0a 23 0a 53 52 43 30 32 20 3d 20 5c 0a 20 s..#.SRC02 = \. 8110: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c$(TOP)\src\shel
8120: 6c 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73 63  l.c..# Core misc
8130: 65 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73 2e  ellaneous files.
8140: 0a 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20 24  .#.SRC03 = \.  $8150: 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e (TOP)\src\parse. 8160: 79 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 y..# Core header 8170: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a files, part 1.. 8180: 23 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 28 #.SRC04 = \.$(
8190: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68  TOP)\src\btree.h
81a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 81b0: 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 24 btreeInt.h \.$
81c0: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68  (TOP)\src\hash.h
81d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 81e0: 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 54 hwtime.h \.$(T
81f0: 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c  OP)\src\msvc.h \
8200: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu 8210: 74 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 tex.h \.$(TOP)
8220: 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24 28  \src\os.h \.  $( 8230: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d TOP)\src\os_comm 8240: 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c on.h \.$(TOP)\
8250: 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c  src\os_setup.h \
8260: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os 8270: 5f 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 68 _win.h..# Core h 8280: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 eader files, par 8290: 74 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 5c t 2..#.SRC05 = \ 82a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 .$(TOP)\src\pa
82b0: 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ger.h \.  $(TOP) 82c0: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a \src\pcache.h \. 82d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61$(TOP)\src\pra
82e0: 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  gma.h \.  $(TOP) 82f0: 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e \src\sqlite.h.in 8300: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8310: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20  sqlite3ext.h \.
8320: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69   $(TOP)\src\sqli 8330: 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f teInt.h \.$(TO
8340: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d  P)\src\sqliteLim
8350: 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  it.h \.  $(TOP)\ 8360: 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 24 src\vdbe.h \.$
8370: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e  (TOP)\src\vdbeIn
8380: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s 8390: 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 rc\vxworks.h \. 83a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e$(TOP)\src\wal.
83b0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src 83c0: 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 45 \whereInt.h..# E 83d0: 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 xtension source 83e0: 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 code files, part 83f0: 20 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c 0a 1..#.SRC06 = \. 8400: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
8410: 31 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28 54  1\fts1.c \.  $(T 8420: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 OP)\ext\fts1\fts 8430: 31 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 1_hash.c \.$(T
8440: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
8450: 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24  1_porter.c \.  $8460: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 (TOP)\ext\fts1\f 8470: 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 ts1_tokenizer1.c 8480: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8490: 66 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20 20  fts2\fts2.c \.
84a0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ 84b0: 66 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 fts2_hash.c \. 84c0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
84d0: 66 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24  fts2_icu.c \.  $84e0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f 84f0: 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 ts2_porter.c \. 8500: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
8510: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
8520: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 8530: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e \fts2\fts2_token 8540: 69 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 6e izer1.c..# Exten 8550: 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 sion source code 8560: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a files, part 2.. 8570: 23 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 28 #.SRC07 = \.$(
8580: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
8590: 73 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s3.c \.  $(TOP)\ 85a0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 ext\fts3\fts3_au 85b0: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 x.c \.$(TOP)\e
85c0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70  xt\fts3\fts3_exp
85d0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 85e0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 xt\fts3\fts3_has 85f0: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 h.c \.$(TOP)\e
8600: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75  xt\fts3\fts3_icu
8610: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 8620: 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 t\fts3\fts3_port 8630: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c er.c \.$(TOP)\
8640: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e  ext\fts3\fts3_sn
8650: 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f  ippet.c \.  $(TO 8660: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 8670: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 _tokenizer.c \. 8680: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
8690: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts3_tokenizer1
86a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 86b0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 t\fts3\fts3_toke 86c0: 6e 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 20 nize_vtab.c \. 86d0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
86e0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 5c  fts3_unicode.c \
86f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 8700: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 s3\fts3_unicode2 8710: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
8720: 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74  t\fts3\fts3_writ
8730: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.c \.  $(TOP)\e 8740: 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a 20 xt\icu\icu.c \. 8750: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65$(TOP)\ext\rtre
8760: 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  e\rtree.c \.  $( 8770: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e TOP)\ext\session 8780: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e \sqlite3session. 8790: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
87a0: 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e  \rbu\sqlite3rbu.
87b0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 87c0: 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 20 5c 0a \misc\json1.c \. 87d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73$(TOP)\ext\mis
87e0: 63 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 78 74 65  c\stmt.c..# Exte
87f0: 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c  nsion header fil
8800: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52  es, part 1..#.SR
8810: 43 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C08 = \.  $(TOP) 8820: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 \ext\fts1\fts1.h 8830: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8840: 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68  fts1\fts1_hash.h
8850: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8860: 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 fts1\fts1_tokeni 8870: 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 zer.h \.$(TOP)
8880: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68  \ext\fts2\fts2.h
8890: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 88a0: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 fts2\fts2_hash.h 88b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
88c0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
88d0: 7a 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69  zer.h..# Extensi
88e0: 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c  on header files,
88f0: 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 39   part 2..#.SRC09
8900: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex 8910: 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a t\fts3\fts3.h \. 8920: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
8930: 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20  3\fts3Int.h \.
8940: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 8950: 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 fts3_hash.h \. 8960: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
8970: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts3_tokenizer.h
8980: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8990: 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 20 icu\sqliteicu.h 89a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 \.$(TOP)\ext\r
89b0: 74 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20  tree\rtree.h \.
89c0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c   $(TOP)\ext\rbu\ 89d0: 73 71 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20 sqlite3rbu.h \. 89e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73$(TOP)\ext\sess
89f0: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
8a00: 6f 6e 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65  on.h..# Generate
8a10: 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69  d source code fi
8a20: 6c 65 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a  les.#.SRC10 = \.
8a30: 20 20 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20    opcodes.c \.
8a40: 70 61 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72  parse.c..# Gener
8a50: 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65  ated header file
8a60: 73 0a 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20  s.#.SRC11 = \.
8a70: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a  keywordhash.h \.
8a80: 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20    opcodes.h \.
8a90: 70 61 72 73 65 2e 68 20 5c 0a 20 20 24 28 53 51  parse.h \.  $(SQ 8aa0: 4c 49 54 45 33 48 29 0a 0a 23 20 47 65 6e 65 72 LITE3H)..# Gener 8ab0: 61 74 65 64 20 54 63 6c 20 68 65 61 64 65 72 20 ated Tcl header 8ac0: 66 69 6c 65 73 0a 23 0a 21 49 46 20 24 28 55 53 files.#.!IF$(US
8ad0: 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c  E_STDCALL)!=0 ||
8ae0: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0 8af0: 0a 53 52 43 31 32 20 3d 20 5c 0a 20 20 24 28 53 .SRC12 = \.$(S
8b00: 51 4c 49 54 45 54 43 4c 48 29 20 5c 0a 20 20 24  QLITETCLH) \.  $8b10: 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 (SQLITETCLDECLSH 8b20: 29 0a 21 45 4c 53 45 0a 53 52 43 31 32 20 3d 0a ).!ELSE.SRC12 =. 8b30: 21 45 4e 44 49 46 0a 0a 23 20 41 6c 6c 20 73 6f !ENDIF..# All so 8b40: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2e urce code files. 8b50: 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 43 30 30 .#.SRC =$(SRC00
8b60: 29 20 24 28 53 52 43 30 31 29 20 24 28 53 52 43  ) $(SRC01)$(SRC
8b70: 30 32 29 20 24 28 53 52 43 30 33 29 20 24 28 53  02) $(SRC03)$(S
8b80: 52 43 30 34 29 20 24 28 53 52 43 30 35 29 20 24  RC04) $(SRC05)$
8b90: 28 53 52 43 30 36 29 20 24 28 53 52 43 30 37 29  (SRC06) $(SRC07) 8ba0: 20 24 28 53 52 43 30 38 29 20 24 28 53 52 43 30$(SRC08) $(SRC0 8bb0: 39 29 20 24 28 53 52 43 31 30 29 20 24 28 53 52 9)$(SRC10) $(SR 8bc0: 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 20 63 C11)..# Source c 8bd0: 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74 20 ode to the test 8be0: 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52 43 files..#.TESTSRC 8bf0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 = \.$(TOP)\sr
8c00: 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24 28  c\test1.c \.  $( 8c10: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e 63 TOP)\src\test2.c 8c20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8c30: 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28 54 4f  test3.c \.  $(TO 8c40: 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20 5c P)\src\test4.c \ 8c50: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
8c60: 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st5.c \.  $(TOP) 8c70: 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a 20 \src\test6.c \. 8c80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
8c90: 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  7.c \.  $(TOP)\s 8ca0: 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20 24 rc\test8.c \.$
8cb0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39 2e  (TOP)\src\test9.
8cc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8cd0: 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e 63 20 \test_autoext.c 8ce0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
8cf0: 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20 20  est_async.c \.
8d00: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 8d10: 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54 backup.c \.$(T
8d20: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 65 73  OP)\src\test_bes
8d30: 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 54  tindex.c \.  $(T 8d40: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 6c 6f OP)\src\test_blo 8d50: 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 b.c \.$(TOP)\s
8d60: 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e 63 20  rc\test_btree.c
8d70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8d80: 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 est_config.c \. 8d90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
8da0: 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28  _delete.c \.  $( 8db0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 TOP)\src\test_de 8dc0: 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f movfs.c \.$(TO
8dd0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 76 73  P)\src\test_devs
8de0: 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ym.c \.  $(TOP)\ 8df0: 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 20 5c 0a src\test_fs.c \. 8e00: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
8e10: 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54  t_func.c \.  $(T 8e20: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 68 65 78 OP)\src\test_hex 8e30: 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c io.c \.$(TOP)\
8e40: 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 2e 63 20  src\test_init.c
8e50: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8e60: 65 73 74 5f 69 6e 74 61 72 72 61 79 2e 63 20 5c est_intarray.c \ 8e70: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
8e80: 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20  st_journal.c \.
8e90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 8ea0: 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 _malloc.c \.$(
8eb0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75  TOP)\src\test_mu
8ec0: 6c 74 69 70 6c 65 78 2e 63 20 5c 0a 20 20 24 28  ltiplex.c \.  $( 8ed0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75 TOP)\src\test_mu 8ee0: 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 tex.c \.$(TOP)
8ef0: 5c 73 72 63 5c 74 65 73 74 5f 6f 6e 65 66 69 6c  \src\test_onefil
8f00: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 8f10: 72 63 5c 74 65 73 74 5f 6f 73 69 6e 73 74 2e 63 rc\test_osinst.c 8f20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8f30: 74 65 73 74 5f 70 63 61 63 68 65 2e 63 20 5c 0a  test_pcache.c \.
8f40: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 8f50: 74 5f 71 75 6f 74 61 2e 63 20 5c 0a 20 20 24 28 t_quota.c \.$(
8f60: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 72 74  TOP)\src\test_rt
8f70: 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ree.c \.  $(TOP) 8f80: 5c 73 72 63 5c 74 65 73 74 5f 73 63 68 65 6d 61 \src\test_schema 8f90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8fa0: 63 5c 74 65 73 74 5f 73 65 72 76 65 72 2e 63 20  c\test_server.c
8fb0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8fc0: 65 73 74 5f 73 75 70 65 72 6c 6f 63 6b 2e 63 20 est_superlock.c 8fd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
8fe0: 65 73 74 5f 73 79 73 63 61 6c 6c 2e 63 20 5c 0a  est_syscall.c \.
8ff0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 9000: 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20 24 t_tclvar.c \.$
9010: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74  (TOP)\src\test_t
9020: 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 54 4f  hread.c \.  $(TO 9030: 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e P)\src\test_vfs. 9040: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
9050: 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e  \test_windirent.
9060: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 9070: 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a 20 20 \test_wsd.c \. 9080: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
9090: 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a 20 20  fts3_term.c \.
90a0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 90b0: 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a 20 20 fts3_test.c \. 90c0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 74$(TOP)\ext\rbu\t
90d0: 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 20 24 28  est_rbu.c \.  $( 90e0: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e TOP)\ext\session 90f0: 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e 63 0a \test_session.c. 9100: 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20 6c 69 .# Statically li 9110: 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e 73 2e nked extensions. 9120: 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 5c 0a 20 .#.TESTEXT = \. 9130: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
9140: 5c 61 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28  \amatch.c \.  $( 9150: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 61 TOP)\ext\misc\ca 9160: 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 rray.c \.$(TOP
9170: 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6c 6f 73 75  )\ext\misc\closu
9180: 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  re.c \.  $(TOP)\ 9190: 65 78 74 5c 6d 69 73 63 5c 63 73 76 2e 63 20 5c ext\misc\csv.c \ 91a0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
91b0: 73 63 5c 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28  sc\eval.c \.  $( 91c0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69 TOP)\ext\misc\fi 91d0: 6c 65 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 leio.c \.$(TOP
91e0: 29 5c 65 78 74 5c 6d 69 73 63 5c 66 75 7a 7a 65  )\ext\misc\fuzze
91f0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 9200: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 63 6c xt\fts5\fts5_tcl 9210: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
9220: 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74  t\fts5\fts5_test
9230: 5f 6d 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  _mi.c \.  $(TOP) 9240: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 \ext\fts5\fts5_t 9250: 65 73 74 5f 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 est_tok.c \.$(
9260: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 69 65  TOP)\ext\misc\ie
9270: 65 65 37 35 34 2e 63 20 5c 0a 20 20 24 28 54 4f  ee754.c \.  $(TO 9280: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6d 6d 61 70 P)\ext\misc\mmap 9290: 77 61 72 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 warm.c \.$(TOP
92a0: 29 5c 65 78 74 5c 6d 69 73 63 5c 6e 65 78 74 63  )\ext\misc\nextc
92b0: 68 61 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  har.c \.  $(TOP) 92c0: 5c 65 78 74 5c 6d 69 73 63 5c 70 65 72 63 65 6e \ext\misc\percen 92d0: 74 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 tile.c \.$(TOP
92e0: 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65 67 65 78  )\ext\misc\regex
92f0: 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  p.c \.  $(TOP)\e 9300: 78 74 5c 6d 69 73 63 5c 72 65 6d 65 6d 62 65 72 xt\misc\remember 9310: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
9320: 74 5c 6d 69 73 63 5c 73 65 72 69 65 73 2e 63 20  t\misc\series.c
9330: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 9340: 69 73 63 5c 73 70 65 6c 6c 66 69 78 2e 63 20 5c isc\spellfix.c \ 9350: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
9360: 73 63 5c 74 6f 74 79 70 65 2e 63 20 5c 0a 20 20  sc\totype.c \.
9370: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ 9380: 75 6e 69 6f 6e 76 74 61 62 2e 63 20 5c 0a 20 20 unionvtab.c \. 9390: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
93a0: 77 68 6f 6c 65 6e 75 6d 62 65 72 2e 63 0a 0a 23  wholenumber.c..#
93b0: 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f 20   Source code to
93c0: 74 68 65 20 6c 69 62 72 61 72 79 20 66 69 6c 65  the library file
93d0: 73 20 6e 65 65 64 65 64 20 62 79 20 74 68 65 20  s needed by the
93e0: 74 65 73 74 20 66 69 78 74 75 72 65 0a 23 20 28  test fixture.# (
93f0: 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  non-amalgamation
9400: 29 0a 23 0a 54 45 53 54 53 52 43 32 20 3d 20 5c  ).#.TESTSRC2 = \
9410: 0a 20 20 24 28 53 52 43 30 30 29 20 5c 0a 20 20  .  $(SRC00) \. 9420: 24 28 53 52 43 30 31 29 20 5c 0a 20 20 24 28 53$(SRC01) \.  $(S 9430: 52 43 30 36 29 20 5c 0a 20 20 24 28 53 52 43 30 RC06) \.$(SRC0
9440: 37 29 20 5c 0a 20 20 24 28 53 52 43 31 30 29 20  7) \.  $(SRC10) 9450: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 61 \.$(TOP)\ext\a
9460: 73 79 6e 63 5c 73 71 6c 69 74 65 33 61 73 79 6e  sync\sqlite3asyn
9470: 63 2e 63 0a 0a 23 20 48 65 61 64 65 72 20 66 69  c.c..# Header fi
9480: 6c 65 73 20 75 73 65 64 20 62 79 20 61 6c 6c 20  les used by all
9490: 6c 69 62 72 61 72 79 20 73 6f 75 72 63 65 20 66  library source f
94a0: 69 6c 65 73 2e 0a 23 0a 48 44 52 20 3d 20 5c 0a  iles..#.HDR = \.
94b0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74     $(TOP)\src\bt 94c0: 72 65 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 ree.h \.$(TOP
94d0: 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e 68  )\src\btreeInt.h
94e0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src 94f0: 5c 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 \hash.h \.$(T
9500: 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68  OP)\src\hwtime.h
9510: 20 5c 0a 20 20 20 6b 65 79 77 6f 72 64 68 61 73   \.   keywordhas
9520: 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  h.h \.   $(TOP)\ 9530: 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 20 src\msvc.h \. 9540: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78$(TOP)\src\mutex
9550: 2e 68 20 5c 0a 20 20 20 6f 70 63 6f 64 65 73 2e  .h \.   opcodes.
9560: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr 9570: 63 5c 6f 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f c\os.h \.$(TO
9580: 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e  P)\src\os_common
9590: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s 95a0: 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a rc\os_setup.h \. 95b0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73$(TOP)\src\os
95c0: 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f  _win.h \.   $(TO 95d0: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c P)\src\pager.h \ 95e0: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 .$(TOP)\src\p
95f0: 63 61 63 68 65 2e 68 20 5c 0a 20 20 20 70 61 72  cache.h \.   par
9600: 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  se.h \.   $(TOP) 9610: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a \src\pragma.h \. 9620: 20 20 20 24 28 53 51 4c 49 54 45 33 48 29 20 5c$(SQLITE3H) \
9630: 0a 20 20 20 73 71 6c 69 74 65 33 65 78 74 2e 68  .   sqlite3ext.h
9640: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src 9650: 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20 \sqliteInt.h \. 9660: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c$(TOP)\src\sql
9670: 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 20  iteLimit.h \.
9680: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe. 9690: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 h \.$(TOP)\sr
96a0: 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20  c\vdbeInt.h \.
96b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f   $(TOP)\src\vxwo 96c0: 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 rks.h \.$(TOP
96d0: 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74 2e 68  )\src\whereInt.h
96e0: 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65 73  ..# Header files
96f0: 20 75 73 65 64 20 62 79 20 65 78 74 65 6e 73 69   used by extensi
9700: 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20 3d 20 24  ons.#.EXTHDR = $9710: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 (EXTHDR) \.$(T
9720: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
9730: 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.h \.  $(TOP)\e 9740: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 xt\fts1\fts1_has 9750: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 h.h \.$(TOP)\e
9760: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b  xt\fts1\fts1_tok
9770: 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20  enizer.h.EXTHDR
9780: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \. 9790: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
97a0: 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts2.h \.  $(TOP 97b0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f )\ext\fts2\fts2_ 97c0: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 hash.h \.$(TOP
97d0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
97e0: 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48  tokenizer.h.EXTH
97f0: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \ 9800: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
9810: 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24 28  s3\fts3.h \.  $( 9820: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 9830: 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f s3Int.h \.$(TO
9840: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
9850: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO 9860: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 9870: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 _tokenizer.h.EXT 9880: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 HDR =$(EXTHDR)
9890: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r 98a0: 74 72 65 65 5c 72 74 72 65 65 2e 68 0a 45 58 54 tree\rtree.h.EXT 98b0: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 HDR =$(EXTHDR)
98c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69  \.  $(TOP)\ext\i 98d0: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 0a 45 cu\sqliteicu.h.E 98e0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 XTHDR =$(EXTHDR
98f0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext 9900: 5c 72 74 72 65 65 5c 73 71 6c 69 74 65 33 72 74 \rtree\sqlite3rt 9910: 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 ree.h.EXTHDR =$
9920: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54  (EXTHDR) \.  $(T 9930: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c OP)\ext\session\ 9940: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 sqlite3session.h 9950: 0a 0a 23 20 65 78 65 63 75 74 61 62 6c 65 73 20 ..# executables 9960: 6e 65 65 64 65 64 20 66 6f 72 20 74 65 73 74 69 needed for testi 9970: 6e 67 0a 23 0a 54 45 53 54 50 52 4f 47 53 20 3d ng.#.TESTPROGS = 9980: 20 5c 0a 20 20 74 65 73 74 66 69 78 74 75 72 65 \. testfixture 9990: 2e 65 78 65 20 5c 0a 20 20 24 28 53 51 4c 49 54 .exe \.$(SQLIT
99a0: 45 33 45 58 45 29 20 5c 0a 20 20 73 71 6c 69 74  E3EXE) \.  sqlit
99b0: 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20  e3_analyzer.exe
99c0: 5c 0a 20 20 73 71 6c 64 69 66 66 2e 65 78 65 20  \.  sqldiff.exe
99d0: 5c 0a 20 20 64 62 68 61 73 68 2e 65 78 65 0a 0a  \.  dbhash.exe..
99e0: 23 20 44 61 74 61 62 61 73 65 73 20 63 6f 6e 74  # Databases cont
99f0: 61 69 6e 69 6e 67 20 66 75 7a 7a 65 72 20 74 65  aining fuzzer te
9a00: 73 74 20 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44  st cases.#.FUZZD
9a10: 41 54 41 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  ATA = \.  $(TOP) 9a20: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 31 2e \test\fuzzdata1. 9a30: 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 db \.$(TOP)\te
9a40: 73 74 5c 66 75 7a 7a 64 61 74 61 32 2e 64 62 20  st\fuzzdata2.db
9a50: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\ 9a60: 66 75 7a 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 fuzzdata3.db \. 9a70: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a$(TOP)\test\fuz
9a80: 7a 64 61 74 61 34 2e 64 62 20 5c 0a 20 20 24 28  zdata4.db \.  $( 9a90: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 TOP)\test\fuzzda 9aa0: 74 61 35 2e 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b ta5.db.# <</mark 9ab0: 3e 3e 0a 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c >>..# Additional 9ac0: 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e compiler option 9ad0: 73 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 2e s for the shell. 9ae0: 20 20 54 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 These are only 9af0: 20 65 66 66 65 63 74 69 76 65 0a 23 20 77 68 65 effective.# whe 9b00: 6e 20 74 68 65 20 73 68 65 6c 6c 20 69 73 20 6e n the shell is n 9b10: 6f 74 20 62 65 69 6e 67 20 64 79 6e 61 6d 69 63 ot being dynamic 9b20: 61 6c 6c 79 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 ally linked..#.! 9b30: 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 IF$(DYNAMIC_SHE
9b40: 4c 4c 29 3d 3d 30 20 26 26 20 24 28 46 4f 52 5f  LL)==0 && $(FOR_ 9b50: 57 49 4e 31 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f WIN10)==0.SHELL_ 9b60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 COMPILE_OPTS =$
9b70: 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  (SHELL_COMPILE_O
9b80: 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  PTS) -DSQLITE_EN
9b90: 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c  ABLE_JSON1 -DSQL
9ba0: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 20  ITE_ENABLE_FTS4
9bb0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
9bc0: 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53  EXPLAIN_COMMENTS
9bd0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
9be0: 5f 53 54 4d 54 56 54 41 42 0a 53 48 45 4c 4c 5f  _STMTVTAB.SHELL_
9bf0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24  COMPILE_OPTS = $9c00: 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f (SHELL_COMPILE_O 9c10: 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e PTS) -DSQLITE_EN 9c20: 41 42 4c 45 5f 44 42 50 41 47 45 5f 56 54 41 42 ABLE_DBPAGE_VTAB 9c30: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 9c40: 5f 44 42 53 54 41 54 5f 56 54 41 42 0a 21 45 4e _DBSTAT_VTAB.!EN 9c50: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a DIF..# <<mark>>. 9c60: 23 20 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 72 # Extra compiler 9c70: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 options for var 9c80: 69 6f 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 2e ious test tools. 9c90: 0a 23 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 .#.MPTESTER_COMP 9ca0: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c ILE_OPTS = -DSQL 9cb0: 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 ITE_ENABLE_JSON1 9cc0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 9cd0: 5f 46 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c _FTS5.FUZZERSHEL 9ce0: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d L_COMPILE_OPTS = 9cf0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 9d00: 5f 4a 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b _JSON1.FUZZCHECK 9d10: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 _COMPILE_OPTS = 9d20: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 9d30: 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 JSON1 -DSQLITE_E 9d40: 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d 44 NABLE_MEMSYS5 -D 9d50: 53 51 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a 20 SQLITE_OSS_FUZZ 9d60: 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d -DSQLITE_MAX_MEM 9d70: 4f 52 59 3d 35 30 30 30 30 30 30 30 0a 46 55 5a ORY=50000000.FUZ 9d80: 5a 43 48 45 43 4b 5f 53 52 43 20 3d 20 24 28 54 ZCHECK_SRC =$(T
9d90: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65  OP)\test\fuzzche
9da0: 63 6b 2e 63 20 24 28 54 4f 50 29 5c 74 65 73 74  ck.c $(TOP)\test 9db0: 5c 6f 73 73 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 \ossfuzz.c.OSSSH 9dc0: 45 4c 4c 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 ELL_SRC =$(TOP)
9dd0: 5c 74 65 73 74 5c 6f 73 73 73 68 65 6c 6c 2e 63  \test\ossshell.c
9de0: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73   $(TOP)\test\oss 9df0: 66 75 7a 7a 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f fuzz.c.DBFUZZ_CO 9e00: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 MPILE_OPTS = -DS 9e10: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 QLITE_THREADSAFE 9e20: 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 =0 -DSQLITE_OMIT 9e30: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a _LOAD_EXTENSION. 9e40: 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 KV_COMPILE_OPTS 9e50: 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 = -DSQLITE_THREA 9e60: 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 DSAFE=0 -DSQLITE 9e70: 5f 44 49 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 _DIRECT_OVERFLOW 9e80: 5f 52 45 41 44 0a 44 42 53 45 4c 46 54 45 53 54 _READ.DBSELFTEST 9e90: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 _COMPILE_OPTS = 9ea0: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 -DSQLITE_THREADS 9eb0: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f AFE=0 -DSQLITE_O 9ec0: 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 MIT_LOAD_EXTENSI 9ed0: 4f 4e 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 ON -DSQLITE_ENAB 9ee0: 4c 45 5f 52 54 52 45 45 20 2d 44 53 51 4c 49 54 LE_RTREE -DSQLIT 9ef0: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 E_ENABLE_FTS4 -D 9f00: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 SQLITE_ENABLE_FT 9f10: 53 35 0a 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 S5.ST_COMPILE_OP 9f20: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 54 48 TS = -DSQLITE_TH 9f30: 52 45 41 44 53 41 46 45 3d 30 0a 0a 23 20 53 74 READSAFE=0..# St 9f40: 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 andard options t 9f50: 6f 20 74 65 73 74 66 69 78 74 75 72 65 2e 0a 23 o testfixture..# 9f60: 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 .TESTOPTS = --ve 9f70: 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 rbose=file --out 9f80: 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 put=test-out.txt 9f90: 0a 0a 23 20 45 78 74 72 61 20 74 61 72 67 65 74 ..# Extra target 9fa0: 73 20 66 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 s for the "all" 9fb0: 74 61 72 67 65 74 20 74 68 61 74 20 72 65 71 75 target that requ 9fc0: 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 ire Tcl..#.!IF$
9fd0: 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f  (NO_TCL)==0.ALL_
9fe0: 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 20 6c 69  TCL_TARGETS = li
9ff0: 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a  btclsqlite3.lib.
a000: 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41  !ELSE.ALL_TCL_TA
a010: 52 47 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23  RGETS =.!ENDIF.#
a020: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68   <</mark>>..# Th
a030: 69 73 20 69 73 20 74 68 65 20 64 65 66 61 75 6c  is is the defaul
a040: 74 20 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65  t Makefile targe
a050: 74 2e 20 20 54 68 65 20 6f 62 6a 65 63 74 73 20  t.  The objects
a060: 6c 69 73 74 65 64 20 68 65 72 65 0a 23 20 61 72  listed here.# ar
a070: 65 20 77 68 61 74 20 67 65 74 20 62 75 69 6c 64  e what get build
a080: 20 77 68 65 6e 20 79 6f 75 20 74 79 70 65 20 6a   when you type j
a090: 75 73 74 20 22 6d 61 6b 65 22 20 77 69 74 68 20  ust "make" with
a0a0: 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a  no arguments..#.
a0b0: 61 6c 6c 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69  all:.dll libsqli
a0c0: 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c 20 24 28  te3.lib shell $( a0d0: 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 29 ALL_TCL_TARGETS) a0e0: 0a 0a 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b ..# Dynamic link a0f0: 20 6c 69 62 72 61 72 79 20 73 65 63 74 69 6f 6e library section a100: 2e 0a 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 ..#.dll:.$(SQLIT
a110: 45 33 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20  E3DLL)..# Shell
a120: 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68  executable..#.sh
a130: 65 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 45 58  ell:.$(SQLITE3EX a140: 45 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c E)..# <<mark>>.l a150: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 ibsqlite3.lib:.$
a160: 28 4c 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49  (LIBOBJ)..$(LTLI a170: 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 B)$(LTLIBOPTS)
a180: 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a  /OUT:$@$(LIBOBJ
a190: 29 20 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74  ) $(TLIBS)..libt a1a0: 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 clsqlite3.lib:.t a1b0: 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 clsqlite.lo libs a1c0: 71 6c 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 qlite3.lib..$(LT
a1d0: 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53  LIB) $(LTLIBOPTS a1e0: 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 )$(LTLIBPATHS)
a1f0: 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74  /OUT:$@ tclsqlit a200: 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e e.lo libsqlite3. a210: 6c 69 62 20 24 28 4c 49 42 54 43 4c 53 54 55 42 lib$(LIBTCLSTUB
a220: 29 20 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f  ) $(TLIBS).# <</ a230: 6d 61 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 mark>>..$(SQLITE
a240: 33 44 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29  3DLL):.$(LIBOBJ) a250: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24$(LIBRESOBJS) $a260: 28 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a (CORE_LINK_DEP). a270: 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 .$(LD) $(LDFLAGS a280: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 )$(LTLINKOPTS)
a290: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44  $(LTLIBPATHS) /D a2a0: 4c 4c 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f LL$(CORE_LINK_O
a2b0: 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c  PTS) /OUT:$@$(L
a2c0: 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f  IBOBJ) $(LIBRESO a2d0: 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 BJS)$(LTLIBS) $a2e0: 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f (TLIBS)..# <<blo a2f0: 63 6b 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 ck2>>.sqlite3.de a300: 66 3a 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 f:.libsqlite3.li a310: 62 0a 09 65 63 68 6f 20 45 58 50 4f 52 54 53 20 b..echo EXPORTS a320: 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 > sqlite3.def..d a330: 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 umpbin /all libs a340: 71 6c 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c qlite3.lib \...| a350: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28$(TCLSH_CMD) $( a360: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 TOP)\tool\replac a370: 65 2e 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e e.tcl include "^ a380: 5c 73 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33 28 \s+1 _?(sqlite3( a390: 3f 3a 73 65 73 73 69 6f 6e 7c 63 68 61 6e 67 65 ?:session|change a3a0: 73 65 74 7c 63 68 61 6e 67 65 67 72 6f 75 70 29 set|changegroup) a3b0: 3f 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 ?_[^@]*)(?:@\d+) a3c0: 3f 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 6f ?$$" \1 \...| so a3d0: 72 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 65 rt >> sqlite3.de a3e0: 66 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a f.# <</block2>>. a3f0: 0a 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 .$(SQLITE3EXE):.
a400: 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c  $(TOP)\src\shell a410: 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f .c$(SHELL_CORE_
a420: 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  DEP) $(LIBRESOBJ a430: 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f S)$(SHELL_CORE_
a440: 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  SRC) $(SQLITE3H) a450: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 48 ..$(LTLINK) $(SH a460: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ELL_COMPILE_OPTS a470: 29 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c 41 )$(READLINE_FLA
a480: 47 53 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  GS) $(TOP)\src\s a490: 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 hell.c$(SHELL_C
a4a0: 4f 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69  ORE_SRC) \.../li
a4b0: 6e 6b 20 24 28 53 51 4c 49 54 45 33 45 58 45 50  nk $(SQLITE3EXEP a4c0: 44 42 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 DB)$(LDFLAGS) $a4d0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 53 (LTLINKOPTS)$(S
a4e0: 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20  HELL_LINK_OPTS)
a4f0: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28  $(LTLIBPATHS)$(
a500: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 49  LIBRESOBJS) $(LI a510: 42 52 45 41 44 4c 49 4e 45 29 20 24 28 4c 54 4c BREADLINE)$(LTL
a520: 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23  IBS) $(TLIBS)..# a530: 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69 66 <<mark>>.sqldif a540: 66 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f f.exe:.$(TOP)\to
a550: 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53  ol\sqldiff.c $(S a560: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
a570: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) a580: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50$(NO_WARN) $(TOP a590: 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 )\tool\sqldiff.c a5a0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69$(SQLITE3C) /li
a5b0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
a5c0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64 62 68  LTLINKOPTS)..dbh
a5d0: 61 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  ash.exe:.$(TOP)\ a5e0: 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 tool\dbhash.c$(
a5f0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI a600: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 TE3H)..$(LTLINK)
a610: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f   $(NO_WARN)$(TO
a620: 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73 68 2e 63  P)\tool\dbhash.c
a630: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li a640: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( a650: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 63 72 LTLINKOPTS)..scr a660: 75 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 ub.exe:.$(TOP)\e
a670: 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 20  xt\misc\scrub.c
a680: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
a690: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN a6a0: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 K)$(NO_WARN) $( a6b0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 TOP)\ext\misc\sc a6c0: 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 rub.c$(SQLITE3C
a6d0: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG a6e0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
a6f0: 0a 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28  ..srcck1.exe:.$( a700: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 TOP)\tool\srcck1 a710: 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f .c..$(BCC) $(NO_ a720: 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f WARN) -Fe$@ $(TO a730: 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 P)\tool\srcck1.c a740: 0a 0a 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 ..sourcetest:.sr a750: 63 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 65 33 cck1.exe sqlite3 a760: 2e 63 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 73 .c..srcck1.exe s a770: 71 6c 69 74 65 33 2e 63 0a 0a 66 75 7a 7a 65 72 qlite3.c..fuzzer a780: 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50 shell.exe:.$(TOP
a790: 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65  )\tool\fuzzershe
a7a0: 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ll.c $(SQLITE3C) a7b0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( a7c0: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
a7d0: 4e 29 20 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c  N) $(FUZZERSHELL a7e0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
a7f0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65  (TOP)\tool\fuzze
a800: 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54  rshell.c $(SQLIT a810: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 E3C) /link$(LDF
a820: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP a830: 54 53 29 0a 0a 64 62 66 75 7a 7a 2e 65 78 65 3a TS)..dbfuzz.exe: a840: 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 66 .$(TOP)\test\dbf
a850: 75 7a 7a 2e 63 20 24 28 53 51 4c 49 54 45 33 43  uzz.c $(SQLITE3C a860: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 )$(SQLITE3H)..$a870: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 (LTLINK)$(NO_WA
a880: 52 4e 29 20 24 28 44 42 46 55 5a 5a 5f 43 4f 4d  RN) $(DBFUZZ_COM a890: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 PILE_OPTS)$(TOP
a8a0: 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e 63 20  )\test\dbfuzz.c
a8b0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin a8c0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L a8d0: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a TLINKOPTS)..fuzz a8e0: 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a check.exe:.$(FUZ
a8f0: 5a 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51  ZCHECK_SRC) $(SQ a900: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 LITE3C)$(SQLITE
a910: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK)$
a920: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a  (NO_WARN) $(FUZZ a930: 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 CHECK_COMPILE_OP a940: 54 53 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f TS)$(FUZZCHECK_
a950: 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29  SRC) $(SQLITE3C) a960: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 /link$(LDFLAGS
a970: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS). a980: 0a 6f 73 73 73 68 65 6c 6c 2e 65 78 65 3a 09 24 .ossshell.exe:.$
a990: 28 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24  (OSSSHELL_SRC) $a9a0: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
a9b0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK a9c0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 )$(NO_WARN) $(F a9d0: 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 UZZCHECK_COMPILE a9e0: 5f 4f 50 54 53 29 20 24 28 4f 53 53 53 48 45 4c _OPTS)$(OSSSHEL
a9f0: 4c 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33  L_SRC) $(SQLITE3 aa00: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
aa10: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS aa20: 29 0a 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a )..mptester.exe: aa30: 09 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d .$(TOP)\mptest\m
aa40: 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ptest.c $(SQLITE aa50: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
aa60: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
aa70: 57 41 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52  WARN) $(MPTESTER aa80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
aa90: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74  (TOP)\mptest\mpt
aaa0: 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  est.c $(SQLITE3C aab0: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
aac0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) aad0: 0a 0a 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65 ..MPTEST1 = mpte aae0: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 ster mptest.db$
aaf0: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61  (TOP)\mptest\cra
ab00: 73 68 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65  sh01.test --repe
ab10: 61 74 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20  at 20.MPTEST2 =
ab20: 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e  mptester mptest.
ab30: 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74  db $(TOP)\mptest ab40: 5c 6d 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65 \multiwrite01.te ab50: 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a st --repeat 20.. ab60: 6d 70 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72 mptest:.mptester ab70: 2e 65 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74 .exe..del /Q mpt ab80: 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28 est.db 2>NUL..$(
ab90: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e  MPTEST1) --journ
aba0: 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24  almode DELETE..$abb0: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 (MPTEST2) --jour abc0: 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d nalmode WAL..$(M
abd0: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST1) --journa
abe0: 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54  lmode WAL..$(MPT abf0: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d EST2) --journalm ac00: 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d ode PERSIST..$(M
ac10: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST1) --journa
ac20: 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24  lmode PERSIST..$ac30: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 (MPTEST2) --jour ac40: 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 nalmode TRUNCATE ac50: 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a ..$(MPTEST1) --j
ac60: 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43  ournalmode TRUNC
ac70: 41 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20  ATE..$(MPTEST2) ac80: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 --journalmode DE ac90: 4c 45 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72 LETE..# This tar aca0: 67 65 74 20 63 72 65 61 74 65 73 20 61 20 64 69 get creates a di acb0: 72 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74 rectory named "t acc0: 73 72 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69 src" and fills i acd0: 74 20 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20 t with.# copies ace0: 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20 of all of the C acf0: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 source code and ad00: 68 65 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65 header files nee ad10: 64 65 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f ded to.# build o ad20: 6e 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73 n the target sys ad30: 74 65 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68 tem. Some of th ad40: 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 e C source code ad50: 61 6e 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c and header.# fil ad60: 65 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 es are automatic ad70: 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 ally generated. ad80: 20 54 68 69 73 20 74 61 72 67 65 74 20 74 61 6b This target tak ad90: 65 73 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c es care of.# all ada0: 20 74 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20 that automatic adb0: 67 65 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 generation..#..t adc0: 61 72 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28 arget_source:.$(
add0: 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  SRC) $(TOP)\tool ade0: 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 \vdbe-compress.t adf0: 63 6c 20 66 74 73 35 2e 63 20 24 28 53 51 4c 49 cl fts5.c$(SQLI
ae00: 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d  TE_TCL_DEP)..-rm
ae10: 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e  dir /Q/S tsrc 2>
ae20: 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63  NUL..-mkdir tsrc
ae30: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S ae40: 52 43 30 30 29 29 20 64 6f 20 63 6f 70 79 20 2f RC00)) do copy / ae50: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 Y %i tsrc..for % ae60: 69 20 69 6e 20 28 24 28 53 52 43 30 31 29 29 20 i in ($(SRC01))
ae70: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
ae80: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($ae90: 28 53 52 43 30 32 29 29 20 64 6f 20 63 6f 70 79 (SRC02)) do copy aea0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 /Y %i tsrc..for aeb0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 33 29 %i in ($(SRC03)
aec0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i
aed0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in
aee0: 28 24 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f  ($(SRC04)) do co aef0: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 py /Y %i tsrc..f af00: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 or %i in ($(SRC0
af10: 35 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  5)) do copy /Y %
af20: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
af30: 6e 20 28 24 28 53 52 43 30 36 29 29 20 64 6f 20  n ($(SRC06)) do af40: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a copy /Y %i tsrc. af50: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 .for %i in ($(SR
af60: 43 30 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C07)) do copy /Y
af70: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
af80: 20 69 6e 20 28 24 28 53 52 43 30 38 29 29 20 64   in ($(SRC08)) d af90: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 o copy /Y %i tsr afa0: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 c..for %i in ($(
afb0: 53 52 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20  SRC09)) do copy
afc0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for
afd0: 25 69 20 69 6e 20 28 24 28 53 52 43 31 30 29 29  %i in ($(SRC10)) afe0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 do copy /Y %i t aff0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 src..for %i in ( b000: 24 28 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70$(SRC11)) do cop
b010: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
b020: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 32  r %i in ($(SRC12 b030: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 )) do copy /Y %i b040: 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 tsrc..copy /Y f b050: 74 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 ts5.c tsrc..copy b060: 20 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a /Y fts5.h tsrc. b070: 09 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c .del /Q tsrc\sql b080: 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 ite.h.in tsrc\pa b090: 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 rse.y 2>NUL..$(T
b0a0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) b0b0: 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 \tool\vdbe-compr b0c0: 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 ess.tcl$(OPTS)
b0d0: 3c 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20  < tsrc\vdbe.c >
b0e0: 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76  vdbe.new..move v
b0f0: 64 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62  dbe.new tsrc\vdb
b100: 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72  e.c..echo > .tar
b110: 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69  get_source..sqli
b120: 74 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73  te3.c:..target_s
b130: 6f 75 72 63 65 20 73 71 6c 69 74 65 33 65 78 74  ource sqlite3ext
b140: 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f  .h $(MKSQLITE3C_ b150: 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 TOOL)..$(TCLSH_C
b160: 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43  MD) $(MKSQLITE3C b170: 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 _TOOL)$(MKSQLIT
b180: 45 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20  E3C_ARGS)..copy
b190: 74 73 72 63 5c 73 68 65 6c 6c 2e 63 20 2e 0a 09  tsrc\shell.c ...
b1a0: 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c  copy $(TOP)\ext\ b1b0: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 session\sqlite3s b1c0: 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 ession.h ...sqli b1d0: 74 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 te3-all.c:.sqlit b1e0: 65 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c e3.c$(TOP)\tool
b1f0: 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e  \split-sqlite3c.
b200: 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  tcl..$(TCLSH_CMD b210: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 )$(TOP)\tool\sp
b220: 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c  lit-sqlite3c.tcl
b230: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..#
b240: 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68  Rule to build th
b250: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23  e amalgamation.#
b260: 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53  .sqlite3.lo:.$(S b270: 51 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f QLITE3C)..$(LTCO
b280: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO b290: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
b2a0: 28 53 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c  (SQLITE3C)..# <<
b2b0: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74  mark>>.# Rules t
b2c0: 6f 20 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f  o build the LEMO
b2d0: 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72  N compiler gener
b2e0: 61 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a  ator.#.lempar.c:
b2f0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d  .$(TOP)\tool\lem b300: 70 61 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f par.c..copy$(TO
b310: 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63  P)\tool\lempar.c
b320: 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24   ...lemon.exe:.$b330: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e (TOP)\tool\lemon b340: 2e 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42 .c lempar.c..$(B
b350: 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  CC) $(NO_WARN) - b360: 44 61 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20 Daccess=_access b370: 5c 0a 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29 \...-Fe$@ $(TOP) b380: 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c \tool\lemon.c /l b390: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $b3a0: 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 (NLTLINKOPTS)$(
b3b0: 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20  NLTLIBPATHS)..#
b3c0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73  <<mark>>.# Rules
b3d0: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 73 6f   to build the so
b3e0: 75 72 63 65 2d 69 64 20 67 65 6e 65 72 61 74 6f  urce-id generato
b3f0: 72 20 74 6f 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63  r tool.#.mksourc
b400: 65 69 64 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  eid.exe:.$(TOP)\ b410: 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e tool\mksourceid. b420: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 c..$(BCC) $(NO_W b430: 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 ARN) -Fe$@ $(TOP b440: 29 5c 74 6f 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 )\tool\mksourcei b450: 64 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c d.c /link$(LDFL
b460: 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50  AGS) $(NLTLINKOP b470: 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 TS)$(NLTLIBPATH
b480: 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62  S)..# Rules to b
b490: 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20  uild individual
b4a0: 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20  *.lo files from
b4b0: 67 65 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69  generated *.c fi
b4c0: 6c 65 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c  les. This.# appl
b4d0: 69 65 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20  ies to:.#.#
b4e0: 70 61 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f  parse.lo.#     o
b4f0: 70 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73  pcodes.lo.#.pars
b500: 65 2e 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28  e.lo:.parse.c $( b510: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
b520: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL b530: 45 5f 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65 E_OPTS) -c parse b540: 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 .c..opcodes.lo:. b550: 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43 opcodes.c..$(LTC
b560: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C b570: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c b580: 6f 70 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d opcodes.c.# <</m b590: 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f ark>>..# Rule to b5a0: 20 62 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32 build the Win32 b5b0: 20 72 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63 resources objec b5c0: 74 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 t file..#.!IF$(
b5d0: 55 53 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62  USE_RC)!=0.# <<b
b5e0: 6c 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53  lock1>>.$(LIBRES b5f0: 4f 42 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72 OBJS):.$(TOP)\sr
b600: 63 5c 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53  c\sqlite3.rc $(S b610: 51 4c 49 54 45 33 48 29 0a 09 65 63 68 6f 20 23 QLITE3H)..echo # b620: 69 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 52 45 ifndef SQLITE_RE b630: 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e SOURCE_VERSION > b640: 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f sqlite3rc.h..fo b650: 72 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 r /F %%V in ('ty b660: 70 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 pe "$(TOP)\VERSI
b670: 4f 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65  ON"') do ( \...e
b680: 63 68 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49  cho #define SQLI
b690: 54 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53  TE_RESOURCE_VERS
b6a0: 49 4f 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 24  ION %%V \....| $b6b0: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
b6c0: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
b6d0: 74 63 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e  tcl exact . ^, >
b6e0: 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a  > sqlite3rc.h \.
b6f0: 09 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20  .)..echo #endif
b700: 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09  >> sqlite3rc.h..
b710: 24 28 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66  $(LTRCOMPILE) -f b720: 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 o$(LIBRESOBJS)
b730: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit b740: 65 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b e3.rc.# <</block b750: 31 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 1>>.!ENDIF..# << b760: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 mark>>.# Rules t b770: 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 o build individu b780: 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 al *.lo files fr b790: 6f 6d 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 om files in the b7a0: 73 72 63 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 src directory..# b7b0: 0a 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 .alter.lo:.$(TOP
b7c0: 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 28  )\src\alter.c $( b7d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
b7e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL b7f0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
b800: 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61  )\src\alter.c..a
b810: 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50  nalyze.lo:.$(TOP b820: 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 )\src\analyze.c b830: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP b840: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
b850: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T b860: 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e OP)\src\analyze. b870: 63 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 c..attach.lo:.$(
b880: 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e  TOP)\src\attach.
b890: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b8a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO b8b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
b8c0: 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68  (TOP)\src\attach
b8d0: 2e 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54  .c..auth.lo:.$(T b8e0: 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 OP)\src\auth.c$
b8f0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI b900: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
b910: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO b920: 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 P)\src\auth.c..b b930: 61 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 ackup.lo:.$(TOP)
b940: 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 28  \src\backup.c $( b950: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
b960: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL b970: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
b980: 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a  )\src\backup.c..
b990: 62 69 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50  bitvec.lo:.$(TOP b9a0: 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20 24 )\src\bitvec.c$
b9b0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI b9c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
b9d0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO b9e0: 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 0a P)\src\bitvec.c. b9f0: 0a 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 .btmutex.lo:.$(T
ba00: 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e  OP)\src\btmutex.
ba10: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ba20: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO ba30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
ba40: 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65  (TOP)\src\btmute
ba50: 78 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24  x.c..btree.lo:.$ba60: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e (TOP)\src\btree. ba70: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c c$(HDR) $(TOP)\ ba80: 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c src\pager.h..$(L
ba90: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE baa0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - bab0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 c$(TOP)\src\btr
bac0: 65 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09  ee.c..build.lo:.
bad0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64  $(TOP)\src\build bae0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC baf0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
bb00: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
bb10: 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64  $(TOP)\src\build bb20: 2e 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a .c..callback.lo: bb30: 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c .$(TOP)\src\call
bb40: 62 61 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24  back.c $(HDR)..$
bb50: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO bb60: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) bb70: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 -c$(TOP)\src\c
bb80: 61 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c  allback.c..compl
bb90: 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ete.lo:.$(TOP)\s bba0: 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 rc\complete.c$(
bbb0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL bbc0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
bbd0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP bbe0: 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 )\src\complete.c bbf0: 0a 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f ..ctime.lo:.$(TO
bc00: 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 24  P)\src\ctime.c $bc10: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
bc20: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI bc30: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
bc40: 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a  P)\src\ctime.c..
bc50: 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  date.lo:.$(TOP)\ bc60: 73 72 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52 src\date.c$(HDR
bc70: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) bc80: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
bc90: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s bca0: 72 63 5c 64 61 74 65 2e 63 0a 0a 64 62 70 61 67 rc\date.c..dbpag bcb0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
bcc0: 5c 64 62 70 61 67 65 2e 63 20 24 28 48 44 52 29  \dbpage.c $(HDR) bcd0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $bce0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP bcf0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
bd00: 63 5c 64 62 70 61 67 65 2e 63 0a 0a 64 62 73 74  c\dbpage.c..dbst
bd10: 61 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  at.lo:.$(TOP)\sr bd20: 63 5c 64 62 73 74 61 74 2e 63 20 24 28 48 44 52 c\dbstat.c$(HDR
bd30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) bd40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
bd50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s bd60: 72 63 5c 64 62 73 74 61 74 2e 63 0a 0a 64 65 6c rc\dbstat.c..del bd70: 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ete.lo:.$(TOP)\s
bd80: 72 63 5c 64 65 6c 65 74 65 2e 63 20 24 28 48 44  rc\delete.c $(HD bd90: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
bda0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ bdb0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
bdc0: 73 72 63 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 78  src\delete.c..ex
bdd0: 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  pr.lo:.$(TOP)\sr bde0: 63 5c 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a c\expr.c$(HDR).
bdf0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
be00: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
be10: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src be20: 5c 65 78 70 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c \expr.c..fault.l be30: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 o:.$(TOP)\src\fa
be40: 75 6c 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ult.c $(HDR)..$(
be50: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR be60: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) be70: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 -c$(TOP)\src\fa
be80: 75 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09  ult.c..fkey.lo:.
be90: 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e  $(TOP)\src\fkey. bea0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO beb0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
bec0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $bed0: 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 (TOP)\src\fkey.c bee0: 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50 ..func.lo:.$(TOP
bef0: 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 24 28 48  )\src\func.c $(H bf00: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
bf10: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE bf20: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
bf30: 5c 73 72 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f  \src\func.c..glo
bf40: 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  bal.lo:.$(TOP)\s bf50: 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 48 44 rc\global.c$(HD
bf60: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) bf70: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
bf80: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ bf90: 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61 src\global.c..ha bfa0: 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 sh.lo:.$(TOP)\sr
bfb0: 63 5c 68 61 73 68 2e 63 20 24 28 48 44 52 29 0a  c\hash.c $(HDR). bfc0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( bfd0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT bfe0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
bff0: 5c 68 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e  \hash.c..insert.
c000: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 69  lo:.$(TOP)\src\i c010: 6e 73 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09 nsert.c$(HDR)..
c020: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
c030: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c040: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ c050: 69 6e 73 65 72 74 2e 63 0a 0a 6c 65 67 61 63 79 insert.c..legacy c060: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
c070: 6c 65 67 61 63 79 2e 63 20 24 28 48 44 52 29 0a  legacy.c $(HDR). c080: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( c090: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT c0a0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
c0b0: 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65  \legacy.c..loade
c0c0: 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  xt.lo:.$(TOP)\sr c0d0: 63 5c 6c 6f 61 64 65 78 74 2e 63 20 24 28 48 44 c\loadext.c$(HD
c0e0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) c0f0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
c100: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ c110: 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d src\loadext.c..m c120: 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ain.lo:.$(TOP)\s
c130: 72 63 5c 6d 61 69 6e 2e 63 20 24 28 48 44 52 29  rc\main.c $(HDR) c140: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c150: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP c160: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
c170: 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63  c\main.c..malloc
c180: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ c190: 6d 61 6c 6c 6f 63 2e 63 20 24 28 48 44 52 29 0a malloc.c$(HDR).
c1a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
c1b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c1c0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src c1d0: 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e \malloc.c..mem0. c1e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d lo:.$(TOP)\src\m
c1f0: 65 6d 30 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em0.c $(HDR)..$(
c200: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR c210: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) c220: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 -c$(TOP)\src\me
c230: 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24  m0.c..mem1.lo:.$c240: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 (TOP)\src\mem1.c c250: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM c260: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
c270: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( c280: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a TOP)\src\mem1.c. c290: 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 .mem2.lo:.$(TOP)
c2a0: 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 24 28 48 44  \src\mem2.c $(HD c2b0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c2c0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c2d0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c2e0: 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33  src\mem2.c..mem3
c2f0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ c300: 6d 65 6d 33 2e 63 20 24 28 48 44 52 29 0a 09 24 mem3.c$(HDR)..$c310: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
c320: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c330: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m c340: 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 em3.c..mem5.lo:. c350: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e$(TOP)\src\mem5.
c360: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c370: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO c380: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
c390: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63  (TOP)\src\mem5.c
c3a0: 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a  ..memjournal.lo:
c3b0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a  .$(TOP)\src\memj c3c0: 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44 52 29 0a ournal.c$(HDR).
c3d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
c3e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c3f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src c400: 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d \memjournal.c..m c410: 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c utex.lo:.$(TOP)\
c420: 73 72 63 5c 6d 75 74 65 78 2e 63 20 24 28 48 44  src\mutex.c $(HD c430: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c440: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c450: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c460: 73 72 63 5c 6d 75 74 65 78 2e 63 0a 0a 6d 75 74  src\mutex.c..mut
c470: 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f  ex_noop.lo:.$(TO c480: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f P)\src\mutex_noo c490: 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 p.c$(HDR)..$(LT c4a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
c4b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c4c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute c4d0: 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f x_noop.c..mutex_ c4e0: 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c unix.lo:.$(TOP)\
c4f0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
c500: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c510: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM c520: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
c530: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75  TOP)\src\mutex_u
c540: 6e 69 78 2e 63 0a 0a 6d 75 74 65 78 5f 77 33 32  nix.c..mutex_w32
c550: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ c560: 6d 75 74 65 78 5f 77 33 32 2e 63 20 24 28 48 44 mutex_w32.c$(HD
c570: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) c580: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
c590: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ c5a0: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 0a src\mutex_w32.c. c5b0: 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24 28 54 4f .notify.lo:.$(TO
c5c0: 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20  P)\src\notify.c
c5d0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c5e0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c5f0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
c600: 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63  OP)\src\notify.c
c610: 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09 24 28 54 4f  ..pager.lo:.$(TO c620: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 24 P)\src\pager.c$
c630: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63  (HDR) $(TOP)\src c640: 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f \pager.h..$(LTCO
c650: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO c660: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
c670: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
c680: 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a 09 24 28  c..pcache.lo:.$( c690: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e TOP)\src\pcache. c6a0: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c c$(HDR) $(TOP)\ c6b0: 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 src\pcache.h..$(
c6c0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR c6d0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) c6e0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 -c$(TOP)\src\pc
c6f0: 61 63 68 65 2e 63 0a 0a 70 63 61 63 68 65 31 2e  ache.c..pcache1.
c700: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p c710: 63 61 63 68 65 31 2e 63 20 24 28 48 44 52 29 20 cache1.c$(HDR)
c720: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach c730: 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 e.h..$(LTCOMPILE
c740: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE c750: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
c760: 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 0a 0a  \src\pcache1.c..
c770: 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  os.lo:.$(TOP)\sr c780: 63 5c 6f 73 2e 63 20 24 28 48 44 52 29 0a 09 24 c\os.c$(HDR)..$c790: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
c7a0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c7b0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f   -c $(TOP)\src\o c7c0: 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a s.c..os_unix.lo: c7d0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 .$(TOP)\src\os_u
c7e0: 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28  nix.c $(HDR)..$(
c7f0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR c800: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) c810: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 -c$(TOP)\src\os
c820: 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e  _unix.c..os_win.
c830: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f  lo:.$(TOP)\src\o c840: 73 5f 77 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 s_win.c$(HDR)..
c850: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
c860: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c870: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ c880: 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61 67 6d 61 os_win.c..pragma c890: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
c8a0: 70 72 61 67 6d 61 2e 63 20 24 28 48 44 52 29 0a  pragma.c $(HDR). c8b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( c8c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT c8d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
c8e0: 5c 70 72 61 67 6d 61 2e 63 0a 0a 70 72 65 70 61  \pragma.c..prepa
c8f0: 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  re.lo:.$(TOP)\sr c900: 63 5c 70 72 65 70 61 72 65 2e 63 20 24 28 48 44 c\prepare.c$(HD
c910: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) c920: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
c930: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ c940: 73 72 63 5c 70 72 65 70 61 72 65 2e 63 0a 0a 70 src\prepare.c..p c950: 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 rintf.lo:.$(TOP)
c960: 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 24 28  \src\printf.c $( c970: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
c980: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL c990: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
c9a0: 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 0a 0a  )\src\printf.c..
c9b0: 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50  random.lo:.$(TOP c9c0: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 24 )\src\random.c$
c9d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI c9e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
c9f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO ca00: 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a P)\src\random.c. ca10: 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54 .resolve.lo:.$(T
ca20: 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e  OP)\src\resolve.
ca30: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ca40: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO ca50: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
ca60: 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76  (TOP)\src\resolv
ca70: 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09  e.c..rowset.lo:.
ca80: 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65  $(TOP)\src\rowse ca90: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 t.c$(HDR)..$(LT caa0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
cab0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cac0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73   $(TOP)\src\rows cad0: 65 74 2e 63 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a et.c..select.lo: cae0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 .$(TOP)\src\sele
caf0: 63 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ct.c $(HDR)..$(L
cb00: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE cb10: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - cb20: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c c$(TOP)\src\sel
cb30: 65 63 74 2e 63 0a 0a 73 74 61 74 75 73 2e 6c 6f  ect.c..status.lo
cb40: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61  :.$(TOP)\src\sta cb50: 74 75 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28 tus.c$(HDR)..$( cb60: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
cb70: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
cb80: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 74  -c $(TOP)\src\st cb90: 61 74 75 73 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f atus.c..table.lo cba0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62 :.$(TOP)\src\tab
cbb0: 6c 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  le.c $(HDR)..$(L
cbc0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE cbd0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - cbe0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62 c$(TOP)\src\tab
cbf0: 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73 2e 6c 6f  le.c..threads.lo
cc00: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72  :.$(TOP)\src\thr cc10: 65 61 64 73 2e 63 20 24 28 48 44 52 29 0a 09 24 eads.c$(HDR)..$cc20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
cc30: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cc40: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t cc50: 68 72 65 61 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69 hreads.c..tokeni cc60: 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 ze.lo:.$(TOP)\sr
cc70: 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 6b 65 79  c\tokenize.c key
cc80: 77 6f 72 64 68 61 73 68 2e 68 20 24 28 48 44 52  wordhash.h $(HDR cc90: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
cca0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O ccb0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
ccc0: 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74  rc\tokenize.c..t
ccd0: 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24 28 54 4f  reeview.lo:.$(TO cce0: 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e P)\src\treeview. ccf0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO cd00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
cd10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $cd20: 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69 (TOP)\src\treevi cd30: 65 77 2e 63 0a 0a 74 72 69 67 67 65 72 2e 6c 6f ew.c..trigger.lo cd40: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 :.$(TOP)\src\tri
cd50: 67 67 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  gger.c $(HDR)..$
cd60: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO cd70: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) cd80: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 -c$(TOP)\src\t
cd90: 72 69 67 67 65 72 2e 63 0a 0a 75 70 64 61 74 65  rigger.c..update
cda0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ cdb0: 75 70 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a update.c$(HDR).
cdc0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
cdd0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cde0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src cdf0: 5c 75 70 64 61 74 65 2e 63 0a 0a 75 74 66 2e 6c \update.c..utf.l ce00: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 o:.$(TOP)\src\ut
ce10: 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  f.c $(HDR)..$(LT
ce20: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ ce30: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c ce40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e$(TOP)\src\utf.
ce50: 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f  c..util.lo:.$(TO ce60: 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 24 28 P)\src\util.c$(
ce70: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL ce80: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
ce90: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP cea0: 29 5c 73 72 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 )\src\util.c..va ceb0: 63 75 75 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c cuum.lo:.$(TOP)\
cec0: 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 24 28 48  src\vacuum.c $(H ced0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
cee0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE cef0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
cf00: 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 0a 0a 76  \src\vacuum.c..v
cf10: 64 62 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  dbe.lo:.$(TOP)\s cf20: 72 63 5c 76 64 62 65 2e 63 20 24 28 48 44 52 29 rc\vdbe.c$(HDR)
cf30: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
cf40: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
cf50: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr cf60: 63 5c 76 64 62 65 2e 63 0a 0a 76 64 62 65 61 70 c\vdbe.c..vdbeap cf70: 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 i.lo:.$(TOP)\src
cf80: 5c 76 64 62 65 61 70 69 2e 63 20 24 28 48 44 52  \vdbeapi.c $(HDR cf90: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
cfa0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O cfb0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
cfc0: 72 63 5c 76 64 62 65 61 70 69 2e 63 0a 0a 76 64  rc\vdbeapi.c..vd
cfd0: 62 65 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  beaux.lo:.$(TOP) cfe0: 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20 24 \src\vdbeaux.c$
cff0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d000: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d010: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d020: 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 P)\src\vdbeaux.c d030: 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 ..vdbeblob.lo:.$
d040: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c  (TOP)\src\vdbebl
d050: 6f 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ob.c $(HDR)..$(L
d060: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d070: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d080: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 c$(TOP)\src\vdb
d090: 65 62 6c 6f 62 2e 63 0a 0a 76 64 62 65 6d 65 6d  eblob.c..vdbemem
d0a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d0b0: 76 64 62 65 6d 65 6d 2e 63 20 24 28 48 44 52 29 vdbemem.c$(HDR)
d0c0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
d0d0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d0e0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr d0f0: 63 5c 76 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 c\vdbemem.c..vdb d100: 65 73 6f 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 esort.lo:.$(TOP)
d110: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20  \src\vdbesort.c
d120: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d130: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP d140: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
d150: 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74  OP)\src\vdbesort
d160: 2e 63 0a 0a 76 64 62 65 74 72 61 63 65 2e 6c 6f  .c..vdbetrace.lo
d170: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb d180: 65 74 72 61 63 65 2e 63 20 24 28 48 44 52 29 0a etrace.c$(HDR).
d190: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d1a0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d1b0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src d1c0: 5c 76 64 62 65 74 72 61 63 65 2e 63 0a 0a 76 74 \vdbetrace.c..vt d1d0: 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 ab.lo:.$(TOP)\sr
d1e0: 63 5c 76 74 61 62 2e 63 20 24 28 48 44 52 29 0a  c\vtab.c $(HDR). d1f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( d200: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT d210: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
d220: 5c 76 74 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a  \vtab.c..wal.lo:
d230: 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e  .$(TOP)\src\wal. d240: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO d250: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d260: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $d270: 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 0a (TOP)\src\wal.c. d280: 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f .walker.lo:.$(TO
d290: 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20  P)\src\walker.c
d2a0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
d2b0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP d2c0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
d2d0: 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63  OP)\src\walker.c
d2e0: 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09 24 28 54 4f  ..where.lo:.$(TO d2f0: 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 24 P)\src\where.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 77 68 65 72 65 2e 63 0a 0a P)\src\where.c.. d340: 77 68 65 72 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 wherecode.lo:.$(
d350: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f  TOP)\src\whereco
d360: 64 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  de.c $(HDR)..$(L
d370: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d380: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - d390: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 c$(TOP)\src\whe
d3a0: 72 65 63 6f 64 65 2e 63 0a 0a 77 68 65 72 65 65  recode.c..wheree
d3b0: 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  xpr.lo:.$(TOP)\s d3c0: 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 20 24 rc\whereexpr.c$
d3d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI d3e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d3f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO d400: 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 P)\src\whereexpr d410: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6c 6f .c..tclsqlite.lo d420: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c :.$(TOP)\src\tcl
d430: 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20  sqlite.c $(HDR) d440: 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50$(SQLITE_TCL_DEP
d450: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) d460: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45$(NO_WARN) -DUSE
d470: 5f 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42  _TCL_STUBS=1 -DB
d480: 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28  UILD_sqlite -I$( d490: 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 TCLINCDIR) -c$(
d4a0: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
d4b0: 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d  te.c..tclsqlite-
d4c0: 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29  shell.lo:.$(TOP) d4d0: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 \src\tclsqlite.c d4e0: 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45$(HDR) $(SQLITE d4f0: 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 _TCL_DEP)..$(LTC
d500: 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52  OMPILE) $(NO_WAR d510: 4e 29 20 2d 44 54 43 4c 53 48 3d 31 20 2d 44 42 N) -DTCLSH=1 -DB d520: 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 UILD_sqlite -I$(
d530: 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28  TCLINCDIR) -c $( d540: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 TOP)\src\tclsqli d550: 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 33 te.c..tclsqlite3 d560: 2e 65 78 65 3a 09 74 63 6c 73 71 6c 69 74 65 2d .exe:.tclsqlite- d570: 73 68 65 6c 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 shell.lo$(SQLIT
d580: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) d590: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09$(LIBRESOBJS)..
d5a0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 51 4c 49  $(LTLINK)$(SQLI
d5b0: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD d5c0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
d5d0: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH d5e0: 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 S) /OUT:$@ tclsq
d5f0: 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28  lite-shell.lo $( d600: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 LIBRESOBJS)$(LT
d610: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS).. d620: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 # Rules to build d630: 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f opcodes.c and o d640: 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64 pcodes.h.#.opcod d650: 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20 es.c:.opcodes.h d660: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70$(TOP)\tool\mkop
d670: 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c  codec.tcl..$(TCL d680: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 SH_CMD)$(TOP)\t
d690: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63  ool\mkopcodec.tc
d6a0: 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70  l opcodes.h > op
d6b0: 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73  codes.c..opcodes
d6c0: 2e 68 3a 09 70 61 72 73 65 2e 68 20 24 28 54 4f  .h:.parse.h $(TO d6d0: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28 P)\src\vdbe.c$(
d6e0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
d6f0: 64 65 68 2e 74 63 6c 0a 09 74 79 70 65 20 70 61  deh.tcl..type pa
d700: 72 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63  rse.h $(TOP)\src d710: 5c 76 64 62 65 2e 63 20 7c 20 24 28 54 43 4c 53 \vdbe.c |$(TCLS
d720: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to d730: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c ol\mkopcodeh.tcl d740: 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20 > opcodes.h..# d750: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 70 Rules to build p d760: 61 72 73 65 2e 63 20 61 6e 64 20 70 61 72 73 65 arse.c and parse d770: 2e 68 20 2d 20 74 68 65 20 6f 75 74 70 75 74 73 .h - the outputs d780: 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72 of lemon..#.par d790: 73 65 2e 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70 se.h:.parse.c..p d7a0: 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73 arse.c:.$(TOP)\s
d7b0: 72 63 5c 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e  rc\parse.y lemon
d7c0: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  .exe $(TOP)\tool d7d0: 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 0a \addopcodes.tcl. d7e0: 09 64 65 6c 20 2f 51 20 70 61 72 73 65 2e 79 20 .del /Q parse.y d7f0: 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e parse.h parse.h. d800: 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f 70 79 temp 2>NUL..copy d810: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73$(TOP)\src\pars
d820: 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65  e.y ....\lemon.e
d830: 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  xe $(REQ_FEATURE d840: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 _FLAGS)$(OPT_FE
d850: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E d860: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 XT_FEATURE_FLAGS d870: 29 20 24 28 4f 50 54 53 29 20 70 61 72 73 65 2e )$(OPTS) parse.
d880: 79 0a 09 6d 6f 76 65 20 70 61 72 73 65 2e 68 20  y..move parse.h
d890: 70 61 72 73 65 2e 68 2e 74 65 6d 70 0a 09 24 28  parse.h.temp..$( d8a0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
d8b0: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65  )\tool\addopcode
d8c0: 73 2e 74 63 6c 20 70 61 72 73 65 2e 68 2e 74 65  s.tcl parse.h.te
d8d0: 6d 70 20 3e 20 70 61 72 73 65 2e 68 0a 0a 24 28  mp > parse.h..$( d8e0: 53 51 4c 49 54 45 33 48 29 3a 09 24 28 54 4f 50 SQLITE3H):.$(TOP
d8f0: 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69  )\src\sqlite.h.i
d900: 6e 20 24 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73  n $(TOP)\manifes d910: 74 20 6d 6b 73 6f 75 72 63 65 69 64 2e 65 78 65 t mksourceid.exe d920: 20 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a$(TOP)\VERSION.
d930: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD)$(
d940: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69  TOP)\tool\mksqli
d950: 74 65 33 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c  te3h.tcl $(TOP:\ d960: 3d 2f 29 20 3e 20 24 28 53 51 4c 49 54 45 33 48 =/) >$(SQLITE3H
d970: 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 48 5f 41  ) $(MKSQLITE3H_A d980: 52 47 53 29 0a 0a 73 71 6c 69 74 65 33 65 78 74 RGS)..sqlite3ext d990: 2e 68 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 .h:..target_sour d9a0: 63 65 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 ce.!IF$(USE_STD
d9b0: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO d9c0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 09 74 79 70 R_WIN10)!=0..typ d9d0: 65 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 e tsrc\sqlite3ex d9e0: 74 2e 68 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d t.h |$(TCLSH_CM
d9f0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r da00: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 eplace.tcl regsu da10: 62 20 22 5c 28 5c 2a 5c 29 22 20 22 28 53 51 4c b "$$\*$$" "(SQL da20: 49 54 45 5f 43 41 4c 4c 42 41 43 4b 20 2a 29 22 ITE_CALLBACK *)" da30: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 \...|$(TCLSH_C
da40: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ da50: 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 replace.tcl regs da60: 75 62 20 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 ub "\(\*" "(SQLI da70: 54 45 5f 41 50 49 43 41 4c 4c 20 2a 22 20 3e 20 TE_APICALL *" > da80: 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 09 63 6f sqlite3ext.h..co da90: 70 79 20 2f 59 20 73 71 6c 69 74 65 33 65 78 74 py /Y sqlite3ext daa0: 2e 68 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 .h tsrc\sqlite3e dab0: 78 74 2e 68 0a 21 45 4c 53 45 0a 09 63 6f 70 79 xt.h.!ELSE..copy dac0: 20 2f 59 20 74 73 72 63 5c 73 71 6c 69 74 65 33 /Y tsrc\sqlite3 dad0: 65 78 74 2e 68 20 73 71 6c 69 74 65 33 65 78 74 ext.h sqlite3ext dae0: 2e 68 0a 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79 .h.!ENDIF..mkkey daf0: 77 6f 72 64 68 61 73 68 2e 65 78 65 3a 09 24 28 wordhash.exe:.$(
db00: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77  TOP)\tool\mkkeyw
db10: 6f 72 64 68 61 73 68 2e 63 0a 09 24 28 42 43 43  ordhash.c..$(BCC db20: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 )$(NO_WARN) -Fe
db30: 24 40 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  $@$(REQ_FEATURE
db40: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE db50: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 ATURE_FLAGS)$(E
db60: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
db70: 29 20 24 28 4f 50 54 53 29 20 5c 0a 09 09 24 28  ) $(OPTS) \...$(
db80: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77  TOP)\tool\mkkeyw
db90: 6f 72 64 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20  ordhash.c /link
dba0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54  $(LDFLAGS)$(NLT
dbb0: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c  LINKOPTS) $(NLTL dbc0: 49 42 50 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72 IBPATHS)..keywor dbd0: 64 68 61 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c dhash.h:.$(TOP)\
dbe0: 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61  tool\mkkeywordha
dbf0: 73 68 2e 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61  sh.c mkkeywordha
dc00: 73 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77  sh.exe...\mkkeyw
dc10: 6f 72 64 68 61 73 68 2e 65 78 65 20 3e 20 6b 65  ordhash.exe > ke
dc20: 79 77 6f 72 64 68 61 73 68 2e 68 0a 0a 0a 0a 23  ywordhash.h....#
dc30: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build
dc40: 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62  the extension ob
dc50: 6a 65 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a  jects..#.icu.lo:
dc60: 09 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c  .$(TOP)\ext\icu\ dc70: 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 icu.c$(HDR) $(E dc80: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
dc90: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP dca0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
dcb0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
dcc0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext dcd0: 5c 69 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 \icu\icu.c..fts2 dce0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
dcf0: 66 74 73 32 5c 66 74 73 32 2e 63 20 24 28 48 44  fts2\fts2.c $(HD dd00: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( dd10: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
dd20: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
dd30: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL dd40: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
dd50: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
dd60: 2e 63 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f  .c..fts2_hash.lo
dd70: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts dd80: 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 24 28 2\fts2_hash.c$(
dd90: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR).. dda0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C ddb0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS ddc0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
ddd0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $( dde0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft ddf0: 73 32 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f s2_hash.c..fts2_ de00: 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 icu.lo:.$(TOP)\e
de10: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75  xt\fts2\fts2_icu
de20: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
de30: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE de40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
de50: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN de60: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE de70: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
de80: 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66  s2\fts2_icu.c..f
de90: 74 73 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24  ts2_porter.lo:.$dea0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f deb0: 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 ts2_porter.c$(H
dec0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
ded0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO dee0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) def0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
df00: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T df10: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts df20: 32 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 2_porter.c..fts2 df30: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 _tokenizer.lo:.$
df40: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
df50: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20  ts2_tokenizer.c
df60: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
df70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
df80: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
df90: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - dfa0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c dfb0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
dfc0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63  fts2_tokenizer.c
dfd0: 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  ..fts2_tokenizer
dfe0: 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  1.lo:.$(TOP)\ext dff0: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e \fts2\fts2_token e000: 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 izer1.c$(HDR) $e010: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f (EXTHDR)..$(LTCO
e020: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO e030: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f MPILE_OPTS)$(NO
e040: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
e050: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e e060: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b xt\fts2\fts2_tok e070: 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e enizer1.c..fts3. e080: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 lo:.$(TOP)\ext\f
e090: 74 73 33 5c 66 74 73 33 2e 63 20 24 28 48 44 52  ts3\fts3.c $(HDR e0a0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L e0b0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
e0c0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $e0d0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI e0e0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
e0f0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e  )\ext\fts3\fts3.
e100: 63 0a 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09  c..fts3_aux.lo:.
e110: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ e120: 66 74 73 33 5f 61 75 78 2e 63 20 24 28 48 44 52 fts3_aux.c$(HDR
e130: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
e140: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE e150: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
e160: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
e170: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP e180: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ e190: 61 75 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 aux.c..fts3_expr e1a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
e1b0: 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63  fts3\fts3_expr.c
e1c0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
e1d0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) e1e0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
e1f0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) e200: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c e210: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
e220: 5c 66 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74  \fts3_expr.c..ft
e230: 73 33 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f  s3_hash.lo:.$(TO e240: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 e250: 5f 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 _hash.c$(HDR) $e260: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f (EXTHDR)..$(LTCO
e270: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO e280: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f MPILE_OPTS)$(NO
e290: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
e2a0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e e2b0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 xt\fts3\fts3_has e2c0: 68 2e 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f h.c..fts3_icu.lo e2d0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
e2e0: 33 5c 66 74 73 33 5f 69 63 75 2e 63 20 24 28 48  3\fts3_icu.c $(H e2f0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$e300: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
e310: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
e320: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ e330: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
e340: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
e350: 33 5f 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e  3_icu.c..fts3_sn
e360: 69 70 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  ippet.lo:.$(TOP) e370: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 \ext\fts3\fts3_s e380: 6e 69 70 70 65 74 2e 63 20 24 28 48 44 52 29 20 nippet.c$(HDR)
e390: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
e3a0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C e3b0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
e3c0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
e3d0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ e3e0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e ext\fts3\fts3_sn e3f0: 69 70 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f ippet.c..fts3_po e400: 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c rter.lo:.$(TOP)\
e410: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f  ext\fts3\fts3_po
e420: 72 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  rter.c $(HDR)$(
e430: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM e440: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
e450: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ e460: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C e470: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
e480: 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74  t\fts3\fts3_port
e490: 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e  er.c..fts3_token
e4a0: 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  izer.lo:.$(TOP)\ e4b0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f ext\fts3\fts3_to e4c0: 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 kenizer.c$(HDR)
e4d0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
e4e0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ e4f0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
e500: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
e510: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) e520: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 \ext\fts3\fts3_t e530: 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 okenizer.c..fts3 e540: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 _tokenizer1.lo:. e550: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
e560: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
e570: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
e580: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e590: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e5a0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) e5b0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - e5c0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
e5d0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
e5e0: 31 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69  1.c..fts3_tokeni
e5f0: 7a 65 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f  ze_vtab.lo:.$(TO e600: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 e610: 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 _tokenize_vtab.c e620: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR e630: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
e640: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O e650: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
e660: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
e670: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 e680: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 \fts3_tokenize_v e690: 74 61 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 tab.c..fts3_unic e6a0: 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 ode.lo:.$(TOP)\e
e6b0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69  xt\fts3\fts3_uni
e6c0: 63 6f 64 65 2e 63 20 24 28 48 44 52 29 20 24 28  code.c $(HDR)$(
e6d0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM e6e0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
e6f0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ e700: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C e710: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
e720: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
e730: 6f 64 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63  ode.c..fts3_unic
e740: 6f 64 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ode2.lo:.$(TOP)\ e750: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e ext\fts3\fts3_un e760: 69 63 6f 64 65 32 2e 63 20 24 28 48 44 52 29 20 icode2.c$(HDR)
e770: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
e780: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C e790: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
e7a0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
e7b0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ e7c0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e ext\fts3\fts3_un e7d0: 69 63 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 icode2.c..fts3_w e7e0: 72 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c rite.lo:.$(TOP)\
e7f0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72  ext\fts3\fts3_wr
e800: 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 45  ite.c $(HDR)$(E
e810: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP e820: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
e830: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W e840: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO e850: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
e860: 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65  \fts3\fts3_write
e870: 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09 24 28  .c..rtree.lo:.$( e880: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 TOP)\ext\rtree\r e890: 74 72 65 65 2e 63 20 24 28 48 44 52 29 20 24 28 tree.c$(HDR) $( e8a0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
e8b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM e8c0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
e8d0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
e8e0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex e8f0: 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63 0a t\rtree\rtree.c. e900: 0a 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e .sqlite3session. e910: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 lo:.$(TOP)\ext\s
e920: 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65  ession\sqlite3se
e930: 73 73 69 6f 6e 2e 63 20 24 28 48 44 52 29 20 24  ssion.c $(HDR)$
e940: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO e950: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
e960: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO e970: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ e980: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
e990: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74  xt\session\sqlit
e9a0: 65 33 73 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 46  e3session.c..# F
e9b0: 54 53 35 20 74 68 69 6e 67 73 0a 23 0a 46 54 53  TS5 things.#.FTS
e9c0: 35 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24 28 54  5_SRC = \.   $(T e9d0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts e9e0: 35 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 5.h \.$(TOP)\
e9f0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 49 6e 74  ext\fts5\fts5Int
ea00: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .h \.   $(TOP)\e ea10: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 61 75 78 xt\fts5\fts5_aux ea20: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
ea30: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 62 75 66  xt\fts5\fts5_buf
ea40: 66 65 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  fer.c \.   $(TOP ea50: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ ea60: 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f main.c \.$(TO
ea70: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
ea80: 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 20 24  _config.c \.   $ea90: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 (TOP)\ext\fts5\f eaa0: 74 73 35 5f 65 78 70 72 2e 63 20 5c 0a 20 20 20 ts5_expr.c \. eab0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c$(TOP)\ext\fts5\
eac0: 66 74 73 35 5f 68 61 73 68 2e 63 20 5c 0a 20 20  fts5_hash.c \.
ead0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 eae0: 5c 66 74 73 35 5f 69 6e 64 65 78 2e 63 20 5c 0a \fts5_index.c \. eaf0: 20 20 20 66 74 73 35 70 61 72 73 65 2e 63 20 66 fts5parse.c f eb00: 74 73 35 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 ts5parse.h \. eb10: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c$(TOP)\ext\fts5\
eb20: 66 74 73 35 5f 73 74 6f 72 61 67 65 2e 63 20 5c  fts5_storage.c \
eb30: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f eb40: 74 73 35 5c 66 74 73 35 5f 74 6f 6b 65 6e 69 7a ts5\fts5_tokeniz eb50: 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c e.c \.$(TOP)\
eb60: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 75 6e  ext\fts5\fts5_un
eb70: 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 20 24 28  icode2.c \.   $( eb80: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 TOP)\ext\fts5\ft eb90: 73 35 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 s5_varint.c \. eba0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35$(TOP)\ext\fts5
ebb0: 5c 66 74 73 35 5f 76 6f 63 61 62 2e 63 0a 0a 66  \fts5_vocab.c..f
ebc0: 74 73 35 70 61 72 73 65 2e 63 3a 09 24 28 54 4f  ts5parse.c:.$(TO ebd0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 P)\ext\fts5\fts5 ebe0: 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 parse.y lemon.ex ebf0: 65 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 e..copy$(TOP)\e
ec00: 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73  xt\fts5\fts5pars
ec10: 65 2e 79 20 2e 0a 09 64 65 6c 20 2f 51 20 66 74  e.y ...del /Q ft
ec20: 73 35 70 61 72 73 65 2e 68 20 32 3e 4e 55 4c 0a  s5parse.h 2>NUL.
ec30: 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52  ..\lemon.exe $(R ec40: 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 EQ_FEATURE_FLAGS ec50: 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f )$(OPT_FEATURE_
ec60: 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41  FLAGS) $(EXT_FEA ec70: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 TURE_FLAGS)$(OP
ec80: 54 53 29 20 66 74 73 35 70 61 72 73 65 2e 79 0a  TS) fts5parse.y.
ec90: 0a 66 74 73 35 70 61 72 73 65 2e 68 3a 09 66 74  .fts5parse.h:.ft
eca0: 73 35 70 61 72 73 65 2e 63 0a 0a 66 74 73 35 2e  s5parse.c..fts5.
ecb0: 63 3a 09 24 28 46 54 53 35 5f 53 52 43 29 0a 09  c:.$(FTS5_SRC).. ecc0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T ecd0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 74 6f 6f OP)\ext\fts5\too ece0: 6c 5c 6d 6b 66 74 73 35 63 2e 74 63 6c 0a 09 63 l\mkfts5c.tcl..c ecf0: 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 opy$(TOP)\ext\f
ed00: 74 73 35 5c 66 74 73 35 2e 68 20 2e 0a 0a 66 74  ts5\fts5.h ...ft
ed10: 73 35 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28  s5.lo:.fts5.c $( ed20: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
ed30: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
ed40: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ed50: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS ed60: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 66 74 QLITE_CORE -c ft ed70: 73 35 2e 63 0a 0a 66 74 73 35 5f 65 78 74 2e 6c s5.c..fts5_ext.l ed80: 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52 29 o:.fts5.c$(HDR)
ed90: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
eda0: 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41  COMPILE) $(NO_WA edb0: 52 4e 29 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 RN) -c fts5.c..f edc0: 74 73 35 2e 64 6c 6c 3a 09 66 74 73 35 5f 65 78 ts5.dll:.fts5_ex edd0: 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 t.lo..$(LD) $(LD ede0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
edf0: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH ee00: 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 S) /DLL /OUT:$@
ee10: 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c  fts5_ext.lo..sql
ee20: 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f  ite3rbu.lo:.$(TO ee30: 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 P)\ext\rbu\sqlit ee40: 65 33 72 62 75 2e 63 20 24 28 48 44 52 29 20 24 e3rbu.c$(HDR) $ee50: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f (EXTHDR)..$(LTCO
ee60: 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f  MPILE) -DSQLITE_
ee70: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e ee80: 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 xt\rbu\sqlite3rb ee90: 75 2e 63 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 u.c..# Rules to eea0: 62 75 69 6c 64 20 74 68 65 20 27 74 65 73 74 66 build the 'testf eeb0: 69 78 74 75 72 65 27 20 61 70 70 6c 69 63 61 74 ixture' applicat eec0: 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75 73 69 6e ion..#.# If usin eed0: 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 g the amalgamati eee0: 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74 65 33 2e on, use sqlite3. eef0: 63 20 64 69 72 65 63 74 6c 79 20 74 6f 20 62 75 c directly to bu ef00: 69 6c 64 20 74 68 65 20 74 65 73 74 0a 23 20 66 ild the test.# f ef10: 69 78 74 75 72 65 2e 20 20 4f 74 68 65 72 77 69 ixture. Otherwi ef20: 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 se link against ef30: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 2e 20 libsqlite3.lib. ef40: 20 28 54 68 69 73 20 64 69 73 74 69 6e 63 74 69 (This distincti ef50: 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73 73 61 72 on is.# necessar ef60: 79 20 62 65 63 61 75 73 65 20 74 68 65 20 74 65 y because the te ef70: 73 74 20 66 69 78 74 75 72 65 20 72 65 71 75 69 st fixture requi ef80: 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62 res non-API symb ef90: 6f 6c 73 20 77 68 69 63 68 20 61 72 65 0a 23 20 ols which are.# efa0: 68 69 64 64 65 6e 20 77 68 65 6e 20 74 68 65 20 hidden when the efb0: 6c 69 62 72 61 72 79 20 69 73 20 62 75 69 6c 74 library is built efc0: 20 76 69 61 20 74 68 65 20 61 6d 61 6c 67 61 6d via the amalgam efd0: 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49 ation)..#.TESTFI efe0: 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 2d 44 XTURE_FLAGS = -D eff0: 54 43 4c 53 48 3d 31 20 2d 44 53 51 4c 49 54 45 TCLSH=1 -DSQLITE f000: 5f 54 45 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 _TEST=1 -DSQLITE f010: 5f 43 52 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 _CRASH_TEST=1.TE f020: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 STFIXTURE_FLAGS f030: 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f =$(TESTFIXTURE_
f040: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
f050: 53 45 52 56 45 52 3d 31 20 2d 44 53 51 4c 49 54  SERVER=1 -DSQLIT
f060: 45 5f 50 52 49 56 41 54 45 3d 22 22 0a 54 45 53  E_PRIVATE="".TES
f070: 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d  TFIXTURE_FLAGS =
f080: 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46   $(TESTFIXTURE_F f090: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 LAGS) -DSQLITE_C f0a0: 4f 52 45 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 ORE$(NO_WARN).T
f0b0: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
f0c0: 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE f0d0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE f0e0: 5f 53 45 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 _SERIES_CONSTRAI f0f0: 4e 54 5f 56 45 52 49 46 59 3d 31 0a 54 45 53 54 NT_VERIFY=1.TEST f100: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 FIXTURE_FLAGS = f110: 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c$(TESTFIXTURE_FL
f120: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 44 45  AGS) -DSQLITE_DE
f130: 46 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d  FAULT_PAGE_SIZE=
f140: 31 30 32 34 0a 54 45 53 54 46 49 58 54 55 52 45  1024.TESTFIXTURE
f150: 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF f160: 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 IXTURE_FLAGS) -D f170: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 SQLITE_ENABLE_ST f180: 4d 54 56 54 41 42 0a 54 45 53 54 46 49 58 54 55 MTVTAB.TESTFIXTU f190: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 RE_FLAGS =$(TES
f1a0: 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20  TFIXTURE_FLAGS)
f1b0: 24 28 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54  $(TEST_CCONV_OPT f1c0: 53 29 0a 0a 54 45 53 54 46 49 58 54 55 52 45 5f S)..TESTFIXTURE_ f1d0: 53 52 43 30 20 3d 20 24 28 54 45 53 54 45 58 54 SRC0 =$(TESTEXT
f1e0: 29 20 24 28 54 45 53 54 53 52 43 32 29 0a 54 45  ) $(TESTSRC2).TE f1f0: 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 20 3d STFIXTURE_SRC1 = f200: 20 24 28 54 45 53 54 45 58 54 29 20 24 28 53 51$(TESTEXT) $(SQ f210: 4c 49 54 45 33 43 29 0a 21 49 46 20 24 28 55 53 LITE3C).!IF$(US
f220: 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d  E_AMALGAMATION)=
f230: 3d 30 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53  =0.TESTFIXTURE_S
f240: 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20  RC = $(TESTSRC) f250: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71$(TOP)\src\tclsq
f260: 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 58  lite.c $(TESTFIX f270: 54 55 52 45 5f 53 52 43 30 29 0a 21 45 4c 53 45 TURE_SRC0).!ELSE f280: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 .TESTFIXTURE_SRC f290: 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24 28 =$(TESTSRC) $( f2a0: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 TOP)\src\tclsqli f2b0: 74 65 2e 63 20 24 28 54 45 53 54 46 49 58 54 55 te.c$(TESTFIXTU
f2c0: 52 45 5f 53 52 43 31 29 0a 21 45 4e 44 49 46 0a  RE_SRC1).!ENDIF.
f2d0: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA f2e0: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f LL)!=0 ||$(FOR_
f2f0: 57 49 4e 31 30 29 21 3d 30 0a 73 71 6c 69 74 65  WIN10)!=0.sqlite
f300: 5f 74 63 6c 44 65 63 6c 73 2e 68 3a 0a 09 65 63  _tclDecls.h:..ec
f310: 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54  ho #ifndef SQLIT
f320: 45 5f 54 43 4c 41 50 49 20 3e 20 24 28 53 51 4c  E_TCLAPI > $(SQL f330: 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 ITETCLDECLSH)..e f340: 63 68 6f 20 23 20 20 64 65 66 69 6e 65 20 53 51 cho # define SQ f350: 4c 49 54 45 5f 54 43 4c 41 50 49 20 3e 3e 20 24 LITE_TCLAPI >>$
f360: 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48  (SQLITETCLDECLSH
f370: 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e  )..echo #endif >
f380: 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43  > $(SQLITETCLDEC f390: 4c 53 48 29 0a 09 74 79 70 65 20 22 24 28 54 43 LSH)..type "$(TC
f3a0: 4c 49 4e 43 44 49 52 29 5c 74 63 6c 44 65 63 6c  LINCDIR)\tclDecl
f3b0: 73 2e 68 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c  s.h" \...| $(TCL f3c0: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 SH_CMD)$(TOP)\t
f3d0: 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl
f3e0: 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 4e  regsub "^(EXTERN
f3f0: 28 3f 3a 20 43 4f 4e 53 54 5c 64 2b 3f 29 3f 5c  (?: CONST\d+?)?\
f400: 73 2b 3f 5b 5e 5c 28 5d 2a 3f 5c 73 2b 3f 29 54  s+?[^\(]*?\s+?)T
f410: 63 6c 5f 22 20 22 5c 31 20 53 51 4c 49 54 45 5f  cl_" "\1 SQLITE_
f420: 54 43 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09  TCLAPI Tcl_" \..
f430: 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  .| $(TCLSH_CMD) f440: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c$(TOP)\tool\repl
f450: 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22  ace.tcl regsub "
f460: 5e 28 45 58 54 45 52 4e 5c 73 2b 3f 28 3f 3a 76  ^(EXTERN\s+?(?:v
f470: 6f 69 64 7c 56 4f 49 44 29 5c 73 2b 3f 29 54 63  oid|VOID)\s+?)Tc
f480: 6c 46 72 65 65 4f 62 6a 22 20 22 5c 31 20 53 51  lFreeObj" "\1 SQ
f490: 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 6c 46  LITE_TCLAPI TclF
f4a0: 72 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28  reeObj" \...| $( f4b0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
f4c0: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
f4d0: 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74  cl regsub "\(\*t
f4e0: 63 6c 5f 22 20 22 28 53 51 4c 49 54 45 5f 54 43  cl_" "(SQLITE_TC
f4f0: 4c 41 50 49 20 2a 74 63 6c 5f 22 20 5c 0a 09 09  LAPI *tcl_" \...
f500: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD)$
f510: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
f520: 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c  ce.tcl regsub "\
f530: 28 5c 2a 74 63 6c 46 72 65 65 4f 62 6a 22 20 22  (\*tclFreeObj" "
f540: 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a  (SQLITE_TCLAPI *
f550: 74 63 6c 46 72 65 65 4f 62 6a 22 20 5c 0a 09 09  tclFreeObj" \...
f560: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD)$
f570: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
f580: 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c  ce.tcl regsub "\
f590: 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 54 43  (\*" "(SQLITE_TC
f5a0: 4c 41 50 49 20 2a 22 20 3e 3e 20 24 28 53 51 4c  LAPI *" >> $(SQL f5b0: 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 0a 73 ITETCLDECLSH)..s f5c0: 71 6c 69 74 65 5f 74 63 6c 2e 68 3a 0a 09 74 79 qlite_tcl.h:..ty f5d0: 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52 29 pe "$(TCLINCDIR)
f5e0: 5c 74 63 6c 2e 68 22 20 7c 20 24 28 54 43 4c 53  \tcl.h" | $(TCLS f5f0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
f600: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65  ol\replace.tcl e
f610: 78 61 63 74 20 74 63 6c 44 65 63 6c 73 2e 68 20  xact tclDecls.h
f620: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e  sqlite_tclDecls.
f630: 68 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f  h \...| $(TCLSH_ f640: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c CMD)$(TOP)\tool
f650: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67  \replace.tcl reg
f660: 73 75 62 20 22 74 79 70 65 64 65 66 20 28 2e 2a  sub "typedef (.*
f670: 3f 29 5c 28 54 63 6c 5f 22 20 22 74 79 70 65 64  ?)\(Tcl_" "typed
f680: 65 66 20 5c 31 20 28 53 51 4c 49 54 45 5f 54 43  ef \1 (SQLITE_TC
f690: 4c 41 50 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c  LAPI Tcl_" \...|
f6a0: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28   $(TCLSH_CMD)$(
f6b0: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63  TOP)\tool\replac
f6c0: 65 2e 74 63 6c 20 65 78 61 63 74 20 22 76 6f 69  e.tcl exact "voi
f6d0: 64 20 28 2a 66 72 65 65 50 72 6f 63 29 22 20 22  d (*freeProc)" "
f6e0: 76 6f 69 64 20 28 53 51 4c 49 54 45 5f 54 43 4c  void (SQLITE_TCL
f6f0: 41 50 49 20 2a 66 72 65 65 50 72 6f 63 29 22 20  API *freeProc)"
f700: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d  \...| $(TCLSH_CM f710: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 D)$(TOP)\tool\r
f720: 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74  eplace.tcl exact
f730: 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 20   "Tcl_HashEntry
f740: 2a 28 2a 66 69 6e 64 50 72 6f 63 29 22 20 22 54  *(*findProc)" "T
f750: 63 6c 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 53  cl_HashEntry *(S
f760: 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 69  QLITE_TCLAPI *fi
f770: 6e 64 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24  ndProc)" \...| $f780: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
f790: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
f7a0: 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48  tcl exact "Tcl_H
f7b0: 61 73 68 45 6e 74 72 79 20 2a 28 2a 63 72 65 61  ashEntry *(*crea
f7c0: 74 65 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61  teProc)" "Tcl_Ha
f7d0: 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45  shEntry *(SQLITE
f7e0: 5f 54 43 4c 41 50 49 20 2a 63 72 65 61 74 65 50  _TCLAPI *createP
f7f0: 72 6f 63 29 22 20 3e 3e 20 24 28 53 51 4c 49 54  roc)" >> $(SQLIT f800: 45 54 43 4c 48 29 0a 21 45 4e 44 49 46 0a 0a 74 ETCLH).!ENDIF..t f810: 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 3a 09 estfixture.exe:. f820: 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52$(TESTFIXTURE_SR
f830: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 24  C) $(SQLITE3H)$
f840: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 48  (LIBRESOBJS) $(H f850: 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54 43 4c DR)$(SQLITE_TCL
f860: 5f 44 45 50 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  _DEP)..$(LTLINK) f870: 20 2d 44 53 51 4c 49 54 45 5f 4e 4f 5f 53 59 4e -DSQLITE_NO_SYN f880: 43 3d 31 20 24 28 54 45 53 54 46 49 58 54 55 52 C=1$(TESTFIXTUR
f890: 45 5f 46 4c 41 47 53 29 20 5c 0a 09 09 2d 44 42  E_FLAGS) \...-DB
f8a0: 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28  UILD_sqlite -I$( f8b0: 54 43 4c 49 4e 43 44 49 52 29 20 5c 0a 09 09 24 TCLINCDIR) \...$
f8c0: 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43  (TESTFIXTURE_SRC
f8d0: 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44  ) \.../link $(LD f8e0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
f8f0: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH f900: 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 S)$(LIBRESOBJS)
f910: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS)$(TLI
f920: 42 53 29 0a 0a 65 78 74 65 6e 73 69 6f 6e 74 65  BS)..extensionte
f930: 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e  st:.testfixture.
f940: 65 78 65 20 74 65 73 74 6c 6f 61 64 65 78 74 2e  exe testloadext.
f950: 64 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24  dll..@set PATH=$f960: 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 (LIBTCLPATH);$(P
f970: 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74  ATH)...\testfixt
f980: 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74  ure.exe $(TOP)\t f990: 65 73 74 5c 6c 6f 61 64 65 78 74 2e 74 65 73 74 est\loadext.test f9a0: 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75$(TESTOPTS)..fu
f9b0: 6c 6c 74 65 73 74 3a 09 24 28 54 45 53 54 50 52  lltest:.$(TESTPR f9c0: 4f 47 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 OGS) fuzztest..@ f9d0: 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 set PATH=$(LIBTC
f9e0: 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09  LPATH);$(PATH).. f9f0: 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 .\testfixture.ex fa00: 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c e$(TOP)\test\al
fa10: 6c 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54  l.test $(TESTOPT fa20: 53 29 0a 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28 S)..soaktest:.$(
fa30: 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74  TESTPROGS)..@set
fa40: 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41   PATH=$(LIBTCLPA fa50: 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 TH);$(PATH)...\t
fa60: 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24  estfixture.exe $fa70: 28 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 (TOP)\test\all.t fa80: 65 73 74 20 2d 73 6f 61 6b 3d 31 20 24 28 54 45 est -soak=1$(TE
fa90: 53 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73  STOPTS)..fulltes
faa0: 74 6f 6e 6c 79 3a 09 24 28 54 45 53 54 50 52 4f  tonly:.$(TESTPRO fab0: 47 53 29 20 66 75 7a 7a 74 65 73 74 0a 09 40 73 GS) fuzztest..@s fac0: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c et PATH=$(LIBTCL
fad0: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)... fae0: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 \testfixture.exe faf0: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 6c$(TOP)\test\ful
fb00: 6c 2e 74 65 73 74 0a 0a 71 75 65 72 79 70 6c 61  l.test..querypla
fb10: 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75  ntest:.testfixtu
fb20: 72 65 2e 65 78 65 20 73 68 65 6c 6c 0a 09 40 73  re.exe shell..@s
fb30: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL fb40: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e PATH);$(PATH)...
fb50: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
fb60: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 70 65 72   $(TOP)\test\per fb70: 6d 75 74 61 74 69 6f 6e 73 2e 74 65 73 74 20 71 mutations.test q fb80: 75 65 72 79 70 6c 61 6e 6e 65 72 20 24 28 54 45 ueryplanner$(TE
fb90: 53 54 4f 50 54 53 29 0a 0a 66 75 7a 7a 74 65 73  STOPTS)..fuzztes
fba0: 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  t:.fuzzcheck.exe
fbb0: 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78  ...\fuzzcheck.ex
fbc0: 65 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 66  e $(FUZZDATA)..f fbd0: 61 73 74 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a astfuzztest:.fuz fbe0: 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 zcheck.exe...\fu fbf0: 7a 7a 63 68 65 63 6b 2e 65 78 65 20 2d 2d 6c 69 zzcheck.exe --li fc00: 6d 69 74 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46 mit-mem 100M$(F
fc10: 55 5a 5a 44 41 54 41 29 0a 0a 23 20 4d 69 6e 69  UZZDATA)..# Mini
fc20: 6d 61 6c 20 74 65 73 74 69 6e 67 20 74 68 61 74  mal testing that
fc30: 20 72 75 6e 73 20 69 6e 20 6c 65 73 73 20 74 68   runs in less th
fc40: 61 6e 20 33 20 6d 69 6e 75 74 65 73 20 28 6f 6e  an 3 minutes (on
fc50: 20 61 20 66 61 73 74 20 6d 61 63 68 69 6e 65 29   a fast machine)
fc60: 0a 23 0a 71 75 69 63 6b 74 65 73 74 3a 09 74 65  .#.quicktest:.te
fc70: 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 6f  stfixture.exe so
fc80: 75 72 63 65 74 65 73 74 0a 09 40 73 65 74 20 50  urcetest..@set P
fc90: 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH fca0: 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 );$(PATH)...\tes
fcb0: 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T fcc0: 4f 50 29 5c 74 65 73 74 5c 65 78 74 72 61 71 75 OP)\test\extraqu fcd0: 69 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f ick.test$(TESTO
fce0: 50 54 53 29 0a 0a 23 20 54 68 69 73 20 69 73 20  PTS)..# This is
fcf0: 74 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e  the common case.
fd00: 20 20 52 75 6e 20 6d 61 6e 79 20 74 65 73 74 73    Run many tests
fd10: 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b   that do not tak
fd20: 65 20 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e  e too long,.# in
fd30: 63 6c 75 64 69 6e 67 20 66 75 7a 7a 63 68 65 63  cluding fuzzchec
fd40: 6b 2c 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  k, sqlite3_analy
fd50: 7a 65 72 2c 20 61 6e 64 20 73 71 6c 64 69 66 66  zer, and sqldiff
fd60: 20 74 65 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09   tests..#.test:.
fd70: 24 28 54 45 53 54 50 52 4f 47 53 29 20 73 6f 75  $(TESTPROGS) sou fd80: 72 63 65 74 65 73 74 20 66 61 73 74 66 75 7a 7a rcetest fastfuzz fd90: 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d test..@set PATH= fda0: 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28$(LIBTCLPATH);$( fdb0: 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 PATH)...\testfix fdc0: 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c ture.exe$(TOP)\
fdd0: 74 65 73 74 5c 76 65 72 79 71 75 69 63 6b 2e 74  test\veryquick.t
fde0: 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a  est $(TESTOPTS). fdf0: 0a 73 6d 6f 6b 65 74 65 73 74 3a 09 24 28 54 45 .smoketest:.$(TE
fe00: 53 54 50 52 4f 47 53 29 0a 09 40 73 65 74 20 50  STPROGS)..@set P
fe10: 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH fe20: 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 );$(PATH)...\tes
fe30: 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T fe40: 4f 50 29 5c 74 65 73 74 5c 6d 61 69 6e 2e 74 65 OP)\test\main.te fe50: 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a st$(TESTOPTS)..
fe60: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
fe70: 2e 63 3a 09 24 28 53 51 4c 49 54 45 33 43 29 20  .c:.$(SQLITE3C) fe80: 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 54 4f$(SQLITE3H) $(TO fe90: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 P)\src\tclsqlite fea0: 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 .c$(TOP)\tool\s
feb0: 70 61 63 65 61 6e 61 6c 2e 74 63 6c 20 24 28 53  paceanal.tcl $(S fec0: 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 QLITE_TCL_DEP).. fed0: 65 63 68 6f 20 23 64 65 66 69 6e 65 20 54 43 4c echo #define TCL fee0: 53 48 20 32 20 3e 20 24 40 0a 09 65 63 68 6f 20 SH 2 >$@..echo
fef0: 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 45  #define SQLITE_E
ff00: 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 54 41  NABLE_DBSTAT_VTA
ff10: 42 20 31 20 3e 3e 20 24 40 0a 09 63 6f 70 79 20  B 1 >> $@..copy ff20: 24 40 20 2b 20 24 28 53 51 4c 49 54 45 33 43 29$@ + $(SQLITE3C) ff30: 20 2b 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 +$(TOP)\src\tc
ff40: 6c 73 71 6c 69 74 65 2e 63 20 24 40 0a 09 65 63  lsqlite.c $@..ec ff50: 68 6f 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 ho static const ff60: 63 68 61 72 20 2a 74 63 6c 73 68 5f 6d 61 69 6e char *tclsh_main ff70: 5f 6c 6f 6f 70 28 76 6f 69 64 29 7b 20 3e 3e 20 _loop(void){ >> ff80: 24 40 0a 09 65 63 68 6f 20 73 74 61 74 69 63 20$@..echo static
ff90: 63 6f 6e 73 74 20 63 68 61 72 20 2a 7a 4d 61 69  const char *zMai
ffa0: 6e 6c 6f 6f 70 20 3d 20 3e 3e 20 24 40 0a 09 24  nloop = >> $@..$
ffb0: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO ffc0: 50 29 5c 74 6f 6f 6c 5c 74 6f 73 74 72 2e 74 63 P)\tool\tostr.tc ffd0: 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 l$(TOP)\tool\sp
ffe0: 61 63 65 61 6e 61 6c 2e 74 63 6c 20 3e 3e 20 24  aceanal.tcl >> $fff0: 40 0a 09 65 63 68 6f 20 3b 20 72 65 74 75 72 6e @..echo ; return 10000 20 7a 4d 61 69 6e 6c 6f 6f 70 3b 20 7d 20 3e 3e zMainloop; } >> 10010 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61$@..sqlite3_ana
10020 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c 69 74  lyzer.exe:.sqlit
10030 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 24 28  e3_analyzer.c $( 10040 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c LIBRESOBJS)..$(L
10050 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN 10060 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 ) -DBUILD_sqlite 10070 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 -I$(TCLINCDIR)
10080 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
10090 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c  .c \.../link $(L 100a0 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
100b0 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT 100c0 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 HS)$(LIBRESOBJS
100d0 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS)$(TL
100e0 49 42 53 29 0a 0a 64 62 64 75 6d 70 2e 65 78 65  IBS)..dbdump.exe
100f0 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73  :.$(TOP)\ext\mis 10100 63 5c 64 62 64 75 6d 70 2e 63 20 24 28 53 51 4c c\dbdump.c$(SQL
10110 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 10120 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( 10130 4e 4f 5f 57 41 52 4e 29 20 2d 44 44 42 44 55 4d NO_WARN) -DDBDUM 10140 50 5f 53 54 41 4e 44 41 4c 4f 4e 45 20 24 28 54 P_STANDALONE$(T
10150 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64  OP)\ext\misc\dbd
10160 75 6d 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43  ump.c $(SQLITE3C 10170 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 ) \.../link$(LD
10180 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 10190 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 PTS)$(LTLIBPATH
101a0 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  S) $(LIBRESOBJS) 101b0 20 24 28 4c 54 4c 49 42 53 29 0a 0a 74 65 73 74$(LTLIBS)..test
101c0 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f  loadext.lo:.$(TO 101d0 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 P)\src\test_load 101e0 65 78 74 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 ext.c..$(LTCOMPI
101f0 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  LE) $(NO_WARN) - 10200 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 c$(TOP)\src\tes
10210 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a 74 65 73  t_loadext.c..tes
10220 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a 09 74 65  tloadext.dll:.te
10230 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09 24 28  stloadext.lo..$( 10240 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 LD)$(LDFLAGS) $10250 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c (LTLINKOPTS)$(L
10260 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20  TLIBPATHS) /DLL
10270 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c 6f 61 64  /OUT:$@ testload 10280 65 78 74 2e 6c 6f 0a 0a 73 68 6f 77 64 62 2e 65 ext.lo..showdb.e 10290 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c xe:.$(TOP)\tool\
102a0 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54  showdb.c $(SQLIT 102b0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
102c0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
102d0 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
102e0 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
102f0 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
10300 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28  EXTENSION \...$( 10310 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 TOP)\tool\showdb 10320 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f .c$(SQLITE3C) /
10330 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 10340 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73$(LTLINKOPTS)..s
10350 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09 24 28  howstat4.exe:.$( 10360 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 TOP)\tool\showst 10370 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 at4.c$(SQLITE3C
10380 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
10390 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 103a0 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 RN) -DSQLITE_THR 103b0 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 EADSAFE=0 -DSQLI 103c0 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 TE_OMIT_LOAD_EXT 103d0 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 ENSION \...$(TOP
103e0 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34  )\tool\showstat4
103f0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) / 10400 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
10410 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s 10420 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a 09 howjournal.exe:. 10430 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77$(TOP)\tool\show
10440 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49  journal.c $(SQLI 10450 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
10460 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
10470 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
10480 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
10490 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
104a0 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$104b0 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a (TOP)\tool\showj 104c0 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 ournal.c$(SQLIT
104d0 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF 104e0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
104f0 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78 65  TS)..showwal.exe
10500 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh 10510 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 owwal.c$(SQLITE
10520 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H). 10530 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ 10540 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 WARN) -DSQLITE_T 10550 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 HREADSAFE=0 -DSQ 10560 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 LITE_OMIT_LOAD_E 10570 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 XTENSION \...$(T
10580 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c  OP)\tool\showwal
10590 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) / 105a0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
105b0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63  $(LTLINKOPTS)..c 105c0 68 61 6e 67 65 73 65 74 2e 65 78 65 3a 09 24 28 hangeset.exe:.$(
105d0 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
105e0 5c 63 68 61 6e 67 65 73 65 74 2e 63 20 24 28 53  \changeset.c $(S 105f0 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
10600 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 10610 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
10620 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
10630 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
10640 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a  OAD_EXTENSION \.
10650 09 09 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ..-DSQLITE_ENABL
10660 45 5f 53 45 53 53 49 4f 4e 3d 31 20 2d 44 53 51  E_SESSION=1 -DSQ
10670 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55  LITE_ENABLE_PREU
10680 50 44 41 54 45 5f 48 4f 4f 4b 3d 31 20 5c 0a 09  PDATE_HOOK=1 \..
10690 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73  .$(TOP)\ext\sess 106a0 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63 20 ion\changeset.c 106b0 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
106c0 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
106d0 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 33  TLINKOPTS)..fts3
106e0 76 69 65 77 2e 65 78 65 3a 09 24 28 54 4f 50 29  view.exe:.$(TOP) 106f0 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 \ext\fts3\tool\f 10700 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49 ts3view.c$(SQLI
10710 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H 10720 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N 10730 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE 10740 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 _THREADSAFE=0 -D 10750 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 SQLITE_OMIT_LOAD 10760 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 _EXTENSION \...$
10770 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74  (TOP)\ext\fts3\t
10780 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24  ool\fts3view.c $10790 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b (SQLITE3C) /link 107a0 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT 107b0 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 LINKOPTS)..rollb 107c0 61 63 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 ack-test.exe:.$(
107d0 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61  TOP)\tool\rollba
107e0 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49  ck-test.c $(SQLI 107f0 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
10800 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
10810 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
10820 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44  _THREADSAFE=0 -D
10830 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44  SQLITE_OMIT_LOAD
10840 5f 45 58 54 45 4e 53 49 4f 4e 20 5c 0a 09 09 24  _EXTENSION \...$10850 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 (TOP)\tool\rollb 10860 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c ack-test.c$(SQL
10870 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L 10880 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
10890 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 2e 65 78  OPTS)..LogEst.ex
108a0 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c  e:.$(TOP)\tool\l 108b0 6f 67 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 ogest.c$(SQLITE
108c0 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK)$
108d0 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29  (NO_WARN) $(TOP) 108e0 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 2f \tool\LogEst.c / 108f0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
10900 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 77  $(LTLINKOPTS)..w 10910 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a 09 24 28 ordcount.exe:.$(
10920 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f  TOP)\test\wordco
10930 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  unt.c $(SQLITE3C 10940 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 )$(SQLITE3H)..$10950 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 (LTLINK)$(NO_WA
10960 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
10970 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
10980 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
10990 45 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50  ENSION \...$(TOP 109a0 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 )\test\wordcount 109b0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f .c$(SQLITE3C) /
109c0 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 109d0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73$(LTLINKOPTS)..s
109e0 70 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09 24  peedtest1.exe:.$109f0 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 (TOP)\test\speed 10a00 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 test1.c$(SQLITE
10a10 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H). 10a20 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ 10a30 57 41 52 4e 29 20 24 28 53 54 5f 43 4f 4d 50 49 WARN)$(ST_COMPI
10a40 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  LE_OPTS) -DSQLIT
10a50 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
10a60 4e 53 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29  NSION \...$(TOP) 10a70 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 74 31 \test\speedtest1 10a80 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f .c$(SQLITE3C) /
10a90 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 10aa0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6b$(LTLINKOPTS)..k
10ab0 76 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50  vtest.exe:.$(TOP 10ac0 29 5c 74 65 73 74 5c 6b 76 74 65 73 74 2e 63 20 )\test\kvtest.c 10ad0 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ 10ae0 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e LITE3H)..$(LTLIN
10af0 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN)$(
10b00 4b 56 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  KV_COMPILE_OPTS)
10b10 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74   \...$(TOP)\test 10b20 5c 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49 \kvtest.c$(SQLI
10b30 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD 10b40 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
10b50 50 54 53 29 0a 0a 64 62 73 65 6c 66 74 65 73 74  PTS)..dbselftest
10b60 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73  .exe:.$(TOP)\tes 10b70 74 5c 64 62 73 65 6c 66 74 65 73 74 2e 63 20 24 t\dbselftest.c$
10b80 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL 10b90 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b ITE3H)..$(LTLINK
10ba0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 44  ) $(NO_WARN)$(D
10bb0 42 53 45 4c 46 54 45 53 54 5f 43 4f 4d 50 49 4c  BSELFTEST_COMPIL
10bc0 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74  E_OPTS) $(TOP)\t 10bd0 65 73 74 5c 64 62 73 65 6c 66 74 65 73 74 2e 63 est\dbselftest.c 10be0 20 24 28 53 51 4c 49 54 45 33 43 29 0a 0a 72 62$(SQLITE3C)..rb
10bf0 75 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  u.exe:.$(TOP)\ex 10c00 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 54 4f t\rbu\rbu.c$(TO
10c10 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74  P)\ext\rbu\sqlit
10c20 65 33 72 62 75 2e 63 20 24 28 53 51 4c 49 54 45  e3rbu.c $(SQLITE 10c30 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
10c40 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
10c50 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 45  WARN) -DSQLITE_E
10c60 4e 41 42 4c 45 5f 52 42 55 20 5c 0a 09 09 24 28  NABLE_RBU \...$( 10c70 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 TOP)\ext\rbu\rbu 10c80 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f .c$(SQLITE3C) /
10c90 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 10ca0 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c$(LTLINKOPTS)..L
10cb0 53 4d 44 49 52 3d 24 28 54 4f 50 29 5c 65 78 74  SMDIR=$(TOP)\ext 10cc0 5c 6c 73 6d 31 0a 21 49 4e 43 4c 55 44 45 20 24 \lsm1.!INCLUDE$
10cd0 28 4c 53 4d 44 49 52 29 5c 4d 61 6b 65 66 69 6c  (LSMDIR)\Makefil
10ce0 65 2e 6d 73 63 0a 0a 6d 6f 72 65 63 6c 65 61 6e  e.msc..moreclean
10cf0 3a 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f 51 20  :.clean..del /Q
10d00 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
10d10 4c 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a 23 20  LITE3H) 2>NUL.#
10d20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61 6e  <</mark>>..clean
10d30 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78 70 20  :..del /Q *.exp
10d40 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69 62  *.lo *.ilk *.lib
10d50 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e 70   *.obj *.ncb *.p
10d60 64 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f 20 32  db *.sdf *.suo 2
10d70 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e 62  >NUL..del /Q *.b
10d80 73 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64 20 2a  sc *.def *.cod *
10d90 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67 20 2a  .da *.bb *.bbg *
10da0 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e 4e  .vc gmon.out 2>N
10db0 55 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c  UL..del /Q $(SQL 10dc0 49 54 45 33 45 58 45 29 20 24 28 53 51 4c 49 54 ITE3EXE)$(SQLIT
10dd0 45 33 44 4c 4c 29 20 52 65 70 6c 61 63 65 2e 65  E3DLL) Replace.e
10de0 78 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61 72  xe 2>NUL.# <<mar
10df0 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69  k>>..del /Q sqli
10e00 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2e 68 20  te3.c sqlite3.h
10e10 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6f 70  2>NUL..del /Q op
10e20 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65 73 2e  codes.c opcodes.
10e30 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q
10e40 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e 63  lemon.* lempar.c
10e50 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 09   parse.* 2>NUL..
10e60 64 65 6c 20 2f 51 20 6d 6b 73 6f 75 72 63 65 69  del /Q mksourcei
10e70 64 2e 2a 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73  d.* mkkeywordhas
10e80 68 2e 2a 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  h.* keywordhash.
10e90 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q
10ea0 6e 6f 74 61 73 68 61 72 65 64 6c 69 62 2e 2a 20  notasharedlib.*
10eb0 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51  2>NUL..-rmdir /Q
10ec0 2f 53 20 2e 64 65 70 73 20 32 3e 4e 55 4c 0a 09  /S .deps 2>NUL..
10ed0 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 6c 69 62  -rmdir /Q/S .lib
10ee0 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20  s 2>NUL..-rmdir
10ef0 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a  /Q/S tsrc 2>NUL.
10f00 09 64 65 6c 20 2f 51 20 2e 74 61 72 67 65 74 5f  .del /Q .target_
10f10 73 6f 75 72 63 65 20 32 3e 4e 55 4c 0a 09 64 65  source 2>NUL..de
10f20 6c 20 2f 51 20 74 63 6c 73 71 6c 69 74 65 33 2e  l /Q tclsqlite3.
10f30 65 78 65 20 24 28 53 51 4c 49 54 45 54 43 4c 48  exe $(SQLITETCLH 10f40 29 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 )$(SQLITETCLDEC
10f50 4c 53 48 29 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  LSH) 2>NUL..del
10f60 2f 51 20 6c 73 6d 2e 64 6c 6c 20 6c 73 6d 74 65  /Q lsm.dll lsmte
10f70 73 74 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  st.exe 2>NUL..de
10f80 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64 65 78 74  l /Q testloadext
10f90 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .dll 2>NUL..del
10fa0 2f 51 20 74 65 73 74 66 69 78 74 75 72 65 2e 65  /Q testfixture.e
10fb0 78 65 20 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c  xe test.db 2>NUL
10fc0 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45 73 74 2e  ..del /Q LogEst.
10fd0 65 78 65 20 66 74 73 33 76 69 65 77 2e 65 78 65  exe fts3view.exe
10fe0 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 65   rollback-test.e
10ff0 78 65 20 73 68 6f 77 64 62 2e 65 78 65 20 64 62  xe showdb.exe db
11000 64 75 6d 70 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  dump.exe 2>NUL..
11010 64 65 6c 20 2f 51 20 63 68 61 6e 67 65 73 65 74  del /Q changeset
11020 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del
11030 2f 51 20 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65  /Q showjournal.e
11040 78 65 20 73 68 6f 77 73 74 61 74 34 2e 65 78 65  xe showstat4.exe
11050 20 73 68 6f 77 77 61 6c 2e 65 78 65 20 73 70 65   showwal.exe spe
11060 65 64 74 65 73 74 31 2e 65 78 65 20 32 3e 4e 55  edtest1.exe 2>NU
11070 4c 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74  L..del /Q mptest
11080 65 72 2e 65 78 65 20 77 6f 72 64 63 6f 75 6e 74  er.exe wordcount
11090 2e 65 78 65 20 72 62 75 2e 65 78 65 20 73 72 63  .exe rbu.exe src
110a0 63 6b 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  ck1.exe 2>NUL..d
110b0 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63 20  el /Q sqlite3.c
110c0 73 71 6c 69 74 65 33 2d 2a 2e 63 20 32 3e 4e 55  sqlite3-*.c 2>NU
110d0 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
110e0 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  3rc.h 2>NUL..del
110f0 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73 71 6c 69   /Q shell.c sqli
11100 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74 65 33  te3ext.h sqlite3
11110 73 65 73 73 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a  session.h 2>NUL.
11120 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 5f  .del /Q sqlite3_
11130 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 73 71 6c  analyzer.exe sql
11140 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20  ite3_analyzer.c
11150 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
11160 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e 76 73  lite-*-output.vs
11170 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  ix 2>NUL..del /Q
11180 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65   fuzzershell.exe
11190 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 73   fuzzcheck.exe s
111a0 71 6c 64 69 66 66 2e 65 78 65 20 64 62 68 61 73  qldiff.exe dbhas
111b0 68 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c  h.exe 2>NUL..del
111c0 20 2f 51 20 66 74 73 35 2e 2a 20 66 74 73 35 70   /Q fts5.* fts5p
111d0 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 23 20 3c  arse.* 2>NUL.# <
111e0 3c 2f 6d 61 72 6b 3e 3e 0a                       </mark>>.