/ Hex Artifact Content

## Artifact b00bcf0ec7001857aea81ee39fae45d20f5f4e59:

• File Makefile.msc — part of check-in [ea4de04d] at 2016-04-06 17:32:23 on branch branch-3.12.0 — Add a couple options to the MSVC makefile. (user: mistachkin size: 61848)

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 30  USE_FULLWARN = 0
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 75 73 65  his non-0 to use
02a0: 20 22 73 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69   "stdcall" calli
02b0: 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 66 6f  ng convention fo
02c0: 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  r the core libra
02d0: 72 79 0a 23 20 61 6e 64 20 73 68 65 6c 6c 20 65  ry.# and shell e
02e0: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46  xecutable..#.!IF
02f0: 4e 44 45 46 20 55 53 45 5f 53 54 44 43 41 4c 4c  NDEF USE_STDCALL
0300: 0a 55 53 45 5f 53 54 44 43 41 4c 4c 20 3d 20 30  .USE_STDCALL = 0
0310: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0320: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76  his non-0 to hav
0330: 65 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63  e the shell exec
0340: 75 74 61 62 6c 65 20 6c 69 6e 6b 20 61 67 61 69  utable link agai
0350: 6e 73 74 20 74 68 65 20 63 6f 72 65 20 64 79 6e  nst the core dyn
0360: 61 6d 69 63 0a 23 20 6c 69 6e 6b 20 6c 69 62 72  amic.# link libr
0370: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 44  ary..#.!IFNDEF D
0380: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 0a 44 59 4e  YNAMIC_SHELL.DYN
0390: 41 4d 49 43 5f 53 48 45 4c 4c 20 3d 20 30 0a 21  AMIC_SHELL = 0.!
03a0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
03b0: 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c  s non-0 to enabl
03c0: 65 20 65 78 74 72 61 20 63 6f 64 65 20 74 68 61  e extra code tha
03d0: 74 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64 65  t attempts to de
03e0: 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20 74  tect misuse of t
03f0: 68 65 0a 23 20 53 51 4c 69 74 65 20 41 50 49 2e  he.# SQLite API.
0400: 0a 23 0a 21 49 46 4e 44 45 46 20 41 50 49 5f 41  .#.!IFNDEF API_A
0410: 52 4d 4f 52 0a 41 50 49 5f 41 52 4d 4f 52 20 3d  RMOR.API_ARMOR =
0420: 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20   0.!ENDIF..# If
0430: 6e 65 63 65 73 73 61 72 79 2c 20 63 72 65 61 74  necessary, creat
0440: 65 20 61 20 6c 69 73 74 20 6f 66 20 68 61 72 6d  e a list of harm
0450: 6c 65 73 73 20 63 6f 6d 70 69 6c 65 72 20 77 61  less compiler wa
0460: 72 6e 69 6e 67 73 20 74 6f 20 64 69 73 61 62 6c  rnings to disabl
0470: 65 20 77 68 65 6e 0a 23 20 63 6f 6d 70 69 6c 69  e when.# compili
0480: 6e 67 20 74 68 65 20 76 61 72 69 6f 75 73 20 74  ng the various t
0490: 6f 6f 6c 73 2e 20 20 46 6f 72 20 74 68 65 20 53  ools.  For the S
04a0: 51 4c 69 74 65 20 73 6f 75 72 63 65 20 63 6f 64  QLite source cod
04b0: 65 20 69 74 73 65 6c 66 2c 20 77 61 72 6e 69 6e  e itself, warnin
04c0: 67 73 2c 0a 23 20 69 66 20 61 6e 79 2c 20 77 69  gs,.# if any, wi
04d0: 6c 6c 20 62 65 20 64 69 73 61 62 6c 65 64 20 66  ll be disabled f
04e0: 72 6f 6d 20 77 69 74 68 69 6e 20 69 74 2e 0a 23  rom within it..#
04f0: 0a 21 49 46 4e 44 45 46 20 4e 4f 5f 57 41 52 4e  .!IFNDEF NO_WARN
0500: 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57  .!IF $(USE_FULLW 0510: 41 52 4e 29 21 3d 30 0a 4e 4f 5f 57 41 52 4e 20 ARN)!=0.NO_WARN 0520: 3d 20 2d 77 64 34 30 35 34 20 2d 77 64 34 30 35 = -wd4054 -wd405 0530: 35 20 2d 77 64 34 31 30 30 20 2d 77 64 34 31 32 5 -wd4100 -wd412 0540: 37 20 2d 77 64 34 31 33 30 20 2d 77 64 34 31 35 7 -wd4130 -wd415 0550: 32 20 2d 77 64 34 31 38 39 20 2d 77 64 34 32 30 2 -wd4189 -wd420 0560: 36 0a 4e 4f 5f 57 41 52 4e 20 3d 20 24 28 4e 4f 6.NO_WARN =$(NO
0570: 5f 57 41 52 4e 29 20 2d 77 64 34 32 31 30 20 2d  _WARN) -wd4210 -
0580: 77 64 34 32 33 32 20 2d 77 64 34 33 30 35 20 2d  wd4232 -wd4305 -
0590: 77 64 34 33 30 36 20 2d 77 64 34 37 30 32 20 2d  wd4306 -wd4702 -
05a0: 77 64 34 37 30 36 0a 21 45 4e 44 49 46 0a 21 45  wd4706.!ENDIF.!E
05b0: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
05c0: 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20 74 68   non-0 to use th
05d0: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 20  e library paths
05e0: 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e  and other option
05f0: 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 0a  s necessary for.
0600: 23 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  # Windows Phone
0610: 38 2e 31 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55  8.1..#.!IFNDEF U
0620: 53 45 5f 57 50 38 31 5f 4f 50 54 53 0a 55 53 45  SE_WP81_OPTS.USE
0630: 5f 57 50 38 31 5f 4f 50 54 53 20 3d 20 30 0a 21  _WP81_OPTS = 0.!
0640: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0650: 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 70 6c 69 74  s non-0 to split
0660: 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d 61 6c   the SQLite amal
0670: 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20 69 6e  gamation file in
0680: 74 6f 20 63 68 75 6e 6b 73 20 74 6f 0a 23 20 62  to chunks to.# b
0690: 65 20 75 73 65 64 20 66 6f 72 20 64 65 62 75 67  e used for debug
06a0: 67 69 6e 67 20 77 69 74 68 20 56 69 73 75 61 6c  ging with Visual
06b0: 20 53 74 75 64 69 6f 2e 0a 23 0a 21 49 46 4e 44   Studio..#.!IFND
06c0: 45 46 20 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d  EF SPLIT_AMALGAM
06d0: 41 54 49 4f 4e 0a 53 50 4c 49 54 5f 41 4d 41 4c  ATION.SPLIT_AMAL
06e0: 47 41 4d 41 54 49 4f 4e 20 3d 20 30 0a 21 45 4e  GAMATION = 0.!EN
06f0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
0700: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0710: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0720: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0730: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
0740: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
0750: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
0760: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
0770: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set
0780: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
0790: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
07a0: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
07b0: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
07c0: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
07d0: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL =
07e0: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
07f0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0800: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0810: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0820: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0830: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
0840: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..#
0850: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0860: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
0870: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
0880: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
0890: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
08a0: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
08b0: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
08c0: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
08d0: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
08e0: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
08f0: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0900: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0910: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0920: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0930: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0940: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during
0950: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0960: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0970: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0980: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0990: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
09a0: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
09b0: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries
09c0: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
09d0: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the
09e0: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
09f0: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0a00: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0a10: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0a20: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0a30: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0a40: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0a50: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0a60: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0a70: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0a80: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0a90: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0aa0: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0ab0: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0ac0: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0ad0: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0ae0: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0af0: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0b00: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0b10: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does
0b20: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0b30: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0b40: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0b50: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0b60: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text
0b70: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
0b80: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
0b90: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
0ba0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0bb0: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
0bc0: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
0bd0: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
0be0: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
0bf0: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
0c00: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
0c10: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
0c20: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
0c30: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
0c40: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
0c50: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
0c60: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
0c70: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
0c80: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0c90: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
0ca0: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
0cb0: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
0cc0: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
0cd0: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
0ce0: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
0cf0: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..#
0d00: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
0d10: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
0d20: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to
0d30: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or
0d40: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
0d50: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
0d60: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
0d70: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
0d80: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0d90: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0da0: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
0db0: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
0dc0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
0dd0: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
0de0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0df0: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
0e00: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
0e10: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
0e20: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
0e30: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
0e40: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
0e50: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
0e60: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
0e70: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap
0e80: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
0e90: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
0ea0: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
0eb0: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this
0ec0: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
0ed0: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
0ee0: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
0ef0: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.#
0f00: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
0f10: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
0f20: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
0f30: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
0f40: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
0f50: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
0f60: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
0f70: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
0f80: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
0f90: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
0fa0: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
0fb0: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
0fc0: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
0fd0: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
0fe0: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for
0ff0: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1000: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1010: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
1020: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime
1030: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
1040: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
1050: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
1060: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
1070: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of
1080: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 ==
1090: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG
10a0: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
10b0: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
10c0: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
10d0: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
10e0: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
10f0: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1100: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1110: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
1120: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
1130: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
1140: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native
1150: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
1160: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
1170: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1180: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1190: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
11a0: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
11b0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
11c0: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
11d0: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
11e0: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
11f0: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1200: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1210: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
1220: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
1230: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
1240: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
1250: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
1260: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
1270: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero,
1280: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1290: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
12a0: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
12b0: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
12c0: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
12d0: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
12e0: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS =
12f0: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set
1300: 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20  the source code
1310: 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20  file to be used
1320: 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 61  by executables a
1330: 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 65  nd libraries whe
1340: 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 74 68  n.# they need th
1350: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a  e amalgamation..
1360: 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45  #.!IFNDEF SQLITE
1370: 33 43 0a 21 49 46 20 24 28 53 50 4c 49 54 5f 41  3C.!IF $(SPLIT_A 1380: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 0a MALGAMATION)!=0. 1390: 53 51 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 SQLITE3C = sqlit 13a0: 65 33 2d 61 6c 6c 2e 63 0a 21 45 4c 53 45 0a 53 e3-all.c.!ELSE.S 13b0: 51 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65 QLITE3C = sqlite 13c0: 33 2e 63 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 3.c.!ENDIF.!ENDI 13d0: 46 0a 0a 23 20 53 65 74 20 74 68 65 20 69 6e 63 F..# Set the inc 13e0: 6c 75 64 65 20 63 6f 64 65 20 66 69 6c 65 20 74 lude code file t 13f0: 6f 20 62 65 20 75 73 65 64 20 62 79 20 65 78 65 o be used by exe 1400: 63 75 74 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 cutables and lib 1410: 72 61 72 69 65 73 20 77 68 65 6e 0a 23 20 74 68 raries when.# th 1420: 65 79 20 6e 65 65 64 20 53 51 4c 69 74 65 2e 0a ey need SQLite.. 1430: 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 #.!IFNDEF SQLITE 1440: 33 48 0a 53 51 4c 49 54 45 33 48 20 3d 20 73 71 3H.SQLITE3H = sq 1450: 6c 69 74 65 33 2e 68 0a 21 45 4e 44 49 46 0a 0a lite3.h.!ENDIF.. 1460: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 # This is the na 1470: 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 me to use for th 1480: 65 20 53 51 4c 69 74 65 20 64 79 6e 61 6d 69 63 e SQLite dynamic 1490: 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 28 44 link library (D 14a0: 4c 4c 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 LL)..#.!IFNDEF S 14b0: 51 4c 49 54 45 33 44 4c 4c 0a 21 49 46 20 24 28 QLITE3DLL.!IF$(
14c0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51  FOR_WIN10)!=0.SQ
14d0: 4c 49 54 45 33 44 4c 4c 20 3d 20 77 69 6e 73 71  LITE3DLL = winsq
14e0: 6c 69 74 65 33 2e 64 6c 6c 0a 21 45 4c 53 45 0a  lite3.dll.!ELSE.
14f0: 53 51 4c 49 54 45 33 44 4c 4c 20 3d 20 73 71 6c  SQLITE3DLL = sql
1500: 69 74 65 33 2e 64 6c 6c 0a 21 45 4e 44 49 46 0a  ite3.dll.!ENDIF.
1510: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69  !ENDIF..# This i
1520: 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73  s the name to us
1530: 65 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65  e for the SQLite
1540: 20 69 6d 70 6f 72 74 20 6c 69 62 72 61 72 79 20   import library
1550: 28 4c 49 42 29 2e 0a 23 0a 21 49 46 4e 44 45 46  (LIB)..#.!IFNDEF
1560: 20 53 51 4c 49 54 45 33 4c 49 42 0a 21 49 46 20   SQLITE3LIB.!IF
1570: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0. 1580: 53 51 4c 49 54 45 33 4c 49 42 20 3d 20 77 69 6e SQLITE3LIB = win 1590: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c 53 sqlite3.lib.!ELS 15a0: 45 0a 53 51 4c 49 54 45 33 4c 49 42 20 3d 20 73 E.SQLITE3LIB = s 15b0: 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4e 44 49 qlite3.lib.!ENDI 15c0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 F.!ENDIF..# This 15d0: 20 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 is the name to 15e0: 75 73 65 20 66 6f 72 20 74 68 65 20 53 51 4c 69 use for the SQLi 15f0: 74 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 te shell executa 1600: 62 6c 65 20 28 45 58 45 29 2e 0a 23 0a 21 49 46 ble (EXE)..#.!IF 1610: 4e 44 45 46 20 53 51 4c 49 54 45 33 45 58 45 0a NDEF SQLITE3EXE. 1620: 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 !IF$(FOR_WIN10)
1630: 21 3d 30 0a 53 51 4c 49 54 45 33 45 58 45 20 3d  !=0.SQLITE3EXE =
1640: 20 77 69 6e 73 71 6c 69 74 65 33 73 68 65 6c 6c   winsqlite3shell
1650: 2e 65 78 65 0a 21 45 4c 53 45 0a 53 51 4c 49 54  .exe.!ELSE.SQLIT
1660: 45 33 45 58 45 20 3d 20 73 71 6c 69 74 65 33 2e  E3EXE = sqlite3.
1670: 65 78 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  exe.!ENDIF.!ENDI
1680: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  F..# This is the
1690: 20 61 72 67 75 6d 65 6e 74 20 75 73 65 64 20 74   argument used t
16a0: 6f 20 73 65 74 20 74 68 65 20 70 72 6f 67 72 61  o set the progra
16b0: 6d 20 64 61 74 61 62 61 73 65 20 28 50 44 42 29  m database (PDB)
16c0: 20 66 69 6c 65 20 66 6f 72 20 74 68 65 0a 23 20   file for the.#
16d0: 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 65 78 65  SQLite shell exe
16e0: 63 75 74 61 62 6c 65 20 28 45 58 45 29 2e 0a 23  cutable (EXE)..#
16f0: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33  .!IFNDEF SQLITE3
1700: 45 58 45 50 44 42 0a 21 49 46 20 24 28 46 4f 52  EXEPDB.!IF $(FOR 1710: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54 _WIN10)!=0.SQLIT 1720: 45 33 45 58 45 50 44 42 20 3d 0a 21 45 4c 53 45 E3EXEPDB =.!ELSE 1730: 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 3d .SQLITE3EXEPDB = 1740: 20 2f 70 64 62 3a 73 71 6c 69 74 65 33 73 68 2e /pdb:sqlite3sh. 1750: 70 64 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 pdb.!ENDIF.!ENDI 1760: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 F..# These are t 1770: 68 65 20 22 73 74 61 6e 64 61 72 64 22 20 53 51 he "standard" SQ 1780: 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e Lite compilation 1790: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 77 68 options used wh 17a0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 en compiling for 17b0: 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 73 20 70 .# the Windows p 17c0: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 latform..#.!IFND 17d0: 45 46 20 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 EF OPT_FEATURE_F 17e0: 4c 41 47 53 0a 4f 50 54 5f 46 45 41 54 55 52 45 LAGS.OPT_FEATURE 17f0: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 _FLAGS =$(OPT_F
1800: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
1810: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54  SQLITE_ENABLE_FT
1820: 53 33 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45  S3=1.OPT_FEATURE
1830: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46  _FLAGS = $(OPT_F 1840: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 EATURE_FLAGS) -D 1850: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 54 SQLITE_ENABLE_RT 1860: 52 45 45 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 REE=1.OPT_FEATUR 1870: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f E_FLAGS =$(OPT_
1880: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d  FEATURE_FLAGS) -
1890: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43  DSQLITE_ENABLE_C
18a0: 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41 3d 31  OLUMN_METADATA=1
18b0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
18c0: 20 61 72 65 20 74 68 65 20 22 65 78 74 65 6e 64   are the "extend
18d0: 65 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 69  ed" SQLite compi
18e0: 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75  lation options u
18f0: 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69  sed when compili
1900: 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e  ng for.# the Win
1910: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d  dows 10 platform
1920: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 45 58 54 5f  ..#.!IFNDEF EXT_
1930: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 0a 21 49  FEATURE_FLAGS.!I
1940: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!= 1950: 30 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 0.EXT_FEATURE_FL 1960: 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 AGS =$(EXT_FEAT
1970: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
1980: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 41 54 34  ITE_ENABLE_STAT4
1990: 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46  =1.EXT_FEATURE_F
19a0: 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41  LAGS = $(EXT_FEA 19b0: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 TURE_FLAGS) -DSQ 19c0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 LITE_ENABLE_FTS3 19d0: 5f 50 41 52 45 4e 54 48 45 53 49 53 3d 31 0a 45 _PARENTHESIS=1.E 19e0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 XT_FEATURE_FLAGS 19f0: 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 =$(EXT_FEATURE
1a00: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
1a10: 5f 45 4e 41 42 4c 45 5f 46 54 53 34 3d 31 0a 45  _ENABLE_FTS4=1.E
1a20: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
1a30: 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52 45   = $(EXT_FEATURE 1a40: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE 1a50: 5f 53 59 53 54 45 4d 5f 4d 41 4c 4c 4f 43 3d 31 _SYSTEM_MALLOC=1 1a60: 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 .EXT_FEATURE_FLA 1a70: 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 GS =$(EXT_FEATU
1a80: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1a90: 54 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d  TE_OMIT_LOCALTIM
1aa0: 45 3d 31 0a 21 45 4c 53 45 0a 45 58 54 5f 46 45  E=1.!ELSE.EXT_FE
1ab0: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 0a 21 45  ATURE_FLAGS =.!E
1ac0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 23 23  NDIF.!ENDIF..###
1ad0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1ae0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1af0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b10: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23  ############.###
1b20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b30: 23 23 23 23 23 23 23 23 23 23 23 23 20 45 4e 44  ############ END
1b40: 20 4f 46 20 4f 50 54 49 4f 4e 53 20 23 23 23 23   OF OPTIONS ####
1b50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b60: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23  ############.###
1b70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1ba0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1bb0: 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a 23 20  ############..#
1bc0: 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66  When compiling f
1bd0: 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31  or the Windows 1
1be0: 30 20 70 6c 61 74 66 6f 72 6d 2c 20 74 68 65 20  0 platform, the
1bf0: 50 4c 41 54 46 4f 52 4d 20 6d 61 63 72 6f 20 6d  PLATFORM macro m
1c00: 75 73 74 20 62 65 20 73 65 74 0a 23 20 74 6f 20  ust be set.# to
1c10: 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 76  an appropriate v
1c20: 61 6c 75 65 20 28 65 2e 67 2e 20 78 38 36 2c 20  alue (e.g. x86,
1c30: 78 36 34 2c 20 61 72 6d 2c 20 61 72 6d 36 34 2c  x64, arm, arm64,
1c40: 20 65 74 63 29 2e 0a 23 0a 21 49 46 20 24 28 46   etc)..#.!IF $(F 1c50: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 46 OR_WIN10)!=0.!IF 1c60: 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 21 45 NDEF PLATFORM.!E 1c70: 52 52 4f 52 20 55 73 69 6e 67 20 74 68 65 20 46 RROR Using the F 1c80: 4f 52 5f 57 49 4e 31 30 20 6f 70 74 69 6f 6e 20 OR_WIN10 option 1c90: 72 65 71 75 69 72 65 73 20 61 20 76 61 6c 75 65 requires a value 1ca0: 20 66 6f 72 20 50 4c 41 54 46 4f 52 4d 2e 0a 21 for PLATFORM..! 1cb0: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 ENDIF.!ENDIF..# 1cc0: 54 68 69 73 20 61 73 73 75 6d 65 73 20 74 68 61 This assumes tha 1cd0: 74 20 4d 53 56 43 20 69 73 20 61 6c 77 61 79 73 t MSVC is always 1ce0: 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 33 32 installed in 32 1cf0: 2d 62 69 74 20 50 72 6f 67 72 61 6d 20 46 69 6c -bit Program Fil 1d00: 65 73 20 64 69 72 65 63 74 6f 72 79 0a 23 20 61 es directory.# a 1d10: 6e 64 20 73 65 74 73 20 74 68 65 20 76 61 72 69 nd sets the vari 1d20: 61 62 6c 65 20 66 6f 72 20 75 73 65 20 69 6e 20 able for use in 1d30: 6c 6f 63 61 74 69 6e 67 20 6f 74 68 65 72 20 33 locating other 3 1d40: 32 2d 62 69 74 20 69 6e 73 74 61 6c 6c 73 20 61 2-bit installs a 1d50: 63 63 6f 72 64 69 6e 67 6c 79 2e 0a 23 0a 50 52 ccordingly..#.PR 1d60: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d OGRAMFILES_X86 = 1d70: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29$(VCINSTALLDIR)
1d80: 5c 2e 2e 5c 2e 2e 0a 50 52 4f 47 52 41 4d 46 49  \..\...PROGRAMFI
1d90: 4c 45 53 5f 58 38 36 20 3d 20 24 28 50 52 4f 47  LES_X86 = $(PROG 1da0: 52 41 4d 46 49 4c 45 53 5f 58 38 36 3a 5c 5c 3d RAMFILES_X86:\\= 1db0: 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 \)..# Check for 1dc0: 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 63 the predefined c 1dd0: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 43 43 2e ommand macro CC. 1de0: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f This should po 1df0: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 int to the compi 1e00: 6c 65 72 0a 23 20 62 69 6e 61 72 79 20 66 6f 72 ler.# binary for 1e10: 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 the target plat 1e20: 66 6f 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 form. If it is 1e30: 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d not defined, sim 1e40: 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f ply define it to 1e50: 0a 23 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 .# the legacy de 1e60: 66 61 75 6c 74 20 76 61 6c 75 65 20 27 63 6c 2e fault value 'cl. 1e70: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 exe'..#.!IFNDEF 1e80: 43 43 0a 43 43 20 3d 20 63 6c 2e 65 78 65 0a 21 CC.CC = cl.exe.! 1e90: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 ENDIF..# Check f 1ea0: 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 or the predefine 1eb0: 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 d command macro 1ec0: 43 53 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c CSC. This shoul 1ed0: 64 20 70 6f 69 6e 74 20 74 6f 20 61 20 77 6f 72 d point to a wor 1ee0: 6b 69 6e 67 0a 23 20 43 20 53 68 61 72 70 20 63 king.# C Sharp c 1ef0: 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 2e 20 ompiler binary. 1f00: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 If it is not de 1f10: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 fined, simply de 1f20: 66 69 6e 65 20 69 74 20 74 6f 20 74 68 65 0a 23 fine it to the.# 1f30: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 legacy default 1f40: 76 61 6c 75 65 20 27 63 73 63 2e 65 78 65 27 2e value 'csc.exe'. 1f50: 0a 23 0a 21 49 46 4e 44 45 46 20 43 53 43 0a 43 .#.!IFNDEF CSC.C 1f60: 53 43 20 3d 20 63 73 63 2e 65 78 65 0a 21 45 4e SC = csc.exe.!EN 1f70: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 DIF..# Check for 1f80: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 the command mac 1f90: 72 6f 20 4c 44 2e 20 20 54 68 69 73 20 73 68 6f ro LD. This sho 1fa0: 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 uld point to the 1fb0: 20 6c 69 6e 6b 65 72 20 62 69 6e 61 72 79 20 66 linker binary f 1fc0: 6f 72 0a 23 20 74 68 65 20 74 61 72 67 65 74 20 or.# the target 1fd0: 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 platform. If it 1fe0: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c is not defined, 1ff0: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 simply define i 2000: 74 20 74 6f 20 74 68 65 20 6c 65 67 61 63 79 0a t to the legacy. 2010: 23 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 # default value 2020: 27 6c 69 6e 6b 2e 65 78 65 27 2e 0a 23 0a 21 49 'link.exe'..#.!I 2030: 46 4e 44 45 46 20 4c 44 0a 4c 44 20 3d 20 6c 69 FNDEF LD.LD = li 2040: 6e 6b 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 nk.exe.!ENDIF..# 2050: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 Check for the p 2060: 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e redefined comman 2070: 64 20 6d 61 63 72 6f 20 52 43 2e 20 20 54 68 69 d macro RC. Thi 2080: 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 s should point t 2090: 6f 20 74 68 65 20 72 65 73 6f 75 72 63 65 0a 23 o the resource.# 20a0: 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 compiler binary 20b0: 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 for the target 20c0: 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 platform. If it 20d0: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c is not defined, 20e0: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 0a 23 simply define.# 20f0: 20 69 74 20 74 6f 20 74 68 65 20 6c 65 67 61 63 it to the legac 2100: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 y default value 2110: 27 72 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 'rc.exe'..#.!IFN 2120: 44 45 46 20 52 43 0a 52 43 20 3d 20 72 63 2e 65 DEF RC.RC = rc.e 2130: 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 xe.!ENDIF..# Che 2140: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 ck for the MSVC 2150: 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 runtime library 2160: 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 path macro. Oth 2170: 65 72 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c erwise, this val 2180: 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c ue will.# defaul 2190: 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 t to the 'lib' d 21a0: 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 irectory underne 21b0: 61 74 68 20 74 68 65 20 4d 53 56 43 20 69 6e 73 ath the MSVC ins 21c0: 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 tallation direct 21d0: 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 ory..#.!IFNDEF C 21e0: 52 54 4c 49 42 50 41 54 48 0a 43 52 54 4c 49 42 RTLIBPATH.CRTLIB 21f0: 50 41 54 48 20 3d 20 24 28 56 43 49 4e 53 54 41 PATH =$(VCINSTA
2200: 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49  LLDIR)\lib.!ENDI
2210: 46 0a 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20  F..CRTLIBPATH =
2220: 24 28 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d  $(CRTLIBPATH:\\= 2230: 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 \)..# Check for 2240: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 the command macr 2250: 6f 20 4e 43 43 2e 20 20 54 68 69 73 20 73 68 6f o NCC. This sho 2260: 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 uld point to the 2270: 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 compiler binary 2280: 0a 23 20 66 6f 72 20 74 68 65 20 70 6c 61 74 66 .# for the platf 2290: 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 orm the compilat 22a0: 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74 ion process is t 22b0: 61 6b 69 6e 67 20 70 6c 61 63 65 20 6f 6e 2e 20 aking place on. 22c0: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 0a 23 20 If it is not.# 22d0: 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 defined, simply 22e0: 64 65 66 69 6e 65 20 69 74 20 74 6f 20 68 61 76 define it to hav 22f0: 65 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 e the same value 2300: 20 61 73 20 74 68 65 20 43 43 20 6d 61 63 72 6f as the CC macro 2310: 2e 20 20 57 68 65 6e 0a 23 20 63 72 6f 73 73 2d . When.# cross- 2320: 63 6f 6d 70 69 6c 69 6e 67 2c 20 69 74 20 69 73 compiling, it is 2330: 20 73 75 67 67 65 73 74 65 64 20 74 68 61 74 20 suggested that 2340: 74 68 69 73 20 6d 61 63 72 6f 20 62 65 20 6d 6f this macro be mo 2350: 64 69 66 69 65 64 20 76 69 61 20 74 68 65 20 63 dified via the c 2360: 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 28 73 ommand.# line (s 2370: 69 6e 63 65 20 6e 6d 61 6b 65 20 69 74 73 65 6c ince nmake itsel 2380: 66 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 f does not provi 2390: 64 65 20 61 20 62 75 69 6c 74 2d 69 6e 20 6d 65 de a built-in me 23a0: 74 68 6f 64 20 74 6f 20 67 75 65 73 73 20 69 74 thod to guess it 23b0: 29 2e 0a 23 20 46 6f 72 20 65 78 61 6d 70 6c 65 )..# For example 23c0: 2c 20 74 6f 20 75 73 65 20 74 68 65 20 78 38 36 , to use the x86 23d0: 20 63 6f 6d 70 69 6c 65 72 20 77 68 65 6e 20 63 compiler when c 23e0: 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 20 66 ross-compiling f 23f0: 6f 72 20 78 36 34 2c 20 61 20 63 6f 6d 6d 61 6e or x64, a comman 2400: 64 0a 23 20 6c 69 6e 65 20 73 69 6d 69 6c 61 72 d.# line similar 2410: 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e to the followin 2420: 67 20 63 6f 75 6c 64 20 62 65 20 75 73 65 64 20 g could be used 2430: 28 61 6c 6c 20 6f 6e 20 6f 6e 65 20 6c 69 6e 65 (all on one line 2440: 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65 ):.#.# nmake 2450: 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 /f Makefile.msc 2460: 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20 sqlite3.dll.# 2470: 20 20 20 20 20 20 20 20 20 58 43 4f 4d 50 49 4c XCOMPIL 2480: 45 3d 31 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c E=1 USE_NATIVE_L 2490: 49 42 50 41 54 48 53 3d 31 0a 23 0a 23 20 41 6c IBPATHS=1.#.# Al 24a0: 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 74 68 65 ternatively, the 24b0: 20 66 75 6c 6c 20 70 61 74 68 20 61 6e 64 20 66 full path and f 24c0: 69 6c 65 20 6e 61 6d 65 20 74 6f 20 74 68 65 20 ile name to the 24d0: 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 20 compiler binary 24e0: 66 6f 72 20 74 68 65 0a 23 20 70 6c 61 74 66 6f for the.# platfo 24f0: 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 rm the compilati 2500: 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74 61 on process is ta 2510: 6b 69 6e 67 20 70 6c 61 63 65 20 6d 61 79 20 62 king place may b 2520: 65 20 73 70 65 63 69 66 69 65 64 20 28 61 6c 6c e specified (all 2530: 20 6f 6e 0a 23 20 6f 6e 65 20 6c 69 6e 65 29 3a on.# one line): 2540: 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65 20 2f .#.# nmake / 2550: 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 73 f Makefile.msc s 2560: 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20 20 20 qlite3.dll.# 2570: 20 20 20 20 20 20 20 22 4e 43 43 3d 22 22 25 56 "NCC=""%V 2580: 43 49 4e 53 54 41 4c 4c 44 49 52 25 5c 62 69 6e CINSTALLDIR%\bin 2590: 5c 63 6c 2e 65 78 65 22 22 22 0a 23 20 20 20 20 \cl.exe""".# 25a0: 20 20 20 20 20 20 20 55 53 45 5f 4e 41 54 49 56 USE_NATIV 25b0: 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a 21 E_LIBPATHS=1.#.! 25c0: 49 46 44 45 46 20 4e 43 43 0a 4e 43 43 20 3d 20 IFDEF NCC.NCC = 25d0: 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53$(NCC:\\=\).!ELS
25e0: 45 49 46 20 24 28 58 43 4f 4d 50 49 4c 45 29 21  EIF $(XCOMPILE)! 25f0: 3d 30 0a 4e 43 43 20 3d 20 22 24 28 56 43 49 4e =0.NCC = "$(VCIN
2600: 53 54 41 4c 4c 44 49 52 29 5c 62 69 6e 5c 24 28  STALLDIR)\bin\$( 2610: 43 43 29 22 0a 4e 43 43 20 3d 20 24 28 4e 43 43 CC)".NCC =$(NCC
2620: 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45 0a 4e 43 43  :\\=\).!ELSE.NCC
2630: 20 3d 20 24 28 43 43 29 0a 21 45 4e 44 49 46 0a   = $(CC).!ENDIF. 2640: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 .# Check for the 2650: 20 4d 53 56 43 20 6e 61 74 69 76 65 20 72 75 6e MSVC native run 2660: 74 69 6d 65 20 6c 69 62 72 61 72 79 20 70 61 74 time library pat 2670: 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 h macro. Otherw 2680: 69 73 65 2c 0a 23 20 74 68 69 73 20 76 61 6c 75 ise,.# this valu 2690: 65 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 e will default t 26a0: 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69 72 65 o the 'lib' dire 26b0: 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 68 ctory underneath 26c0: 20 74 68 65 20 4d 53 56 43 0a 23 20 69 6e 73 74 the MSVC.# inst 26d0: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f allation directo 26e0: 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 43 ry..#.!IFNDEF NC 26f0: 52 54 4c 49 42 50 41 54 48 0a 4e 43 52 54 4c 49 RTLIBPATH.NCRTLI 2700: 42 50 41 54 48 20 3d 20 24 28 56 43 49 4e 53 54 BPATH =$(VCINST
2710: 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44  ALLDIR)\lib.!END
2720: 49 46 0a 0a 4e 43 52 54 4c 49 42 50 41 54 48 20  IF..NCRTLIBPATH
2730: 3d 20 24 28 4e 43 52 54 4c 49 42 50 41 54 48 3a  = $(NCRTLIBPATH: 2740: 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 \\=\)..# Check f 2750: 6f 72 20 74 68 65 20 50 6c 61 74 66 6f 72 6d 20 or the Platform 2760: 53 44 4b 20 6c 69 62 72 61 72 79 20 70 61 74 68 SDK library path 2770: 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 macro. Otherwi 2780: 73 65 2c 20 74 68 69 73 0a 23 20 76 61 6c 75 65 se, this.# value 2790: 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f will default to 27a0: 20 74 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 the 'lib' direc 27b0: 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 tory underneath 27c0: 74 68 65 20 57 69 6e 64 6f 77 73 0a 23 20 53 44 the Windows.# SD 27d0: 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 K installation d 27e0: 69 72 65 63 74 6f 72 79 20 28 74 68 65 20 65 6e irectory (the en 27f0: 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 vironment variab 2800: 6c 65 20 75 73 65 64 20 61 70 70 65 61 72 73 0a le used appears. 2810: 23 20 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c # to be availabl 2820: 65 20 77 68 65 6e 20 75 73 69 6e 67 20 56 69 73 e when using Vis 2830: 75 61 6c 20 43 2b 2b 20 32 30 30 38 20 6f 72 20 ual C++ 2008 or 2840: 6c 61 74 65 72 20 76 69 61 20 74 68 65 0a 23 20 later via the.# 2850: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 29 2e 0a 23 command line)..# 2860: 0a 21 49 46 4e 44 45 46 20 4e 53 44 4b 4c 49 42 .!IFNDEF NSDKLIB 2870: 50 41 54 48 0a 4e 53 44 4b 4c 49 42 50 41 54 48 PATH.NSDKLIBPATH 2880: 20 3d 20 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 =$(WINDOWSSDKD
2890: 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  IR)\lib.!ENDIF..
28a0: 4e 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28  NSDKLIBPATH = $( 28b0: 4e 53 44 4b 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c NSDKLIBPATH:\\=\ 28c0: 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 )..# Check for t 28d0: 68 65 20 55 43 52 54 20 6c 69 62 72 61 72 79 20 he UCRT library 28e0: 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 path macro. Oth 28f0: 65 72 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c erwise, this val 2900: 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c ue will.# defaul 2910: 74 20 74 6f 20 74 68 65 20 76 65 72 73 69 6f 6e t to the version 2920: 2d 73 70 65 63 69 66 69 63 2c 20 70 6c 61 74 66 -specific, platf 2930: 6f 72 6d 2d 73 70 65 63 69 66 69 63 20 27 6c 69 orm-specific 'li 2940: 62 27 20 64 69 72 65 63 74 6f 72 79 0a 23 20 75 b' directory.# u 2950: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 nderneath the Wi 2960: 6e 64 6f 77 73 20 53 44 4b 20 69 6e 73 74 61 6c ndows SDK instal 2970: 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 lation directory 2980: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 43 52 54 ..#.!IFNDEF UCRT 2990: 4c 49 42 50 41 54 48 0a 55 43 52 54 4c 49 42 50 LIBPATH.UCRTLIBP 29a0: 41 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 53 ATH =$(WINDOWSS
29b0: 44 4b 44 49 52 29 5c 6c 69 62 5c 24 28 57 49 4e  DKDIR)\lib\$(WIN 29c0: 44 4f 57 53 53 44 4b 4c 49 42 56 45 52 53 49 4f DOWSSDKLIBVERSIO 29d0: 4e 29 5c 75 63 72 74 5c 24 28 50 4c 41 54 46 4f N)\ucrt\$(PLATFO
29e0: 52 4d 29 0a 21 45 4e 44 49 46 0a 0a 55 43 52 54  RM).!ENDIF..UCRT
29f0: 4c 49 42 50 41 54 48 20 3d 20 24 28 55 43 52 54  LIBPATH = $(UCRT 2a00: 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 LIBPATH:\\=\)..# 2a10: 20 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 C compiler and 2a20: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 options for use 2a30: 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 in building exec 2a40: 75 74 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 utables that.# w 2a50: 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 70 ill run on the p 2a60: 6c 61 74 66 6f 72 6d 20 74 68 61 74 20 69 73 20 latform that is 2a70: 64 6f 69 6e 67 20 74 68 65 20 62 75 69 6c 64 2e doing the build. 2a80: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c .#.!IF$(USE_FUL
2a90: 4c 57 41 52 4e 29 21 3d 30 0a 42 43 43 20 3d 20  LWARN)!=0.BCC =
2aa0: 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d  $(NCC) -nologo - 2ab0: 57 34 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 W4$(CCOPTS) $(B 2ac0: 43 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 42 43 CCOPTS).!ELSE.BC 2ad0: 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f C =$(NCC) -nolo
2ae0: 67 6f 20 2d 57 33 20 24 28 43 43 4f 50 54 53 29  go -W3 $(CCOPTS) 2af0: 20 24 28 42 43 43 4f 50 54 53 29 0a 21 45 4e 44$(BCCOPTS).!END
2b00: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 61  IF..# Check if a
2b10: 73 73 65 6d 62 6c 79 20 63 6f 64 65 20 6c 69 73  ssembly code lis
2b20: 74 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20  tings should be
2b30: 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 74 68  generated for th
2b40: 65 20 73 6f 75 72 63 65 0a 23 20 63 6f 64 65 20  e source.# code
2b50: 66 69 6c 65 73 20 74 6f 20 62 65 20 63 6f 6d 70  files to be comp
2b60: 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53  iled..#.!IF $(US 2b70: 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d 30 0a 42 E_LISTINGS)!=0.B 2b80: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 46 41 63 CC =$(BCC) -FAc
2b90: 73 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63  s.!ENDIF..# Chec
2ba0: 6b 20 69 66 20 74 68 65 20 6e 61 74 69 76 65 20  k if the native
2bb0: 6c 69 62 72 61 72 79 20 70 61 74 68 73 20 73 68  library paths sh
2bc0: 6f 75 6c 64 20 62 65 20 75 73 65 64 20 77 68 65  ould be used whe
2bd0: 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68  n compiling.# th
2be0: 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74  e command line t
2bf0: 6f 6f 6c 73 20 75 73 65 64 20 64 75 72 69 6e 67  ools used during
2c00: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
2c10: 20 70 72 6f 63 65 73 73 2e 20 20 49 66 0a 23 20   process.  If.#
2c20: 73 6f 2c 20 73 65 74 20 74 68 65 20 6e 65 63 65  so, set the nece
2c30: 73 73 61 72 79 20 6d 61 63 72 6f 20 6e 6f 77 2e  ssary macro now.
2c40: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 4e 41 54  .#.!IF $(USE_NAT 2c50: 49 56 45 5f 4c 49 42 50 41 54 48 53 29 21 3d 30 IVE_LIBPATHS)!=0 2c60: 0a 4e 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 22 .NLTLIBPATHS = " 2c70: 2f 4c 49 42 50 41 54 48 3a 24 28 4e 43 52 54 4c /LIBPATH:$(NCRTL
2c80: 49 42 50 41 54 48 29 22 20 22 2f 4c 49 42 50 41  IBPATH)" "/LIBPA
2c90: 54 48 3a 24 28 4e 53 44 4b 4c 49 42 50 41 54 48  TH:$(NSDKLIBPATH 2ca0: 29 22 0a 0a 21 49 46 44 45 46 20 4e 55 43 52 54 )"..!IFDEF NUCRT 2cb0: 4c 49 42 50 41 54 48 0a 4e 55 43 52 54 4c 49 42 LIBPATH.NUCRTLIB 2cc0: 50 41 54 48 20 3d 20 24 28 4e 55 43 52 54 4c 49 PATH =$(NUCRTLI
2cd0: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4e 4c 54 4c  BPATH:\\=\).NLTL
2ce0: 49 42 50 41 54 48 53 20 3d 20 24 28 4e 4c 54 4c  IBPATHS = $(NLTL 2cf0: 49 42 50 41 54 48 53 29 20 22 2f 4c 49 42 50 41 IBPATHS) "/LIBPA 2d00: 54 48 3a 24 28 4e 55 43 52 54 4c 49 42 50 41 54 TH:$(NUCRTLIBPAT
2d10: 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  H)".!ENDIF.!ENDI
2d20: 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20  F..# C compiler
2d30: 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20  and options for
2d40: 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20  use in building
2d50: 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74  executables that
2d60: 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74  .# will run on t
2d70: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
2d80: 72 6d 2e 20 20 28 42 43 43 20 61 6e 64 20 54 43  rm.  (BCC and TC
2d90: 43 20 61 72 65 20 75 73 75 61 6c 6c 79 20 74 68  C are usually th
2da0: 65 0a 23 20 73 61 6d 65 20 75 6e 6c 65 73 73 20  e.# same unless
2db0: 79 6f 75 72 20 61 72 65 20 63 72 6f 73 73 2d 63  your are cross-c
2dc0: 6f 6d 70 69 6c 69 6e 67 2e 29 0a 23 0a 21 49 46  ompiling.).#.!IF
2dd0: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29   $(USE_FULLWARN) 2de0: 21 3d 30 0a 54 43 43 20 3d 20 24 28 43 43 29 20 !=0.TCC =$(CC)
2df0: 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 2d 44 49 4e  -nologo -W4 -DIN
2e00: 43 4c 55 44 45 5f 4d 53 56 43 5f 48 3d 31 20 24  CLUDE_MSVC_H=1 $2e10: 28 43 43 4f 50 54 53 29 20 24 28 54 43 43 4f 50 (CCOPTS)$(TCCOP
2e20: 54 53 29 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20  TS).!ELSE.TCC =
2e30: 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57  $(CC) -nologo -W 2e40: 33 20 24 28 43 43 4f 50 54 53 29 20 24 28 54 43 3$(CCOPTS) $(TC 2e50: 43 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 54 COPTS).!ENDIF..T 2e60: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 CC =$(TCC) -DSQ
2e70: 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49  LITE_OS_WIN=1 -I
2e80: 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54  . -I$(TOP) -I$(T
2e90: 4f 50 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63  OP)\src -fp:prec
2ea0: 69 73 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20  ise.RCC = $(RC) 2eb0: 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d -DSQLITE_OS_WIN= 2ec0: 31 20 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 1 -I. -I$(TOP) -
2ed0: 49 24 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43  I$(TOP)\src$(RC
2ee0: 4f 50 54 53 29 20 24 28 52 43 43 4f 50 54 53 29  OPTS) $(RCCOPTS) 2ef0: 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 ..# Check if we 2f00: 77 61 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 want to use the 2f10: 22 73 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e "stdcall" callin 2f20: 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 g convention whe 2f30: 6e 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 n compiling..# T 2f40: 68 69 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f his is not suppo 2f50: 72 74 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 rted by the comp 2f60: 69 6c 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 ilers for non-x8 2f70: 36 20 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 6 platforms. It 2f80: 20 73 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 should.# also b 2f90: 65 20 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 e noted here tha 2fa0: 74 20 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 t building any t 2fb0: 61 72 67 65 74 20 77 69 74 68 20 74 68 65 73 65 arget with these 2fc0: 20 22 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f "stdcall" optio 2fd0: 6e 73 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c ns.# will most l 2fe0: 69 6b 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 ikely fail if th 2ff0: 65 20 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 e Tcl library is 3000: 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 also required. 3010: 20 54 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 This is due.# t 3020: 6f 20 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 o how the Tcl li 3030: 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 brary functions 3040: 61 72 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 are declared and 3050: 20 65 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 exported (i.e. 3060: 77 69 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 without.# an exp 3070: 6c 69 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f licit calling co 3080: 6e 76 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 nvention, which 3090: 72 65 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 results in "cdec 30a0: 6c 22 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 l")..#.!IF$(USE
30b0: 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20  _STDCALL)!=0 ||
30c0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0. 30d0: 21 49 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 !IF "$(PLATFORM)
30e0: 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43  "=="x86".CORE_CC
30f0: 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d  ONV_OPTS = -Gz -
3100: 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f  DSQLITE_CDECL=__
3110: 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 53  cdecl -DSQLITE_S
3120: 54 44 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c  TDCALL=__stdcall
3130: 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54  .SHELL_CCONV_OPT
3140: 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45  S = -Gz -DSQLITE
3150: 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d  _CDECL=__cdecl -
3160: 44 53 51 4c 49 54 45 5f 53 54 44 43 41 4c 4c 3d  DSQLITE_STDCALL=
3170: 5f 5f 73 74 64 63 61 6c 6c 0a 21 45 4c 53 45 0a  __stdcall.!ELSE.
3180: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d  !IFNDEF PLATFORM
3190: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
31a0: 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f   = -Gz -DSQLITE_
31b0: 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44  CDECL=__cdecl -D
31c0: 53 51 4c 49 54 45 5f 53 54 44 43 41 4c 4c 3d 5f  SQLITE_STDCALL=_
31d0: 5f 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43  _stdcall.SHELL_C
31e0: 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20  CONV_OPTS = -Gz
31f0: 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f  -DSQLITE_CDECL=_
3200: 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f  _cdecl -DSQLITE_
3210: 53 54 44 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c  STDCALL=__stdcal
3220: 6c 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f  l.!ELSE.CORE_CCO
3230: 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f  NV_OPTS =.SHELL_
3240: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 21 45 4e  CCONV_OPTS =.!EN
3250: 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45  DIF.!ENDIF.!ELSE
3260: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
3270: 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f   =.SHELL_CCONV_O
3280: 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20  PTS =.!ENDIF..#
3290: 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69  These are additi
32a0: 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70  onal compiler op
32b0: 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74  tions used for t
32c0: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e  he core library.
32d0: 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f  .#.!IFNDEF CORE_
32e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46  COMPILE_OPTS.!IF
32f0: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL 3300: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 )!=0 ||$(FOR_WI
3310: 4e 31 30 29 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d  N10)!=0.CORE_COM
3320: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f  PILE_OPTS = $(CO 3330: 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d RE_CCONV_OPTS) - 3340: 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 DSQLITE_API=__de 3350: 63 6c 73 70 65 63 28 64 6c 6c 65 78 70 6f 72 74 clspec(dllexport 3360: 29 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d ).!ELSE.CORE_COM 3370: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f PILE_OPTS =$(CO
3380: 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21  RE_CCONV_OPTS).!
3390: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
33a0: 54 68 65 73 65 20 61 72 65 20 74 68 65 20 61 64  These are the ad
33b0: 64 69 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 73  ditional targets
33c0: 20 74 68 61 74 20 74 68 65 20 63 6f 72 65 20 6c   that the core l
33d0: 69 62 72 61 72 79 20 73 68 6f 75 6c 64 20 64 65  ibrary should de
33e0: 70 65 6e 64 20 6f 6e 0a 23 20 77 68 65 6e 20 6c  pend on.# when l
33f0: 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  inking..#.!IFNDE
3400: 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a  F CORE_LINK_DEP.
3410: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH 3420: 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e ELL)!=0.CORE_LIN 3430: 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 45 49 46 20 K_DEP =.!ELSEIF 3440: 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20$(FOR_WIN10)==0
3450: 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  || "$(PLATFORM)" 3460: 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e =="x86".CORE_LIN 3470: 4b 5f 44 45 50 20 3d 20 73 71 6c 69 74 65 33 2e K_DEP = sqlite3. 3480: 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c def.!ELSE.CORE_L 3490: 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 INK_DEP =.!ENDIF 34a0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 .!ENDIF..# These 34b0: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 are additional 34c0: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 linker options u 34d0: 73 65 64 20 66 6f 72 20 74 68 65 20 63 6f 72 65 sed for the core 34e0: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e library..#.!IFN 34f0: 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 DEF CORE_LINK_OP 3500: 54 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 TS.!IF$(DYNAMIC
3510: 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f  _SHELL)!=0.CORE_
3520: 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4c 53  LINK_OPTS =.!ELS
3530: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  EIF $(FOR_WIN10) 3540: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f ==0 || "$(PLATFO
3550: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
3560: 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 2f 44 45  _LINK_OPTS = /DE
3570: 46 3a 73 71 6c 69 74 65 33 2e 64 65 66 0a 21 45  F:sqlite3.def.!E
3580: 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50  LSE.CORE_LINK_OP
3590: 54 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  TS =.!ENDIF.!END
35a0: 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20  IF..# These are
35b0: 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69  additional compi
35c0: 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64  ler options used
35d0: 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65   for the shell e
35e0: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46  xecutable..#.!IF
35f0: 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 4d 50 49  NDEF SHELL_COMPI
3600: 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59  LE_OPTS.!IF $(DY 3610: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 NAMIC_SHELL)!=0 3620: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 ||$(FOR_WIN10)!
3630: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  =0.SHELL_COMPILE
3640: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_ 3650: 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 CCONV_OPTS) -DSQ 3660: 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 LITE_API=__decls 3670: 70 65 63 28 64 6c 6c 69 6d 70 6f 72 74 29 0a 21 pec(dllimport).! 3680: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 ELSE.SHELL_COMPI 3690: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c LE_OPTS =$(SHEL
36a0: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45  L_CCONV_OPTS).!E
36b0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
36c0: 68 69 73 20 69 73 20 74 68 65 20 73 6f 75 72 63  his is the sourc
36d0: 65 20 63 6f 64 65 20 74 68 61 74 20 74 68 65 20  e code that the
36e0: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  shell executable
36f0: 20 73 68 6f 75 6c 64 20 62 65 20 63 6f 6d 70 69   should be compi
3700: 6c 65 64 0a 23 20 77 69 74 68 2e 0a 23 0a 21 49  led.# with..#.!I
3710: 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45  FNDEF SHELL_CORE
3720: 5f 53 52 43 0a 21 49 46 20 24 28 44 59 4e 41 4d  _SRC.!IF $(DYNAM 3730: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 IC_SHELL)!=0 || 3740: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a$(FOR_WIN10)!=0.
3750: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d  SHELL_CORE_SRC =
3760: 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52  .!ELSE.SHELL_COR
3770: 45 5f 53 52 43 20 3d 20 24 28 53 51 4c 49 54 45  E_SRC = $(SQLITE 3780: 33 43 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 3C).!ENDIF.!ENDI 3790: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 F..# This is the 37a0: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68 core library th 37b0: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 at the shell exe 37c0: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 64 cutable should d 37d0: 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e epend on..#.!IFN 37e0: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 DEF SHELL_CORE_D 37f0: 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 EP.!IF$(DYNAMIC
3800: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $( 3810: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 FOR_WIN10)!=0.SH 3820: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 24 ELL_CORE_DEP =$
3830: 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 21 45 4c  (SQLITE3DLL).!EL
3840: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  SE.SHELL_CORE_DE
3850: 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  P =.!ENDIF.!ENDI
3860: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  F..# This is the
3870: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68   core library th
3880: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  at the shell exe
3890: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c  cutable should l
38a0: 69 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e  ink with..#.!IFN
38b0: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  DEF SHELL_CORE_L
38c0: 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  IB.!IF $(DYNAMIC 38d0: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 _SHELL)!=0 ||$(
38e0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
38f0: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24  ELL_CORE_LIB = $3900: 28 53 51 4c 49 54 45 33 4c 49 42 29 0a 21 45 4c (SQLITE3LIB).!EL 3910: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 SE.SHELL_CORE_LI 3920: 42 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 B =.!ENDIF.!ENDI 3930: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 F..# These are a 3940: 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 dditional linker 3950: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f options used fo 3960: 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 r the shell exec 3970: 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 utable..#.!IFNDE 3980: 46 20 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 F SHELL_LINK_OPT 3990: 53 0a 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 S.SHELL_LINK_OPT 39a0: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 S =$(SHELL_CORE
39b0: 5f 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20  _LIB).!ENDIF..#
39c0: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
39d0: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings
39e0: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
39f0: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
3a00: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files
3a10: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
3a20: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST 3a30: 49 4e 47 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 INGS)!=0.TCC =$
3a40: 28 54 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (TCC) -FAcs.!END
3a50: 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69  IF..# When compi
3a60: 6c 69 6e 67 20 74 68 65 20 6c 69 62 72 61 72 79  ling the library
3a70: 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20   for use in the
3a80: 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e  WinRT environmen
3a90: 74 2c 0a 23 20 74 68 65 20 66 6f 6c 6c 6f 77 69  t,.# the followi
3aa0: 6e 67 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20  ng compile-time
3ab0: 6f 70 74 69 6f 6e 73 20 6d 75 73 74 20 62 65 20  options must be
3ac0: 75 73 65 64 20 61 73 20 77 65 6c 6c 20 74 6f 0a  used as well to.
3ad0: 23 20 64 69 73 61 62 6c 65 20 75 73 65 20 6f 66  # disable use of
3ae0: 20 57 69 6e 33 32 20 41 50 49 73 20 74 68 61 74   Win32 APIs that
3af0: 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c 61 62   are not availab
3b00: 6c 65 20 61 6e 64 20 74 6f 20 65 6e 61 62 6c 65  le and to enable
3b10: 0a 23 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20  .# use of Win32
3b20: 41 50 49 73 20 74 68 61 74 20 61 72 65 20 73 70  APIs that are sp
3b30: 65 63 69 66 69 63 20 74 6f 20 57 69 6e 64 6f 77  ecific to Window
3b40: 73 20 38 20 61 6e 64 2f 6f 72 20 57 69 6e 52 54  s 8 and/or WinRT
3b50: 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  ..#.!IF $(FOR_WI 3b60: 4e 52 54 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 NRT)!=0.TCC =$(
3b70: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53  TCC) -DSQLITE_OS
3b80: 5f 57 49 4e 52 54 3d 31 0a 52 43 43 20 3d 20 24  _WINRT=1.RCC = $3b90: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f (RCC) -DSQLITE_O 3ba0: 53 5f 57 49 4e 52 54 3d 31 0a 54 43 43 20 3d 20 S_WINRT=1.TCC = 3bb0: 24 28 54 43 43 29 20 2d 44 57 49 4e 41 50 49 5f$(TCC) -DWINAPI_
3bc0: 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41  FAMILY=WINAPI_FA
3bd0: 4d 49 4c 59 5f 41 50 50 0a 52 43 43 20 3d 20 24  MILY_APP.RCC = $3be0: 28 52 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 (RCC) -DWINAPI_F 3bf0: 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d AMILY=WINAPI_FAM 3c00: 49 4c 59 5f 41 50 50 0a 21 45 4e 44 49 46 0a 0a ILY_APP.!ENDIF.. 3c10: 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 # C compiler opt 3c20: 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 57 69 6e ions for the Win 3c30: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d dows 10 platform 3c40: 20 28 6e 65 65 64 73 20 4d 53 56 43 20 32 30 31 (needs MSVC 201 3c50: 35 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 5)..#.!IF$(FOR_
3c60: 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20  WIN10)!=0.TCC =
3c70: 24 28 54 43 43 29 20 2f 64 32 67 75 61 72 64 34  $(TCC) /d2guard4 3c80: 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 -D_ARM_WINAPI_P 3c90: 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 ARTITION_DESKTOP 3ca0: 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 42 _SDK_AVAILABLE.B 3cb0: 43 43 20 3d 20 24 28 42 43 43 29 20 2f 64 32 67 CC =$(BCC) /d2g
3cc0: 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e  uard4 -D_ARM_WIN
3cd0: 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45  API_PARTITION_DE
3ce0: 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41  SKTOP_SDK_AVAILA
3cf0: 42 4c 45 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c  BLE.!ENDIF..# Al
3d00: 73 6f 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 64  so, we need to d
3d10: 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20  ynamically link
3d20: 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74 20 4d  to the correct M
3d30: 53 56 43 20 72 75 6e 74 69 6d 65 0a 23 20 77 68  SVC runtime.# wh
3d40: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
3d50: 20 57 69 6e 52 54 20 28 65 2e 67 2e 20 64 65 62   WinRT (e.g. deb
3d60: 75 67 20 6f 72 20 72 65 6c 65 61 73 65 29 20 4f  ug or release) O
3d70: 52 20 69 66 20 74 68 65 0a 23 20 55 53 45 5f 43  R if the.# USE_C
3d80: 52 54 5f 44 4c 4c 20 6f 70 74 69 6f 6e 20 69 73  RT_DLL option is
3d90: 20 73 65 74 20 74 6f 20 66 6f 72 63 65 20 64 79   set to force dy
3da0: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e  namically linkin
3db0: 67 20 74 6f 20 74 68 65 0a 23 20 4d 53 56 43 20  g to the.# MSVC
3dc0: 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 2e  runtime library.
3dd0: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN 3de0: 52 54 29 21 3d 30 20 7c 7c 20 24 28 55 53 45 5f RT)!=0 ||$(USE_
3df0: 43 52 54 5f 44 4c 4c 29 21 3d 30 0a 21 49 46 20  CRT_DLL)!=0.!IF
3e00: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d  $(DEBUG)>1.TCC = 3e10: 20 24 28 54 43 43 29 20 2d 4d 44 64 0a 42 43 43$(TCC) -MDd.BCC
3e20: 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 64 0a 21   = $(BCC) -MDd.! 3e30: 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54 43 43 ELSE.TCC =$(TCC
3e40: 29 20 2d 4d 44 0a 42 43 43 20 3d 20 24 28 42 43  ) -MD.BCC = $(BC 3e50: 43 29 20 2d 4d 44 0a 21 45 4e 44 49 46 0a 21 45 C) -MD.!ENDIF.!E 3e60: 4c 53 45 0a 21 49 46 20 24 28 44 45 42 55 47 29 LSE.!IF$(DEBUG)
3e70: 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >1.TCC = $(TCC) 3e80: 2d 4d 54 64 0a 42 43 43 20 3d 20 24 28 42 43 43 -MTd.BCC =$(BCC
3e90: 29 20 2d 4d 54 64 0a 21 45 4c 53 45 0a 54 43 43  ) -MTd.!ELSE.TCC
3ea0: 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 0a 42 43   = $(TCC) -MT.BC 3eb0: 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54 0a 21 C =$(BCC) -MT.!
3ec0: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
3ed0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20 6d  <<mark>>.# The m
3ee0: 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 61 6e  ksqlite3c.tcl an
3ef0: 64 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  d mksqlite3h.tcl
3f00: 20 73 63 72 69 70 74 73 20 77 69 6c 6c 20 70 75   scripts will pu
3f10: 6c 6c 20 69 6e 0a 23 20 61 6e 79 20 65 78 74 65  ll in.# any exte
3f20: 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c  nsion header fil
3f30: 65 73 20 62 79 20 64 65 66 61 75 6c 74 2e 20 20  es by default.
3f40: 46 6f 72 20 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61  For non-amalgama
3f50: 74 69 6f 6e 0a 23 20 62 75 69 6c 64 73 2c 20 77  tion.# builds, w
3f60: 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 73  e need to make s
3f70: 75 72 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72  ure the compiler
3f80: 20 63 61 6e 20 66 69 6e 64 20 74 68 65 73 65 2e   can find these.
3f90: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41  .#.!IF $(USE_AMA 3fa0: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 LGAMATION)==0.TC 3fb0: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 C =$(TCC) -I$(T 3fc0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 52 43 43 OP)\ext\fts3.RCC 3fd0: 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f =$(RCC) -I$(TO 3fe0: 50 29 5c 65 78 74 5c 66 74 73 33 0a 54 43 43 20 P)\ext\fts3.TCC 3ff0: 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 =$(TCC) -I$(TOP 4000: 29 5c 65 78 74 5c 72 74 72 65 65 0a 52 43 43 20 )\ext\rtree.RCC 4010: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 =$(RCC) -I$(TOP 4020: 29 5c 65 78 74 5c 72 74 72 65 65 0a 21 45 4e 44 )\ext\rtree.!END 4030: 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 IF..# The mksqli 4040: 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 20 te3c.tcl script 4050: 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 accepts some opt 4060: 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d ions on the comm 4070: 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65 and.# line. Whe 4080: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 n compiling with 4090: 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 6c debugging enabl 40a0: 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 ed, some of thes 40b0: 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 e.# options are 40c0: 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64 necessary in ord 40d0: 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75 er to allow debu 40e0: 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f gging symbols to 40f0: 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c .# work correctl 4100: 79 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74 y with Visual St 4110: 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 20 udio when using 4120: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e the amalgamation 4130: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 ..#.!IFNDEF MKSQ 4140: 4c 49 54 45 33 43 5f 41 52 47 53 0a 21 49 46 20 LITE3C_ARGS.!IF 4150: 24 28 44 45 42 55 47 29 3e 31 0a 4d 4b 53 51 4c$(DEBUG)>1.MKSQL
4160: 49 54 45 33 43 5f 41 52 47 53 20 3d 20 2d 2d 6c  ITE3C_ARGS = --l
4170: 69 6e 65 6d 61 63 72 6f 73 0a 21 45 4c 53 45 0a  inemacros.!ELSE.
4180: 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20  MKSQLITE3C_ARGS
4190: 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  =.!ENDIF.!ENDIF.
41a0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44  # <</mark>>..# D
41b0: 65 66 69 6e 65 20 2d 44 4e 44 45 42 55 47 20 74  efine -DNDEBUG t
41c0: 6f 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 6f 75  o compile withou
41d0: 74 20 64 65 62 75 67 67 69 6e 67 20 28 69 2e 65  t debugging (i.e
41e0: 2e 2c 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f  ., for productio
41f0: 6e 20 75 73 61 67 65 29 0a 23 20 4f 6d 69 74 74  n usage).# Omitt
4200: 69 6e 67 20 74 68 65 20 64 65 66 69 6e 65 20 77  ing the define w
4210: 69 6c 6c 20 63 61 75 73 65 20 65 78 74 72 61 20  ill cause extra
4220: 64 65 62 75 67 67 69 6e 67 20 63 6f 64 65 20 74  debugging code t
4230: 6f 20 62 65 20 69 6e 73 65 72 74 65 64 20 61 6e  o be inserted an
4240: 64 0a 23 20 69 6e 63 6c 75 64 65 73 20 65 78 74  d.# includes ext
4250: 72 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68 65 6e  ra comments when
4260: 20 22 45 58 50 4c 41 49 4e 20 73 74 6d 74 22 20   "EXPLAIN stmt"
4270: 69 73 20 75 73 65 64 2e 0a 23 0a 21 49 46 20 24  is used..#.!IF $4280: 28 44 45 42 55 47 29 3d 3d 30 0a 54 43 43 20 3d (DEBUG)==0.TCC = 4290: 20 24 28 54 43 43 29 20 2d 44 4e 44 45 42 55 47$(TCC) -DNDEBUG
42a0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44  .BCC = $(BCC) -D 42b0: 4e 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52 NDEBUG.RCC =$(R
42c0: 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 21 45 4e  CC) -DNDEBUG.!EN
42d0: 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47  DIF..!IF $(DEBUG 42e0: 29 3e 30 20 7c 7c 20 24 28 41 50 49 5f 41 52 4d )>0 ||$(API_ARM
42f0: 4f 52 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  OR)!=0 || $(FOR_ 4300: 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20 WIN10)!=0.TCC = 4310: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(TCC) -DSQLITE_
4320: 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f 52  ENABLE_API_ARMOR
4330: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 4340: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 4350: 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 21 45 4e 44 API_ARMOR=1.!END 4360: 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 IF..!IF$(DEBUG)
4370: 3e 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >2.TCC = $(TCC) 4380: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 -DSQLITE_DEBUG=1 4390: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 .RCC =$(RCC) -D
43a0: 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a 21  SQLITE_DEBUG=1.!
43b0: 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42  ENDIF..!IF $(DEB 43c0: 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 52 41 UG)>4 ||$(OSTRA
43d0: 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  CE)!=0.TCC = $(T 43e0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 CC) -DSQLITE_FOR 43f0: 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 CE_OS_TRACE=1 -D 4400: 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f SQLITE_DEBUG_OS_ 4410: 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 TRACE=1.RCC =$(
4420: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f  RCC) -DSQLITE_FO
4430: 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d  RCE_OS_TRACE=1 -
4440: 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53  DSQLITE_DEBUG_OS
4450: 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a  _TRACE=1.!ENDIF.
4460: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 35 0a  .!IF $(DEBUG)>5. 4470: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 TCC =$(TCC) -DS
4480: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54  QLITE_ENABLE_IOT
4490: 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  RACE=1.RCC = $(R 44a0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 CC) -DSQLITE_ENA 44b0: 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 21 45 BLE_IOTRACE=1.!E 44c0: 4e 44 49 46 0a 0a 23 20 50 72 65 76 65 6e 74 20 NDIF..# Prevent 44d0: 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 warnings about " 44e0: 69 6e 73 65 63 75 72 65 22 20 4d 53 56 43 20 72 insecure" MSVC r 44f0: 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 66 untime library f 4500: 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 6e 67 unctions.# being 4510: 20 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 used..#.TCC =$
4520: 28 54 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43  (TCC) -D_CRT_SEC
4530: 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45  URE_NO_DEPRECATE
4540: 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e   -D_CRT_SECURE_N
4550: 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d  O_WARNINGS.BCC =
4560: 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 53   $(BCC) -D_CRT_S 4570: 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 ECURE_NO_DEPRECA 4580: 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 TE -D_CRT_SECURE 4590: 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 _NO_WARNINGS.RCC 45a0: 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 =$(RCC) -D_CRT
45b0: 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45  _SECURE_NO_DEPRE
45c0: 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55  CATE -D_CRT_SECU
45d0: 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a  RE_NO_WARNINGS..
45e0: 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e  # Prevent warnin
45f0: 67 73 20 61 62 6f 75 74 20 22 64 65 70 72 65 63  gs about "deprec
4600: 61 74 65 64 22 20 50 4f 53 49 58 20 66 75 6e 63  ated" POSIX func
4610: 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 65 64  tions being used
4620: 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29  ..#.TCC = $(TCC) 4630: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f -D_CRT_NONSTDC_ 4640: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f NO_DEPRECATE -D_ 4650: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 CRT_NONSTDC_NO_W 4660: 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28 ARNINGS.BCC =$(
4670: 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53  BCC) -D_CRT_NONS
4680: 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45  TDC_NO_DEPRECATE
4690: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f   -D_CRT_NONSTDC_
46a0: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20  NO_WARNINGS.RCC
46b0: 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f  = $(RCC) -D_CRT_ 46c0: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 NONSTDC_NO_DEPRE 46d0: 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 CATE -D_CRT_NONS 46e0: 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a TDC_NO_WARNINGS. 46f0: 0a 23 20 55 73 65 20 74 68 65 20 53 51 4c 69 74 .# Use the SQLit 4700: 65 20 64 65 62 75 67 67 69 6e 67 20 68 65 61 70 e debugging heap 4710: 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 subsystem?.#.!I 4720: 46 20 24 28 4d 45 4d 44 45 42 55 47 29 21 3d 30 F$(MEMDEBUG)!=0
4730: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D 4740: 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d SQLITE_MEMDEBUG= 4750: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 1.RCC =$(RCC) -
4760: 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47  DSQLITE_MEMDEBUG
4770: 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 76 65  =1..# Use native
4780: 20 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73   Win32 heap subs
4790: 79 73 74 65 6d 20 69 6e 73 74 65 61 64 20 6f 66  ystem instead of
47a0: 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a 23 0a   malloc/free?.#.
47b0: 21 45 4c 53 45 49 46 20 24 28 57 49 4e 33 32 48  !ELSEIF $(WIN32H 47c0: 45 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 EAP)!=0.TCC =$(
47d0: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49  TCC) -DSQLITE_WI
47e0: 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 43 43  N32_MALLOC=1.RCC
47f0: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49   = $(RCC) -DSQLI 4800: 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d TE_WIN32_MALLOC= 4810: 31 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 74 68 1..# Validate th 4820: 65 20 68 65 61 70 20 6f 6e 20 65 76 65 72 79 20 e heap on every 4830: 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 6e 61 call into the na 4840: 74 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 tive Win32 heap 4850: 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46 subsystem?.#.!IF 4860: 20 24 28 44 45 42 55 47 29 3e 33 0a 54 43 43 20$(DEBUG)>3.TCC
4870: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT 4880: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 E_WIN32_MALLOC_V 4890: 41 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 3d 20 ALIDATE=1.RCC = 48a0: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(RCC) -DSQLITE_
48b0: 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c  WIN32_MALLOC_VAL
48c0: 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a 21  IDATE=1.!ENDIF.!
48d0: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
48e0: 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e  >.# The location
48f0: 73 20 6f 66 20 74 68 65 20 54 63 6c 20 68 65 61  s of the Tcl hea
4900: 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20  der and library
4910: 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 74 68  files.  Also, th
4920: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 0a 23  e library that.#
4930: 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 62 6c   non-stubs enabl
4940: 65 64 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e  ed programs usin
4950: 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e 6b 20  g Tcl must link
4960: 61 67 61 69 6e 73 74 2e 20 20 54 68 65 73 65 20  against.  These
4970: 76 61 72 69 61 62 6c 65 73 0a 23 20 28 54 43 4c  variables.# (TCL
4980: 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 44 49  INCDIR, TCLLIBDI
4990: 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 20 6d  R, and LIBTCL) m
49a0: 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e  ay be overridden
49b0: 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e   via the environ
49c0: 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20  ment.# prior to
49d0: 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e  running nmake in
49e0: 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20   order to match
49f0: 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61  the actual insta
4a00: 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 61 6e  lled location an
4a10: 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e 20 74  d.# version on t
4a20: 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21  his machine..#.!
4a30: 49 46 4e 44 45 46 20 54 43 4c 49 4e 43 44 49 52  IFNDEF TCLINCDIR
4a40: 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 63 3a 5c  .TCLINCDIR = c:\
4a50: 74 63 6c 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44  tcl\include.!END
4a60: 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 4c  IF..!IFNDEF TCLL
4a70: 49 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 52 20  IBDIR.TCLLIBDIR
4a80: 3d 20 63 3a 5c 74 63 6c 5c 6c 69 62 0a 21 45 4e  = c:\tcl\lib.!EN
4a90: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
4aa0: 54 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 63 6c  TCL.LIBTCL = tcl
4ab0: 38 35 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21  85.lib.!ENDIF..!
4ac0: 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54 55  IFNDEF LIBTCLSTU
4ad0: 42 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20 74  B.LIBTCLSTUB = t
4ae0: 63 6c 73 74 75 62 38 35 2e 6c 69 62 0a 21 45 4e  clstub85.lib.!EN
4af0: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
4b00: 54 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c 50 41  TCLPATH.LIBTCLPA
4b10: 54 48 20 3d 20 63 3a 5c 74 63 6c 5c 62 69 6e 0a  TH = c:\tcl\bin.
4b20: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f  !ENDIF..# The lo
4b30: 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49  cations of the I
4b40: 43 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69  CU header and li
4b50: 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68  brary files.  Th
4b60: 65 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20  ese variables.#
4b70: 28 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c  (ICUINCDIR, ICUL
4b80: 49 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43  IBDIR, and LIBIC
4b90: 55 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69  U) may be overri
4ba0: 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76  dden via the env
4bb0: 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72  ironment.# prior
4bc0: 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b   to running nmak
4bd0: 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61  e in order to ma
4be0: 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69  tch the actual i
4bf0: 6e 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f  nstalled locatio
4c00: 6e 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68  n on.# this mach
4c10: 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49  ine..#.!IFNDEF I
4c20: 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 44  CUINCDIR.ICUINCD
4c30: 49 52 20 3d 20 63 3a 5c 69 63 75 5c 69 6e 63 6c  IR = c:\icu\incl
4c40: 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  ude.!ENDIF..!IFN
4c50: 44 45 46 20 49 43 55 4c 49 42 44 49 52 0a 49 43  DEF ICULIBDIR.IC
4c60: 55 4c 49 42 44 49 52 20 3d 20 63 3a 5c 69 63 75  ULIBDIR = c:\icu
4c70: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46  \lib.!ENDIF..!IF
4c80: 4e 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 42 49  NDEF LIBICU.LIBI
4c90: 43 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 20 69  CU = icuuc.lib i
4ca0: 63 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a  cuin.lib.!ENDIF.
4cb0: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63  .# This is the c
4cc0: 6f 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 66 6f  ommand to use fo
4cd0: 72 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c  r tclsh - normal
4ce0: 6c 79 20 6a 75 73 74 20 22 74 63 6c 73 68 22 2c  ly just "tclsh",
4cf0: 20 62 75 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e   but we may.# kn
4d00: 6f 77 20 74 68 65 20 73 70 65 63 69 66 69 63 20  ow the specific
4d10: 76 65 72 73 69 6f 6e 20 77 65 20 77 61 6e 74 20  version we want
4d20: 74 6f 20 75 73 65 2e 20 20 54 68 69 73 20 76 61  to use.  This va
4d30: 72 69 61 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d  riable (TCLSH_CM
4d40: 44 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 65 72  D) may be.# over
4d50: 72 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65  ridden via the e
4d60: 6e 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72  nvironment prior
4d70: 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b   to running nmak
4d80: 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 65  e in order to se
4d90: 6c 65 63 74 20 61 0a 23 20 73 70 65 63 69 66 69  lect a.# specifi
4da0: 63 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75  c Tcl shell to u
4db0: 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54 43  se..#.!IFNDEF TC
4dc0: 4c 53 48 5f 43 4d 44 0a 54 43 4c 53 48 5f 43 4d  LSH_CMD.TCLSH_CM
4dd0: 44 20 3d 20 74 63 6c 73 68 38 35 0a 21 45 4e 44  D = tclsh85.!END
4de0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
4df0: 23 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f  # Compiler optio
4e00: 6e 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72  ns needed for pr
4e10: 6f 67 72 61 6d 73 20 74 68 61 74 20 75 73 65 20  ograms that use
4e20: 74 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20 6c  the readline() l
4e30: 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45  ibrary..#.!IFNDE
4e40: 46 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53  F READLINE_FLAGS
4e50: 0a 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20  .READLINE_FLAGS
4e60: 3d 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49 4e  = -DHAVE_READLIN
4e70: 45 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  E=0.!ENDIF..# Th
4e80: 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 70  e library that p
4e90: 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72 65  rograms using re
4ea0: 61 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c 69  adline() must li
4eb0: 6e 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49  nk against..#.!I
4ec0: 46 4e 44 45 46 20 4c 49 42 52 45 41 44 4c 49 4e  FNDEF LIBREADLIN
4ed0: 45 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a  E.LIBREADLINE =.
4ee0: 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64  !ENDIF..# Should
4ef0: 20 74 68 65 20 64 61 74 61 62 61 73 65 20 65 6e   the database en
4f00: 67 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65 64  gine be compiled
4f10: 20 74 68 72 65 61 64 73 61 66 65 0a 23 0a 54 43   threadsafe.#.TC
4f20: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c  C = $(TCC) -DSQL 4f30: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31 ITE_THREADSAFE=1 4f40: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 .RCC =$(RCC) -D
4f50: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
4f60: 45 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 61 64  E=1..# Do thread
4f70: 73 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 20  s override each
4f80: 6f 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 79 20  others locks by
4f90: 64 65 66 61 75 6c 74 20 28 31 29 2c 20 6f 72 20  default (1), or
4fa0: 64 6f 20 77 65 20 74 65 73 74 20 28 2d 31 29 0a  do we test (-1).
4fb0: 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  #.TCC = $(TCC) - 4fc0: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f DSQLITE_THREAD_O 4fd0: 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a VERRIDE_LOCK=-1. 4fe0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 RCC =$(RCC) -DS
4ff0: 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45  QLITE_THREAD_OVE
5000: 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23  RRIDE_LOCK=-1..#
5010: 20 41 6e 79 20 74 61 72 67 65 74 20 6c 69 62 72   Any target libr
5020: 61 72 69 65 73 20 77 68 69 63 68 20 6c 69 62 73  aries which libs
5030: 71 6c 69 74 65 20 6d 75 73 74 20 62 65 20 6c 69  qlite must be li
5040: 6e 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 0a 21  nked against.#.!
5050: 49 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c 49  IFNDEF TLIBS.TLI
5060: 42 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46  BS =.!ENDIF..# F
5070: 6c 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67  lags controlling
5080: 20 75 73 65 20 6f 66 20 74 68 65 20 69 6e 20 6d   use of the in m
5090: 65 6d 6f 72 79 20 62 74 72 65 65 20 69 6d 70 6c  emory btree impl
50a0: 65 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53  ementation.#.# S
50b0: 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45  QLITE_TEMP_STORE
50c0: 20 69 73 20 30 20 74 6f 20 66 6f 72 63 65 20 74   is 0 to force t
50d0: 65 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 73 20  emporary tables
50e0: 74 6f 20 62 65 20 69 6e 20 61 20 66 69 6c 65 2c  to be in a file,
50f0: 20 31 20 74 6f 0a 23 20 64 65 66 61 75 6c 74 20   1 to.# default
5100: 74 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 64 65  to file, 2 to de
5110: 66 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c  fault to memory,
5120: 20 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 65 20   and 3 to force
5130: 74 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 62 6c  temporary.# tabl
5140: 65 73 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20  es to always be
5150: 69 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43  in memory..#.TCC
5160: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI 5170: 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a TE_TEMP_STORE=1. 5180: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 RCC =$(RCC) -DS
5190: 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45  QLITE_TEMP_STORE
51a0: 3d 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73  =1..# Enable/dis
51b0: 61 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65 78  able loadable ex
51c0: 74 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74  tensions, and ot
51d0: 68 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61  her optional fea
51e0: 74 75 72 65 73 0a 23 20 62 61 73 65 64 20 6f 6e  tures.# based on
51f0: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20   configuration.
5200: 28 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c  (-DSQLITE_OMIT*,
5210: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
5220: 2a 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 20 73  *)..# The same s
5230: 65 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45  et of OMIT and E
5240: 4e 41 42 4c 45 20 66 6c 61 67 73 20 73 68 6f 75  NABLE flags shou
5250: 6c 64 20 62 65 20 70 61 73 73 65 64 20 74 6f 20  ld be passed to
5260: 74 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73  the.# LEMON pars
5270: 65 72 20 67 65 6e 65 72 61 74 6f 72 20 61 6e 64  er generator and
5280: 20 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61   the mkkeywordha
5290: 73 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e  sh tool as well.
52a0: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68  ..# These are th
52b0: 65 20 72 65 71 75 69 72 65 64 20 53 51 4c 69 74  e required SQLit
52c0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
52d0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when
52e0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.#
52f0: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74  the Windows plat
5300: 66 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54  form..#.REQ_FEAT
5310: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45  URE_FLAGS = $(RE 5320: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 Q_FEATURE_FLAGS) 5330: 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52 -DSQLITE_MAX_TR 5340: 49 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30 0a IGGER_DEPTH=100. 5350: 0a 23 20 49 66 20 77 65 20 61 72 65 20 6c 69 6e .# If we are lin 5360: 6b 69 6e 67 20 74 6f 20 74 68 65 20 52 50 43 52 king to the RPCR 5370: 54 34 20 6c 69 62 72 61 72 79 2c 20 65 6e 61 62 T4 library, enab 5380: 6c 65 20 66 65 61 74 75 72 65 73 20 74 68 61 74 le features that 5390: 20 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49 46 20 need it..#.!IF 53a0: 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42$(USE_RPCRT4_LIB
53b0: 29 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 52 45  )!=0.REQ_FEATURE
53c0: 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46  _FLAGS = $(REQ_F 53d0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 EATURE_FLAGS) -D 53e0: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53 45 SQLITE_WIN32_USE 53f0: 5f 55 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a _UUID=1.!ENDIF.. 5400: 23 20 41 64 64 20 74 68 65 20 72 65 71 75 69 72 # Add the requir 5410: 65 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20 ed and optional 5420: 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 SQLite compilati 5430: 6f 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20 on options into 5440: 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 the command.# li 5450: 6e 65 73 20 75 73 65 64 20 74 6f 20 69 6e 76 6f nes used to invo 5460: 6b 65 20 74 68 65 20 4d 53 56 43 20 63 6f 64 65 ke the MSVC code 5470: 20 61 6e 64 20 72 65 73 6f 75 72 63 65 20 63 6f and resource co 5480: 6d 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d mpilers..#.TCC = 5490: 20 24 28 54 43 43 29 20 24 28 52 45 51 5f 46 45$(TCC) $(REQ_FE 54a0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f ATURE_FLAGS)$(O
54b0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
54c0: 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f  ) $(EXT_FEATURE_ 54d0: 46 4c 41 47 53 29 0a 52 43 43 20 3d 20 24 28 52 FLAGS).RCC =$(R
54e0: 43 43 29 20 24 28 52 45 51 5f 46 45 41 54 55 52  CC) $(REQ_FEATUR 54f0: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 E_FLAGS)$(OPT_F
5500: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $( 5510: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 EXT_FEATURE_FLAG 5520: 53 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e 79 S)..# Add in any 5530: 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 optional parame 5540: 74 65 72 73 20 73 70 65 63 69 66 69 65 64 20 6f ters specified o 5550: 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69 n the commane li 5560: 6e 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65 ne, e.g..# nmake 5570: 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 /f Makefile.msc 5580: 20 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c all "OPTS=-DSQL 5590: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31 ITE_ENABLE_FOO=1 55a0: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 -DSQLITE_OMIT_F 55b0: 4f 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24 28 OO=1".#.TCC =$(
55c0: 54 43 43 29 20 24 28 4f 50 54 53 29 0a 52 43 43  TCC) $(OPTS).RCC 55d0: 20 3d 20 24 28 52 43 43 29 20 24 28 4f 50 54 53 =$(RCC) $(OPTS 55e0: 29 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e )..# If compilin 55f0: 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2c g for debugging, 5600: 20 61 64 64 20 73 6f 6d 65 20 64 65 66 69 6e 65 add some define 5610: 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 s..#.!IF$(DEBUG
5620: 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>1.TCC = $(TCC) 5630: 20 2d 44 5f 44 45 42 55 47 0a 42 43 43 20 3d 20 -D_DEBUG.BCC = 5640: 24 28 42 43 43 29 20 2d 44 5f 44 45 42 55 47 0a$(BCC) -D_DEBUG.
5650: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f  RCC = $(RCC) -D_ 5660: 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20 DEBUG.!ENDIF..# 5670: 49 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 If optimizations 5680: 20 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 20 are enabled or 5690: 64 69 73 61 62 6c 65 64 20 28 65 69 74 68 65 72 disabled (either 56a0: 20 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23 implicitly or.# 56b0: 20 65 78 70 6c 69 63 69 74 6c 79 29 2c 20 61 64 explicitly), ad 56c0: 64 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 d the necessary 56d0: 66 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24 28 44 flags..#.!IF$(D
56e0: 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54  EBUG)>1 || $(OPT 56f0: 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54 IMIZATIONS)==0.T 5700: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a CC =$(TCC) -Od.
5710: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 64  BCC = $(BCC) -Od 5720: 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d .!ELSEIF$(OPTIM
5730: 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43 43  IZATIONS)>=3.TCC
5740: 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42 43   = $(TCC) -Ox.BC 5750: 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a 21 C =$(BCC) -Ox.!
5760: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a  ELSEIF $(OPTIMIZ 5770: 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20 3d ATIONS)==2.TCC = 5780: 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43 20$(TCC) -O2.BCC
5790: 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45 4c  = $(BCC) -O2.!EL 57a0: 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 SEIF$(OPTIMIZAT
57b0: 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20 24  IONS)==1.TCC = $57c0: 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d 20 (TCC) -O1.BCC = 57d0: 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44 49$(BCC) -O1.!ENDI
57e0: 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73 20  F..# If symbols
57f0: 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72 20  are enabled (or
5800: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65  compiling for de
5810: 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c 65  bugging), enable
5820: 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44   PDBs..#.!IF $(D 5830: 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d EBUG)>1 ||$(SYM
5840: 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20 24  BOLS)!=0.TCC = $5850: 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d 20 (TCC) -Zi.BCC = 5860: 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44 49$(BCC) -Zi.!ENDI
5870: 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20  F..# <<mark>>.#
5880: 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69  If ICU support i
5890: 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74  s enabled, add t
58a0: 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  he compiler opti
58b0: 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49  ons for it..#.!I
58c0: 46 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a  F $(USE_ICU)!=0. 58d0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 TCC =$(TCC) -DS
58e0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55  QLITE_ENABLE_ICU
58f0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 5900: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 5910: 49 43 55 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 ICU=1.TCC =$(TC
5920: 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c  C) -I$(TOP)\ext\ 5930: 69 63 75 0a 52 43 43 20 3d 20 24 28 52 43 43 29 icu.RCC =$(RCC)
5940: 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 69 63   -I$(TOP)\ext\ic 5950: 75 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d u.TCC =$(TCC) -
5960: 49 24 28 49 43 55 49 4e 43 44 49 52 29 0a 52 43  I$(ICUINCDIR).RC 5970: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 49 C =$(RCC) -I$(I 5980: 43 55 49 4e 43 44 49 52 29 0a 21 45 4e 44 49 46 CUINCDIR).!ENDIF 5990: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 .# <</mark>>..# 59a0: 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 72 65 Command line pre 59b0: 66 69 78 65 73 20 66 6f 72 20 63 6f 6d 70 69 6c fixes for compil 59c0: 69 6e 67 20 63 6f 64 65 2c 20 63 6f 6d 70 69 6c ing code, compil 59d0: 69 6e 67 20 72 65 73 6f 75 72 63 65 73 2c 0a 23 ing resources,.# 59e0: 20 6c 69 6e 6b 69 6e 67 2c 20 65 74 63 2e 0a 23 linking, etc..# 59f0: 0a 4c 54 43 4f 4d 50 49 4c 45 20 3d 20 24 28 54 .LTCOMPILE =$(T
5a00: 43 43 29 20 2d 46 6f 24 40 0a 4c 54 52 43 4f 4d  CC) -Fo$@.LTRCOM 5a10: 50 49 4c 45 20 3d 20 24 28 52 43 43 29 20 2d 72 PILE =$(RCC) -r
5a20: 0a 4c 54 4c 49 42 20 3d 20 6c 69 62 2e 65 78 65  .LTLIB = lib.exe
5a30: 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28 54 43 43 29  .LTLINK = $(TCC) 5a40: 20 2d 46 65 24 40 0a 0a 23 20 49 66 20 72 65 71 -Fe$@..# If req
5a50: 75 65 73 74 65 64 2c 20 6c 69 6e 6b 20 74 6f 20  uested, link to
5a60: 74 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61  the RPCRT4 libra
5a70: 72 79 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ry..#.!IF $(USE_ 5a80: 52 50 43 52 54 34 5f 4c 49 42 29 21 3d 30 0a 4c RPCRT4_LIB)!=0.L 5a90: 54 4c 49 4e 4b 20 3d 20 24 28 4c 54 4c 49 4e 4b TLINK =$(LTLINK
5aa0: 29 20 72 70 63 72 74 34 2e 6c 69 62 0a 21 45 4e  ) rpcrt4.lib.!EN
5ab0: 44 49 46 0a 0a 23 20 49 66 20 61 20 70 6c 61 74  DIF..# If a plat
5ac0: 66 6f 72 6d 20 77 61 73 20 73 65 74 2c 20 66 6f  form was set, fo
5ad0: 72 63 65 20 74 68 65 20 6c 69 6e 6b 65 72 20 74  rce the linker t
5ae0: 6f 20 74 61 72 67 65 74 20 74 68 61 74 2e 0a 23  o target that..#
5af0: 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 76   Note that the v
5b00: 63 76 61 72 73 2a 2e 62 61 74 20 66 61 6d 69 6c  cvars*.bat famil
5b10: 79 20 6f 66 20 62 61 74 63 68 20 66 69 6c 65 73  y of batch files
5b20: 20 74 79 70 69 63 61 6c 6c 79 0a 23 20 73 65 74   typically.# set
5b30: 20 74 68 69 73 20 66 6f 72 20 79 6f 75 2e 20 20   this for you.
5b40: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 6c  Otherwise, the l
5b50: 69 6e 6b 65 72 20 77 69 6c 6c 20 61 74 74 65 6d  inker will attem
5b60: 70 74 0a 23 20 74 6f 20 64 65 64 75 63 65 20 74  pt.# to deduce t
5b70: 68 65 20 62 69 6e 61 72 79 20 74 79 70 65 20 62  he binary type b
5b80: 61 73 65 64 20 6f 6e 20 74 68 65 20 6f 62 6a 65  ased on the obje
5b90: 63 74 20 66 69 6c 65 73 2e 0a 21 49 46 44 45 46  ct files..!IFDEF
5ba0: 20 50 4c 41 54 46 4f 52 4d 0a 4c 54 4c 49 4e 4b   PLATFORM.LTLINK
5bb0: 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f  OPTS = /NOLOGO /
5bc0: 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f  MACHINE:$(PLATFO 5bd0: 52 4d 29 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 RM).LTLIBOPTS = 5be0: 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 /NOLOGO /MACHINE 5bf0: 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4c :$(PLATFORM).!EL
5c00: 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  SE.LTLINKOPTS =
5c10: 2f 4e 4f 4c 4f 47 4f 0a 4c 54 4c 49 42 4f 50 54  /NOLOGO.LTLIBOPT
5c20: 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 21 45 4e 44  S = /NOLOGO.!END
5c30: 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69  IF..# When compi
5c40: 6c 69 6e 67 20 66 6f 72 20 75 73 65 20 69 6e 20  ling for use in
5c50: 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69 72 6f  the WinRT enviro
5c60: 6e 6d 65 6e 74 2c 20 74 68 65 20 66 6f 6c 6c 6f  nment, the follo
5c70: 77 69 6e 67 0a 23 20 6c 69 6e 6b 65 72 20 6f 70  wing.# linker op
5c80: 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 75 73 65  tion must be use
5c90: 64 20 74 6f 20 6d 61 72 6b 20 74 68 65 20 65 78  d to mark the ex
5ca0: 65 63 75 74 61 62 6c 65 20 61 73 20 72 75 6e 6e  ecutable as runn
5cb0: 61 62 6c 65 0a 23 20 6f 6e 6c 79 20 69 6e 20 74  able.# only in t
5cc0: 68 65 20 63 6f 6e 74 65 78 74 20 6f 66 20 61 6e  he context of an
5cd0: 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6e   application con
5ce0: 74 61 69 6e 65 72 2e 0a 23 0a 21 49 46 20 24 28  tainer..#.!IF $( 5cf0: 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a 4c 54 FOR_WINRT)!=0.LT 5d00: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c LINKOPTS =$(LTL
5d10: 49 4e 4b 4f 50 54 53 29 20 2f 41 50 50 43 4f 4e  INKOPTS) /APPCON
5d20: 54 41 49 4e 45 52 0a 21 49 46 20 22 24 28 56 49  TAINER.!IF "$(VI 5d30: 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f SUALSTUDIOVERSIO 5d40: 4e 29 22 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 22 N)"=="12.0" || " 5d50: 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56 45$(VISUALSTUDIOVE
5d60: 52 53 49 4f 4e 29 22 3d 3d 22 31 34 2e 30 22 0a  RSION)"=="14.0".
5d70: 21 49 46 4e 44 45 46 20 53 54 4f 52 45 4c 49 42  !IFNDEF STORELIB
5d80: 50 41 54 48 0a 21 49 46 20 22 24 28 50 4c 41 54  PATH.!IF "$(PLAT 5d90: 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 53 54 FORM)"=="x86".ST 5da0: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 ORELIBPATH =$(C
5db0: 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65  RTLIBPATH)\store
5dc0: 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54  .!ELSEIF "$(PLAT 5dd0: 46 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a 53 54 FORM)"=="x64".ST 5de0: 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 ORELIBPATH =$(C
5df0: 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65  RTLIBPATH)\store
5e00: 5c 61 6d 64 36 34 0a 21 45 4c 53 45 49 46 20 22  \amd64.!ELSEIF "
5e10: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41  $(PLATFORM)"=="A 5e20: 52 4d 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 RM".STORELIBPATH 5e30: 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 =$(CRTLIBPATH)
5e40: 5c 73 74 6f 72 65 5c 61 72 6d 0a 21 45 4c 53 45  \store\arm.!ELSE
5e50: 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20  .STORELIBPATH =
5e60: 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74  $(CRTLIBPATH)\st 5e70: 6f 72 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 ore.!ENDIF.!ENDI 5e80: 46 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d F.STORELIBPATH = 5e90: 20 24 28 53 54 4f 52 45 4c 49 42 50 41 54 48 3a$(STORELIBPATH:
5ea0: 5c 5c 3d 5c 29 0a 4c 54 4c 49 4e 4b 4f 50 54 53  \\=\).LTLINKOPTS
5eb0: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS) 5ec0: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 53 54 4f "/LIBPATH:$(STO
5ed0: 52 45 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44  RELIBPATH)".!END
5ee0: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65  IF.!ENDIF..# Whe
5ef0: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  n compiling for
5f00: 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e  Windows Phone 8.
5f10: 31 2c 20 61 6e 20 65 78 74 72 61 20 6c 69 62 72  1, an extra libr
5f20: 61 72 79 20 70 61 74 68 20 69 73 0a 23 20 72 65  ary path is.# re
5f30: 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28  quired..#.!IF $( 5f40: 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d USE_WP81_OPTS)!= 5f50: 30 0a 21 49 46 4e 44 45 46 20 57 50 38 31 4c 49 0.!IFNDEF WP81LI 5f60: 42 50 41 54 48 0a 21 49 46 20 22 24 28 50 4c 41 BPATH.!IF "$(PLA
5f70: 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 57  TFORM)"=="x86".W
5f80: 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50  P81LIBPATH = $(P 5f90: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 ROGRAMFILES_X86) 5fa0: 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b \Windows Phone K 5fb0: 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a its\8.1\lib\x86. 5fc0: 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 !ELSEIF "$(PLATF
5fd0: 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 57 50 38  ORM)"=="ARM".WP8
5fe0: 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f  1LIBPATH = $(PRO 5ff0: 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 GRAMFILES_X86)\W 6000: 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 indows Phone Kit 6010: 73 5c 38 2e 31 5c 6c 69 62 5c 41 52 4d 0a 21 45 s\8.1\lib\ARM.!E 6020: 4c 53 45 0a 57 50 38 31 4c 49 42 50 41 54 48 20 LSE.WP81LIBPATH 6030: 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 =$(PROGRAMFILES
6040: 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68  _X86)\Windows Ph
6050: 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62  one Kits\8.1\lib
6060: 5c 78 38 36 0a 21 45 4e 44 49 46 0a 21 45 4e 44  \x86.!ENDIF.!END
6070: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65  IF.!ENDIF..# Whe
6080: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20  n compiling for
6090: 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e  Windows Phone 8.
60a0: 31 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69  1, some extra li
60b0: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 0a 23 20 61  nker options.# a
60c0: 72 65 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64  re also required
60d0: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57 50  ..#.!IF $(USE_WP 60e0: 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 44 81_OPTS)!=0.!IFD 60f0: 45 46 20 57 50 38 31 4c 49 42 50 41 54 48 0a 4c EF WP81LIBPATH.L 6100: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 TLINKOPTS =$(LT
6110: 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50  LINKOPTS) "/LIBP
6120: 41 54 48 3a 24 28 57 50 38 31 4c 49 42 50 41 54  ATH:$(WP81LIBPAT 6130: 48 29 22 0a 21 45 4e 44 49 46 0a 4c 54 4c 49 4e H)".!ENDIF.LTLIN 6140: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b KOPTS =$(LTLINK
6150: 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49 43 42 41  OPTS) /DYNAMICBA
6160: 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  SE.LTLINKOPTS =
6170: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 57 69  $(LTLINKOPTS) Wi 6180: 6e 64 6f 77 73 50 68 6f 6e 65 43 6f 72 65 2e 6c ndowsPhoneCore.l 6190: 69 62 20 52 75 6e 74 69 6d 65 4f 62 6a 65 63 74 ib RuntimeObject 61a0: 2e 6c 69 62 20 50 68 6f 6e 65 41 70 70 4d 6f 64 .lib PhoneAppMod 61b0: 65 6c 48 6f 73 74 2e 6c 69 62 0a 4c 54 4c 49 4e elHost.lib.LTLIN 61c0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b KOPTS =$(LTLINK
61d0: 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54  OPTS) /NODEFAULT
61e0: 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62  LIB:kernel32.lib
61f0: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6f   /NODEFAULTLIB:o
6200: 6c 65 33 32 2e 6c 69 62 0a 21 45 4e 44 49 46 0a  le32.lib.!ENDIF.
6210: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# When compilin
6220: 67 20 66 6f 72 20 55 57 50 20 6f 72 20 74 68 65  g for UWP or the
6230: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
6240: 66 6f 72 6d 2c 20 73 6f 6d 65 20 65 78 74 72 61  form, some extra
6250: 20 6c 69 6e 6b 65 72 0a 23 20 6f 70 74 69 6f 6e   linker.# option
6260: 73 20 61 72 65 20 61 6c 73 6f 20 72 65 71 75 69  s are also requi
6270: 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52  red..#.!IF $(FOR 6280: 5f 55 57 50 29 21 3d 30 20 7c 7c 20 24 28 46 4f _UWP)!=0 ||$(FO
6290: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49  R_WIN10)!=0.LTLI
62a0: 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e  NKOPTS = $(LTLIN 62b0: 4b 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49 43 42 KOPTS) /DYNAMICB 62c0: 41 53 45 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 ASE /NODEFAULTLI 62d0: 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 0a 4c B:kernel32.lib.L 62e0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 TLINKOPTS =$(LT
62f0: 4c 49 4e 4b 4f 50 54 53 29 20 6d 69 6e 63 6f 72  LINKOPTS) mincor
6300: 65 2e 6c 69 62 0a 21 49 46 44 45 46 20 50 53 44  e.lib.!IFDEF PSD
6310: 4b 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f  KLIBPATH.LTLINKO
6320: 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50  PTS = $(LTLINKOP 6330: 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 TS) "/LIBPATH:$(
6340: 50 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 21 45  PSDKLIBPATH)".!E
6350: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46  NDIF.!ENDIF..!IF
6360: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0 6370: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 .LTLINKOPTS =$(
6380: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 67 75 61  LTLINKOPTS) /gua
6390: 72 64 3a 63 66 20 22 2f 4c 49 42 50 41 54 48 3a  rd:cf "/LIBPATH:
63a0: 24 28 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a  $(UCRTLIBPATH)". 63b0: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a 4c !IF$(DEBUG)>1.L
63c0: 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54  TLINKOPTS = $(LT 63d0: 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 LINKOPTS) /NODEF 63e0: 41 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72 74 64 AULTLIB:libucrtd 63f0: 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54 4c 49 42 .lib /DEFAULTLIB 6400: 3a 75 63 72 74 64 2e 6c 69 62 0a 21 45 4c 53 45 :ucrtd.lib.!ELSE 6410: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 .LTLINKOPTS =$(
6420: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44  LTLINKOPTS) /NOD
6430: 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72  EFAULTLIB:libucr
6440: 74 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54 4c 49  t.lib /DEFAULTLI
6450: 42 3a 75 63 72 74 2e 6c 69 62 0a 21 45 4e 44 49  B:ucrt.lib.!ENDI
6460: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 65  F.!ENDIF..# If e
6470: 69 74 68 65 72 20 64 65 62 75 67 67 69 6e 67 20  ither debugging
6480: 6f 72 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 65  or symbols are e
6490: 6e 61 62 6c 65 64 2c 20 65 6e 61 62 6c 65 20 50  nabled, enable P
64a0: 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42  DBs..#.!IF $(DEB 64b0: 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d 42 4f UG)>1 ||$(SYMBO
64c0: 4c 53 29 21 3d 30 0a 4c 44 46 4c 41 47 53 20 3d  LS)!=0.LDFLAGS =
64d0: 20 2f 44 45 42 55 47 20 24 28 4c 44 4f 50 54 53   /DEBUG $(LDOPTS 64e0: 29 0a 21 45 4c 53 45 0a 4c 44 46 4c 41 47 53 20 ).!ELSE.LDFLAGS 64f0: 3d 20 24 28 4c 44 4f 50 54 53 29 0a 21 45 4e 44 =$(LDOPTS).!END
6500: 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23  IF..# <<mark>>.#
6510: 20 53 74 61 72 74 20 77 69 74 68 20 74 68 65 20   Start with the
6520: 54 63 6c 20 72 65 6c 61 74 65 64 20 6c 69 6e 6b  Tcl related link
6530: 65 72 20 6f 70 74 69 6f 6e 73 2e 0a 23 0a 21 49  er options..#.!I
6540: 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 4c  F $(NO_TCL)==0.L 6550: 54 4c 49 42 50 41 54 48 53 20 3d 20 2f 4c 49 42 TLIBPATHS = /LIB 6560: 50 41 54 48 3a 24 28 54 43 4c 4c 49 42 44 49 52 PATH:$(TCLLIBDIR
6570: 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 49 42  ).LTLIBS = $(LIB 6580: 54 43 4c 29 0a 21 45 4e 44 49 46 0a 0a 23 20 49 TCL).!ENDIF..# I 6590: 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69 73 f ICU support is 65a0: 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 enabled, add th 65b0: 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 e linker options 65c0: 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 20 24 for it..#.!IF$
65d0: 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c 54 4c  (USE_ICU)!=0.LTL
65e0: 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 4c 49  IBPATHS = $(LTLI 65f0: 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41 54 48 BPATHS) /LIBPATH 6600: 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a 4c 54 :$(ICULIBDIR).LT
6610: 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 53 29  LIBS = $(LTLIBS) 6620: 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e 44 49$(LIBICU).!ENDI
6630: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
6640: 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20   You should not
6650: 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61  have to change a
6660: 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68  nything below th
6670: 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 23  is line.########
6680: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
6690: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
66a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
66b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
66c0: 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d 61 72  #######..# <<mar
66d0: 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c  k>>.# Object fil
66e0: 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74  es for the SQLit
66f0: 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d 61  e library (non-a
6700: 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a  malgamation)..#.
6710: 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 65 2e  LIBOBJS0 = vdbe.
6720: 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c 74 65  lo parse.lo alte
6730: 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f 20  r.lo analyze.lo
6740: 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e 6c  attach.lo auth.l
6750: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 61 63  o \.         bac
6760: 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c 6f  kup.lo bitvec.lo
6770: 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 65   btmutex.lo btre
6780: 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c 0a  e.lo build.lo \.
6790: 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63           callbac
67a0: 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c 6f  k.lo complete.lo
67b0: 20 63 74 69 6d 65 2e 6c 6f 20 64 61 74 65 2e 6c   ctime.lo date.l
67c0: 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64 65 6c 65  o dbstat.lo dele
67d0: 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  te.lo \.
67e0: 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 2e 6c   expr.lo fault.l
67f0: 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 20 20  o fkey.lo \.
6800: 20 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 74 73       fts3.lo fts
6810: 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f 65 78  3_aux.lo fts3_ex
6820: 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 68 2e  pr.lo fts3_hash.
6830: 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f 20 5c  lo fts3_icu.lo \
6840: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 70  .         fts3_p
6850: 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f 73 6e  orter.lo fts3_sn
6860: 69 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f 74 6f  ippet.lo fts3_to
6870: 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 33 5f  kenizer.lo fts3_
6880: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 5c 0a  tokenizer1.lo \.
6890: 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 74 6f           fts3_to
68a0: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 20 66  kenize_vtab.lo f
68b0: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 20 66  ts3_unicode.lo f
68c0: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 20  ts3_unicode2.lo
68d0: 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20 5c 0a  fts3_write.lo \.
68e0: 20 20 20 20 20 20 20 20 20 66 74 73 35 2e 6c 6f           fts5.lo
68f0: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63   \.         func
6900: 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20 68 61  .lo global.lo ha
6910: 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  sh.lo \.
6920: 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74 2e 6c   icu.lo insert.l
6930: 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64  o legacy.lo load
6940: 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ext.lo \.
6950: 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63    main.lo malloc
6960: 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31  .lo mem0.lo mem1
6970: 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33  .lo mem2.lo mem3
6980: 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20  .lo mem5.lo \.
6990: 20 20 20 20 20 20 20 6d 65 6d 6a 6f 75 72 6e 61         memjourna
69a0: 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  l.lo \.
69b0: 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78 5f 6e  mutex.lo mutex_n
69c0: 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75 6e 69  oop.lo mutex_uni
69d0: 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32 2e 6c  x.lo mutex_w32.l
69e0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6e 6f 74  o \.         not
69f0: 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73 2e 6c  ify.lo opcodes.l
6a00: 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69 78 2e  o os.lo os_unix.
6a10: 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c 0a 20  lo os_win.lo \.
6a20: 20 20 20 20 20 20 20 20 70 61 67 65 72 2e 6c 6f          pager.lo
6a30: 20 70 63 61 63 68 65 2e 6c 6f 20 70 63 61 63 68   pcache.lo pcach
6a40: 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c 6f 20  e1.lo pragma.lo
6a50: 70 72 65 70 61 72 65 2e 6c 6f 20 70 72 69 6e 74  prepare.lo print
6a60: 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  f.lo \.
6a70: 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f 6c 76  random.lo resolv
6a80: 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f 20 72  e.lo rowset.lo r
6a90: 74 72 65 65 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c  tree.lo select.l
6aa0: 6f 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20  o sqlite3rbu.lo
6ab0: 73 74 61 74 75 73 2e 6c 6f 20 5c 0a 20 20 20 20  status.lo \.
6ac0: 20 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68       table.lo th
6ad0: 72 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a  reads.lo tokeniz
6ae0: 65 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f  e.lo treeview.lo
6af0: 20 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20   trigger.lo \.
6b00: 20 20 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f         update.lo
6b10: 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e   util.lo vacuum.
6b20: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64  lo \.         vd
6b30: 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78  beapi.lo vdbeaux
6b40: 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20  .lo vdbeblob.lo
6b50: 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73  vdbemem.lo vdbes
6b60: 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ort.lo \.
6b70: 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77    vdbetrace.lo w
6b80: 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20  al.lo walker.lo
6b90: 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f  where.lo whereco
6ba0: 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72 2e  de.lo whereexpr.
6bb0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 74  lo \.         ut
6bc0: 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 3c  f.lo vtab.lo.# <
6bd0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65  </mark>>..# Obje
6be0: 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65  ct files for the
6bf0: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23   amalgamation..#
6c00: 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c 69  .LIBOBJS1 = sqli
6c10: 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 6d  te3.lo..# Determ
6c20: 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61 6c  ine the real val
6c30: 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61 73  ue of LIBOBJ bas
6c40: 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66 69  ed on the 'confi
6c50: 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a 23  gure' script.#.#
6c60: 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 28   <<mark>>.!IF $( 6c70: 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e USE_AMALGAMATION 6c80: 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 )==0.LIBOBJ =$(
6c90: 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45 0a  LIBOBJS0).!ELSE.
6ca0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f  # <</mark>>.LIBO
6cb0: 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31 29  BJ = $(LIBOBJS1) 6cc0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44 .# <<mark>>.!END 6cd0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a IF.# <</mark>>.. 6ce0: 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20 65 # Determine if e 6cf0: 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72 63 65 mbedded resource 6d00: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 compilation and 6d10: 20 75 73 61 67 65 20 61 72 65 20 65 6e 61 62 6c usage are enabl 6d20: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f ed..#.!IF$(USE_
6d30: 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42 4a  RC)!=0.LIBRESOBJ
6d40: 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e 6c  S = sqlite3res.l
6d50: 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f 42  o.!ELSE.LIBRESOB
6d60: 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 3c  JS =.!ENDIF..# <
6d70: 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20 73  <mark>>.# Core s
6d80: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73  ource code files
6d90: 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30  , part 1..#.SRC0
6da0: 30 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  0 = \.  $(TOP)\s 6db0: 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20 24 rc\alter.c \.$
6dc0: 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a  (TOP)\src\analyz
6dd0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 6de0: 72 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20 20 rc\attach.c \. 6df0: 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e$(TOP)\src\auth.
6e00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 6e10: 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 \backup.c \.$(
6e20: 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e  TOP)\src\bitvec.
6e30: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 6e40: 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 \btmutex.c \.$
6e50: 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e  (TOP)\src\btree.
6e60: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 6e70: 5c 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54 \build.c \.$(T
6e80: 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b  OP)\src\callback
6e90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 6ea0: 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a 20 c\complete.c \. 6eb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d$(TOP)\src\ctim
6ec0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 6ed0: 72 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 rc\date.c \.$(
6ee0: 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e  TOP)\src\dbstat.
6ef0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 6f00: 5c 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 \delete.c \.$(
6f10: 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20  TOP)\src\expr.c
6f20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66  \.  $(TOP)\src\f 6f30: 61 75 6c 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 ault.c \.$(TOP
6f40: 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 5c 0a 20  )\src\fkey.c \.
6f50: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63   $(TOP)\src\func 6f60: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
6f70: 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20 20 24  c\global.c \.  $6f80: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 (TOP)\src\hash.c 6f90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
6fa0: 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54  insert.c \.  $(T 6fb0: 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 OP)\src\legacy.c 6fc0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
6fd0: 6c 6f 61 64 65 78 74 2e 63 20 5c 0a 20 20 24 28  loadext.c \.  $( 6fe0: 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 TOP)\src\main.c 6ff0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d \.$(TOP)\src\m
7000: 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f  alloc.c \.  $(TO 7010: 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 5c 0a P)\src\mem0.c \. 7020: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d$(TOP)\src\mem
7030: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  1.c \.  $(TOP)\s 7040: 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20 20 24 28 rc\mem2.c \.$(
7050: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20  TOP)\src\mem3.c
7060: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m 7070: 65 6d 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 em5.c \.$(TOP)
7080: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e  \src\memjournal.
7090: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 70a0: 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 \mutex.c \.$(T
70b0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f  OP)\src\mutex_no
70c0: 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  op.c \.  $(TOP)\ 70d0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 src\mutex_unix.c 70e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
70f0: 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20  mutex_w32.c \.
7100: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66  $(TOP)\src\notif 7110: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 y.c \.$(TOP)\s
7120: 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f  rc\os.c \.  $(TO 7130: 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 P)\src\os_unix.c 7140: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7150: 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65  os_win.c..# Core
7160: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
7170: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52  es, part 2..#.SR
7180: 43 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C01 = \.  $(TOP) 7190: 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20 \src\pager.c \. 71a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63$(TOP)\src\pcac
71b0: 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  he.c \.  $(TOP)\ 71c0: 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a src\pcache1.c \. 71d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61$(TOP)\src\pra
71e0: 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  gma.c \.  $(TOP) 71f0: 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c \src\prepare.c \ 7200: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 .$(TOP)\src\pr
7210: 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50  intf.c \.  $(TOP 7220: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c )\src\random.c \ 7230: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 .$(TOP)\src\re
7240: 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f  solve.c \.  $(TO 7250: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 P)\src\rowset.c 7260: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 \.$(TOP)\src\s
7270: 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f  elect.c \.  $(TO 7280: 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 P)\src\status.c 7290: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
72a0: 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  able.c \.  $(TOP 72b0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 )\src\threads.c 72c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
72d0: 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24  clsqlite.c \.  $72e0: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 (TOP)\src\tokeni 72f0: 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ze.c \.$(TOP)\
7300: 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c  src\treeview.c \
7310: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  .  $(TOP)\src\tr 7320: 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f igger.c \.$(TO
7330: 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20  P)\src\utf.c \.
7340: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61   $(TOP)\src\upda 7350: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c te.c \.$(TOP)\
7360: 73 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 20 24  src\util.c \.  $7370: 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d (TOP)\src\vacuum 7380: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
7390: 63 5c 76 64 62 65 2e 63 20 5c 0a 20 20 24 28 54  c\vdbe.c \.  $(T 73a0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e OP)\src\vdbeapi. 73b0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
73c0: 5c 76 64 62 65 61 75 78 2e 63 20 5c 0a 20 20 24  \vdbeaux.c \.  $73d0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c (TOP)\src\vdbebl 73e0: 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ob.c \.$(TOP)\
73f0: 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 5c 0a  src\vdbemem.c \.
7400: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb 7410: 65 73 6f 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f esort.c \.$(TO
7420: 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65  P)\src\vdbetrace
7430: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 7440: 63 5c 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 c\vtab.c \.$(T
7450: 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 5c 0a  OP)\src\wal.c \.
7460: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c    $(TOP)\src\wal 7470: 6b 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ker.c \.$(TOP)
7480: 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 5c 0a 20  \src\where.c \.
7490: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher 74a0: 65 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f ecode.c \.$(TO
74b0: 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72  P)\src\whereexpr
74c0: 2e 63 0a 0a 23 20 53 68 65 6c 6c 20 73 6f 75 72  .c..# Shell sour
74d0: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23  ce code files..#
74e0: 0a 53 52 43 30 32 20 3d 20 5c 0a 20 20 24 28 54  .SRC02 = \.  $(T 74f0: 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 0a OP)\src\shell.c. 7500: 0a 23 20 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61 .# Core miscella 7510: 6e 65 6f 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53 neous files..#.S 7520: 52 43 30 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50 RC03 = \.$(TOP
7530: 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23  )\src\parse.y..#
7540: 20 43 6f 72 65 20 68 65 61 64 65 72 20 66 69 6c   Core header fil
7550: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52  es, part 1..#.SR
7560: 43 30 34 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C04 = \.  $(TOP) 7570: 5c 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 \src\btree.h \. 7580: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65$(TOP)\src\btre
7590: 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eInt.h \.  $(TOP 75a0: 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 )\src\hash.h \. 75b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69$(TOP)\src\hwti
75c0: 6d 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  me.h \.  $(TOP)\ 75d0: 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24 src\msvc.h \.$
75e0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e  (TOP)\src\mutex.
75f0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src 7600: 5c 6f 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 \os.h \.$(TOP)
7610: 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68  \src\os_common.h
7620: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7630: 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 24 os_setup.h \.$
7640: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e  (TOP)\src\os_win
7650: 2e 68 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65  .h..# Core heade
7660: 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e  r files, part 2.
7670: 0a 23 0a 53 52 43 30 35 20 3d 20 5c 0a 20 20 24  .#.SRC05 = \.  $7680: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e (TOP)\src\pager. 7690: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 h \.$(TOP)\src
76a0: 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 24 28  \pcache.h \.  $( 76b0: 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e TOP)\src\pragma. 76c0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 h \.$(TOP)\src
76d0: 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20  \sqlite.h.in \.
76e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69   $(TOP)\src\sqli 76f0: 74 65 33 65 78 74 2e 68 20 5c 0a 20 20 24 28 54 te3ext.h \.$(T
7700: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e  OP)\src\sqliteIn
7710: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s 7720: 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 rc\sqliteLimit.h 7730: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7740: 76 64 62 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50  vdbe.h \.  $(TOP 7750: 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 )\src\vdbeInt.h 7760: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 \.$(TOP)\src\v
7770: 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54  xworks.h \.  $(T 7780: 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a OP)\src\wal.h \. 7790: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65$(TOP)\src\whe
77a0: 72 65 49 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e  reInt.h..# Exten
77b0: 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65  sion source code
77c0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a   files, part 1..
77d0: 23 0a 53 52 43 30 36 20 3d 20 5c 0a 20 20 24 28  #.SRC06 = \.  $( 77e0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 TOP)\ext\fts1\ft 77f0: 73 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c s1.c \.$(TOP)\
7800: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61  ext\fts1\fts1_ha
7810: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\ 7820: 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f ext\fts1\fts1_po 7830: 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 rter.c \.$(TOP
7840: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f  )\ext\fts1\fts1_
7850: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20  tokenizer1.c \.
7860: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 7870: 5c 66 74 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f \fts2.c \.$(TO
7880: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
7890: 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f  _hash.c \.  $(TO 78a0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 78b0: 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 _icu.c \.$(TOP
78c0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
78d0: 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54  porter.c \.  $(T 78e0: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts 78f0: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 2_tokenizer.c \. 7900: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
7910: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
7920: 31 2e 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e  1.c..# Extension
7930: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c   source code fil
7940: 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52  es, part 2..#.SR
7950: 43 30 37 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C07 = \.  $(TOP) 7960: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 \ext\fts3\fts3.c 7970: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
7980: 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20  fts3\fts3_aux.c
7990: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 79a0: 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 ts3\fts3_expr.c 79b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
79c0: 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20  ts3\fts3_hash.c
79d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 79e0: 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c ts3\fts3_icu.c \ 79f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
7a00: 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63  s3\fts3_porter.c
7a10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 7a20: 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 fts3\fts3_snippe 7a30: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 t.c \.$(TOP)\e
7a40: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
7a50: 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54  enizer.c \.  $(T 7a60: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 7a70: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 3_tokenizer1.c \ 7a80: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
7a90: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
7aa0: 5f 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  _vtab.c \.  $(TO 7ab0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 7ac0: 5f 75 6e 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 _unicode.c \.$
7ad0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
7ae0: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c  ts3_unicode2.c \
7af0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 7b00: 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 s3\fts3_write.c 7b10: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 \.$(TOP)\ext\i
7b20: 63 75 5c 69 63 75 2e 63 20 5c 0a 20 20 24 28 54  cu\icu.c \.  $(T 7b30: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 OP)\ext\rtree\rt 7b40: 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ree.c \.$(TOP)
7b50: 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33  \ext\rbu\sqlite3
7b60: 72 62 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  rbu.c \.  $(TOP) 7b70: 5c 65 78 74 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e \ext\misc\json1. 7b80: 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 c..# Extension h 7b90: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 eader files, par 7ba0: 74 20 31 2e 0a 23 0a 53 52 43 30 38 20 3d 20 5c t 1..#.SRC08 = \ 7bb0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
7bc0: 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28  s1\fts1.h \.  $( 7bd0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 TOP)\ext\fts1\ft 7be0: 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 s1_hash.h \.$(
7bf0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
7c00: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c  s1_tokenizer.h \
7c10: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 7c20: 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 s2\fts2.h \.$(
7c30: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
7c40: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s2_hash.h \.  $( 7c50: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft 7c60: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a s2_tokenizer.h.. 7c70: 23 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 # Extension head 7c80: 65 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 er files, part 2 7c90: 2e 0a 23 0a 53 52 43 30 39 20 3d 20 5c 0a 20 20 ..#.SRC09 = \. 7ca0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
7cb0: 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts3.h \.  $(TOP 7cc0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 49 )\ext\fts3\fts3I 7cd0: 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c nt.h \.$(TOP)\
7ce0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61  ext\fts3\fts3_ha
7cf0: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.h \.  $(TOP)\ 7d00: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f ext\fts3\fts3_to 7d10: 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 kenizer.h \.$(
7d20: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c  TOP)\ext\icu\sql
7d30: 69 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28 54  iteicu.h \.  $(T 7d40: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 OP)\ext\rtree\rt 7d50: 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 ree.h \.$(TOP)
7d60: 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33  \ext\rbu\sqlite3
7d70: 72 62 75 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74  rbu.h..# Generat
7d80: 65 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ed source code f
7d90: 69 6c 65 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c  iles.#.SRC10 = \
7da0: 0a 20 20 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20  .  opcodes.c \.
7db0: 20 70 61 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65   parse.c..# Gene
7dc0: 72 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c  rated header fil
7dd0: 65 73 0a 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20  es.#.SRC11 = \.
7de0: 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c   keywordhash.h \
7df0: 0a 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20  .  opcodes.h \.
7e00: 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 24 28 53   parse.h \.  $(S 7e10: 51 4c 49 54 45 33 48 29 0a 0a 23 20 41 6c 6c 20 QLITE3H)..# All 7e20: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 source code file 7e30: 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 43 s..#.SRC =$(SRC
7e40: 30 30 29 20 24 28 53 52 43 30 31 29 20 24 28 53  00) $(SRC01)$(S
7e50: 52 43 30 32 29 20 24 28 53 52 43 30 33 29 20 24  RC02) $(SRC03)$
7e60: 28 53 52 43 30 34 29 20 24 28 53 52 43 30 35 29  (SRC04) $(SRC05) 7e70: 20 24 28 53 52 43 30 36 29 20 24 28 53 52 43 30$(SRC06) $(SRC0 7e80: 37 29 20 24 28 53 52 43 30 38 29 20 24 28 53 52 7)$(SRC08) $(SR 7e90: 43 30 39 29 20 24 28 53 52 43 31 30 29 20 24 28 C09)$(SRC10) $( 7ea0: 53 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 SRC11)..# Source 7eb0: 20 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 code to the tes 7ec0: 74 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 t files..#.TESTS 7ed0: 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c RC = \.$(TOP)\
7ee0: 73 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20  src\test1.c \.
7ef0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32  $(TOP)\src\test2 7f00: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
7f10: 63 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28  c\test3.c \.  $( 7f20: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 TOP)\src\test4.c 7f30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7f40: 74 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f  test5.c \.  $(TO 7f50: 50 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c P)\src\test6.c \ 7f60: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
7f70: 73 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st7.c \.  $(TOP) 7f80: 5c 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 \src\test8.c \. 7f90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
7fa0: 39 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  9.c \.  $(TOP)\s 7fb0: 72 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e rc\test_autoext. 7fc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
7fd0: 5c 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a  \test_async.c \.
7fe0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 7ff0: 74 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 t_backup.c \.$
8000: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62  (TOP)\src\test_b
8010: 65 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24  estindex.c \.  $8020: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 (TOP)\src\test_b 8030: 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 lob.c \.$(TOP)
8040: 5c 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e  \src\test_btree.
8050: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8060: 5c 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c \test_config.c \ 8070: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
8080: 73 74 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20  st_demovfs.c \.
8090: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 80a0: 5f 64 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28 _devsym.c \.$(
80b0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 73  TOP)\src\test_fs
80c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 80d0: 63 5c 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a c\test_func.c \. 80e0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
80f0: 74 5f 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28  t_hexio.c \.  $( 8100: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e TOP)\src\test_in 8110: 69 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c it.c \.$(TOP)\
8120: 73 72 63 5c 74 65 73 74 5f 69 6e 74 61 72 72 61  src\test_intarra
8130: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s 8140: 72 63 5c 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e rc\test_journal. 8150: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8160: 5c 74 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c  \test_malloc.c \
8170: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 8180: 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c st_multiplex.c \ 8190: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
81a0: 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24  st_mutex.c \.  $81b0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f (TOP)\src\test_o 81c0: 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 nefile.c \.$(T
81d0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69  OP)\src\test_osi
81e0: 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nst.c \.  $(TOP) 81f0: 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 \src\test_pcache 8200: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8210: 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c  c\test_quota.c \
8220: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 8230: 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 st_rtree.c \.$
8240: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
8250: 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f  chema.c \.  $(TO 8260: 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 P)\src\test_serv 8270: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c er.c \.$(TOP)\
8280: 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f  src\test_superlo
8290: 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ck.c \.  $(TOP)\ 82a0: 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c src\test_syscall 82b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
82c0: 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e 63 20  c\test_tclvar.c
82d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 82e0: 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20 est_thread.c \. 82f0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
8300: 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _vfs.c \.  $(TOP 8310: 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 )\src\test_windi 8320: 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 rent.c \.$(TOP
8330: 29 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63  )\src\test_wsd.c
8340: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8350: 66 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 fts3\fts3_term.c 8360: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8370: 66 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63  fts3\fts3_test.c
8380: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8390: 72 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 0a 0a rbu\test_rbu.c.. 83a0: 23 20 53 74 61 74 69 63 61 6c 6c 79 20 6c 69 6e # Statically lin 83b0: 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a ked extensions.. 83c0: 23 0a 54 45 53 54 45 58 54 20 3d 20 5c 0a 20 20 #.TESTEXT = \. 83d0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
83e0: 61 6d 61 74 63 68 2e 63 20 5c 0a 20 20 24 28 54  amatch.c \.  $(T 83f0: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6c 6f OP)\ext\misc\clo 8400: 73 75 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 sure.c \.$(TOP
8410: 29 5c 65 78 74 5c 6d 69 73 63 5c 65 76 61 6c 2e  )\ext\misc\eval.
8420: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 8430: 5c 6d 69 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c \misc\fileio.c \ 8440: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
8450: 73 63 5c 66 75 7a 7a 65 72 2e 63 20 5c 0a 20 20  sc\fuzzer.c \.
8460: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\ 8470: 66 74 73 35 5f 74 63 6c 2e 63 20 5c 0a 20 20 24 fts5_tcl.c \.$
8480: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
8490: 74 73 35 5f 74 65 73 74 5f 6d 69 2e 63 20 5c 0a  ts5_test_mi.c \.
84a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 84b0: 35 5c 66 74 73 35 5f 74 65 73 74 5f 74 6f 6b 2e 5\fts5_test_tok. 84c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
84d0: 5c 6d 69 73 63 5c 69 65 65 65 37 35 34 2e 63 20  \misc\ieee754.c
84e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 84f0: 69 73 63 5c 6e 65 78 74 63 68 61 72 2e 63 20 5c isc\nextchar.c \ 8500: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
8510: 73 63 5c 70 65 72 63 65 6e 74 69 6c 65 2e 63 20  sc\percentile.c
8520: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 8530: 69 73 63 5c 72 65 67 65 78 70 2e 63 20 5c 0a 20 isc\regexp.c \. 8540: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
8550: 5c 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24 28  \series.c \.  $( 8560: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70 TOP)\ext\misc\sp 8570: 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28 54 ellfix.c \.$(T
8580: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74  OP)\ext\misc\tot
8590: 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ype.c \.  $(TOP) 85a0: 5c 65 78 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e \ext\misc\wholen 85b0: 75 6d 62 65 72 2e 63 0a 0a 23 20 53 6f 75 72 63 umber.c..# Sourc 85c0: 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20 6c 69 e code to the li 85d0: 62 72 61 72 79 20 66 69 6c 65 73 20 6e 65 65 64 brary files need 85e0: 65 64 20 62 79 20 74 68 65 20 74 65 73 74 20 66 ed by the test f 85f0: 69 78 74 75 72 65 0a 23 0a 54 45 53 54 53 52 43 ixture.#.TESTSRC 8600: 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29 2 = \.$(SRC00)
8610: 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a   \.  $(SRC01) \. 8620: 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24$(SRC06) \.  $8630: 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52 (SRC07) \.$(SR
8640: 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  C10) \.  $(TOP)\ 8650: 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65 ext\async\sqlite 8660: 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64 3async.c..# Head 8670: 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 er files used by 8680: 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75 all library sou 8690: 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52 rce files..#.HDR 86a0: 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 = \.$(TOP)\s
86b0: 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20  rc\btree.h \.
86c0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree 86d0: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 Int.h \.$(TOP
86e0: 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20  )\src\hash.h \.
86f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74    $(TOP)\src\hwt 8700: 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f ime.h \. keywo 8710: 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 rdhash.h \.$(
8720: 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20  TOP)\src\msvc.h
8730: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\ 8740: 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63 mutex.h \. opc 8750: 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f odes.h \.$(TO
8760: 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20  P)\src\os.h \.
8770: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63   $(TOP)\src\os_c 8780: 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54 ommon.h \.$(T
8790: 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70  OP)\src\os_setup
87a0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s 87b0: 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 rc\os_win.h \. 87c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65$(TOP)\src\page
87d0: 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  r.h \.   $(TOP)\ 87e0: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 src\pcache.h \. 87f0: 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 parse.h \.$
8800: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61  (TOP)\src\pragma
8810: 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45  .h \.   $(SQLITE 8820: 33 48 29 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 3H) \.$(TOP)\
8830: 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68  src\sqlite3ext.h
8840: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src 8850: 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20 \sqliteInt.h \. 8860: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c$(TOP)\src\sql
8870: 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 20  iteLimit.h \.
8880: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e  $(TOP)\src\vdbe. 8890: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 h \.$(TOP)\sr
88a0: 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20 20  c\vdbeInt.h \.
88b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78 77 6f   $(TOP)\src\vxwo 88c0: 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 rks.h \.$(TOP
88d0: 29 5c 73 72 63 5c 77 68 65 72 65 49 6e 74 2e 68  )\src\whereInt.h
88e0: 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65 73  ..# Header files
88f0: 20 75 73 65 64 20 62 79 20 65 78 74 65 6e 73 69   used by extensi
8900: 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20 3d 20 24  ons.#.EXTHDR = $8910: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 (EXTHDR) \.$(T
8920: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
8930: 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.h \.  $(TOP)\e 8940: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 xt\fts1\fts1_has 8950: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 h.h \.$(TOP)\e
8960: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b  xt\fts1\fts1_tok
8970: 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20  enizer.h.EXTHDR
8980: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20  = $(EXTHDR) \. 8990: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
89a0: 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50  fts2.h \.  $(TOP 89b0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f )\ext\fts2\fts2_ 89c0: 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 hash.h \.$(TOP
89d0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
89e0: 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48  tokenizer.h.EXTH
89f0: 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c  DR = $(EXTHDR) \ 8a00: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
8a10: 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24 28  s3\fts3.h \.  $( 8a20: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 8a30: 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f s3Int.h \.$(TO
8a40: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
8a50: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO 8a60: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 8a70: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 _tokenizer.h.EXT 8a80: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 HDR =$(EXTHDR)
8a90: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r 8aa0: 74 72 65 65 5c 72 74 72 65 65 2e 68 0a 45 58 54 tree\rtree.h.EXT 8ab0: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 HDR =$(EXTHDR)
8ac0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69  \.  $(TOP)\ext\i 8ad0: 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 0a 45 cu\sqliteicu.h.E 8ae0: 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 XTHDR =$(EXTHDR
8af0: 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  ) \.  $(TOP)\ext 8b00: 5c 72 74 72 65 65 5c 73 71 6c 69 74 65 33 72 74 \rtree\sqlite3rt 8b10: 72 65 65 2e 68 0a 0a 23 20 65 78 65 63 75 74 61 ree.h..# executa 8b20: 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20 bles needed for 8b30: 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52 testing.#.TESTPR 8b40: 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69 OGS = \. testfi 8b50: 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28 xture.exe \.$(
8b60: 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20  SQLITE3EXE) \.
8b70: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
8b80: 2e 65 78 65 20 5c 0a 20 20 73 71 6c 64 69 66 66  .exe \.  sqldiff
8b90: 2e 65 78 65 0a 0a 23 20 44 61 74 61 62 61 73 65  .exe..# Database
8ba0: 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 66 75 7a  s containing fuz
8bb0: 7a 65 72 20 74 65 73 74 20 63 61 73 65 73 0a 23  zer test cases.#
8bc0: 0a 46 55 5a 5a 44 41 54 41 20 3d 20 5c 0a 20 20  .FUZZDATA = \.
8bd0: 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a  $(TOP)\test\fuzz 8be0: 64 61 74 61 31 2e 64 62 20 5c 0a 20 20 24 28 54 data1.db \.$(T
8bf0: 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74  OP)\test\fuzzdat
8c00: 61 32 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29  a2.db \.  $(TOP) 8c10: 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 33 2e \test\fuzzdata3. 8c20: 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 db \.$(TOP)\te
8c30: 73 74 5c 66 75 7a 7a 64 61 74 61 34 2e 64 62 0a  st\fuzzdata4.db.
8c40: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41  # <</mark>>..# A
8c50: 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c  dditional compil
8c60: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74  er options for t
8c70: 68 65 20 73 68 65 6c 6c 2e 20 20 54 68 65 73 65  he shell.  These
8c80: 20 61 72 65 20 6f 6e 6c 79 20 65 66 66 65 63 74   are only effect
8c90: 69 76 65 0a 23 20 77 68 65 6e 20 74 68 65 20 73  ive.# when the s
8ca0: 68 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e  hell is not bein
8cb0: 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69  g dynamically li
8cc0: 6e 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 59  nked..#.!IF $(DY 8cd0: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 NAMIC_SHELL)==0 8ce0: 26 26 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d &&$(FOR_WIN10)=
8cf0: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  =0.SHELL_COMPILE
8d00: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_ 8d10: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 COMPILE_OPTS) -D 8d20: 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 4a 53 4f SQLITE_SHELL_JSO 8d30: 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 N1 -DSQLITE_ENAB 8d40: 4c 45 5f 46 54 53 34 20 2d 44 53 51 4c 49 54 45 LE_FTS4 -DSQLITE 8d50: 5f 45 4e 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f _ENABLE_EXPLAIN_ 8d60: 43 4f 4d 4d 45 4e 54 53 0a 21 45 4e 44 49 46 0a COMMENTS.!ENDIF. 8d70: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 .# <<mark>>.# Ex 8d80: 74 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 tra compiler opt 8d90: 69 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f 75 73 ions for various 8da0: 20 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d test tools..#.M 8db0: 50 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f PTESTER_COMPILE_ 8dc0: 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f OPTS = -DSQLITE_ 8dd0: 53 48 45 4c 4c 5f 4a 53 4f 4e 31 20 2d 44 53 51 SHELL_JSON1 -DSQ 8de0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 LITE_ENABLE_FTS5 8df0: 0a 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d .FUZZERSHELL_COM 8e00: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 PILE_OPTS = -DSQ 8e10: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e LITE_ENABLE_JSON 8e20: 31 0a 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 1.FUZZCHECK_COMP 8e30: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c ILE_OPTS = -DSQL 8e40: 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 ITE_ENABLE_JSON1 8e50: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 8e60: 5f 4d 45 4d 53 59 53 35 0a 0a 23 20 53 74 61 6e _MEMSYS5..# Stan 8e70: 64 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 dard options to 8e80: 74 65 73 74 66 69 78 74 75 72 65 2e 0a 23 0a 54 testfixture..#.T 8e90: 45 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72 62 ESTOPTS = --verb 8ea0: 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70 75 ose=file --outpu 8eb0: 74 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a 0a t=test-out.txt.. 8ec0: 23 20 45 78 74 72 61 20 74 61 72 67 65 74 73 20 # Extra targets 8ed0: 66 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 74 61 for the "all" ta 8ee0: 72 67 65 74 20 74 68 61 74 20 72 65 71 75 69 72 rget that requir 8ef0: 65 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28 4e e Tcl..#.!IF$(N
8f00: 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43  O_TCL)==0.ALL_TC
8f10: 4c 5f 54 41 52 47 45 54 53 20 3d 20 6c 69 62 74  L_TARGETS = libt
8f20: 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45  clsqlite3.lib.!E
8f30: 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47  LSE.ALL_TCL_TARG
8f40: 45 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 3c  ETS =.!ENDIF.# <
8f50: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73  </mark>>..# This
8f60: 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20   is the default
8f70: 4d 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e  Makefile target.
8f80: 20 20 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69    The objects li
8f90: 73 74 65 64 20 68 65 72 65 0a 23 20 61 72 65 20  sted here.# are
8fa0: 77 68 61 74 20 67 65 74 20 62 75 69 6c 64 20 77  what get build w
8fb0: 68 65 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73  hen you type jus
8fc0: 74 20 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f  t "make" with no
8fd0: 20 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c   arguments..#.al
8fe0: 6c 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69 74 65  l:.dll libsqlite
8ff0: 33 2e 6c 69 62 20 73 68 65 6c 6c 20 24 28 41 4c  3.lib shell $(AL 9000: 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 29 0a 0a L_TCL_TARGETS).. 9010: 23 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c # Dynamic link l 9020: 69 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a ibrary section.. 9030: 23 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 #.dll:.$(SQLITE3
9040: 44 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78  DLL)..# Shell ex
9050: 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c  ecutable..#.shel
9060: 6c 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45 29  l:.$(SQLITE3EXE) 9070: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 ..# <<mark>>.lib 9080: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c sqlite3.lib:.$(L
9090: 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29  IBOBJ)..$(LTLIB) 90a0: 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f$(LTLIBOPTS) /O
90b0: 55 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20  UT:$@$(LIBOBJ)
90c0: 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c  $(TLIBS)..libtcl 90d0: 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c sqlite3.lib:.tcl 90e0: 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c sqlite.lo libsql 90f0: 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 ite3.lib..$(LTLI
9100: 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20  B) $(LTLIBOPTS) 9110: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f$(LTLIBPATHS) /O
9120: 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e  UT:$@ tclsqlite. 9130: 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 lo libsqlite3.li 9140: 62 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20 b$(LIBTCLSTUB)
9150: 24 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61  $(TLIBS).# <</ma 9160: 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44 rk>>..$(SQLITE3D
9170: 4c 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24  LL):.$(LIBOBJ)$
9180: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 43  (LIBRESOBJS) $(C 9190: 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24 ORE_LINK_DEP)..$
91a0: 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20  (LD) $(LDFLAGS) 91b0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28$(LTLINKOPTS) $( 91c0: 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c LTLIBPATHS) /DLL 91d0: 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54$(CORE_LINK_OPT
91e0: 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42  S) /OUT:$@$(LIB
91f0: 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  OBJ) $(LIBRESOBJ 9200: 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 S)$(LTLIBS) $(T 9210: 4c 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b LIBS)..# <<block 9220: 32 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a 2>>.sqlite3.def: 9230: 09 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a .libsqlite3.lib. 9240: 09 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20 .echo EXPORTS > 9250: 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 6d sqlite3.def..dum 9260: 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c pbin /all libsql 9270: 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24 ite3.lib \...|$
9280: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f  (TCLSH_CMD) $(TO 9290: 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e P)\tool\replace. 92a0: 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73 tcl include "^\s 92b0: 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33 5f 5b 5e +1 _?(sqlite3_[^ 92c0: 40 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 @]*)(?:@\d+)?$$" 92d0: 20 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e \1 \...| sort > 92e0: 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 23 20 > sqlite3.def.# 92f0: 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53 <</block2>>..$(S
9300: 51 4c 49 54 45 33 45 58 45 29 3a 09 24 28 54 4f  QLITE3EXE):.$(TO 9310: 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 20 24 P)\src\shell.c$
9320: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29  (SHELL_CORE_DEP)
9330: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS)$
9340: 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29  (SHELL_CORE_SRC)
9350: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
9360: 4c 54 4c 49 4e 4b 29 20 24 28 53 48 45 4c 4c 5f  LTLINK) $(SHELL_ 9370: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
9380: 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20  READLINE_FLAGS)
9390: 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c  $(TOP)\src\shell 93a0: 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f .c$(SHELL_CORE_
93b0: 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24  SRC) \.../link $93c0: 28 53 51 4c 49 54 45 33 45 58 45 50 44 42 29 20 (SQLITE3EXEPDB) 93d0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL 93e0: 49 4e 4b 4f 50 54 53 29 20 24 28 53 48 45 4c 4c INKOPTS)$(SHELL
93f0: 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54  _LINK_OPTS) $(LT 9400: 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 LIBPATHS)$(LIBR
9410: 45 53 4f 42 4a 53 29 20 24 28 4c 49 42 52 45 41  ESOBJS) $(LIBREA 9420: 44 4c 49 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 DLINE)$(LTLIBS)
9430: 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d   $(TLIBS)..# <<m 9440: 61 72 6b 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 ark>>.sqldiff.ex 9450: 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 e:.$(TOP)\tool\s
9460: 71 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54  qldiff.c $(SQLIT 9470: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
9480: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
9490: 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f  _WARN) $(TOP)\to 94a0: 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53 ol\sqldiff.c$(S
94b0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $94c0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
94d0: 4e 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31 2e  NKOPTS)..srcck1.
94e0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c  exe:.$(TOP)\tool 94f0: 5c 73 72 63 63 6b 31 2e 63 0a 09 24 28 42 43 43 \srcck1.c..$(BCC
9500: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65  ) $(NO_WARN) -Fe 9510: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73$@ $(TOP)\tool\s 9520: 72 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65 74 rcck1.c..sourcet 9530: 65 73 74 3a 09 73 72 63 63 6b 31 2e 65 78 65 20 est:.srcck1.exe 9540: 73 71 6c 69 74 65 33 2e 63 0a 09 73 72 63 63 6b sqlite3.c..srcck 9550: 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e 63 0a 1.exe sqlite3.c. 9560: 0a 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 .fuzzershell.exe 9570: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 :.$(TOP)\tool\fu
9580: 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51  zzershell.c $(SQ 9590: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 LITE3C)$(SQLITE
95a0: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK)$
95b0: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a  (NO_WARN) $(FUZZ 95c0: 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f ERSHELL_COMPILE_ 95d0: 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74 6f 6f OPTS)$(TOP)\too
95e0: 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20  l\fuzzershell.c
95f0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin 9600: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L 9610: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a TLINKOPTS)..fuzz 9620: 63 68 65 63 6b 2e 65 78 65 3a 09 24 28 54 4f 50 check.exe:.$(TOP
9630: 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b  )\test\fuzzcheck
9640: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24  .c $(SQLITE3C)$
9650: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT 9660: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
9670: 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d   $(FUZZCHECK_COM 9680: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 PILE_OPTS)$(TOP
9690: 29 5c 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b  )\test\fuzzcheck
96a0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) / 96b0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
96c0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 6d  $(LTLINKOPTS)..m 96d0: 70 74 65 73 74 65 72 2e 65 78 65 3a 09 24 28 54 ptester.exe:.$(T
96e0: 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73  OP)\mptest\mptes
96f0: 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  t.c $(SQLITE3C) 9700: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 9710: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
9720: 29 20 24 28 4d 50 54 45 53 54 45 52 5f 43 4f 4d  ) $(MPTESTER_COM 9730: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 PILE_OPTS)$(TOP
9740: 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 73 74 2e  )\mptest\mptest.
9750: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l 9760: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $9770: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4d 50 (LTLINKOPTS)..MP 9780: 54 45 53 54 31 20 3d 20 6d 70 74 65 73 74 65 72 TEST1 = mptester 9790: 20 6d 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 mptest.db$(TOP
97a0: 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 68 30 31  )\mptest\crash01
97b0: 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20 32  .test --repeat 2
97c0: 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d 70 74 65  0.MPTEST2 = mpte
97d0: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24  ster mptest.db $97e0: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 75 6c (TOP)\mptest\mul 97f0: 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 20 2d tiwrite01.test - 9800: 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d 70 74 65 -repeat 20..mpte 9810: 73 74 3a 09 6d 70 74 65 73 74 65 72 2e 65 78 65 st:.mptester.exe 9820: 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 2e ..del /Q mptest. 9830: 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d 50 54 45 db 2>NUL..$(MPTE
9840: 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST1) --journalmo
9850: 64 65 20 44 45 4c 45 54 45 0a 09 24 28 4d 50 54  de DELETE..$(MPT 9860: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d EST2) --journalm 9870: 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 ode WAL..$(MPTES
9880: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
9890: 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 53 54 32  e WAL..$(MPTEST2 98a0: 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 ) --journalmode 98b0: 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54 45 53 PERSIST..$(MPTES
98c0: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
98d0: 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50 54  e PERSIST..$(MPT 98e0: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d EST2) --journalm 98f0: 6f 64 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28 ode TRUNCATE..$(
9900: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e  MPTEST1) --journ
9910: 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a  almode TRUNCATE.
9920: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f  .$(MPTEST2) --jo 9930: 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 urnalmode DELETE 9940: 0a 0a 23 20 54 68 69 73 20 74 61 72 67 65 74 20 ..# This target 9950: 63 72 65 61 74 65 73 20 61 20 64 69 72 65 63 74 creates a direct 9960: 6f 72 79 20 6e 61 6d 65 64 20 22 74 73 72 63 22 ory named "tsrc" 9970: 20 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 77 69 and fills it wi 9980: 74 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 20 61 th.# copies of a 9990: 6c 6c 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 ll of the C sour 99a0: 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 ce code and head 99b0: 65 72 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 er files needed 99c0: 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74 68 to.# build on th 99d0: 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e e target system. 99e0: 20 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 43 20 Some of the C 99f0: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 source code and 9a00: 68 65 61 64 65 72 0a 23 20 66 69 6c 65 73 20 61 header.# files a 9a10: 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 re automatically 9a20: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 54 68 69 generated. Thi 9a30: 73 20 74 61 72 67 65 74 20 74 61 6b 65 73 20 63 s target takes c 9a40: 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61 are of.# all tha 9a50: 74 20 61 75 74 6f 6d 61 74 69 63 20 67 65 6e 65 t automatic gene 9a60: 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65 ration..#..targe 9a70: 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52 43 29 t_source:.$(SRC)
9a80: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62   $(TOP)\tool\vdb 9a90: 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 66 e-compress.tcl f 9aa0: 74 73 35 2e 63 0a 09 2d 72 6d 64 69 72 20 2f 51 ts5.c..-rmdir /Q 9ab0: 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 2d /S tsrc 2>NUL..- 9ac0: 6d 6b 64 69 72 20 74 73 72 63 0a 09 66 6f 72 20 mkdir tsrc..for 9ad0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 30 29 29 %i in ($(SRC00))
9ae0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
9af0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
9b00: 24 28 53 52 43 30 31 29 29 20 64 6f 20 63 6f 70  $(SRC01)) do cop 9b10: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f y /Y %i tsrc..fo 9b20: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 32 r %i in ($(SRC02
9b30: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
9b40: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
9b50: 20 28 24 28 53 52 43 30 33 29 29 20 64 6f 20 63   ($(SRC03)) do c 9b60: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 opy /Y %i tsrc.. 9b70: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 for %i in ($(SRC
9b80: 30 34 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20  04)) do copy /Y
9b90: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20  %i tsrc..for %i
9ba0: 69 6e 20 28 24 28 53 52 43 30 35 29 29 20 64 6f  in ($(SRC05)) do 9bb0: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 copy /Y %i tsrc 9bc0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 ..for %i in ($(S
9bd0: 52 43 30 36 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC06)) do copy /
9be0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
9bf0: 69 20 69 6e 20 28 24 28 53 52 43 30 37 29 29 20  i in ($(SRC07)) 9c00: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 do copy /Y %i ts 9c10: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 rc..for %i in ($
9c20: 28 53 52 43 30 38 29 29 20 64 6f 20 63 6f 70 79  (SRC08)) do copy
9c30: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
9c40: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 39 29   %i in ($(SRC09) 9c50: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 ) do copy /Y %i 9c60: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 tsrc..for %i in 9c70: 28 24 28 53 52 43 31 30 29 29 20 64 6f 20 63 6f ($(SRC10)) do co
9c80: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
9c90: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31  or %i in ($(SRC1 9ca0: 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 1)) do copy /Y % 9cb0: 69 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 i tsrc..copy /Y 9cc0: 66 74 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 fts5.c tsrc..cop 9cd0: 79 20 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63 y /Y fts5.h tsrc 9ce0: 0a 09 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 ..del /Q tsrc\sq 9cf0: 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 lite.h.in tsrc\p 9d00: 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 arse.y 2>NUL..$(
9d10: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP 9d20: 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 )\tool\vdbe-comp 9d30: 72 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 ress.tcl$(OPTS)
9d40: 20 3c 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e   < tsrc\vdbe.c >
9d50: 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20   vdbe.new..move
9d60: 76 64 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64  vdbe.new tsrc\vd
9d70: 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61  be.c..echo > .ta
9d80: 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c  rget_source..sql
9d90: 69 74 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f  ite3.c:..target_
9da0: 73 6f 75 72 63 65 20 73 71 6c 69 74 65 33 65 78  source sqlite3ex
9db0: 74 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  t.h $(TOP)\tool\ 9dc0: 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 mksqlite3c.tcl.. 9dd0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T 9de0: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 OP)\tool\mksqlit 9df0: 65 33 63 2e 74 63 6c 20 24 28 4d 4b 53 51 4c 49 e3c.tcl$(MKSQLI
9e00: 54 45 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79  TE3C_ARGS)..copy
9e10: 20 74 73 72 63 5c 73 68 65 6c 6c 2e 63 20 2e 0a   tsrc\shell.c ..
9e20: 0a 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 3a 09  .sqlite3-all.c:.
9e30: 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29  sqlite3.c $(TOP) 9e40: 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 \tool\split-sqli 9e50: 74 65 33 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 te3c.tcl..$(TCLS
9e60: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to 9e70: 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 ol\split-sqlite3 9e80: 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e c.tcl.# <</mark> 9e90: 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69 >..# Rule to bui 9ea0: 6c 64 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 ld the amalgamat 9eb0: 69 6f 6e 0a 23 0a 73 71 6c 69 74 65 33 2e 6c 6f ion.#.sqlite3.lo 9ec0: 3a 09 24 28 53 51 4c 49 54 45 33 43 29 0a 09 24 :.$(SQLITE3C)..$9ed0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
9ee0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
9ef0: 20 2d 63 20 24 28 53 51 4c 49 54 45 33 43 29 0a   -c $(SQLITE3C). 9f00: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 .# <<mark>>.# Ru 9f10: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 les to build the 9f20: 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72 20 LEMON compiler 9f30: 67 65 6e 65 72 61 74 6f 72 0a 23 0a 6c 65 6d 70 generator.#.lemp 9f40: 61 72 2e 63 3a 09 24 28 54 4f 50 29 5c 74 6f 6f ar.c:.$(TOP)\too
9f50: 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09 63 6f 70 79  l\lempar.c..copy
9f60: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d   $(TOP)\tool\lem 9f70: 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 par.c ...lemon.e 9f80: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c xe:.$(TOP)\tool\
9f90: 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70 61 72 2e 63  lemon.c lempar.c
9fa0: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41  ..$(BCC)$(NO_WA
9fb0: 52 4e 29 20 2d 44 61 63 63 65 73 73 3d 5f 61 63  RN) -Daccess=_ac
9fc0: 63 65 73 73 20 5c 0a 09 09 2d 46 65 24 40 20 24  cess \...-Fe$@$
9fd0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e  (TOP)\tool\lemon
9fe0: 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  .c /link $(LDFLA 9ff0: 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 GS)$(NLTLINKOPT
a000: 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53  S) $(NLTLIBPATHS a010: 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 )..# Rules to bu a020: 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a ild individual * a030: 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 67 .lo files from g a040: 65 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69 6c enerated *.c fil a050: 65 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c 69 es. This.# appli a060: 65 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70 es to:.#.# p a070: 61 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70 arse.lo.# op a080: 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65 codes.lo.#.parse a090: 2e 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28 48 .lo:.parse.c$(H
a0a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE a0b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
a0c0: 5f 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65 2e  _OPTS) -c parse.
a0d0: 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f  c..opcodes.lo:.o
a0e0: 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f  pcodes.c..$(LTCO a0f0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
a100: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f  MPILE_OPTS) -c o
a110: 70 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61  pcodes.c.# <</ma
a120: 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20  rk>>..# Rule to
a130: 62 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32 20  build the Win32
a140: 72 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63 74  resources object
a150: 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55   file..#.!IF $(U a160: 53 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c SE_RC)!=0.# <<bl a170: 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f ock1>>.$(LIBRESO
a180: 42 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72 63  BJS):.$(TOP)\src a190: 5c 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53 51 \sqlite3.rc$(SQ
a1a0: 4c 49 54 45 33 48 29 0a 09 65 63 68 6f 20 23 69  LITE3H)..echo #i
a1b0: 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 52 45 53  fndef SQLITE_RES
a1c0: 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20  OURCE_VERSION >
a1d0: 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f 72  sqlite3rc.h..for
a1e0: 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 70   /F %%V in ('typ
a1f0: 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f  e "$(TOP)\VERSIO a200: 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63 N"') do ( \...ec a210: 68 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54 ho #define SQLIT a220: 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 E_RESOURCE_VERSI a230: 4f 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 24 28 ON %%V \....|$(
a240: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP a250: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 )\tool\replace.t a260: 63 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e cl exact . ^, >> a270: 20 73 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09 sqlite3rc.h \.. a280: 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e )..echo #endif > a290: 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 24 > sqlite3rc.h..$
a2a0: 28 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f  (LTRCOMPILE) -fo
a2b0: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24   $(LIBRESOBJS)$
a2c0: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65  (TOP)\src\sqlite
a2d0: 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31  3.rc.# <</block1
a2e0: 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d  >>.!ENDIF..# <<m
a2f0: 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f  ark>>.# Rules to
a300: 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61   build individua
a310: 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f  l *.lo files fro
a320: 6d 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73  m files in the s
a330: 72 63 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a  rc directory..#.
a340: 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  alter.lo:.$(TOP) a350: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 28 48 \src\alter.c$(H
a360: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE a370: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
a380: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) a390: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e \src\alter.c..an a3a0: 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 alyze.lo:.$(TOP)
a3b0: 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24  \src\analyze.c $a3c0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
a3d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI a3e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
a3f0: 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63  P)\src\analyze.c
a400: 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54  ..attach.lo:.$(T a410: 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 OP)\src\attach.c a420: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM a430: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
a440: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( a450: 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e TOP)\src\attach. a460: 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f c..auth.lo:.$(TO
a470: 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 28  P)\src\auth.c $( a480: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
a490: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL a4a0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
a4b0: 29 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61  )\src\auth.c..ba
a4c0: 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ckup.lo:.$(TOP)\ a4d0: 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48 src\backup.c$(H
a4e0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE a4f0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
a500: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) a510: 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62 \src\backup.c..b a520: 69 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 itvec.lo:.$(TOP)
a530: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20 24 28  \src\bitvec.c $( a540: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
a550: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL a560: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
a570: 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a  )\src\bitvec.c..
a580: 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f  btmutex.lo:.$(TO a590: 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 P)\src\btmutex.c a5a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM a5b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
a5c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( a5d0: 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 TOP)\src\btmutex a5e0: 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 .c..btree.lo:.$(
a5f0: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63  TOP)\src\btree.c
a600: 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73   $(HDR)$(TOP)\s
a610: 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54  rc\pager.h..$(LT a620: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
a630: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
a640: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre a650: 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24 e.c..build.lo:.$
a660: 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e  (TOP)\src\build.
a670: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
a680: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO a690: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
a6a0: 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e  (TOP)\src\build.
a6b0: 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09  c..callback.lo:.
a6c0: 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62  $(TOP)\src\callb a6d0: 61 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ack.c$(HDR)..$( a6e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
a6f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
a700: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61  -c $(TOP)\src\ca a710: 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 llback.c..comple a720: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 te.lo:.$(TOP)\sr
a730: 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48  c\complete.c $(H a740: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
a750: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE a760: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
a770: 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a  \src\complete.c.
a780: 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50  .ctime.lo:.$(TOP a790: 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 24 28 )\src\ctime.c$(
a7a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL a7b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
a7c0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP a7d0: 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64 )\src\ctime.c..d a7e0: 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ate.lo:.$(TOP)\s
a7f0: 72 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52 29  rc\date.c $(HDR) a800: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $a810: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP a820: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
a830: 63 5c 64 61 74 65 2e 63 0a 0a 64 62 73 74 61 74  c\date.c..dbstat
a840: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ a850: 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 date.c$(HDR)..$a860: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
a870: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
a880: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64   -c $(TOP)\src\d a890: 62 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e bstat.c..delete. a8a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 lo:.$(TOP)\src\d
a8b0: 65 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09  elete.c $(HDR).. a8c0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C a8d0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS a8e0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
a8f0: 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c  delete.c..expr.l
a900: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 65 78  o:.$(TOP)\src\ex a910: 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c pr.c$(HDR)..$(L a920: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
a930: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
a940: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70  c $(TOP)\src\exp a950: 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24 r.c..fault.lo:.$
a960: 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e  (TOP)\src\fault.
a970: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
a980: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO a990: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
a9a0: 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e  (TOP)\src\fault.
a9b0: 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f  c..fkey.lo:.$(TO a9c0: 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24 28 P)\src\fkey.c$(
a9d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL a9e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
a9f0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP aa00: 29 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 )\src\fkey.c..fu aa10: 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 nc.lo:.$(TOP)\sr
aa20: 63 5c 66 75 6e 63 2e 63 20 24 28 48 44 52 29 0a  c\func.c $(HDR). aa30: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( aa40: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT aa50: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
aa60: 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e  \func.c..global.
aa70: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 67  lo:.$(TOP)\src\g aa80: 6c 6f 62 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 lobal.c$(HDR)..
aa90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
aaa0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
aab0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ aac0: 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c global.c..hash.l aad0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 o:.$(TOP)\src\ha
aae0: 73 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  sh.c $(HDR)..$(L
aaf0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE ab00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - ab10: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 c$(TOP)\src\has
ab20: 68 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09  h.c..insert.lo:.
ab30: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72  $(TOP)\src\inser ab40: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 t.c$(HDR)..$(LT ab50: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
ab60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
ab70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65   $(TOP)\src\inse ab80: 72 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a rt.c..legacy.lo: ab90: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 .$(TOP)\src\lega
aba0: 63 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  cy.c $(HDR)..$(L
abb0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE abc0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - abd0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 c$(TOP)\src\leg
abe0: 61 63 79 2e 63 0a 0a 6c 6f 61 64 65 78 74 2e 6c  acy.c..loadext.l
abf0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f  o:.$(TOP)\src\lo ac00: 61 64 65 78 74 2e 63 20 24 28 48 44 52 29 0a 09 adext.c$(HDR)..
ac10: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
ac20: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ac30: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ ac40: 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e loadext.c..main. ac50: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d lo:.$(TOP)\src\m
ac60: 61 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ain.c $(HDR)..$(
ac70: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR ac80: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) ac90: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 -c$(TOP)\src\ma
aca0: 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a  in.c..malloc.lo:
acb0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c  .$(TOP)\src\mall acc0: 6f 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c oc.c$(HDR)..$(L acd0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
ace0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
acf0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 6c  c $(TOP)\src\mal ad00: 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 loc.c..mem0.lo:. ad10: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e$(TOP)\src\mem0.
ad20: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ad30: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO ad40: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
ad50: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63  (TOP)\src\mem0.c
ad60: 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50  ..mem1.lo:.$(TOP ad70: 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 )\src\mem1.c$(H
ad80: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE ad90: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
ada0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) adb0: 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a 0a 6d 65 6d \src\mem1.c..mem adc0: 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 2.lo:.$(TOP)\src
add0: 5c 6d 65 6d 32 2e 63 20 24 28 48 44 52 29 0a 09  \mem2.c $(HDR).. ade0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C adf0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS ae00: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
ae10: 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a  mem2.c..mem3.lo:
ae20: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33  .$(TOP)\src\mem3 ae30: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC ae40: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
ae50: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
ae60: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e  $(TOP)\src\mem3. ae70: 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54 4f c..mem5.lo:.$(TO
ae80: 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24 28  P)\src\mem5.c $( ae90: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
aea0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL aeb0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
aec0: 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65  )\src\mem5.c..me
aed0: 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54  mjournal.lo:.$(T aee0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e OP)\src\memjourn aef0: 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c al.c$(HDR)..$(L af00: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
af10: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
af20: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem af30: 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65 78 journal.c..mutex af40: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
af50: 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09  mutex.c $(HDR).. af60: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C af70: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS af80: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
af90: 6d 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78 5f 6e  mutex.c..mutex_n
afa0: 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  oop.lo:.$(TOP)\s afb0: 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 rc\mutex_noop.c afc0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP afd0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
afe0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T aff0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f OP)\src\mutex_no b000: 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 op.c..mutex_unix b010: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
b020: 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20 24 28 48  mutex_unix.c $(H b030: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
b040: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE b050: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
b060: 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e  \src\mutex_unix.
b070: 63 0a 0a 6d 75 74 65 78 5f 77 33 32 2e 6c 6f 3a  c..mutex_w32.lo:
b080: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65  .$(TOP)\src\mute b090: 78 5f 77 33 32 2e 63 20 24 28 48 44 52 29 0a 09 x_w32.c$(HDR)..
b0a0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
b0b0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b0c0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ b0d0: 6d 75 74 65 78 5f 77 33 32 2e 63 0a 0a 6e 6f 74 mutex_w32.c..not b0e0: 69 66 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ify.lo:.$(TOP)\s
b0f0: 72 63 5c 6e 6f 74 69 66 79 2e 63 20 24 28 48 44  rc\notify.c $(HD b100: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
b110: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ b120: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
b130: 73 72 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61  src\notify.c..pa
b140: 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ger.lo:.$(TOP)\s b150: 72 63 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52 rc\pager.c$(HDR
b160: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67  ) $(TOP)\src\pag b170: 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c er.h..$(LTCOMPIL
b180: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL b190: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
b1a0: 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 0a 0a 70  )\src\pager.c..p
b1b0: 63 61 63 68 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  cache.lo:.$(TOP) b1c0: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 24 28 \src\pcache.c$(
b1d0: 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  HDR) $(TOP)\src\ b1e0: 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f pcache.h..$(LTCO
b1f0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO b200: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
b210: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65  (TOP)\src\pcache
b220: 2e 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09  .c..pcache1.lo:.
b230: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach b240: 65 31 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f e1.c$(HDR) $(TO b250: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a P)\src\pcache.h. b260: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( b270: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT b280: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
b290: 5c 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c  \pcache1.c..os.l
b2a0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  o:.$(TOP)\src\os b2b0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC b2c0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
b2d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
b2e0: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 0a  $(TOP)\src\os.c. b2f0: 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 .os_unix.lo:.$(T
b300: 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e  OP)\src\os_unix.
b310: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b320: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO b330: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
b340: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e 69  (TOP)\src\os_uni
b350: 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f 3a 09  x.c..os_win.lo:.
b360: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi b370: 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 n.c$(HDR)..$(LT b380: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
b390: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b3a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77   $(TOP)\src\os_w b3b0: 69 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a in.c..pragma.lo: b3c0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 .$(TOP)\src\prag
b3d0: 6d 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ma.c $(HDR)..$(L
b3e0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE b3f0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - b400: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 c$(TOP)\src\pra
b410: 67 6d 61 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c  gma.c..prepare.l
b420: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72  o:.$(TOP)\src\pr b430: 65 70 61 72 65 2e 63 20 24 28 48 44 52 29 0a 09 epare.c$(HDR)..
b440: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
b450: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b460: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ b470: 70 72 65 70 61 72 65 2e 63 0a 0a 70 72 69 6e 74 prepare.c..print b480: 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 f.lo:.$(TOP)\src
b490: 5c 70 72 69 6e 74 66 2e 63 20 24 28 48 44 52 29  \printf.c $(HDR) b4a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $b4b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP b4c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
b4d0: 63 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64  c\printf.c..rand
b4e0: 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  om.lo:.$(TOP)\sr b4f0: 63 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 c\random.c$(HDR
b500: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) b510: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
b520: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s b530: 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 rc\random.c..res b540: 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c olve.lo:.$(TOP)\
b550: 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 20 24 28  src\resolve.c $( b560: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
b570: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL b580: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
b590: 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e 63 0a  )\src\resolve.c.
b5a0: 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54 4f  .rowset.lo:.$(TO b5b0: 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 P)\src\rowset.c b5c0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP b5d0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
b5e0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T b5f0: 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 OP)\src\rowset.c b600: 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 28 54 ..select.lo:.$(T
b610: 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63  OP)\src\select.c
b620: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b630: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM b640: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
b650: 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e  TOP)\src\select.
b660: 63 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28  c..status.lo:.$( b670: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e TOP)\src\status. b680: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO b690: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
b6a0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $b6b0: 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 (TOP)\src\status b6c0: 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 .c..table.lo:.$(
b6d0: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
b6e0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b6f0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM b700: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
b710: 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63  TOP)\src\table.c
b720: 0a 0a 74 68 72 65 61 64 73 2e 6c 6f 3a 09 24 28  ..threads.lo:.$( b730: 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 TOP)\src\threads b740: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC b750: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
b760: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
b770: 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61  $(TOP)\src\threa b780: 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c ds.c..tokenize.l b790: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f o:.$(TOP)\src\to
b7a0: 6b 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64  kenize.c keyword
b7b0: 68 61 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24  hash.h $(HDR)..$
b7c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO b7d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) b7e0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 -c$(TOP)\src\t
b7f0: 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74 72 65 65 76  okenize.c..treev
b800: 69 65 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  iew.lo:.$(TOP)\s b810: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 24 28 rc\treeview.c$(
b820: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL b830: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
b840: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP b850: 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 )\src\treeview.c b860: 0a 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28 ..trigger.lo:.$(
b870: 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72  TOP)\src\trigger
b880: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b890: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C b8a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c b8b0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67$(TOP)\src\trigg
b8c0: 65 72 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a  er.c..update.lo:
b8d0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61  .$(TOP)\src\upda b8e0: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c te.c$(HDR)..$(L b8f0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
b900: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
b910: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64  c $(TOP)\src\upd b920: 61 74 65 2e 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 ate.c..utf.lo:.$
b930: 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20  (TOP)\src\utf.c
b940: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b950: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP b960: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
b970: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 0a 0a 75  OP)\src\utf.c..u
b980: 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  til.lo:.$(TOP)\s b990: 72 63 5c 75 74 69 6c 2e 63 20 24 28 48 44 52 29 rc\util.c$(HDR)
b9a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
b9b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b9c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr b9d0: 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d c\util.c..vacuum b9e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
b9f0: 76 61 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a  vacuum.c $(HDR). ba00: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( ba10: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT ba20: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
ba30: 5c 76 61 63 75 75 6d 2e 63 0a 0a 76 64 62 65 2e  \vacuum.c..vdbe.
ba40: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v ba50: 64 62 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 dbe.c$(HDR)..$( ba60: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
ba70: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
ba80: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd ba90: 62 65 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f be.c..vdbeapi.lo baa0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 :.$(TOP)\src\vdb
bab0: 65 61 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24  eapi.c $(HDR)..$
bac0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO bad0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) bae0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 -c$(TOP)\src\v
baf0: 64 62 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75  dbeapi.c..vdbeau
bb00: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  x.lo:.$(TOP)\src bb10: 5c 76 64 62 65 61 75 78 2e 63 20 24 28 48 44 52 \vdbeaux.c$(HDR
bb20: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) bb30: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
bb40: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s bb50: 72 63 5c 76 64 62 65 61 75 78 2e 63 0a 0a 76 64 rc\vdbeaux.c..vd bb60: 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54 4f 50 beblob.lo:.$(TOP
bb70: 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63  )\src\vdbeblob.c
bb80: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
bb90: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM bba0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
bbb0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f  TOP)\src\vdbeblo
bbc0: 62 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e 6c 6f 3a  b.c..vdbemem.lo:
bbd0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe bbe0: 6d 65 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 mem.c$(HDR)..$( bbf0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
bc00: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
bc10: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd bc20: 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f 72 bemem.c..vdbesor bc30: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 t.lo:.$(TOP)\src
bc40: 5c 76 64 62 65 73 6f 72 74 2e 63 20 24 28 48 44  \vdbesort.c $(HD bc50: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
bc60: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ bc70: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
bc80: 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 0a 0a  src\vdbesort.c..
bc90: 76 64 62 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28  vdbetrace.lo:.$( bca0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 TOP)\src\vdbetra bcb0: 63 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c ce.c$(HDR)..$(L bcc0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
bcd0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
bce0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb bcf0: 65 74 72 61 63 65 2e 63 0a 0a 76 74 61 62 2e 6c etrace.c..vtab.l bd00: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 o:.$(TOP)\src\vt
bd10: 61 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ab.c $(HDR)..$(L
bd20: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE bd30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - bd40: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 74 61 c$(TOP)\src\vta
bd50: 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54  b.c..wal.lo:.$(T bd60: 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 24 28 OP)\src\wal.c$(
bd70: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL bd80: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
bd90: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP bda0: 29 5c 73 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c )\src\wal.c..wal bdb0: 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ker.lo:.$(TOP)\s
bdc0: 72 63 5c 77 61 6c 6b 65 72 2e 63 20 24 28 48 44  rc\walker.c $(HD bdd0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
bde0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ bdf0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
be00: 73 72 63 5c 77 61 6c 6b 65 72 2e 63 0a 0a 77 68  src\walker.c..wh
be10: 65 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ere.lo:.$(TOP)\s be20: 72 63 5c 77 68 65 72 65 2e 63 20 24 28 48 44 52 rc\where.c$(HDR
be30: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) be40: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
be50: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s be60: 72 63 5c 77 68 65 72 65 2e 63 0a 0a 77 68 65 72 rc\where.c..wher be70: 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 ecode.lo:.$(TOP)
be80: 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63  \src\wherecode.c
be90: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
bea0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM beb0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
bec0: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f  TOP)\src\whereco
bed0: 64 65 2e 63 0a 0a 77 68 65 72 65 65 78 70 72 2e  de.c..whereexpr.
bee0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77  lo:.$(TOP)\src\w bef0: 68 65 72 65 65 78 70 72 2e 63 20 24 28 48 44 52 hereexpr.c$(HDR
bf00: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) bf10: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
bf20: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s bf30: 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 0a 0a rc\whereexpr.c.. bf40: 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 tclsqlite.lo:.$(
bf50: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69  TOP)\src\tclsqli
bf60: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
bf70: 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57  TCOMPILE) $(NO_W bf80: 41 52 4e 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53 ARN) -DUSE_TCL_S bf90: 54 55 42 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73 TUBS=1 -DBUILD_s bfa0: 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 qlite -I$(TCLINC
bfb0: 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  DIR) -c $(TOP)\s bfc0: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a rc\tclsqlite.c.. bfd0: 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e tclsqlite-shell. bfe0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 lo:.$(TOP)\src\t
bff0: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52  clsqlite.c $(HDR c000: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
c010: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c  $(NO_WARN) -DTCL c020: 53 48 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c SH=1 -DBUILD_sql c030: 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 ite -I$(TCLINCDI
c040: 52 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  R) -c $(TOP)\src c050: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 \tclsqlite.c..tc c060: 6c 73 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 63 lsqlite3.exe:.tc c070: 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f lsqlite-shell.lo c080: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S c090: 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 QLITE3H)$(LIBRE
c0a0: 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b  SOBJS)..$(LTLINK c0b0: 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c )$(SQLITE3C) /l
c0c0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
c0d0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L c0e0: 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a TLIBPATHS) /OUT: c0f0: 24 40 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65$@ tclsqlite-she
c100: 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42  ll.lo $(LIBRESOB c110: 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 JS)$(LTLIBS) $( c120: 54 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 TLIBS)..# Rules c130: 74 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 to build opcodes c140: 2e 63 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 .c and opcodes.h c150: 0a 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 .#.opcodes.c:.op c160: 63 6f 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 codes.h$(TOP)\t
c170: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63  ool\mkopcodec.tc
c180: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  l..$(TCLSH_CMD) c190: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70$(TOP)\tool\mkop
c1a0: 63 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65  codec.tcl opcode
c1b0: 73 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a  s.h > opcodes.c.
c1c0: 0a 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73  .opcodes.h:.pars
c1d0: 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  e.h $(TOP)\src\v c1e0: 64 62 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f dbe.c$(TOP)\too
c1f0: 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a  l\mkopcodeh.tcl.
c200: 09 74 79 70 65 20 70 61 72 73 65 2e 68 20 24 28  .type parse.h $( c210: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 TOP)\src\vdbe.c c220: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 |$(TCLSH_CMD) $c230: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 (TOP)\tool\mkopc c240: 6f 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 odeh.tcl > opcod c250: 65 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f es.h..# Rules to c260: 20 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61 build parse.c a c270: 6e 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65 nd parse.h - the c280: 20 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f outputs of lemo c290: 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 n..#.parse.h:.pa c2a0: 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 rse.c..parse.c:. c2b0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65$(TOP)\src\parse
c2c0: 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54  .y lemon.exe $(T c2d0: 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f OP)\tool\addopco c2e0: 64 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 des.tcl..del /Q c2f0: 70 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 parse.y parse.h c300: 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e parse.h.temp 2>N c310: 55 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c UL..copy$(TOP)\
c320: 73 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e  src\parse.y ....
c330: 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51  \lemon.exe $(REQ c340: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) c350: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c$(OPT_FEATURE_FL
c360: 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55  AGS) $(EXT_FEATU c370: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 RE_FLAGS)$(OPTS
c380: 29 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20  ) parse.y..move
c390: 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e  parse.h parse.h.
c3a0: 74 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d  temp..$(TCLSH_CM c3b0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 D)$(TOP)\tool\a
c3c0: 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61  ddopcodes.tcl pa
c3d0: 72 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72  rse.h.temp > par
c3e0: 73 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48  se.h..$(SQLITE3H c3f0: 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 ):.$(TOP)\src\sq
c400: 6c 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29  lite.h.in $(TOP) c410: 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24 \manifest.uuid$
c420: 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 24  (TOP)\VERSION..$c430: 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f (TCLSH_CMD)$(TO
c440: 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65  P)\tool\mksqlite
c450: 33 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c 3d 2f  3h.tcl $(TOP:\=/ c460: 29 20 3e 20 24 28 53 51 4c 49 54 45 33 48 29 0a ) >$(SQLITE3H).
c470: 0a 73 71 6c 69 74 65 33 65 78 74 2e 68 3a 09 2e  .sqlite3ext.h:..
c480: 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 09 63  target_source..c
c490: 6f 70 79 20 74 73 72 63 5c 73 71 6c 69 74 65 33  opy tsrc\sqlite3
c4a0: 65 78 74 2e 68 20 2e 0a 0a 6d 6b 6b 65 79 77 6f  ext.h ...mkkeywo
c4b0: 72 64 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f  rdhash.exe:.$(TO c4c0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 P)\tool\mkkeywor c4d0: 64 68 61 73 68 2e 63 0a 09 24 28 42 43 43 29 20 dhash.c..$(BCC)
c4e0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40  $(NO_WARN) -Fe$@
c4f0: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F c500: 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 LAGS)$(OPT_FEAT
c510: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54  URE_FLAGS) $(EXT c520: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) c530: 24 28 4f 50 54 53 29 20 5c 0a 09 09 24 28 54 4f$(OPTS) \...$(TO c540: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 P)\tool\mkkeywor c550: 64 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20 24 28 dhash.c /link$(
c560: 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49  LDFLAGS) $(NLTLI c570: 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 NKOPTS)$(NLTLIB
c580: 50 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72 64 68  PATHS)..keywordh
c590: 61 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c 74 6f  ash.h:.$(TOP)\to c5a0: 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 ol\mkkeywordhash c5b0: 2e 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 .c mkkeywordhash c5c0: 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77 6f 72 .exe...\mkkeywor c5d0: 64 68 61 73 68 2e 65 78 65 20 3e 20 6b 65 79 77 dhash.exe > keyw c5e0: 6f 72 64 68 61 73 68 2e 68 0a 0a 0a 0a 23 20 52 ordhash.h....# R c5f0: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 ules to build th c600: 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 e extension obje c610: 63 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 cts..#.icu.lo:.$
c620: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63  (TOP)\ext\icu\ic
c630: 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  u.c $(HDR)$(EXT
c640: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL c650: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
c660: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR c670: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE c680: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 -c$(TOP)\ext\i
c690: 63 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e 6c  cu\icu.c..fts2.l
c6a0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft c6b0: 73 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52 29 s2\fts2.c$(HDR)
c6c0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
c6d0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ c6e0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
c6f0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
c700: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) c710: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 \ext\fts2\fts2.c c720: 0a 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 ..fts2_hash.lo:. c730: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
c740: 66 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48 44  fts2_hash.c $(HD c750: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( c760: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
c770: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
c780: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL c790: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
c7a0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
c7b0: 5f 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69 63  _hash.c..fts2_ic
c7c0: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext c7d0: 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 \fts2\fts2_icu.c c7e0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR c7f0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
c800: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O c810: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
c820: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
c830: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 c840: 5c 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74 73 \fts2_icu.c..fts c850: 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 2_porter.lo:.$(T
c860: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
c870: 32 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52  2_porter.c $(HDR c880: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L c890: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
c8a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $c8b0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI c8c0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
c8d0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
c8e0: 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f 74  porter.c..fts2_t
c8f0: 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54  okenizer.lo:.$(T c900: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts c910: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 2_tokenizer.c$(
c920: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR).. c930: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C c940: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS c950: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
c960: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $( c970: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft c980: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a s2_tokenizer.c.. c990: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e fts2_tokenizer1. c9a0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 lo:.$(TOP)\ext\f
c9b0: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2\fts2_tokeniz
c9c0: 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45  er1.c $(HDR)$(E
c9d0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP c9e0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
c9f0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W ca00: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO ca10: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
ca20: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e  \fts2\fts2_token
ca30: 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f  izer1.c..fts3.lo
ca40: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts ca50: 33 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29 20 3\fts3.c$(HDR)
ca60: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
ca70: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C ca80: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
ca90: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
caa0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ cab0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 0a ext\fts3\fts3.c. cac0: 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 .fts3_aux.lo:.$(
cad0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
cae0: 73 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29 20  s3_aux.c $(HDR) caf0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC cb00: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
cb10: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N cb20: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE cb30: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
cb40: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75  ext\fts3\fts3_au
cb50: 78 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e 6c  x.c..fts3_expr.l
cb60: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft cb70: 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 24 s3\fts3_expr.c$
cb80: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). cb90: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( cba0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT cbb0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
cbc0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $cbd0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f cbe0: 74 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73 33 ts3_expr.c..fts3 cbf0: 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 _hash.lo:.$(TOP)
cc00: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68  \ext\fts3\fts3_h
cc10: 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45  ash.c $(HDR)$(E
cc20: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP cc30: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
cc40: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57  ILE_OPTS) $(NO_W cc50: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ARN) -DSQLITE_CO cc60: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
cc70: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
cc80: 63 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a 09  c..fts3_icu.lo:.
cc90: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ cca0: 66 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44 52 fts3_icu.c$(HDR
ccb0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
ccc0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE ccd0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
cce0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
ccf0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP cd00: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ cd10: 69 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69 70 icu.c..fts3_snip cd20: 70 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 pet.lo:.$(TOP)\e
cd30: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69  xt\fts3\fts3_sni
cd40: 70 70 65 74 2e 63 20 24 28 48 44 52 29 20 24 28  ppet.c $(HDR)$(
cd50: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM cd60: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
cd70: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ cd80: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C cd90: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
cda0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70  t\fts3\fts3_snip
cdb0: 70 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 74  pet.c..fts3_port
cdc0: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  er.lo:.$(TOP)\ex cdd0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 t\fts3\fts3_port cde0: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 er.c$(HDR) $(EX cdf0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
ce00: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI ce10: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
ce20: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
ce30: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ ce40: 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 fts3\fts3_porter ce50: 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a .c..fts3_tokeniz ce60: 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 er.lo:.$(TOP)\ex
ce70: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
ce80: 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24  nizer.c $(HDR)$
ce90: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO cea0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
ceb0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO cec0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ ced0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
cee0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b  xt\fts3\fts3_tok
cef0: 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f 74  enizer.c..fts3_t
cf00: 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28  okenizer1.lo:.$( cf10: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft cf20: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 s3_tokenizer1.c cf30: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) cf40: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $cf50: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP cf60: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
cf70: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
cf80: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ cf90: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e fts3_tokenizer1. cfa0: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 c..fts3_tokenize cfb0: 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 _vtab.lo:.$(TOP)
cfc0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74  \ext\fts3\fts3_t
cfd0: 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 24  okenize_vtab.c $cfe0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
cff0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d000: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d010: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D d020: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
d030: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
d040: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61  ts3_tokenize_vta
d050: 62 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64  b.c..fts3_unicod
d060: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  e.lo:.$(TOP)\ext d070: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f \fts3\fts3_unico d080: 64 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 de.c$(HDR) $(EX d090: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
d0a0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI d0b0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
d0c0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
d0d0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ d0e0: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 fts3\fts3_unicod d0f0: 65 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 e.c..fts3_unicod d100: 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 e2.lo:.$(TOP)\ex
d110: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
d120: 6f 64 65 32 2e 63 20 24 28 48 44 52 29 20 24 28  ode2.c $(HDR)$(
d130: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM d140: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
d150: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ d160: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C d170: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
d180: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63  t\fts3\fts3_unic
d190: 6f 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72 69  ode2.c..fts3_wri
d1a0: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  te.lo:.$(TOP)\ex d1b0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 t\fts3\fts3_writ d1c0: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 e.c$(HDR) $(EXT d1d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d1e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL d1f0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
d200: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
d210: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f d220: 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 ts3\fts3_write.c d230: 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f ..rtree.lo:.$(TO
d240: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72  P)\ext\rtree\rtr
d250: 65 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  ee.c $(HDR)$(EX
d260: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI d270: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d280: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA d290: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR d2a0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
d2b0: 72 74 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a 23  rtree\rtree.c..#
d2c0: 20 46 54 53 35 20 74 68 69 6e 67 73 0a 23 0a 46   FTS5 things.#.F
d2d0: 54 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20 20 24  TS5_SRC = \.   $d2e0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 (TOP)\ext\fts5\f d2f0: 74 73 35 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 ts5.h \.$(TOP
d300: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 49  )\ext\fts5\fts5I
d310: 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  nt.h \.   $(TOP) d320: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 61 \ext\fts5\fts5_a d330: 75 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 ux.c \.$(TOP)
d340: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 62  \ext\fts5\fts5_b
d350: 75 66 66 65 72 2e 63 20 5c 0a 20 20 20 24 28 54  uffer.c \.   $(T d360: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts d370: 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20 24 28 5_main.c \.$(
d380: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
d390: 73 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20  s5_config.c \.
d3a0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 d3b0: 5c 66 74 73 35 5f 65 78 70 72 2e 63 20 5c 0a 20 \fts5_expr.c \. d3c0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
d3d0: 35 5c 66 74 73 35 5f 68 61 73 68 2e 63 20 5c 0a  5\fts5_hash.c \.
d3e0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft d3f0: 73 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e 63 20 s5\fts5_index.c d400: 5c 0a 20 20 20 66 74 73 35 70 61 72 73 65 2e 63 \. fts5parse.c d410: 20 66 74 73 35 70 61 72 73 65 2e 68 20 5c 0a 20 fts5parse.h \. d420: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
d430: 35 5c 66 74 73 35 5f 73 74 6f 72 61 67 65 2e 63  5\fts5_storage.c
d440: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74   \.   $(TOP)\ext d450: 5c 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b 65 6e \fts5\fts5_token d460: 69 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 ize.c \.$(TOP
d470: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
d480: 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 20  unicode2.c \.
d490: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\ d4a0: 66 74 73 35 5f 76 61 72 69 6e 74 2e 63 20 5c 0a fts5_varint.c \. d4b0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74$(TOP)\ext\ft
d4c0: 73 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e 63 0a  s5\fts5_vocab.c.
d4d0: 0a 66 74 73 35 70 61 72 73 65 2e 63 3a 09 24 28  .fts5parse.c:.$( d4e0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 TOP)\ext\fts5\ft d4f0: 73 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e s5parse.y lemon. d500: 65 78 65 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 exe..copy$(TOP)
d510: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61  \ext\fts5\fts5pa
d520: 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f 51 20  rse.y ...del /Q
d530: 66 74 73 35 70 61 72 73 65 2e 68 20 32 3e 4e 55  fts5parse.h 2>NU
d540: 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24  L...\lemon.exe $d550: 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 (REQ_FEATURE_FLA d560: 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 GS)$(OPT_FEATUR
d570: 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46  E_FLAGS) $(EXT_F d580: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 EATURE_FLAGS)$(
d590: 4f 50 54 53 29 20 66 74 73 35 70 61 72 73 65 2e  OPTS) fts5parse.
d5a0: 79 0a 0a 66 74 73 35 70 61 72 73 65 2e 68 3a 09  y..fts5parse.h:.
d5b0: 66 74 73 35 70 61 72 73 65 2e 63 0a 0a 66 74 73  fts5parse.c..fts
d5c0: 35 2e 63 3a 09 24 28 46 54 53 35 5f 53 52 43 29  5.c:.$(FTS5_SRC) d5d0: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 ..$(TCLSH_CMD) $d5e0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 74 (TOP)\ext\fts5\t d5f0: 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63 6c 0a ool\mkfts5c.tcl. d600: 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 .copy$(TOP)\ext
d610: 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 2e 0a 0a  \fts5\fts5.h ...
d620: 66 74 73 35 2e 6c 6f 3a 09 66 74 73 35 2e 63 20  fts5.lo:.fts5.c
d630: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
d640: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
d650: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d660: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - d670: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c d680: 66 74 73 35 2e 63 0a 0a 66 74 73 35 5f 65 78 74 fts5.c..fts5_ext d690: 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 .lo:.fts5.c$(HD
d6a0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
d6b0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f  LTCOMPILE) $(NO_ d6c0: 57 41 52 4e 29 20 2d 63 20 66 74 73 35 2e 63 0a WARN) -c fts5.c. d6d0: 0a 66 74 73 35 2e 64 6c 6c 3a 09 66 74 73 35 5f .fts5.dll:.fts5_ d6e0: 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 24 28 ext.lo..$(LD) $( d6f0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
d700: 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41  KOPTS) $(LTLIBPA d710: 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 3a 24 THS) /DLL /OUT:$
d720: 40 20 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 0a 73  @ fts5_ext.lo..s
d730: 71 6c 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24 28  qlite3rbu.lo:.$( d740: 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c TOP)\ext\rbu\sql d750: 69 74 65 33 72 62 75 2e 63 20 24 28 48 44 52 29 ite3rbu.c$(HDR)
d760: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
d770: 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54  COMPILE) -DSQLIT
d780: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) d790: 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 \ext\rbu\sqlite3 d7a0: 72 62 75 2e 63 0a 0a 23 20 52 75 6c 65 73 20 74 rbu.c..# Rules t d7b0: 6f 20 62 75 69 6c 64 20 74 68 65 20 27 74 65 73 o build the 'tes d7c0: 74 66 69 78 74 75 72 65 27 20 61 70 70 6c 69 63 tfixture' applic d7d0: 61 74 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75 73 ation..#.# If us d7e0: 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 ing the amalgama d7f0: 74 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74 65 tion, use sqlite d800: 33 2e 63 20 64 69 72 65 63 74 6c 79 20 74 6f 20 3.c directly to d810: 62 75 69 6c 64 20 74 68 65 20 74 65 73 74 0a 23 build the test.# d820: 20 66 69 78 74 75 72 65 2e 20 20 4f 74 68 65 72 fixture. Other d830: 77 69 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73 wise link agains d840: 74 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 t libsqlite3.lib d850: 2e 20 20 28 54 68 69 73 20 64 69 73 74 69 6e 63 . (This distinc d860: 74 69 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73 73 tion is.# necess d870: 61 72 79 20 62 65 63 61 75 73 65 20 74 68 65 20 ary because the d880: 74 65 73 74 20 66 69 78 74 75 72 65 20 72 65 71 test fixture req d890: 75 69 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73 79 uires non-API sy d8a0: 6d 62 6f 6c 73 20 77 68 69 63 68 20 61 72 65 0a mbols which are. d8b0: 23 20 68 69 64 64 65 6e 20 77 68 65 6e 20 74 68 # hidden when th d8c0: 65 20 6c 69 62 72 61 72 79 20 69 73 20 62 75 69 e library is bui d8d0: 6c 74 20 76 69 61 20 74 68 65 20 61 6d 61 6c 67 lt via the amalg d8e0: 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 amation)..#.TEST d8f0: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 FIXTURE_FLAGS = d900: 2d 44 54 43 4c 53 48 3d 31 20 2d 44 53 51 4c 49 -DTCLSH=1 -DSQLI d910: 54 45 5f 54 45 53 54 3d 31 20 2d 44 53 51 4c 49 TE_TEST=1 -DSQLI d920: 54 45 5f 43 52 41 53 48 5f 54 45 53 54 3d 31 0a TE_CRASH_TEST=1. d930: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 TESTFIXTURE_FLAG d940: 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 S =$(TESTFIXTUR
d950: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54  E_FLAGS) -DSQLIT
d960: 45 5f 53 45 52 56 45 52 3d 31 20 2d 44 53 51 4c  E_SERVER=1 -DSQL
d970: 49 54 45 5f 50 52 49 56 41 54 45 3d 22 22 0a 54  ITE_PRIVATE="".T
d980: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
d990: 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45   = $(TESTFIXTURE d9a0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE d9b0: 5f 43 4f 52 45 20 24 28 4e 4f 5f 57 41 52 4e 29 _CORE$(NO_WARN)
d9c0: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
d9d0: 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU d9e0: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI d9f0: 54 45 5f 53 45 52 49 45 53 5f 43 4f 4e 53 54 52 TE_SERIES_CONSTR da00: 41 49 4e 54 5f 56 45 52 49 46 59 3d 31 0a 54 45 AINT_VERIFY=1.TE da10: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 STFIXTURE_FLAGS da20: 3d 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f =$(TESTFIXTURE_
da30: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
da40: 44 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a  DEFAULT_PAGE_SIZ
da50: 45 3d 31 30 32 34 0a 0a 54 45 53 54 46 49 58 54  E=1024..TESTFIXT
da60: 55 52 45 5f 53 52 43 30 20 3d 20 24 28 54 45 53  URE_SRC0 = $(TES da70: 54 45 58 54 29 20 24 28 54 45 53 54 53 52 43 32 TEXT)$(TESTSRC2
da80: 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  ).TESTFIXTURE_SR
da90: 43 31 20 3d 20 24 28 54 45 53 54 45 58 54 29 20  C1 = $(TESTEXT) daa0: 24 28 53 51 4c 49 54 45 33 43 29 0a 21 49 46 20$(SQLITE3C).!IF
dab0: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI dac0: 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 49 58 54 55 ON)==0.TESTFIXTU dad0: 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 RE_SRC =$(TESTS
dae0: 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  RC) $(TOP)\src\t daf0: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 clsqlite.c$(TES
db00: 54 46 49 58 54 55 52 45 5f 53 52 43 30 29 0a 21  TFIXTURE_SRC0).!
db10: 45 4c 53 45 0a 54 45 53 54 46 49 58 54 55 52 45  ELSE.TESTFIXTURE
db20: 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43  _SRC = $(TESTSRC db30: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c )$(TOP)\src\tcl
db40: 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46  sqlite.c $(TESTF db50: 49 58 54 55 52 45 5f 53 52 43 31 29 0a 21 45 4e IXTURE_SRC1).!EN db60: 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75 72 65 DIF..testfixture db70: 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49 58 54 .exe:.$(TESTFIXT
db80: 55 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54  URE_SRC) $(SQLIT db90: 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a E3H)$(LIBRESOBJ
dba0: 53 29 20 24 28 48 44 52 29 0a 09 24 28 4c 54 4c  S) $(HDR)..$(LTL
dbb0: 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f  INK) -DSQLITE_NO
dbc0: 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49  _SYNC=1 $(TESTFI dbd0: 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09 XTURE_FLAGS) \.. dbe0: 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 .-DBUILD_sqlite dbf0: 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c -I$(TCLINCDIR) \
dc00: 0a 09 09 24 28 54 45 53 54 46 49 58 54 55 52 45  ...$(TESTFIXTURE dc10: 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 _SRC) \.../link dc20: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL dc30: 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 INKOPTS)$(LTLIB
dc40: 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f  PATHS) $(LIBRESO dc50: 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 BJS)$(LTLIBS) $dc60: 28 54 4c 49 42 53 29 0a 0a 65 78 74 65 6e 73 69 (TLIBS)..extensi dc70: 6f 6e 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 ontest:.testfixt dc80: 75 72 65 2e 65 78 65 20 74 65 73 74 6c 6f 61 64 ure.exe testload dc90: 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74 20 50 41 ext.dll..@set PA dca0: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 TH=$(LIBTCLPATH)
dcb0: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test dcc0: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f fixture.exe$(TO
dcd0: 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65 78 74 2e  P)\test\loadext.
dce0: 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29  test $(TESTOPTS) dcf0: 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24 28 54 45 ..fulltest:.$(TE
dd00: 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73  STPROGS) fuzztes
dd10: 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c  t..@set PATH=$(L dd20: 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 IBTCLPATH);$(PAT
dd30: 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72  H)...\testfixtur
dd40: 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73  e.exe $(TOP)\tes dd50: 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28 54 45 53 t\all.test$(TES
dd60: 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74 65 73 74  TOPTS)..soaktest
dd70: 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09  :.$(TESTPROGS).. dd80: 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 @set PATH=$(LIBT
dd90: 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH). dda0: 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 ..\testfixture.e ddb0: 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61 xe$(TOP)\test\a
ddc0: 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31 20  ll.test -soak=1
ddd0: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c  $(TESTOPTS)..ful dde0: 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28 54 45 53 ltestonly:.$(TES
ddf0: 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74  TPROGS) fuzztest
de00: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI de10: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 BTCLPATH);$(PATH
de20: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
de30: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test de40: 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 65 72 \full.test..quer de50: 79 70 6c 61 6e 74 65 73 74 3a 09 74 65 73 74 66 yplantest:.testf de60: 69 78 74 75 72 65 2e 65 78 65 20 73 68 65 6c 6c ixture.exe shell de70: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 ..@set PATH=$(LI
de80: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH de90: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 )...\testfixture dea0: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 .exe$(TOP)\test
deb0: 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73 2e 74 65  \permutations.te
dec0: 73 74 20 71 75 65 72 79 70 6c 61 6e 6e 65 72 20  st queryplanner
ded0: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 7a  $(TESTOPTS)..fuz dee0: 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b ztest:.fuzzcheck def0: 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 .exe...\fuzzchec df00: 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44 41 54 41 k.exe$(FUZZDATA
df10: 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65 73 74 3a  )..fastfuzztest:
df20: 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09  .fuzzcheck.exe..
df30: 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20  .\fuzzcheck.exe
df40: 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31 30 30 4d  --limit-mem 100M
df50: 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 23 20   $(FUZZDATA)..# df60: 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69 6e 67 20 Minimal testing df70: 74 68 61 74 20 72 75 6e 73 20 69 6e 20 6c 65 73 that runs in les df80: 73 20 74 68 61 6e 20 33 20 6d 69 6e 75 74 65 73 s than 3 minutes df90: 20 28 6f 6e 20 61 20 66 61 73 74 20 6d 61 63 68 (on a fast mach dfa0: 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74 65 73 74 ine).#.quicktest dfb0: 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 :.testfixture.ex dfc0: 65 20 73 6f 75 72 63 65 74 65 73 74 0a 09 40 73 e sourcetest..@s dfd0: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c et PATH=$(LIBTCL
dfe0: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)... dff0: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 \testfixture.exe e000: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 65 78 74$(TOP)\test\ext
e010: 72 61 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54  raquick.test $(T e020: 45 53 54 4f 50 54 53 29 0a 0a 23 20 54 68 69 73 ESTOPTS)..# This e030: 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 63 is the common c e040: 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e 79 20 74 ase. Run many t e050: 65 73 74 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 ests that do not e060: 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67 2c 0a take too long,. e070: 23 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 7a 7a # including fuzz e080: 63 68 65 63 6b 2c 20 73 71 6c 69 74 65 33 5f 61 check, sqlite3_a e090: 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20 73 71 6c nalyzer, and sql e0a0: 64 69 66 66 20 74 65 73 74 73 2e 0a 23 0a 74 65 diff tests..#.te e0b0: 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 st:.$(TESTPROGS)
e0c0: 20 73 6f 75 72 63 65 74 65 73 74 20 66 61 73 74   sourcetest fast
e0d0: 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50  fuzztest..@set P
e0e0: 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH e0f0: 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 );$(PATH)...\tes
e100: 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T e110: 4f 50 29 5c 74 65 73 74 5c 76 65 72 79 71 75 69 OP)\test\veryqui e120: 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 ck.test$(TESTOP
e130: 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 3a 09  TS)..smoketest:.
e140: 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73  $(TESTPROGS)..@s e150: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c et PATH=$(LIBTCL
e160: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)... e170: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 \testfixture.exe e180: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6d 61 69$(TOP)\test\mai
e190: 6e 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54  n.test $(TESTOPT e1a0: 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c S)..sqlite3_anal e1b0: 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c 49 54 45 yzer.c:.$(SQLITE
e1c0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20  3C) $(SQLITE3H) e1d0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71$(TOP)\src\tclsq
e1e0: 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f  lite.c $(TOP)\to e1f0: 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c ol\spaceanal.tcl e200: 0a 09 65 63 68 6f 20 23 64 65 66 69 6e 65 20 54 ..echo #define T e210: 43 4c 53 48 20 32 20 3e 20 24 40 0a 09 65 63 68 CLSH 2 >$@..ech
e220: 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45  o #define SQLITE
e230: 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56  _ENABLE_DBSTAT_V
e240: 54 41 42 20 31 20 3e 3e 20 24 40 0a 09 63 6f 70  TAB 1 >> $@..cop e250: 79 20 24 40 20 2b 20 24 28 53 51 4c 49 54 45 33 y$@ + $(SQLITE3 e260: 43 29 20 2b 20 24 28 54 4f 50 29 5c 73 72 63 5c C) +$(TOP)\src\
e270: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 40 0a 09  tclsqlite.c $@.. e280: 65 63 68 6f 20 73 74 61 74 69 63 20 63 6f 6e 73 echo static cons e290: 74 20 63 68 61 72 20 2a 74 63 6c 73 68 5f 6d 61 t char *tclsh_ma e2a0: 69 6e 5f 6c 6f 6f 70 28 76 6f 69 64 29 7b 20 3e in_loop(void){ > e2b0: 3e 20 24 40 0a 09 65 63 68 6f 20 73 74 61 74 69 >$@..echo stati
e2c0: 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 7a 4d  c const char *zM
e2d0: 61 69 6e 6c 6f 6f 70 20 3d 20 3e 3e 20 24 40 0a  ainloop = >> $@. e2e0: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 .$(TCLSH_CMD) $( e2f0: 54 4f 50 29 5c 74 6f 6f 6c 5c 74 6f 73 74 72 2e TOP)\tool\tostr. e300: 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c tcl$(TOP)\tool\
e310: 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c 20 3e 3e  spaceanal.tcl >>
e320: 20 24 40 0a 09 65 63 68 6f 20 3b 20 72 65 74 75   $@..echo ; retu e330: 72 6e 20 7a 4d 61 69 6e 6c 6f 6f 70 3b 20 7d 20 rn zMainloop; } e340: 3e 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61 >>$@..sqlite3_a
e350: 6e 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c  nalyzer.exe:.sql
e360: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20  ite3_analyzer.c
e370: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24  $(LIBRESOBJS)..$
e380: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA e390: 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 RN) -DBUILD_sqli e3a0: 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 te -I$(TCLINCDIR
e3b0: 29 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  ) sqlite3_analyz
e3c0: 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24  er.c \.../link $e3d0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
e3e0: 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50  NKOPTS) $(LTLIBP e3f0: 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 ATHS)$(LIBRESOB
e400: 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28  JS) $(LTLIBS)$(
e410: 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f 61 64  TLIBS)..testload
e420: 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ext.lo:.$(TOP)\s e430: 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e rc\test_loadext. e440: 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 c..$(LTCOMPILE)
e450: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28  $(NO_WARN) -c$(
e460: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f  TOP)\src\test_lo
e470: 61 64 65 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61  adext.c..testloa
e480: 64 65 78 74 2e 64 6c 6c 3a 09 74 65 73 74 6c 6f  dext.dll:.testlo
e490: 61 64 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20  adext.lo..$(LD) e4a0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL e4b0: 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 INKOPTS)$(LTLIB
e4c0: 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54  PATHS) /DLL /OUT
e4d0: 3a 24 40 20 74 65 73 74 6c 6f 61 64 65 78 74 2e  :$@ testloadext. e4e0: 6c 6f 0a 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09 lo..showdb.exe:. e4f0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77$(TOP)\tool\show
e500: 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  db.c $(SQLITE3C) e510: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28$(SQLITE3H)..$( e520: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 LTLINK)$(NO_WAR
e530: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45  N) -DSQLITE_THRE
e540: 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54  ADSAFE=0 -DSQLIT
e550: 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45  E_OMIT_LOAD_EXTE
e560: 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09  NSION -Fe$@ \... e570: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77$(TOP)\tool\show
e580: 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  db.c $(SQLITE3C) e590: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 /link$(LDFLAGS
e5a0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS). e5b0: 0a 73 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09 .showstat4.exe:. e5c0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77$(TOP)\tool\show
e5d0: 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45  stat4.c $(SQLITE e5e0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
e5f0: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
e600: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
e610: 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
e620: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
e630: 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c  XTENSION -Fe$@ \ e640: 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 ...$(TOP)\tool\s
e650: 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c  howstat4.c $(SQL e660: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
e670: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK e680: 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e OPTS)..showjourn e690: 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 al.exe:.$(TOP)\t
e6a0: 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e  ool\showjournal.
e6b0: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C)$(
e6c0: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL e6d0: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 INK)$(NO_WARN)
e6e0: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
e6f0: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
e700: 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
e710: 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54  ON -Fe$@ \...$(T
e720: 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75  OP)\tool\showjou
e730: 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  rnal.c $(SQLITE3 e740: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
e750: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS e760: 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78 65 3a 09 )..showwal.exe:. e770: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77$(TOP)\tool\show
e780: 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43  wal.c $(SQLITE3C e790: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 )$(SQLITE3H)..$e7a0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 (LTLINK)$(NO_WA
e7b0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52  RN) -DSQLITE_THR
e7c0: 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49  EADSAFE=0 -DSQLI
e7d0: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
e7e0: 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09  ENSION -Fe$@ \.. e7f0: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f .$(TOP)\tool\sho
e800: 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33  wwal.c $(SQLITE3 e810: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
e820: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS e830: 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65 3a )..fts3view.exe: e840: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 .$(TOP)\ext\fts3
e850: 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63  \tool\fts3view.c
e860: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
e870: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI e880: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
e890: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
e8a0: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
e8b0: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
e8c0: 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f  N -Fe$@ \...$(TO
e8d0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c  P)\ext\fts3\tool
e8e0: 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53 51  \fts3view.c $(SQ e8f0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
e900: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN e910: 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b KOPTS)..rollback e920: 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 -test.exe:.$(TOP
e930: 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d  )\tool\rollback-
e940: 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3 e950: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
e960: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
e970: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
e980: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
e990: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
e9a0: 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a  TENSION -Fe$@ \. e9b0: 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f ..$(TOP)\tool\ro
e9c0: 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28  llback-test.c $( e9d0: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 SQLITE3C) /link e9e0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL e9f0: 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 INKOPTS)..LogEst ea00: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f .exe:.$(TOP)\too
ea10: 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c  l\logest.c $(SQL ea20: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b ITE3H)..$(LTLINK
ea30: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65  ) $(NO_WARN) -Fe ea40: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c$@ $(TOP)\tool\L ea50: 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28 ogEst.c /link$(
ea60: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN ea70: 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e KOPTS)..wordcoun ea80: 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 t.exe:.$(TOP)\te
ea90: 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24  st\wordcount.c $eaa0: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
eab0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK eac0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
ead0: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
eae0: 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
eaf0: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION
eb00: 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29  -Fe$@ \...$(TOP)
eb10: 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e  \test\wordcount.
eb20: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l eb30: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $eb40: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 70 (LTLINKOPTS)..sp eb50: 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09 24 28 eedtest1.exe:.$(
eb60: 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74  TOP)\test\speedt
eb70: 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33  est1.c $(SQLITE3 eb80: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
eb90: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
eba0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  ARN) -DSQLITE_OM
ebb0: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
ebc0: 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f  N -Fe$@ \...$(TO
ebd0: 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73  P)\test\speedtes
ebe0: 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  t1.c $(SQLITE3C) ebf0: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 /link$(LDFLAGS
ec00: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS). ec10: 0a 72 62 75 2e 65 78 65 3a 09 24 28 54 4f 50 29 .rbu.exe:.$(TOP)
ec20: 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24  \ext\rbu\rbu.c $ec30: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 (TOP)\ext\rbu\sq ec40: 6c 69 74 65 33 72 62 75 2e 63 20 24 28 53 51 4c lite3rbu.c$(SQL
ec50: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 ec60: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( ec70: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT ec80: 45 5f 45 4e 41 42 4c 45 5f 52 42 55 20 2d 46 65 E_ENABLE_RBU -Fe ec90: 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78$@ \...$(TOP)\ex eca0: 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 t\rbu\rbu.c$(SQ
ecb0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( ecc0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
ecd0: 4b 4f 50 54 53 29 0a 0a 6d 6f 72 65 63 6c 65 61  KOPTS)..moreclea
ece0: 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f 51  n:.clean..del /Q
ecf0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
ed00: 51 4c 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a 23  QLITE3H) 2>NUL.#
ed10: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61   <</mark>>..clea
ed20: 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78 70  n:..del /Q *.exp
ed30: 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69   *.lo *.ilk *.li
ed40: 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e  b *.obj *.ncb *.
ed50: 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f 20  pdb *.sdf *.suo
ed60: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e  2>NUL..del /Q *.
ed70: 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64 20  bsc *.def *.cod
ed80: 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67 20  *.da *.bb *.bbg
ed90: 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e  *.vc gmon.out 2>
eda0: 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53 51  NUL..del /Q $(SQ edb0: 4c 49 54 45 33 45 58 45 29 20 24 28 53 51 4c 49 LITE3EXE)$(SQLI
edc0: 54 45 33 44 4c 4c 29 20 52 65 70 6c 61 63 65 2e  TE3DLL) Replace.
edd0: 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61  exe 2>NUL.# <<ma
ede0: 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 73 71 6c  rk>>..del /Q sql
edf0: 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2e 68  ite3.c sqlite3.h
ee00: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6f   2>NUL..del /Q o
ee10: 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65 73  pcodes.c opcodes
ee20: 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
ee30: 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e   lemon.* lempar.
ee40: 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a  c parse.* 2>NUL.
ee50: 09 64 65 6c 20 2f 51 20 6d 6b 6b 65 79 77 6f 72  .del /Q mkkeywor
ee60: 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68  dhash.* keywordh
ee70: 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  ash.h 2>NUL..del
ee80: 20 2f 51 20 6e 6f 74 61 73 68 61 72 65 64 6c 69   /Q notasharedli
ee90: 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69  b.* 2>NUL..-rmdi
eea0: 72 20 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e  r /Q/S .deps 2>N
eeb0: 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20  UL..-rmdir /Q/S
eec0: 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d  .libs 2>NUL..-rm
eed0: 64 69 72 20 2f 51 2f 53 20 71 75 6f 74 61 32 61  dir /Q/S quota2a
eee0: 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f   2>NUL..-rmdir /
eef0: 51 2f 53 20 71 75 6f 74 61 32 62 20 32 3e 4e 55  Q/S quota2b 2>NU
ef00: 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 71  L..-rmdir /Q/S q
ef10: 75 6f 74 61 32 63 20 32 3e 4e 55 4c 0a 09 2d 72  uota2c 2>NUL..-r
ef20: 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32  mdir /Q/S tsrc 2
ef30: 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61  >NUL..del /Q .ta
ef40: 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55  rget_source 2>NU
ef50: 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c  L..del /Q tclsql
ef60: 69 74 65 33 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  ite3.exe 2>NUL..
ef70: 64 65 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64 65  del /Q testloade
ef80: 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65  xt.dll 2>NUL..de
ef90: 6c 20 2f 51 20 74 65 73 74 66 69 78 74 75 72 65  l /Q testfixture
efa0: 2e 65 78 65 20 74 65 73 74 2e 64 62 20 32 3e 4e  .exe test.db 2>N
efb0: 55 4c 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45 73  UL..del /Q LogEs
efc0: 74 2e 65 78 65 20 66 74 73 33 76 69 65 77 2e 65  t.exe fts3view.e
efd0: 78 65 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74  xe rollback-test
efe0: 2e 65 78 65 20 73 68 6f 77 64 62 2e 65 78 65 20  .exe showdb.exe
eff0: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68  2>NUL..del /Q sh
f000: 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 20 73 68  owjournal.exe sh
f010: 6f 77 73 74 61 74 34 2e 65 78 65 20 73 68 6f 77  owstat4.exe show
f020: 77 61 6c 2e 65 78 65 20 73 70 65 65 64 74 65 73  wal.exe speedtes
f030: 74 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65  t1.exe 2>NUL..de
f040: 6c 20 2f 51 20 6d 70 74 65 73 74 65 72 2e 65 78  l /Q mptester.ex
f050: 65 20 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 20  e wordcount.exe
f060: 72 62 75 2e 65 78 65 20 73 72 63 63 6b 31 2e 65  rbu.exe srcck1.e
f070: 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
f080: 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c 69 74   sqlite3.c sqlit
f090: 65 33 2d 2a 2e 63 20 32 3e 4e 55 4c 0a 09 64 65  e3-*.c 2>NUL..de
f0a0: 6c 20 2f 51 20 73 71 6c 69 74 65 33 72 63 2e 68  l /Q sqlite3rc.h
f0b0: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
f0c0: 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33 65 78  hell.c sqlite3ex
f0d0: 74 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  t.h 2>NUL..del /
f0e0: 51 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a  Q sqlite3_analyz
f0f0: 65 72 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 61  er.exe sqlite3_a
f100: 6e 61 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a  nalyzer.c 2>NUL.
f110: 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a  .del /Q sqlite-*
f120: 2d 6f 75 74 70 75 74 2e 76 73 69 78 20 32 3e 4e  -output.vsix 2>N
f130: 55 4c 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65  UL..del /Q fuzze
f140: 72 73 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63  rshell.exe fuzzc
f150: 68 65 63 6b 2e 65 78 65 20 73 71 6c 64 69 66 66  heck.exe sqldiff
f160: 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del
f170: 2f 51 20 66 74 73 35 2e 2a 20 66 74 73 35 70 61  /Q fts5.* fts5pa
f180: 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a 23 20 3c 3c  rse.* 2>NUL.# <<
f190: 2f 6d 61 72 6b 3e 3e 0a                          /mark>>.