/ Hex Artifact Content

Artifact 306d73e854b1a92ea06e5d1e637faa5c44de53c7:

• File Makefile.msc — part of check-in [bdf2ec77] at 2016-05-05 17:15:23 on branch scrub-backup — Initial check-in of the "scrub.exe" utility program prototype. Not yet fully functional. In particular, no scrubbing is done. (user: drh size: 62910) [more...]

0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 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 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1310: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support
1320: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session
1330: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
1340: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
1350: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
1360: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
1370: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
1380: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
1390: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
13a0: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they
13b0: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
13c0: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
13d0: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $( 13e0: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 SPLIT_AMALGAMATI 13f0: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20 ON)!=0.SQLITE3C 1400: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a = sqlite3-all.c. 1410: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d !ELSE.SQLITE3C = 1420: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49 sqlite3.c.!ENDI 1430: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 F.!ENDIF..# Set 1440: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65 the include code 1450: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 file to be used 1460: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 by executables 1470: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 and libraries wh 1480: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53 en.# they need S 1490: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46 QLite..#.!IFNDEF 14a0: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45 SQLITE3H.SQLITE 14b0: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21 3H = sqlite3.h.! 14c0: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 ENDIF..# This is 14d0: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 the name to use 14e0: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 for the SQLite 14f0: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 dynamic link lib 1500: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49 rary (DLL)..#.!I 1510: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c FNDEF SQLITE3DLL 1520: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 .!IF$(FOR_WIN10
1530: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL
1540: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
1550: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
1560: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
1570: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
1580: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
1590: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
15a0: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
15b0: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
15c0: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
15d0: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN 15e0: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49 10)!=0.SQLITE3LI 15f0: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c B = winsqlite3.l 1600: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 ib.!ELSE.SQLITE3 1610: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69 LIB = sqlite3.li 1620: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a b.!ENDIF.!ENDIF. 1630: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e .# This is the n 1640: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 ame to use for t 1650: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 he SQLite shell 1660: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 executable (EXE) 1670: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 ..#.!IFNDEF SQLI 1680: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52 TE3EXE.!IF$(FOR
1690: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
16a0: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
16b0: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
16c0: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
16d0: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
16e0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
16f0: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1700: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1710: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1720: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1730: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
1740: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
1750: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF
1760: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
1770: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!= 1780: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 0.SQLITE3EXEPDB 1790: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45 =.!ELSE.SQLITE3E 17a0: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c XEPDB = /pdb:sql 17b0: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49 ite3sh.pdb.!ENDI 17c0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 F.!ENDIF..# Thes 17d0: 65 20 61 72 65 20 74 68 65 20 22 73 74 61 6e 64 e are the "stand 17e0: 61 72 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 ard" SQLite comp 17f0: 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 ilation options 1800: 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c used when compil 1810: 69 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 ing for.# the Wi 1820: 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a ndows platform.. 1830: 23 0a 21 49 46 4e 44 45 46 20 4f 50 54 5f 46 45 #.!IFNDEF OPT_FE 1840: 41 54 55 52 45 5f 46 4c 41 47 53 0a 4f 50 54 5f ATURE_FLAGS.OPT_ 1850: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 FEATURE_FLAGS = 1860: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c$(OPT_FEATURE_FL
1870: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  AGS) -DSQLITE_EN
1880: 41 42 4c 45 5f 46 54 53 33 3d 31 0a 4f 50 54 5f  ABLE_FTS3=1.OPT_
1890: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FEATURE_FLAGS =
18a0: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  $(OPT_FEATURE_FL 18b0: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e AGS) -DSQLITE_EN 18c0: 41 42 4c 45 5f 52 54 52 45 45 3d 31 0a 4f 50 54 ABLE_RTREE=1.OPT 18d0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d _FEATURE_FLAGS = 18e0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46$(OPT_FEATURE_F
18f0: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45  LAGS) -DSQLITE_E
1900: 4e 41 42 4c 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54  NABLE_COLUMN_MET
1910: 41 44 41 54 41 3d 31 0a 21 45 4e 44 49 46 0a 0a  ADATA=1.!ENDIF..
1920: 23 20 53 68 6f 75 6c 64 20 74 68 65 20 73 65 73  # Should the ses
1930: 73 69 6f 6e 20 65 78 74 65 6e 73 69 6f 6e 20 62  sion extension b
1940: 65 20 65 6e 61 62 6c 65 64 3f 20 20 49 66 20 73  e enabled?  If s
1950: 6f 2c 20 61 64 64 20 63 6f 6d 70 69 6c 61 74 69  o, add compilati
1960: 6f 6e 20 6f 70 74 69 6f 6e 73 0a 23 20 74 6f 20  on options.# to
1970: 65 6e 61 62 6c 65 20 69 74 2e 0a 23 0a 21 49 46  enable it..#.!IF
1980: 20 24 28 53 45 53 53 49 4f 4e 29 21 3d 30 0a 4f   $(SESSION)!=0.O 1990: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 PT_FEATURE_FLAGS 19a0: 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 =$(OPT_FEATURE
19b0: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45  _FLAGS) -DSQLITE
19c0: 5f 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 3d  _ENABLE_SESSION=
19d0: 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  1.OPT_FEATURE_FL
19e0: 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54  AGS = $(OPT_FEAT 19f0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c URE_FLAGS) -DSQL 1a00: 49 54 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 ITE_ENABLE_PREUP 1a10: 44 41 54 45 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44 DATE_HOOK=1.!END 1a20: 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 IF..# These are 1a30: 74 68 65 20 22 65 78 74 65 6e 64 65 64 22 20 53 the "extended" S 1a40: 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f QLite compilatio 1a50: 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 77 n options used w 1a60: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f hen compiling fo 1a70: 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 73 20 r.# the Windows 1a80: 31 30 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 10 platform..#.! 1a90: 49 46 4e 44 45 46 20 45 58 54 5f 46 45 41 54 55 IFNDEF EXT_FEATU 1aa0: 52 45 5f 46 4c 41 47 53 0a 21 49 46 20 24 28 46 RE_FLAGS.!IF$(F
1ab0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 45 58 54  OR_WIN10)!=0.EXT
1ac0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
1ad0: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46   $(EXT_FEATURE_F 1ae0: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 LAGS) -DSQLITE_E 1af0: 4e 41 42 4c 45 5f 46 54 53 34 3d 31 0a 45 58 54 NABLE_FTS4=1.EXT 1b00: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d _FEATURE_FLAGS = 1b10: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46$(EXT_FEATURE_F
1b20: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53  LAGS) -DSQLITE_S
1b30: 59 53 54 45 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45  YSTEM_MALLOC=1.E
1b40: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
1b50: 20 3d 20 24 28 45 58 54 5f 46 45 41 54 55 52 45   = $(EXT_FEATURE 1b60: 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 _FLAGS) -DSQLITE 1b70: 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d _OMIT_LOCALTIME= 1b80: 31 0a 21 45 4c 53 45 0a 45 58 54 5f 46 45 41 54 1.!ELSE.EXT_FEAT 1b90: 55 52 45 5f 46 4c 41 47 53 20 3d 0a 21 45 4e 44 URE_FLAGS =.!END 1ba0: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 23 23 23 23 IF.!ENDIF..##### 1bb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1bc0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1bd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1be0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1bf0: 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23 23 ##########.##### 1c00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1c10: 23 23 23 23 23 23 23 23 23 23 20 45 4e 44 20 4f ########## END O 1c20: 46 20 4f 50 54 49 4f 4e 53 20 23 23 23 23 23 23 F OPTIONS ###### 1c30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1c40: 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23 23 ##########.##### 1c50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1c60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1c70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1c80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1c90: 23 23 23 23 23 23 23 23 23 23 0a 0a 23 20 57 68 ##########..# Wh 1ca0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 en compiling for 1cb0: 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 the Windows 10 1cc0: 70 6c 61 74 66 6f 72 6d 2c 20 74 68 65 20 50 4c platform, the PL 1cd0: 41 54 46 4f 52 4d 20 6d 61 63 72 6f 20 6d 75 73 ATFORM macro mus 1ce0: 74 20 62 65 20 73 65 74 0a 23 20 74 6f 20 61 6e t be set.# to an 1cf0: 20 61 70 70 72 6f 70 72 69 61 74 65 20 76 61 6c appropriate val 1d00: 75 65 20 28 65 2e 67 2e 20 78 38 36 2c 20 78 36 ue (e.g. x86, x6 1d10: 34 2c 20 61 72 6d 2c 20 61 72 6d 36 34 2c 20 65 4, arm, arm64, e 1d20: 74 63 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 tc)..#.!IF$(FOR
1d30: 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49 46 4e 44  _WIN10)!=0.!IFND
1d40: 45 46 20 50 4c 41 54 46 4f 52 4d 0a 21 45 52 52  EF PLATFORM.!ERR
1d50: 4f 52 20 55 73 69 6e 67 20 74 68 65 20 46 4f 52  OR Using the FOR
1d60: 5f 57 49 4e 31 30 20 6f 70 74 69 6f 6e 20 72 65  _WIN10 option re
1d70: 71 75 69 72 65 73 20 61 20 76 61 6c 75 65 20 66  quires a value f
1d80: 6f 72 20 50 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e  or PLATFORM..!EN
1d90: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
1da0: 69 73 20 61 73 73 75 6d 65 73 20 74 68 61 74 20  is assumes that
1db0: 4d 53 56 43 20 69 73 20 61 6c 77 61 79 73 20 69  MSVC is always i
1dc0: 6e 73 74 61 6c 6c 65 64 20 69 6e 20 33 32 2d 62  nstalled in 32-b
1dd0: 69 74 20 50 72 6f 67 72 61 6d 20 46 69 6c 65 73  it Program Files
1de0: 20 64 69 72 65 63 74 6f 72 79 0a 23 20 61 6e 64   directory.# and
1df0: 20 73 65 74 73 20 74 68 65 20 76 61 72 69 61 62   sets the variab
1e00: 6c 65 20 66 6f 72 20 75 73 65 20 69 6e 20 6c 6f  le for use in lo
1e10: 63 61 74 69 6e 67 20 6f 74 68 65 72 20 33 32 2d  cating other 32-
1e20: 62 69 74 20 69 6e 73 74 61 6c 6c 73 20 61 63 63  bit installs acc
1e30: 6f 72 64 69 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47  ordingly..#.PROG
1e40: 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d 20 24  RAMFILES_X86 = $1e50: 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 2e (VCINSTALLDIR)\. 1e60: 2e 5c 2e 2e 0a 50 52 4f 47 52 41 4d 46 49 4c 45 .\...PROGRAMFILE 1e70: 53 5f 58 38 36 20 3d 20 24 28 50 52 4f 47 52 41 S_X86 =$(PROGRA
1e80: 4d 46 49 4c 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29  MFILES_X86:\\=\)
1e90: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
1ea0: 65 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d  e predefined com
1eb0: 6d 61 6e 64 20 6d 61 63 72 6f 20 43 43 2e 20 20  mand macro CC.
1ec0: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e  This should poin
1ed0: 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65  t to the compile
1ee0: 72 0a 23 20 62 69 6e 61 72 79 20 66 6f 72 20 74  r.# binary for t
1ef0: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
1f00: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f  rm.  If it is no
1f10: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c  t defined, simpl
1f20: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 0a 23  y define it to.#
1f30: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61   the legacy defa
1f40: 75 6c 74 20 76 61 6c 75 65 20 27 63 6c 2e 65 78  ult value 'cl.ex
1f50: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 43  e'..#.!IFNDEF CC
1f60: 0a 43 43 20 3d 20 63 6c 2e 65 78 65 0a 21 45 4e  .CC = cl.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 70 72 65 64 65 66 69 6e 65 64 20   the predefined
1f90: 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 43 53  command macro CS
1fa0: 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20  C.  This should
1fb0: 70 6f 69 6e 74 20 74 6f 20 61 20 77 6f 72 6b 69  point to a worki
1fc0: 6e 67 0a 23 20 43 20 53 68 61 72 70 20 63 6f 6d  ng.# C Sharp com
1fd0: 70 69 6c 65 72 20 62 69 6e 61 72 79 2e 20 20 49  piler binary.  I
1fe0: 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69  f it is not defi
1ff0: 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69  ned, simply defi
2000: 6e 65 20 69 74 20 74 6f 20 74 68 65 0a 23 20 6c  ne it to the.# l
2010: 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 61  egacy default va
2020: 6c 75 65 20 27 63 73 63 2e 65 78 65 27 2e 0a 23  lue 'csc.exe'..#
2030: 0a 21 49 46 4e 44 45 46 20 43 53 43 0a 43 53 43  .!IFNDEF CSC.CSC
2040: 20 3d 20 63 73 63 2e 65 78 65 0a 21 45 4e 44 49   = csc.exe.!ENDI
2050: 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74  F..# Check for t
2060: 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f  he command macro
2070: 20 4c 44 2e 20 20 54 68 69 73 20 73 68 6f 75 6c   LD.  This shoul
2080: 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 6c  d point to the l
2090: 69 6e 6b 65 72 20 62 69 6e 61 72 79 20 66 6f 72  inker binary for
20a0: 0a 23 20 74 68 65 20 74 61 72 67 65 74 20 70 6c  .# the target pl
20b0: 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20 69  atform.  If it i
20c0: 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73  s not defined, s
20d0: 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 20  imply define it
20e0: 74 6f 20 74 68 65 20 6c 65 67 61 63 79 0a 23 20  to the legacy.#
20f0: 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 6c  default value 'l
2100: 69 6e 6b 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e  ink.exe'..#.!IFN
2110: 44 45 46 20 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b  DEF LD.LD = link
2120: 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43  .exe.!ENDIF..# C
2130: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65  heck for the pre
2140: 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20  defined command
2150: 6d 61 63 72 6f 20 52 43 2e 20 20 54 68 69 73 20  macro RC.  This
2160: 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20  should point to
2170: 74 68 65 20 72 65 73 6f 75 72 63 65 0a 23 20 63  the resource.# c
2180: 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 20 66  ompiler binary f
2190: 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 70 6c  or the target pl
21a0: 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20 69  atform.  If it i
21b0: 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 73  s not defined, s
21c0: 69 6d 70 6c 79 20 64 65 66 69 6e 65 0a 23 20 69  imply define.# i
21d0: 74 20 74 6f 20 74 68 65 20 6c 65 67 61 63 79 20  t to the legacy
21e0: 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 72  default value 'r
21f0: 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45  c.exe'..#.!IFNDE
2200: 46 20 52 43 0a 52 43 20 3d 20 72 63 2e 65 78 65  F RC.RC = rc.exe
2210: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b  .!ENDIF..# Check
2220: 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 72 75   for the MSVC ru
2230: 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 70 61  ntime library pa
2240: 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72  th macro.  Other
2250: 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c 75 65  wise, this value
2260: 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c 74 20   will.# default
2270: 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69 72  to the 'lib' dir
2280: 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 74  ectory underneat
2290: 68 20 74 68 65 20 4d 53 56 43 20 69 6e 73 74 61  h the MSVC insta
22a0: 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72  llation director
22b0: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 52 54  y..#.!IFNDEF CRT
22c0: 4c 49 42 50 41 54 48 0a 43 52 54 4c 49 42 50 41  LIBPATH.CRTLIBPA
22d0: 54 48 20 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c  TH = $(VCINSTALL 22e0: 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a DIR)\lib.!ENDIF. 22f0: 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 .CRTLIBPATH =$(
2300: 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29  CRTLIBPATH:\\=\)
2310: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68  ..# Check for th
2320: 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20  e command macro
2330: 4e 43 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c  NCC.  This shoul
2340: 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63  d point to the c
2350: 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 0a 23  ompiler binary.#
2360: 20 66 6f 72 20 74 68 65 20 70 6c 61 74 66 6f 72   for the platfor
2370: 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f  m the compilatio
2380: 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74 61 6b  n process is tak
2390: 69 6e 67 20 70 6c 61 63 65 20 6f 6e 2e 20 20 49  ing place on.  I
23a0: 66 20 69 74 20 69 73 20 6e 6f 74 0a 23 20 64 65  f it is not.# de
23b0: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65  fined, simply de
23c0: 66 69 6e 65 20 69 74 20 74 6f 20 68 61 76 65 20  fine it to have
23d0: 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 61  the same value a
23e0: 73 20 74 68 65 20 43 43 20 6d 61 63 72 6f 2e 20  s the CC macro.
23f0: 20 57 68 65 6e 0a 23 20 63 72 6f 73 73 2d 63 6f   When.# cross-co
2400: 6d 70 69 6c 69 6e 67 2c 20 69 74 20 69 73 20 73  mpiling, it is s
2410: 75 67 67 65 73 74 65 64 20 74 68 61 74 20 74 68  uggested that th
2420: 69 73 20 6d 61 63 72 6f 20 62 65 20 6d 6f 64 69  is macro be modi
2430: 66 69 65 64 20 76 69 61 20 74 68 65 20 63 6f 6d  fied via the com
2440: 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 28 73 69 6e  mand.# line (sin
2450: 63 65 20 6e 6d 61 6b 65 20 69 74 73 65 6c 66 20  ce nmake itself
2460: 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 65  does not provide
2470: 20 61 20 62 75 69 6c 74 2d 69 6e 20 6d 65 74 68   a built-in meth
2480: 6f 64 20 74 6f 20 67 75 65 73 73 20 69 74 29 2e  od to guess it).
2490: 0a 23 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20  .# For example,
24a0: 74 6f 20 75 73 65 20 74 68 65 20 78 38 36 20 63  to use the x86 c
24b0: 6f 6d 70 69 6c 65 72 20 77 68 65 6e 20 63 72 6f  ompiler when cro
24c0: 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  ss-compiling for
24d0: 20 78 36 34 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a   x64, a command.
24e0: 23 20 6c 69 6e 65 20 73 69 6d 69 6c 61 72 20 74  # line similar t
24f0: 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  o the following
2500: 63 6f 75 6c 64 20 62 65 20 75 73 65 64 20 28 61  could be used (a
2510: 6c 6c 20 6f 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a  ll on one line):
2520: 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b 65 20 2f  .#.#     nmake /
2530: 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 73  f Makefile.msc s
2540: 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 20 20 20  qlite3.dll.#
2550: 20 20 20 20 20 20 20 58 43 4f 4d 50 49 4c 45 3d         XCOMPILE=
2560: 31 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42  1 USE_NATIVE_LIB
2570: 50 41 54 48 53 3d 31 0a 23 0a 23 20 41 6c 74 65  PATHS=1.#.# Alte
2580: 72 6e 61 74 69 76 65 6c 79 2c 20 74 68 65 20 66  rnatively, the f
2590: 75 6c 6c 20 70 61 74 68 20 61 6e 64 20 66 69 6c  ull path and fil
25a0: 65 20 6e 61 6d 65 20 74 6f 20 74 68 65 20 63 6f  e name to the co
25b0: 6d 70 69 6c 65 72 20 62 69 6e 61 72 79 20 66 6f  mpiler binary fo
25c0: 72 20 74 68 65 0a 23 20 70 6c 61 74 66 6f 72 6d  r the.# platform
25d0: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
25e0: 20 70 72 6f 63 65 73 73 20 69 73 20 74 61 6b 69   process is taki
25f0: 6e 67 20 70 6c 61 63 65 20 6d 61 79 20 62 65 20  ng place may be
2600: 73 70 65 63 69 66 69 65 64 20 28 61 6c 6c 20 6f  specified (all o
2610: 6e 0a 23 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23  n.# one line):.#
2620: 0a 23 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20  .#     nmake /f
2630: 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c  Makefile.msc sql
2640: 69 74 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20  ite3.dll.#
2650: 20 20 20 20 20 22 4e 43 43 3d 22 22 25 56 43 49       "NCC=""%VCI
2660: 4e 53 54 41 4c 4c 44 49 52 25 5c 62 69 6e 5c 63  NSTALLDIR%\bin\c
2670: 6c 2e 65 78 65 22 22 22 0a 23 20 20 20 20 20 20  l.exe""".#
2680: 20 20 20 20 20 55 53 45 5f 4e 41 54 49 56 45 5f       USE_NATIVE_
2690: 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a 21 49 46  LIBPATHS=1.#.!IF
26a0: 44 45 46 20 4e 43 43 0a 4e 43 43 20 3d 20 24 28  DEF NCC.NCC = $( 26b0: 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49 NCC:\\=\).!ELSEI 26c0: 46 20 24 28 58 43 4f 4d 50 49 4c 45 29 21 3d 30 F$(XCOMPILE)!=0
26d0: 0a 4e 43 43 20 3d 20 22 24 28 56 43 49 4e 53 54  .NCC = "$(VCINST 26e0: 41 4c 4c 44 49 52 29 5c 62 69 6e 5c 24 28 43 43 ALLDIR)\bin\$(CC
26f0: 29 22 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a 5c  )".NCC = $(NCC:\ 2700: 5c 3d 5c 29 0a 21 45 4c 53 45 0a 4e 43 43 20 3d \=\).!ELSE.NCC = 2710: 20 24 28 43 43 29 0a 21 45 4e 44 49 46 0a 0a 23$(CC).!ENDIF..#
2720: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 4d   Check for the M
2730: 53 56 43 20 6e 61 74 69 76 65 20 72 75 6e 74 69  SVC native runti
2740: 6d 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20  me library path
2750: 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73  macro.  Otherwis
2760: 65 2c 0a 23 20 74 68 69 73 20 76 61 6c 75 65 20  e,.# this value
2770: 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f 20  will default to
2780: 74 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74  the 'lib' direct
2790: 6f 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74  ory underneath t
27a0: 68 65 20 4d 53 56 43 0a 23 20 69 6e 73 74 61 6c  he MSVC.# instal
27b0: 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79  lation directory
27c0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 43 52 54  ..#.!IFNDEF NCRT
27d0: 4c 49 42 50 41 54 48 0a 4e 43 52 54 4c 49 42 50  LIBPATH.NCRTLIBP
27e0: 41 54 48 20 3d 20 24 28 56 43 49 4e 53 54 41 4c  ATH = $(VCINSTAL 27f0: 4c 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49 46 LDIR)\lib.!ENDIF 2800: 0a 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d 20 ..NCRTLIBPATH = 2810: 24 28 4e 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c$(NCRTLIBPATH:\\
2820: 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72  =\)..# Check for
2830: 20 74 68 65 20 50 6c 61 74 66 6f 72 6d 20 53 44   the Platform SD
2840: 4b 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d  K library path m
2850: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65  acro.  Otherwise
2860: 2c 20 74 68 69 73 0a 23 20 76 61 6c 75 65 20 77  , this.# value w
2870: 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f 20 74  ill default to t
2880: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f  he 'lib' directo
2890: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68  ry underneath th
28a0: 65 20 57 69 6e 64 6f 77 73 0a 23 20 53 44 4b 20  e Windows.# SDK
28b0: 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72  installation dir
28c0: 65 63 74 6f 72 79 20 28 74 68 65 20 65 6e 76 69  ectory (the envi
28d0: 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65  ronment variable
28e0: 20 75 73 65 64 20 61 70 70 65 61 72 73 0a 23 20   used appears.#
28f0: 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20  to be available
2900: 77 68 65 6e 20 75 73 69 6e 67 20 56 69 73 75 61  when using Visua
2910: 6c 20 43 2b 2b 20 32 30 30 38 20 6f 72 20 6c 61  l C++ 2008 or la
2920: 74 65 72 20 76 69 61 20 74 68 65 0a 23 20 63 6f  ter via the.# co
2930: 6d 6d 61 6e 64 20 6c 69 6e 65 29 2e 0a 23 0a 21  mmand line)..#.!
2940: 49 46 4e 44 45 46 20 4e 53 44 4b 4c 49 42 50 41  IFNDEF NSDKLIBPA
2950: 54 48 0a 4e 53 44 4b 4c 49 42 50 41 54 48 20 3d  TH.NSDKLIBPATH =
2960: 20 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52   $(WINDOWSSDKDIR 2970: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 53 )\lib.!ENDIF..NS 2980: 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 53 DKLIBPATH =$(NS
2990: 44 4b 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a  DKLIBPATH:\\=\).
29a0: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
29b0: 20 55 43 52 54 20 6c 69 62 72 61 72 79 20 70 61   UCRT library pa
29c0: 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 72  th macro.  Other
29d0: 77 69 73 65 2c 20 74 68 69 73 20 76 61 6c 75 65  wise, this value
29e0: 20 77 69 6c 6c 0a 23 20 64 65 66 61 75 6c 74 20   will.# default
29f0: 74 6f 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73  to the version-s
2a00: 70 65 63 69 66 69 63 2c 20 70 6c 61 74 66 6f 72  pecific, platfor
2a10: 6d 2d 73 70 65 63 69 66 69 63 20 27 6c 69 62 27  m-specific 'lib'
2a20: 20 64 69 72 65 63 74 6f 72 79 0a 23 20 75 6e 64   directory.# und
2a30: 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e 64  erneath the Wind
2a40: 6f 77 73 20 53 44 4b 20 69 6e 73 74 61 6c 6c 61  ows SDK installa
2a50: 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a  tion directory..
2a60: 23 0a 21 49 46 4e 44 45 46 20 55 43 52 54 4c 49  #.!IFNDEF UCRTLI
2a70: 42 50 41 54 48 0a 55 43 52 54 4c 49 42 50 41 54  BPATH.UCRTLIBPAT
2a80: 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 53 44 4b  H = $(WINDOWSSDK 2a90: 44 49 52 29 5c 6c 69 62 5c 24 28 57 49 4e 44 4f DIR)\lib\$(WINDO
2aa0: 57 53 53 44 4b 4c 49 42 56 45 52 53 49 4f 4e 29  WSSDKLIBVERSION)
2ab0: 5c 75 63 72 74 5c 24 28 50 4c 41 54 46 4f 52 4d  \ucrt\$(PLATFORM 2ac0: 29 0a 21 45 4e 44 49 46 0a 0a 55 43 52 54 4c 49 ).!ENDIF..UCRTLI 2ad0: 42 50 41 54 48 20 3d 20 24 28 55 43 52 54 4c 49 BPATH =$(UCRTLI
2ae0: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43  BPATH:\\=\)..# C
2af0: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
2b00: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
2b10: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
2b20: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
2b30: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 70 6c 61  l run on the pla
2b40: 74 66 6f 72 6d 20 74 68 61 74 20 69 73 20 64 6f  tform that is do
2b50: 69 6e 67 20 74 68 65 20 62 75 69 6c 64 2e 0a 23  ing the build..#
2b60: 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57  .!IF $(USE_FULLW 2b70: 41 52 4e 29 21 3d 30 0a 42 43 43 20 3d 20 24 28 ARN)!=0.BCC =$(
2b80: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34  NCC) -nologo -W4
2b90: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS)$(BCC
2ba0: 4f 50 54 53 29 0a 21 45 4c 53 45 0a 42 43 43 20  OPTS).!ELSE.BCC
2bb0: 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f  = $(NCC) -nologo 2bc0: 20 2d 57 33 20 24 28 43 43 4f 50 54 53 29 20 24 -W3$(CCOPTS) $2bd0: 28 42 43 43 4f 50 54 53 29 0a 21 45 4e 44 49 46 (BCCOPTS).!ENDIF 2be0: 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 61 73 73 ..# Check if ass 2bf0: 65 6d 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 embly code listi 2c00: 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20 67 65 ngs should be ge 2c10: 6e 65 72 61 74 65 64 20 66 6f 72 20 74 68 65 20 nerated for the 2c20: 73 6f 75 72 63 65 0a 23 20 63 6f 64 65 20 66 69 source.# code fi 2c30: 6c 65 73 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c les to be compil 2c40: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f ed..#.!IF$(USE_
2c50: 4c 49 53 54 49 4e 47 53 29 21 3d 30 0a 42 43 43  LISTINGS)!=0.BCC
2c60: 20 3d 20 24 28 42 43 43 29 20 2d 46 41 63 73 0a   = $(BCC) -FAcs. 2c70: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 !ENDIF..# Check 2c80: 69 66 20 74 68 65 20 6e 61 74 69 76 65 20 6c 69 if the native li 2c90: 62 72 61 72 79 20 70 61 74 68 73 20 73 68 6f 75 brary paths shou 2ca0: 6c 64 20 62 65 20 75 73 65 64 20 77 68 65 6e 20 ld be used when 2cb0: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20 compiling.# the 2cc0: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f command line too 2cd0: 6c 73 20 75 73 65 64 20 64 75 72 69 6e 67 20 74 ls used during t 2ce0: 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 he compilation p 2cf0: 72 6f 63 65 73 73 2e 20 20 49 66 0a 23 20 73 6f rocess. If.# so 2d00: 2c 20 73 65 74 20 74 68 65 20 6e 65 63 65 73 73 , set the necess 2d10: 61 72 79 20 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 ary macro now..# 2d20: 0a 21 49 46 20 24 28 55 53 45 5f 4e 41 54 49 56 .!IF$(USE_NATIV
2d30: 45 5f 4c 49 42 50 41 54 48 53 29 21 3d 30 0a 4e  E_LIBPATHS)!=0.N
2d40: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 22 2f 4c  LTLIBPATHS = "/L
2d50: 49 42 50 41 54 48 3a 24 28 4e 43 52 54 4c 49 42  IBPATH:$(NCRTLIB 2d60: 50 41 54 48 29 22 20 22 2f 4c 49 42 50 41 54 48 PATH)" "/LIBPATH 2d70: 3a 24 28 4e 53 44 4b 4c 49 42 50 41 54 48 29 22 :$(NSDKLIBPATH)"
2d80: 0a 0a 21 49 46 44 45 46 20 4e 55 43 52 54 4c 49  ..!IFDEF NUCRTLI
2d90: 42 50 41 54 48 0a 4e 55 43 52 54 4c 49 42 50 41  BPATH.NUCRTLIBPA
2da0: 54 48 20 3d 20 24 28 4e 55 43 52 54 4c 49 42 50  TH = $(NUCRTLIBP 2db0: 41 54 48 3a 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 ATH:\\=\).NLTLIB 2dc0: 50 41 54 48 53 20 3d 20 24 28 4e 4c 54 4c 49 42 PATHS =$(NLTLIB
2dd0: 50 41 54 48 53 29 20 22 2f 4c 49 42 50 41 54 48  PATHS) "/LIBPATH
2de0: 3a 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 29  :$(NUCRTLIBPATH) 2df0: 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a ".!ENDIF.!ENDIF. 2e00: 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e .# C compiler an 2e10: 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 d options for us 2e20: 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 e in building ex 2e30: 65 63 75 74 61 62 6c 65 73 20 74 68 61 74 0a 23 ecutables that.# 2e40: 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 will run on the 2e50: 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d target platform 2e60: 2e 20 20 28 42 43 43 20 61 6e 64 20 54 43 43 20 . (BCC and TCC 2e70: 61 72 65 20 75 73 75 61 6c 6c 79 20 74 68 65 0a are usually the. 2e80: 23 20 73 61 6d 65 20 75 6e 6c 65 73 73 20 79 6f # same unless yo 2e90: 75 72 20 61 72 65 20 63 72 6f 73 73 2d 63 6f 6d ur are cross-com 2ea0: 70 69 6c 69 6e 67 2e 29 0a 23 0a 21 49 46 20 24 piling.).#.!IF$
2eb0: 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d  (USE_FULLWARN)!=
2ec0: 30 0a 54 43 43 20 3d 20 24 28 43 43 29 20 2d 6e  0.TCC = $(CC) -n 2ed0: 6f 6c 6f 67 6f 20 2d 57 34 20 2d 44 49 4e 43 4c ologo -W4 -DINCL 2ee0: 55 44 45 5f 4d 53 56 43 5f 48 3d 31 20 24 28 43 UDE_MSVC_H=1$(C
2ef0: 43 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53  COPTS) $(TCCOPTS 2f00: 29 0a 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 ).!ELSE.TCC =$(
2f10: 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20  CC) -nologo -W3
2f20: 24 28 43 43 4f 50 54 53 29 20 24 28 54 43 43 4f  $(CCOPTS)$(TCCO
2f30: 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 54 43 43  PTS).!ENDIF..TCC
2f40: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI 2f50: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 TE_OS_WIN=1 -I. 2f60: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50 -I$(TOP) -I$(TOP 2f70: 29 5c 73 72 63 20 2d 66 70 3a 70 72 65 63 69 73 )\src -fp:precis 2f80: 65 0a 52 43 43 20 3d 20 24 28 52 43 29 20 2d 44 e.RCC =$(RC) -D
2f90: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31 20  SQLITE_OS_WIN=1
2fa0: 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49 24  -I. -I$(TOP) -I$
2fb0: 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43 4f 50  (TOP)\src $(RCOP 2fc0: 54 53 29 20 24 28 52 43 43 4f 50 54 53 29 0a 0a TS)$(RCCOPTS)..
2fd0: 23 20 43 68 65 63 6b 20 69 66 20 77 65 20 77 61  # Check if we wa
2fe0: 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 73  nt to use the "s
2ff0: 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69 6e 67 20  tdcall" calling
3000: 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 68 65 6e 20  convention when
3010: 63 6f 6d 70 69 6c 69 6e 67 2e 0a 23 20 54 68 69  compiling..# Thi
3020: 73 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74  s is not support
3030: 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c  ed by the compil
3040: 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 78 38 36 20  ers for non-x86
3050: 70 6c 61 74 66 6f 72 6d 73 2e 20 20 49 74 20 73  platforms.  It s
3060: 68 6f 75 6c 64 0a 23 20 61 6c 73 6f 20 62 65 20  hould.# also be
3070: 6e 6f 74 65 64 20 68 65 72 65 20 74 68 61 74 20  noted here that
3080: 62 75 69 6c 64 69 6e 67 20 61 6e 79 20 74 61 72  building any tar
3090: 67 65 74 20 77 69 74 68 20 74 68 65 73 65 20 22  get with these "
30a0: 73 74 64 63 61 6c 6c 22 20 6f 70 74 69 6f 6e 73  stdcall" options
30b0: 0a 23 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b  .# will most lik
30c0: 65 6c 79 20 66 61 69 6c 20 69 66 20 74 68 65 20  ely fail if the
30d0: 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 61  Tcl library is a
30e0: 6c 73 6f 20 72 65 71 75 69 72 65 64 2e 20 20 54  lso required.  T
30f0: 68 69 73 20 69 73 20 64 75 65 0a 23 20 74 6f 20  his is due.# to
3100: 68 6f 77 20 74 68 65 20 54 63 6c 20 6c 69 62 72  how the Tcl libr
3110: 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 72  ary functions ar
3120: 65 20 64 65 63 6c 61 72 65 64 20 61 6e 64 20 65  e declared and e
3130: 78 70 6f 72 74 65 64 20 28 69 2e 65 2e 20 77 69  xported (i.e. wi
3140: 74 68 6f 75 74 0a 23 20 61 6e 20 65 78 70 6c 69  thout.# an expli
3150: 63 69 74 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76  cit calling conv
3160: 65 6e 74 69 6f 6e 2c 20 77 68 69 63 68 20 72 65  ention, which re
3170: 73 75 6c 74 73 20 69 6e 20 22 63 64 65 63 6c 22  sults in "cdecl"
3180: 29 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 53  )..#.!IF $(USE_S 3190: 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 TDCALL)!=0 ||$(
31a0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 21 49  FOR_WIN10)!=0.!I
31b0: 46 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  F "$(PLATFORM)"= 31c0: 3d 22 78 38 36 22 0a 43 4f 52 45 5f 43 43 4f 4e ="x86".CORE_CCON 31d0: 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 V_OPTS = -Gz -DS 31e0: 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 QLITE_CDECL=__cd 31f0: 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 53 54 44 ecl -DSQLITE_STD 3200: 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 CALL=__stdcall.S 3210: 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 HELL_CCONV_OPTS 3220: 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 = -Gz -DSQLITE_C 3230: 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 DECL=__cdecl -DS 3240: 51 4c 49 54 45 5f 53 54 44 43 41 4c 4c 3d 5f 5f QLITE_STDCALL=__ 3250: 73 74 64 63 61 6c 6c 0a 21 45 4c 53 45 0a 21 49 stdcall.!ELSE.!I 3260: 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 43 FNDEF PLATFORM.C 3270: 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d ORE_CCONV_OPTS = 3280: 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 -Gz -DSQLITE_CD 3290: 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 ECL=__cdecl -DSQ 32a0: 4c 49 54 45 5f 53 54 44 43 41 4c 4c 3d 5f 5f 73 LITE_STDCALL=__s 32b0: 74 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f tdcall.SHELL_CCO 32c0: 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 NV_OPTS = -Gz -D 32d0: 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 SQLITE_CDECL=__c 32e0: 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 5f 53 54 decl -DSQLITE_ST 32f0: 44 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 0a DCALL=__stdcall. 3300: 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 !ELSE.CORE_CCONV 3310: 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 _OPTS =.SHELL_CC 3320: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 21 45 4e 44 49 ONV_OPTS =.!ENDI 3330: 46 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 43 F.!ENDIF.!ELSE.C 3340: 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d ORE_CCONV_OPTS = 3350: 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 .SHELL_CCONV_OPT 3360: 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 S =.!ENDIF..# Th 3370: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e ese are addition 3380: 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 al compiler opti 3390: 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 ons used for the 33a0: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e 0a 23 core library..# 33b0: 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f 43 4f .!IFNDEF CORE_CO 33c0: 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24 MPILE_OPTS.!IF$
33d0: 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21  (DYNAMIC_SHELL)!
33e0: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31  =0 || $(FOR_WIN1 33f0: 30 29 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d 50 49 0)!=0.CORE_COMPI 3400: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45 LE_OPTS =$(CORE
3410: 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53  _CCONV_OPTS) -DS
3420: 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c  QLITE_API=__decl
3430: 73 70 65 63 28 64 6c 6c 65 78 70 6f 72 74 29 0a  spec(dllexport).
3440: 21 45 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d 50 49  !ELSE.CORE_COMPI
3450: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f 52 45  LE_OPTS = $(CORE 3460: 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e _CCONV_OPTS).!EN 3470: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 DIF.!ENDIF..# Th 3480: 65 73 65 20 61 72 65 20 74 68 65 20 61 64 64 69 ese are the addi 3490: 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 tional targets t 34a0: 68 61 74 20 74 68 65 20 63 6f 72 65 20 6c 69 62 hat the core lib 34b0: 72 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 rary should depe 34c0: 6e 64 20 6f 6e 0a 23 20 77 68 65 6e 20 6c 69 6e nd on.# when lin 34d0: 6b 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45 46 20 king..#.!IFNDEF 34e0: 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a 21 49 CORE_LINK_DEP.!I 34f0: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c F$(DYNAMIC_SHEL
3500: 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f  L)!=0.CORE_LINK_
3510: 44 45 50 20 3d 0a 21 45 4c 53 45 49 46 20 24 28  DEP =.!ELSEIF $( 3520: 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20 7c 7c FOR_WIN10)==0 || 3530: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d "$(PLATFORM)"==
3540: 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e 4b 5f  "x86".CORE_LINK_
3550: 44 45 50 20 3d 20 73 71 6c 69 74 65 33 2e 64 65  DEP = sqlite3.de
3560: 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e  f.!ELSE.CORE_LIN
3570: 4b 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21  K_DEP =.!ENDIF.!
3580: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
3590: 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69  re additional li
35a0: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65  nker options use
35b0: 64 20 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c  d for the core l
35c0: 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45  ibrary..#.!IFNDE
35d0: 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53  F CORE_LINK_OPTS
35e0: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S 35f0: 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 HELL)!=0.CORE_LI 3600: 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4c 53 45 49 NK_OPTS =.!ELSEI 3610: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d F$(FOR_WIN10)==
3620: 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d  0 || "$(PLATFORM 3630: 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c )"=="x86".CORE_L 3640: 49 4e 4b 5f 4f 50 54 53 20 3d 20 2f 44 45 46 3a INK_OPTS = /DEF: 3650: 73 71 6c 69 74 65 33 2e 64 65 66 0a 21 45 4c 53 sqlite3.def.!ELS 3660: 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 E.CORE_LINK_OPTS 3670: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 =.!ENDIF.!ENDIF 3680: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64 ..# These are ad 3690: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 ditional compile 36a0: 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 r options used f 36b0: 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 or the shell exe 36c0: 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 cutable..#.!IFND 36d0: 45 46 20 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 EF SHELL_COMPILE 36e0: 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41 _OPTS.!IF$(DYNA
36f0: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c  MIC_SHELL)!=0 ||
3700: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0 3710: 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f .SHELL_COMPILE_O 3720: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43 PTS =$(SHELL_CC
3730: 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49  ONV_OPTS) -DSQLI
3740: 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65  TE_API=__declspe
3750: 63 28 64 6c 6c 69 6d 70 6f 72 74 29 0a 21 45 4c  c(dllimport).!EL
3760: 53 45 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  SE.SHELL_COMPILE
3770: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_ 3780: 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44 CCONV_OPTS).!END 3790: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 IF.!ENDIF..# Thi 37a0: 73 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 20 s is the source 37b0: 63 6f 64 65 20 74 68 61 74 20 74 68 65 20 73 68 code that the sh 37c0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 73 ell executable s 37d0: 68 6f 75 6c 64 20 62 65 20 63 6f 6d 70 69 6c 65 hould be compile 37e0: 64 0a 23 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e d.# with..#.!IFN 37f0: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 DEF SHELL_CORE_S 3800: 52 43 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 RC.!IF$(DYNAMIC
3810: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $( 3820: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 FOR_WIN10)!=0.SH 3830: 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a 21 ELL_CORE_SRC =.! 3840: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f ELSE.SHELL_CORE_ 3850: 53 52 43 20 3d 20 24 28 53 51 4c 49 54 45 33 43 SRC =$(SQLITE3C
3860: 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  ).!ENDIF.!ENDIF.
3870: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63  .# This is the c
3880: 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68 61 74  ore library that
3890: 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75   the shell execu
38a0: 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 64 65 70  table should dep
38b0: 65 6e 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45  end on..#.!IFNDE
38c0: 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  F SHELL_CORE_DEP
38d0: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S 38e0: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f HELL)!=0 ||$(FO
38f0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c  R_WIN10)!=0.SHEL
3900: 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 24 28 53  L_CORE_DEP = $(S 3910: 51 4c 49 54 45 33 44 4c 4c 29 0a 21 45 4c 53 45 QLITE3DLL).!ELSE 3920: 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 .SHELL_CORE_DEP 3930: 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a =.!ENDIF.!ENDIF. 3940: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 .# This is the c 3950: 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 ore library that 3960: 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 the shell execu 3970: 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c 69 6e table should lin 3980: 6b 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44 45 k with..#.!IFNDE 3990: 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 F SHELL_CORE_LIB 39a0: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 .!IF$(DYNAMIC_S
39b0: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  HELL)!=0 || $(FO 39c0: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c R_WIN10)!=0.SHEL 39d0: 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24 28 53 L_CORE_LIB =$(S
39e0: 51 4c 49 54 45 33 4c 49 42 29 0a 21 45 4c 53 45  QLITE3LIB).!ELSE
39f0: 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20  .SHELL_CORE_LIB
3a00: 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a  =.!ENDIF.!ENDIF.
3a10: 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64 64  .# These are add
3a20: 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 6f  itional linker o
3a30: 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20  ptions used for
3a40: 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74  the shell execut
3a50: 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20  able..#.!IFNDEF
3a60: 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 0a  SHELL_LINK_OPTS.
3a70: 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 20  SHELL_LINK_OPTS
3a80: 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  = $(SHELL_CORE_L 3a90: 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 IB).!ENDIF..# Ch 3aa0: 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20 eck if assembly 3ab0: 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68 code listings sh 3ac0: 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 ould be generate 3ad0: 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 d for the source 3ae0: 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f .# code files to 3af0: 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a be compiled..#. 3b00: 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e !IF$(USE_LISTIN
3b10: 47 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  GS)!=0.TCC = $(T 3b20: 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46 CC) -FAcs.!ENDIF 3b30: 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 ..# When compili 3b40: 6e 67 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 ng the library f 3b50: 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 57 69 or use in the Wi 3b60: 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c nRT environment, 3b70: 0a 23 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 .# the following 3b80: 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 compile-time op 3b90: 74 69 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 73 tions must be us 3ba0: 65 64 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 20 ed as well to.# 3bb0: 64 69 73 61 62 6c 65 20 75 73 65 20 6f 66 20 57 disable use of W 3bc0: 69 6e 33 32 20 41 50 49 73 20 74 68 61 74 20 61 in32 APIs that a 3bd0: 72 65 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 re not available 3be0: 20 61 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 and to enable.# 3bf0: 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 use of Win32 AP 3c00: 49 73 20 74 68 61 74 20 61 72 65 20 73 70 65 63 Is that are spec 3c10: 69 66 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 20 ific to Windows 3c20: 38 20 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 0a 8 and/or WinRT.. 3c30: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 #.!IF$(FOR_WINR
3c40: 54 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  T)!=0.TCC = $(TC 3c50: 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 C) -DSQLITE_OS_W 3c60: 49 4e 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 52 INRT=1.RCC =$(R
3c70: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f  CC) -DSQLITE_OS_
3c80: 57 49 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24 28  WINRT=1.TCC = $( 3c90: 54 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 TCC) -DWINAPI_FA 3ca0: 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 MILY=WINAPI_FAMI 3cb0: 4c 59 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 52 LY_APP.RCC =$(R
3cc0: 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41 4d  CC) -DWINAPI_FAM
3cd0: 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49 4c  ILY=WINAPI_FAMIL
3ce0: 59 5f 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23 20  Y_APP.!ENDIF..#
3cf0: 43 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f  C compiler optio
3d00: 6e 73 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f  ns for the Windo
3d10: 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 20 28  ws 10 platform (
3d20: 6e 65 65 64 73 20 4d 53 56 43 20 32 30 31 35 29  needs MSVC 2015)
3d30: 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  ..#.!IF $(FOR_WI 3d40: 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 N10)!=0.TCC =$(
3d50: 54 43 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d  TCC) /d2guard4 -
3d60: 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52  D_ARM_WINAPI_PAR
3d70: 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53  TITION_DESKTOP_S
3d80: 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43 43  DK_AVAILABLE.BCC
3d90: 20 3d 20 24 28 42 43 43 29 20 2f 64 32 67 75 61   = $(BCC) /d2gua 3da0: 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 rd4 -D_ARM_WINAP 3db0: 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b I_PARTITION_DESK 3dc0: 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c TOP_SDK_AVAILABL 3dd0: 45 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f E.!ENDIF..# Also 3de0: 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 64 79 6e , we need to dyn 3df0: 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f amically link to 3e00: 20 74 68 65 20 63 6f 72 72 65 63 74 20 4d 53 56 the correct MSV 3e10: 43 20 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e C runtime.# when 3e20: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 compiling for W 3e30: 69 6e 52 54 20 28 65 2e 67 2e 20 64 65 62 75 67 inRT (e.g. debug 3e40: 20 6f 72 20 72 65 6c 65 61 73 65 29 20 4f 52 20 or release) OR 3e50: 69 66 20 74 68 65 0a 23 20 55 53 45 5f 43 52 54 if the.# USE_CRT 3e60: 5f 44 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 _DLL option is s 3e70: 65 74 20 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 et to force dyna 3e80: 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 mically linking 3e90: 74 6f 20 74 68 65 0a 23 20 4d 53 56 43 20 72 75 to the.# MSVC ru 3ea0: 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 ntime library..# 3eb0: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 .!IF$(FOR_WINRT
3ec0: 29 21 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43 52  )!=0 || $(USE_CR 3ed0: 54 5f 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 T_DLL)!=0.!IF$(
3ee0: 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20 24  DEBUG)>1.TCC = $3ef0: 28 54 43 43 29 20 2d 4d 44 64 0a 42 43 43 20 3d (TCC) -MDd.BCC = 3f00: 20 24 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 4c$(BCC) -MDd.!EL
3f10: 53 45 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  SE.TCC = $(TCC) 3f20: 2d 4d 44 0a 42 43 43 20 3d 20 24 28 42 43 43 29 -MD.BCC =$(BCC)
3f30: 20 2d 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c 53   -MD.!ENDIF.!ELS
3f40: 45 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  E.!IF $(DEBUG)>1 3f50: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4d .TCC =$(TCC) -M
3f60: 54 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  Td.BCC = $(BCC) 3f70: 2d 4d 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 3d -MTd.!ELSE.TCC = 3f80: 20 24 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 20$(TCC) -MT.BCC
3f90: 3d 20 24 28 42 43 43 29 20 2d 4d 54 0a 21 45 4e  = $(BCC) -MT.!EN 3fa0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c DIF.!ENDIF..# << 3fb0: 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b 73 mark>>.# The mks 3fc0: 71 6c 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 20 qlite3c.tcl and 3fd0: 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 73 mksqlite3h.tcl s 3fe0: 63 72 69 70 74 73 20 77 69 6c 6c 20 70 75 6c 6c cripts will pull 3ff0: 20 69 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e 73 in.# any extens 4000: 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 ion header files 4010: 20 62 79 20 64 65 66 61 75 6c 74 2e 20 20 46 6f by default. Fo 4020: 72 20 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 r non-amalgamati 4030: 6f 6e 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 20 on.# builds, we 4040: 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 need to make sur 4050: 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 e the compiler c 4060: 61 6e 20 66 69 6e 64 20 74 68 65 73 65 2e 0a 23 an find these..# 4070: 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 .!IF$(USE_AMALG
4080: 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43 20  AMATION)==0.TCC
4090: 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50  = $(TCC) -I$(TOP
40a0: 29 5c 65 78 74 5c 66 74 73 33 0a 52 43 43 20 3d  )\ext\fts3.RCC =
40b0: 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29   $(RCC) -I$(TOP)
40c0: 5c 65 78 74 5c 66 74 73 33 0a 54 43 43 20 3d 20  \ext\fts3.TCC =
40d0: 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(TCC) -I$(TOP)\
40e0: 65 78 74 5c 72 74 72 65 65 0a 52 43 43 20 3d 20  ext\rtree.RCC =
40f0: 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(RCC) -I$(TOP)\
4100: 65 78 74 5c 72 74 72 65 65 0a 54 43 43 20 3d 20  ext\rtree.TCC =
4110: 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c  $(TCC) -I$(TOP)\
4120: 65 78 74 5c 73 65 73 73 69 6f 6e 0a 52 43 43 20  ext\session.RCC
4130: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50  = $(RCC) -I$(TOP
4140: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a 21 45  )\ext\session.!E
4150: 4e 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71  NDIF..# The mksq
4160: 6c 69 74 65 33 63 2e 74 63 6c 20 73 63 72 69 70  lite3c.tcl scrip
4170: 74 20 61 63 63 65 70 74 73 20 73 6f 6d 65 20 6f  t accepts some o
4180: 70 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f  ptions on the co
4190: 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57  mmand.# line.  W
41a0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69  hen compiling wi
41b0: 74 68 20 64 65 62 75 67 67 69 6e 67 20 65 6e 61  th debugging ena
41c0: 62 6c 65 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68  bled, some of th
41d0: 65 73 65 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72  ese.# options ar
41e0: 65 20 6e 65 63 65 73 73 61 72 79 20 69 6e 20 6f  e necessary in o
41f0: 72 64 65 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65  rder to allow de
4200: 62 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20  bugging symbols
4210: 74 6f 0a 23 20 77 6f 72 6b 20 63 6f 72 72 65 63  to.# work correc
4220: 74 6c 79 20 77 69 74 68 20 56 69 73 75 61 6c 20  tly with Visual
4230: 53 74 75 64 69 6f 20 77 68 65 6e 20 75 73 69 6e  Studio when usin
4240: 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69  g the amalgamati
4250: 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b  on..#.!IFNDEF MK
4260: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 0a 21 49  SQLITE3C_ARGS.!I
4270: 46 20 24 28 44 45 42 55 47 29 3e 31 0a 4d 4b 53  F $(DEBUG)>1.MKS 4280: 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d 20 2d QLITE3C_ARGS = - 4290: 2d 6c 69 6e 65 6d 61 63 72 6f 73 0a 21 45 4c 53 -linemacros.!ELS 42a0: 45 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 E.MKSQLITE3C_ARG 42b0: 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 S =.!ENDIF.!ENDI 42c0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 F.# <</mark>>..# 42d0: 20 44 65 66 69 6e 65 20 2d 44 4e 44 45 42 55 47 Define -DNDEBUG 42e0: 20 74 6f 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 to compile with 42f0: 6f 75 74 20 64 65 62 75 67 67 69 6e 67 20 28 69 out debugging (i 4300: 2e 65 2e 2c 20 66 6f 72 20 70 72 6f 64 75 63 74 .e., for product 4310: 69 6f 6e 20 75 73 61 67 65 29 0a 23 20 4f 6d 69 ion usage).# Omi 4320: 74 74 69 6e 67 20 74 68 65 20 64 65 66 69 6e 65 tting the define 4330: 20 77 69 6c 6c 20 63 61 75 73 65 20 65 78 74 72 will cause extr 4340: 61 20 64 65 62 75 67 67 69 6e 67 20 63 6f 64 65 a debugging code 4350: 20 74 6f 20 62 65 20 69 6e 73 65 72 74 65 64 20 to be inserted 4360: 61 6e 64 0a 23 20 69 6e 63 6c 75 64 65 73 20 65 and.# includes e 4370: 78 74 72 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68 xtra comments wh 4380: 65 6e 20 22 45 58 50 4c 41 49 4e 20 73 74 6d 74 en "EXPLAIN stmt 4390: 22 20 69 73 20 75 73 65 64 2e 0a 23 0a 21 49 46 " is used..#.!IF 43a0: 20 24 28 44 45 42 55 47 29 3d 3d 30 0a 54 43 43$(DEBUG)==0.TCC
43b0: 20 3d 20 24 28 54 43 43 29 20 2d 44 4e 44 45 42   = $(TCC) -DNDEB 43c0: 55 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 UG.BCC =$(BCC)
43d0: 2d 44 4e 44 45 42 55 47 0a 52 43 43 20 3d 20 24  -DNDEBUG.RCC = $43e0: 28 52 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 21 (RCC) -DNDEBUG.! 43f0: 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 ENDIF..!IF$(DEB
4400: 55 47 29 3e 30 20 7c 7c 20 24 28 41 50 49 5f 41  UG)>0 || $(API_A 4410: 52 4d 4f 52 29 21 3d 30 20 7c 7c 20 24 28 46 4f RMOR)!=0 ||$(FO
4420: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20  R_WIN10)!=0.TCC
4430: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54  = $(TCC) -DSQLIT 4440: 45 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d E_ENABLE_API_ARM 4450: 4f 52 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 OR=1.RCC =$(RCC
4460: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
4470: 45 5f 41 50 49 5f 41 52 4d 4f 52 3d 31 0a 21 45  E_API_ARMOR=1.!E
4480: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55  NDIF..!IF $(DEBU 4490: 47 29 3e 32 0a 54 43 43 20 3d 20 24 28 54 43 43 G)>2.TCC =$(TCC
44a0: 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47  ) -DSQLITE_DEBUG
44b0: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 44c0: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 -DSQLITE_DEBUG=1 44d0: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 .!ENDIF..!IF$(D
44e0: 45 42 55 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54  EBUG)>4 || $(OST 44f0: 52 41 43 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 RACE)!=0.TCC =$
4500: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46  (TCC) -DSQLITE_F
4510: 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20  ORCE_OS_TRACE=1
4520: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f  -DSQLITE_DEBUG_O
4530: 53 5f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20  S_TRACE=1.RCC =
4540: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(RCC) -DSQLITE_ 4550: 46 4f 52 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 FORCE_OS_TRACE=1 4560: 20 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f -DSQLITE_DEBUG_ 4570: 4f 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 OS_TRACE=1.!ENDI 4580: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e F..!IF$(DEBUG)>
4590: 35 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  5.TCC = $(TCC) - 45a0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 DSQLITE_ENABLE_I 45b0: 4f 54 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 OTRACE=1.RCC =$
45c0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (RCC) -DSQLITE_E
45d0: 4e 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a  NABLE_IOTRACE=1.
45e0: 21 45 4e 44 49 46 0a 0a 23 20 50 72 65 76 65 6e  !ENDIF..# Preven
45f0: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74  t warnings about
4600: 20 22 69 6e 73 65 63 75 72 65 22 20 4d 53 56 43   "insecure" MSVC
4610: 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79   runtime library
4620: 20 66 75 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69   functions.# bei
4630: 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d  ng used..#.TCC =
4640: 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f 53   $(TCC) -D_CRT_S 4650: 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 ECURE_NO_DEPRECA 4660: 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 TE -D_CRT_SECURE 4670: 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 _NO_WARNINGS.BCC 4680: 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 54 =$(BCC) -D_CRT
4690: 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45  _SECURE_NO_DEPRE
46a0: 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55  CATE -D_CRT_SECU
46b0: 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52  RE_NO_WARNINGS.R
46c0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43  CC = $(RCC) -D_C 46d0: 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 RT_SECURE_NO_DEP 46e0: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 RECATE -D_CRT_SE 46f0: 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 CURE_NO_WARNINGS 4700: 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e ..# Prevent warn 4710: 69 6e 67 73 20 61 62 6f 75 74 20 22 64 65 70 72 ings about "depr 4720: 65 63 61 74 65 64 22 20 50 4f 53 49 58 20 66 75 ecated" POSIX fu 4730: 6e 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 nctions being us 4740: 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 ed..#.TCC =$(TC
4750: 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44  C) -D_CRT_NONSTD
4760: 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d  C_NO_DEPRECATE -
4770: 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f  D_CRT_NONSTDC_NO
4780: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20  _WARNINGS.BCC =
4790: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f  $(BCC) -D_CRT_NO 47a0: 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 NSTDC_NO_DEPRECA 47b0: 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 TE -D_CRT_NONSTD 47c0: 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 C_NO_WARNINGS.RC 47d0: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 C =$(RCC) -D_CR
47e0: 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50  T_NONSTDC_NO_DEP
47f0: 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f  RECATE -D_CRT_NO
4800: 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47  NSTDC_NO_WARNING
4810: 53 0a 0a 23 20 55 73 65 20 74 68 65 20 53 51 4c  S..# Use the SQL
4820: 69 74 65 20 64 65 62 75 67 67 69 6e 67 20 68 65  ite debugging he
4830: 61 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a  ap subsystem?.#.
4840: 21 49 46 20 24 28 4d 45 4d 44 45 42 55 47 29 21  !IF $(MEMDEBUG)! 4850: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 =0.TCC =$(TCC)
4860: 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55  -DSQLITE_MEMDEBU
4870: 47 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29  G=1.RCC = $(RCC) 4880: 20 2d 44 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 -DSQLITE_MEMDEB 4890: 55 47 3d 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 UG=1..# Use nati 48a0: 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 75 ve Win32 heap su 48b0: 62 73 79 73 74 65 6d 20 69 6e 73 74 65 61 64 20 bsystem instead 48c0: 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a of malloc/free?. 48d0: 23 0a 21 45 4c 53 45 49 46 20 24 28 57 49 4e 33 #.!ELSEIF$(WIN3
48e0: 32 48 45 41 50 29 21 3d 30 0a 54 43 43 20 3d 20  2HEAP)!=0.TCC =
48f0: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_ 4900: 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 WIN32_MALLOC=1.R 4910: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 CC =$(RCC) -DSQ
4920: 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f  LITE_WIN32_MALLO
4930: 43 3d 31 0a 0a 23 20 56 61 6c 69 64 61 74 65 20  C=1..# Validate
4940: 74 68 65 20 68 65 61 70 20 6f 6e 20 65 76 65 72  the heap on ever
4950: 79 20 63 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20  y call into the
4960: 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68 65 61  native Win32 hea
4970: 70 20 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21  p subsystem?.#.!
4980: 49 46 20 24 28 44 45 42 55 47 29 3e 33 0a 54 43  IF $(DEBUG)>3.TC 4990: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c C =$(TCC) -DSQL
49a0: 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43  ITE_WIN32_MALLOC
49b0: 5f 56 41 4c 49 44 41 54 45 3d 31 0a 52 43 43 20  _VALIDATE=1.RCC
49c0: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT 49d0: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 E_WIN32_MALLOC_V 49e0: 41 4c 49 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 ALIDATE=1.!ENDIF 49f0: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 .!ENDIF..# <<mar 4a00: 6b 3e 3e 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 k>>.# The locati 4a10: 6f 6e 73 20 6f 66 20 74 68 65 20 54 63 6c 20 68 ons of the Tcl h 4a20: 65 61 64 65 72 20 61 6e 64 20 6c 69 62 72 61 72 eader and librar 4a30: 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 y files. Also, 4a40: 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 the library that 4a50: 0a 23 20 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 .# non-stubs ena 4a60: 62 6c 65 64 20 70 72 6f 67 72 61 6d 73 20 75 73 bled programs us 4a70: 69 6e 67 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e ing Tcl must lin 4a80: 6b 20 61 67 61 69 6e 73 74 2e 20 20 54 68 65 73 k against. Thes 4a90: 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 54 e variables.# (T 4aa0: 43 4c 49 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 CLINCDIR, TCLLIB 4ab0: 44 49 52 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 DIR, and LIBTCL) 4ac0: 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 64 may be overridd 4ad0: 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 72 en via the envir 4ae0: 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 onment.# prior t 4af0: 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 o running nmake 4b00: 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 in order to matc 4b10: 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 73 h the actual ins 4b20: 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 talled location 4b30: 61 6e 64 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e and.# version on 4b40: 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 this machine..# 4b50: 0a 21 49 46 4e 44 45 46 20 54 43 4c 49 4e 43 44 .!IFNDEF TCLINCD 4b60: 49 52 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 63 IR.TCLINCDIR = c 4b70: 3a 5c 74 63 6c 5c 69 6e 63 6c 75 64 65 0a 21 45 :\tcl\include.!E 4b80: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 NDIF..!IFNDEF TC 4b90: 4c 4c 49 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 LLIBDIR.TCLLIBDI 4ba0: 52 20 3d 20 63 3a 5c 74 63 6c 5c 6c 69 62 0a 21 R = c:\tcl\lib.! 4bb0: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c ENDIF..!IFNDEF L 4bc0: 49 42 54 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 IBTCL.LIBTCL = t 4bd0: 63 6c 38 35 2e 6c 69 62 0a 21 45 4e 44 49 46 0a cl85.lib.!ENDIF. 4be0: 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 .!IFNDEF LIBTCLS 4bf0: 54 55 42 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d TUB.LIBTCLSTUB = 4c00: 20 74 63 6c 73 74 75 62 38 35 2e 6c 69 62 0a 21 tclstub85.lib.! 4c10: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c ENDIF..!IFNDEF L 4c20: 49 42 54 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c IBTCLPATH.LIBTCL 4c30: 50 41 54 48 20 3d 20 63 3a 5c 74 63 6c 5c 62 69 PATH = c:\tcl\bi 4c40: 6e 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 n.!ENDIF..# The 4c50: 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 locations of the 4c60: 20 49 43 55 20 68 65 61 64 65 72 20 61 6e 64 20 ICU header and 4c70: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20 library files. 4c80: 54 68 65 73 65 20 76 61 72 69 61 62 6c 65 73 0a These variables. 4c90: 23 20 28 49 43 55 49 4e 43 44 49 52 2c 20 49 43 # (ICUINCDIR, IC 4ca0: 55 4c 49 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 ULIBDIR, and LIB 4cb0: 49 43 55 29 20 6d 61 79 20 62 65 20 6f 76 65 72 ICU) may be over 4cc0: 72 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 ridden via the e 4cd0: 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 nvironment.# pri 4ce0: 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d or to running nm 4cf0: 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 ake in order to 4d00: 6d 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c match the actual 4d10: 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 installed locat 4d20: 69 6f 6e 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 ion on.# this ma 4d30: 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 chine..#.!IFNDEF 4d40: 20 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 4e ICUINCDIR.ICUIN 4d50: 43 44 49 52 20 3d 20 63 3a 5c 69 63 75 5c 69 6e CDIR = c:\icu\in 4d60: 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 clude.!ENDIF..!I 4d70: 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49 52 0a FNDEF ICULIBDIR. 4d80: 49 43 55 4c 49 42 44 49 52 20 3d 20 63 3a 5c 69 ICULIBDIR = c:\i 4d90: 63 75 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 cu\lib.!ENDIF..! 4da0: 49 46 4e 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 IFNDEF LIBICU.LI 4db0: 42 49 43 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 BICU = icuuc.lib 4dc0: 20 69 63 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 icuin.lib.!ENDI 4dd0: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 F..# This is the 4de0: 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 command to use 4df0: 66 6f 72 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d for tclsh - norm 4e00: 61 6c 6c 79 20 6a 75 73 74 20 22 74 63 6c 73 68 ally just "tclsh 4e10: 22 2c 20 62 75 74 20 77 65 20 6d 61 79 0a 23 20 ", but we may.# 4e20: 6b 6e 6f 77 20 74 68 65 20 73 70 65 63 69 66 69 know the specifi 4e30: 63 20 76 65 72 73 69 6f 6e 20 77 65 20 77 61 6e c version we wan 4e40: 74 20 74 6f 20 75 73 65 2e 20 20 54 68 69 73 20 t to use. This 4e50: 76 61 72 69 61 62 6c 65 20 28 54 43 4c 53 48 5f variable (TCLSH_ 4e60: 43 4d 44 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 CMD) may be.# ov 4e70: 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65 erridden via the 4e80: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 environment pri 4e90: 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d or to running nm 4ea0: 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 ake in order to 4eb0: 73 65 6c 65 63 74 20 61 0a 23 20 73 70 65 63 69 select a.# speci 4ec0: 66 69 63 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f fic Tcl shell to 4ed0: 20 75 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 use..#.!IFNDEF 4ee0: 54 43 4c 53 48 5f 43 4d 44 0a 54 43 4c 53 48 5f TCLSH_CMD.TCLSH_ 4ef0: 43 4d 44 20 3d 20 74 63 6c 73 68 38 35 0a 21 45 CMD = tclsh85.!E 4f00: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e NDIF.# <</mark>> 4f10: 0a 0a 23 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 ..# Compiler opt 4f20: 69 6f 6e 73 20 6e 65 65 64 65 64 20 66 6f 72 20 ions needed for 4f30: 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 75 73 programs that us 4f40: 65 20 74 68 65 20 72 65 61 64 6c 69 6e 65 28 29 e the readline() 4f50: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e library..#.!IFN 4f60: 44 45 46 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 DEF READLINE_FLA 4f70: 47 53 0a 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 GS.READLINE_FLAG 4f80: 53 20 3d 20 2d 44 48 41 56 45 5f 52 45 41 44 4c S = -DHAVE_READL 4f90: 49 4e 45 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 INE=0.!ENDIF..# 4fa0: 54 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 The library that 4fb0: 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 programs using 4fc0: 72 65 61 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 readline() must 4fd0: 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a link against..#. 4fe0: 21 49 46 4e 44 45 46 20 4c 49 42 52 45 41 44 4c !IFNDEF LIBREADL 4ff0: 49 4e 45 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 INE.LIBREADLINE 5000: 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 =.!ENDIF..# Shou 5010: 6c 64 20 74 68 65 20 64 61 74 61 62 61 73 65 20 ld the database 5020: 65 6e 67 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c engine be compil 5030: 65 64 20 74 68 72 65 61 64 73 61 66 65 0a 23 0a ed threadsafe.#. 5040: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 TCC =$(TCC) -DS
5050: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
5060: 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  =1.RCC = $(RCC) 5070: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 -DSQLITE_THREADS 5080: 41 46 45 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 AFE=1..# Do thre 5090: 61 64 73 20 6f 76 65 72 72 69 64 65 20 65 61 63 ads override eac 50a0: 68 20 6f 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 h others locks b 50b0: 79 20 64 65 66 61 75 6c 74 20 28 31 29 2c 20 6f y default (1), o 50c0: 72 20 64 6f 20 77 65 20 74 65 73 74 20 28 2d 31 r do we test (-1 50d0: 29 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 ).#.TCC =$(TCC)
50e0: 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44   -DSQLITE_THREAD
50f0: 5f 4f 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d  _OVERRIDE_LOCK=-
5100: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) - 5110: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f DSQLITE_THREAD_O 5120: 56 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a VERRIDE_LOCK=-1. 5130: 0a 23 20 41 6e 79 20 74 61 72 67 65 74 20 6c 69 .# Any target li 5140: 62 72 61 72 69 65 73 20 77 68 69 63 68 20 6c 69 braries which li 5150: 62 73 71 6c 69 74 65 20 6d 75 73 74 20 62 65 20 bsqlite must be 5160: 6c 69 6e 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 linked against.# 5170: 0a 21 49 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 .!IFNDEF TLIBS.T 5180: 4c 49 42 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 LIBS =.!ENDIF..# 5190: 20 46 6c 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 Flags controlli 51a0: 6e 67 20 75 73 65 20 6f 66 20 74 68 65 20 69 6e ng use of the in 51b0: 20 6d 65 6d 6f 72 79 20 62 74 72 65 65 20 69 6d memory btree im 51c0: 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 plementation.#.# 51d0: 20 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f SQLITE_TEMP_STO 51e0: 52 45 20 69 73 20 30 20 74 6f 20 66 6f 72 63 65 RE is 0 to force 51f0: 20 74 65 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 temporary table 5200: 73 20 74 6f 20 62 65 20 69 6e 20 61 20 66 69 6c s to be in a fil 5210: 65 2c 20 31 20 74 6f 0a 23 20 64 65 66 61 75 6c e, 1 to.# defaul 5220: 74 20 74 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 t to file, 2 to 5230: 64 65 66 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 default to memor 5240: 79 2c 20 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 y, and 3 to forc 5250: 65 20 74 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 e temporary.# ta 5260: 62 6c 65 73 20 74 6f 20 61 6c 77 61 79 73 20 62 bles to always b 5270: 65 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 e in memory..#.T 5280: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 CC =$(TCC) -DSQ
5290: 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d  LITE_TEMP_STORE=
52a0: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) - 52b0: 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f DSQLITE_TEMP_STO 52c0: 52 45 3d 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 RE=1..# Enable/d 52d0: 69 73 61 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 isable loadable 52e0: 65 78 74 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 extensions, and 52f0: 6f 74 68 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 other optional f 5300: 65 61 74 75 72 65 73 0a 23 20 62 61 73 65 64 20 eatures.# based 5310: 6f 6e 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e on configuration 5320: 2e 20 28 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 . (-DSQLITE_OMIT 5330: 2a 2c 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 *, -DSQLITE_ENAB 5340: 4c 45 2a 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 LE*)..# The same 5350: 20 73 65 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 set of OMIT and 5360: 20 45 4e 41 42 4c 45 20 66 6c 61 67 73 20 73 68 ENABLE flags sh 5370: 6f 75 6c 64 20 62 65 20 70 61 73 73 65 64 20 74 ould be passed t 5380: 6f 20 74 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 o the.# LEMON pa 5390: 72 73 65 72 20 67 65 6e 65 72 61 74 6f 72 20 61 rser generator a 53a0: 6e 64 20 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 nd the mkkeyword 53b0: 68 61 73 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c hash tool as wel 53c0: 6c 2e 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 l...# These are 53d0: 74 68 65 20 72 65 71 75 69 72 65 64 20 53 51 4c the required SQL 53e0: 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 ite compilation 53f0: 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 options used whe 5400: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a n compiling for. 5410: 23 20 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c # the Windows pl 5420: 61 74 66 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 atform..#.REQ_FE 5430: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 ATURE_FLAGS =$(
5440: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
5450: 53 29 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f  S) -DSQLITE_MAX_
5460: 54 52 49 47 47 45 52 5f 44 45 50 54 48 3d 31 30  TRIGGER_DEPTH=10
5470: 30 0a 0a 23 20 49 66 20 77 65 20 61 72 65 20 6c  0..# If we are l
5480: 69 6e 6b 69 6e 67 20 74 6f 20 74 68 65 20 52 50  inking to the RP
5490: 43 52 54 34 20 6c 69 62 72 61 72 79 2c 20 65 6e  CRT4 library, en
54a0: 61 62 6c 65 20 66 65 61 74 75 72 65 73 20 74 68  able features th
54b0: 61 74 20 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49  at need it..#.!I
54c0: 46 20 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c  F $(USE_RPCRT4_L 54d0: 49 42 29 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 IB)!=0.REQ_FEATU 54e0: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 RE_FLAGS =$(REQ
54f0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
5500: 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55  -DSQLITE_WIN32_U
5510: 53 45 5f 55 55 49 44 3d 31 0a 21 45 4e 44 49 46  SE_UUID=1.!ENDIF
5520: 0a 0a 23 20 41 64 64 20 74 68 65 20 72 65 71 75  ..# Add the requ
5530: 69 72 65 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61  ired and optiona
5540: 6c 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61  l SQLite compila
5550: 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74  tion options int
5560: 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20  o the command.#
5570: 6c 69 6e 65 73 20 75 73 65 64 20 74 6f 20 69 6e  lines used to in
5580: 76 6f 6b 65 20 74 68 65 20 4d 53 56 43 20 63 6f  voke the MSVC co
5590: 64 65 20 61 6e 64 20 72 65 73 6f 75 72 63 65 20  de and resource
55a0: 63 6f 6d 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43  compilers..#.TCC
55b0: 20 3d 20 24 28 54 43 43 29 20 24 28 52 45 51 5f   = $(TCC)$(REQ_
55c0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $55d0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (OPT_FEATURE_FLA 55e0: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 GS)$(EXT_FEATUR
55f0: 45 5f 46 4c 41 47 53 29 0a 52 43 43 20 3d 20 24  E_FLAGS).RCC = $5600: 28 52 43 43 29 20 24 28 52 45 51 5f 46 45 41 54 (RCC)$(REQ_FEAT
5610: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54  URE_FLAGS) $(OPT 5620: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) 5630: 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c$(EXT_FEATURE_FL
5640: 41 47 53 29 0a 0a 23 20 41 64 64 20 69 6e 20 61  AGS)..# Add in a
5650: 6e 79 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61  ny optional para
5660: 6d 65 74 65 72 73 20 73 70 65 63 69 66 69 65 64  meters specified
5670: 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20   on the commane
5680: 6c 69 6e 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61  line, e.g..# nma
5690: 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d  ke /f Makefile.m
56a0: 73 63 20 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53  sc all "OPTS=-DS
56b0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f  QLITE_ENABLE_FOO
56c0: 3d 31 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =1 -DSQLITE_OMIT
56d0: 5f 46 4f 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20  _FOO=1".#.TCC =
56e0: 24 28 54 43 43 29 20 24 28 4f 50 54 53 29 0a 52  $(TCC)$(OPTS).R
56f0: 43 43 20 3d 20 24 28 52 43 43 29 20 24 28 4f 50  CC = $(RCC)$(OP
5700: 54 53 29 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c  TS)..# If compil
5710: 69 6e 67 20 66 6f 72 20 64 65 62 75 67 67 69 6e  ing for debuggin
5720: 67 2c 20 61 64 64 20 73 6f 6d 65 20 64 65 66 69  g, add some defi
5730: 6e 65 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42  nes..#.!IF $(DEB 5740: 55 47 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 UG)>1.TCC =$(TC
5750: 43 29 20 2d 44 5f 44 45 42 55 47 0a 42 43 43 20  C) -D_DEBUG.BCC
5760: 3d 20 24 28 42 43 43 29 20 2d 44 5f 44 45 42 55  = $(BCC) -D_DEBU 5770: 47 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d G.RCC =$(RCC) -
5780: 44 5f 44 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a  D_DEBUG.!ENDIF..
5790: 23 20 49 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f  # If optimizatio
57a0: 6e 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 6f  ns are enabled o
57b0: 72 20 64 69 73 61 62 6c 65 64 20 28 65 69 74 68  r disabled (eith
57c0: 65 72 20 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72  er implicitly or
57d0: 0a 23 20 65 78 70 6c 69 63 69 74 6c 79 29 2c 20  .# explicitly),
57e0: 61 64 64 20 74 68 65 20 6e 65 63 65 73 73 61 72  add the necessar
57f0: 79 20 66 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24  y flags..#.!IF $5800: 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f (DEBUG)>1 ||$(O
5810: 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30  PTIMIZATIONS)==0
5820: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f  .TCC = $(TCC) -O 5830: 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d d.BCC =$(BCC) -
5840: 4f 64 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54  Od.!ELSEIF $(OPT 5850: 49 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 IMIZATIONS)>=3.T 5860: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a CC =$(TCC) -Ox.
5870: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78  BCC = $(BCC) -Ox 5880: 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d .!ELSEIF$(OPTIM
5890: 49 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43  IZATIONS)==2.TCC
58a0: 20 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43   = $(TCC) -O2.BC 58b0: 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 C =$(BCC) -O2.!
58c0: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a  ELSEIF $(OPTIMIZ 58d0: 41 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d ATIONS)==1.TCC = 58e0: 20 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20$(TCC) -O1.BCC
58f0: 3d 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e  = $(BCC) -O1.!EN 5900: 44 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c DIF..# If symbol 5910: 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f s are enabled (o 5920: 72 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 r compiling for 5930: 64 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 debugging), enab 5940: 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 le PDBs..#.!IF$
5950: 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53  (DEBUG)>1 || $(S 5960: 59 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d YMBOLS)!=0.TCC = 5970: 20 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20$(TCC) -Zi.BCC
5980: 3d 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e  = $(BCC) -Zi.!EN 5990: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a DIF..# <<mark>>. 59a0: 23 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 # If ICU support 59b0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 is enabled, add 59c0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 the compiler op 59d0: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a tions for it..#. 59e0: 21 49 46 20 24 28 55 53 45 5f 49 43 55 29 21 3d !IF$(USE_ICU)!=
59f0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) - 5a00: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 DSQLITE_ENABLE_I 5a10: 43 55 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 CU=1.RCC =$(RCC
5a20: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
5a30: 45 5f 49 43 55 3d 31 0a 54 43 43 20 3d 20 24 28  E_ICU=1.TCC = $( 5a40: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 TCC) -I$(TOP)\ex
5a50: 74 5c 69 63 75 0a 52 43 43 20 3d 20 24 28 52 43  t\icu.RCC = $(RC 5a60: 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c C) -I$(TOP)\ext\
5a70: 69 63 75 0a 54 43 43 20 3d 20 24 28 54 43 43 29  icu.TCC = $(TCC) 5a80: 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52 29 0a -I$(ICUINCDIR).
5a90: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
5aa0: 28 49 43 55 49 4e 43 44 49 52 29 0a 21 45 4e 44  (ICUINCDIR).!END
5ab0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
5ac0: 23 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70  # Command line p
5ad0: 72 65 66 69 78 65 73 20 66 6f 72 20 63 6f 6d 70  refixes for comp
5ae0: 69 6c 69 6e 67 20 63 6f 64 65 2c 20 63 6f 6d 70  iling code, comp
5af0: 69 6c 69 6e 67 20 72 65 73 6f 75 72 63 65 73 2c  iling resources,
5b00: 0a 23 20 6c 69 6e 6b 69 6e 67 2c 20 65 74 63 2e  .# linking, etc.
5b10: 0a 23 0a 4c 54 43 4f 4d 50 49 4c 45 20 3d 20 24  .#.LTCOMPILE = $5b20: 28 54 43 43 29 20 2d 46 6f 24 40 0a 4c 54 52 43 (TCC) -Fo$@.LTRC
5b30: 4f 4d 50 49 4c 45 20 3d 20 24 28 52 43 43 29 20  OMPILE = $(RCC) 5b40: 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c 69 62 2e 65 -r.LTLIB = lib.e 5b50: 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28 54 43 xe.LTLINK =$(TC
5b60: 43 29 20 2d 46 65 24 40 0a 0a 23 20 49 66 20 72  C) -Fe$@..# If r 5b70: 65 71 75 65 73 74 65 64 2c 20 6c 69 6e 6b 20 74 equested, link t 5b80: 6f 20 74 68 65 20 52 50 43 52 54 34 20 6c 69 62 o the RPCRT4 lib 5b90: 72 61 72 79 2e 0a 23 0a 21 49 46 20 24 28 55 53 rary..#.!IF$(US
5ba0: 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 21 3d 30  E_RPCRT4_LIB)!=0
5bb0: 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28 4c 54 4c 49  .LTLINK = $(LTLI 5bc0: 4e 4b 29 20 72 70 63 72 74 34 2e 6c 69 62 0a 21 NK) rpcrt4.lib.! 5bd0: 45 4e 44 49 46 0a 0a 23 20 49 66 20 61 20 70 6c ENDIF..# If a pl 5be0: 61 74 66 6f 72 6d 20 77 61 73 20 73 65 74 2c 20 atform was set, 5bf0: 66 6f 72 63 65 20 74 68 65 20 6c 69 6e 6b 65 72 force the linker 5c00: 20 74 6f 20 74 61 72 67 65 74 20 74 68 61 74 2e to target that. 5c10: 0a 23 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 .# Note that the 5c20: 20 76 63 76 61 72 73 2a 2e 62 61 74 20 66 61 6d vcvars*.bat fam 5c30: 69 6c 79 20 6f 66 20 62 61 74 63 68 20 66 69 6c ily of batch fil 5c40: 65 73 20 74 79 70 69 63 61 6c 6c 79 0a 23 20 73 es typically.# s 5c50: 65 74 20 74 68 69 73 20 66 6f 72 20 79 6f 75 2e et this for you. 5c60: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 Otherwise, the 5c70: 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20 61 74 74 linker will att 5c80: 65 6d 70 74 0a 23 20 74 6f 20 64 65 64 75 63 65 empt.# to deduce 5c90: 20 74 68 65 20 62 69 6e 61 72 79 20 74 79 70 65 the binary type 5ca0: 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6f 62 based on the ob 5cb0: 6a 65 63 74 20 66 69 6c 65 73 2e 0a 21 49 46 44 ject files..!IFD 5cc0: 45 46 20 50 4c 41 54 46 4f 52 4d 0a 4c 54 4c 49 EF PLATFORM.LTLI 5cd0: 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f NKOPTS = /NOLOGO 5ce0: 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 /MACHINE:$(PLAT
5cf0: 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50 54 53 20  FORM).LTLIBOPTS
5d00: 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49  = /NOLOGO /MACHI
5d10: 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21  NE:$(PLATFORM).! 5d20: 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 ELSE.LTLINKOPTS 5d30: 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c 54 4c 49 42 4f = /NOLOGO.LTLIBO 5d40: 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 21 45 PTS = /NOLOGO.!E 5d50: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d NDIF..# When com 5d60: 70 69 6c 69 6e 67 20 66 6f 72 20 75 73 65 20 69 piling for use i 5d70: 6e 20 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69 n the WinRT envi 5d80: 72 6f 6e 6d 65 6e 74 2c 20 74 68 65 20 66 6f 6c ronment, the fol 5d90: 6c 6f 77 69 6e 67 0a 23 20 6c 69 6e 6b 65 72 20 lowing.# linker 5da0: 6f 70 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 75 option must be u 5db0: 73 65 64 20 74 6f 20 6d 61 72 6b 20 74 68 65 20 sed to mark the 5dc0: 65 78 65 63 75 74 61 62 6c 65 20 61 73 20 72 75 executable as ru 5dd0: 6e 6e 61 62 6c 65 0a 23 20 6f 6e 6c 79 20 69 6e nnable.# only in 5de0: 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6f 66 20 the context of 5df0: 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 63 an application c 5e00: 6f 6e 74 61 69 6e 65 72 2e 0a 23 0a 21 49 46 20 ontainer..#.!IF 5e10: 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a$(FOR_WINRT)!=0.
5e20: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L 5e30: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 41 50 50 43 TLINKOPTS) /APPC 5e40: 4f 4e 54 41 49 4e 45 52 0a 21 49 46 20 22 24 28 ONTAINER.!IF "$(
5e50: 56 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53  VISUALSTUDIOVERS
5e60: 49 4f 4e 29 22 3d 3d 22 31 32 2e 30 22 20 7c 7c  ION)"=="12.0" ||
5e70: 20 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f   "$(VISUALSTUDIO 5e80: 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 34 2e 30 VERSION)"=="14.0 5e90: 22 0a 21 49 46 4e 44 45 46 20 53 54 4f 52 45 4c ".!IFNDEF STOREL 5ea0: 49 42 50 41 54 48 0a 21 49 46 20 22 24 28 50 4c IBPATH.!IF "$(PL
5eb0: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
5ec0: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $5ed0: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f (CRTLIBPATH)\sto 5ee0: 72 65 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c re.!ELSEIF "$(PL
5ef0: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a  ATFORM)"=="x64".
5f00: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $5f10: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f (CRTLIBPATH)\sto 5f20: 72 65 5c 61 6d 64 36 34 0a 21 45 4c 53 45 49 46 re\amd64.!ELSEIF 5f30: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d "$(PLATFORM)"==
5f40: 22 41 52 4d 22 0a 53 54 4f 52 45 4c 49 42 50 41  "ARM".STORELIBPA
5f50: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT 5f60: 48 29 5c 73 74 6f 72 65 5c 61 72 6d 0a 21 45 4c H)\store\arm.!EL 5f70: 53 45 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 SE.STORELIBPATH 5f80: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c =$(CRTLIBPATH)\
5f90: 73 74 6f 72 65 0a 21 45 4e 44 49 46 0a 21 45 4e  store.!ENDIF.!EN
5fa0: 44 49 46 0a 53 54 4f 52 45 4c 49 42 50 41 54 48  DIF.STORELIBPATH
5fb0: 20 3d 20 24 28 53 54 4f 52 45 4c 49 42 50 41 54   = $(STORELIBPAT 5fc0: 48 3a 5c 5c 3d 5c 29 0a 4c 54 4c 49 4e 4b 4f 50 H:\\=\).LTLINKOP 5fd0: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 TS =$(LTLINKOPT
5fe0: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 53  S) "/LIBPATH:$(S 5ff0: 54 4f 52 45 4c 49 42 50 41 54 48 29 22 0a 21 45 TORELIBPATH)".!E 6000: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 NDIF.!ENDIF..# W 6010: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f hen compiling fo 6020: 72 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 r Windows Phone 6030: 38 2e 31 2c 20 61 6e 20 65 78 74 72 61 20 6c 69 8.1, an extra li 6040: 62 72 61 72 79 20 70 61 74 68 20 69 73 0a 23 20 brary path is.# 6050: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 required..#.!IF 6060: 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29$(USE_WP81_OPTS)
6070: 21 3d 30 0a 21 49 46 4e 44 45 46 20 57 50 38 31  !=0.!IFNDEF WP81
6080: 4c 49 42 50 41 54 48 0a 21 49 46 20 22 24 28 50  LIBPATH.!IF "$(P 6090: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 LATFORM)"=="x86" 60a0: 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 .WP81LIBPATH =$
60b0: 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  (PROGRAMFILES_X8
60c0: 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65  6)\Windows Phone
60d0: 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38   Kits\8.1\lib\x8
60e0: 36 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41  6.!ELSEIF "$(PLA 60f0: 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 57 TFORM)"=="ARM".W 6100: 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 P81LIBPATH =$(P
6110: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29  ROGRAMFILES_X86)
6120: 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b  \Windows Phone K
6130: 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 41 52 4d 0a  its\8.1\lib\ARM.
6140: 21 45 4c 53 45 0a 57 50 38 31 4c 49 42 50 41 54  !ELSE.WP81LIBPAT
6150: 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  H = $(PROGRAMFIL 6160: 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 ES_X86)\Windows 6170: 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c Phone Kits\8.1\l 6180: 69 62 5c 78 38 36 0a 21 45 4e 44 49 46 0a 21 45 ib\x86.!ENDIF.!E 6190: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 NDIF.!ENDIF..# W 61a0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f hen compiling fo 61b0: 72 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 r Windows Phone 61c0: 38 2e 31 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 8.1, some extra 61d0: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 0a 23 linker options.# 61e0: 20 61 72 65 20 61 6c 73 6f 20 72 65 71 75 69 72 are also requir 61f0: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f ed..#.!IF$(USE_
6200: 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49  WP81_OPTS)!=0.!I
6210: 46 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48  FDEF WP81LIBPATH
6220: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $( 6230: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 LTLINKOPTS) "/LI 6240: 42 50 41 54 48 3a 24 28 57 50 38 31 4c 49 42 50 BPATH:$(WP81LIBP
6250: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 4c 54 4c  ATH)".!ENDIF.LTL
6260: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI 6270: 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49 43 NKOPTS) /DYNAMIC 6280: 42 41 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 BASE.LTLINKOPTS 6290: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 =$(LTLINKOPTS)
62a0: 57 69 6e 64 6f 77 73 50 68 6f 6e 65 43 6f 72 65  WindowsPhoneCore
62b0: 2e 6c 69 62 20 52 75 6e 74 69 6d 65 4f 62 6a 65  .lib RuntimeObje
62c0: 63 74 2e 6c 69 62 20 50 68 6f 6e 65 41 70 70 4d  ct.lib PhoneAppM
62d0: 6f 64 65 6c 48 6f 73 74 2e 6c 69 62 0a 4c 54 4c  odelHost.lib.LTL
62e0: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI 62f0: 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 NKOPTS) /NODEFAU 6300: 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c LTLIB:kernel32.l 6310: 69 62 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 ib /NODEFAULTLIB 6320: 3a 6f 6c 65 33 32 2e 6c 69 62 0a 21 45 4e 44 49 :ole32.lib.!ENDI 6330: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c F..# When compil 6340: 69 6e 67 20 66 6f 72 20 55 57 50 20 6f 72 20 74 ing for UWP or t 6350: 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c he Windows 10 pl 6360: 61 74 66 6f 72 6d 2c 20 73 6f 6d 65 20 65 78 74 atform, some ext 6370: 72 61 20 6c 69 6e 6b 65 72 0a 23 20 6f 70 74 69 ra linker.# opti 6380: 6f 6e 73 20 61 72 65 20 61 6c 73 6f 20 72 65 71 ons are also req 6390: 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 46 uired..#.!IF$(F
63a0: 4f 52 5f 55 57 50 29 21 3d 30 20 7c 7c 20 24 28  OR_UWP)!=0 || $( 63b0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 FOR_WIN10)!=0.LT 63c0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c LINKOPTS =$(LTL
63d0: 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49  INKOPTS) /DYNAMI
63e0: 43 42 41 53 45 20 2f 4e 4f 44 45 46 41 55 4c 54  CBASE /NODEFAULT
63f0: 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62  LIB:kernel32.lib
6400: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $( 6410: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 6d 69 6e 63 LTLINKOPTS) minc 6420: 6f 72 65 2e 6c 69 62 0a 21 49 46 44 45 46 20 50 ore.lib.!IFDEF P 6430: 53 44 4b 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e SDKLIBPATH.LTLIN 6440: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b KOPTS =$(LTLINK
6450: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a  OPTS) "/LIBPATH:
6460: 24 28 50 53 44 4b 4c 49 42 50 41 54 48 29 22 0a  $(PSDKLIBPATH)". 6470: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 !ENDIF.!ENDIF..! 6480: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 IF$(FOR_WIN10)!
6490: 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  =0.LTLINKOPTS =
64a0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 67  $(LTLINKOPTS) /g 64b0: 75 61 72 64 3a 63 66 20 22 2f 4c 49 42 50 41 54 uard:cf "/LIBPAT 64c0: 48 3a 24 28 55 43 52 54 4c 49 42 50 41 54 48 29 H:$(UCRTLIBPATH)
64d0: 22 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  ".!IF $(DEBUG)>1 64e0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 .LTLINKOPTS =$(
64f0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44  LTLINKOPTS) /NOD
6500: 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72  EFAULTLIB:libucr
6510: 74 64 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54 4c  td.lib /DEFAULTL
6520: 49 42 3a 75 63 72 74 64 2e 6c 69 62 0a 21 45 4c  IB:ucrtd.lib.!EL
6530: 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  SE.LTLINKOPTS =
6540: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e  $(LTLINKOPTS) /N 6550: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62 75 ODEFAULTLIB:libu 6560: 63 72 74 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54 crt.lib /DEFAULT 6570: 4c 49 42 3a 75 63 72 74 2e 6c 69 62 0a 21 45 4e LIB:ucrt.lib.!EN 6580: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 DIF.!ENDIF..# If 6590: 20 65 69 74 68 65 72 20 64 65 62 75 67 67 69 6e either debuggin 65a0: 67 20 6f 72 20 73 79 6d 62 6f 6c 73 20 61 72 65 g or symbols are 65b0: 20 65 6e 61 62 6c 65 64 2c 20 65 6e 61 62 6c 65 enabled, enable 65c0: 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 PDBs..#.!IF$(D
65d0: 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d  EBUG)>1 || $(SYM 65e0: 42 4f 4c 53 29 21 3d 30 0a 4c 44 46 4c 41 47 53 BOLS)!=0.LDFLAGS 65f0: 20 3d 20 2f 44 45 42 55 47 20 24 28 4c 44 4f 50 = /DEBUG$(LDOP
6600: 54 53 29 0a 21 45 4c 53 45 0a 4c 44 46 4c 41 47  TS).!ELSE.LDFLAG
6610: 53 20 3d 20 24 28 4c 44 4f 50 54 53 29 0a 21 45  S = $(LDOPTS).!E 6620: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e NDIF..# <<mark>> 6630: 0a 23 20 53 74 61 72 74 20 77 69 74 68 20 74 68 .# Start with th 6640: 65 20 54 63 6c 20 72 65 6c 61 74 65 64 20 6c 69 e Tcl related li 6650: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 2e 0a 23 0a nker options..#. 6660: 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 !IF$(NO_TCL)==0
6670: 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 2f 4c  .LTLIBPATHS = /L
6680: 49 42 50 41 54 48 3a 24 28 54 43 4c 4c 49 42 44  IBPATH:$(TCLLIBD 6690: 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c IR).LTLIBS =$(L
66a0: 49 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a 0a 23  IBTCL).!ENDIF..#
66b0: 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20   If ICU support
66c0: 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20  is enabled, add
66d0: 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  the linker optio
66e0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  ns for it..#.!IF
66f0: 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c   $(USE_ICU)!=0.L 6700: 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 TLIBPATHS =$(LT
6710: 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41  LIBPATHS) /LIBPA
6720: 54 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a  TH:$(ICULIBDIR). 6730: 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 LTLIBS =$(LTLIB
6740: 53 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e  S) $(LIBICU).!EN 6750: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a DIF.# <</mark>>. 6760: 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f .# You should no 6770: 74 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 t have to change 6780: 20 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 anything below 6790: 74 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 this line.###### 67a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 67b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 67c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 67d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 67e0: 23 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d #########..# <<m 67f0: 61 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 ark>>.# Object f 6800: 69 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c iles for the SQL 6810: 69 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e ite library (non 6820: 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a -amalgamation).. 6830: 23 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 #.LIBOBJS0 = vdb 6840: 65 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c e.lo parse.lo al 6850: 74 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c ter.lo analyze.l 6860: 6f 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 o attach.lo auth 6870: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 .lo \. b 6880: 61 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e ackup.lo bitvec. 6890: 6c 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 lo btmutex.lo bt 68a0: 72 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 ree.lo build.lo 68b0: 5c 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 \. callb 68c0: 61 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e ack.lo complete. 68d0: 6c 6f 20 63 74 69 6d 65 2e 6c 6f 20 64 61 74 65 lo ctime.lo date 68e0: 2e 6c 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64 65 .lo dbstat.lo de 68f0: 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 lete.lo \. 6900: 20 20 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 expr.lo fault 6910: 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 .lo fkey.lo \. 6920: 20 20 20 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 fts3.lo f 6930: 74 73 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f ts3_aux.lo fts3_ 6940: 65 78 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 expr.lo fts3_has 6950: 68 2e 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f h.lo fts3_icu.lo 6960: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 \. fts3 6970: 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f _porter.lo fts3_ 6980: 73 6e 69 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f snippet.lo fts3_ 6990: 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 tokenizer.lo fts 69a0: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 3_tokenizer1.lo 69b0: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f \. fts3_ 69c0: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f tokenize_vtab.lo 69d0: 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f fts3_unicode.lo 69e0: 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c fts3_unicode2.l 69f0: 6f 20 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20 o fts3_write.lo 6a00: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 35 2e \. fts5. 6a10: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 75 lo \. fu 6a20: 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20 nc.lo global.lo 6a30: 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 hash.lo \. 6a40: 20 20 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74 icu.lo insert 6a50: 2e 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f .lo legacy.lo lo 6a60: 61 64 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 adext.lo \. 6a70: 20 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c main.lo mall 6a80: 6f 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 oc.lo mem0.lo me 6a90: 6d 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 m1.lo mem2.lo me 6aa0: 6d 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a m3.lo mem5.lo \. 6ab0: 20 20 20 20 20 20 20 20 20 6d 65 6d 6a 6f 75 72 memjour 6ac0: 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 nal.lo \. 6ad0: 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78 mutex.lo mutex 6ae0: 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75 _noop.lo mutex_u 6af0: 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32 nix.lo mutex_w32 6b00: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6e .lo \. n 6b10: 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73 otify.lo opcodes 6b20: 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69 .lo os.lo os_uni 6b30: 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c x.lo os_win.lo \ 6b40: 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 72 2e . pager. 6b50: 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20 70 63 61 lo pcache.lo pca 6b60: 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c che1.lo pragma.l 6b70: 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20 70 72 69 o prepare.lo pri 6b80: 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 ntf.lo \. 6b90: 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f random.lo reso 6ba0: 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f lve.lo rowset.lo 6bb0: 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20 20 20 20 rtree.lo \. 6bc0: 20 20 20 20 20 73 71 6c 69 74 65 33 73 65 73 73 sqlite3sess 6bd0: 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c 6f ion.lo select.lo 6be0: 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20 73 sqlite3rbu.lo s 6bf0: 74 61 74 75 73 2e 6c 6f 20 5c 0a 20 20 20 20 20 tatus.lo \. 6c00: 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 table.lo thr 6c10: 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 eads.lo tokenize 6c20: 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 .lo treeview.lo 6c30: 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 trigger.lo \. 6c40: 20 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 update.lo 6c50: 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e 6c util.lo vacuum.l 6c60: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64 62 o \. vdb 6c70: 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78 2e eapi.lo vdbeaux. 6c80: 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20 76 lo vdbeblob.lo v 6c90: 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73 6f dbemem.lo vdbeso 6ca0: 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 rt.lo \. 6cb0: 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77 61 vdbetrace.lo wa 6cc0: 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20 77 l.lo walker.lo w 6cd0: 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f 64 here.lo wherecod 6ce0: 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72 2e 6c e.lo whereexpr.l 6cf0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 74 66 o \. utf 6d00: 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 3c 3c .lo vtab.lo.# << 6d10: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65 63 /mark>>..# Objec 6d20: 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20 t files for the 6d30: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a amalgamation..#. 6d40: 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c 69 74 LIBOBJS1 = sqlit 6d50: 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 6d 69 e3.lo..# Determi 6d60: 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61 6c 75 ne the real valu 6d70: 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61 73 65 e of LIBOBJ base 6d80: 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66 69 67 d on the 'config 6d90: 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a 23 20 ure' script.#.# 6da0: 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 28 55 <<mark>>.!IF$(U
6db0: 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29  SE_AMALGAMATION)
6dc0: 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c  ==0.LIBOBJ = $(L 6dd0: 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45 0a 23 IBOBJS0).!ELSE.# 6de0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f 42 <</mark>>.LIBOB 6df0: 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31 29 0a J =$(LIBOBJS1).
6e00: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49  # <<mark>>.!ENDI
6e10: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
6e20: 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20 65 6d   Determine if em
6e30: 62 65 64 64 65 64 20 72 65 73 6f 75 72 63 65 20  bedded resource
6e40: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20  compilation and
6e50: 75 73 61 67 65 20 61 72 65 20 65 6e 61 62 6c 65  usage are enable
6e60: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52  d..#.!IF $(USE_R 6e70: 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42 4a 53 C)!=0.LIBRESOBJS 6e80: 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e 6c 6f = sqlite3res.lo 6e90: 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f 42 4a .!ELSE.LIBRESOBJ 6ea0: 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c S =.!ENDIF..# << 6eb0: 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20 73 6f mark>>.# Core so 6ec0: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c urce code files, 6ed0: 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 30 part 1..#.SRC00 6ee0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 = \.$(TOP)\sr
6ef0: 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20 24 28  c\alter.c \.  $( 6f00: 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 TOP)\src\analyze 6f10: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
6f20: 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20 20 24  c\attach.c \.  $6f30: 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 (TOP)\src\auth.c 6f40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
6f50: 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54  backup.c \.  $(T 6f60: 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 OP)\src\bitvec.c 6f70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
6f80: 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28  btmutex.c \.  $( 6f90: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 TOP)\src\btree.c 6fa0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
6fb0: 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54 4f  build.c \.  $(TO 6fc0: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e P)\src\callback. 6fd0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
6fe0: 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a 20 20  \complete.c \.
6ff0: 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65  $(TOP)\src\ctime 7000: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
7010: 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54  c\date.c \.  $(T 7020: 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 OP)\src\dbstat.c 7030: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7040: 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54  delete.c \.  $(T 7050: 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 5c OP)\src\expr.c \ 7060: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 .$(TOP)\src\fa
7070: 75 6c 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ult.c \.  $(TOP) 7080: 5c 73 72 63 5c 66 6b 65 79 2e 63 20 5c 0a 20 20 \src\fkey.c \. 7090: 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e$(TOP)\src\func.
70a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 70b0: 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20 20 24 28 \global.c \.$(
70c0: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20  TOP)\src\hash.c
70d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 69  \.  $(TOP)\src\i 70e0: 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f nsert.c \.$(TO
70f0: 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 20  P)\src\legacy.c
7100: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c  \.  $(TOP)\src\l 7110: 6f 61 64 65 78 74 2e 63 20 5c 0a 20 20 24 28 54 oadext.c \.$(T
7120: 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 5c  OP)\src\main.c \
7130: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  .  $(TOP)\src\ma 7140: 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 lloc.c \.$(TOP
7150: 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 5c 0a 20  )\src\mem0.c \.
7160: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31   $(TOP)\src\mem1 7170: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
7180: 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20 20 24 28 54  c\mem2.c \.  $(T 7190: 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 5c OP)\src\mem3.c \ 71a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 .$(TOP)\src\me
71b0: 6d 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  m5.c \.  $(TOP)\ 71c0: 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 src\memjournal.c 71d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
71e0: 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f  mutex.c \.  $(TO 71f0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f P)\src\mutex_noo 7200: 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 p.c \.$(TOP)\s
7210: 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20  rc\mutex_unix.c
7220: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m 7230: 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20 24 utex_w32.c \.$
7240: 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79  (TOP)\src\notify
7250: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 7260: 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 c\os.c \.$(TOP
7270: 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20  )\src\os_unix.c
7280: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o 7290: 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65 20 s_win.c..# Core 72a0: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 source code file 72b0: 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 s, part 2..#.SRC 72c0: 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 01 = \.$(TOP)\
72d0: 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20 20  src\pager.c \.
72e0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach 72f0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.c \.$(TOP)\s
7300: 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a 20  rc\pcache1.c \.
7310: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag 7320: 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ma.c \.$(TOP)\
7330: 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c 0a  src\prepare.c \.
7340: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69    $(TOP)\src\pri 7350: 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ntf.c \.$(TOP)
7360: 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c 0a  \src\random.c \.
7370: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73    $(TOP)\src\res 7380: 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 olve.c \.$(TOP
7390: 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 5c  )\src\rowset.c \
73a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65  .  $(TOP)\src\se 73b0: 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 lect.c \.$(TOP
73c0: 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 5c  )\src\status.c \
73d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61  .  $(TOP)\src\ta 73e0: 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ble.c \.$(TOP)
73f0: 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 5c  \src\threads.c \
7400: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  .  $(TOP)\src\tc 7410: 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28 lsqlite.c \.$(
7420: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a  TOP)\src\tokeniz
7430: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 7440: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c 0a rc\treeview.c \. 7450: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69$(TOP)\src\tri
7460: 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  gger.c \.  $(TOP 7470: 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20 20 )\src\utf.c \. 7480: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74$(TOP)\src\updat
7490: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 74a0: 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 20 24 28 rc\util.c \.$(
74b0: 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e  TOP)\src\vacuum.
74c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 74d0: 5c 76 64 62 65 2e 63 20 5c 0a 20 20 24 28 54 4f \vdbe.c \.$(TO
74e0: 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63  P)\src\vdbeapi.c
74f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7500: 76 64 62 65 61 75 78 2e 63 20 5c 0a 20 20 24 28 vdbeaux.c \.$(
7510: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f  TOP)\src\vdbeblo
7520: 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  b.c \.  $(TOP)\s 7530: 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 5c 0a 20 rc\vdbemem.c \. 7540: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
7550: 73 6f 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sort.c \.  $(TOP 7560: 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e )\src\vdbetrace. 7570: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
7580: 5c 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  \vtab.c \.  $(TO 7590: 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 5c 0a 20 P)\src\wal.c \. 75a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b$(TOP)\src\walk
75b0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\ 75c0: 73 72 63 5c 77 68 65 72 65 2e 63 20 5c 0a 20 20 src\where.c \. 75d0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65$(TOP)\src\where
75e0: 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  code.c \.  $(TOP 75f0: 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e )\src\whereexpr. 7600: 63 0a 0a 23 20 53 68 65 6c 6c 20 73 6f 75 72 63 c..# Shell sourc 7610: 65 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a e code files..#. 7620: 53 52 43 30 32 20 3d 20 5c 0a 20 20 24 28 54 4f SRC02 = \.$(TO
7630: 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 0a 0a  P)\src\shell.c..
7640: 23 20 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e  # Core miscellan
7650: 65 6f 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52  eous files..#.SR
7660: 43 30 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C03 = \.  $(TOP) 7670: 5c 73 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 \src\parse.y..# 7680: 43 6f 72 65 20 68 65 61 64 65 72 20 66 69 6c 65 Core header file 7690: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 s, part 1..#.SRC 76a0: 30 34 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 04 = \.$(TOP)\
76b0: 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20  src\btree.h \.
76c0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree 76d0: 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 Int.h \.$(TOP)
76e0: 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20  \src\hash.h \.
76f0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d  $(TOP)\src\hwtim 7700: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.h \.$(TOP)\s
7710: 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28  rc\msvc.h \.  $( 7720: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 TOP)\src\mutex.h 7730: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7740: 6f 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  os.h \.  $(TOP)\ 7750: 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 src\os_common.h 7760: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f \.$(TOP)\src\o
7770: 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 24 28  s_setup.h \.  $( 7780: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e TOP)\src\os_win. 7790: 68 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 h..# Core header 77a0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a files, part 2.. 77b0: 23 0a 53 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 #.SRC05 = \.$(
77c0: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68  TOP)\src\pager.h
77d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 77e0: 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 pcache.h \.$(T
77f0: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68  OP)\src\pragma.h
7800: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7810: 73 71 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 sqlite.h.in \. 7820: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74$(TOP)\src\sqlit
7830: 65 33 65 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f  e3ext.h \.  $(TO 7840: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 P)\src\sqliteInt 7850: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .h \.$(TOP)\sr
7860: 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20  c\sqliteLimit.h
7870: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v 7880: 64 62 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 dbe.h \.$(TOP)
7890: 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c  \src\vdbeInt.h \
78a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78  .  $(TOP)\src\vx 78b0: 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f works.h \.$(TO
78c0: 50 29 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20  P)\src\wal.h \.
78d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher 78e0: 65 49 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 eInt.h..# Extens 78f0: 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 ion source code 7900: 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 files, part 1..# 7910: 0a 53 52 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 .SRC06 = \.$(T
7920: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
7930: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.c \.  $(TOP)\e 7940: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 xt\fts1\fts1_has 7950: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 h.c \.$(TOP)\e
7960: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f 72  xt\fts1\fts1_por
7970: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ter.c \.  $(TOP) 7980: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 \ext\fts1\fts1_t 7990: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 okenizer1.c \. 79a0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
79b0: 66 74 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50  fts2.c \.  $(TOP 79c0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f )\ext\fts2\fts2_ 79d0: 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 hash.c \.$(TOP
79e0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
79f0: 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  icu.c \.  $(TOP) 7a00: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 \ext\fts2\fts2_p 7a10: 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f orter.c \.$(TO
7a20: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
7a30: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20  _tokenizer.c \.
7a40: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 7a50: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 \fts2_tokenizer1 7a60: 2e 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 .c..# Extension 7a70: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 source code file 7a80: 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 s, part 2..#.SRC 7a90: 30 37 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 07 = \.$(TOP)\
7aa0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20  ext\fts3\fts3.c
7ab0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 7ac0: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c ts3\fts3_aux.c \ 7ad0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
7ae0: 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 5c  s3\fts3_expr.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 68 61 73 68 2e 63 20 5c s3\fts3_hash.c \ 7b10: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
7b20: 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a  s3\fts3_icu.c \.
7b30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 7b40: 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 3\fts3_porter.c 7b50: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
7b60: 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74  ts3\fts3_snippet
7b70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 7b80: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 t\fts3\fts3_toke 7b90: 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f nizer.c \.$(TO
7ba0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
7bb0: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a  _tokenizer1.c \.
7bc0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 7bd0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 3\fts3_tokenize_ 7be0: 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 vtab.c \.$(TOP
7bf0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
7c00: 75 6e 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28  unicode.c \.  $( 7c10: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 7c20: 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a s3_unicode2.c \. 7c30: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
7c40: 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 5c  3\fts3_write.c \
7c50: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63  .  $(TOP)\ext\ic 7c60: 75 5c 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f u\icu.c \.$(TO
7c70: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72  P)\ext\rtree\rtr
7c80: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ee.c \.  $(TOP)\ 7c90: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 ext\session\sqli 7ca0: 74 65 33 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 te3session.c \. 7cb0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c$(TOP)\ext\rbu\
7cc0: 73 71 6c 69 74 65 33 72 62 75 2e 63 20 5c 0a 20  sqlite3rbu.c \.
7cd0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 7ce0: 5c 6a 73 6f 6e 31 2e 63 0a 0a 23 20 45 78 74 65 \json1.c..# Exte 7cf0: 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c nsion header fil 7d00: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 es, part 1..#.SR 7d10: 43 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 C08 = \.$(TOP)
7d20: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68  \ext\fts1\fts1.h
7d30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 7d40: 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 fts1\fts1_hash.h 7d50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
7d60: 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69  fts1\fts1_tokeni
7d70: 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  zer.h \.  $(TOP) 7d80: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 \ext\fts2\fts2.h 7d90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
7da0: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68  fts2\fts2_hash.h
7db0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 7dc0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 fts2\fts2_tokeni 7dd0: 7a 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 zer.h..# Extensi 7de0: 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c on header files, 7df0: 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 39 part 2..#.SRC09 7e00: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 = \.$(TOP)\ex
7e10: 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a  t\fts3\fts3.h \.
7e20: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 7e30: 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 3\fts3Int.h \. 7e40: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
7e50: 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20  fts3_hash.h \.
7e60: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 7e70: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 fts3_tokenizer.h 7e80: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
7e90: 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 20  icu\sqliteicu.h
7ea0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r 7eb0: 74 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 tree\rtree.h \. 7ec0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c$(TOP)\ext\rbu\
7ed0: 73 71 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20  sqlite3rbu.h \.
7ee0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess 7ef0: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 ion\sqlite3sessi 7f00: 6f 6e 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 on.h..# Generate 7f10: 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 d source code fi 7f20: 6c 65 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a les.#.SRC10 = \. 7f30: 20 20 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 opcodes.c \. 7f40: 70 61 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 parse.c..# Gener 7f50: 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 ated header file 7f60: 73 0a 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 s.#.SRC11 = \. 7f70: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a keywordhash.h \. 7f80: 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 opcodes.h \. 7f90: 70 61 72 73 65 2e 68 20 5c 0a 20 20 24 28 53 51 parse.h \.$(SQ
7fa0: 4c 49 54 45 33 48 29 0a 0a 23 20 41 6c 6c 20 73  LITE3H)..# All s
7fb0: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73  ource code files
7fc0: 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 43 30  ..#.SRC = $(SRC0 7fd0: 30 29 20 24 28 53 52 43 30 31 29 20 24 28 53 52 0)$(SRC01) $(SR 7fe0: 43 30 32 29 20 24 28 53 52 43 30 33 29 20 24 28 C02)$(SRC03) $( 7ff0: 53 52 43 30 34 29 20 24 28 53 52 43 30 35 29 20 SRC04)$(SRC05)
8000: 24 28 53 52 43 30 36 29 20 24 28 53 52 43 30 37  $(SRC06)$(SRC07
8010: 29 20 24 28 53 52 43 30 38 29 20 24 28 53 52 43  ) $(SRC08)$(SRC
8020: 30 39 29 20 24 28 53 52 43 31 30 29 20 24 28 53  09) $(SRC10)$(S
8030: 52 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 20  RC11)..# Source
8040: 63 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74  code to the test
8050: 20 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52   files..#.TESTSR
8060: 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  C = \.  $(TOP)\s 8070: 72 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24 rc\test1.c \.$
8080: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e  (TOP)\src\test2.
8090: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 80a0: 5c 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28 54 \test3.c \.$(T
80b0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20  OP)\src\test4.c
80c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 80d0: 65 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 est5.c \.$(TOP
80e0: 29 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a  )\src\test6.c \.
80f0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 8100: 74 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c t7.c \.$(TOP)\
8110: 73 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20  src\test8.c \.
8120: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39  $(TOP)\src\test9 8130: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8140: 63 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e 63  c\test_autoext.c
8150: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8160: 74 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20 test_async.c \. 8170: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
8180: 5f 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28  _backup.c \.  $( 8190: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 65 TOP)\src\test_be 81a0: 73 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 stindex.c \.$(
81b0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 6c  TOP)\src\test_bl
81c0: 6f 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ob.c \.  $(TOP)\ 81d0: 73 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e 63 src\test_btree.c 81e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
81f0: 74 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a  test_config.c \.
8200: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 8210: 74 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 t_demovfs.c \. 8220: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
8230: 64 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54  devsym.c \.  $(T 8240: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e OP)\src\test_fs. 8250: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8260: 5c 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20  \test_func.c \.
8270: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 8280: 5f 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 _hexio.c \.$(T
8290: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69  OP)\src\test_ini
82a0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s 82b0: 72 63 5c 74 65 73 74 5f 69 6e 74 61 72 72 61 79 rc\test_intarray 82c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
82d0: 63 5c 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63  c\test_journal.c
82e0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 82f0: 74 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a test_malloc.c \. 8300: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
8310: 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c 0a  t_multiplex.c \.
8320: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 8330: 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 t_mutex.c \.$(
8340: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 6e  TOP)\src\test_on
8350: 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f  efile.c \.  $(TO 8360: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69 6e P)\src\test_osin 8370: 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c st.c \.$(TOP)\
8380: 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 2e  src\test_pcache.
8390: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 83a0: 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c 0a \test_quota.c \. 83b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
83c0: 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  t_rtree.c \.  $( 83d0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 63 TOP)\src\test_sc 83e0: 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 hema.c \.$(TOP
83f0: 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 65  )\src\test_serve
8400: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s 8410: 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f 63 rc\test_superloc 8420: 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 k.c \.$(TOP)\s
8430: 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c 2e  rc\test_syscall.
8440: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8450: 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e 63 20 5c \test_tclvar.c \ 8460: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
8470: 73 74 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20 20  st_thread.c \.
8480: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 8490: 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 vfs.c \.$(TOP)
84a0: 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72  \src\test_windir
84b0: 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ent.c \.  $(TOP) 84c0: 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 \src\test_wsd.c 84d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
84e0: 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20  ts3\fts3_term.c
84f0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 8500: 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 ts3\fts3_test.c 8510: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 \.$(TOP)\ext\r
8520: 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a  bu\test_rbu.c \.
8530: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73    $(TOP)\ext\ses 8540: 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f sion\test_sessio 8550: 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c n.c..# Staticall 8560: 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 y linked extensi 8570: 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d ons..#.TESTEXT = 8580: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8590: 6d 69 73 63 5c 61 6d 61 74 63 68 2e 63 20 5c 0a  misc\amatch.c \.
85a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73    $(TOP)\ext\mis 85b0: 63 5c 63 6c 6f 73 75 72 65 2e 63 20 5c 0a 20 20 c\closure.c \. 85c0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
85d0: 65 76 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  eval.c \.  $(TOP 85e0: 29 5c 65 78 74 5c 6d 69 73 63 5c 66 69 6c 65 69 )\ext\misc\filei 85f0: 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 o.c \.$(TOP)\e
8600: 78 74 5c 6d 69 73 63 5c 66 75 7a 7a 65 72 2e 63  xt\misc\fuzzer.c
8610: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8620: 66 74 73 35 5c 66 74 73 35 5f 74 63 6c 2e 63 20 fts5\fts5_tcl.c 8630: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
8640: 74 73 35 5c 66 74 73 35 5f 74 65 73 74 5f 6d 69  ts5\fts5_test_mi
8650: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 8660: 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 65 73 74 t\fts5\fts5_test 8670: 5f 74 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 _tok.c \.$(TOP
8680: 29 5c 65 78 74 5c 6d 69 73 63 5c 69 65 65 65 37  )\ext\misc\ieee7
8690: 35 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  54.c \.  $(TOP)\ 86a0: 65 78 74 5c 6d 69 73 63 5c 6e 65 78 74 63 68 61 ext\misc\nextcha 86b0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 r.c \.$(TOP)\e
86c0: 78 74 5c 6d 69 73 63 5c 70 65 72 63 65 6e 74 69  xt\misc\percenti
86d0: 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  le.c \.  $(TOP)\ 86e0: 65 78 74 5c 6d 69 73 63 5c 72 65 67 65 78 70 2e ext\misc\regexp. 86f0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
8700: 5c 6d 69 73 63 5c 73 65 72 69 65 73 2e 63 20 5c  \misc\series.c \
8710: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi 8720: 73 63 5c 73 70 65 6c 6c 66 69 78 2e 63 20 5c 0a sc\spellfix.c \. 8730: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73$(TOP)\ext\mis
8740: 63 5c 74 6f 74 79 70 65 2e 63 20 5c 0a 20 20 24  c\totype.c \.  $8750: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 77 (TOP)\ext\misc\w 8760: 68 6f 6c 65 6e 75 6d 62 65 72 2e 63 0a 0a 23 20 holenumber.c..# 8770: 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f 20 74 Source code to t 8780: 68 65 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 he library files 8790: 20 6e 65 65 64 65 64 20 62 79 20 74 68 65 20 74 needed by the t 87a0: 65 73 74 20 66 69 78 74 75 72 65 0a 23 20 28 6e est fixture.# (n 87b0: 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 on-amalgamation) 87c0: 0a 23 0a 54 45 53 54 53 52 43 32 20 3d 20 5c 0a .#.TESTSRC2 = \. 87d0: 20 20 24 28 53 52 43 30 30 29 20 5c 0a 20 20 24$(SRC00) \.  $87e0: 28 53 52 43 30 31 29 20 5c 0a 20 20 24 28 53 52 (SRC01) \.$(SR
87f0: 43 30 36 29 20 5c 0a 20 20 24 28 53 52 43 30 37  C06) \.  $(SRC07 8800: 29 20 5c 0a 20 20 24 28 53 52 43 31 30 29 20 5c ) \.$(SRC10) \
8810: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 61 73  .  $(TOP)\ext\as 8820: 79 6e 63 5c 73 71 6c 69 74 65 33 61 73 79 6e 63 ync\sqlite3async 8830: 2e 63 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c .c..# Header fil 8840: 65 73 20 75 73 65 64 20 62 79 20 61 6c 6c 20 6c es used by all l 8850: 69 62 72 61 72 79 20 73 6f 75 72 63 65 20 66 69 ibrary source fi 8860: 6c 65 73 2e 0a 23 0a 48 44 52 20 3d 20 5c 0a 20 les..#.HDR = \. 8870: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72$(TOP)\src\btr
8880: 65 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  ee.h \.   $(TOP) 8890: 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e 68 20 \src\btreeInt.h 88a0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
88b0: 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f  hash.h \.   $(TO 88c0: 50 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68 20 P)\src\hwtime.h 88d0: 5c 0a 20 20 20 6b 65 79 77 6f 72 64 68 61 73 68 \. keywordhash 88e0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 .h \.$(TOP)\s
88f0: 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 20 24  rc\msvc.h \.   $8900: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e (TOP)\src\mutex. 8910: 68 20 5c 0a 20 20 20 6f 70 63 6f 64 65 73 2e 68 h \. opcodes.h 8920: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 \.$(TOP)\src
8930: 5c 6f 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  \os.h \.   $(TOP 8940: 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e )\src\os_common. 8950: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 h \.$(TOP)\sr
8960: 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20  c\os_setup.h \.
8970: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f    $(TOP)\src\os_ 8980: 77 69 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 win.h \.$(TOP
8990: 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20 5c 0a  )\src\pager.h \.
89a0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63     $(TOP)\src\pc 89b0: 61 63 68 65 2e 68 20 5c 0a 20 20 20 70 61 72 73 ache.h \. pars 89c0: 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c e.h \.$(TOP)\
89d0: 73 72 63 5c 70 72 61 67 6d 61 2e 68 20 5c 0a 20  src\pragma.h \.
89e0: 20 20 24 28 53 51 4c 49 54 45 33 48 29 20 5c 0a    $(SQLITE3H) \. 89f0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71$(TOP)\src\sq
8a00: 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20 20 20  lite3ext.h \.
8a10: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit 8a20: 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f eInt.h \.$(TO
8a30: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d  P)\src\sqliteLim
8a40: 69 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  it.h \.   $(TOP) 8a50: 5c 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 \src\vdbe.h \. 8a60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
8a70: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  Int.h \.   $(TOP 8a80: 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 )\src\vxworks.h 8a90: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8aa0: 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 48 65  whereInt.h..# He
8ab0: 61 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20  ader files used
8ac0: 62 79 20 65 78 74 65 6e 73 69 6f 6e 73 0a 23 0a  by extensions.#.
8ad0: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD 8ae0: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 R) \.$(TOP)\ex
8af0: 74 5c 66 74 73 31 5c 66 74 73 31 2e 68 20 5c 0a  t\fts1\fts1.h \.
8b00: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 8b10: 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 20 5c 0a 1\fts1_hash.h \. 8b20: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
8b30: 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72  1\fts1_tokenizer
8b40: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX 8b50: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 THDR) \.$(TOP)
8b60: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68  \ext\fts2\fts2.h
8b70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8b80: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 fts2\fts2_hash.h 8b90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8ba0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2\fts2_tokeni
8bb0: 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24  zer.h.EXTHDR = $8bc0: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 (EXTHDR) \.$(T
8bd0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
8be0: 33 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  3.h \.  $(TOP)\e 8bf0: 78 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74 2e xt\fts3\fts3Int. 8c00: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 h \.$(TOP)\ext
8c10: 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e  \fts3\fts3_hash.
8c20: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext 8c30: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e \fts3\fts3_token 8c40: 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 izer.h.EXTHDR = 8c50: 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28$(EXTHDR) \.  $( 8c60: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 TOP)\ext\rtree\r 8c70: 74 72 65 65 2e 68 0a 45 58 54 48 44 52 20 3d 20 tree.h.EXTHDR = 8c80: 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28$(EXTHDR) \.  $( 8c90: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71 6c TOP)\ext\icu\sql 8ca0: 69 74 65 69 63 75 2e 68 0a 45 58 54 48 44 52 20 iteicu.h.EXTHDR 8cb0: 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 =$(EXTHDR) \.
8cc0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65  $(TOP)\ext\rtree 8cd0: 5c 73 71 6c 69 74 65 33 72 74 72 65 65 2e 68 0a \sqlite3rtree.h. 8ce0: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 EXTHDR =$(EXTHD
8cf0: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  R) \.  $(TOP)\ex 8d00: 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 t\session\sqlite 8d10: 33 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 65 78 3session.h..# ex 8d20: 65 63 75 74 61 62 6c 65 73 20 6e 65 65 64 65 64 ecutables needed 8d30: 20 66 6f 72 20 74 65 73 74 69 6e 67 0a 23 0a 54 for testing.#.T 8d40: 45 53 54 50 52 4f 47 53 20 3d 20 5c 0a 20 20 74 ESTPROGS = \. t 8d50: 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 5c estfixture.exe \ 8d60: 0a 20 20 24 28 53 51 4c 49 54 45 33 45 58 45 29 .$(SQLITE3EXE)
8d70: 20 5c 0a 20 20 73 71 6c 69 74 65 33 5f 61 6e 61   \.  sqlite3_ana
8d80: 6c 79 7a 65 72 2e 65 78 65 20 5c 0a 20 20 73 71  lyzer.exe \.  sq
8d90: 6c 64 69 66 66 2e 65 78 65 0a 0a 23 20 44 61 74  ldiff.exe..# Dat
8da0: 61 62 61 73 65 73 20 63 6f 6e 74 61 69 6e 69 6e  abases containin
8db0: 67 20 66 75 7a 7a 65 72 20 74 65 73 74 20 63 61  g fuzzer test ca
8dc0: 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54 41 20 3d  ses.#.FUZZDATA =
8dd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test 8de0: 5c 66 75 7a 7a 64 61 74 61 31 2e 64 62 20 5c 0a \fuzzdata1.db \. 8df0: 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75$(TOP)\test\fu
8e00: 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a 20 20 24  zzdata2.db \.  $8e10: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 (TOP)\test\fuzzd 8e20: 61 74 61 33 2e 64 62 20 5c 0a 20 20 24 28 54 4f ata3.db \.$(TO
8e30: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61  P)\test\fuzzdata
8e40: 34 2e 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  4.db.# <</mark>>
8e50: 0a 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 63  ..# Additional c
8e60: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options
8e70: 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 2e 20 20  for the shell.
8e80: 54 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65  These are only e
8e90: 66 66 65 63 74 69 76 65 0a 23 20 77 68 65 6e 20  ffective.# when
8ea0: 74 68 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74  the shell is not
8eb0: 20 62 65 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c   being dynamical
8ec0: 6c 79 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46  ly linked..#.!IF
8ed0: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL 8ee0: 29 3d 3d 30 20 26 26 20 24 28 46 4f 52 5f 57 49 )==0 &&$(FOR_WI
8ef0: 4e 31 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f  N10)==0.SHELL_CO
8f00: 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53  MPILE_OPTS = $(S 8f10: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 HELL_COMPILE_OPT 8f20: 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 48 45 4c S) -DSQLITE_SHEL 8f30: 4c 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 L_JSON1 -DSQLITE 8f40: 5f 45 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 53 _ENABLE_FTS4 -DS 8f50: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58 50 QLITE_ENABLE_EXP 8f60: 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 0a 21 45 LAIN_COMMENTS.!E 8f70: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e NDIF..# <<mark>> 8f80: 0a 23 20 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 .# Extra compile 8f90: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 r options for va 8fa0: 72 69 6f 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 rious test tools 8fb0: 2e 0a 23 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d ..#.MPTESTER_COM 8fc0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 PILE_OPTS = -DSQ 8fd0: 4c 49 54 45 5f 53 48 45 4c 4c 5f 4a 53 4f 4e 31 LITE_SHELL_JSON1 8fe0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 8ff0: 5f 46 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c _FTS5.FUZZERSHEL 9000: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d L_COMPILE_OPTS = 9010: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 9020: 5f 4a 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b _JSON1.FUZZCHECK 9030: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 _COMPILE_OPTS = 9040: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 9050: 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 JSON1 -DSQLITE_E 9060: 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 35 0a 0a 23 NABLE_MEMSYS5..# 9070: 20 53 74 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e Standard option 9080: 73 20 74 6f 20 74 65 73 74 66 69 78 74 75 72 65 s to testfixture 9090: 2e 0a 23 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d ..#.TESTOPTS = - 90a0: 2d 76 65 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d -verbose=file -- 90b0: 6f 75 74 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e output=test-out. 90c0: 74 78 74 0a 0a 23 20 45 78 74 72 61 20 74 61 72 txt..# Extra tar 90d0: 67 65 74 73 20 66 6f 72 20 74 68 65 20 22 61 6c gets for the "al 90e0: 6c 22 20 74 61 72 67 65 74 20 74 68 61 74 20 72 l" target that r 90f0: 65 71 75 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49 equire Tcl..#.!I 9100: 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 F$(NO_TCL)==0.A
9110: 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d  LL_TCL_TARGETS =
9120: 20 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c   libtclsqlite3.l
9130: 69 62 0a 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c  ib.!ELSE.ALL_TCL
9140: 5f 54 41 52 47 45 54 53 20 3d 0a 21 45 4e 44 49  _TARGETS =.!ENDI
9150: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
9160: 20 54 68 69 73 20 69 73 20 74 68 65 20 64 65 66   This is the def
9170: 61 75 6c 74 20 4d 61 6b 65 66 69 6c 65 20 74 61  ault Makefile ta
9180: 72 67 65 74 2e 20 20 54 68 65 20 6f 62 6a 65 63  rget.  The objec
9190: 74 73 20 6c 69 73 74 65 64 20 68 65 72 65 0a 23  ts listed here.#
91a0: 20 61 72 65 20 77 68 61 74 20 67 65 74 20 62 75   are what get bu
91b0: 69 6c 64 20 77 68 65 6e 20 79 6f 75 20 74 79 70  ild when you typ
91c0: 65 20 6a 75 73 74 20 22 6d 61 6b 65 22 20 77 69  e just "make" wi
91d0: 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e  th no arguments.
91e0: 0a 23 0a 61 6c 6c 3a 09 64 6c 6c 20 6c 69 62 73  .#.all:.dll libs
91f0: 71 6c 69 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c  qlite3.lib shell
9200: 20 24 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45   $(ALL_TCL_TARGE 9210: 54 53 29 0a 0a 23 20 44 79 6e 61 6d 69 63 20 6c TS)..# Dynamic l 9220: 69 6e 6b 20 6c 69 62 72 61 72 79 20 73 65 63 74 ink library sect 9230: 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 09 24 28 53 51 ion..#.dll:.$(SQ
9240: 4c 49 54 45 33 44 4c 4c 29 0a 0a 23 20 53 68 65  LITE3DLL)..# She
9250: 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23  ll executable..#
9260: 0a 73 68 65 6c 6c 3a 09 24 28 53 51 4c 49 54 45  .shell:.$(SQLITE 9270: 33 45 58 45 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3EXE)..# <<mark> 9280: 3e 0a 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 >.libsqlite3.lib 9290: 3a 09 24 28 4c 49 42 4f 42 4a 29 0a 09 24 28 4c :.$(LIBOBJ)..$(L 92a0: 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 TLIB)$(LTLIBOPT
92b0: 53 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42  S) /OUT:$@$(LIB
92c0: 4f 42 4a 29 20 24 28 54 4c 49 42 53 29 0a 0a 6c  OBJ) $(TLIBS)..l 92d0: 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 ibtclsqlite3.lib 92e0: 3a 09 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c :.tclsqlite.lo l 92f0: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 24 ibsqlite3.lib..$
9300: 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f  (LTLIB) $(LTLIBO 9310: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 PTS)$(LTLIBPATH
9320: 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71  S) /OUT:$@ tclsq 9330: 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 lite.lo libsqlit 9340: 65 33 2e 6c 69 62 20 24 28 4c 49 42 54 43 4c 53 e3.lib$(LIBTCLS
9350: 54 55 42 29 20 24 28 54 4c 49 42 53 29 0a 23 20  TUB) $(TLIBS).# 9360: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53 51 4c <</mark>>..$(SQL
9370: 49 54 45 33 44 4c 4c 29 3a 09 24 28 4c 49 42 4f  ITE3DLL):.$(LIBO 9380: 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 BJ)$(LIBRESOBJS
9390: 29 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45  ) $(CORE_LINK_DE 93a0: 50 29 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c P)..$(LD) $(LDFL 93b0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 AGS)$(LTLINKOPT
93c0: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS) 93d0: 20 2f 44 4c 4c 20 24 28 43 4f 52 45 5f 4c 49 4e /DLL$(CORE_LIN
93e0: 4b 5f 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20  K_OPTS) /OUT:$@ 93f0: 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52$(LIBOBJ) $(LIBR 9400: 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 ESOBJS)$(LTLIBS
9410: 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c  ) $(TLIBS)..# << 9420: 62 6c 6f 63 6b 32 3e 3e 0a 73 71 6c 69 74 65 33 block2>>.sqlite3 9430: 2e 64 65 66 3a 09 6c 69 62 73 71 6c 69 74 65 33 .def:.libsqlite3 9440: 2e 6c 69 62 0a 09 65 63 68 6f 20 45 58 50 4f 52 .lib..echo EXPOR 9450: 54 53 20 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 TS > sqlite3.def 9460: 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 6c ..dumpbin /all l 9470: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 5c 0a ibsqlite3.lib \. 9480: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
9490: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep 94a0: 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64 65 lace.tcl include 94b0: 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c 69 74 "^\s+1 _?(sqlit 94c0: 65 33 5f 5b 5e 40 5d 2a 29 28 3f 3a 40 5c 64 2b e3_[^@]*)(?:@\d+ 94d0: 29 3f 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 73 )?$$" \1 \...| s 94e0: 6f 72 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e 64 ort >> sqlite3.d 94f0: 65 66 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 32 3e 3e ef.# <</block2>> 9500: 0a 0a 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a ..$(SQLITE3EXE):
9510: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c  .$(TOP)\src\shel 9520: 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 l.c$(SHELL_CORE
9530: 5f 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42  _DEP) $(LIBRESOB 9540: 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 JS)$(SHELL_CORE
9550: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 48  _SRC) $(SQLITE3H 9560: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 )..$(LTLINK) $(S 9570: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 HELL_COMPILE_OPT 9580: 53 29 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c S)$(READLINE_FL
9590: 41 47 53 29 20 24 28 54 4f 50 29 5c 73 72 63 5c  AGS) $(TOP)\src\ 95a0: 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f shell.c$(SHELL_
95b0: 43 4f 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c  CORE_SRC) \.../l
95c0: 69 6e 6b 20 24 28 53 51 4c 49 54 45 33 45 58 45  ink $(SQLITE3EXE 95d0: 50 44 42 29 20 24 28 4c 44 46 4c 41 47 53 29 20 PDB)$(LDFLAGS)
95e0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  $(LTLINKOPTS)$(
95f0: 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29  SHELL_LINK_OPTS)
9600: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24   $(LTLIBPATHS)$
9610: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c  (LIBRESOBJS) $(L 9620: 49 42 52 45 41 44 4c 49 4e 45 29 20 24 28 4c 54 IBREADLINE)$(LT
9630: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS).. 9640: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69 # <<mark>>.sqldi 9650: 66 66 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 ff.exe:.$(TOP)\t
9660: 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28  ool\sqldiff.c $( 9670: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 SQLITE3C)$(SQLI
9680: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3H)..$(LTLINK) 9690: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f$(NO_WARN) $(TO 96a0: 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e P)\tool\sqldiff. 96b0: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c c$(SQLITE3C) /l
96c0: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
96d0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 63  (LTLINKOPTS)..sc
96e0: 72 75 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  rub.exe:.$(TOP)\ 96f0: 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63 ext\misc\scrub.c 9700: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S 9710: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
9720: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24  NK) $(NO_WARN)$
9730: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73  (TOP)\ext\misc\s
9740: 63 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33  crub.c $(SQLITE3 9750: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
9760: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS 9770: 29 0a 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 )..srcck1.exe:.$
9780: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b  (TOP)\tool\srcck
9790: 31 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f  1.c..$(BCC)$(NO
97a0: 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54  _WARN) -Fe$@$(T
97b0: 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e  OP)\tool\srcck1.
97c0: 63 0a 0a 73 6f 75 72 63 65 74 65 73 74 3a 09 73  c..sourcetest:.s
97d0: 72 63 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 65  rcck1.exe sqlite
97e0: 33 2e 63 0a 09 73 72 63 63 6b 31 2e 65 78 65 20  3.c..srcck1.exe
97f0: 73 71 6c 69 74 65 33 2e 63 0a 0a 66 75 7a 7a 65  sqlite3.c..fuzze
9800: 72 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 4f  rshell.exe:.$(TO 9810: 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 P)\tool\fuzzersh 9820: 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 ell.c$(SQLITE3C
9830: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
9840: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA 9850: 52 4e 29 20 24 28 46 55 5a 5a 45 52 53 48 45 4c RN)$(FUZZERSHEL
9860: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  L_COMPILE_OPTS)
9870: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a  $(TOP)\tool\fuzz 9880: 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 ershell.c$(SQLI
9890: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD 98a0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
98b0: 50 54 53 29 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e  PTS)..fuzzcheck.
98c0: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74  exe:.$(TOP)\test 98d0: 5c 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 53 \fuzzcheck.c$(S
98e0: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT 98f0: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 E3H)..$(LTLINK)
9900: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a  $(NO_WARN)$(FUZ
9910: 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f  ZCHECK_COMPILE_O
9920: 50 54 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74  PTS) $(TOP)\test 9930: 5c 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 53 \fuzzcheck.c$(S
9940: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $9950: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
9960: 4e 4b 4f 50 54 53 29 0a 0a 6d 70 74 65 73 74 65  NKOPTS)..mpteste
9970: 72 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d 70  r.exe:.$(TOP)\mp 9980: 74 65 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 test\mptest.c$(
9990: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI 99a0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 TE3H)..$(LTLINK)
99b0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d 50   $(NO_WARN)$(MP
99c0: 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f  TESTER_COMPILE_O
99d0: 50 54 53 29 20 24 28 54 4f 50 29 5c 6d 70 74 65  PTS) $(TOP)\mpte 99e0: 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51 st\mptest.c$(SQ
99f0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 9a00: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
9a10: 4b 4f 50 54 53 29 0a 0a 4d 50 54 45 53 54 31 20  KOPTS)..MPTEST1
9a20: 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73  = mptester mptes
9a30: 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65  t.db $(TOP)\mpte 9a40: 73 74 5c 63 72 61 73 68 30 31 2e 74 65 73 74 20 st\crash01.test 9a50: 2d 2d 72 65 70 65 61 74 20 32 30 0a 4d 50 54 45 --repeat 20.MPTE 9a60: 53 54 32 20 3d 20 6d 70 74 65 73 74 65 72 20 6d ST2 = mptester m 9a70: 70 74 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c ptest.db$(TOP)\
9a80: 6d 70 74 65 73 74 5c 6d 75 6c 74 69 77 72 69 74  mptest\multiwrit
9a90: 65 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61  e01.test --repea
9aa0: 74 20 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d 70  t 20..mptest:.mp
9ab0: 74 65 73 74 65 72 2e 65 78 65 0a 09 64 65 6c 20  tester.exe..del
9ac0: 2f 51 20 6d 70 74 65 73 74 2e 64 62 20 32 3e 4e  /Q mptest.db 2>N
9ad0: 55 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  UL..$(MPTEST1) - 9ae0: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c -journalmode DEL 9af0: 45 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 ETE..$(MPTEST2)
9b00: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41  --journalmode WA
9b10: 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d  L..$(MPTEST1) -- 9b20: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a journalmode WAL. 9b30: 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f .$(MPTEST2) --jo
9b40: 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53  urnalmode PERSIS
9b50: 54 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d  T..$(MPTEST1) -- 9b60: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 journalmode PERS 9b70: 49 53 54 0a 09 24 28 4d 50 54 45 53 54 32 29 20 IST..$(MPTEST2)
9b80: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52  --journalmode TR
9b90: 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53 54  UNCATE..$(MPTEST 9ba0: 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 1) --journalmode 9bb0: 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 TRUNCATE..$(MPT
9bc0: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
9bd0: 6f 64 65 20 44 45 4c 45 54 45 0a 0a 23 20 54 68  ode DELETE..# Th
9be0: 69 73 20 74 61 72 67 65 74 20 63 72 65 61 74 65  is target create
9bf0: 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61  s a directory na
9c00: 6d 65 64 20 22 74 73 72 63 22 20 61 6e 64 20 66  med "tsrc" and f
9c10: 69 6c 6c 73 20 69 74 20 77 69 74 68 0a 23 20 63  ills it with.# c
9c20: 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66 20  opies of all of
9c30: 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64  the C source cod
9c40: 65 20 61 6e 64 20 68 65 61 64 65 72 20 66 69 6c  e and header fil
9c50: 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 23 20 62  es needed to.# b
9c60: 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 61 72 67  uild on the targ
9c70: 65 74 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d 65  et system.  Some
9c80: 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63 65   of the C source
9c90: 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72   code and header
9ca0: 0a 23 20 66 69 6c 65 73 20 61 72 65 20 61 75 74  .# files are aut
9cb0: 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72  omatically gener
9cc0: 61 74 65 64 2e 20 20 54 68 69 73 20 74 61 72 67  ated.  This targ
9cd0: 65 74 20 74 61 6b 65 73 20 63 61 72 65 20 6f 66  et takes care of
9ce0: 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 75 74 6f  .# all that auto
9cf0: 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e  matic generation
9d00: 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75 72  ..#..target_sour
9d10: 63 65 3a 09 24 28 53 52 43 29 20 24 28 54 4f 50  ce:.$(SRC)$(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 66 74 73 35 2e 63 0a  ress.tcl fts5.c.
9d40: 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72  .-rmdir /Q/S tsr
9d50: 63 20 32 3e 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20  c 2>NUL..-mkdir
9d60: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20  tsrc..for %i in
9d70: 28 24 28 53 52 43 30 30 29 29 20 64 6f 20 63 6f  ($(SRC00)) do co 9d80: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 py /Y %i tsrc..f 9d90: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 or %i in ($(SRC0
9da0: 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  1)) do copy /Y %
9db0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
9dc0: 6e 20 28 24 28 53 52 43 30 32 29 29 20 64 6f 20  n ($(SRC02)) do 9dd0: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a copy /Y %i tsrc. 9de0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 .for %i in ($(SR
9df0: 43 30 33 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C03)) do copy /Y
9e00: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
9e10: 20 69 6e 20 28 24 28 53 52 43 30 34 29 29 20 64   in ($(SRC04)) d 9e20: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 o copy /Y %i tsr 9e30: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 c..for %i in ($(
9e40: 53 52 43 30 35 29 29 20 64 6f 20 63 6f 70 79 20  SRC05)) do copy
9e50: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for
9e60: 25 69 20 69 6e 20 28 24 28 53 52 43 30 36 29 29  %i in ($(SRC06)) 9e70: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 do copy /Y %i t 9e80: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 src..for %i in ( 9e90: 24 28 53 52 43 30 37 29 29 20 64 6f 20 63 6f 70$(SRC07)) do cop
9ea0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
9eb0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 38  r %i in ($(SRC08 9ec0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 )) do copy /Y %i 9ed0: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e tsrc..for %i in 9ee0: 20 28 24 28 53 52 43 30 39 29 29 20 64 6f 20 63 ($(SRC09)) do c
9ef0: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
9f00: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC 9f10: 31 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 10)) do copy /Y 9f20: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 %i tsrc..for %i 9f30: 69 6e 20 28 24 28 53 52 43 31 31 29 29 20 64 6f in ($(SRC11)) do
9f40: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
9f50: 0a 09 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 63  ..copy /Y fts5.c
9f60: 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66   tsrc..copy /Y f
9f70: 74 73 35 2e 68 20 74 73 72 63 0a 09 64 65 6c 20  ts5.h tsrc..del
9f80: 2f 51 20 74 73 72 63 5c 73 71 6c 69 74 65 2e 68  /Q tsrc\sqlite.h
9f90: 2e 69 6e 20 74 73 72 63 5c 70 61 72 73 65 2e 79  .in tsrc\parse.y
9fa0: 20 32 3e 4e 55 4c 0a 09 24 28 54 43 4c 53 48 5f   2>NUL..$(TCLSH_ 9fb0: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c CMD)$(TOP)\tool
9fc0: 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74  \vdbe-compress.t
9fd0: 63 6c 20 24 28 4f 50 54 53 29 20 3c 20 74 73 72  cl $(OPTS) < tsr 9fe0: 63 5c 76 64 62 65 2e 63 20 3e 20 76 64 62 65 2e c\vdbe.c > vdbe. 9ff0: 6e 65 77 0a 09 6d 6f 76 65 20 76 64 62 65 2e 6e new..move vdbe.n a000: 65 77 20 74 73 72 63 5c 76 64 62 65 2e 63 0a 09 ew tsrc\vdbe.c.. a010: 65 63 68 6f 20 3e 20 2e 74 61 72 67 65 74 5f 73 echo > .target_s a020: 6f 75 72 63 65 0a 0a 73 71 6c 69 74 65 33 2e 63 ource..sqlite3.c a030: 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 :..target_source a040: 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 24 28 sqlite3ext.h$(
a050: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69  TOP)\tool\mksqli
a060: 74 65 33 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53  te3c.tcl..$(TCLS a070: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
a080: 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63  ol\mksqlite3c.tc
a090: 6c 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 41  l $(MKSQLITE3C_A a0a0: 52 47 53 29 0a 09 63 6f 70 79 20 74 73 72 63 5c RGS)..copy tsrc\ a0b0: 73 68 65 6c 6c 2e 63 20 2e 0a 09 63 6f 70 79 20 shell.c ...copy a0c0: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69$(TOP)\ext\sessi
a0d0: 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f  on\sqlite3sessio
a0e0: 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61  n.h ...sqlite3-a
a0f0: 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63 20  ll.c:.sqlite3.c
a100: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69  $(TOP)\tool\spli a110: 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 t-sqlite3c.tcl.. a120: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T a130: 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 OP)\tool\split-s a140: 71 6c 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c qlite3c.tcl.# << a150: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 /mark>>..# Rule a160: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 61 6d 61 to build the ama a170: 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 lgamation.#.sqli a180: 74 65 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 te3.lo:.$(SQLITE
a190: 33 43 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  3C)..$(LTCOMPILE a1a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
a1b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 53 51 4c 49  _OPTS) -c $(SQLI a1c0: 54 45 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e TE3C)..# <<mark> a1d0: 3e 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 >.# Rules to bui a1e0: 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d ld the LEMON com a1f0: 70 69 6c 65 72 20 67 65 6e 65 72 61 74 6f 72 0a piler generator. a200: 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f #.lempar.c:.$(TO
a210: 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63  P)\tool\lempar.c
a220: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f  ..copy $(TOP)\to a230: 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c ol\lempar.c ...l a240: 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 emon.exe:.$(TOP)
a250: 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65  \tool\lemon.c le
a260: 6d 70 61 72 2e 63 0a 09 24 28 42 43 43 29 20 24  mpar.c..$(BCC)$
a270: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63 65  (NO_WARN) -Dacce
a280: 73 73 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d  ss=_access \...-
a290: 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  Fe$@$(TOP)\tool
a2a0: 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24  \lemon.c /link $a2b0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c (LDFLAGS)$(NLTL
a2c0: 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49  INKOPTS) $(NLTLI a2d0: 42 50 41 54 48 53 29 0a 0a 23 20 52 75 6c 65 73 BPATHS)..# Rules a2e0: 20 74 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 69 to build indivi a2f0: 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 dual *.lo files a300: 66 72 6f 6d 20 67 65 6e 65 72 61 74 65 64 20 2a from generated * a310: 2e 63 20 66 69 6c 65 73 2e 20 54 68 69 73 0a 23 .c files. This.# a320: 20 61 70 70 6c 69 65 73 20 74 6f 3a 0a 23 0a 23 applies to:.#.# a330: 20 20 20 20 20 70 61 72 73 65 2e 6c 6f 0a 23 20 parse.lo.# a340: 20 20 20 20 6f 70 63 6f 64 65 73 2e 6c 6f 0a 23 opcodes.lo.# a350: 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 61 72 73 65 .parse.lo:.parse a360: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC a370: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
a380: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
a390: 70 61 72 73 65 2e 63 0a 0a 6f 70 63 6f 64 65 73  parse.c..opcodes
a3a0: 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73 2e 63 0a 09  .lo:.opcodes.c..
a3b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
a3c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
a3d0: 29 20 2d 63 20 6f 70 63 6f 64 65 73 2e 63 0a 23  ) -c opcodes.c.#
a3e0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75   <</mark>>..# Ru
a3f0: 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  le to build the
a400: 57 69 6e 33 32 20 72 65 73 6f 75 72 63 65 73 20  Win32 resources
a410: 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 23 0a 21  object file..#.!
a420: 49 46 20 24 28 55 53 45 5f 52 43 29 21 3d 30 0a  IF $(USE_RC)!=0. a430: 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e 0a 24 28 4c # <<block1>>.$(L
a440: 49 42 52 45 53 4f 42 4a 53 29 3a 09 24 28 54 4f  IBRESOBJS):.$(TO a450: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 P)\src\sqlite3.r a460: 63 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 65 c$(SQLITE3H)..e
a470: 63 68 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49  cho #ifndef SQLI
a480: 54 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53  TE_RESOURCE_VERS
a490: 49 4f 4e 20 3e 20 73 71 6c 69 74 65 33 72 63 2e  ION > sqlite3rc.
a4a0: 68 0a 09 66 6f 72 20 2f 46 20 25 25 56 20 69 6e  h..for /F %%V in
a4b0: 20 28 27 74 79 70 65 20 22 24 28 54 4f 50 29 5c   ('type "$(TOP)\ a4c0: 56 45 52 53 49 4f 4e 22 27 29 20 64 6f 20 28 20 VERSION"') do ( a4d0: 5c 0a 09 09 65 63 68 6f 20 23 64 65 66 69 6e 65 \...echo #define a4e0: 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 SQLITE_RESOURCE a4f0: 5f 56 45 52 53 49 4f 4e 20 25 25 56 20 5c 0a 09 _VERSION %%V \.. a500: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
a510: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep a520: 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 2e lace.tcl exact . a530: 20 5e 2c 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 ^, >> sqlite3rc a540: 2e 68 20 5c 0a 09 29 0a 09 65 63 68 6f 20 23 65 .h \..)..echo #e a550: 6e 64 69 66 20 3e 3e 20 73 71 6c 69 74 65 33 72 ndif >> sqlite3r a560: 63 2e 68 0a 09 24 28 4c 54 52 43 4f 4d 50 49 4c c.h..$(LTRCOMPIL
a570: 45 29 20 2d 66 6f 20 24 28 4c 49 42 52 45 53 4f  E) -fo $(LIBRESO a580: 42 4a 53 29 20 24 28 54 4f 50 29 5c 73 72 63 5c BJS)$(TOP)\src\
a590: 73 71 6c 69 74 65 33 2e 72 63 0a 23 20 3c 3c 2f  sqlite3.rc.# <</
a5a0: 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e 44 49 46 0a  block1>>.!ENDIF.
a5b0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75  .# <<mark>>.# Ru
a5c0: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64  les to build ind
a5d0: 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c  ividual *.lo fil
a5e0: 65 73 20 66 72 6f 6d 20 66 69 6c 65 73 20 69 6e  es from files in
a5f0: 20 74 68 65 20 73 72 63 20 64 69 72 65 63 74 6f   the src directo
a600: 72 79 2e 0a 23 0a 61 6c 74 65 72 2e 6c 6f 3a 09  ry..#.alter.lo:.
a610: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72  $(TOP)\src\alter a620: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC a630: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
a640: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
a650: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72  $(TOP)\src\alter a660: 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 .c..analyze.lo:. a670: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79$(TOP)\src\analy
a680: 7a 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ze.c $(HDR)..$(L
a690: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE a6a0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - a6b0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 c$(TOP)\src\ana
a6c0: 6c 79 7a 65 2e 63 0a 0a 61 74 74 61 63 68 2e 6c  lyze.c..attach.l
a6d0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 74  o:.$(TOP)\src\at a6e0: 74 61 63 68 2e 63 20 24 28 48 44 52 29 0a 09 24 tach.c$(HDR)..$a6f0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
a700: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
a710: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a a720: 74 74 61 63 68 2e 63 0a 0a 61 75 74 68 2e 6c 6f ttach.c..auth.lo a730: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 :.$(TOP)\src\aut
a740: 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  h.c $(HDR)..$(LT
a750: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ a760: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c a770: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68$(TOP)\src\auth
a780: 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c 6f 3a 09 24  .c..backup.lo:.$a790: 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 (TOP)\src\backup a7a0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC a7b0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
a7c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
a7d0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75  $(TOP)\src\backu a7e0: 70 2e 63 0a 0a 62 69 74 76 65 63 2e 6c 6f 3a 09 p.c..bitvec.lo:. a7f0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65$(TOP)\src\bitve
a800: 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  c.c $(HDR)..$(LT
a810: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ a820: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c a830: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76$(TOP)\src\bitv
a840: 65 63 2e 63 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f  ec.c..btmutex.lo
a850: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d  :.$(TOP)\src\btm a860: 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 utex.c$(HDR)..$a870: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
a880: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
a890: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b a8a0: 74 6d 75 74 65 78 2e 63 0a 0a 62 74 72 65 65 2e tmutex.c..btree. a8b0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 lo:.$(TOP)\src\b
a8c0: 74 72 65 65 2e 63 20 24 28 48 44 52 29 20 24 28  tree.c $(HDR)$(
a8d0: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68  TOP)\src\pager.h
a8e0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
a8f0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
a900: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr a910: 63 5c 62 74 72 65 65 2e 63 0a 0a 62 75 69 6c 64 c\btree.c..build a920: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
a930: 62 75 69 6c 64 2e 63 20 24 28 48 44 52 29 0a 09  build.c $(HDR).. a940: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C a950: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS a960: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
a970: 62 75 69 6c 64 2e 63 0a 0a 63 61 6c 6c 62 61 63  build.c..callbac
a980: 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  k.lo:.$(TOP)\src a990: 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 24 28 48 44 \callback.c$(HD
a9a0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) a9b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
a9c0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ a9d0: 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 0a 0a src\callback.c.. a9e0: 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 complete.lo:.$(T
a9f0: 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65  OP)\src\complete
aa00: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
aa10: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C aa20: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c aa30: 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c$(TOP)\src\compl
aa40: 65 74 65 2e 63 0a 0a 63 74 69 6d 65 2e 6c 6f 3a  ete.c..ctime.lo:
aa50: 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d  .$(TOP)\src\ctim aa60: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 e.c$(HDR)..$(LT aa70: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
aa80: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
aa90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d   $(TOP)\src\ctim aaa0: 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f 3a 09 24 28 e.c..date.lo:.$(
aab0: 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20  TOP)\src\date.c
aac0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
aad0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP aae0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
aaf0: 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 0a 0a  OP)\src\date.c..
ab00: 64 62 73 74 61 74 2e 6c 6f 3a 09 24 28 54 4f 50  dbstat.lo:.$(TOP ab10: 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 24 28 48 )\src\date.c$(H
ab20: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE ab30: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
ab40: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) ab50: 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 0a 0a 64 \src\dbstat.c..d ab60: 65 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 elete.lo:.$(TOP)
ab70: 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 20 24 28  \src\delete.c $( ab80: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
ab90: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL aba0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
abb0: 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 0a 0a  )\src\delete.c..
abc0: 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  expr.lo:.$(TOP)\ abd0: 73 72 63 5c 65 78 70 72 2e 63 20 24 28 48 44 52 src\expr.c$(HDR
abe0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) abf0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
ac00: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s ac10: 72 63 5c 65 78 70 72 2e 63 0a 0a 66 61 75 6c 74 rc\expr.c..fault ac20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
ac30: 66 61 75 6c 74 2e 63 20 24 28 48 44 52 29 0a 09  fault.c $(HDR).. ac40: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C ac50: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS ac60: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
ac70: 66 61 75 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f  fault.c..fkey.lo
ac80: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65  :.$(TOP)\src\fke ac90: 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 y.c$(HDR)..$(LT aca0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
acb0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
acc0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79   $(TOP)\src\fkey acd0: 2e 63 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 .c..func.lo:.$(T
ace0: 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 24  OP)\src\func.c $acf0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
ad00: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI ad10: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
ad20: 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 0a 0a 67  P)\src\func.c..g
ad30: 6c 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29  lobal.lo:.$(TOP) ad40: 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 \src\global.c$(
ad50: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL ad60: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
ad70: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP ad80: 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a )\src\global.c.. ad90: 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c hash.lo:.$(TOP)\
ada0: 73 72 63 5c 68 61 73 68 2e 63 20 24 28 48 44 52  src\hash.c $(HDR adb0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
adc0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O add0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
ade0: 72 63 5c 68 61 73 68 2e 63 0a 0a 69 6e 73 65 72  rc\hash.c..inser
adf0: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src ae00: 5c 69 6e 73 65 72 74 2e 63 20 24 28 48 44 52 29 \insert.c$(HDR)
ae10: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
ae20: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ae30: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr ae40: 63 5c 69 6e 73 65 72 74 2e 63 0a 0a 6c 65 67 61 c\insert.c..lega ae50: 63 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 cy.lo:.$(TOP)\sr
ae60: 63 5c 6c 65 67 61 63 79 2e 63 20 24 28 48 44 52  c\legacy.c $(HDR ae70: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
ae80: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O ae90: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
aea0: 72 63 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f 61  rc\legacy.c..loa
aeb0: 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  dext.lo:.$(TOP)\ aec0: 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 24 28 src\loadext.c$(
aed0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL aee0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
aef0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP af00: 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 0a )\src\loadext.c. af10: 0a 6d 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 .main.lo:.$(TOP)
af20: 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 24 28 48 44  \src\main.c $(HD af30: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
af40: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ af50: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
af60: 73 72 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c  src\main.c..mall
af70: 6f 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  oc.lo:.$(TOP)\sr af80: 63 5c 6d 61 6c 6c 6f 63 2e 63 20 24 28 48 44 52 c\malloc.c$(HDR
af90: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) afa0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
afb0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s afc0: 72 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d rc\malloc.c..mem afd0: 30 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 0.lo:.$(TOP)\src
afe0: 5c 6d 65 6d 30 2e 63 20 24 28 48 44 52 29 0a 09  \mem0.c $(HDR).. aff0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C b000: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS b010: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
b020: 6d 65 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a  mem0.c..mem1.lo:
b030: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31  .$(TOP)\src\mem1 b040: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC b050: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
b060: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
b070: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e  $(TOP)\src\mem1. b080: 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f c..mem2.lo:.$(TO
b090: 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 24 28  P)\src\mem2.c $( b0a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
b0b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL b0c0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
b0d0: 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65  )\src\mem2.c..me
b0e0: 6d 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m3.lo:.$(TOP)\sr b0f0: 63 5c 6d 65 6d 33 2e 63 20 24 28 48 44 52 29 0a c\mem3.c$(HDR).
b100: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
b110: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b120: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src b130: 5c 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f \mem3.c..mem5.lo b140: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d :.$(TOP)\src\mem
b150: 35 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  5.c $(HDR)..$(LT
b160: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ b170: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c b180: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35$(TOP)\src\mem5
b190: 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c  .c..memjournal.l
b1a0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me b1b0: 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44 52 mjournal.c$(HDR
b1c0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) b1d0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
b1e0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s b1f0: 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 0a rc\memjournal.c. b200: 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 .mutex.lo:.$(TOP
b210: 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 24 28  )\src\mutex.c $( b220: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
b230: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL b240: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
b250: 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 0a 0a 6d  )\src\mutex.c..m
b260: 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24 28  utex_noop.lo:.$( b270: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e TOP)\src\mutex_n b280: 6f 6f 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28 oop.c$(HDR)..$( b290: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
b2a0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
b2b0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  -c $(TOP)\src\mu b2c0: 74 65 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74 65 tex_noop.c..mute b2d0: 78 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 x_unix.lo:.$(TOP
b2e0: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78  )\src\mutex_unix
b2f0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b300: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C b310: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c b320: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78$(TOP)\src\mutex
b330: 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74 65 78 5f 77  _unix.c..mutex_w
b340: 33 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  32.lo:.$(TOP)\sr b350: 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 24 28 c\mutex_w32.c$(
b360: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL b370: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
b380: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP b390: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e )\src\mutex_w32. b3a0: 63 0a 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24 28 c..notify.lo:.$(
b3b0: 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e  TOP)\src\notify.
b3c0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b3d0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO b3e0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
b3f0: 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79  (TOP)\src\notify
b400: 2e 63 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09 24 28  .c..pager.lo:.$( b410: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 TOP)\src\pager.c b420: 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73$(HDR) $(TOP)\s b430: 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 rc\pager.h..$(LT
b440: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ b450: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c b460: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65$(TOP)\src\page
b470: 72 2e 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a 09  r.c..pcache.lo:.
b480: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach b490: 65 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 e.c$(HDR) $(TOP b4a0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 )\src\pcache.h.. b4b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C b4c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS b4d0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
b4e0: 70 63 61 63 68 65 2e 63 0a 0a 70 63 61 63 68 65  pcache.c..pcache
b4f0: 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  1.lo:.$(TOP)\src b500: 5c 70 63 61 63 68 65 31 2e 63 20 24 28 48 44 52 \pcache1.c$(HDR
b510: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61  ) $(TOP)\src\pca b520: 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 che.h..$(LTCOMPI
b530: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI b540: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
b550: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63  P)\src\pcache1.c
b560: 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  ..os.lo:.$(TOP)\ b570: 73 72 63 5c 6f 73 2e 63 20 24 28 48 44 52 29 0a src\os.c$(HDR).
b580: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
b590: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b5a0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src b5b0: 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 2e 6c \os.c..os_unix.l b5c0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 o:.$(TOP)\src\os
b5d0: 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09  _unix.c $(HDR).. b5e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C b5f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS b600: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
b610: 6f 73 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77 69  os_unix.c..os_wi
b620: 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  n.lo:.$(TOP)\src b630: 5c 6f 73 5f 77 69 6e 2e 63 20 24 28 48 44 52 29 \os_win.c$(HDR)
b640: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
b650: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
b660: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr b670: 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61 67 c\os_win.c..prag b680: 6d 61 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 ma.lo:.$(TOP)\sr
b690: 63 5c 70 72 61 67 6d 61 2e 63 20 24 28 48 44 52  c\pragma.c $(HDR b6a0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
b6b0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O b6c0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
b6d0: 72 63 5c 70 72 61 67 6d 61 2e 63 0a 0a 70 72 65  rc\pragma.c..pre
b6e0: 70 61 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  pare.lo:.$(TOP)\ b6f0: 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 24 28 src\prepare.c$(
b700: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL b710: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
b720: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP b730: 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 0a )\src\prepare.c. b740: 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f .printf.lo:.$(TO
b750: 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20  P)\src\printf.c
b760: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b770: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP b780: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
b790: 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63  OP)\src\printf.c
b7a0: 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24 28 54  ..random.lo:.$(T b7b0: 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 OP)\src\random.c b7c0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM b7d0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
b7e0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( b7f0: 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e TOP)\src\random. b800: 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a 09 24 c..resolve.lo:.$
b810: 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76  (TOP)\src\resolv
b820: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
b830: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ b840: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c b850: 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f$(TOP)\src\reso
b860: 6c 76 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c 6f  lve.c..rowset.lo
b870: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77  :.$(TOP)\src\row b880: 73 65 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 set.c$(HDR)..$( b890: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
b8a0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
b8b0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f  -c $(TOP)\src\ro b8c0: 77 73 65 74 2e 63 0a 0a 73 65 6c 65 63 74 2e 6c wset.c..select.l b8d0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 o:.$(TOP)\src\se
b8e0: 6c 65 63 74 2e 63 20 24 28 48 44 52 29 0a 09 24  lect.c $(HDR)..$
b8f0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO b900: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) b910: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 -c$(TOP)\src\s
b920: 65 6c 65 63 74 2e 63 0a 0a 73 74 61 74 75 73 2e  elect.c..status.
b930: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73  lo:.$(TOP)\src\s b940: 74 61 74 75 73 2e 63 20 24 28 48 44 52 29 0a 09 tatus.c$(HDR)..
b950: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
b960: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b970: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ b980: 73 74 61 74 75 73 2e 63 0a 0a 74 61 62 6c 65 2e status.c..table. b990: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 lo:.$(TOP)\src\t
b9a0: 61 62 6c 65 2e 63 20 24 28 48 44 52 29 0a 09 24  able.c $(HDR)..$
b9b0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO b9c0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) b9d0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 -c$(TOP)\src\t
b9e0: 61 62 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73 2e  able.c..threads.
b9f0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74  lo:.$(TOP)\src\t ba00: 68 72 65 61 64 73 2e 63 20 24 28 48 44 52 29 0a hreads.c$(HDR).
ba10: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
ba20: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
ba30: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src ba40: 5c 74 68 72 65 61 64 73 2e 63 0a 0a 74 6f 6b 65 \threads.c..toke ba50: 6e 69 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c nize.lo:.$(TOP)\
ba60: 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 6b  src\tokenize.c k
ba70: 65 79 77 6f 72 64 68 61 73 68 2e 68 20 24 28 48  eywordhash.h $(H ba80: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
ba90: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE baa0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
bab0: 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 0a  \src\tokenize.c.
bac0: 0a 74 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24 28  .treeview.lo:.$( bad0: 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 TOP)\src\treevie bae0: 77 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 w.c$(HDR)..$(LT baf0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
bb00: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
bb10: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65   $(TOP)\src\tree bb20: 76 69 65 77 2e 63 0a 0a 74 72 69 67 67 65 72 2e view.c..trigger. bb30: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 lo:.$(TOP)\src\t
bb40: 72 69 67 67 65 72 2e 63 20 24 28 48 44 52 29 0a  rigger.c $(HDR). bb50: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( bb60: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT bb70: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
bb80: 5c 74 72 69 67 67 65 72 2e 63 0a 0a 75 70 64 61  \trigger.c..upda
bb90: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  te.lo:.$(TOP)\sr bba0: 63 5c 75 70 64 61 74 65 2e 63 20 24 28 48 44 52 c\update.c$(HDR
bbb0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) bbc0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
bbd0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s bbe0: 72 63 5c 75 70 64 61 74 65 2e 63 0a 0a 75 74 66 rc\update.c..utf bbf0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
bc00: 75 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28  utf.c $(HDR)..$(
bc10: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR bc20: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) bc30: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 -c$(TOP)\src\ut
bc40: 66 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28  f.c..util.lo:.$( bc50: 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 TOP)\src\util.c bc60: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP bc70: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
bc80: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T bc90: 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 0a 0a OP)\src\util.c.. bca0: 76 61 63 75 75 6d 2e 6c 6f 3a 09 24 28 54 4f 50 vacuum.lo:.$(TOP
bcb0: 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 24  )\src\vacuum.c $bcc0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
bcd0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI bce0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
bcf0: 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 0a  P)\src\vacuum.c.
bd00: 0a 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  .vdbe.lo:.$(TOP) bd10: 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28 48 44 \src\vdbe.c$(HD
bd20: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) bd30: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
bd40: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ bd50: 73 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64 62 65 src\vdbe.c..vdbe bd60: 61 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 api.lo:.$(TOP)\s
bd70: 72 63 5c 76 64 62 65 61 70 69 2e 63 20 24 28 48  rc\vdbeapi.c $(H bd80: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
bd90: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE bda0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
bdb0: 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63 0a 0a  \src\vdbeapi.c..
bdc0: 76 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28 54 4f  vdbeaux.lo:.$(TO bdd0: 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 P)\src\vdbeaux.c bde0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM bdf0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
be00: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( be10: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 TOP)\src\vdbeaux be20: 2e 63 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c 6f 3a .c..vdbeblob.lo: be30: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 .$(TOP)\src\vdbe
be40: 62 6c 6f 62 2e 63 20 24 28 48 44 52 29 0a 09 24  blob.c $(HDR)..$
be50: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO be60: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) be70: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 -c$(TOP)\src\v
be80: 64 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62 65 6d  dbeblob.c..vdbem
be90: 65 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  em.lo:.$(TOP)\sr bea0: 63 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28 48 44 c\vdbemem.c$(HD
beb0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) bec0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
bed0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ bee0: 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 0a 0a 76 src\vdbemem.c..v bef0: 64 62 65 73 6f 72 74 2e 6c 6f 3a 09 24 28 54 4f dbesort.lo:.$(TO
bf00: 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e  P)\src\vdbesort.
bf10: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
bf20: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO bf30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
bf40: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f  (TOP)\src\vdbeso
bf50: 72 74 2e 63 0a 0a 76 64 62 65 74 72 61 63 65 2e  rt.c..vdbetrace.
bf60: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76  lo:.$(TOP)\src\v bf70: 64 62 65 74 72 61 63 65 2e 63 20 24 28 48 44 52 dbetrace.c$(HDR
bf80: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) bf90: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
bfa0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s bfb0: 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 0a 0a rc\vdbetrace.c.. bfc0: 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c vtab.lo:.$(TOP)\
bfd0: 73 72 63 5c 76 74 61 62 2e 63 20 24 28 48 44 52  src\vtab.c $(HDR bfe0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
bff0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O c000: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
c010: 72 63 5c 76 74 61 62 2e 63 0a 0a 77 61 6c 2e 6c  rc\vtab.c..wal.l
c020: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  o:.$(TOP)\src\wa c030: 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 l.c$(HDR)..$(LT c040: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
c050: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c060: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e   $(TOP)\src\wal. c070: 63 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09 24 28 c..walker.lo:.$(
c080: 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e  TOP)\src\walker.
c090: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c0a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO c0b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
c0c0: 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72  (TOP)\src\walker
c0d0: 2e 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09 24 28  .c..where.lo:.$( c0e0: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 TOP)\src\where.c c0f0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM c100: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
c110: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( c120: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 TOP)\src\where.c c130: 0a 0a 77 68 65 72 65 63 6f 64 65 2e 6c 6f 3a 09 ..wherecode.lo:. c140: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65$(TOP)\src\where
c150: 63 6f 64 65 2e 63 20 24 28 48 44 52 29 0a 09 24  code.c $(HDR)..$
c160: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO c170: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) c180: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 -c$(TOP)\src\w
c190: 68 65 72 65 63 6f 64 65 2e 63 0a 0a 77 68 65 72  herecode.c..wher
c1a0: 65 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29  eexpr.lo:.$(TOP) c1b0: 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 \src\whereexpr.c c1c0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM c1d0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
c1e0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( c1f0: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 TOP)\src\whereex c200: 70 72 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e pr.c..tclsqlite. c210: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 lo:.$(TOP)\src\t
c220: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52  clsqlite.c $(HDR c230: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
c240: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45  $(NO_WARN) -DUSE c250: 5f 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42 _TCL_STUBS=1 -DB c260: 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 UILD_sqlite -I$(
c270: 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28  TCLINCDIR) -c $( c280: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 TOP)\src\tclsqli c290: 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d te.c..tclsqlite- c2a0: 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 shell.lo:.$(TOP)
c2b0: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63  \src\tclsqlite.c
c2c0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c2d0: 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN) c2e0: 20 2d 44 54 43 4c 53 48 3d 31 20 2d 44 42 55 49 -DTCLSH=1 -DBUI c2f0: 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 LD_sqlite -I$(TC
c300: 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f  LINCDIR) -c $(TO c310: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 P)\src\tclsqlite c320: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65 .c..tclsqlite3.e c330: 78 65 3a 09 74 63 6c 73 71 6c 69 74 65 2d 73 68 xe:.tclsqlite-sh c340: 65 6c 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33 ell.lo$(SQLITE3
c350: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 24  C) $(SQLITE3H)$
c360: 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28  (LIBRESOBJS)..$( c370: 4c 54 4c 49 4e 4b 29 20 24 28 53 51 4c 49 54 45 LTLINK)$(SQLITE
c380: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c  3C) /link $(LDFL c390: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 AGS)$(LTLINKOPT
c3a0: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29  S) $(LTLIBPATHS) c3b0: 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 /OUT:$@ tclsqli
c3c0: 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49  te-shell.lo $(LI c3d0: 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 BRESOBJS)$(LTLI
c3e0: 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20  BS) $(TLIBS)..# c3f0: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 6f Rules to build o c400: 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f 70 63 pcodes.c and opc c410: 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64 65 73 odes.h.#.opcodes c420: 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20 24 28 .c:.opcodes.h$(
c430: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
c440: 64 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48  dec.tcl..$(TCLSH c450: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f _CMD)$(TOP)\too
c460: 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 20  l\mkopcodec.tcl
c470: 6f 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70 63 6f  opcodes.h > opco
c480: 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 68  des.c..opcodes.h
c490: 3a 09 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29  :.parse.h $(TOP) c4a0: 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28 54 4f \src\vdbe.c$(TO
c4b0: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65  P)\tool\mkopcode
c4c0: 68 2e 74 63 6c 0a 09 74 79 70 65 20 70 61 72 73  h.tcl..type pars
c4d0: 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  e.h $(TOP)\src\v c4e0: 64 62 65 2e 63 20 7c 20 24 28 54 43 4c 53 48 5f dbe.c |$(TCLSH_
c4f0: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool c500: 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 20 3e \mkopcodeh.tcl > c510: 20 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20 52 75 opcodes.h..# Ru c520: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 70 61 72 les to build par c530: 73 65 2e 63 20 61 6e 64 20 70 61 72 73 65 2e 68 se.c and parse.h c540: 20 2d 20 74 68 65 20 6f 75 74 70 75 74 73 20 6f - the outputs o c550: 66 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72 73 65 f lemon..#.parse c560: 2e 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70 61 72 .h:.parse.c..par c570: 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73 72 63 se.c:.$(TOP)\src
c580: 5c 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65  \parse.y lemon.e
c590: 78 65 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61  xe $(TOP)\tool\a c5a0: 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 0a 09 64 ddopcodes.tcl..d c5b0: 65 6c 20 2f 51 20 70 61 72 73 65 2e 79 20 70 61 el /Q parse.y pa c5c0: 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65 rse.h parse.h.te c5d0: 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f 70 79 20 24 mp 2>NUL..copy$
c5e0: 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e  (TOP)\src\parse.
c5f0: 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65  y ....\lemon.exe
c600: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F c610: 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 LAGS)$(OPT_FEAT
c620: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54  URE_FLAGS) $(EXT c630: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 _FEATURE_FLAGS) c640: 24 28 4f 50 54 53 29 20 70 61 72 73 65 2e 79 0a$(OPTS) parse.y.
c650: 09 6d 6f 76 65 20 70 61 72 73 65 2e 68 20 70 61  .move parse.h pa
c660: 72 73 65 2e 68 2e 74 65 6d 70 0a 09 24 28 54 43  rse.h.temp..$(TC c670: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c LSH_CMD)$(TOP)\
c680: 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 73 2e  tool\addopcodes.
c690: 74 63 6c 20 70 61 72 73 65 2e 68 2e 74 65 6d 70  tcl parse.h.temp
c6a0: 20 3e 20 70 61 72 73 65 2e 68 0a 0a 24 28 53 51   > parse.h..$(SQ c6b0: 4c 49 54 45 33 48 29 3a 09 24 28 54 4f 50 29 5c LITE3H):.$(TOP)\
c6c0: 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20  src\sqlite.h.in
c6d0: 24 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73 74 2e  $(TOP)\manifest. c6e0: 75 75 69 64 20 24 28 54 4f 50 29 5c 56 45 52 53 uuid$(TOP)\VERS
c6f0: 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  ION..$(TCLSH_CMD c700: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b )$(TOP)\tool\mk
c710: 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 24 28 54  sqlite3h.tcl $(T c720: 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51 4c 49 OP:\=/) >$(SQLI
c730: 54 45 33 48 29 0a 0a 73 71 6c 69 74 65 33 65 78  TE3H)..sqlite3ex
c740: 74 2e 68 3a 09 2e 74 61 72 67 65 74 5f 73 6f 75  t.h:..target_sou
c750: 72 63 65 0a 09 63 6f 70 79 20 74 73 72 63 5c 73  rce..copy tsrc\s
c760: 71 6c 69 74 65 33 65 78 74 2e 68 20 2e 0a 0a 6d  qlite3ext.h ...m
c770: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65  kkeywordhash.exe
c780: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  :.$(TOP)\tool\mk c790: 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 0a 09 24 keywordhash.c..$
c7a0: 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29  (BCC) $(NO_WARN) c7b0: 20 2d 46 65 24 40 20 24 28 52 45 51 5f 46 45 41 -Fe$@ $(REQ_FEA c7c0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 TURE_FLAGS)$(OP
c7d0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
c7e0: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46   $(EXT_FEATURE_F c7f0: 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 5c 0a LAGS)$(OPTS) \.
c800: 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  ..$(TOP)\tool\mk c810: 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 2f 6c keywordhash.c /l c820: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $c830: 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 (NLTLINKOPTS)$(
c840: 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 6b 65  NLTLIBPATHS)..ke
c850: 79 77 6f 72 64 68 61 73 68 2e 68 3a 09 24 28 54  ywordhash.h:.$(T c860: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f OP)\tool\mkkeywo c870: 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79 77 6f rdhash.c mkkeywo c880: 72 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c 6d 6b rdhash.exe...\mk c890: 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 20 keywordhash.exe c8a0: 3e 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 0a > keywordhash.h. c8b0: 0a 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 ...# Rules to bu c8c0: 69 6c 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f ild the extensio c8d0: 6e 20 6f 62 6a 65 63 74 73 2e 0a 23 0a 69 63 75 n objects..#.icu c8e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
c8f0: 69 63 75 5c 69 63 75 2e 63 20 24 28 48 44 52 29  icu\icu.c $(HDR) c900: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT c910: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
c920: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( c930: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT c940: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
c950: 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 0a 0a  \ext\icu\icu.c..
c960: 66 74 73 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  fts2.lo:.$(TOP)\ c970: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 ext\fts2\fts2.c c980: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) c990: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c9a0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP c9b0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d TS)$(NO_WARN) -
c9c0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
c9d0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ c9e0: 66 74 73 32 2e 63 0a 0a 66 74 73 32 5f 68 61 73 fts2.c..fts2_has c9f0: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 h.lo:.$(TOP)\ext
ca00: 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e  \fts2\fts2_hash.
ca10: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
ca20: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) ca30: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
ca40: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) ca50: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - ca60: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
ca70: 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 0a 0a 66  2\fts2_hash.c..f
ca80: 74 73 32 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f  ts2_icu.lo:.$(TO ca90: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 caa0: 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 _icu.c$(HDR) $( cab0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
cac0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM cad0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
cae0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
caf0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex cb00: 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e t\fts2\fts2_icu. cb10: 63 0a 0a 66 74 73 32 5f 70 6f 72 74 65 72 2e 6c c..fts2_porter.l cb20: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 o:.$(TOP)\ext\ft
cb30: 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63  s2\fts2_porter.c
cb40: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
cb50: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) cb60: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
cb70: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) cb80: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c cb90: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
cba0: 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 0a 0a  \fts2_porter.c..
cbb0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c  fts2_tokenizer.l
cbc0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft cbd0: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 s2\fts2_tokenize cbe0: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 r.c$(HDR) $(EXT cbf0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
cc00: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL cc10: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
cc20: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
cc30: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f cc40: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a ts2\fts2_tokeniz cc50: 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e er.c..fts2_token cc60: 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 izer1.lo:.$(TOP)
cc70: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
cc80: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44  okenizer1.c $(HD cc90: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( cca0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
ccb0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
ccc0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL ccd0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
cce0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
ccf0: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66  _tokenizer1.c..f
cd00: 74 73 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ts3.lo:.$(TOP)\e cd10: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 24 xt\fts3\fts3.c$
cd20: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). cd30: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( cd40: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT cd50: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
cd60: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $cd70: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f cd80: 74 73 33 2e 63 0a 0a 66 74 73 33 5f 61 75 78 2e ts3.c..fts3_aux. cd90: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 lo:.$(TOP)\ext\f
cda0: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 24  ts3\fts3_aux.c $cdb0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
cdc0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
cdd0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cde0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D cdf0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
ce00: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
ce10: 74 73 33 5f 61 75 78 2e 63 0a 0a 66 74 73 33 5f  ts3_aux.c..fts3_
ce20: 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  expr.lo:.$(TOP)\ ce30: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 ext\fts3\fts3_ex ce40: 70 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 pr.c$(HDR) $(EX ce50: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
ce60: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI ce70: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
ce80: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
ce90: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ cea0: 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 fts3\fts3_expr.c ceb0: 0a 0a 66 74 73 33 5f 68 61 73 68 2e 6c 6f 3a 09 ..fts3_hash.lo:. cec0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
ced0: 66 74 73 33 5f 68 61 73 68 2e 63 20 24 28 48 44  fts3_hash.c $(HD cee0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( cef0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
cf00: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
cf10: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL cf20: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
cf30: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
cf40: 5f 68 61 73 68 2e 63 0a 0a 66 74 73 33 5f 69 63  _hash.c..fts3_ic
cf50: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext cf60: 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 \fts3\fts3_icu.c cf70: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR cf80: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
cf90: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O cfa0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
cfb0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
cfc0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 cfd0: 5c 66 74 73 33 5f 69 63 75 2e 63 0a 0a 66 74 73 \fts3_icu.c..fts cfe0: 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a 09 24 28 3_snippet.lo:.$(
cff0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
d000: 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 24 28 48  s3_snippet.c $(H d010: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$d020: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d030: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d040: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ d050: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
d060: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
d070: 33 5f 73 6e 69 70 70 65 74 2e 63 0a 0a 66 74 73  3_snippet.c..fts
d080: 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54  3_porter.lo:.$(T d090: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts d0a0: 33 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 3_porter.c$(HDR
d0b0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
d0c0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d0d0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
d0e0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
d0f0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP d100: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ d110: 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 33 5f 74 porter.c..fts3_t d120: 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 okenizer.lo:.$(T
d130: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
d140: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28  3_tokenizer.c $( d150: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
d160: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
d170: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
d180: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS d190: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
d1a0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
d1b0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a  s3_tokenizer.c..
d1c0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e  fts3_tokenizer1.
d1d0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f d1e0: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a ts3\fts3_tokeniz d1f0: 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 er1.c$(HDR) $(E d200: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
d210: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP d220: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
d230: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
d240: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext d250: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e \fts3\fts3_token d260: 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 5f 74 6f izer1.c..fts3_to d270: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 3a 09 kenize_vtab.lo:. d280: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
d290: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74  fts3_tokenize_vt
d2a0: 61 62 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  ab.c $(HDR)$(EX
d2b0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI d2c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
d2d0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA d2e0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR d2f0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
d300: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
d310: 7a 65 5f 76 74 61 62 2e 63 0a 0a 66 74 73 33 5f  ze_vtab.c..fts3_
d320: 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f  unicode.lo:.$(TO d330: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 d340: 5f 75 6e 69 63 6f 64 65 2e 63 20 24 28 48 44 52 _unicode.c$(HDR
d350: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
d360: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d370: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
d380: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
d390: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP d3a0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ d3b0: 75 6e 69 63 6f 64 65 2e 63 0a 0a 66 74 73 33 5f unicode.c..fts3_ d3c0: 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09 24 28 54 unicode2.lo:.$(T
d3d0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
d3e0: 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 24 28 48  3_unicode2.c $(H d3f0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$d400: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d410: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d420: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ d430: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
d440: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
d450: 33 5f 75 6e 69 63 6f 64 65 32 2e 63 0a 0a 66 74  3_unicode2.c..ft
d460: 73 33 5f 77 72 69 74 65 2e 6c 6f 3a 09 24 28 54  s3_write.lo:.$(T d470: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts d480: 33 5f 77 72 69 74 65 2e 63 20 24 28 48 44 52 29 3_write.c$(HDR)
d490: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
d4a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d4b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
d4c0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
d4d0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) d4e0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 \ext\fts3\fts3_w d4f0: 72 69 74 65 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f rite.c..rtree.lo d500: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 :.$(TOP)\ext\rtr
d510: 65 65 5c 72 74 72 65 65 2e 63 20 24 28 48 44 52  ee\rtree.c $(HDR d520: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L d530: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d540: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $d550: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI d560: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
d570: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65  )\ext\rtree\rtre
d580: 65 2e 63 0a 0a 73 71 6c 69 74 65 33 73 65 73 73  e.c..sqlite3sess
d590: 69 6f 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ion.lo:.$(TOP)\e d5a0: 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 xt\session\sqlit d5b0: 65 33 73 65 73 73 69 6f 6e 2e 63 20 24 28 48 44 e3session.c$(HD
d5c0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
d5d0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR d5e0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) d5f0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
d600: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO d610: 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 P)\ext\session\s d620: 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 0a qlite3session.c. d630: 0a 23 20 46 54 53 35 20 74 68 69 6e 67 73 0a 23 .# FTS5 things.# d640: 0a 46 54 53 35 5f 53 52 43 20 3d 20 5c 0a 20 20 .FTS5_SRC = \. d650: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35$(TOP)\ext\fts5
d660: 5c 66 74 73 35 2e 68 20 5c 0a 20 20 20 24 28 54  \fts5.h \.   $(T d670: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts d680: 35 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 5Int.h \.$(TO
d690: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
d6a0: 5f 61 75 78 2e 63 20 5c 0a 20 20 20 24 28 54 4f  _aux.c \.   $(TO d6b0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 P)\ext\fts5\fts5 d6c0: 5f 62 75 66 66 65 72 2e 63 20 5c 0a 20 20 20 24 _buffer.c \.$
d6d0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
d6e0: 74 73 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 20 20  ts5_main.c \.
d6f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\ d700: 66 74 73 35 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a fts5_config.c \. d710: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74$(TOP)\ext\ft
d720: 73 35 5c 66 74 73 35 5f 65 78 70 72 2e 63 20 5c  s5\fts5_expr.c \
d730: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f d740: 74 73 35 5c 66 74 73 35 5f 68 61 73 68 2e 63 20 ts5\fts5_hash.c d750: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
d760: 66 74 73 35 5c 66 74 73 35 5f 69 6e 64 65 78 2e  fts5\fts5_index.
d770: 63 20 5c 0a 20 20 20 66 74 73 35 70 61 72 73 65  c \.   fts5parse
d780: 2e 63 20 66 74 73 35 70 61 72 73 65 2e 68 20 5c  .c fts5parse.h \
d790: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f d7a0: 74 73 35 5c 66 74 73 35 5f 73 74 6f 72 61 67 65 ts5\fts5_storage d7b0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
d7c0: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 6f 6b  xt\fts5\fts5_tok
d7d0: 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 20 24 28 54  enize.c \.   $(T d7e0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts d7f0: 35 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 5_unicode2.c \. d800: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
d810: 35 5c 66 74 73 35 5f 76 61 72 69 6e 74 2e 63 20  5\fts5_varint.c
d820: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\ d830: 66 74 73 35 5c 66 74 73 35 5f 76 6f 63 61 62 2e fts5\fts5_vocab. d840: 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63 3a 09 c..fts5parse.c:. d850: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c$(TOP)\ext\fts5\
d860: 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f  fts5parse.y lemo
d870: 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 54 4f  n.exe..copy $(TO d880: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 P)\ext\fts5\fts5 d890: 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c 20 2f parse.y ...del / d8a0: 51 20 66 74 73 35 70 61 72 73 65 2e 68 20 32 3e Q fts5parse.h 2> d8b0: 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 NUL...\lemon.exe d8c0: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46$(REQ_FEATURE_F
d8d0: 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54  LAGS) $(OPT_FEAT d8e0: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 URE_FLAGS)$(EXT
d8f0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
d900: 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 72 73  $(OPTS) fts5pars d910: 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65 2e 68 e.y..fts5parse.h d920: 3a 09 66 74 73 35 70 61 72 73 65 2e 63 0a 0a 66 :.fts5parse.c..f d930: 74 73 35 2e 63 3a 09 24 28 46 54 53 35 5f 53 52 ts5.c:.$(FTS5_SR
d940: 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  C)..$(TCLSH_CMD) d950: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35$(TOP)\ext\fts5
d960: 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e 74 63  \tool\mkfts5c.tc
d970: 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 65  l..copy $(TOP)\e d980: 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 2e xt\fts5\fts5.h . d990: 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73 35 2e ..fts5.lo:.fts5. d9a0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD d9b0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d9c0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d9d0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
d9e0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
d9f0: 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 5f 65  c fts5.c..fts5_e
da00: 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28  xt.lo:.fts5.c $( da10: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
da20: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 4e  $(LTCOMPILE)$(N
da30: 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74 73 35 2e  O_WARN) -c fts5.
da40: 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66 74 73  c..fts5.dll:.fts
da50: 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20  5_ext.lo..$(LD) da60: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL da70: 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 INKOPTS)$(LTLIB
da80: 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54  PATHS) /DLL /OUT
da90: 3a 24 40 20 66 74 73 35 5f 65 78 74 2e 6c 6f 0a  :$@ fts5_ext.lo. daa0: 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 3a 09 .sqlite3rbu.lo:. dab0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73$(TOP)\ext\rbu\s
dac0: 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28 48 44  qlite3rbu.c $(HD dad0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( dae0: 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c LTCOMPILE) -DSQL daf0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
db00: 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c 69 74  P)\ext\rbu\sqlit
db10: 65 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c 65 73  e3rbu.c..# Rules
db20: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 27 74   to build the 't
db30: 65 73 74 66 69 78 74 75 72 65 27 20 61 70 70 6c  estfixture' appl
db40: 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49 66 20  ication..#.# If
db50: 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61  using the amalga
db60: 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69  mation, use sqli
db70: 74 65 33 2e 63 20 64 69 72 65 63 74 6c 79 20 74  te3.c directly t
db80: 6f 20 62 75 69 6c 64 20 74 68 65 20 74 65 73 74  o build the test
db90: 0a 23 20 66 69 78 74 75 72 65 2e 20 20 4f 74 68  .# fixture.  Oth
dba0: 65 72 77 69 73 65 20 6c 69 6e 6b 20 61 67 61 69  erwise link agai
dbb0: 6e 73 74 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c  nst libsqlite3.l
dbc0: 69 62 2e 20 20 28 54 68 69 73 20 64 69 73 74 69  ib.  (This disti
dbd0: 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65 63 65  nction is.# nece
dbe0: 73 73 61 72 79 20 62 65 63 61 75 73 65 20 74 68  ssary because th
dbf0: 65 20 74 65 73 74 20 66 69 78 74 75 72 65 20 72  e test fixture r
dc00: 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50 49 20  equires non-API
dc10: 73 79 6d 62 6f 6c 73 20 77 68 69 63 68 20 61 72  symbols which ar
dc20: 65 0a 23 20 68 69 64 64 65 6e 20 77 68 65 6e 20  e.# hidden when
dc30: 74 68 65 20 6c 69 62 72 61 72 79 20 69 73 20 62  the library is b
dc40: 75 69 6c 74 20 76 69 61 20 74 68 65 20 61 6d 61  uilt via the ama
dc50: 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 54 45  lgamation)..#.TE
dc60: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20  STFIXTURE_FLAGS
dc70: 3d 20 2d 44 54 43 4c 53 48 3d 31 20 2d 44 53 51  = -DTCLSH=1 -DSQ
dc80: 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d 44 53 51  LITE_TEST=1 -DSQ
dc90: 4c 49 54 45 5f 43 52 41 53 48 5f 54 45 53 54 3d  LITE_CRASH_TEST=
dca0: 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  1.TESTFIXTURE_FL
dcb0: 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT dcc0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c URE_FLAGS) -DSQL dcd0: 49 54 45 5f 53 45 52 56 45 52 3d 31 20 2d 44 53 ITE_SERVER=1 -DS dce0: 51 4c 49 54 45 5f 50 52 49 56 41 54 45 3d 22 22 QLITE_PRIVATE="" dcf0: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 .TESTFIXTURE_FLA dd00: 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 GS =$(TESTFIXTU
dd10: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
dd20: 54 45 5f 43 4f 52 45 20 24 28 4e 4f 5f 57 41 52  TE_CORE $(NO_WAR dd30: 4e 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 N).TESTFIXTURE_F dd40: 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 LAGS =$(TESTFIX
dd50: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51  TURE_FLAGS) -DSQ
dd60: 4c 49 54 45 5f 53 45 52 49 45 53 5f 43 4f 4e 53  LITE_SERIES_CONS
dd70: 54 52 41 49 4e 54 5f 56 45 52 49 46 59 3d 31 0a  TRAINT_VERIFY=1.
dd80: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
dd90: 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55 52  S = $(TESTFIXTUR dda0: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 E_FLAGS) -DSQLIT ddb0: 45 5f 44 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 E_DEFAULT_PAGE_S ddc0: 49 5a 45 3d 31 30 32 34 0a 0a 54 45 53 54 46 49 IZE=1024..TESTFI ddd0: 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24 28 54 XTURE_SRC0 =$(T
dde0: 45 53 54 45 58 54 29 20 24 28 54 45 53 54 53 52  ESTEXT) $(TESTSR ddf0: 43 32 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f C2).TESTFIXTURE_ de00: 53 52 43 31 20 3d 20 24 28 54 45 53 54 45 58 54 SRC1 =$(TESTEXT
de10: 29 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21 49  ) $(SQLITE3C).!I de20: 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 F$(USE_AMALGAMA
de30: 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 49 58  TION)==0.TESTFIX
de40: 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53  TURE_SRC = $(TES de50: 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 TSRC)$(TOP)\src
de60: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54  \tclsqlite.c $(T de70: 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 30 29 ESTFIXTURE_SRC0) de80: 0a 21 45 4c 53 45 0a 54 45 53 54 46 49 58 54 55 .!ELSE.TESTFIXTU de90: 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 RE_SRC =$(TESTS
dea0: 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  RC) $(TOP)\src\t deb0: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 clsqlite.c$(TES
dec0: 54 46 49 58 54 55 52 45 5f 53 52 43 31 29 0a 21  TFIXTURE_SRC1).!
ded0: 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75  ENDIF..testfixtu
dee0: 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49  re.exe:.$(TESTFI def0: 58 54 55 52 45 5f 53 52 43 29 20 24 28 53 51 4c XTURE_SRC)$(SQL
df00: 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f  ITE3H) $(LIBRESO df10: 42 4a 53 29 20 24 28 48 44 52 29 0a 09 24 28 4c BJS)$(HDR)..$(L df20: 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f TLINK) -DSQLITE_ df30: 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54 NO_SYNC=1$(TEST
df40: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c  FIXTURE_FLAGS) \
df50: 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  ...-DBUILD_sqlit
df60: 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR) df70: 20 5c 0a 09 09 24 28 54 45 53 54 46 49 58 54 55 \...$(TESTFIXTU
df80: 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e  RE_SRC) \.../lin
df90: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
dfa0: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL dfb0: 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 IBPATHS)$(LIBRE
dfc0: 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29  SOBJS) $(LTLIBS) dfd0: 20 24 28 54 4c 49 42 53 29 0a 0a 65 78 74 65 6e$(TLIBS)..exten
dfe0: 73 69 6f 6e 74 65 73 74 3a 09 74 65 73 74 66 69  siontest:.testfi
dff0: 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 6c 6f  xture.exe testlo
e000: 61 64 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74 20  adext.dll..@set
e010: 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54  PATH=$(LIBTCLPAT e020: 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 H);$(PATH)...\te
e030: 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $( e040: 54 4f 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65 78 TOP)\test\loadex e050: 74 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 t.test$(TESTOPT
e060: 53 29 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24 28  S)..fulltest:.$( e070: 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 TESTPROGS) fuzzt e080: 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 est..@set PATH=$
e090: 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P e0a0: 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 ATH)...\testfixt e0b0: 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 ure.exe$(TOP)\t
e0c0: 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28 54  est\all.test $(T e0d0: 45 53 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74 65 ESTOPTS)..soakte e0e0: 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 st:.$(TESTPROGS)
e0f0: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI e100: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 BTCLPATH);$(PATH
e110: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
e120: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test e130: 5c 61 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b 3d \all.test -soak= e140: 31 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 1$(TESTOPTS)..f
e150: 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28 54  ulltestonly:.$(T e160: 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 ESTPROGS) fuzzte e170: 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 st..@set PATH=$(
e180: 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA e190: 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 TH)...\testfixtu e1a0: 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 re.exe$(TOP)\te
e1b0: 73 74 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71 75  st\full.test..qu
e1c0: 65 72 79 70 6c 61 6e 74 65 73 74 3a 09 74 65 73  eryplantest:.tes
e1d0: 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 68 65  tfixture.exe she
e1e0: 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  ll..@set PATH=$( e1f0: 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 LIBTCLPATH);$(PA
e200: 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
e210: 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te e220: 73 74 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73 2e st\permutations. e230: 74 65 73 74 20 71 75 65 72 79 70 6c 61 6e 6e 65 test queryplanne e240: 72 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 r$(TESTOPTS)..f
e250: 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65  uzztest:.fuzzche
e260: 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68  ck.exe...\fuzzch
e270: 65 63 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44 41  eck.exe $(FUZZDA e280: 54 41 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65 73 TA)..fastfuzztes e290: 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 t:.fuzzcheck.exe e2a0: 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 ...\fuzzcheck.ex e2b0: 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31 30 e --limit-mem 10 e2c0: 30 4d 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 0M$(FUZZDATA)..
e2d0: 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69 6e  # Minimal testin
e2e0: 67 20 74 68 61 74 20 72 75 6e 73 20 69 6e 20 6c  g that runs in l
e2f0: 65 73 73 20 74 68 61 6e 20 33 20 6d 69 6e 75 74  ess than 3 minut
e300: 65 73 20 28 6f 6e 20 61 20 66 61 73 74 20 6d 61  es (on a fast ma
e310: 63 68 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74 65  chine).#.quickte
e320: 73 74 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e  st:.testfixture.
e330: 65 78 65 20 73 6f 75 72 63 65 74 65 73 74 0a 09  exe sourcetest..
e340: 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT e350: 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a CLPATH);$(PATH).
e360: 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
e370: 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 65  xe $(TOP)\test\e e380: 78 74 72 61 71 75 69 63 6b 2e 74 65 73 74 20 24 xtraquick.test$
e390: 28 54 45 53 54 4f 50 54 53 29 0a 0a 23 20 54 68  (TESTOPTS)..# Th
e3a0: 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f 6e  is is the common
e3b0: 20 63 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e 79   case.  Run many
e3c0: 20 74 65 73 74 73 20 74 68 61 74 20 64 6f 20 6e   tests that do n
e3d0: 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67  ot take too long
e3e0: 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67 20 66 75  ,.# including fu
e3f0: 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69 74 65 33  zzcheck, sqlite3
e400: 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20 73  _analyzer, and s
e410: 71 6c 64 69 66 66 20 74 65 73 74 73 2e 0a 23 0a  qldiff tests..#.
e420: 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47  test:.$(TESTPROG e430: 53 29 20 73 6f 75 72 63 65 74 65 73 74 20 66 61 S) sourcetest fa e440: 73 74 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 stfuzztest..@set e450: 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 PATH=$(LIBTCLPA
e460: 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74  TH);$(PATH)...\t e470: 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 estfixture.exe$
e480: 28 54 4f 50 29 5c 74 65 73 74 5c 76 65 72 79 71  (TOP)\test\veryq
e490: 75 69 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54  uick.test $(TEST e4a0: 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 OPTS)..smoketest e4b0: 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 :.$(TESTPROGS)..
e4c0: 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT e4d0: 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a CLPATH);$(PATH).
e4e0: 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
e4f0: 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6d  xe $(TOP)\test\m e500: 61 69 6e 2e 74 65 73 74 20 24 28 54 45 53 54 4f ain.test$(TESTO
e510: 50 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61 6e  PTS)..sqlite3_an
e520: 61 6c 79 7a 65 72 2e 63 3a 09 24 28 53 51 4c 49  alyzer.c:.$(SQLI e530: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 TE3C)$(SQLITE3H
e540: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  ) $(TOP)\src\tcl e550: 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c sqlite.c$(TOP)\
e560: 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74  tool\spaceanal.t
e570: 63 6c 0a 09 65 63 68 6f 20 23 64 65 66 69 6e 65  cl..echo #define
e580: 20 54 43 4c 53 48 20 32 20 3e 20 24 40 0a 09 65   TCLSH 2 > $@..e e590: 63 68 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 cho #define SQLI e5a0: 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 TE_ENABLE_DBSTAT e5b0: 5f 56 54 41 42 20 31 20 3e 3e 20 24 40 0a 09 63 _VTAB 1 >>$@..c
e5c0: 6f 70 79 20 24 40 20 2b 20 24 28 53 51 4c 49 54  opy $@ +$(SQLIT
e5d0: 45 33 43 29 20 2b 20 24 28 54 4f 50 29 5c 73 72  E3C) + $(TOP)\sr e5e0: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 40 c\tclsqlite.c$@
e5f0: 0a 09 65 63 68 6f 20 73 74 61 74 69 63 20 63 6f  ..echo static co
e600: 6e 73 74 20 63 68 61 72 20 2a 74 63 6c 73 68 5f  nst char *tclsh_
e610: 6d 61 69 6e 5f 6c 6f 6f 70 28 76 6f 69 64 29 7b  main_loop(void){
e620: 20 3e 3e 20 24 40 0a 09 65 63 68 6f 20 73 74 61   >> $@..echo sta e630: 74 69 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a tic const char * e640: 7a 4d 61 69 6e 6c 6f 6f 70 20 3d 20 3e 3e 20 24 zMainloop = >>$
e650: 40 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  @..$(TCLSH_CMD) e660: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 74 6f 73 74$(TOP)\tool\tost
e670: 72 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f  r.tcl $(TOP)\too e680: 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c 20 l\spaceanal.tcl e690: 3e 3e 20 24 40 0a 09 65 63 68 6f 20 3b 20 72 65 >>$@..echo ; re
e6a0: 74 75 72 6e 20 7a 4d 61 69 6e 6c 6f 6f 70 3b 20  turn zMainloop;
e6b0: 7d 20 3e 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33  } >> $@..sqlite3 e6c0: 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73 _analyzer.exe:.s e6d0: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e qlite3_analyzer. e6e0: 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a c$(LIBRESOBJS).
e6f0: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
e700: 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71  WARN) -DBUILD_sq
e710: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD e720: 49 52 29 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c IR) sqlite3_anal e730: 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b yzer.c \.../link e740: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT e750: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 LINKOPTS)$(LTLI
e760: 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53  BPATHS) $(LIBRES e770: 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 OBJS)$(LTLIBS)
e780: 24 28 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f  $(TLIBS)..testlo e790: 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 adext.lo:.$(TOP)
e7a0: 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78  \src\test_loadex
e7b0: 74 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  t.c..$(LTCOMPILE e7c0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 )$(NO_WARN) -c
e7d0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ e7e0: 6c 6f 61 64 65 78 74 2e 63 0a 0a 74 65 73 74 6c loadext.c..testl e7f0: 6f 61 64 65 78 74 2e 64 6c 6c 3a 09 74 65 73 74 oadext.dll:.test e800: 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 loadext.lo..$(LD
e810: 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS)$(L
e820: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL e830: 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f IBPATHS) /DLL /O e840: 55 54 3a 24 40 20 74 65 73 74 6c 6f 61 64 65 78 UT:$@ testloadex
e850: 74 2e 6c 6f 0a 0a 73 68 6f 77 64 62 2e 65 78 65  t.lo..showdb.exe
e860: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh e870: 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 owdb.c$(SQLITE3
e880: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. e890: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W e8a0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 ARN) -DSQLITE_TH e8b0: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c READSAFE=0 -DSQL e8c0: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 ITE_OMIT_LOAD_EX e8d0: 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a TENSION -Fe$@ \.
e8e0: 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  ..$(TOP)\tool\sh e8f0: 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 owdb.c$(SQLITE3
e900: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA e910: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
e920: 29 0a 0a 73 68 6f 77 73 74 61 74 34 2e 65 78 65  )..showstat4.exe
e930: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh e940: 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 owstat4.c$(SQLI
e950: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H e960: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N e970: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE e980: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 _THREADSAFE=0 -D e990: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 SQLITE_OMIT_LOAD e9a0: 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 _EXTENSION -Fe$@
e9b0: 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool e9c0: 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 \showstat4.c$(S
e9d0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $e9e0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
e9f0: 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75  NKOPTS)..showjou
ea00: 72 6e 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29  rnal.exe:.$(TOP) ea10: 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 \tool\showjourna ea20: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 l.c$(SQLITE3C)
ea30: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c  $(SQLITE3H)..$(L
ea40: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e  TLINK) $(NO_WARN ea50: 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 ) -DSQLITE_THREA ea60: 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 DSAFE=0 -DSQLITE ea70: 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e _OMIT_LOAD_EXTEN ea80: 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 SION -Fe$@ \...$ea90: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a (TOP)\tool\showj eaa0: 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 ournal.c$(SQLIT
eab0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF eac0: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
ead0: 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78 65  TS)..showwal.exe
eae0: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68  :.$(TOP)\tool\sh eaf0: 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 owwal.c$(SQLITE
eb00: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H). eb10: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ eb20: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 WARN) -DSQLITE_T eb30: 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 HREADSAFE=0 -DSQ eb40: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 LITE_OMIT_LOAD_E eb50: 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c XTENSION -Fe$@ \
eb60: 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s eb70: 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 howwal.c$(SQLIT
eb80: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF eb90: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
eba0: 54 53 29 0a 0a 63 68 61 6e 67 65 73 65 74 2e 65  TS)..changeset.e
ebb0: 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 73  xe:.$(TOP)\ext\s ebc0: 65 73 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 ession\changeset ebd0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 0a 09 .c$(SQLITE3C)..
ebe0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
ebf0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
ec00: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
ec10: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
ec20: 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a  TENSION -Fe$@ \. ec30: 09 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 ..$(TOP)\ext\ses
ec40: 73 69 6f 6e 5c 63 68 61 6e 67 65 73 65 74 2e 63  sion\changeset.c
ec50: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li ec60: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( ec70: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 74 73 LTLINKOPTS)..fts ec80: 33 76 69 65 77 2e 65 78 65 3a 09 24 28 54 4f 50 3view.exe:.$(TOP
ec90: 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c 5c  )\ext\fts3\tool\
eca0: 66 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 4c  fts3view.c $(SQL ecb0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
ecc0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK)$(
ecd0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
ece0: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d  E_THREADSAFE=0 -
ecf0: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
ed00: 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24  D_EXTENSION -Fe$ed10: 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78 74 @ \...$(TOP)\ext
ed20: 5c 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76  \fts3\tool\fts3v
ed30: 69 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 43  iew.c $(SQLITE3C ed40: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
ed50: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) ed60: 0a 0a 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e ..rollback-test. ed70: 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c exe:.$(TOP)\tool
ed80: 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63  \rollback-test.c
ed90: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
eda0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI edb0: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
edc0: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
edd0: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
ede0: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
edf0: 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f  N -Fe$@ \...$(TO
ee00: 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b  P)\tool\rollback
ee10: 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  -test.c $(SQLITE ee20: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 3C) /link$(LDFL
ee30: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT ee40: 53 29 0a 0a 4c 6f 67 45 73 74 2e 65 78 65 3a 09 S)..LogEst.exe:. ee50: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 6f 67 65$(TOP)\tool\loge
ee60: 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 48 29  st.c $(SQLITE3H) ee70: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO ee80: 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 _WARN) -Fe$@ $(T ee90: 4f 50 29 5c 74 6f 6f 6c 5c 4c 6f 67 45 73 74 2e OP)\tool\LogEst. eea0: 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 c /link$(LDFLAG
eeb0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) eec0: 0a 0a 77 6f 72 64 63 6f 75 6e 74 2e 65 78 65 3a ..wordcount.exe: eed0: 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 .$(TOP)\test\wor
eee0: 64 63 6f 75 6e 74 2e 63 20 24 28 53 51 4c 49 54  dcount.c $(SQLIT eef0: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
ef00: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
ef10: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
ef20: 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
ef30: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
ef40: 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20  EXTENSION -Fe$@ ef50: 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 74 5c \...$(TOP)\test\
ef60: 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 28 53 51  wordcount.c $(SQ ef70: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
ef80: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN ef90: 4b 4f 50 54 53 29 0a 0a 73 70 65 65 64 74 65 73 KOPTS)..speedtes efa0: 74 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 t1.exe:.$(TOP)\t
efb0: 65 73 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63  est\speedtest1.c
efc0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
efd0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI efe0: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
eff0: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41  DSQLITE_OMIT_LOA
f000: 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24  D_EXTENSION -Fe$f010: 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 65 73 @ \...$(TOP)\tes
f020: 74 5c 73 70 65 65 64 74 65 73 74 31 2e 63 20 24  t\speedtest1.c $f030: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b (SQLITE3C) /link f040: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT f050: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 62 75 2e 65 LINKOPTS)..rbu.e f060: 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 xe:.$(TOP)\ext\r
f070: 62 75 5c 72 62 75 2e 63 20 24 28 54 4f 50 29 5c  bu\rbu.c $(TOP)\ f080: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 ext\rbu\sqlite3r f090: 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 bu.c$(SQLITE3C)
f0a0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
f0b0: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR f0c0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 N) -DSQLITE_ENAB f0d0: 4c 45 5f 52 42 55 20 2d 46 65 24 40 20 5c 0a 09 LE_RBU -Fe$@ \..
f0e0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c  .$(TOP)\ext\rbu\ f0f0: 72 62 75 2e 63 20 24 28 53 51 4c 49 54 45 33 43 rbu.c$(SQLITE3C
f100: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG f110: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
f120: 0a 0a 6d 6f 72 65 63 6c 65 61 6e 3a 09 63 6c 65  ..moreclean:.cle
f130: 61 6e 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c  an..del /Q $(SQL f140: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
f150: 48 29 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61  H) 2>NUL.# <</ma
f160: 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65  rk>>..clean:..de
f170: 6c 20 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20  l /Q *.exp *.lo
f180: 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62  *.ilk *.lib *.ob
f190: 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e  j *.ncb *.pdb *.
f1a0: 73 64 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a  sdf *.suo 2>NUL.
f1b0: 09 64 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e  .del /Q *.bsc *.
f1c0: 64 65 66 20 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a  def *.cod *.da *
f1d0: 2e 62 62 20 2a 2e 62 62 67 20 2a 2e 76 63 20 67  .bb *.bbg *.vc g
f1e0: 6d 6f 6e 2e 6f 75 74 20 32 3e 4e 55 4c 0a 09 64  mon.out 2>NUL..d
f1f0: 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33 45  el /Q $(SQLITE3E f200: 58 45 29 20 24 28 53 51 4c 49 54 45 33 44 4c 4c XE)$(SQLITE3DLL
f210: 29 20 52 65 70 6c 61 63 65 2e 65 78 65 20 32 3e  ) Replace.exe 2>
f220: 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 09  NUL.# <<mark>>..
f230: 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63  del /Q sqlite3.c
f240: 20 73 71 6c 69 74 65 33 2e 68 20 32 3e 4e 55 4c   sqlite3.h 2>NUL
f250: 0a 09 64 65 6c 20 2f 51 20 6f 70 63 6f 64 65 73  ..del /Q opcodes
f260: 2e 63 20 6f 70 63 6f 64 65 73 2e 68 20 32 3e 4e  .c opcodes.h 2>N
f270: 55 4c 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e  UL..del /Q lemon
f280: 2e 2a 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73  .* lempar.c pars
f290: 65 2e 2a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  e.* 2>NUL..del /
f2a0: 51 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  Q mkkeywordhash.
f2b0: 2a 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20  * keywordhash.h
f2c0: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6e 6f  2>NUL..del /Q no
f2d0: 74 61 73 68 61 72 65 64 6c 69 62 2e 2a 20 32 3e  tasharedlib.* 2>
f2e0: 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53  NUL..-rmdir /Q/S
f2f0: 20 2e 64 65 70 73 20 32 3e 4e 55 4c 0a 09 2d 72   .deps 2>NUL..-r
f300: 6d 64 69 72 20 2f 51 2f 53 20 2e 6c 69 62 73 20  mdir /Q/S .libs
f310: 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51  2>NUL..-rmdir /Q
f320: 2f 53 20 74 73 72 63 20 32 3e 4e 55 4c 0a 09 64  /S tsrc 2>NUL..d
f330: 65 6c 20 2f 51 20 2e 74 61 72 67 65 74 5f 73 6f  el /Q .target_so
f340: 75 72 63 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  urce 2>NUL..del
f350: 2f 51 20 74 63 6c 73 71 6c 69 74 65 33 2e 65 78  /Q tclsqlite3.ex
f360: 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  e 2>NUL..del /Q
f370: 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 20  testloadext.dll
f380: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65  2>NUL..del /Q te
f390: 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 74 65  stfixture.exe te
f3a0: 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 64 65 6c  st.db 2>NUL..del
f3b0: 20 2f 51 20 4c 6f 67 45 73 74 2e 65 78 65 20 66   /Q LogEst.exe f
f3c0: 74 73 33 76 69 65 77 2e 65 78 65 20 72 6f 6c 6c  ts3view.exe roll
f3d0: 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 20 73 68  back-test.exe sh
f3e0: 6f 77 64 62 2e 65 78 65 20 32 3e 4e 55 4c 0a 09  owdb.exe 2>NUL..
f3f0: 64 65 6c 20 2f 51 20 63 68 61 6e 67 65 73 65 74  del /Q changeset
f400: 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  .exe 2>NUL..del
f410: 2f 51 20 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65  /Q showjournal.e
f420: 78 65 20 73 68 6f 77 73 74 61 74 34 2e 65 78 65  xe showstat4.exe
f430: 20 73 68 6f 77 77 61 6c 2e 65 78 65 20 73 70 65   showwal.exe spe
f440: 65 64 74 65 73 74 31 2e 65 78 65 20 32 3e 4e 55  edtest1.exe 2>NU
f450: 4c 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 74  L..del /Q mptest
f460: 65 72 2e 65 78 65 20 77 6f 72 64 63 6f 75 6e 74  er.exe wordcount
f470: 2e 65 78 65 20 72 62 75 2e 65 78 65 20 73 72 63  .exe rbu.exe src
f480: 63 6b 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64  ck1.exe 2>NUL..d
f490: 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 63 20  el /Q sqlite3.c
f4a0: 73 71 6c 69 74 65 33 2d 2a 2e 63 20 32 3e 4e 55  sqlite3-*.c 2>NU
f4b0: 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
f4c0: 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  3rc.h 2>NUL..del
f4d0: 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73 71 6c 69   /Q shell.c sqli
f4e0: 74 65 33 65 78 74 2e 68 20 73 71 6c 69 74 65 33  te3ext.h sqlite3
f4f0: 73 65 73 73 69 6f 6e 2e 68 20 32 3e 4e 55 4c 0a  session.h 2>NUL.
f500: 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 5f  .del /Q sqlite3_
f510: 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 73 71 6c  analyzer.exe sql
f520: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20  ite3_analyzer.c
f530: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
f540: 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e 76 73  lite-*-output.vs
f550: 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  ix 2>NUL..del /Q
f560: 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65   fuzzershell.exe
f570: 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 73   fuzzcheck.exe s
f580: 71 6c 64 69 66 66 2e 65 78 65 20 32 3e 4e 55 4c  qldiff.exe 2>NUL
f590: 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 2e 2a 20  ..del /Q fts5.*
f5a0: 66 74 73 35 70 61 72 73 65 2e 2a 20 32 3e 4e 55  fts5parse.* 2>NU
f5b0: 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a        L.# <</mark>>.