/ Hex Artifact Content
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

## Artifact 2a1cf3959b03b3cffedcbc3cf6bde8c992ed865667f2a7aefb14cb2105ec97c7:

• File Makefile.msc — part of check-in [d4a30b91] at 2017-09-18 16:28:56 on branch mmap-warm — Add extension "mmapwarm.c". Provides function sqlite3_mmap_warm(), used to "warm up" the memory mapping used by SQLite in mmap mode to access db file content. (user: dan size: 69874)

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 64 61 74 65 2e 6c 6f 20 64 62 73 74  .lo date.lo dbst
73a0: 61 74 2e 6c 6f 20 64 65 6c 65 74 65 2e 6c 6f 20  at.lo delete.lo
73b0: 5c 0a 20 20 20 20 20 20 20 20 20 65 78 70 72 2e  \.         expr.
73c0: 6c 6f 20 66 61 75 6c 74 2e 6c 6f 20 66 6b 65 79  lo fault.lo fkey
73d0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66  .lo \.         f
73e0: 74 73 33 2e 6c 6f 20 66 74 73 33 5f 61 75 78 2e  ts3.lo fts3_aux.
73f0: 6c 6f 20 66 74 73 33 5f 65 78 70 72 2e 6c 6f 20  lo fts3_expr.lo
7400: 66 74 73 33 5f 68 61 73 68 2e 6c 6f 20 66 74 73  fts3_hash.lo fts
7410: 33 5f 69 63 75 2e 6c 6f 20 5c 0a 20 20 20 20 20  3_icu.lo \.
7420: 20 20 20 20 66 74 73 33 5f 70 6f 72 74 65 72 2e      fts3_porter.
7430: 6c 6f 20 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  lo fts3_snippet.
7440: 6c 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  lo fts3_tokenize
7450: 72 2e 6c 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69  r.lo fts3_tokeni
7460: 7a 65 72 31 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  zer1.lo \.
7470: 20 20 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65     fts3_tokenize
7480: 5f 76 74 61 62 2e 6c 6f 20 66 74 73 33 5f 75 6e  _vtab.lo fts3_un
7490: 69 63 6f 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e  icode.lo fts3_un
74a0: 69 63 6f 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77  icode2.lo fts3_w
74b0: 72 69 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  rite.lo \.
74c0: 20 20 20 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20     fts5.lo \.
74d0: 20 20 20 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c        func.lo gl
74e0: 6f 62 61 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20  obal.lo hash.lo
74f0: 5c 0a 20 20 20 20 20 20 20 20 20 69 63 75 2e 6c  \.         icu.l
7500: 6f 20 69 6e 73 65 72 74 2e 6c 6f 20 6c 65 67 61  o insert.lo lega
7510: 63 79 2e 6c 6f 20 6c 6f 61 64 65 78 74 2e 6c 6f  cy.lo loadext.lo
7520: 20 5c 0a 20 20 20 20 20 20 20 20 20 6d 61 69 6e   \.         main
7530: 2e 6c 6f 20 6d 61 6c 6c 6f 63 2e 6c 6f 20 6d 65  .lo malloc.lo me
7540: 6d 30 2e 6c 6f 20 6d 65 6d 31 2e 6c 6f 20 6d 65  m0.lo mem1.lo me
7550: 6d 32 2e 6c 6f 20 6d 65 6d 33 2e 6c 6f 20 6d 65  m2.lo mem3.lo me
7560: 6d 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  m5.lo \.
7570: 20 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c   memjournal.lo \
7580: 0a 20 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e  .         mutex.
7590: 6c 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f  lo mutex_noop.lo
75a0: 20 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d   mutex_unix.lo m
75b0: 75 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20  utex_w32.lo \.
75c0: 20 20 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f         notify.lo
75d0: 20 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c   opcodes.lo os.l
75e0: 6f 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f  o os_unix.lo os_
75f0: 77 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  win.lo \.
7600: 20 20 70 61 67 65 72 2e 6c 6f 20 70 63 61 63 68    pager.lo pcach
7610: 65 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20  e.lo pcache1.lo
7620: 70 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72  pragma.lo prepar
7630: 65 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c  e.lo printf.lo \
7640: 0a 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d  .         random
7650: 2e 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72  .lo resolve.lo r
7660: 6f 77 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c  owset.lo rtree.l
7670: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 73 71 6c  o \.         sql
7680: 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73  ite3session.lo s
7690: 65 6c 65 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33  elect.lo sqlite3
76a0: 72 62 75 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f  rbu.lo status.lo
76b0: 20 5c 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c   \.         tabl
76c0: 65 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20  e.lo threads.lo
76d0: 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65  tokenize.lo tree
76e0: 76 69 65 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e  view.lo trigger.
76f0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 70  lo \.         up
7700: 64 61 74 65 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20  date.lo util.lo
7710: 76 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20  vacuum.lo \.
7720: 20 20 20 20 20 76 64 62 65 61 70 69 2e 6c 6f 20       vdbeapi.lo
7730: 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62 65 62  vdbeaux.lo vdbeb
7740: 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c  lob.lo vdbemem.l
7750: 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a  o vdbesort.lo \.
7760: 20 20 20 20 20 20 20 20 20 76 64 62 65 74 72 61           vdbetra
7770: 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c  ce.lo wal.lo wal
7780: 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20  ker.lo where.lo
7790: 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65  wherecode.lo whe
77a0: 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20  reexpr.lo \.
77b0: 20 20 20 20 20 75 74 66 2e 6c 6f 20 76 74 61 62       utf.lo vtab
77c0: 2e 6c 6f 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  .lo.# <</mark>>.
77d0: 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20  .# Object files
77e0: 66 6f 72 20 74 68 65 20 61 6d 61 6c 67 61 6d 61  for the amalgama
77f0: 74 69 6f 6e 2e 0a 23 0a 4c 49 42 4f 42 4a 53 31  tion..#.LIBOBJS1
7800: 20 3d 20 73 71 6c 69 74 65 33 2e 6c 6f 0a 0a 23   = sqlite3.lo..#
7810: 20 44 65 74 65 72 6d 69 6e 65 20 74 68 65 20 72   Determine the r
7820: 65 61 6c 20 76 61 6c 75 65 20 6f 66 20 4c 49 42  eal value of LIB
7830: 4f 42 4a 20 62 61 73 65 64 20 6f 6e 20 74 68 65  OBJ based on the
7840: 20 27 63 6f 6e 66 69 67 75 72 65 27 20 73 63 72   'configure' scr
7850: 69 70 74 0a 23 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  ipt.#.# <<mark>>
7860: 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47  .!IF $(USE_AMALG 7870: 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 4c 49 42 4f AMATION)==0.LIBO 7880: 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 30 29 BJ =$(LIBOBJS0)
7890: 0a 21 45 4c 53 45 0a 23 20 3c 3c 2f 6d 61 72 6b  .!ELSE.# <</mark
78a0: 3e 3e 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49  >>.LIBOBJ = $(LI 78b0: 42 4f 42 4a 53 31 29 0a 23 20 3c 3c 6d 61 72 6b BOBJS1).# <<mark 78c0: 3e 3e 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d >>.!ENDIF.# <</m 78d0: 61 72 6b 3e 3e 0a 0a 23 20 44 65 74 65 72 6d 69 ark>>..# Determi 78e0: 6e 65 20 69 66 20 65 6d 62 65 64 64 65 64 20 72 ne if embedded r 78f0: 65 73 6f 75 72 63 65 20 63 6f 6d 70 69 6c 61 74 esource compilat 7900: 69 6f 6e 20 61 6e 64 20 75 73 61 67 65 20 61 72 ion and usage ar 7910: 65 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 21 49 46 e enabled..#.!IF 7920: 20 24 28 55 53 45 5f 52 43 29 21 3d 30 0a 4c 49$(USE_RC)!=0.LI
7930: 42 52 45 53 4f 42 4a 53 20 3d 20 73 71 6c 69 74  BRESOBJS = sqlit
7940: 65 33 72 65 73 2e 6c 6f 0a 21 45 4c 53 45 0a 4c  e3res.lo.!ELSE.L
7950: 49 42 52 45 53 4f 42 4a 53 20 3d 0a 21 45 4e 44  IBRESOBJS =.!END
7960: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
7970: 20 43 6f 72 65 20 73 6f 75 72 63 65 20 63 6f 64   Core source cod
7980: 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e  e files, part 1.
7990: 0a 23 0a 53 52 43 30 30 20 3d 20 5c 0a 20 20 24  .#.SRC00 = \.  $79a0: 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e (TOP)\src\alter. 79b0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
79c0: 5c 61 6e 61 6c 79 7a 65 2e 63 20 5c 0a 20 20 24  \analyze.c \.  $79d0: 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 (TOP)\src\attach 79e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
79f0: 63 5c 61 75 74 68 2e 63 20 5c 0a 20 20 24 28 54  c\auth.c \.  $(T 7a00: 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 OP)\src\backup.c 7a10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7a20: 62 69 74 76 65 63 2e 63 20 5c 0a 20 20 24 28 54  bitvec.c \.  $(T 7a30: 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e OP)\src\btmutex. 7a40: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
7a50: 5c 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54  \btree.c \.  $(T 7a60: 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 OP)\src\build.c 7a70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 \.$(TOP)\src\c
7a80: 61 6c 6c 62 61 63 6b 2e 63 20 5c 0a 20 20 24 28  allback.c \.  $( 7a90: 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 TOP)\src\complet 7aa0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.c \.$(TOP)\s
7ab0: 72 63 5c 63 74 69 6d 65 2e 63 20 5c 0a 20 20 24  rc\ctime.c \.  $7ac0: 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 (TOP)\src\date.c 7ad0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7ae0: 64 62 73 74 61 74 2e 63 20 5c 0a 20 20 24 28 54  dbstat.c \.  $(T 7af0: 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 OP)\src\delete.c 7b00: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7b10: 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  expr.c \.  $(TOP 7b20: 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 5c 0a )\src\fault.c \. 7b30: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65$(TOP)\src\fke
7b40: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s 7b50: 72 63 5c 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 rc\func.c \.$(
7b60: 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e  TOP)\src\global.
7b70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7b80: 5c 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f \hash.c \.$(TO
7b90: 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20  P)\src\insert.c
7ba0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c  \.  $(TOP)\src\l 7bb0: 65 67 61 63 79 2e 63 20 5c 0a 20 20 24 28 54 4f egacy.c \.$(TO
7bc0: 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63  P)\src\loadext.c
7bd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7be0: 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 main.c \.$(TOP
7bf0: 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c  )\src\malloc.c \
7c00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  .  $(TOP)\src\me 7c10: 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c m0.c \.$(TOP)\
7c20: 73 72 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20 20 24  src\mem1.c \.  $7c30: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 (TOP)\src\mem2.c 7c40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7c50: 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50  mem3.c \.  $(TOP 7c60: 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20 )\src\mem5.c \. 7c70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a$(TOP)\src\memj
7c80: 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54  ournal.c \.  $(T 7c90: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 OP)\src\mutex.c 7ca0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d \.$(TOP)\src\m
7cb0: 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20 20  utex_noop.c \.
7cc0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex 7cd0: 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f _unix.c \.$(TO
7ce0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32  P)\src\mutex_w32
7cf0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 7d00: 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a 20 20 24 c\notify.c \.$
7d10: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 5c  (TOP)\src\os.c \
7d20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os 7d30: 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f _unix.c \.$(TO
7d40: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a  P)\src\os_win.c.
7d50: 0a 23 20 43 6f 72 65 20 73 6f 75 72 63 65 20 63  .# Core source c
7d60: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part
7d70: 32 2e 0a 23 0a 53 52 43 30 31 20 3d 20 5c 0a 20  2..#.SRC01 = \.
7d80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65   $(TOP)\src\page 7d90: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 r.c \.$(TOP)\s
7da0: 72 63 5c 70 63 61 63 68 65 2e 63 20 5c 0a 20 20  rc\pcache.c \.
7db0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach 7dc0: 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c e1.c \.$(TOP)\
7dd0: 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 5c 0a 20  src\pragma.c \.
7de0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70   $(TOP)\src\prep 7df0: 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 are.c \.$(TOP)
7e00: 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 5c 0a  \src\printf.c \.
7e10: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e    $(TOP)\src\ran 7e20: 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 dom.c \.$(TOP)
7e30: 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 5c  \src\resolve.c \
7e40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f  .  $(TOP)\src\ro 7e50: 77 73 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 wset.c \.$(TOP
7e60: 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 5c  )\src\select.c \
7e70: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 74  .  $(TOP)\src\st 7e80: 61 74 75 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 atus.c \.$(TOP
7e90: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 5c 0a  )\src\table.c \.
7ea0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72    $(TOP)\src\thr 7eb0: 65 61 64 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 eads.c \.$(TOP
7ec0: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e  )\src\tclsqlite.
7ed0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7ee0: 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 \tokenize.c \. 7ef0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76$(TOP)\src\treev
7f00: 69 65 77 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  iew.c \.  $(TOP) 7f10: 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 5c \src\trigger.c \ 7f20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 .$(TOP)\src\ut
7f30: 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  f.c \.  $(TOP)\s 7f40: 72 63 5c 75 70 64 61 74 65 2e 63 20 5c 0a 20 20 rc\update.c \. 7f50: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e$(TOP)\src\util.
7f60: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7f70: 5c 76 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24 28 \vacuum.c \.$(
7f80: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20  TOP)\src\vdbe.c
7f90: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v 7fa0: 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 54 dbeapi.c \.$(T
7fb0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e  OP)\src\vdbeaux.
7fc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7fd0: 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 20 \vdbeblob.c \. 7fe0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d$(TOP)\src\vdbem
7ff0: 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  em.c \.  $(TOP)\ 8000: 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 5c src\vdbesort.c \ 8010: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 .$(TOP)\src\vd
8020: 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24 28  betrace.c \.  $( 8030: 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 TOP)\src\vtab.c 8040: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 \.$(TOP)\src\w
8050: 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  al.c \.  $(TOP)\ 8060: 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a 20 src\walker.c \. 8070: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72$(TOP)\src\wher
8080: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 8090: 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 5c rc\wherecode.c \ 80a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 .$(TOP)\src\wh
80b0: 65 72 65 65 78 70 72 2e 63 0a 0a 23 20 53 68 65  ereexpr.c..# She
80c0: 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ll source code f
80d0: 69 6c 65 73 2e 0a 23 0a 53 52 43 30 32 20 3d 20  iles..#.SRC02 =
80e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  \.  $(TOP)\src\s 80f0: 68 65 6c 6c 2e 63 0a 0a 23 20 43 6f 72 65 20 6d hell.c..# Core m 8100: 69 73 63 65 6c 6c 61 6e 65 6f 75 73 20 66 69 6c iscellaneous fil 8110: 65 73 2e 0a 23 0a 53 52 43 30 33 20 3d 20 5c 0a es..#.SRC03 = \. 8120: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72$(TOP)\src\par
8130: 73 65 2e 79 0a 0a 23 20 43 6f 72 65 20 68 65 61  se.y..# Core hea
8140: 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20  der files, part
8150: 31 2e 0a 23 0a 53 52 43 30 34 20 3d 20 5c 0a 20  1..#.SRC04 = \.
8160: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre 8170: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.h \.$(TOP)\s
8180: 72 63 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a  rc\btreeInt.h \.
8190: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73    $(TOP)\src\has 81a0: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 h.h \.$(TOP)\s
81b0: 72 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20  rc\hwtime.h \.
81c0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e  $(TOP)\src\msvc. 81d0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 h \.$(TOP)\src
81e0: 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 24 28 54  \mutex.h \.  $(T 81f0: 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 OP)\src\os.h \. 8200: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63$(TOP)\src\os_c
8210: 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f  ommon.h \.  $(TO 8220: 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e P)\src\os_setup. 8230: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 h \.$(TOP)\src
8240: 5c 6f 73 5f 77 69 6e 2e 68 0a 0a 23 20 43 6f 72  \os_win.h..# Cor
8250: 65 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20  e header files,
8260: 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 35 20  part 2..#.SRC05
8270: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  = \.  $(TOP)\src 8280: 5c 70 61 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 \pager.h \.$(T
8290: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68  OP)\src\pcache.h
82a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 82b0: 70 72 61 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54 pragma.h \.$(T
82c0: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68  OP)\src\sqlite.h
82d0: 2e 69 6e 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  .in \.  $(TOP)\s 82e0: 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 rc\sqlite3ext.h 82f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 \.$(TOP)\src\s
8300: 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24  qliteInt.h \.  $8310: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 (TOP)\src\sqlite 8320: 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f Limit.h \.$(TO
8330: 50 29 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a  P)\src\vdbe.h \.
8340: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb 8350: 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 eInt.h \.$(TOP
8360: 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20  )\src\vxworks.h
8370: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77  \.  $(TOP)\src\w 8380: 61 6c 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c al.h \.$(TOP)\
8390: 73 72 63 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a  src\whereInt.h..
83a0: 23 20 45 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72  # Extension sour
83b0: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c 20 70  ce code files, p
83c0: 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 36 20 3d  art 1..#.SRC06 =
83d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 83e0: 66 74 73 31 5c 66 74 73 31 2e 63 20 5c 0a 20 20 fts1\fts1.c \. 83f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c$(TOP)\ext\fts1\
8400: 66 74 73 31 5f 68 61 73 68 2e 63 20 5c 0a 20 20  fts1_hash.c \.
8410: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c  $(TOP)\ext\fts1\ 8420: 66 74 73 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a fts1_porter.c \. 8430: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
8440: 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72  1\fts1_tokenizer
8450: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.c \.  $(TOP)\e 8460: 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 5c xt\fts2\fts2.c \ 8470: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
8480: 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 20 5c  s2\fts2_hash.c \
8490: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 84a0: 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 20 5c 0a s2\fts2_icu.c \. 84b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
84c0: 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20  2\fts2_porter.c
84d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 84e0: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a ts2\fts2_tokeniz 84f0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c er.c \.$(TOP)\
8500: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
8510: 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 23 20 45 78  kenizer1.c..# Ex
8520: 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 63  tension source c
8530: 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 20  ode files, part
8540: 32 2e 0a 23 0a 53 52 43 30 37 20 3d 20 5c 0a 20  2..#.SRC07 = \.
8550: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 8560: 5c 66 74 73 33 2e 63 20 5c 0a 20 20 24 28 54 4f \fts3.c \.$(TO
8570: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
8580: 5f 61 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _aux.c \.  $(TOP 8590: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ 85a0: 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 expr.c \.$(TOP
85b0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
85c0: 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50  hash.c \.  $(TOP 85d0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ 85e0: 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 icu.c \.$(TOP)
85f0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70  \ext\fts3\fts3_p
8600: 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  orter.c \.  $(TO 8610: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 8620: 5f 73 6e 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 _snippet.c \.$
8630: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
8640: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20  ts3_tokenizer.c
8650: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 8660: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a ts3\fts3_tokeniz 8670: 65 72 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 er1.c \.$(TOP)
8680: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
8690: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 5c  okenize_vtab.c \
86a0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 86b0: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e s3\fts3_unicode. 86c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
86d0: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f  \fts3\fts3_unico
86e0: 64 65 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  de2.c \.  $(TOP) 86f0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 \ext\fts3\fts3_w 8700: 72 69 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 rite.c \.$(TOP
8710: 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20  )\ext\icu\icu.c
8720: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r 8730: 74 72 65 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20 tree\rtree.c \. 8740: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73$(TOP)\ext\sess
8750: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
8760: 6f 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  on.c \.  $(TOP)\ 8770: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 ext\rbu\sqlite3r 8780: 62 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c bu.c \.$(TOP)\
8790: 65 78 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63  ext\misc\json1.c
87a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 87b0: 6d 69 73 63 5c 73 74 6d 74 2e 63 0a 0a 23 20 45 misc\stmt.c..# E 87c0: 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 xtension header 87d0: 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 files, part 1..# 87e0: 0a 53 52 43 30 38 20 3d 20 5c 0a 20 20 24 28 54 .SRC08 = \.$(T
87f0: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
8800: 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.h \.  $(TOP)\e 8810: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 xt\fts1\fts1_has 8820: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 h.h \.$(TOP)\e
8830: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b  xt\fts1\fts1_tok
8840: 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54  enizer.h \.  $(T 8850: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts 8860: 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 2.h \.$(TOP)\e
8870: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73  xt\fts2\fts2_has
8880: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  h.h \.  $(TOP)\e 8890: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b xt\fts2\fts2_tok 88a0: 65 6e 69 7a 65 72 2e 68 0a 0a 23 20 45 78 74 65 enizer.h..# Exte 88b0: 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c nsion header fil 88c0: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 es, part 2..#.SR 88d0: 43 30 39 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 C09 = \.$(TOP)
88e0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68  \ext\fts3\fts3.h
88f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8900: 66 74 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c fts3\fts3Int.h \ 8910: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
8920: 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c  s3\fts3_hash.h \
8930: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 8940: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 s3\fts3_tokenize 8950: 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 r.h \.$(TOP)\e
8960: 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75  xt\icu\sqliteicu
8970: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex 8980: 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 68 20 t\rtree\rtree.h 8990: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 \.$(TOP)\ext\r
89a0: 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 68 20  bu\sqlite3rbu.h
89b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73  \.  $(TOP)\ext\s 89c0: 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 ession\sqlite3se 89d0: 73 73 69 6f 6e 2e 68 0a 0a 23 20 47 65 6e 65 72 ssion.h..# Gener 89e0: 61 74 65 64 20 73 6f 75 72 63 65 20 63 6f 64 65 ated source code 89f0: 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 30 20 3d files.#.SRC10 = 8a00: 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 63 20 5c \. opcodes.c \ 8a10: 0a 20 20 70 61 72 73 65 2e 63 0a 0a 23 20 47 65 . parse.c..# Ge 8a20: 6e 65 72 61 74 65 64 20 68 65 61 64 65 72 20 66 nerated header f 8a30: 69 6c 65 73 0a 23 0a 53 52 43 31 31 20 3d 20 5c iles.#.SRC11 = \ 8a40: 0a 20 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 . keywordhash.h 8a50: 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c \. opcodes.h \ 8a60: 0a 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 24 . parse.h \.$
8a70: 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20 47 65  (SQLITE3H)..# Ge
8a80: 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65 61 64  nerated Tcl head
8a90: 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46 20 24  er files.#.!IF $8aa0: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 (USE_STDCALL)!=0 8ab0: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 ||$(FOR_WIN10)
8ac0: 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a 20 20  !=0.SRC12 = \.
8ad0: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20 5c 0a  $(SQLITETCLH) \. 8ae0: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43$(SQLITETCLDEC
8af0: 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43 31 32  LSH).!ELSE.SRC12
8b00: 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 6c   =.!ENDIF..# All
8b10: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
8b20: 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52  es..#.SRC = $(SR 8b30: 43 30 30 29 20 24 28 53 52 43 30 31 29 20 24 28 C00)$(SRC01) $( 8b40: 53 52 43 30 32 29 20 24 28 53 52 43 30 33 29 20 SRC02)$(SRC03)
8b50: 24 28 53 52 43 30 34 29 20 24 28 53 52 43 30 35  $(SRC04)$(SRC05
8b60: 29 20 24 28 53 52 43 30 36 29 20 24 28 53 52 43  ) $(SRC06)$(SRC
8b70: 30 37 29 20 24 28 53 52 43 30 38 29 20 24 28 53  07) $(SRC08)$(S
8b80: 52 43 30 39 29 20 24 28 53 52 43 31 30 29 20 24  RC09) $(SRC10)$
8b90: 28 53 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63  (SRC11)..# Sourc
8ba0: 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65  e code to the te
8bb0: 73 74 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54  st files..#.TEST
8bc0: 53 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  SRC = \.  $(TOP) 8bd0: 5c 73 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 \src\test1.c \. 8be0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
8bf0: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  2.c \.  $(TOP)\s 8c00: 72 63 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 rc\test3.c \.$
8c10: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e  (TOP)\src\test4.
8c20: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8c30: 5c 74 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 \test5.c \.$(T
8c40: 4f 50 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20  OP)\src\test6.c
8c50: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8c60: 65 73 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 est7.c \.$(TOP
8c70: 29 5c 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a  )\src\test8.c \.
8c80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 8c90: 74 39 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c t9.c \.$(TOP)\
8ca0: 73 72 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74  src\test_autoext
8cb0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8cc0: 63 5c 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c c\test_async.c \ 8cd0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
8ce0: 73 74 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20  st_backup.c \.
8cf0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 8d00: 62 65 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 bestindex.c \. 8d10: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
8d20: 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50  blob.c \.  $(TOP 8d30: 29 5c 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65 )\src\test_btree 8d40: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8d50: 63 5c 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20  c\test_config.c
8d60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8d70: 65 73 74 5f 64 65 6c 65 74 65 2e 63 20 5c 0a 20 est_delete.c \. 8d80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
8d90: 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24  _demovfs.c \.  $8da0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 (TOP)\src\test_d 8db0: 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f evsym.c \.$(TO
8dc0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63  P)\src\test_fs.c
8dd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8de0: 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 test_func.c \. 8df0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
8e00: 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f  hexio.c \.  $(TO 8e10: 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 P)\src\test_init 8e20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8e30: 63 5c 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e  c\test_intarray.
8e40: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8e50: 5c 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 \test_journal.c 8e60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
8e70: 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20  est_malloc.c \.
8e80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 8e90: 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c 0a 20 _multiplex.c \. 8ea0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
8eb0: 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54  _mutex.c \.  $(T 8ec0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 6e 65 OP)\src\test_one 8ed0: 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 file.c \.$(TOP
8ee0: 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69 6e 73  )\src\test_osins
8ef0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s 8f00: 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 2e 63 rc\test_pcache.c 8f10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8f20: 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c 0a 20  test_quota.c \.
8f30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 8f40: 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 _rtree.c \.$(T
8f50: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 63 68  OP)\src\test_sch
8f60: 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ema.c \.  $(TOP) 8f70: 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 65 72 \src\test_server 8f80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8f90: 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f 63 6b  c\test_superlock
8fa0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8fb0: 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c 2e 63 c\test_syscall.c 8fc0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8fd0: 74 65 73 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a  test_tclvar.c \.
8fe0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 8ff0: 74 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 t_thread.c \.$
9000: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 76  (TOP)\src\test_v
9010: 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  fs.c \.  $(TOP)\ 9020: 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 src\test_windire 9030: 6e 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c nt.c \.$(TOP)\
9040: 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c  src\test_wsd.c \
9050: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 9060: 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c s3\fts3_term.c \ 9070: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
9080: 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 5c  s3\fts3_test.c \
9090: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62  .  $(TOP)\ext\rb 90a0: 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20 u\test_rbu.c \. 90b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73$(TOP)\ext\sess
90c0: 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e  ion\test_session
90d0: 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c 79  .c..# Statically
90e0: 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f   linked extensio
90f0: 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d 20  ns..#.TESTEXT =
9100: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 9110: 69 73 63 5c 61 6d 61 74 63 68 2e 63 20 5c 0a 20 isc\amatch.c \. 9120: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
9130: 5c 63 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28  \carray.c \.  $( 9140: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6c TOP)\ext\misc\cl 9150: 6f 73 75 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f osure.c \.$(TO
9160: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 73 76 2e  P)\ext\misc\csv.
9170: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 9180: 5c 6d 69 73 63 5c 65 76 61 6c 2e 63 20 5c 0a 20 \misc\eval.c \. 9190: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
91a0: 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 20 20 24 28  \fileio.c \.  $( 91b0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 75 TOP)\ext\misc\fu 91c0: 7a 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 zzer.c \.$(TOP
91d0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
91e0: 74 63 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tcl.c \.  $(TOP) 91f0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 \ext\fts5\fts5_t 9200: 65 73 74 5f 6d 69 2e 63 20 5c 0a 20 20 24 28 54 est_mi.c \.$(T
9210: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
9220: 35 5f 74 65 73 74 5f 74 6f 6b 2e 63 20 5c 0a 20  5_test_tok.c \.
9230: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 9240: 5c 69 65 65 65 37 35 34 2e 63 20 5c 0a 20 20 24 \ieee754.c \.$
9250: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6d  (TOP)\ext\misc\m
9260: 6d 61 70 77 61 72 6d 2e 63 0a 20 20 24 28 54 4f  mapwarm.c.  $(TO 9270: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e 65 78 74 P)\ext\misc\next 9280: 63 68 61 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 char.c \.$(TOP
9290: 29 5c 65 78 74 5c 6d 69 73 63 5c 70 65 72 63 65  )\ext\misc\perce
92a0: 6e 74 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f  ntile.c \.  $(TO 92b0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65 67 65 P)\ext\misc\rege 92c0: 78 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c xp.c \.$(TOP)\
92d0: 65 78 74 5c 6d 69 73 63 5c 72 65 6d 65 6d 62 65  ext\misc\remembe
92e0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 92f0: 78 74 5c 6d 69 73 63 5c 73 65 72 69 65 73 2e 63 xt\misc\series.c 9300: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9310: 6d 69 73 63 5c 73 70 65 6c 6c 66 69 78 2e 63 20  misc\spellfix.c
9320: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 9330: 69 73 63 5c 74 6f 74 79 70 65 2e 63 20 5c 0a 20 isc\totype.c \. 9340: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
9350: 5c 75 6e 69 6f 6e 76 74 61 62 2e 63 20 5c 0a 20  \unionvtab.c \.
9360: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 9370: 5c 77 68 6f 6c 65 6e 75 6d 62 65 72 2e 63 0a 0a \wholenumber.c.. 9380: 23 20 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f # Source code to 9390: 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 69 6c the library fil 93a0: 65 73 20 6e 65 65 64 65 64 20 62 79 20 74 68 65 es needed by the 93b0: 20 74 65 73 74 20 66 69 78 74 75 72 65 0a 23 20 test fixture.# 93c0: 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f (non-amalgamatio 93d0: 6e 29 0a 23 0a 54 45 53 54 53 52 43 32 20 3d 20 n).#.TESTSRC2 = 93e0: 5c 0a 20 20 24 28 53 52 43 30 30 29 20 5c 0a 20 \.$(SRC00) \.
93f0: 20 24 28 53 52 43 30 31 29 20 5c 0a 20 20 24 28   $(SRC01) \.$(
9400: 53 52 43 30 36 29 20 5c 0a 20 20 24 28 53 52 43  SRC06) \.  $(SRC 9410: 30 37 29 20 5c 0a 20 20 24 28 53 52 43 31 30 29 07) \.$(SRC10)
9420: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 9430: 61 73 79 6e 63 5c 73 71 6c 69 74 65 33 61 73 79 async\sqlite3asy 9440: 6e 63 2e 63 0a 0a 23 20 48 65 61 64 65 72 20 66 nc.c..# Header f 9450: 69 6c 65 73 20 75 73 65 64 20 62 79 20 61 6c 6c iles used by all 9460: 20 6c 69 62 72 61 72 79 20 73 6f 75 72 63 65 20 library source 9470: 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20 3d 20 5c files..#.HDR = \ 9480: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 .$(TOP)\src\b
9490: 74 72 65 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f  tree.h \.   $(TO 94a0: 50 29 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e P)\src\btreeInt. 94b0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 h \.$(TOP)\sr
94c0: 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28  c\hash.h \.   $( 94d0: 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e TOP)\src\hwtime. 94e0: 68 20 5c 0a 20 20 20 6b 65 79 77 6f 72 64 68 61 h \. keywordha 94f0: 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 sh.h \.$(TOP)
9500: 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20  \src\msvc.h \.
9510: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute 9520: 78 2e 68 20 5c 0a 20 20 20 6f 70 63 6f 64 65 73 x.h \. opcodes 9530: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 .h \.$(TOP)\s
9540: 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 20 24 28 54  rc\os.h \.   $(T 9550: 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f OP)\src\os_commo 9560: 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c n.h \.$(TOP)\
9570: 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c  src\os_setup.h \
9580: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  .   $(TOP)\src\o 9590: 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 24 28 54 s_win.h \.$(T
95a0: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20  OP)\src\pager.h
95b0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\ 95c0: 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 20 70 61 pcache.h \. pa 95d0: 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 rse.h \.$(TOP
95e0: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c  )\src\pragma.h \
95f0: 0a 20 20 20 24 28 53 51 4c 49 54 45 33 48 29 20  .   $(SQLITE3H) 9600: 5c 0a 20 20 20 73 71 6c 69 74 65 33 65 78 74 2e \. sqlite3ext. 9610: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 h \.$(TOP)\sr
9620: 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a  c\sqliteInt.h \.
9630: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71     $(TOP)\src\sq 9640: 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 liteLimit.h \. 9650: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
9660: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s 9670: 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 rc\vdbeInt.h \. 9680: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77$(TOP)\src\vxw
9690: 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f  orks.h \.   $(TO 96a0: 50 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74 2e P)\src\whereInt. 96b0: 68 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65 h..# Header file 96c0: 73 20 75 73 65 64 20 62 79 20 65 78 74 65 6e 73 s used by extens 96d0: 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20 3d 20 ions.#.EXTHDR = 96e0: 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28$(EXTHDR) \.  $( 96f0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 TOP)\ext\fts1\ft 9700: 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c s1.h \.$(TOP)\
9710: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61  ext\fts1\fts1_ha
9720: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.h \.  $(TOP)\ 9730: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f ext\fts1\fts1_to 9740: 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 kenizer.h.EXTHDR 9750: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 =$(EXTHDR) \.
9760: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 9770: 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f \fts2.h \.$(TO
9780: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
9790: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO 97a0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 97b0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 _tokenizer.h.EXT 97c0: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 HDR =$(EXTHDR)
97d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 97e0: 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24 ts3\fts3.h \.$
97f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
9800: 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54  ts3Int.h \.  $(T 9810: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 9820: 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 3_hash.h \.$(T
9830: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
9840: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58  3_tokenizer.h.EX
9850: 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29  THDR = $(EXTHDR) 9860: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
9870: 72 74 72 65 65 5c 72 74 72 65 65 2e 68 0a 45 58  rtree\rtree.h.EX
9880: 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29  THDR = $(EXTHDR) 9890: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
98a0: 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 0a  icu\sqliteicu.h.
98b0: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD 98c0: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 R) \.$(TOP)\ex
98d0: 74 5c 72 74 72 65 65 5c 73 71 6c 69 74 65 33 72  t\rtree\sqlite3r
98e0: 74 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d 20  tree.h.EXTHDR =
98f0: 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28  $(EXTHDR) \.$(
9900: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e  TOP)\ext\session
9910: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e  \sqlite3session.
9920: 68 0a 0a 23 20 65 78 65 63 75 74 61 62 6c 65 73  h..# executables
9930: 20 6e 65 65 64 65 64 20 66 6f 72 20 74 65 73 74   needed for test
9940: 69 6e 67 0a 23 0a 54 45 53 54 50 52 4f 47 53 20  ing.#.TESTPROGS
9950: 3d 20 5c 0a 20 20 74 65 73 74 66 69 78 74 75 72  = \.  testfixtur
9960: 65 2e 65 78 65 20 5c 0a 20 20 24 28 53 51 4c 49  e.exe \.  $(SQLI 9970: 54 45 33 45 58 45 29 20 5c 0a 20 20 73 71 6c 69 TE3EXE) \. sqli 9980: 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 te3_analyzer.exe 9990: 20 5c 0a 20 20 73 71 6c 64 69 66 66 2e 65 78 65 \. sqldiff.exe 99a0: 20 5c 0a 20 20 64 62 68 61 73 68 2e 65 78 65 0a \. dbhash.exe. 99b0: 0a 23 20 44 61 74 61 62 61 73 65 73 20 63 6f 6e .# Databases con 99c0: 74 61 69 6e 69 6e 67 20 66 75 7a 7a 65 72 20 74 taining fuzzer t 99d0: 65 73 74 20 63 61 73 65 73 0a 23 0a 46 55 5a 5a est cases.#.FUZZ 99e0: 44 41 54 41 20 3d 20 5c 0a 20 20 24 28 54 4f 50 DATA = \.$(TOP
99f0: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 31  )\test\fuzzdata1
9a00: 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74  .db \.  $(TOP)\t 9a10: 65 73 74 5c 66 75 7a 7a 64 61 74 61 32 2e 64 62 est\fuzzdata2.db 9a20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 \.$(TOP)\test
9a30: 5c 66 75 7a 7a 64 61 74 61 33 2e 64 62 20 5c 0a  \fuzzdata3.db \.
9a40: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75    $(TOP)\test\fu 9a50: 7a 7a 64 61 74 61 34 2e 64 62 20 5c 0a 20 20 24 zzdata4.db \.$
9a60: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
9a70: 61 74 61 35 2e 64 62 0a 23 20 3c 3c 2f 6d 61 72  ata5.db.# <</mar
9a80: 6b 3e 3e 0a 0a 23 20 41 64 64 69 74 69 6f 6e 61  k>>..# Additiona
9a90: 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f  l compiler optio
9aa0: 6e 73 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c  ns for the shell
9ab0: 2e 20 20 54 68 65 73 65 20 61 72 65 20 6f 6e 6c  .  These are onl
9ac0: 79 20 65 66 66 65 63 74 69 76 65 0a 23 20 77 68  y effective.# wh
9ad0: 65 6e 20 74 68 65 20 73 68 65 6c 6c 20 69 73 20  en the shell is
9ae0: 6e 6f 74 20 62 65 69 6e 67 20 64 79 6e 61 6d 69  not being dynami
9af0: 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 2e 0a 23 0a  cally linked..#.
9b00: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH 9b10: 45 4c 4c 29 3d 3d 30 20 26 26 20 24 28 46 4f 52 ELL)==0 &&$(FOR
9b20: 5f 57 49 4e 31 30 29 3d 3d 30 0a 53 48 45 4c 4c  _WIN10)==0.SHELL
9b30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20  _COMPILE_OPTS =
9b40: 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  $(SHELL_COMPILE_ 9b50: 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 OPTS) -DSQLITE_S 9b60: 48 45 4c 4c 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c HELL_JSON1 -DSQL 9b70: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 20 ITE_ENABLE_FTS4 9b80: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 9b90: 45 58 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 EXPLAIN_COMMENTS 9ba0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 9bb0: 5f 53 54 4d 54 56 54 41 42 0a 21 45 4e 44 49 46 _STMTVTAB.!ENDIF 9bc0: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 45 ..# <<mark>>.# E 9bd0: 78 74 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f 70 xtra compiler op 9be0: 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f 75 tions for variou 9bf0: 73 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23 0a s test tools..#. 9c00: 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 MPTESTER_COMPILE 9c10: 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 _OPTS = -DSQLITE 9c20: 5f 53 48 45 4c 4c 5f 4a 53 4f 4e 31 20 2d 44 53 _SHELL_JSON1 -DS 9c30: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 QLITE_ENABLE_FTS 9c40: 35 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 5.FUZZERSHELL_CO 9c50: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 MPILE_OPTS = -DS 9c60: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f QLITE_ENABLE_JSO 9c70: 4e 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d N1.FUZZCHECK_COM 9c80: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 PILE_OPTS = -DSQ 9c90: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e LITE_ENABLE_JSON 9ca0: 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 1 -DSQLITE_ENABL 9cb0: 45 5f 4d 45 4d 53 59 53 35 20 2d 44 53 51 4c 49 E_MEMSYS5 -DSQLI 9cc0: 54 45 5f 4f 53 53 5f 46 55 5a 5a 20 2d 44 53 51 TE_OSS_FUZZ -DSQ 9cd0: 4c 49 54 45 5f 4d 41 58 5f 4d 45 4d 4f 52 59 3d LITE_MAX_MEMORY= 9ce0: 35 30 30 30 30 30 30 30 0a 46 55 5a 5a 43 48 45 50000000.FUZZCHE 9cf0: 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c CK_SRC =$(TOP)\
9d00: 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e 63  test\fuzzcheck.c
9d10: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73   $(TOP)\test\oss 9d20: 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c 5f fuzz.c.OSSSHELL_ 9d30: 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73 SRC =$(TOP)\tes
9d40: 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28 54  t\ossshell.c $(T 9d50: 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a OP)\test\ossfuzz 9d60: 2e 63 0a 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c .c.DBFUZZ_COMPIL 9d70: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 E_OPTS = -DSQLIT 9d80: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d E_THREADSAFE=0 - 9d90: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 DSQLITE_OMIT_LOA 9da0: 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 4b 56 5f 43 D_EXTENSION.KV_C 9db0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 OMPILE_OPTS = -D 9dc0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 SQLITE_THREADSAF 9dd0: 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 44 49 52 E=0 -DSQLITE_DIR 9de0: 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f 52 45 41 ECT_OVERFLOW_REA 9df0: 44 0a 44 42 53 45 4c 46 54 45 53 54 5f 43 4f 4d D.DBSELFTEST_COM 9e00: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 PILE_OPTS = -DSQ 9e10: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d LITE_THREADSAFE= 9e20: 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 0 -DSQLITE_OMIT_ 9e30: 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d LOAD_EXTENSION - 9e40: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 DSQLITE_ENABLE_R 9e50: 54 52 45 45 20 2d 44 53 51 4c 49 54 45 5f 45 4e TREE -DSQLITE_EN 9e60: 41 42 4c 45 5f 46 54 53 34 20 2d 44 53 51 4c 49 ABLE_FTS4 -DSQLI 9e70: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 53 TE_ENABLE_FTS5.S 9e80: 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d T_COMPILE_OPTS = 9e90: 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 -DSQLITE_THREAD 9ea0: 53 41 46 45 3d 30 0a 0a 23 20 53 74 61 6e 64 61 SAFE=0..# Standa 9eb0: 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74 65 rd options to te 9ec0: 73 74 66 69 78 74 75 72 65 2e 0a 23 0a 54 45 53 stfixture..#.TES 9ed0: 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72 62 6f 73 TOPTS = --verbos 9ee0: 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70 75 74 3d e=file --output= 9ef0: 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a 0a 23 20 test-out.txt..# 9f00: 45 78 74 72 61 20 74 61 72 67 65 74 73 20 66 6f Extra targets fo 9f10: 72 20 74 68 65 20 22 61 6c 6c 22 20 74 61 72 67 r the "all" targ 9f20: 65 74 20 74 68 61 74 20 72 65 71 75 69 72 65 20 et that require 9f30: 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f Tcl..#.!IF$(NO_
9f40: 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c 5f  TCL)==0.ALL_TCL_
9f50: 54 41 52 47 45 54 53 20 3d 20 6c 69 62 74 63 6c  TARGETS = libtcl
9f60: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53  sqlite3.lib.!ELS
9f70: 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54  E.ALL_TCL_TARGET
9f80: 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  S =.!ENDIF.# <</
9f90: 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 69  mark>>..# This i
9fa0: 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 4d 61  s the default Ma
9fb0: 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e 20 20  kefile target.
9fc0: 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69 73 74  The objects list
9fd0: 65 64 20 68 65 72 65 0a 23 20 61 72 65 20 77 68  ed here.# are wh
9fe0: 61 74 20 67 65 74 20 62 75 69 6c 64 20 77 68 65  at get build whe
9ff0: 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73 74 20  n you type just
a000: 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f 20 61  "make" with no a
a010: 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c 6c 3a  rguments..#.all:
a020: 09 64 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e  .dll libsqlite3.
a030: 6c 69 62 20 73 68 65 6c 6c 20 24 28 41 4c 4c 5f  lib shell $(ALL_ a040: 54 43 4c 5f 54 41 52 47 45 54 53 29 0a 0a 23 20 TCL_TARGETS)..# a050: 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 Dynamic link lib a060: 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a 23 0a rary section..#. a070: 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 44 4c dll:.$(SQLITE3DL
a080: 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78 65 63  L)..# Shell exec
a090: 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c 6c 3a  utable..#.shell:
a0a0: 09 24 28 53 51 4c 49 54 45 33 45 58 45 29 0a 0a  .$(SQLITE3EXE).. a0b0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 73 71 # <<mark>>.libsq a0c0: 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49 42 lite3.lib:.$(LIB
a0d0: 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20 24  OBJ)..$(LTLIB)$
a0e0: 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55 54  (LTLIBOPTS) /OUT
a0f0: 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28  :$@$(LIBOBJ) $( a100: 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c 73 71 TLIBS)..libtclsq a110: 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c 73 71 lite3.lib:.tclsq a120: 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 lite.lo libsqlit a130: 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 42 29 e3.lib..$(LTLIB)
a140: 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 24 28   $(LTLIBOPTS)$(
a150: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54  LTLIBPATHS) /OUT
a160: 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e 6c 6f  :$@ tclsqlite.lo a170: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 libsqlite3.lib a180: 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20 24 28$(LIBTCLSTUB) $( a190: 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61 72 6b TLIBS).# <</mark a1a0: 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44 4c 4c >>..$(SQLITE3DLL
a1b0: 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c  ):.$(LIBOBJ)$(L
a1c0: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 43 4f 52  IBRESOBJS) $(COR a1d0: 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24 28 4c E_LINK_DEP)..$(L
a1e0: 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  D) $(LDFLAGS)$(
a1f0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54  LTLINKOPTS) $(LT a200: 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 24 LIBPATHS) /DLL$
a210: 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 29  (CORE_LINK_OPTS)
a220: 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42   /OUT:$@$(LIBOB
a230: 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29  J) $(LIBRESOBJS) a240: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49$(LTLIBS) $(TLI a250: 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b 32 3e BS)..# <<block2> a260: 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a 09 6c >.sqlite3.def:.l a270: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 65 ibsqlite3.lib..e a280: 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20 73 71 cho EXPORTS > sq a290: 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 6d 70 62 lite3.def..dumpb a2a0: 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c 69 74 in /all libsqlit a2b0: 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24 28 54 e3.lib \...|$(T
a2c0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) a2d0: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 \tool\replace.tc a2e0: 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73 2b 31 l include "^\s+1 a2f0: 20 5f 3f 28 73 71 6c 69 74 65 33 28 3f 3a 73 65 _?(sqlite3(?:se a300: 73 73 69 6f 6e 7c 63 68 61 6e 67 65 73 65 74 7c ssion|changeset| a310: 63 68 61 6e 67 65 67 72 6f 75 70 29 3f 5f 5b 5e changegroup)?_[^ a320: 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 @]*)(?:@\d+)?$$" a330: 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e \1 \...| sort > a340: 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 23 20 > sqlite3.def.# a350: 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53 <</block2>>..$(S
a360: 51 4c 49 54 45 33 45 58 45 29 3a 09 24 28 54 4f  QLITE3EXE):.$(TO a370: 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 20 24 P)\src\shell.c$
a380: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29  (SHELL_CORE_DEP)
a390: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS)$
a3a0: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29  (SHELL_CORE_SRC)
a3b0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
a3c0: 4c 54 4c 49 4e 4b 29 20 24 28 53 48 45 4c 4c 5f  LTLINK) $(SHELL_ a3d0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
a3e0: 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20  READLINE_FLAGS)
a3f0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c  $(TOP)\src\shell a400: 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f .c$(SHELL_CORE_
a410: 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24  SRC) \.../link $a420: 28 53 51 4c 49 54 45 33 45 58 45 50 44 42 29 20 (SQLITE3EXEPDB) a430: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL a440: 49 4e 4b 4f 50 54 53 29 20 24 28 53 48 45 4c 4c INKOPTS)$(SHELL
a450: 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54  _LINK_OPTS) $(LT a460: 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 LIBPATHS)$(LIBR
a470: 45 53 4f 42 4a 53 29 20 24 28 4c 49 42 52 45 41  ESOBJS) $(LIBREA a480: 44 4c 49 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 DLINE)$(LTLIBS)
a490: 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d   $(TLIBS)..# <<m a4a0: 61 72 6b 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 ark>>.sqldiff.ex a4b0: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 e:.$(TOP)\tool\s
a4c0: 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54  qldiff.c $(SQLIT a4d0: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
a4e0: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
a4f0: 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f  _WARN) $(TOP)\to a500: 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53 ol\sqldiff.c$(S
a510: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $a520: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
a530: 4e 4b 4f 50 54 53 29 0a 0a 64 62 68 61 73 68 2e  NKOPTS)..dbhash.
a540: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool a550: 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 \dbhash.c$(SQLI
a560: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H a570: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N a580: 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 O_WARN)$(TOP)\t
a590: 6f 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 53  ool\dbhash.c $(S a5a0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 QLITE3C) /link$
a5b0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI a5c0: 4e 4b 4f 50 54 53 29 0a 0a 73 63 72 75 62 2e 65 NKOPTS)..scrub.e a5d0: 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d xe:.$(TOP)\ext\m
a5e0: 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28 53 51  isc\scrub.c $(SQ a5f0: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 LITE3C)$(SQLITE
a600: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK)$
a610: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29  (NO_WARN) $(TOP) a620: 5c 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e \ext\misc\scrub. a630: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c c$(SQLITE3C) /l
a640: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
a650: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 72  (LTLINKOPTS)..sr
a660: 63 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f 50 29  cck1.exe:.$(TOP) a670: 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 \tool\srcck1.c.. a680: 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e$(BCC) $(NO_WARN a690: 29 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 ) -Fe$@ $(TOP)\t a6a0: 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a 73 6f ool\srcck1.c..so a6b0: 75 72 63 65 74 65 73 74 3a 09 73 72 63 63 6b 31 urcetest:.srcck1 a6c0: 2e 65 78 65 20 73 71 6c 69 74 65 33 2e 63 0a 09 .exe sqlite3.c.. a6d0: 73 72 63 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 srcck1.exe sqlit a6e0: 65 33 2e 63 0a 0a 66 75 7a 7a 65 72 73 68 65 6c e3.c..fuzzershel a6f0: 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f l.exe:.$(TOP)\to
a700: 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63  ol\fuzzershell.c
a710: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
a720: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI a730: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 NK)$(NO_WARN) $a740: 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d (FUZZERSHELL_COM a750: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 PILE_OPTS)$(TOP
a760: 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65  )\tool\fuzzershe
a770: 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  ll.c $(SQLITE3C) a780: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 /link$(LDFLAGS
a790: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS). a7a0: 0a 64 62 66 75 7a 7a 2e 65 78 65 3a 09 24 28 54 .dbfuzz.exe:.$(T
a7b0: 4f 50 29 5c 74 65 73 74 5c 64 62 66 75 7a 7a 2e  OP)\test\dbfuzz.
a7c0: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C)$(
a7d0: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL a7e0: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 INK)$(NO_WARN)
a7f0: 24 28 44 42 46 55 5a 5a 5f 43 4f 4d 50 49 4c 45  $(DBFUZZ_COMPILE a800: 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74 65 _OPTS)$(TOP)\te
a810: 73 74 5c 64 62 66 75 7a 7a 2e 63 20 24 28 53 51  st\dbfuzz.c $(SQ a820: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
a830: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN a840: 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63 68 65 63 KOPTS)..fuzzchec a850: 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a 43 48 45 k.exe:.$(FUZZCHE
a860: 43 4b 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45  CK_SRC) $(SQLITE a870: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
a880: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
a890: 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43  WARN) $(FUZZCHEC a8a0: 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 K_COMPILE_OPTS) a8b0: 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53 52 43 29$(FUZZCHECK_SRC)
a8c0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li a8d0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( a8e0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6f 73 73 LTLINKOPTS)..oss a8f0: 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 4f 53 53 shell.exe:.$(OSS
a900: 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 53 51 4c  SHELL_SRC) $(SQL a910: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
a920: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK)$(
a930: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43  NO_WARN) $(FUZZC a940: 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 HECK_COMPILE_OPT a950: 53 29 20 24 28 4f 53 53 53 48 45 4c 4c 5f 53 52 S)$(OSSSHELL_SR
a960: 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  C) $(SQLITE3C) / a970: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
a980: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6d  $(LTLINKOPTS)..m a990: 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24 28 54 ptester.exe:.$(T
a9a0: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73  OP)\mptest\mptes
a9b0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) a9c0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L a9d0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
a9e0: 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d  ) $(MPTESTER_COM a9f0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 PILE_OPTS)$(TOP
aa00: 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e  )\mptest\mptest.
aa10: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l aa20: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $aa30: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50 (LTLINKOPTS)..MP aa40: 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74 65 72 TEST1 = mptester aa50: 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 mptest.db$(TOP
aa60: 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68 30 31  )\mptest\crash01
aa70: 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20 32  .test --repeat 2
aa80: 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70 74 65  0.MPTEST2 = mpte
aa90: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24  ster mptest.db $aaa0: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c (TOP)\mptest\mul aab0: 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 20 2d tiwrite01.test - aac0: 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70 74 65 -repeat 20..mpte aad0: 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65 78 65 st:.mptester.exe aae0: 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e ..del /Q mptest. aaf0: 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45 db 2>NUL..$(MPTE
ab00: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
ab10: 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d 50 54  de DELETE..$(MPT ab20: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d EST2) --journalm ab30: 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 ode WAL..$(MPTES
ab40: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
ab50: 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 32  e WAL..$(MPTEST2 ab60: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 ) --journalmode ab70: 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53 PERSIST..$(MPTES
ab80: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
ab90: 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54  e PERSIST..$(MPT aba0: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d EST2) --journalm abb0: 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28 ode TRUNCATE..$(
abc0: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e  MPTEST1) --journ
abd0: 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a  almode TRUNCATE.
abe0: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f  .$(MPTEST2) --jo abf0: 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 urnalmode DELETE ac00: 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65 74 20 ..# This target ac10: 63 72 65 61 74 65 73 20 61 20 64 69 72 65 63 74 creates a direct ac20: 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72 63 22 ory named "tsrc" ac30: 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 77 69 and fills it wi ac40: 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 20 61 th.# copies of a ac50: 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 ll of the C sour ac60: 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 ce code and head ac70: 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 er files needed ac80: 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74 68 to.# build on th ac90: 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e e target system. aca0: 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 43 20 Some of the C acb0: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 source code and acc0: 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73 20 61 header.# files a acd0: 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 re automatically ace0: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54 68 69 generated. Thi acf0: 73 20 74 61 72 67 65 74 20 74 61 6b 65 73 20 63 s target takes c ad00: 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61 are of.# all tha ad10: 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65 6e 65 t automatic gene ad20: 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65 ration..#..targe ad30: 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52 43 29 t_source:.$(SRC)
ad40: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62   $(TOP)\tool\vdb ad50: 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66 e-compress.tcl f ad60: 74 73 35 2e 63 20 24 28 53 51 4c 49 54 45 5f 54 ts5.c$(SQLITE_T
ad70: 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 69 72 20  CL_DEP)..-rmdir
ad80: 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a  /Q/S tsrc 2>NUL.
ad90: 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09 66 6f  .-mkdir tsrc..fo
ada0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 30  r %i in ($(SRC00 adb0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 )) do copy /Y %i adc0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e tsrc..for %i in add0: 20 28 24 28 53 52 43 30 31 29 29 20 64 6f 20 63 ($(SRC01)) do c
ade0: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
adf0: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC ae00: 30 32 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 02)) do copy /Y ae10: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 %i tsrc..for %i ae20: 69 6e 20 28 24 28 53 52 43 30 33 29 29 20 64 6f in ($(SRC03)) do
ae30: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
ae40: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S ae50: 52 43 30 34 29 29 20 64 6f 20 63 6f 70 79 20 2f RC04)) do copy / ae60: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 Y %i tsrc..for % ae70: 69 20 69 6e 20 28 24 28 53 52 43 30 35 29 29 20 i in ($(SRC05))
ae80: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
ae90: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($aea0: 28 53 52 43 30 36 29 29 20 64 6f 20 63 6f 70 79 (SRC06)) do copy aeb0: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 /Y %i tsrc..for aec0: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 37 29 %i in ($(SRC07)
aed0: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i
aee0: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in
aef0: 28 24 28 53 52 43 30 38 29 29 20 64 6f 20 63 6f  ($(SRC08)) do co af00: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 py /Y %i tsrc..f af10: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 or %i in ($(SRC0
af20: 39 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  9)) do copy /Y %
af30: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
af40: 6e 20 28 24 28 53 52 43 31 30 29 29 20 64 6f 20  n ($(SRC10)) do af50: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a copy /Y %i tsrc. af60: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 .for %i in ($(SR
af70: 43 31 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C11)) do copy /Y
af80: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
af90: 20 69 6e 20 28 24 28 53 52 43 31 32 29 29 20 64   in ($(SRC12)) d afa0: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 o copy /Y %i tsr afb0: 63 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35 2e c..copy /Y fts5. afc0: 63 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 c tsrc..copy /Y afd0: 66 74 73 35 2e 68 20 74 73 72 63 0a 09 64 65 6c fts5.h tsrc..del afe0: 20 2f 51 20 74 73 72 63 5c 73 71 6c 69 74 65 2e /Q tsrc\sqlite. aff0: 68 2e 69 6e 20 74 73 72 63 5c 70 61 72 73 65 2e h.in tsrc\parse. b000: 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c 53 48 y 2>NUL..$(TCLSH
b010: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too b020: 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e l\vdbe-compress. b030: 74 63 6c 20 24 28 4f 50 54 53 29 20 3c 20 74 73 tcl$(OPTS) < ts
b040: 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 64 62 65  rc\vdbe.c > vdbe
b050: 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62 65 2e  .new..move vdbe.
b060: 6e 65 77 20 74 73 72 63 5c 76 64 62 65 2e 63 0a  new tsrc\vdbe.c.
b070: 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 65 74 5f  .echo > .target_
b080: 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65 33 2e  source..sqlite3.
b090: 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63  c:..target_sourc
b0a0: 65 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 24  e sqlite3ext.h $b0b0: 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c (MKSQLITE3C_TOOL b0c0: 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 )..$(TCLSH_CMD)
b0d0: 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f  $(MKSQLITE3C_TOO b0e0: 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f L)$(MKSQLITE3C_
b0f0: 41 52 47 53 29 0a 09 63 6f 70 79 20 74 73 72 63  ARGS)..copy tsrc
b100: 5c 73 68 65 6c 6c 2e 63 20 2e 0a 09 63 6f 70 79  \shell.c ...copy
b110: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess b120: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 ion\sqlite3sessi b130: 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d on.h ...sqlite3- b140: 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63 all.c:.sqlite3.c b150: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c$(TOP)\tool\spl
b160: 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a  it-sqlite3c.tcl.
b170: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD)$(
b180: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d  TOP)\tool\split-
b190: 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c  sqlite3c.tcl.# <
b1a0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65  </mark>>..# Rule
b1b0: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 61 6d   to build the am
b1c0: 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c  algamation.#.sql
b1d0: 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54  ite3.lo:.$(SQLIT b1e0: 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c E3C)..$(LTCOMPIL
b1f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL b200: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 53 51 4c E_OPTS) -c$(SQL
b210: 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b  ITE3C)..# <<mark
b220: 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  >>.# Rules to bu
b230: 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f  ild the LEMON co
b240: 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 74 6f 72  mpiler generator
b250: 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54  .#.lempar.c:.$(T b260: 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e OP)\tool\lempar. b270: 63 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 74 c..copy$(TOP)\t
b280: 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a  ool\lempar.c ...
b290: 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50  lemon.exe:.$(TOP b2a0: 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c )\tool\lemon.c l b2b0: 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43 29 20 empar.c..$(BCC)
b2c0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63  $(NO_WARN) -Dacc b2d0: 65 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09 ess=_access \... b2e0: 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f -Fe$@ $(TOP)\too b2f0: 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 l\lemon.c /link b300: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54$(LDFLAGS) $(NLT b310: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c LINKOPTS)$(NLTL
b320: 49 42 50 41 54 48 53 29 0a 0a 23 20 3c 3c 6d 61  IBPATHS)..# <<ma
b330: 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20  rk>>.# Rules to
b340: 62 75 69 6c 64 20 74 68 65 20 73 6f 75 72 63 65  build the source
b350: 2d 69 64 20 67 65 6e 65 72 61 74 6f 72 20 74 6f  -id generator to
b360: 6f 6c 0a 23 0a 6d 6b 73 6f 75 72 63 65 69 64 2e  ol.#.mksourceid.
b370: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool b380: 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 0a 09 24 \mksourceid.c..$
b390: 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29  (BCC) $(NO_WARN) b3a0: 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f -Fe$@ $(TOP)\to b3b0: 6f 6c 5c 6d 6b 73 6f 75 72 63 65 69 64 2e 63 20 ol\mksourceid.c b3c0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
b3d0: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20   $(NLTLINKOPTS) b3e0: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a$(NLTLIBPATHS)..
b3f0: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
b400: 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f   individual *.lo
b410: 20 66 69 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65   files from gene
b420: 72 61 74 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e  rated *.c files.
b430: 20 54 68 69 73 0a 23 20 61 70 70 6c 69 65 73 20   This.# applies
b440: 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70 61 72 73  to:.#.#     pars
b450: 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64  e.lo.#     opcod
b460: 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f  es.lo.#.parse.lo
b470: 3a 09 70 61 72 73 65 2e 63 20 24 28 48 44 52 29  :.parse.c $(HDR) b480: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $b490: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP b4a0: 54 53 29 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a TS) -c parse.c.. b4b0: 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f opcodes.lo:.opco b4c0: 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 des.c..$(LTCOMPI
b4d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI b4e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f LE_OPTS) -c opco b4f0: 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e des.c.# <</mark> b500: 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69 >..# Rule to bui b510: 6c 64 20 74 68 65 20 57 69 6e 33 32 20 72 65 73 ld the Win32 res b520: 6f 75 72 63 65 73 20 6f 62 6a 65 63 74 20 66 69 ources object fi b530: 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f le..#.!IF$(USE_
b540: 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b  RC)!=0.# <<block
b550: 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53  1>>.$(LIBRESOBJS b560: 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 ):.$(TOP)\src\sq
b570: 6c 69 74 65 33 2e 72 63 20 24 28 53 51 4c 49 54  lite3.rc $(SQLIT b580: 45 33 48 29 0a 09 65 63 68 6f 20 23 69 66 6e 64 E3H)..echo #ifnd b590: 65 66 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 ef SQLITE_RESOUR b5a0: 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c CE_VERSION > sql b5b0: 69 74 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 ite3rc.h..for /F b5c0: 20 25 25 56 20 69 6e 20 28 27 74 79 70 65 20 22 %%V in ('type " b5d0: 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27$(TOP)\VERSION"'
b5e0: 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20  ) do ( \...echo
b5f0: 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 52  #define SQLITE_R
b600: 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20  ESOURCE_VERSION
b610: 25 25 56 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c  %%V \....| $(TCL b620: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 SH_CMD)$(TOP)\t
b630: 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20  ool\replace.tcl
b640: 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71  exact . ^, >> sq
b650: 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09  lite3rc.h \..)..
b660: 65 63 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73  echo #endif >> s
b670: 71 6c 69 74 65 33 72 63 2e 68 0a 09 24 28 4c 54  qlite3rc.h..$(LT b680: 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 RCOMPILE) -fo$(
b690: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 54 4f  LIBRESOBJS) $(TO b6a0: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 P)\src\sqlite3.r b6b0: 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a c.# <</block1>>. b6c0: 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b !ENDIF..# <<mark b6d0: 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 >>.# Rules to bu b6e0: 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a ild individual * b6f0: 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 .lo files from f b700: 69 6c 65 73 20 69 6e 20 74 68 65 20 73 72 63 20 iles in the src b710: 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 directory..#.alt b720: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 er.lo:.$(TOP)\sr
b730: 63 5c 61 6c 74 65 72 2e 63 20 24 28 48 44 52 29  c\alter.c $(HDR) b740: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $b750: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP b760: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
b770: 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79  c\alter.c..analy
b780: 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ze.lo:.$(TOP)\sr b790: 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 c\analyze.c$(HD
b7a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) b7b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
b7c0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ b7d0: 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 src\analyze.c..a b7e0: 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 ttach.lo:.$(TOP)
b7f0: 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 24 28  \src\attach.c $( b800: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
b810: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL b820: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
b830: 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a  )\src\attach.c..
b840: 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  auth.lo:.$(TOP)\ b850: 73 72 63 5c 61 75 74 68 2e 63 20 24 28 48 44 52 src\auth.c$(HDR
b860: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) b870: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
b880: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s b890: 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 rc\auth.c..backu b8a0: 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 p.lo:.$(TOP)\src
b8b0: 5c 62 61 63 6b 75 70 2e 63 20 24 28 48 44 52 29  \backup.c $(HDR) b8c0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $b8d0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP b8e0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
b8f0: 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76  c\backup.c..bitv
b900: 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ec.lo:.$(TOP)\sr b910: 63 5c 62 69 74 76 65 63 2e 63 20 24 28 48 44 52 c\bitvec.c$(HDR
b920: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) b930: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
b940: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s b950: 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d rc\bitvec.c..btm b960: 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c utex.lo:.$(TOP)\
b970: 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 24 28  src\btmutex.c $( b980: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
b990: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL b9a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
b9b0: 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a  )\src\btmutex.c.
b9c0: 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50  .btree.lo:.$(TOP b9d0: 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 24 28 )\src\btree.c$(
b9e0: 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  HDR) $(TOP)\src\ b9f0: 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d pager.h..$(LTCOM
ba00: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM ba10: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
ba20: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63  TOP)\src\btree.c
ba30: 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f  ..build.lo:.$(TO ba40: 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 P)\src\build.c$
ba50: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI ba60: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
ba70: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO ba80: 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a P)\src\build.c.. ba90: 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 callback.lo:.$(T
baa0: 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b  OP)\src\callback
bab0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
bac0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C bad0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c bae0: 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62$(TOP)\src\callb
baf0: 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e  ack.c..complete.
bb00: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63  lo:.$(TOP)\src\c bb10: 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 44 52 29 omplete.c$(HDR)
bb20: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
bb30: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
bb40: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr bb50: 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 c\complete.c..ct bb60: 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ime.lo:.$(TOP)\s
bb70: 72 63 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 52  rc\ctime.c $(HDR bb80: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
bb90: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O bba0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
bbb0: 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65  rc\ctime.c..date
bbc0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ bbd0: 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 date.c$(HDR)..$bbe0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
bbf0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
bc00: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64   -c $(TOP)\src\d bc10: 61 74 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f ate.c..dbstat.lo bc20: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 :.$(TOP)\src\dat
bc30: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
bc40: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ bc50: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c bc60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74$(TOP)\src\dbst
bc70: 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a  at.c..delete.lo:
bc80: 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65  .$(TOP)\src\dele bc90: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c te.c$(HDR)..$(L bca0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
bcb0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
bcc0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c  c $(TOP)\src\del bcd0: 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 ete.c..expr.lo:. bce0: 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e$(TOP)\src\expr.
bcf0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
bd00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO bd10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
bd20: 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63  (TOP)\src\expr.c
bd30: 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f  ..fault.lo:.$(TO bd40: 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 24 P)\src\fault.c$
bd50: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI bd60: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
bd70: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO bd80: 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a 0a P)\src\fault.c.. bd90: 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c fkey.lo:.$(TOP)\
bda0: 73 72 63 5c 66 6b 65 79 2e 63 20 24 28 48 44 52  src\fkey.c $(HDR bdb0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
bdc0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O bdd0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
bde0: 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e  rc\fkey.c..func.
bdf0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66  lo:.$(TOP)\src\f be00: 75 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 unc.c$(HDR)..$( be10: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
be20: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
be30: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75  -c $(TOP)\src\fu be40: 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a nc.c..global.lo: be50: 09 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 .$(TOP)\src\glob
be60: 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  al.c $(HDR)..$(L
be70: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE be80: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - be90: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f c$(TOP)\src\glo
bea0: 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09  bal.c..hash.lo:.
beb0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e  $(TOP)\src\hash. bec0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO bed0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
bee0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $bef0: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 (TOP)\src\hash.c bf00: 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 54 ..insert.lo:.$(T
bf10: 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63  OP)\src\insert.c
bf20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
bf30: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM bf40: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
bf50: 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e  TOP)\src\insert.
bf60: 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24 28  c..legacy.lo:.$( bf70: 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e TOP)\src\legacy. bf80: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO bf90: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
bfa0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $bfb0: 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 (TOP)\src\legacy bfc0: 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 .c..loadext.lo:. bfd0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65$(TOP)\src\loade
bfe0: 78 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  xt.c $(HDR)..$(L
bff0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE c000: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - c010: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 c$(TOP)\src\loa
c020: 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a  dext.c..main.lo:
c030: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e  .$(TOP)\src\main c040: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC c050: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
c060: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
c070: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e  $(TOP)\src\main. c080: 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 c..malloc.lo:.$(
c090: 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e  TOP)\src\malloc.
c0a0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c0b0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO c0c0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
c0d0: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63  (TOP)\src\malloc
c0e0: 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54  .c..mem0.lo:.$(T c0f0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 24 OP)\src\mem0.c$
c100: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI c110: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
c120: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO c130: 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d P)\src\mem0.c..m c140: 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 em1.lo:.$(TOP)\s
c150: 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52 29  rc\mem1.c $(HDR) c160: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c170: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP c180: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
c190: 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c  c\mem1.c..mem2.l
c1a0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me c1b0: 6d 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c m2.c$(HDR)..$(L c1c0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
c1d0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c1e0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem c1f0: 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 2.c..mem3.lo:.$(
c200: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20  TOP)\src\mem3.c
c210: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c220: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c230: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
c240: 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a  OP)\src\mem3.c..
c250: 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  mem5.lo:.$(TOP)\ c260: 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44 52 src\mem5.c$(HDR
c270: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) c280: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
c290: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s c2a0: 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 6a 6f rc\mem5.c..memjo c2b0: 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 urnal.lo:.$(TOP)
c2c0: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  \src\memjournal.
c2d0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c2e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO c2f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
c300: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75  (TOP)\src\memjou
c310: 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f  rnal.c..mutex.lo
c320: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut c330: 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c ex.c$(HDR)..$(L c340: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
c350: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c360: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  c $(TOP)\src\mut c370: 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 ex.c..mutex_noop c380: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
c390: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48  mutex_noop.c $(H c3a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
c3b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE c3c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
c3d0: 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e  \src\mutex_noop.
c3e0: 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f  c..mutex_unix.lo
c3f0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut c400: 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 ex_unix.c$(HDR)
c410: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
c420: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c430: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr c440: 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a c\mutex_unix.c.. c450: 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 mutex_w32.lo:.$(
c460: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77  TOP)\src\mutex_w
c470: 33 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  32.c $(HDR)..$(L
c480: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE c490: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - c4a0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 c$(TOP)\src\mut
c4b0: 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79  ex_w32.c..notify
c4c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ c4d0: 6e 6f 74 69 66 79 2e 63 20 24 28 48 44 52 29 0a notify.c$(HDR).
c4e0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
c4f0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c500: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src c510: 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 \notify.c..pager c520: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
c530: 70 61 67 65 72 2e 63 20 24 28 48 44 52 29 20 24  pager.c $(HDR)$
c540: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
c550: 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  h..$(LTCOMPILE) c560: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
c570: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s c580: 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 rc\pager.c..pcac c590: 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 he.lo:.$(TOP)\sr
c5a0: 63 5c 70 63 61 63 68 65 2e 63 20 24 28 48 44 52  c\pcache.c $(HDR c5b0: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 )$(TOP)\src\pca
c5c0: 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49  che.h..$(LTCOMPI c5d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
c5e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO c5f0: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 0a P)\src\pcache.c. c600: 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 .pcache1.lo:.$(T
c610: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e  OP)\src\pcache1.
c620: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c  c $(HDR)$(TOP)\
c630: 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28  src\pcache.h..$( c640: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
c650: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
c660: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  -c $(TOP)\src\pc c670: 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 ache1.c..os.lo:. c680: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20$(TOP)\src\os.c
c690: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c6a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c6b0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
c6c0: 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73  OP)\src\os.c..os
c6d0: 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  _unix.lo:.$(TOP) c6e0: 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 \src\os_unix.c$
c6f0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI c700: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
c710: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO c720: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 P)\src\os_unix.c c730: 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 ..os_win.lo:.$(T
c740: 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63  OP)\src\os_win.c
c750: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c760: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM c770: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
c780: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e  TOP)\src\os_win.
c790: 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28  c..pragma.lo:.$( c7a0: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e TOP)\src\pragma. c7b0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO c7c0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
c7d0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $c7e0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 (TOP)\src\pragma c7f0: 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 .c..prepare.lo:. c800: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61$(TOP)\src\prepa
c810: 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  re.c $(HDR)..$(L
c820: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE c830: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - c840: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 c$(TOP)\src\pre
c850: 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c  pare.c..printf.l
c860: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  o:.$(TOP)\src\pr c870: 69 6e 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 intf.c$(HDR)..$c880: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
c890: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
c8a0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p c8b0: 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e rintf.c..random. c8c0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 lo:.$(TOP)\src\r
c8d0: 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09  andom.c $(HDR).. c8e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C c8f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS c900: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
c910: 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76  random.c..resolv
c920: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src c930: 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 \resolve.c$(HDR
c940: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) c950: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
c960: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s c970: 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f rc\resolve.c..ro c980: 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c wset.lo:.$(TOP)\
c990: 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 24 28 48  src\rowset.c $(H c9a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
c9b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE c9c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
c9d0: 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73  \src\rowset.c..s
c9e0: 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  elect.lo:.$(TOP) c9f0: 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 \src\select.c$(
ca00: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL ca10: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
ca20: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP ca30: 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a )\src\select.c.. ca40: 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 status.lo:.$(TOP
ca50: 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24  )\src\status.c $ca60: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
ca70: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI ca80: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
ca90: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 0a  P)\src\status.c.
caa0: 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50  .table.lo:.$(TOP cab0: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 )\src\table.c$(
cac0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL cad0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
cae0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP caf0: 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 )\src\table.c..t cb00: 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 hreads.lo:.$(TOP
cb10: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20  )\src\threads.c
cb20: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
cb30: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP cb40: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
cb50: 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e  OP)\src\threads.
cb60: 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09  c..tokenize.lo:.
cb70: 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e  $(TOP)\src\token cb80: 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 ize.c keywordhas cb90: 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28 4c 54 h.h$(HDR)..$(LT cba0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
cbb0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cbc0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65   $(TOP)\src\toke cbd0: 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 nize.c..treeview cbe0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
cbf0: 74 72 65 65 76 69 65 77 2e 63 20 24 28 48 44 52  treeview.c $(HDR cc00: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
cc10: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O cc20: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
cc30: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a 74  rc\treeview.c..t
cc40: 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50  rigger.lo:.$(TOP cc50: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 )\src\trigger.c cc60: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP cc70: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
cc80: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T cc90: 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e OP)\src\trigger. cca0: 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 c..update.lo:.$(
ccb0: 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e  TOP)\src\update.
ccc0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ccd0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO cce0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
ccf0: 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65  (TOP)\src\update
cd00: 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f  .c..utf.lo:.$(TO cd10: 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 48 P)\src\utf.c$(H
cd20: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE cd30: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
cd40: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) cd50: 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 6c \src\utf.c..util cd60: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
cd70: 75 74 69 6c 2e 63 20 24 28 48 44 52 29 0a 09 24  util.c $(HDR)..$
cd80: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO cd90: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) cda0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 -c$(TOP)\src\u
cdb0: 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f  til.c..vacuum.lo
cdc0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63  :.$(TOP)\src\vac cdd0: 75 75 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 uum.c$(HDR)..$( cde0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
cdf0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
ce00: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61  -c $(TOP)\src\va ce10: 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a cuum.c..vdbe.lo: ce20: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 .$(TOP)\src\vdbe
ce30: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
ce40: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C ce50: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c ce60: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e$(TOP)\src\vdbe.
ce70: 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09 24  c..vdbeapi.lo:.$ce80: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 (TOP)\src\vdbeap ce90: 69 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 i.c$(HDR)..$(LT cea0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
ceb0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
cec0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe ced0: 61 70 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e 6c api.c..vdbeaux.l cee0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 o:.$(TOP)\src\vd
cef0: 62 65 61 75 78 2e 63 20 24 28 48 44 52 29 0a 09  beaux.c $(HDR).. cf00: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C cf10: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS cf20: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
cf30: 76 64 62 65 61 75 78 2e 63 0a 0a 76 64 62 65 62  vdbeaux.c..vdbeb
cf40: 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  lob.lo:.$(TOP)\s cf50: 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 rc\vdbeblob.c$(
cf60: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL cf70: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
cf80: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP cf90: 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 )\src\vdbeblob.c cfa0: 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 ..vdbemem.lo:.$(
cfb0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d  TOP)\src\vdbemem
cfc0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
cfd0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C cfe0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c cff0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d$(TOP)\src\vdbem
d000: 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e 6c  em.c..vdbesort.l
d010: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  o:.$(TOP)\src\vd d020: 62 65 73 6f 72 74 2e 63 20 24 28 48 44 52 29 0a besort.c$(HDR).
d030: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d040: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d050: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src d060: 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 \vdbesort.c..vdb d070: 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 etrace.lo:.$(TOP
d080: 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e  )\src\vdbetrace.
d090: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
d0a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO d0b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
d0c0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72  (TOP)\src\vdbetr
d0d0: 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a 09  ace.c..vtab.lo:.
d0e0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e  $(TOP)\src\vtab. d0f0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO d100: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d110: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $d120: 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 (TOP)\src\vtab.c d130: 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 ..wal.lo:.$(TOP)
d140: 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28 48 44 52  \src\wal.c $(HDR d150: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
d160: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O d170: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
d180: 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72  rc\wal.c..walker
d190: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ d1a0: 77 61 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 0a walker.c$(HDR).
d1b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d1c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d1d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src d1e0: 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 65 \walker.c..where d1f0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
d200: 77 68 65 72 65 2e 63 20 24 28 48 44 52 29 0a 09  where.c $(HDR).. d210: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d220: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d230: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d240: 77 68 65 72 65 2e 63 0a 0a 77 68 65 72 65 63 6f  where.c..whereco
d250: 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  de.lo:.$(TOP)\sr d260: 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 20 24 28 c\wherecode.c$(
d270: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d280: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d290: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP d2a0: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e )\src\wherecode. d2b0: 63 0a 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f 3a c..whereexpr.lo: d2c0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 .$(TOP)\src\wher
d2d0: 65 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09  eexpr.c $(HDR).. d2e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C d2f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS d300: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
d310: 77 68 65 72 65 65 78 70 72 2e 63 0a 0a 74 63 6c  whereexpr.c..tcl
d320: 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50  sqlite.lo:.$(TOP d330: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e )\src\tclsqlite. d340: 63 20 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 c$(HDR) $(SQLIT d350: 45 5f 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 E_TCL_DEP)..$(LT
d360: 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41  COMPILE) $(NO_WA d370: 52 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53 54 RN) -DUSE_TCL_ST d380: 55 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 UBS=1 -DBUILD_sq d390: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 lite -I$(TCLINCD
d3a0: 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  IR) -c $(TOP)\sr d3b0: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 c\tclsqlite.c..t d3c0: 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c clsqlite-shell.l d3d0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 o:.$(TOP)\src\tc
d3e0: 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29  lsqlite.c $(HDR) d3f0: 20 24 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45$(SQLITE_TCL_DE
d400: 50 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  P)..$(LTCOMPILE) d410: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 43$(NO_WARN) -DTC
d420: 4c 53 48 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71  LSH=1 -DBUILD_sq
d430: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD d440: 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 IR) -c$(TOP)\sr
d450: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74  c\tclsqlite.c..t
d460: 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a 09 74  clsqlite3.exe:.t
d470: 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c  clsqlite-shell.l
d480: 6f 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  o $(SQLITE3C)$(
d490: 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52  SQLITE3H) $(LIBR d4a0: 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e ESOBJS)..$(LTLIN
d4b0: 4b 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  K) $(SQLITE3C) / d4c0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
d4d0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS)$(
d4e0: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54  LTLIBPATHS) /OUT
d4f0: 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2d 73 68  :$@ tclsqlite-sh d500: 65 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f ell.lo$(LIBRESO
d510: 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24  BJS) $(LTLIBS)$
d520: 28 54 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65 73  (TLIBS)..# Rules
d530: 20 74 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64 65   to build opcode
d540: 73 2e 63 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e  s.c and opcodes.
d550: 68 0a 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f  h.#.opcodes.c:.o
d560: 70 63 6f 64 65 73 2e 68 20 24 28 54 4f 50 29 5c  pcodes.h $(TOP)\ d570: 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 tool\mkopcodec.t d580: 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 cl..$(TCLSH_CMD)
d590: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f   $(TOP)\tool\mko d5a0: 70 63 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 pcodec.tcl opcod d5b0: 65 73 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 es.h > opcodes.c d5c0: 0a 0a 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 ..opcodes.h:.par d5d0: 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c se.h$(TOP)\src\
d5e0: 76 64 62 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f  vdbe.c $(TOP)\to d5f0: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c ol\mkopcodeh.tcl d600: 0a 09 74 79 70 65 20 70 61 72 73 65 2e 68 20 24 ..type parse.h$
d610: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63  (TOP)\src\vdbe.c
d620: 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20   | $(TCLSH_CMD) d630: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70$(TOP)\tool\mkop
d640: 63 6f 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f  codeh.tcl > opco
d650: 64 65 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74  des.h..# Rules t
d660: 6f 20 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20  o build parse.c
d670: 61 6e 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68  and parse.h - th
d680: 65 20 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d  e outputs of lem
d690: 6f 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70  on..#.parse.h:.p
d6a0: 61 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a  arse.c..parse.c:
d6b0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73  .$(TOP)\src\pars d6c0: 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 e.y lemon.exe$(
d6d0: 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63  TOP)\tool\addopc
d6e0: 6f 64 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51  odes.tcl..del /Q
d6f0: 20 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68   parse.y parse.h
d700: 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e   parse.h.temp 2>
d710: 4e 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29  NUL..copy $(TOP) d720: 5c 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 \src\parse.y ... d730: 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 .\lemon.exe$(RE
d740: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  Q_FEATURE_FLAGS)
d750: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46   $(OPT_FEATURE_F d760: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 LAGS)$(EXT_FEAT
d770: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT d780: 53 29 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 S) parse.y..move d790: 20 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 parse.h parse.h d7a0: 2e 74 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 .temp..$(TCLSH_C
d7b0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ d7c0: 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 addopcodes.tcl p d7d0: 61 72 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 arse.h.temp > pa d7e0: 72 73 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 rse.h..$(SQLITE3
d7f0: 48 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73  H):.$(TOP)\src\s d800: 71 6c 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 qlite.h.in$(TOP
d810: 29 5c 6d 61 6e 69 66 65 73 74 20 6d 6b 73 6f 75  )\manifest mksou
d820: 72 63 65 69 64 2e 65 78 65 20 24 28 54 4f 50 29  rceid.exe $(TOP) d830: 5c 56 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 \VERSION..$(TCLS
d840: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to d850: 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 ol\mksqlite3h.tc d860: 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 l$(TOP:\=/) > $d870: 28 53 51 4c 49 54 45 33 48 29 20 24 28 4d 4b 53 (SQLITE3H)$(MKS
d880: 51 4c 49 54 45 33 48 5f 41 52 47 53 29 0a 0a 73  QLITE3H_ARGS)..s
d890: 71 6c 69 74 65 33 65 78 74 2e 68 3a 09 2e 74 61  qlite3ext.h:..ta
d8a0: 72 67 65 74 5f 73 6f 75 72 63 65 0a 21 49 46 20  rget_source.!IF
d8b0: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d  $(USE_STDCALL)!= d8c0: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 0 ||$(FOR_WIN10
d8d0: 29 21 3d 30 0a 09 74 79 70 65 20 74 73 72 63 5c  )!=0..type tsrc\
d8e0: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 7c 20 24  sqlite3ext.h | $d8f0: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
d900: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e  P)\tool\replace.
d910: 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a  tcl regsub "$$\* d920: 5c 29 22 20 22 28 53 51 4c 49 54 45 5f 43 41 4c$$" "(SQLITE_CAL
d930: 4c 42 41 43 4b 20 2a 29 22 20 5c 0a 09 09 7c 20  LBACK *)" \...|
d940: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD)$(T
d950: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65  OP)\tool\replace
d960: 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c 28 5c  .tcl regsub "\(\
d970: 2a 22 20 22 28 53 51 4c 49 54 45 5f 41 50 49 43  *" "(SQLITE_APIC
d980: 41 4c 4c 20 2a 22 20 3e 20 73 71 6c 69 74 65 33  ALL *" > sqlite3
d990: 65 78 74 2e 68 0a 09 63 6f 70 79 20 2f 59 20 73  ext.h..copy /Y s
d9a0: 71 6c 69 74 65 33 65 78 74 2e 68 20 74 73 72 63  qlite3ext.h tsrc
d9b0: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45  \sqlite3ext.h.!E
d9c0: 4c 53 45 0a 09 63 6f 70 79 20 2f 59 20 74 73 72  LSE..copy /Y tsr
d9d0: 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 73  c\sqlite3ext.h s
d9e0: 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 45 4e 44  qlite3ext.h.!END
d9f0: 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73  IF..mkkeywordhas
da00: 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  h.exe:.$(TOP)\to da10: 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 ol\mkkeywordhash da20: 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f .c..$(BCC) $(NO_ da30: 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 52 45 WARN) -Fe$@ $(RE da40: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 Q_FEATURE_FLAGS) da50: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46$(OPT_FEATURE_F
da60: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT da70: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 URE_FLAGS)$(OPT
da80: 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f  S) \...$(TOP)\to da90: 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 ol\mkkeywordhash daa0: 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 .c /link$(LDFLA
dab0: 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54  GS) $(NLTLINKOPT dac0: 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 S)$(NLTLIBPATHS
dad0: 29 0a 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e 68  )..keywordhash.h
dae0: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  :.$(TOP)\tool\mk daf0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b keywordhash.c mk db00: 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 0a keywordhash.exe. db10: 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 ..\mkkeywordhash db20: 2e 65 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 .exe > keywordha db30: 73 68 2e 68 0a 0a 0a 0a 23 20 52 75 6c 65 73 20 sh.h....# Rules db40: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78 74 to build the ext db50: 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a ension objects.. db60: 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 #.icu.lo:.$(TOP)
db70: 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 24  \ext\icu\icu.c $db80: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
db90: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
dba0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
dbb0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D dbc0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
dbd0: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63  (TOP)\ext\icu\ic
dbe0: 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28  u.c..fts2.lo:.$( dbf0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft dc00: 73 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 s2.c$(HDR) $(EX dc10: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
dc20: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI dc30: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
dc40: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
dc50: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ dc60: 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73 fts2\fts2.c..fts dc70: 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 2_hash.lo:.$(TOP
dc80: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
dc90: 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28  hash.c $(HDR)$(
dca0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM dcb0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
dcc0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ dcd0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C dce0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
dcf0: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68  t\fts2\fts2_hash
dd00: 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a  .c..fts2_icu.lo:
dd10: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32  .$(TOP)\ext\fts2 dd20: 5c 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48 44 \fts2_icu.c$(HD
dd30: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
dd40: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR dd50: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) dd60: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
dd70: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO dd80: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 dd90: 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72 _icu.c..fts2_por dda0: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 ter.lo:.$(TOP)\e
ddb0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72  xt\fts2\fts2_por
ddc0: 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45  ter.c $(HDR)$(E
ddd0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP dde0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
ddf0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W de00: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO de10: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
de20: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65  \fts2\fts2_porte
de30: 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69  r.c..fts2_tokeni
de40: 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  zer.lo:.$(TOP)\e de50: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b xt\fts2\fts2_tok de60: 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 enizer.c$(HDR)
de70: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
de80: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C de90: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
dea0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
deb0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ dec0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f ext\fts2\fts2_to ded0: 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f kenizer.c..fts2_ dee0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 tokenizer1.lo:.$
def0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
df00: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts2_tokenizer1.c
df10: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
df20: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) df30: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
df40: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) df50: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c df60: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
df70: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts2_tokenizer1
df80: 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54  .c..fts3.lo:.$(T df90: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts dfa0: 33 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 3.c$(HDR) $(EXT dfb0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
dfc0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL dfd0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
dfe0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
dff0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f e000: 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33 ts3\fts3.c..fts3 e010: 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c _aux.lo:.$(TOP)\
e020: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75  ext\fts3\fts3_au
e030: 78 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  x.c $(HDR)$(EXT
e040: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL e050: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
e060: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR e070: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE e080: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
e090: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a  ts3\fts3_aux.c..
e0a0: 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28  fts3_expr.lo:.$( e0b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft e0c0: 73 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52 29 s3_expr.c$(HDR)
e0d0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
e0e0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ e0f0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
e100: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
e110: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) e120: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 \ext\fts3\fts3_e e130: 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68 xpr.c..fts3_hash e140: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
e150: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63  fts3\fts3_hash.c
e160: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
e170: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) e180: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
e190: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) e1a0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c e1b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
e1c0: 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74  \fts3_hash.c..ft
e1d0: 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50  s3_icu.lo:.$(TOP e1e0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ e1f0: 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 icu.c$(HDR) $(E e200: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
e210: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP e220: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
e230: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
e240: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext e250: 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 \fts3\fts3_icu.c e260: 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c ..fts3_snippet.l e270: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 o:.$(TOP)\ext\ft
e280: 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  s3\fts3_snippet.
e290: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
e2a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e2b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e2c0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) e2d0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - e2e0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
e2f0: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
e300: 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f  ..fts3_porter.lo
e310: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts e320: 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 3\fts3_porter.c e330: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) e340: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $e350: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP e360: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
e370: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
e380: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ e390: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 fts3_porter.c..f e3a0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f ts3_tokenizer.lo e3b0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
e3c0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
e3d0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
e3e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE e3f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
e400: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN e410: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE e420: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
e430: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
e440: 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69  r.c..fts3_tokeni
e450: 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  zer1.lo:.$(TOP)\ e460: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f ext\fts3\fts3_to e470: 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 kenizer1.c$(HDR
e480: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
e490: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE e4a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
e4b0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
e4c0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP e4d0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ e4e0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 tokenizer1.c..ft e4f0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 s3_tokenize_vtab e500: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
e510: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
e520: 7a 65 5f 76 74 61 62 2e 63 20 24 28 48 44 52 29  ze_vtab.c $(HDR) e530: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT e540: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
e550: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( e560: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT e570: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
e580: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
e590: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a  okenize_vtab.c..
e5a0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a  fts3_unicode.lo:
e5b0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3 e5c0: 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 \fts3_unicode.c e5d0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) e5e0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $e5f0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP e600: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
e610: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
e620: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ e630: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a fts3_unicode.c.. e640: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f fts3_unicode2.lo e650: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
e660: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
e670: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
e680: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e690: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e6a0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) e6b0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - e6c0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
e6d0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e  3\fts3_unicode2.
e6e0: 63 0a 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f  c..fts3_write.lo
e6f0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts e700: 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 24 3\fts3_write.c$
e710: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). e720: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( e730: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT e740: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
e750: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $e760: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f e770: 74 73 33 5f 77 72 69 74 65 2e 63 0a 0a 72 74 72 ts3_write.c..rtr e780: 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 ee.lo:.$(TOP)\ex
e790: 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 63 20  t\rtree\rtree.c
e7a0: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
e7b0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
e7c0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
e7d0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - e7e0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c e7f0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65$(TOP)\ext\rtree
e800: 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c 69 74 65  \rtree.c..sqlite
e810: 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 24 28 54  3session.lo:.$(T e820: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c OP)\ext\session\ e830: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 sqlite3session.c e840: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR e850: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
e860: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O e870: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
e880: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
e890: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess e8a0: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 ion\sqlite3sessi e8b0: 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20 74 68 69 on.c..# FTS5 thi e8c0: 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43 20 3d ngs.#.FTS5_SRC = e8d0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
e8e0: 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a 20  \fts5\fts5.h \.
e8f0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts e900: 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20 20 5\fts5Int.h \. e910: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35$(TOP)\ext\fts5
e920: 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20 20  \fts5_aux.c \.
e930: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 e940: 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63 20 5c \fts5_buffer.c \ e950: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 .$(TOP)\ext\f
e960: 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63 20  ts5\fts5_main.c
e970: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\ e980: 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69 67 fts5\fts5_config e990: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
e9a0: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65 78 70  xt\fts5\fts5_exp
e9b0: 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  r.c \.   $(TOP)\ e9c0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 68 61 ext\fts5\fts5_ha e9d0: 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 sh.c \.$(TOP)
e9e0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 69  \ext\fts5\fts5_i
e9f0: 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74 73 35  ndex.c \.   fts5
ea00: 70 61 72 73 65 2e 63 20 66 74 73 35 70 61 72 73  parse.c fts5pars
ea10: 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  e.h \.   $(TOP)\ ea20: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 73 74 ext\fts5\fts5_st ea30: 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24 28 54 orage.c \.$(T
ea40: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
ea50: 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20  5_tokenize.c \.
ea60: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts ea70: 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65 32 2e 5\fts5_unicode2. ea80: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 c \.$(TOP)\ex
ea90: 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61 72 69  t\fts5\fts5_vari
eaa0: 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  nt.c \.   $(TOP) eab0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 \ext\fts5\fts5_v eac0: 6f 63 61 62 2e 63 0a 0a 66 74 73 35 70 61 72 73 ocab.c..fts5pars ead0: 65 2e 63 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c e.c:.$(TOP)\ext\
eae0: 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79  fts5\fts5parse.y
eaf0: 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70 79   lemon.exe..copy
eb00: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 eb10: 5c 66 74 73 35 70 61 72 73 65 2e 79 20 2e 0a 09 \fts5parse.y ... eb20: 64 65 6c 20 2f 51 20 66 74 73 35 70 61 72 73 65 del /Q fts5parse eb30: 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f .h 2>NUL...\lemo eb40: 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41 54 n.exe$(REQ_FEAT
eb50: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT eb60: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) eb70: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c$(EXT_FEATURE_FL
eb80: 41 47 53 29 20 24 28 4f 50 54 53 29 20 66 74 73  AGS) $(OPTS) fts eb90: 35 70 61 72 73 65 2e 79 0a 0a 66 74 73 35 70 61 5parse.y..fts5pa eba0: 72 73 65 2e 68 3a 09 66 74 73 35 70 61 72 73 65 rse.h:.fts5parse ebb0: 2e 63 0a 0a 66 74 73 35 2e 63 3a 09 24 28 46 54 .c..fts5.c:.$(FT
ebc0: 53 35 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48  S5_SRC)..$(TCLSH ebd0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78 74 _CMD)$(TOP)\ext
ebe0: 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73  \fts5\tool\mkfts
ebf0: 35 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 54  5c.tcl..copy $(T ec00: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts ec10: 35 2e 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 5.h ...fts5.lo:. ec20: 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 fts5.c$(HDR) $( ec30: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
ec40: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM ec50: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
ec60: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
ec70: 4f 52 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66  ORE -c fts5.c..f
ec80: 74 73 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35  ts5_ext.lo:.fts5
ec90: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
eca0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE ecb0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 )$(NO_WARN) -c
ecc0: 66 74 73 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c  fts5.c..fts5.dll
ecd0: 3a 09 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24  :.fts5_ext.lo..$ece0: 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 (LD)$(LDFLAGS)
ecf0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS)$(
ed00: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c  LTLIBPATHS) /DLL
ed10: 20 2f 4f 55 54 3a 24 40 20 66 74 73 35 5f 65 78   /OUT:$@ fts5_ex ed20: 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 t.lo..sqlite3rbu ed30: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
ed40: 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63  rbu\sqlite3rbu.c
ed50: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
ed60: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) ed70: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c ed80: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c$(TOP)\ext\rbu\
ed90: 73 71 6c 69 74 65 33 72 62 75 2e 63 0a 0a 23 20  sqlite3rbu.c..#
eda0: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74  Rules to build t
edb0: 68 65 20 27 74 65 73 74 66 69 78 74 75 72 65 27  he 'testfixture'
edc0: 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a   application..#.
edd0: 23 20 49 66 20 75 73 69 6e 67 20 74 68 65 20 61  # If using the a
ede0: 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65  malgamation, use
edf0: 20 73 71 6c 69 74 65 33 2e 63 20 64 69 72 65 63   sqlite3.c direc
ee00: 74 6c 79 20 74 6f 20 62 75 69 6c 64 20 74 68 65  tly to build the
ee10: 20 74 65 73 74 0a 23 20 66 69 78 74 75 72 65 2e   test.# fixture.
ee20: 20 20 4f 74 68 65 72 77 69 73 65 20 6c 69 6e 6b    Otherwise link
ee30: 20 61 67 61 69 6e 73 74 20 6c 69 62 73 71 6c 69   against libsqli
ee40: 74 65 33 2e 6c 69 62 2e 20 20 28 54 68 69 73 20  te3.lib.  (This
ee50: 64 69 73 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23  distinction is.#
ee60: 20 6e 65 63 65 73 73 61 72 79 20 62 65 63 61 75   necessary becau
ee70: 73 65 20 74 68 65 20 74 65 73 74 20 66 69 78 74  se the test fixt
ee80: 75 72 65 20 72 65 71 75 69 72 65 73 20 6e 6f 6e  ure requires non
ee90: 2d 41 50 49 20 73 79 6d 62 6f 6c 73 20 77 68 69  -API symbols whi
eea0: 63 68 20 61 72 65 0a 23 20 68 69 64 64 65 6e 20  ch are.# hidden
eeb0: 77 68 65 6e 20 74 68 65 20 6c 69 62 72 61 72 79  when the library
eec0: 20 69 73 20 62 75 69 6c 74 20 76 69 61 20 74 68   is built via th
eed0: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e  e amalgamation).
eee0: 0a 23 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  .#.TESTFIXTURE_F
eef0: 4c 41 47 53 20 3d 20 2d 44 54 43 4c 53 48 3d 31  LAGS = -DTCLSH=1
ef00: 20 2d 44 53 51 4c 49 54 45 5f 54 45 53 54 3d 31   -DSQLITE_TEST=1
ef10: 20 2d 44 53 51 4c 49 54 45 5f 43 52 41 53 48 5f   -DSQLITE_CRASH_
ef20: 54 45 53 54 3d 31 0a 54 45 53 54 46 49 58 54 55  TEST=1.TESTFIXTU
ef30: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES ef40: 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 TFIXTURE_FLAGS) ef50: 2d 44 53 51 4c 49 54 45 5f 53 45 52 56 45 52 3d -DSQLITE_SERVER= ef60: 31 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 56 41 1 -DSQLITE_PRIVA ef70: 54 45 3d 22 22 0a 54 45 53 54 46 49 58 54 55 52 TE="".TESTFIXTUR ef80: 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 E_FLAGS =$(TEST
ef90: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FIXTURE_FLAGS) -
efa0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 24 28 4e  DSQLITE_CORE $(N efb0: 4f 5f 57 41 52 4e 29 0a 54 45 53 54 46 49 58 54 O_WARN).TESTFIXT efc0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 URE_FLAGS =$(TE
efd0: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
efe0: 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 49 45 53   -DSQLITE_SERIES
eff0: 5f 43 4f 4e 53 54 52 41 49 4e 54 5f 56 45 52 49  _CONSTRAINT_VERI
f000: 46 59 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45  FY=1.TESTFIXTURE
f010: 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46  _FLAGS = $(TESTF f020: 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 IXTURE_FLAGS) -D f030: 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 50 SQLITE_DEFAULT_P f040: 41 47 45 5f 53 49 5a 45 3d 31 30 32 34 0a 54 45 AGE_SIZE=1024.TE f050: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 STFIXTURE_FLAGS f060: 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f =$(TESTFIXTURE_
f070: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
f080: 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 0a  ENABLE_STMTVTAB.
f090: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
f0a0: 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR f0b0: 45 5f 46 4c 41 47 53 29 20 24 28 54 45 53 54 5f E_FLAGS)$(TEST_
f0c0: 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45 53  CCONV_OPTS)..TES
f0d0: 54 46 49 58 54 55 52 45 5f 53 52 43 30 20 3d 20  TFIXTURE_SRC0 =
f0e0: 24 28 54 45 53 54 45 58 54 29 20 24 28 54 45 53  $(TESTEXT)$(TES
f0f0: 54 53 52 43 32 29 0a 54 45 53 54 46 49 58 54 55  TSRC2).TESTFIXTU
f100: 52 45 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54  RE_SRC1 = $(TEST f110: 45 58 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 EXT)$(SQLITE3C)
f120: 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47  .!IF $(USE_AMALG f130: 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 AMATION)==0.TEST f140: 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 FIXTURE_SRC =$(
f150: 54 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c  TESTSRC) $(TOP)\ f160: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 src\tclsqlite.c f170: 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52$(TESTFIXTURE_SR
f180: 43 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49  C0).!ELSE.TESTFI
f190: 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45  XTURE_SRC = $(TE f1a0: 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 STSRC)$(TOP)\sr
f1b0: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $( f1c0: 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 TESTFIXTURE_SRC1 f1d0: 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 ).!ENDIF..!IF$(
f1e0: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20  USE_STDCALL)!=0
f1f0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)! f200: 3d 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 =0.sqlite_tclDec f210: 6c 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 6e ls.h:..echo #ifn f220: 64 65 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 def SQLITE_TCLAP f230: 49 20 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 I >$(SQLITETCLD
f240: 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 20 20  ECLSH)..echo #
f250: 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 54 43  define SQLITE_TC
f260: 4c 41 50 49 20 3e 3e 20 24 28 53 51 4c 49 54 45  LAPI >> $(SQLITE f270: 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f TCLDECLSH)..echo f280: 20 23 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 4c #endif >>$(SQL
f290: 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 74  ITETCLDECLSH)..t
f2a0: 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49 52  ype "$(TCLINCDIR f2b0: 29 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c 0a )\tclDecls.h" \. f2c0: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
f2d0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep f2e0: 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 lace.tcl regsub f2f0: 22 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f 4e "^(EXTERN(?: CON f300: 53 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c 28 ST\d+?)?\s+?[^\( f310: 5d 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 5c ]*?\s+?)Tcl_" "\ f320: 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 1 SQLITE_TCLAPI f330: 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 Tcl_" \...|$(TC
f340: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ f350: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c tool\replace.tcl f360: 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 52 regsub "^(EXTER f370: 4e 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f 49 N\s+?(?:void|VOI f380: 44 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f 62 D)\s+?)TclFreeOb f390: 6a 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 j" "\1 SQLITE_TC f3a0: 4c 41 50 49 20 54 63 6c 46 72 65 65 4f 62 6a 22 LAPI TclFreeObj" f3b0: 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 \...|$(TCLSH_C
f3c0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  MD) $(TOP)\tool\ f3d0: 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 replace.tcl regs f3e0: 75 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 28 ub "\(\*tcl_" "( f3f0: 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 74 SQLITE_TCLAPI *t f400: 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c cl_" \...|$(TCL
f410: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t f420: 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 ool\replace.tcl f430: 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 46 regsub "\(\*tclF f440: 72 65 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 45 reeObj" "(SQLITE f450: 5f 54 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 65 _TCLAPI *tclFree f460: 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c Obj" \...|$(TCL
f470: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t f480: 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 ool\replace.tcl f490: 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 28 regsub "\(\*" "( f4a0: 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 22 SQLITE_TCLAPI *" f4b0: 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 44 >>$(SQLITETCLD
f4c0: 45 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f 74  ECLSH)..sqlite_t
f4d0: 63 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24 28 54  cl.h:..type "$(T f4e0: 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 22 CLINCDIR)\tcl.h" f4f0: 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 |$(TCLSH_CMD)
f500: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl f510: 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 74 63 ace.tcl exact tc f520: 6c 44 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 5f lDecls.h sqlite_ f530: 74 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 7c tclDecls.h \...| f540: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28$(TCLSH_CMD) $( f550: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 TOP)\tool\replac f560: 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 74 79 e.tcl regsub "ty f570: 70 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 6c pedef (.*?)\(Tcl f580: 5f 22 20 22 74 79 70 65 64 65 66 20 5c 31 20 28 _" "typedef \1 ( f590: 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 63 SQLITE_TCLAPI Tc f5a0: 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 l_" \...|$(TCLS
f5b0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to f5c0: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 ol\replace.tcl e f5d0: 78 61 63 74 20 22 76 6f 69 64 20 28 2a 66 72 65 xact "void (*fre f5e0: 65 50 72 6f 63 29 22 20 22 76 6f 69 64 20 28 53 eProc)" "void (S f5f0: 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 72 QLITE_TCLAPI *fr f600: 65 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 24 eeProc)" \...|$
f610: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO f620: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e P)\tool\replace. f630: 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f 48 tcl exact "Tcl_H f640: 61 73 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e 64 ashEntry *(*find f650: 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 68 Proc)" "Tcl_Hash f660: 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 Entry *(SQLITE_T f670: 43 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 29 CLAPI *findProc) f680: 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f " \...|$(TCLSH_
f690: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool f6a0: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 \replace.tcl exa f6b0: 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 ct "Tcl_HashEntr f6c0: 79 20 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 29 y *(*createProc) f6d0: 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 79 " "Tcl_HashEntry f6e0: 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 *(SQLITE_TCLAPI f6f0: 20 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 3e *createProc)" > f700: 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a >$(SQLITETCLH).
f710: 21 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74  !ENDIF..testfixt
f720: 75 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46  ure.exe:.$(TESTF f730: 49 58 54 55 52 45 5f 53 52 43 29 20 24 28 53 51 IXTURE_SRC)$(SQ
f740: 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53  LITE3H) $(LIBRES f750: 4f 42 4a 53 29 20 24 28 48 44 52 29 20 24 28 53 OBJS)$(HDR) $(S f760: 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 QLITE_TCL_DEP).. f770: 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49$(LTLINK) -DSQLI
f780: 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54  TE_NO_SYNC=1 $(T f790: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 ESTFIXTURE_FLAGS f7a0: 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71 ) \...-DBUILD_sq f7b0: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 lite -I$(TCLINCD
f7c0: 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46 49  IR) \...$(TESTFI f7d0: 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f XTURE_SRC) \.../ f7e0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
f7f0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS)$(
f800: 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49  LTLIBPATHS) $(LI f810: 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 BRESOBJS)$(LTLI
f820: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 65 78  BS) $(TLIBS)..ex f830: 74 65 6e 73 69 6f 6e 74 65 73 74 3a 09 74 65 73 tensiontest:.tes f840: 74 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 tfixture.exe tes f850: 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40 73 tloadext.dll..@s f860: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c et PATH=$(LIBTCL
f870: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)... f880: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 \testfixture.exe f890: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f 61$(TOP)\test\loa
f8a0: 64 65 78 74 2e 74 65 73 74 20 24 28 54 45 53 54  dext.test $(TEST f8b0: 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 3a OPTS)..fulltest: f8c0: 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 .$(TESTPROGS) fu
f8d0: 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54  zztest..@set PAT
f8e0: 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH); f8f0: 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66$(PATH)...\testf
f900: 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP f910: 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 )\test\all.test f920: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f 61$(TESTOPTS)..soa
f930: 6b 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f  ktest:.$(TESTPRO f940: 47 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 GS)..@set PATH=$
f950: 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P f960: 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 ATH)...\testfixt f970: 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 ure.exe$(TOP)\t
f980: 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73 6f  est\all.test -so
f990: 61 6b 3d 31 20 24 28 54 45 53 54 4f 50 54 53 29  ak=1 $(TESTOPTS) f9a0: 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 ..fulltestonly:. f9b0: 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a$(TESTPROGS) fuz
f9c0: 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48  ztest..@set PATH
f9d0: 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24  =$(LIBTCLPATH);$
f9e0: 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69  (PATH)...\testfi
f9f0: 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29  xture.exe $(TOP) fa00: 5c 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74 0a \test\full.test. fa10: 0a 71 75 65 72 79 70 6c 61 6e 74 65 73 74 3a 09 .queryplantest:. fa20: 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 testfixture.exe fa30: 73 68 65 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 shell..@set PATH fa40: 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 =$(LIBTCLPATH);$fa50: 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 (PATH)...\testfi fa60: 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 xture.exe$(TOP)
fa70: 5c 74 65 73 74 5c 70 65 72 6d 75 74 61 74 69 6f  \test\permutatio
fa80: 6e 73 2e 74 65 73 74 20 71 75 65 72 79 70 6c 61  ns.test querypla
fa90: 6e 6e 65 72 20 24 28 54 45 53 54 4f 50 54 53 29  nner $(TESTOPTS) faa0: 0a 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a ..fuzztest:.fuzz fab0: 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a check.exe...\fuz fac0: 7a 63 68 65 63 6b 2e 65 78 65 20 24 28 46 55 5a zcheck.exe$(FUZ
fad0: 5a 44 41 54 41 29 0a 0a 66 61 73 74 66 75 7a 7a  ZDATA)..fastfuzz
fae0: 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e  test:.fuzzcheck.
faf0: 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b  exe...\fuzzcheck
fb00: 2e 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d  .exe --limit-mem
fb10: 20 31 30 30 4d 20 24 28 46 55 5a 5a 44 41 54 41   100M $(FUZZDATA fb20: 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 )..# Minimal tes fb30: 74 69 6e 67 20 74 68 61 74 20 72 75 6e 73 20 69 ting that runs i fb40: 6e 20 6c 65 73 73 20 74 68 61 6e 20 33 20 6d 69 n less than 3 mi fb50: 6e 75 74 65 73 20 28 6f 6e 20 61 20 66 61 73 74 nutes (on a fast fb60: 20 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 69 63 machine).#.quic fb70: 6b 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 ktest:.testfixtu fb80: 72 65 2e 65 78 65 20 73 6f 75 72 63 65 74 65 73 re.exe sourcetes fb90: 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c t..@set PATH=$(L
fba0: 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT fbb0: 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 H)...\testfixtur fbc0: 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 e.exe$(TOP)\tes
fbd0: 74 5c 65 78 74 72 61 71 75 69 63 6b 2e 74 65 73  t\extraquick.tes
fbe0: 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 23  t $(TESTOPTS)..# fbf0: 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d This is the com fc00: 6d 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e 20 6d mon case. Run m fc10: 61 6e 79 20 74 65 73 74 73 20 74 68 61 74 20 64 any tests that d fc20: 6f 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c o not take too l fc30: 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67 ong,.# including fc40: 20 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69 fuzzcheck, sqli fc50: 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e te3_analyzer, an fc60: 64 20 73 71 6c 64 69 66 66 20 74 65 73 74 73 2e d sqldiff tests. fc70: 0a 23 0a 74 65 73 74 3a 09 24 28 54 45 53 54 50 .#.test:.$(TESTP
fc80: 52 4f 47 53 29 20 73 6f 75 72 63 65 74 65 73 74  ROGS) sourcetest
fc90: 20 66 61 73 74 66 75 7a 7a 74 65 73 74 0a 09 40   fastfuzztest..@
fca0: 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43  set PATH=$(LIBTC fcb0: 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 LPATH);$(PATH)..
fcc0: 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  .\testfixture.ex
fcd0: 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 76 65  e $(TOP)\test\ve fce0: 72 79 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 ryquick.test$(T
fcf0: 45 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65 74  ESTOPTS)..smoket
fd00: 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53  est:.$(TESTPROGS fd10: 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c )..@set PATH=$(L
fd20: 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT fd30: 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 H)...\testfixtur fd40: 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 e.exe$(TOP)\tes
fd50: 74 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28 54 45  t\main.test $(TE fd60: 53 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65 33 STOPTS)..sqlite3 fd70: 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 28 53 _analyzer.c:.$(S
fd80: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT fd90: 45 33 48 29 20 24 28 54 4f 50 29 5c 73 72 63 5c E3H)$(TOP)\src\
fda0: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f  tclsqlite.c $(TO fdb0: 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 P)\tool\spaceana fdc0: 6c 2e 74 63 6c 20 24 28 53 51 4c 49 54 45 5f 54 l.tcl$(SQLITE_T
fdd0: 43 4c 5f 44 45 50 29 0a 09 65 63 68 6f 20 23 64  CL_DEP)..echo #d
fde0: 65 66 69 6e 65 20 54 43 4c 53 48 20 32 20 3e 20  efine TCLSH 2 >
fdf0: 24 40 0a 09 65 63 68 6f 20 23 64 65 66 69 6e 65  $@..echo #define fe00: 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 SQLITE_ENABLE_D fe10: 42 53 54 41 54 5f 56 54 41 42 20 31 20 3e 3e 20 BSTAT_VTAB 1 >> fe20: 24 40 0a 09 63 6f 70 79 20 24 40 20 2b 20 24 28$@..copy $@ +$(
fe30: 53 51 4c 49 54 45 33 43 29 20 2b 20 24 28 54 4f  SQLITE3C) + $(TO fe40: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 P)\src\tclsqlite fe50: 2e 63 20 24 40 0a 09 65 63 68 6f 20 73 74 61 74 .c$@..echo stat
fe60: 69 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74  ic const char *t
fe70: 63 6c 73 68 5f 6d 61 69 6e 5f 6c 6f 6f 70 28 76  clsh_main_loop(v
fe80: 6f 69 64 29 7b 20 3e 3e 20 24 40 0a 09 65 63 68  oid){ >> $@..ech fe90: 6f 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 63 o static const c fea0: 68 61 72 20 2a 7a 4d 61 69 6e 6c 6f 6f 70 20 3d har *zMainloop = feb0: 20 3e 3e 20 24 40 0a 09 24 28 54 43 4c 53 48 5f >>$@..$(TCLSH_ fec0: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c CMD)$(TOP)\tool
fed0: 5c 74 6f 73 74 72 2e 74 63 6c 20 24 28 54 4f 50  \tostr.tcl $(TOP fee0: 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c )\tool\spaceanal fef0: 2e 74 63 6c 20 3e 3e 20 24 40 0a 09 65 63 68 6f .tcl >>$@..echo
ff00: 20 3b 20 72 65 74 75 72 6e 20 7a 4d 61 69 6e 6c   ; return zMainl
ff10: 6f 6f 70 3b 20 7d 20 3e 3e 20 24 40 0a 0a 73 71  oop; } >> $@..sq ff20: 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 lite3_analyzer.e ff30: 78 65 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c xe:.sqlite3_anal ff40: 79 7a 65 72 2e 63 20 24 28 4c 49 42 52 45 53 4f yzer.c$(LIBRESO
ff50: 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  BJS)..$(LTLINK) ff60: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49$(NO_WARN) -DBUI
ff70: 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43  LD_sqlite -I$(TC ff80: 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33 LINCDIR) sqlite3 ff90: 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09 _analyzer.c \... ffa0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
ffb0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS)$
ffc0: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c  (LTLIBPATHS) $(L ffd0: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c IBRESOBJS)$(LTL
ffe0: 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 64  IBS) $(TLIBS)..d fff0: 62 64 75 6d 70 2e 65 78 65 3a 09 24 28 54 4f 50 bdump.exe:.$(TOP
10000 29 5c 65 78 74 5c 6d 69 73 63 5c 64 62 64 75 6d  )\ext\misc\dbdum
10010 70 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  p.c $(SQLITE3C) 10020 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 10030 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
10040 29 20 2d 44 44 42 44 55 4d 50 5f 53 54 41 4e 44  ) -DDBDUMP_STAND
10050 41 4c 4f 4e 45 20 24 28 54 4f 50 29 5c 65 78 74  ALONE $(TOP)\ext 10060 5c 6d 69 73 63 5c 64 62 64 75 6d 70 2e 63 20 24 \misc\dbdump.c$
10070 28 53 51 4c 49 54 45 33 43 29 20 5c 0a 09 09 2f  (SQLITE3C) \.../
10080 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) 10090 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28$(LTLINKOPTS) $( 100a0 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 LTLIBPATHS)$(LI
100b0 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49  BRESOBJS) $(LTLI 100c0 42 53 29 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 BS)..testloadext 100d0 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
100e0 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 09  test_loadext.c..
100f0 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e  $(LTCOMPILE)$(N
10100 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28 54 4f 50  O_WARN) -c $(TOP 10110 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 )\src\test_loade 10120 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61 64 65 78 xt.c..testloadex 10130 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f 61 64 65 t.dll:.testloade 10140 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 4c xt.lo..$(LD) $(L 10150 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
10160 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT 10170 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 HS) /DLL /OUT:$@
10180 20 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a   testloadext.lo.
10190 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09 24 28 54  .showdb.exe:.$(T 101a0 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e OP)\tool\showdb. 101b0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 c$(SQLITE3C) $( 101c0 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c SQLITE3H)..$(LTL
101d0 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) 101e0 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 -DSQLITE_THREADS 101f0 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f AFE=0 -DSQLITE_O 10200 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 MIT_LOAD_EXTENSI 10210 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f ON \...$(TOP)\to
10220 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 51  ol\showdb.c $(SQ 10230 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
10240 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 10250 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74 61 74 KOPTS)..showstat 10260 34 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 4.exe:.$(TOP)\to
10270 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24  ol\showstat4.c $10280 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
10290 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK 102a0 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
102b0 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
102c0 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
102d0 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION
102e0 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\ 102f0 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 showstat4.c$(SQ
10300 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 10310 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
10320 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75 72  KOPTS)..showjour
10330 6e 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  nal.exe:.$(TOP)\ 10340 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c tool\showjournal 10350 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $10360 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
10370 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) 10380 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 -DSQLITE_THREAD 10390 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f SAFE=0 -DSQLITE_ 103a0 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 OMIT_LOAD_EXTENS 103b0 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 ION \...$(TOP)\t
103c0 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e  ool\showjournal.
103d0 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l 103e0 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $103f0 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 (LTLINKOPTS)..sh 10400 6f 77 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 owwal.exe:.$(TOP
10410 29 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63  )\tool\showwal.c
10420 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
10430 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI 10440 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
10450 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
10460 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
10470 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
10480 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  N \...$(TOP)\too 10490 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 l\showwal.c$(SQ
104a0 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 104b0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
104c0 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67 65 73 65  KOPTS)..changese
104d0 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78  t.exe:.$(TOP)\ex 104e0 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 t\session\change 104f0 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 set.c$(SQLITE3C
10500 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
10510 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 10520 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 RN) -DSQLITE_THR 10530 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 EADSAFE=0 -DSQLI 10540 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 TE_OMIT_LOAD_EXT 10550 45 4e 53 49 4f 4e 20 5c 0a 09 09 2d 44 53 51 4c ENSION \...-DSQL 10560 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 ITE_ENABLE_SESSI 10570 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e ON=1 -DSQLITE_EN 10580 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45 5f 48 ABLE_PREUPDATE_H 10590 4f 4f 4b 3d 31 20 5c 0a 09 09 24 28 54 4f 50 29 OOK=1 \...$(TOP)
105a0 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61  \ext\session\cha
105b0 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54  ngeset.c $(SQLIT 105c0 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 E3C) /link$(LDF
105d0 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50  LAGS) $(LTLINKOP 105e0 54 53 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 TS)..fts3view.ex 105f0 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 e:.$(TOP)\ext\ft
10600 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77  s3\tool\fts3view
10610 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C)$
10620 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT 10630 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
10640 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
10650 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f  SAFE=0 -DSQLITE_
10660 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  OMIT_LOAD_EXTENS
10670 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  ION \...$(TOP)\e 10680 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 xt\fts3\tool\fts 10690 33 76 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 3view.c$(SQLITE
106a0 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL 106b0 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 AGS)$(LTLINKOPT
106c0 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  S)..rollback-tes
106d0 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f  t.exe:.$(TOP)\to 106e0 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 ol\rollback-test 106f0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $10700 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
10710 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) 10720 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 -DSQLITE_THREAD 10730 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f SAFE=0 -DSQLITE_ 10740 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 OMIT_LOAD_EXTENS 10750 49 4f 4e 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 ION \...$(TOP)\t
10760 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  ool\rollback-tes
10770 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 10780 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
10790 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS).. 107a0 4c 6f 67 45 73 74 2e 65 78 65 3a 09 24 28 54 4f LogEst.exe:.$(TO
107b0 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e 63  P)\tool\logest.c
107c0 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
107d0 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR 107e0 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c N)$(TOP)\tool\L
107f0 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28  ogEst.c /link $( 10800 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
10810 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e  KOPTS)..wordcoun
10820 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65  t.exe:.$(TOP)\te 10830 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 st\wordcount.c$
10840 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL 10850 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b ITE3H)..$(LTLINK
10860 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS 10870 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 QLITE_THREADSAFE 10880 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 =0 -DSQLITE_OMIT 10890 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 _LOAD_EXTENSION 108a0 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c \...$(TOP)\test\
108b0 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51  wordcount.c $(SQ 108c0 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
108d0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 108e0 4b 4f 50 54 53 29 0a 0a 73 70 65 65 64 74 65 73 KOPTS)..speedtes 108f0 74 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 t1.exe:.$(TOP)\t
10900 65 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63  est\speedtest1.c
10910 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
10920 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI 10930 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 NK)$(NO_WARN) $10940 28 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 (ST_COMPILE_OPTS 10950 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f ) -DSQLITE_OMIT_ 10960 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 5c LOAD_EXTENSION \ 10970 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 ...$(TOP)\test\s
10980 70 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 51  peedtest1.c $(SQ 10990 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
109a0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 109b0 4b 4f 50 54 53 29 0a 0a 6b 76 74 65 73 74 2e 65 KOPTS)..kvtest.e 109c0 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c xe:.$(TOP)\test\
109d0 6b 76 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54  kvtest.c $(SQLIT 109e0 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
109f0 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
10a00 5f 57 41 52 4e 29 20 24 28 4b 56 5f 43 4f 4d 50  _WARN) $(KV_COMP 10a10 49 4c 45 5f 4f 50 54 53 29 20 5c 0a 09 09 24 28 ILE_OPTS) \...$(
10a20 54 4f 50 29 5c 74 65 73 74 5c 6b 76 74 65 73 74  TOP)\test\kvtest
10a30 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) / 10a40 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
10a50 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 64  $(LTLINKOPTS)..d 10a60 62 73 65 6c 66 74 65 73 74 2e 65 78 65 3a 09 24 bselftest.exe:.$
10a70 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 73 65 6c  (TOP)\test\dbsel
10a80 66 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ftest.c $(SQLITE 10a90 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
10aa0 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
10ab0 57 41 52 4e 29 20 24 28 44 42 53 45 4c 46 54 45  WARN) $(DBSELFTE 10ac0 53 54 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 ST_COMPILE_OPTS) 10ad0 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 64 62 73$(TOP)\test\dbs
10ae0 65 6c 66 74 65 73 74 2e 63 20 24 28 53 51 4c 49  elftest.c $(SQLI 10af0 54 45 33 43 29 0a 0a 72 62 75 2e 65 78 65 3a 09 TE3C)..rbu.exe:. 10b00 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72$(TOP)\ext\rbu\r
10b10 62 75 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  bu.c $(TOP)\ext\ 10b20 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 rbu\sqlite3rbu.c 10b30 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S 10b40 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
10b50 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) - 10b60 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 DSQLITE_ENABLE_R 10b70 42 55 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 BU \...$(TOP)\ex
10b80 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51  t\rbu\rbu.c $(SQ 10b90 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
10ba0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 10bb0 4b 4f 50 54 53 29 0a 0a 4c 53 4d 44 49 52 3d 24 KOPTS)..LSMDIR=$
10bc0 28 54 4f 50 29 5c 65 78 74 5c 6c 73 6d 31 0a 21  (TOP)\ext\lsm1.!
10bd0 49 4e 43 4c 55 44 45 20 24 28 4c 53 4d 44 49 52  INCLUDE $(LSMDIR 10be0 29 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 0a )\Makefile.msc.. 10bf0 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65 61 6e moreclean:.clean 10c00 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 ..del /Q$(SQLIT
10c10 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) 10c20 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 2>NUL.# <</mark 10c30 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 >>..clean:..del 10c40 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e /Q *.exp *.lo *. 10c50 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20 ilk *.lib *.obj 10c60 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64 *.ncb *.pdb *.sd 10c70 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64 f *.suo 2>NUL..d 10c80 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 64 65 el /Q *.bsc *.de 10c90 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62 f *.cod *.da *.b 10ca0 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f b *.bbg *.vc gmo 10cb0 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64 65 6c n.out 2>NUL..del 10cc0 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45 58 45 /Q$(SQLITE3EXE
10cd0 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20  ) $(SQLITE3DLL) 10ce0 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e 4e 55 Replace.exe 2>NU 10cf0 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09 64 65 L.# <<mark>>..de 10d00 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63 20 73 l /Q sqlite3.c s 10d10 71 6c 69 74 65 33 2e 68 20 32 3e 4e 55 4c 0a 09 qlite3.h 2>NUL.. 10d20 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65 73 2e 63 del /Q opcodes.c 10d30 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c opcodes.h 2>NUL 10d40 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a ..del /Q lemon.* 10d50 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73 65 2e lempar.c parse. 10d60 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 * 2>NUL..del /Q 10d70 6d 6b 73 6f 75 72 63 65 69 64 2e 2a 20 6d 6b 6b mksourceid.* mkk 10d80 65 79 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79 eywordhash.* key 10d90 77 6f 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c wordhash.h 2>NUL 10da0 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61 ..del /Q notasha 10db0 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09 redlib.* 2>NUL.. 10dc0 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70 -rmdir /Q/S .dep 10dd0 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 s 2>NUL..-rmdir 10de0 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c /Q/S .libs 2>NUL 10df0 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 ..-rmdir /Q/S ts 10e00 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 rc 2>NUL..del /Q 10e10 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20 .target_source 10e20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63 2>NUL..del /Q tc 10e30 6c 73 71 6c 69 74 65 33 2e 65 78 65 20 24 28 53 lsqlite3.exe$(S
10e40 51 4c 49 54 45 54 43 4c 48 29 20 24 28 53 51 4c  QLITETCLH) \$(SQL
10e50 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20 32 3e  ITETCLDECLSH) 2>
10e60 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 73 6d 2e  NUL..del /Q lsm.
10e70 64 6c 6c 20 6c 73 6d 74 65 73 74 2e 65 78 65 20  dll lsmtest.exe
10e80 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65  2>NUL..del /Q te
10e90 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e  stloadext.dll 2>
10ea0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74  NUL..del /Q test
10eb0 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74  fixture.exe test
10ec0 2e 64 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  .db 2>NUL..del /
10ed0 51 20 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73  Q LogEst.exe fts
10ee0 33 76 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61  3view.exe rollba
10ef0 63 6b 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77  ck-test.exe show
10f00 64 62 2e 65 78 65 20 64 62 64 75 6d 70 2e 65 78  db.exe dbdump.ex
10f10 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q
10f20 63 68 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e  changeset.exe 2>
10f30 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77  NUL..del /Q show
10f40 6a 6f 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77  journal.exe show
10f50 73 74 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61  stat4.exe showwa
10f60 6c 2e 65 78 65 20 73 70 65 65 64 74 65 73 74 31  l.exe speedtest1
10f70 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del
10f80 2f 51 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20  /Q mptester.exe
10f90 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62  wordcount.exe rb
10fa0 75 2e 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65  u.exe srcck1.exe
10fb0 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
10fc0 71 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33  qlite3.c sqlite3
10fd0 2d 2a 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  -*.c 2>NUL..del
10fe0 2f 51 20 73 71 6c 69 74 65 33 72 63 2e 68 20 32  /Q sqlite3rc.h 2
10ff0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65  >NUL..del /Q she
11000 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65 78 74 2e  ll.c sqlite3ext.
11010 68 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e  h sqlite3session
11020 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
11030 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
11040 72 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 61 6e  r.exe sqlite3_an
11050 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09  alyzer.c 2>NUL..
11060 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d  del /Q sqlite-*-
11070 6f 75 74 70 75 74 2e 76 73 69 78 20 32 3e 4e 55  output.vsix 2>NU
11080 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72  L..del /Q fuzzer
11090 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68  shell.exe fuzzch
110a0 65 63 6b 2e 65 78 65 20 73 71 6c 64 69 66 66 2e  eck.exe sqldiff.
110b0 65 78 65 20 64 62 68 61 73 68 2e 65 78 65 20 32  exe dbhash.exe 2
110c0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73  >NUL..del /Q fts
110d0 35 2e 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20  5.* fts5parse.*
110e0 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  2>NUL.# <</mark>
110f0 3e 0a                                            >.