/ Hex Artifact Content

• File Makefile.msc — part of check-in [6eab74c9] at 2016-02-08 20:45:37 on branch trunk — Fix spelling error in MSVC makefile comments. (user: mistachkin size: 61572) [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: 41 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  AP 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 41 50 0a 46 4f 52 5f 55 41 50 20 3d 20 30  _UAP.FOR_UAP = 0
0c80: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0c90: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
0ca0: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
0cb0: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
0cc0: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
0cd0: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
0ce0: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
0cf0: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..#
0d00: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
0d10: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
0d20: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to
0d30: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or
0d40: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
0d50: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
0d60: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
0d70: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
0d80: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0d90: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0da0: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
0db0: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
0dc0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
0dd0: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
0de0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0df0: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
0e00: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
0e10: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
0e20: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
0e30: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
0e40: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
0e50: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
0e60: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
0e70: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap
0e80: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
0e90: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
0ea0: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
0eb0: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this
0ec0: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
0ed0: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
0ee0: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
0ef0: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.#
0f00: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
0f10: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
0f20: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
0f30: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
0f40: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
0f50: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
0f60: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
0f70: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
0f80: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
0f90: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
0fa0: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
0fb0: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
0fc0: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
0fd0: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
0fe0: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for
0ff0: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1000: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1010: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
1020: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime
1030: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
1040: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
1050: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
1060: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
1070: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of
1080: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 ==
1090: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG
10a0: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
10b0: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
10c0: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
10d0: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
10e0: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
10f0: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1100: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1110: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
1120: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
1130: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
1140: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native
1150: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
1160: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
1170: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
1180: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
1190: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
11a0: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
11b0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
11c0: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
11d0: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
11e0: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
11f0: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1200: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1210: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
1220: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
1230: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
1240: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
1250: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
1260: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
1270: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero,
1280: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
1290: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
12a0: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
12b0: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
12c0: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
12d0: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
12e0: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS =
12f0: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set
1300: 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20  the source code
1310: 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20  file to be used
1320: 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 61  by executables a
1330: 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 65  nd libraries whe
1340: 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 74 68  n.# they need th
1350: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a  e amalgamation..
1360: 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45  #.!IFNDEF SQLITE
1370: 33 43 0a 21 49 46 20 24 28 53 50 4c 49 54 5f 41  3C.!IF $(SPLIT_A 1380: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 0a MALGAMATION)!=0. 1390: 53 51 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 SQLITE3C = sqlit 13a0: 65 33 2d 61 6c 6c 2e 63 0a 21 45 4c 53 45 0a 53 e3-all.c.!ELSE.S 13b0: 51 4c 49 54 45 33 43 20 3d 20 73 71 6c 69 74 65 QLITE3C = sqlite 13c0: 33 2e 63 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 3.c.!ENDIF.!ENDI 13d0: 46 0a 0a 23 20 53 65 74 20 74 68 65 20 69 6e 63 F..# Set the inc 13e0: 6c 75 64 65 20 63 6f 64 65 20 66 69 6c 65 20 74 lude code file t 13f0: 6f 20 62 65 20 75 73 65 64 20 62 79 20 65 78 65 o be used by exe 1400: 63 75 74 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 cutables and lib 1410: 72 61 72 69 65 73 20 77 68 65 6e 0a 23 20 74 68 raries when.# th 1420: 65 79 20 6e 65 65 64 20 53 51 4c 69 74 65 2e 0a ey need SQLite.. 1430: 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 #.!IFNDEF SQLITE 1440: 33 48 0a 53 51 4c 49 54 45 33 48 20 3d 20 73 71 3H.SQLITE3H = sq 1450: 6c 69 74 65 33 2e 68 0a 21 45 4e 44 49 46 0a 0a lite3.h.!ENDIF.. 1460: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 # This is the na 1470: 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 me to use for th 1480: 65 20 53 51 4c 69 74 65 20 64 79 6e 61 6d 69 63 e SQLite dynamic 1490: 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 28 44 link library (D 14a0: 4c 4c 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 LL)..#.!IFNDEF S 14b0: 51 4c 49 54 45 33 44 4c 4c 0a 53 51 4c 49 54 45 QLITE3DLL.SQLITE 14c0: 33 44 4c 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 3DLL = sqlite3.d 14d0: 6c 6c 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 ll.!ENDIF..# Thi 14e0: 73 20 69 73 20 74 68 65 20 6e 61 6d 65 20 74 6f s is the name to 14f0: 20 75 73 65 20 66 6f 72 20 74 68 65 20 53 51 4c use for the SQL 1500: 69 74 65 20 69 6d 70 6f 72 74 20 6c 69 62 72 61 ite import libra 1510: 72 79 20 28 4c 49 42 29 2e 0a 23 0a 21 49 46 4e ry (LIB)..#.!IFN 1520: 44 45 46 20 53 51 4c 49 54 45 33 4c 49 42 0a 53 DEF SQLITE3LIB.S 1530: 51 4c 49 54 45 33 4c 49 42 20 3d 20 73 71 6c 69 QLITE3LIB = sqli 1540: 74 65 33 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a te3.lib.!ENDIF.. 1550: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 # This is the na 1560: 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 me to use for th 1570: 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 65 e SQLite shell e 1580: 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 2e xecutable (EXE). 1590: 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 .#.!IFNDEF SQLIT 15a0: 45 33 45 58 45 0a 53 51 4c 49 54 45 33 45 58 45 E3EXE.SQLITE3EXE 15b0: 20 3d 20 73 71 6c 69 74 65 33 2e 65 78 65 0a 21 = sqlite3.exe.! 15c0: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 ENDIF..# This is 15d0: 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 75 73 the argument us 15e0: 65 64 20 74 6f 20 73 65 74 20 74 68 65 20 70 72 ed to set the pr 15f0: 6f 67 72 61 6d 20 64 61 74 61 62 61 73 65 20 28 ogram database ( 1600: 50 44 42 29 20 66 69 6c 65 20 66 6f 72 20 74 68 PDB) file for th 1610: 65 0a 23 20 53 51 4c 69 74 65 20 73 68 65 6c 6c e.# SQLite shell 1620: 20 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 executable (EXE 1630: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c )..#.!IFNDEF SQL 1640: 49 54 45 33 45 58 45 50 44 42 0a 53 51 4c 49 54 ITE3EXEPDB.SQLIT 1650: 45 33 45 58 45 50 44 42 20 3d 20 2f 70 64 62 3a E3EXEPDB = /pdb: 1660: 73 71 6c 69 74 65 33 73 68 2e 70 64 62 0a 21 45 sqlite3sh.pdb.!E 1670: 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 NDIF..# These ar 1680: 65 20 74 68 65 20 22 73 74 61 6e 64 61 72 64 22 e the "standard" 1690: 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 SQLite compilat 16a0: 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 ion options used 16b0: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 when compiling 16c0: 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64 6f 77 for.# the Window 16d0: 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 s platform..#.!I 16e0: 46 4e 44 45 46 20 4f 50 54 5f 46 45 41 54 55 52 FNDEF OPT_FEATUR 16f0: 45 5f 46 4c 41 47 53 0a 4f 50 54 5f 46 45 41 54 E_FLAGS.OPT_FEAT 1700: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 URE_FLAGS =$(OP
1710: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
1720: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
1730: 5f 46 54 53 33 3d 31 0a 4f 50 54 5f 46 45 41 54  _FTS3=1.OPT_FEAT
1740: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50  URE_FLAGS = $(OP 1750: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) 1760: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 -DSQLITE_ENABLE 1770: 5f 52 54 52 45 45 3d 31 0a 4f 50 54 5f 46 45 41 _RTREE=1.OPT_FEA 1780: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f TURE_FLAGS =$(O
1790: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
17a0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
17b0: 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54  E_COLUMN_METADAT
17c0: 41 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  A=1.!ENDIF..# Th
17d0: 65 73 65 20 61 72 65 20 74 68 65 20 22 65 78 74  ese are the "ext
17e0: 65 6e 64 65 64 22 20 53 51 4c 69 74 65 20 63 6f  ended" SQLite co
17f0: 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e  mpilation option
1800: 73 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70  s used when comp
1810: 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68 65 20  iling for.# the
1820: 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66  Windows 10 platf
1830: 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 45  orm..#.!IFNDEF E
1840: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
1850: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30  .!IF $(FOR_WIN10 1860: 29 21 3d 30 0a 45 58 54 5f 46 45 41 54 55 52 45 )!=0.EXT_FEATURE 1870: 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 _FLAGS =$(EXT_F
1880: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
1890: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54  SQLITE_ENABLE_FT
18a0: 53 34 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45  S4=1.EXT_FEATURE
18b0: 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46  _FLAGS = $(EXT_F 18c0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 EATURE_FLAGS) -D 18d0: 53 51 4c 49 54 45 5f 53 59 53 54 45 4d 5f 4d 41 SQLITE_SYSTEM_MA 18e0: 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 45 41 54 55 LLOC=1.EXT_FEATU 18f0: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 58 54 RE_FLAGS =$(EXT
1900: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
1910: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  -DSQLITE_OMIT_LO
1920: 43 41 4c 54 49 4d 45 3d 31 0a 21 45 4c 53 45 0a  CALTIME=1.!ELSE.
1930: 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  EXT_FEATURE_FLAG
1940: 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  S =.!ENDIF.!ENDI
1950: 46 0a 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  F..#############
1960: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1970: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1980: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1990: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19a0: 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ##.#############
19b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19c0: 23 23 20 45 4e 44 20 4f 46 20 4f 50 54 49 4f 4e  ## END OF OPTION
19d0: 53 20 23 23 23 23 23 23 23 23 23 23 23 23 23 23  S ##############
19e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19f0: 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ##.#############
1a00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1a10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1a20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1a30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1a40: 23 23 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69  ##..# When compi
1a50: 6c 69 6e 67 20 66 6f 72 20 74 68 65 20 57 69 6e  ling for the Win
1a60: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d  dows 10 platform
1a70: 2c 20 74 68 65 20 50 4c 41 54 46 4f 52 4d 20 6d  , the PLATFORM m
1a80: 61 63 72 6f 20 6d 75 73 74 20 62 65 20 73 65 74  acro must be set
1a90: 0a 23 20 74 6f 20 61 6e 20 61 70 70 72 6f 70 72  .# to an appropr
1aa0: 69 61 74 65 20 76 61 6c 75 65 20 28 65 2e 67 2e  iate value (e.g.
1ab0: 20 78 38 36 2c 20 78 36 34 2c 20 61 72 6d 2c 20   x86, x64, arm,
1ac0: 61 72 6d 36 34 2c 20 65 74 63 29 2e 0a 23 0a 21  arm64, etc)..#.!
1ad0: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  IF $(FOR_WIN10)! 1ae0: 3d 30 0a 21 49 46 4e 44 45 46 20 50 4c 41 54 46 =0.!IFNDEF PLATF 1af0: 4f 52 4d 0a 21 45 52 52 4f 52 20 55 73 69 6e 67 ORM.!ERROR Using 1b00: 20 74 68 65 20 46 4f 52 5f 57 49 4e 31 30 20 6f the FOR_WIN10 o 1b10: 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 ption requires a 1b20: 20 76 61 6c 75 65 20 66 6f 72 20 50 4c 41 54 46 value for PLATF 1b30: 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 ORM..!ENDIF.!END 1b40: 49 46 0a 0a 23 20 54 68 69 73 20 61 73 73 75 6d IF..# This assum 1b50: 65 73 20 74 68 61 74 20 4d 53 56 43 20 69 73 20 es that MSVC is 1b60: 61 6c 77 61 79 73 20 69 6e 73 74 61 6c 6c 65 64 always installed 1b70: 20 69 6e 20 33 32 2d 62 69 74 20 50 72 6f 67 72 in 32-bit Progr 1b80: 61 6d 20 46 69 6c 65 73 20 64 69 72 65 63 74 6f am Files directo 1b90: 72 79 0a 23 20 61 6e 64 20 73 65 74 73 20 74 68 ry.# and sets th 1ba0: 65 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20 75 e variable for u 1bb0: 73 65 20 69 6e 20 6c 6f 63 61 74 69 6e 67 20 6f se in locating o 1bc0: 74 68 65 72 20 33 32 2d 62 69 74 20 69 6e 73 74 ther 32-bit inst 1bd0: 61 6c 6c 73 20 61 63 63 6f 72 64 69 6e 67 6c 79 alls accordingly 1be0: 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 ..#.PROGRAMFILES 1bf0: 5f 58 38 36 20 3d 20 24 28 56 43 49 4e 53 54 41 _X86 =$(VCINSTA
1c00: 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e 0a 50 52 4f  LLDIR)\..\...PRO
1c10: 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 20 3d 20  GRAMFILES_X86 =
1c20: 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58  $(PROGRAMFILES_X 1c30: 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 86:\\=\)..# Chec 1c40: 6b 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 k for the predef 1c50: 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 ined command mac 1c60: 72 6f 20 43 43 2e 20 20 54 68 69 73 20 73 68 6f ro CC. This sho 1c70: 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 uld point to the 1c80: 20 63 6f 6d 70 69 6c 65 72 0a 23 20 62 69 6e 61 compiler.# bina 1c90: 72 79 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 ry for the targe 1ca0: 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 t platform. If 1cb0: 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 it is not define 1cc0: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 d, simply define 1cd0: 20 69 74 20 74 6f 0a 23 20 74 68 65 20 6c 65 67 it to.# the leg 1ce0: 61 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 acy default valu 1cf0: 65 20 27 63 6c 2e 65 78 65 27 2e 0a 23 0a 21 49 e 'cl.exe'..#.!I 1d00: 46 4e 44 45 46 20 43 43 0a 43 43 20 3d 20 63 6c FNDEF CC.CC = cl 1d10: 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 .exe.!ENDIF..# C 1d20: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d heck for the com 1d30: 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e 20 20 mand macro LD. 1d40: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e This should poin 1d50: 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 72 20 t to the linker 1d60: 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 68 65 binary for.# the 1d70: 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d target platform 1d80: 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 . If it is not 1d90: 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 defined, simply 1da0: 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68 65 define it to the 1db0: 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61 75 6c legacy.# defaul 1dc0: 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e 65 78 t value 'link.ex 1dd0: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 44 e'..#.!IFNDEF LD 1de0: 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 0a 21 .LD = link.exe.! 1df0: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 ENDIF..# Check f 1e00: 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 or the predefine 1e10: 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 d command macro 1e20: 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 RC. This should 1e30: 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 72 65 point to the re 1e40: 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 6c 65 source.# compile 1e50: 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 r binary for the 1e60: 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d target platform 1e70: 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 . If it is not 1e80: 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 defined, simply 1e90: 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f 20 74 define.# it to t 1ea0: 68 65 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c he legacy defaul 1eb0: 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78 65 27 t value 'rc.exe' 1ec0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 0a 52 ..#.!IFNDEF RC.R 1ed0: 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e 44 49 C = rc.exe.!ENDI 1ee0: 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 F..# Check for t 1ef0: 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 he MSVC runtime 1f00: 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 library path mac 1f10: 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 ro. Otherwise, 1f20: 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a this value will. 1f30: 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 # default to the 1f40: 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 'lib' directory 1f50: 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 underneath the 1f60: 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 69 6f MSVC installatio 1f70: 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 n directory..#.! 1f80: 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50 41 54 IFNDEF CRTLIBPAT 1f90: 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 H.CRTLIBPATH =$
1fa0: 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 6c  (VCINSTALLDIR)\l
1fb0: 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54 4c 49  ib.!ENDIF..CRTLI
1fc0: 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42  BPATH = $(CRTLIB 1fd0: 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 PATH:\\=\)..# Ch 1fe0: 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d eck for the comm 1ff0: 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e 20 20 and macro NCC. 2000: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e This should poin 2010: 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 t to the compile 2020: 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 20 74 r binary.# for t 2030: 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 he platform the 2040: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 compilation proc 2050: 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c ess is taking pl 2060: 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 20 69 ace on. If it i 2070: 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 64 2c s not.# defined, 2080: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 simply define i 2090: 74 20 74 6f 20 68 61 76 65 20 74 68 65 20 73 61 t to have the sa 20a0: 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68 65 20 me value as the 20b0: 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 6e 0a CC macro. When. 20c0: 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e # cross-compilin 20d0: 67 2c 20 69 74 20 69 73 20 73 75 67 67 65 73 74 g, it is suggest 20e0: 65 64 20 74 68 61 74 20 74 68 69 73 20 6d 61 63 ed that this mac 20f0: 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 76 ro be modified v 2100: 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 ia the command.# 2110: 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e 6d 61 line (since nma 2120: 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73 20 6e ke itself does n 2130: 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62 75 69 ot provide a bui 2140: 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 6f 20 lt-in method to 2150: 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46 6f 72 guess it)..# For 2160: 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 73 65 example, to use 2170: 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69 6c 65 the x86 compile 2180: 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 6f 6d r when cross-com 2190: 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 2c 20 piling for x64, 21a0: 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 a command.# line 21b0: 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 similar to the 21c0: 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c 64 20 following could 21d0: 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f 6e 20 be used (all on 21e0: 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 one line):.#.# 21f0: 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 nmake /f Make 2200: 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 file.msc sqlite3 2210: 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 .dll.# 2220: 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 45 5f XCOMPILE=1 USE_ 2230: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 3d NATIVE_LIBPATHS= 2240: 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 69 76 1.#.# Alternativ 2250: 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 70 61 ely, the full pa 2260: 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 6d 65 th and file name 2270: 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 to the compiler 2280: 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 0a binary for the. 2290: 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 20 63 # platform the c 22a0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 ompilation proce 22b0: 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61 ss is taking pla 22c0: 63 65 20 6d 61 79 20 62 65 20 73 70 65 63 69 66 ce may be specif 22d0: 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 6f 6e ied (all on.# on 22e0: 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 e line):.#.# 22f0: 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 nmake /f Makefi 2300: 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 le.msc sqlite3.d 2310: 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 20 22 ll.# " 2320: 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41 4c 4c NCC=""%VCINSTALL 2330: 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 65 22 DIR%\bin\cl.exe" 2340: 22 22 0a 23 20 20 20 20 20 20 20 20 20 20 20 55 "".# U 2350: 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 SE_NATIVE_LIBPAT 2360: 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 4e 43 HS=1.#.!IFDEF NC 2370: 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c C.NCC =$(NCC:\\
2380: 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28 58 43  =\).!ELSEIF $(XC 2390: 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 20 3d OMPILE)!=0.NCC = 23a0: 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 "$(VCINSTALLDIR
23b0: 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e 43 43  )\bin\$(CC)".NCC 23c0: 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 =$(NCC:\\=\).!
23d0: 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43 43 29  ELSE.NCC = $(CC) 23e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b .!ENDIF..# Check 23f0: 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 6e 61 for the MSVC na 2400: 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c 69 62 tive runtime lib 2410: 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e rary path macro. 2420: 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 20 74 Otherwise,.# t 2430: 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 his value will d 2440: 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c efault to the 'l 2450: 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e ib' directory un 2460: 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d 53 56 derneath the MSV 2470: 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e C.# installation 2480: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 directory..#.!I 2490: 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 41 54 FNDEF NCRTLIBPAT 24a0: 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 3d 20 H.NCRTLIBPATH = 24b0: 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c$(VCINSTALLDIR)\
24c0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43 52 54  lib.!ENDIF..NCRT
24d0: 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43 52 54  LIBPATH = $(NCRT 24e0: 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 LIBPATH:\\=\)..# 24f0: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 50 Check for the P 2500: 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 62 72 latform SDK libr 2510: 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 ary path macro. 2520: 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 Otherwise, this 2530: 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 64 65 .# value will de 2540: 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 fault to the 'li 2550: 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 b' directory und 2560: 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 6e 64 erneath the Wind 2570: 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 61 6c ows.# SDK instal 2580: 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 lation directory 2590: 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e (the environmen 25a0: 74 20 76 61 72 69 61 62 6c 65 20 75 73 65 64 20 t variable used 25b0: 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62 65 20 appears.# to be 25c0: 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 75 available when u 25d0: 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b 2b 20 sing Visual C++ 25e0: 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20 76 69 2008 or later vi 25f0: 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e 64 20 a the.# command 2600: 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 45 46 line)..#.!IFNDEF 2610: 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e 53 44 NSDKLIBPATH.NSD 2620: 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57 49 4e KLIBPATH =$(WIN
2630: 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69 62 0a  DOWSSDKDIR)\lib.
2640: 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49 42 50  !ENDIF..NSDKLIBP
2650: 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49 42 50  ATH = $(NSDKLIBP 2660: 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 ATH:\\=\)..# Che 2670: 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52 54 20 ck for the UCRT 2680: 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 library path mac 2690: 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 ro. Otherwise, 26a0: 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c 0a this value will. 26b0: 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 # default to the 26c0: 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 version-specifi 26d0: 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 c, platform-spec 26e0: 69 66 69 63 20 27 6c 69 62 27 20 64 69 72 65 63 ific 'lib' direc 26f0: 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 61 74 tory.# underneat 2700: 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53 44 h the Windows SD 2710: 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 K installation d 2720: 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e irectory..#.!IFN 2730: 44 45 46 20 55 43 52 54 4c 49 42 50 41 54 48 0a DEF UCRTLIBPATH. 2740: 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 UCRTLIBPATH =$(
2750: 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c  WINDOWSSDKDIR)\l
2760: 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44 4b 4c  ib\$(WINDOWSSDKL 2770: 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 74 5c IBVERSION)\ucrt\ 2780: 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4e 44$(PLATFORM).!END
2790: 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54 48 20  IF..UCRTLIBPATH
27a0: 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54 48 3a  = $(UCRTLIBPATH: 27b0: 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d 70 69 \\=\)..# C compi 27c0: 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 ler and options 27d0: 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 for use in build 27e0: 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 ing executables 27f0: 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 that.# will run 2800: 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 on the platform 2810: 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20 74 68 that is doing th 2820: 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 20 24 e build..#.!IF$
2830: 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29 21 3d  (USE_FULLWARN)!=
2840: 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20 2d  0.BCC = $(NCC) - 2850: 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43 43 4f nologo -W4$(CCO
2860: 50 54 53 29 20 24 28 42 43 43 4f 50 54 53 29 0a  PTS) $(BCCOPTS). 2870: 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28 4e 43 !ELSE.BCC =$(NC
2880: 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24  C) -nologo -W3 $2890: 28 43 43 4f 50 54 53 29 20 24 28 42 43 43 4f 50 (CCOPTS)$(BCCOP
28a0: 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68  TS).!ENDIF..# Ch
28b0: 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 20  eck if assembly
28c0: 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73 68  code listings sh
28d0: 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65  ould be generate
28e0: 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  d for the source
28f0: 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74 6f  .# code files to
2900: 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a   be compiled..#.
2910: 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49 4e  !IF $(USE_LISTIN 2920: 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24 28 42 GS)!=0.BCC =$(B
2930: 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 46  CC) -FAcs.!ENDIF
2940: 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74 68 65  ..# Check if the
2950: 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72 79 20   native library
2960: 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62 65 20  paths should be
2970: 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c  used when compil
2980: 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d 61 6e  ing.# the comman
2990: 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75 73 65  d line tools use
29a0: 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6f 6d  d during the com
29b0: 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73  pilation process
29c0: 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65 74 20  .  If.# so, set
29d0: 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6d 61  the necessary ma
29e0: 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46 20 24  cro now..#.!IF $29f0: 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 (USE_NATIVE_LIBP 2a00: 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49 42 50 ATHS)!=0.NLTLIBP 2a10: 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41 54 48 ATHS = "/LIBPATH 2a20: 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48 29 22 :$(NCRTLIBPATH)"
2a30: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 53 44   "/LIBPATH:$(NSD 2a40: 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49 46 44 KLIBPATH)"..!IFD 2a50: 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54 48 0a EF NUCRTLIBPATH. 2a60: 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 NUCRTLIBPATH =$
2a70: 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c  (NUCRTLIBPATH:\\
2a80: 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48 53 20  =\).NLTLIBPATHS
2a90: 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29  = $(NLTLIBPATHS) 2aa0: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 55 43 "/LIBPATH:$(NUC
2ab0: 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44  RTLIBPATH)".!END
2ac0: 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20 63  IF.!ENDIF..# C c
2ad0: 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69  ompiler and opti
2ae0: 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62  ons for use in b
2af0: 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62  uilding executab
2b00: 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20  les that.# will
2b10: 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72 67 65  run on the targe
2b20: 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28 42 43  t platform.  (BC
2b30: 43 20 61 6e 64 20 54 43 43 20 61 72 65 20 75 73  C and TCC are us
2b40: 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61 6d 65  ually the.# same
2b50: 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61 72 65   unless your are
2b60: 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67   cross-compiling
2b70: 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 46  .).#.!IF $(USE_F 2b80: 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43 43 20 ULLWARN)!=0.TCC 2b90: 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 =$(CC) -nologo
2ba0: 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f 4d 53  -W4 -DINCLUDE_MS
2bb0: 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54 53 29  VC_H=1 $(CCOPTS) 2bc0: 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45 4c 53$(TCCOPTS).!ELS
2bd0: 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20 2d 6e  E.TCC = $(CC) -n 2be0: 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f 50 ologo -W3$(CCOP
2bf0: 54 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21  TS) $(TCCOPTS).! 2c00: 45 4e 44 49 46 0a 0a 54 43 43 20 3d 20 24 28 54 ENDIF..TCC =$(T
2c10: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f  CC) -DSQLITE_OS_
2c20: 57 49 4e 3d 31 20 2d 49 24 28 54 4f 50 29 20 2d  WIN=1 -I$(TOP) - 2c30: 49 24 28 54 4f 50 29 5c 73 72 63 20 2d 66 70 3a I$(TOP)\src -fp:
2c40: 70 72 65 63 69 73 65 0a 52 43 43 20 3d 20 24 28  precise.RCC = $( 2c50: 52 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f RC) -DSQLITE_OS_ 2c60: 57 49 4e 3d 31 20 2d 49 24 28 54 4f 50 29 20 2d WIN=1 -I$(TOP) -
2c70: 49 24 28 54 4f 50 29 5c 73 72 63 20 24 28 52 43  I$(TOP)\src$(RC
2c80: 4f 50 54 53 29 20 24 28 52 43 43 4f 50 54 53 29  OPTS) $(RCCOPTS) 2c90: 0a 0a 23 20 41 64 6a 75 73 74 20 74 68 65 20 6e ..# Adjust the n 2ca0: 61 6d 65 73 20 6f 66 20 74 68 65 20 70 72 69 6d ames of the prim 2cb0: 61 72 79 20 74 61 72 67 65 74 73 20 66 6f 72 20 ary targets for 2cc0: 75 73 65 20 77 69 74 68 20 57 69 6e 64 6f 77 73 use with Windows 2cd0: 20 31 30 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 10..#.!IF$(FOR
2ce0: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
2cf0: 45 33 44 4c 4c 20 3d 20 77 69 6e 73 71 6c 69 74  E3DLL = winsqlit
2d00: 65 33 2e 64 6c 6c 0a 53 51 4c 49 54 45 33 4c 49  e3.dll.SQLITE3LI
2d10: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c  B = winsqlite3.l
2d20: 69 62 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20  ib.SQLITE3EXE =
2d30: 77 69 6e 73 71 6c 69 74 65 33 73 68 65 6c 6c 2e  winsqlite3shell.
2d40: 65 78 65 0a 53 51 4c 49 54 45 33 45 58 45 50 44  exe.SQLITE3EXEPD
2d50: 42 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68  B =.!ENDIF..# Ch
2d60: 65 63 6b 20 69 66 20 77 65 20 77 61 6e 74 20 74  eck if we want t
2d70: 6f 20 75 73 65 20 74 68 65 20 22 73 74 64 63 61  o use the "stdca
2d80: 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76  ll" calling conv
2d90: 65 6e 74 69 6f 6e 20 77 68 65 6e 20 63 6f 6d 70  ention when comp
2da0: 69 6c 69 6e 67 2e 0a 23 20 54 68 69 73 20 69 73  iling..# This is
2db0: 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62   not supported b
2dc0: 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 73 20  y the compilers
2dd0: 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 70 6c 61 74  for non-x86 plat
2de0: 66 6f 72 6d 73 2e 20 20 49 74 20 73 68 6f 75 6c  forms.  It shoul
2df0: 64 0a 23 20 61 6c 73 6f 20 62 65 20 6e 6f 74 65  d.# also be note
2e00: 64 20 68 65 72 65 20 74 68 61 74 20 62 75 69 6c  d here that buil
2e10: 64 69 6e 67 20 61 6e 79 20 74 61 72 67 65 74 20  ding any target
2e20: 77 69 74 68 20 74 68 65 73 65 20 22 73 74 64 63  with these "stdc
2e30: 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 0a 23 20 77  all" options.# w
2e40: 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20  ill most likely
2e50: 66 61 69 6c 20 69 66 20 74 68 65 20 54 63 6c 20  fail if the Tcl
2e60: 6c 69 62 72 61 72 79 20 69 73 20 61 6c 73 6f 20  library is also
2e70: 72 65 71 75 69 72 65 64 2e 20 20 54 68 69 73 20  required.  This
2e80: 69 73 20 64 75 65 0a 23 20 74 6f 20 68 6f 77 20  is due.# to how
2e90: 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 20  the Tcl library
2ea0: 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65  functions are de
2eb0: 63 6c 61 72 65 64 20 61 6e 64 20 65 78 70 6f 72  clared and expor
2ec0: 74 65 64 20 28 69 2e 65 2e 20 77 69 74 68 6f 75  ted (i.e. withou
2ed0: 74 0a 23 20 61 6e 20 65 78 70 6c 69 63 69 74 20  t.# an explicit
2ee0: 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69  calling conventi
2ef0: 6f 6e 2c 20 77 68 69 63 68 20 72 65 73 75 6c 74  on, which result
2f00: 73 20 69 6e 20 22 63 64 65 63 6c 22 29 2e 0a 23  s in "cdecl")..#
2f10: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA 2f20: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f LL)!=0 ||$(FOR_
2f30: 57 49 4e 31 30 29 21 3d 30 0a 21 49 46 20 22 24  WIN10)!=0.!IF "$2f40: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 (PLATFORM)"=="x8 2f50: 36 22 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 6".CORE_CCONV_OP 2f60: 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 TS = -Gz -DSQLIT 2f70: 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 E_CDECL=__cdecl 2f80: 2d 44 53 51 4c 49 54 45 5f 53 54 44 43 41 4c 4c -DSQLITE_STDCALL 2f90: 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c =__stdcall.SHELL 2fa0: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 _CCONV_OPTS = -G 2fb0: 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c z -DSQLITE_CDECL 2fc0: 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 =__cdecl -DSQLIT 2fd0: 45 5f 53 54 44 43 41 4c 4c 3d 5f 5f 73 74 64 63 E_STDCALL=__stdc 2fe0: 61 6c 6c 0a 21 45 4c 53 45 0a 21 49 46 4e 44 45 all.!ELSE.!IFNDE 2ff0: 46 20 50 4c 41 54 46 4f 52 4d 0a 43 4f 52 45 5f F PLATFORM.CORE_ 3000: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a CCONV_OPTS = -Gz 3010: 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d -DSQLITE_CDECL= 3020: 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45 __cdecl -DSQLITE 3030: 5f 53 54 44 43 41 4c 4c 3d 5f 5f 73 74 64 63 61 _STDCALL=__stdca 3040: 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f ll.SHELL_CCONV_O 3050: 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 PTS = -Gz -DSQLI 3060: 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c TE_CDECL=__cdecl 3070: 20 2d 44 53 51 4c 49 54 45 5f 53 54 44 43 41 4c -DSQLITE_STDCAL 3080: 4c 3d 5f 5f 73 74 64 63 61 6c 6c 0a 21 45 4c 53 L=__stdcall.!ELS 3090: 45 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 E.CORE_CCONV_OPT 30a0: 53 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f S =.SHELL_CCONV_ 30b0: 4f 50 54 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 OPTS =.!ENDIF.!E 30c0: 4e 44 49 46 0a 21 45 4c 53 45 0a 43 4f 52 45 5f NDIF.!ELSE.CORE_ 30d0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 CCONV_OPTS =.SHE 30e0: 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a LL_CCONV_OPTS =. 30f0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 !ENDIF..# These 3100: 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 are additional c 3110: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 ompiler options 3120: 75 73 65 64 20 66 6f 72 20 74 68 65 20 63 6f 72 used for the cor 3130: 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 e library..#.!IF 3140: 4e 44 45 46 20 43 4f 52 45 5f 43 4f 4d 50 49 4c NDEF CORE_COMPIL 3150: 45 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e E_OPTS.!IF$(DYN
3160: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c  AMIC_SHELL)!=0 |
3170: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!= 3180: 30 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 0.CORE_COMPILE_O 3190: 50 54 53 20 3d 20 24 28 43 4f 52 45 5f 43 43 4f PTS =$(CORE_CCO
31a0: 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54  NV_OPTS) -DSQLIT
31b0: 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65 63  E_API=__declspec
31c0: 28 64 6c 6c 65 78 70 6f 72 74 29 0a 21 45 4c 53  (dllexport).!ELS
31d0: 45 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  E.CORE_COMPILE_O
31e0: 50 54 53 20 3d 20 24 28 43 4f 52 45 5f 43 43 4f  PTS = $(CORE_CCO 31f0: 4e 56 5f 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a NV_OPTS).!ENDIF. 3200: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 !ENDIF..# These 3210: 61 72 65 20 74 68 65 20 61 64 64 69 74 69 6f 6e are the addition 3220: 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 74 20 al targets that 3230: 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 the core library 3240: 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 20 6f should depend o 3250: 6e 0a 23 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 n.# when linking 3260: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 ..#.!IFNDEF CORE 3270: 5f 4c 49 4e 4b 5f 44 45 50 0a 21 49 46 20 24 28 _LINK_DEP.!IF$(
3280: 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d  DYNAMIC_SHELL)!=
3290: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10 32a0: 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 )!=0.CORE_LINK_D 32b0: 45 50 20 3d 0a 21 45 4c 53 45 0a 43 4f 52 45 5f EP =.!ELSE.CORE_ 32c0: 4c 49 4e 4b 5f 44 45 50 20 3d 20 73 71 6c 69 74 LINK_DEP = sqlit 32d0: 65 33 2e 64 65 66 0a 21 45 4e 44 49 46 0a 21 45 e3.def.!ENDIF.!E 32e0: 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 NDIF..# These ar 32f0: 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e e additional lin 3300: 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 ker options used 3310: 20 66 6f 72 20 74 68 65 20 63 6f 72 65 20 6c 69 for the core li 3320: 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 brary..#.!IFNDEF 3330: 20 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 0a CORE_LINK_OPTS. 3340: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 !IF$(DYNAMIC_SH
3350: 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ELL)!=0 || $(FOR 3360: 5f 57 49 4e 31 30 29 21 3d 30 0a 43 4f 52 45 5f _WIN10)!=0.CORE_ 3370: 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4c 53 LINK_OPTS =.!ELS 3380: 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53 E.CORE_LINK_OPTS 3390: 20 3d 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e = /DEF:sqlite3. 33a0: 64 65 66 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 def.!ENDIF.!ENDI 33b0: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 F..# These are a 33c0: 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c dditional compil 33d0: 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 er options used 33e0: 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78 for the shell ex 33f0: 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e ecutable..#.!IFN 3400: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c DEF SHELL_COMPIL 3410: 45 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e E_OPTS.!IF$(DYN
3420: 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c  AMIC_SHELL)!=0 |
3430: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!= 3440: 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 0.SHELL_COMPILE_ 3450: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 OPTS =$(SHELL_C
3460: 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c  CONV_OPTS) -DSQL
3470: 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70  ITE_API=__declsp
3480: 65 63 28 64 6c 6c 69 6d 70 6f 72 74 29 0a 21 45  ec(dllimport).!E
3490: 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c  LSE.SHELL_COMPIL
34a0: 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c  E_OPTS = $(SHELL 34b0: 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45 4e _CCONV_OPTS).!EN 34c0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 DIF.!ENDIF..# Th 34d0: 69 73 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 is is the source 34e0: 20 63 6f 64 65 20 74 68 61 74 20 74 68 65 20 73 code that the s 34f0: 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 hell executable 3500: 73 68 6f 75 6c 64 20 62 65 20 63 6f 6d 70 69 6c should be compil 3510: 65 64 0a 23 20 77 69 74 68 2e 0a 23 0a 21 49 46 ed.# with..#.!IF 3520: 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f NDEF SHELL_CORE_ 3530: 53 52 43 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 SRC.!IF$(DYNAMI
3540: 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24  C_SHELL)!=0 || $3550: 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 (FOR_WIN10)!=0.S 3560: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d 0a HELL_CORE_SRC =. 3570: 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 !ELSE.SHELL_CORE 3580: 5f 53 52 43 20 3d 20 24 28 53 51 4c 49 54 45 33 _SRC =$(SQLITE3
3590: 43 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  C).!ENDIF.!ENDIF
35a0: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the
35b0: 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68 61  core library tha
35c0: 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63  t the shell exec
35d0: 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 64 65  utable should de
35e0: 70 65 6e 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e 44  pend on..#.!IFND
35f0: 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  EF SHELL_CORE_DE
3600: 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f  P.!IF $(DYNAMIC_ 3610: 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 SHELL)!=0 ||$(F
3620: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45  OR_WIN10)!=0.SHE
3630: 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 24 28  LL_CORE_DEP = $( 3640: 53 51 4c 49 54 45 33 44 4c 4c 29 0a 21 45 4c 53 SQLITE3DLL).!ELS 3650: 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 E.SHELL_CORE_DEP 3660: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 =.!ENDIF.!ENDIF 3670: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 ..# This is the 3680: 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68 61 core library tha 3690: 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 t the shell exec 36a0: 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c 69 utable should li 36b0: 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e 44 nk with..#.!IFND 36c0: 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 EF SHELL_CORE_LI 36d0: 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f B.!IF$(DYNAMIC_
36e0: 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46  SHELL)!=0 || $(F 36f0: 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 OR_WIN10)!=0.SHE 3700: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24 28 LL_CORE_LIB =$(
3710: 53 51 4c 49 54 45 33 4c 49 42 29 0a 21 45 4c 53  SQLITE3LIB).!ELS
3720: 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42  E.SHELL_CORE_LIB
3730: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46   =.!ENDIF.!ENDIF
3740: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64  ..# These are ad
3750: 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20  ditional linker
3760: 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72  options used for
3770: 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 75   the shell execu
3780: 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46  table..#.!IFNDEF
3790: 20 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53   SHELL_LINK_OPTS
37a0: 0a 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53  .SHELL_LINK_OPTS
37b0: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f   = $(SHELL_CORE_ 37c0: 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 LIB).!ENDIF..# C 37d0: 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c 79 heck if assembly 37e0: 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20 73 code listings s 37f0: 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74 hould be generat 3800: 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 ed for the sourc 3810: 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20 74 e.# code files t 3820: 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 o be compiled..# 3830: 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54 49 .!IF$(USE_LISTI
3840: 4e 47 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28  NGS)!=0.TCC = $( 3850: 54 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44 49 TCC) -FAcs.!ENDI 3860: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c F..# When compil 3870: 69 6e 67 20 74 68 65 20 6c 69 62 72 61 72 79 20 ing the library 3880: 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20 57 for use in the W 3890: 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 inRT environment 38a0: 2c 0a 23 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e ,.# the followin 38b0: 67 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f g compile-time o 38c0: 70 74 69 6f 6e 73 20 6d 75 73 74 20 62 65 20 75 ptions must be u 38d0: 73 65 64 20 61 73 20 77 65 6c 6c 20 74 6f 0a 23 sed as well to.# 38e0: 20 64 69 73 61 62 6c 65 20 75 73 65 20 6f 66 20 disable use of 38f0: 57 69 6e 33 32 20 41 50 49 73 20 74 68 61 74 20 Win32 APIs that 3900: 61 72 65 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c are not availabl 3910: 65 20 61 6e 64 20 74 6f 20 65 6e 61 62 6c 65 0a e and to enable. 3920: 23 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20 41 # use of Win32 A 3930: 50 49 73 20 74 68 61 74 20 61 72 65 20 73 70 65 PIs that are spe 3940: 63 69 66 69 63 20 74 6f 20 57 69 6e 64 6f 77 73 cific to Windows 3950: 20 38 20 61 6e 64 2f 6f 72 20 57 69 6e 52 54 2e 8 and/or WinRT. 3960: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e .#.!IF$(FOR_WIN
3970: 52 54 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  RT)!=0.TCC = $(T 3980: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f CC) -DSQLITE_OS_ 3990: 57 49 4e 52 54 3d 31 0a 52 43 43 20 3d 20 24 28 WINRT=1.RCC =$(
39a0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53  RCC) -DSQLITE_OS
39b0: 5f 57 49 4e 52 54 3d 31 0a 54 43 43 20 3d 20 24  _WINRT=1.TCC = $39c0: 28 54 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 (TCC) -DWINAPI_F 39d0: 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d AMILY=WINAPI_FAM 39e0: 49 4c 59 5f 41 50 50 0a 52 43 43 20 3d 20 24 28 ILY_APP.RCC =$(
39f0: 52 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 41  RCC) -DWINAPI_FA
3a00: 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d 49  MILY=WINAPI_FAMI
3a10: 4c 59 5f 41 50 50 0a 21 45 4e 44 49 46 0a 0a 23  LY_APP.!ENDIF..#
3a20: 20 43 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69   C compiler opti
3a30: 6f 6e 73 20 66 6f 72 20 74 68 65 20 57 69 6e 64  ons for the Wind
3a40: 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 20  ows 10 platform
3a50: 28 6e 65 65 64 73 20 4d 53 56 43 20 32 30 31 35  (needs MSVC 2015
3a60: 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57  )..#.!IF $(FOR_W 3a70: 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 IN10)!=0.TCC =$
3a80: 28 54 43 43 29 20 2f 67 75 61 72 64 3a 63 66 20  (TCC) /guard:cf
3a90: 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41  -D_ARM_WINAPI_PA
3aa0: 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f  RTITION_DESKTOP_
3ab0: 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 42 43  SDK_AVAILABLE.BC
3ac0: 43 20 3d 20 24 28 42 43 43 29 20 2f 67 75 61 72  C = $(BCC) /guar 3ad0: 64 3a 63 66 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 d:cf -D_ARM_WINA 3ae0: 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45 53 PI_PARTITION_DES 3af0: 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41 42 KTOP_SDK_AVAILAB 3b00: 4c 45 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c 73 LE.!ENDIF..# Als 3b10: 6f 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 64 79 o, we need to dy 3b20: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 namically link t 3b30: 6f 20 74 68 65 20 63 6f 72 72 65 63 74 20 4d 53 o the correct MS 3b40: 56 43 20 72 75 6e 74 69 6d 65 0a 23 20 77 68 65 VC runtime.# whe 3b50: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 n compiling for 3b60: 57 69 6e 52 54 20 28 65 2e 67 2e 20 64 65 62 75 WinRT (e.g. debu 3b70: 67 20 6f 72 20 72 65 6c 65 61 73 65 29 20 4f 52 g or release) OR 3b80: 20 69 66 20 74 68 65 0a 23 20 55 53 45 5f 43 52 if the.# USE_CR 3b90: 54 5f 44 4c 4c 20 6f 70 74 69 6f 6e 20 69 73 20 T_DLL option is 3ba0: 73 65 74 20 74 6f 20 66 6f 72 63 65 20 64 79 6e set to force dyn 3bb0: 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 amically linking 3bc0: 20 74 6f 20 74 68 65 0a 23 20 4d 53 56 43 20 72 to the.# MSVC r 3bd0: 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 2e 0a untime library.. 3be0: 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 #.!IF$(FOR_WINR
3bf0: 54 29 21 3d 30 20 7c 7c 20 24 28 55 53 45 5f 43  T)!=0 || $(USE_C 3c00: 52 54 5f 44 4c 4c 29 21 3d 30 0a 21 49 46 20 24 RT_DLL)!=0.!IF$
3c10: 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d 20  (DEBUG)>1.TCC =
3c20: 24 28 54 43 43 29 20 2d 4d 44 64 0a 42 43 43 20  $(TCC) -MDd.BCC 3c30: 3d 20 24 28 42 43 43 29 20 2d 4d 44 64 0a 21 45 =$(BCC) -MDd.!E
3c40: 4c 53 45 0a 54 43 43 20 3d 20 24 28 54 43 43 29  LSE.TCC = $(TCC) 3c50: 20 2d 4d 44 0a 42 43 43 20 3d 20 24 28 42 43 43 -MD.BCC =$(BCC
3c60: 29 20 2d 4d 44 0a 21 45 4e 44 49 46 0a 21 45 4c  ) -MD.!ENDIF.!EL
3c70: 53 45 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  SE.!IF $(DEBUG)> 3c80: 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 1.TCC =$(TCC) -
3c90: 4d 54 64 0a 42 43 43 20 3d 20 24 28 42 43 43 29  MTd.BCC = $(BCC) 3ca0: 20 2d 4d 54 64 0a 21 45 4c 53 45 0a 54 43 43 20 -MTd.!ELSE.TCC 3cb0: 3d 20 24 28 54 43 43 29 20 2d 4d 54 0a 42 43 43 =$(TCC) -MT.BCC
3cc0: 20 3d 20 24 28 42 43 43 29 20 2d 4d 54 0a 21 45   = $(BCC) -MT.!E 3cd0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 3c NDIF.!ENDIF..# < 3ce0: 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20 6d 6b <mark>>.# The mk 3cf0: 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 61 6e 64 sqlite3c.tcl and 3d00: 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 mksqlite3h.tcl 3d10: 73 63 72 69 70 74 73 20 77 69 6c 6c 20 70 75 6c scripts will pul 3d20: 6c 20 69 6e 0a 23 20 61 6e 79 20 65 78 74 65 6e l in.# any exten 3d30: 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 sion header file 3d40: 73 20 62 79 20 64 65 66 61 75 6c 74 2e 20 20 46 s by default. F 3d50: 6f 72 20 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 or non-amalgamat 3d60: 69 6f 6e 0a 23 20 62 75 69 6c 64 73 2c 20 77 65 ion.# builds, we 3d70: 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 need to make su 3d80: 72 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 re the compiler 3d90: 63 61 6e 20 66 69 6e 64 20 74 68 65 73 65 2e 0a can find these.. 3da0: 23 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c #.!IF$(USE_AMAL
3db0: 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 43  GAMATION)==0.TCC
3dc0: 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f   = $(TCC) -I$(TO
3dd0: 50 29 5c 65 78 74 5c 66 74 73 33 0a 52 43 43 20  P)\ext\fts3.RCC
3de0: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50  = $(RCC) -I$(TOP
3df0: 29 5c 65 78 74 5c 66 74 73 33 0a 54 43 43 20 3d  )\ext\fts3.TCC =
3e00: 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 29   $(TCC) -I$(TOP)
3e10: 5c 65 78 74 5c 72 74 72 65 65 0a 52 43 43 20 3d  \ext\rtree.RCC =
3e20: 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29   $(RCC) -I$(TOP)
3e30: 5c 65 78 74 5c 72 74 72 65 65 0a 21 45 4e 44 49  \ext\rtree.!ENDI
3e40: 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74  F..# The mksqlit
3e50: 65 33 63 2e 74 63 6c 20 73 63 72 69 70 74 20 61  e3c.tcl script a
3e60: 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 69  ccepts some opti
3e70: 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61  ons on the comma
3e80: 6e 64 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65 6e  nd.# line.  When
3e90: 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20   compiling with
3ea0: 64 65 62 75 67 67 69 6e 67 20 65 6e 61 62 6c 65  debugging enable
3eb0: 64 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65  d, some of these
3ec0: 0a 23 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 6e  .# options are n
3ed0: 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64 65  ecessary in orde
3ee0: 72 20 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75 67  r to allow debug
3ef0: 67 69 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f 0a  ging symbols to.
3f00: 23 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79  # work correctly
3f10: 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74 75   with Visual Stu
3f20: 64 69 6f 20 77 68 65 6e 20 75 73 69 6e 67 20 74  dio when using t
3f30: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e  he amalgamation.
3f40: 0a 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c  .#.!IFNDEF MKSQL
3f50: 49 54 45 33 43 5f 41 52 47 53 0a 21 49 46 20 24  ITE3C_ARGS.!IF $3f60: 28 44 45 42 55 47 29 3e 31 0a 4d 4b 53 51 4c 49 (DEBUG)>1.MKSQLI 3f70: 54 45 33 43 5f 41 52 47 53 20 3d 20 2d 2d 6c 69 TE3C_ARGS = --li 3f80: 6e 65 6d 61 63 72 6f 73 0a 21 45 4c 53 45 0a 4d nemacros.!ELSE.M 3f90: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 3d KSQLITE3C_ARGS = 3fa0: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 23 .!ENDIF.!ENDIF.# 3fb0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65 <</mark>>..# De 3fc0: 66 69 6e 65 20 2d 44 4e 44 45 42 55 47 20 74 6f fine -DNDEBUG to 3fd0: 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 6f 75 74 compile without 3fe0: 20 64 65 62 75 67 67 69 6e 67 20 28 69 2e 65 2e debugging (i.e. 3ff0: 2c 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e , for production 4000: 20 75 73 61 67 65 29 0a 23 20 4f 6d 69 74 74 69 usage).# Omitti 4010: 6e 67 20 74 68 65 20 64 65 66 69 6e 65 20 77 69 ng the define wi 4020: 6c 6c 20 63 61 75 73 65 20 65 78 74 72 61 20 64 ll cause extra d 4030: 65 62 75 67 67 69 6e 67 20 63 6f 64 65 20 74 6f ebugging code to 4040: 20 62 65 20 69 6e 73 65 72 74 65 64 20 61 6e 64 be inserted and 4050: 0a 23 20 69 6e 63 6c 75 64 65 73 20 65 78 74 72 .# includes extr 4060: 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68 65 6e 20 a comments when 4070: 22 45 58 50 4c 41 49 4e 20 73 74 6d 74 22 20 69 "EXPLAIN stmt" i 4080: 73 20 75 73 65 64 2e 0a 23 0a 21 49 46 20 24 28 s used..#.!IF$(
4090: 44 45 42 55 47 29 3d 3d 30 0a 54 43 43 20 3d 20  DEBUG)==0.TCC =
40a0: 24 28 54 43 43 29 20 2d 44 4e 44 45 42 55 47 0a  $(TCC) -DNDEBUG. 40b0: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 4e BCC =$(BCC) -DN
40c0: 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52 43  DEBUG.RCC = $(RC 40d0: 43 29 20 2d 44 4e 44 45 42 55 47 0a 21 45 4e 44 C) -DNDEBUG.!END 40e0: 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 IF..!IF$(DEBUG)
40f0: 3e 30 20 7c 7c 20 24 28 41 50 49 5f 41 52 4d 4f  >0 || $(API_ARMO 4100: 52 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 R)!=0 ||$(FOR_W
4110: 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20 24  IN10)!=0.TCC = $4120: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 (TCC) -DSQLITE_E 4130: 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d NABLE_API_ARMOR= 4140: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 1.RCC =$(RCC) -
4150: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41  DSQLITE_ENABLE_A
4160: 50 49 5f 41 52 4d 4f 52 3d 31 0a 21 45 4e 44 49  PI_ARMOR=1.!ENDI
4170: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e  F..!IF $(DEBUG)> 4180: 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 2.TCC =$(TCC) -
4190: 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a  DSQLITE_DEBUG=1.
41a0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS 41b0: 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a 21 45 QLITE_DEBUG=1.!E 41c0: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 NDIF..!IF$(DEBU
41d0: 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 52 41 43  G)>4 || $(OSTRAC 41e0: 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 E)!=0.TCC =$(TC
41f0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43  C) -DSQLITE_FORC
4200: 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 53  E_OS_TRACE=1 -DS
4210: 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54  QLITE_DEBUG_OS_T
4220: 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52  RACE=1.RCC = $(R 4230: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 CC) -DSQLITE_FOR 4240: 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 CE_OS_TRACE=1 -D 4250: 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f SQLITE_DEBUG_OS_ 4260: 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a TRACE=1.!ENDIF.. 4270: 21 49 46 20 24 28 44 45 42 55 47 29 3e 35 0a 54 !IF$(DEBUG)>5.T
4280: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ 4290: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52 LITE_ENABLE_IOTR 42a0: 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 ACE=1.RCC =$(RC
42b0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  C) -DSQLITE_ENAB
42c0: 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 21 45 4e  LE_IOTRACE=1.!EN
42d0: 44 49 46 0a 0a 23 20 50 72 65 76 65 6e 74 20 77  DIF..# Prevent w
42e0: 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 69  arnings about "i
42f0: 6e 73 65 63 75 72 65 22 20 4d 53 56 43 20 72 75  nsecure" MSVC ru
4300: 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 66 75  ntime library fu
4310: 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 6e 67 20  nctions.# being
4320: 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28  used..#.TCC = $( 4330: 54 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 TCC) -D_CRT_SECU 4340: 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 RE_NO_DEPRECATE 4350: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f -D_CRT_SECURE_NO 4360: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 _WARNINGS.BCC = 4370: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 53 45$(BCC) -D_CRT_SE
4380: 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54  CURE_NO_DEPRECAT
4390: 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  E -D_CRT_SECURE_
43a0: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20  NO_WARNINGS.RCC
43b0: 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f  = $(RCC) -D_CRT_ 43c0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 SECURE_NO_DEPREC 43d0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 ATE -D_CRT_SECUR 43e0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23 E_NO_WARNINGS..# 43f0: 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67 Prevent warning 4400: 73 20 61 62 6f 75 74 20 22 64 65 70 72 65 63 61 s about "depreca 4410: 74 65 64 22 20 50 4f 53 49 58 20 66 75 6e 63 74 ted" POSIX funct 4420: 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 65 64 2e ions being used. 4430: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 .#.TCC =$(TCC)
4440: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
4450: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43  O_DEPRECATE -D_C
4460: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41  RT_NONSTDC_NO_WA
4470: 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28 42  RNINGS.BCC = $(B 4480: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 CC) -D_CRT_NONST 4490: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 DC_NO_DEPRECATE 44a0: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e -D_CRT_NONSTDC_N 44b0: 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d O_WARNINGS.RCC = 44c0: 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f 4e$(RCC) -D_CRT_N
44d0: 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43  ONSTDC_NO_DEPREC
44e0: 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  ATE -D_CRT_NONST
44f0: 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a  DC_NO_WARNINGS..
4500: 23 20 55 73 65 20 74 68 65 20 53 51 4c 69 74 65  # Use the SQLite
4510: 20 64 65 62 75 67 67 69 6e 67 20 68 65 61 70 20   debugging heap
4520: 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46  subsystem?.#.!IF
4530: 20 24 28 4d 45 4d 44 45 42 55 47 29 21 3d 30 0a   $(MEMDEBUG)!=0. 4540: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 TCC =$(TCC) -DS
4550: 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31  QLITE_MEMDEBUG=1
4560: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44  .RCC = $(RCC) -D 4570: 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d SQLITE_MEMDEBUG= 4580: 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 76 65 20 1..# Use native 4590: 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73 79 Win32 heap subsy 45a0: 73 74 65 6d 20 69 6e 73 74 65 61 64 20 6f 66 20 stem instead of 45b0: 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a 23 0a 21 malloc/free?.#.! 45c0: 45 4c 53 45 49 46 20 24 28 57 49 4e 33 32 48 45 ELSEIF$(WIN32HE
45d0: 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  AP)!=0.TCC = $(T 45e0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e CC) -DSQLITE_WIN 45f0: 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 43 43 20 32_MALLOC=1.RCC 4600: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 =$(RCC) -DSQLIT
4610: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31  E_WIN32_MALLOC=1
4620: 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 74 68 65  ..# Validate the
4630: 20 68 65 61 70 20 6f 6e 20 65 76 65 72 79 20 63   heap on every c
4640: 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 6e 61 74  all into the nat
4650: 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73  ive Win32 heap s
4660: 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20  ubsystem?.#.!IF
4670: 24 28 44 45 42 55 47 29 3e 33 0a 54 43 43 20 3d  $(DEBUG)>3.TCC = 4680: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45$(TCC) -DSQLITE
4690: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41  _WIN32_MALLOC_VA
46a0: 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 3d 20 24  LIDATE=1.RCC = $46b0: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 (RCC) -DSQLITE_W 46c0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 IN32_MALLOC_VALI 46d0: 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a 21 45 DATE=1.!ENDIF.!E 46e0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e NDIF..# <<mark>> 46f0: 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 .# The locations 4700: 20 6f 66 20 74 68 65 20 54 63 6c 20 68 65 61 64 of the Tcl head 4710: 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 er and library f 4720: 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65 iles. Also, the 4730: 20 6c 69 62 72 61 72 79 20 74 68 61 74 0a 23 20 library that.# 4740: 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 62 6c 65 non-stubs enable 4750: 64 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 d programs using 4760: 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e 6b 20 61 Tcl must link a 4770: 67 61 69 6e 73 74 2e 20 20 54 68 65 73 65 20 76 gainst. These v 4780: 61 72 69 61 62 6c 65 73 0a 23 20 28 54 43 4c 49 ariables.# (TCLI 4790: 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 44 49 52 NCDIR, TCLLIBDIR 47a0: 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 20 6d 61 , and LIBTCL) ma 47b0: 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 y be overridden 47c0: 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d via the environm 47d0: 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 ent.# prior to r 47e0: 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 unning nmake in 47f0: 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74 order to match t 4800: 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c he actual instal 4810: 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 led location and 4820: 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e 20 74 68 .# version on th 4830: 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49 is machine..#.!I 4840: 46 4e 44 45 46 20 54 43 4c 49 4e 43 44 49 52 0a FNDEF TCLINCDIR. 4850: 54 43 4c 49 4e 43 44 49 52 20 3d 20 63 3a 5c 74 TCLINCDIR = c:\t 4860: 63 6c 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 cl\include.!ENDI 4870: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 4c 49 F..!IFNDEF TCLLI 4880: 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 52 20 3d BDIR.TCLLIBDIR = 4890: 20 63 3a 5c 74 63 6c 5c 6c 69 62 0a 21 45 4e 44 c:\tcl\lib.!END 48a0: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 IF..!IFNDEF LIBT 48b0: 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 63 6c 38 CL.LIBTCL = tcl8 48c0: 35 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 5.lib.!ENDIF..!I 48d0: 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54 55 42 FNDEF LIBTCLSTUB 48e0: 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20 74 63 .LIBTCLSTUB = tc 48f0: 6c 73 74 75 62 38 35 2e 6c 69 62 0a 21 45 4e 44 lstub85.lib.!END 4900: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 IF..!IFNDEF LIBT 4910: 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c 50 41 54 CLPATH.LIBTCLPAT 4920: 48 20 3d 20 63 3a 5c 74 63 6c 5c 62 69 6e 0a 21 H = c:\tcl\bin.! 4930: 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63 ENDIF..# The loc 4940: 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43 ations of the IC 4950: 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62 U header and lib 4960: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65 rary files. The 4970: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28 se variables.# ( 4980: 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49 ICUINCDIR, ICULI 4990: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55 BDIR, and LIBICU 49a0: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64 ) may be overrid 49b0: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69 den via the envi 49c0: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20 ronment.# prior 49d0: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 to running nmake 49e0: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74 in order to mat 49f0: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e ch the actual in 4a00: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e stalled location 4a10: 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69 on.# this machi 4a20: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43 ne..#.!IFNDEF IC 4a30: 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 44 49 UINCDIR.ICUINCDI 4a40: 52 20 3d 20 63 3a 5c 69 63 75 5c 69 6e 63 6c 75 R = c:\icu\inclu 4a50: 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 de.!ENDIF..!IFND 4a60: 45 46 20 49 43 55 4c 49 42 44 49 52 0a 49 43 55 EF ICULIBDIR.ICU 4a70: 4c 49 42 44 49 52 20 3d 20 63 3a 5c 69 63 75 5c LIBDIR = c:\icu\ 4a80: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e lib.!ENDIF..!IFN 4a90: 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 42 49 43 DEF LIBICU.LIBIC 4aa0: 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 20 69 63 U = icuuc.lib ic 4ab0: 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a uin.lib.!ENDIF.. 4ac0: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f # This is the co 4ad0: 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 66 6f 72 mmand to use for 4ae0: 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c 6c tclsh - normall 4af0: 79 20 6a 75 73 74 20 22 74 63 6c 73 68 22 2c 20 y just "tclsh", 4b00: 62 75 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e 6f but we may.# kno 4b10: 77 20 74 68 65 20 73 70 65 63 69 66 69 63 20 76 w the specific v 4b20: 65 72 73 69 6f 6e 20 77 65 20 77 61 6e 74 20 74 ersion we want t 4b30: 6f 20 75 73 65 2e 20 20 54 68 69 73 20 76 61 72 o use. This var 4b40: 69 61 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d 44 iable (TCLSH_CMD 4b50: 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 65 72 72 ) may be.# overr 4b60: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e idden via the en 4b70: 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72 20 vironment prior 4b80: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 to running nmake 4b90: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 65 6c in order to sel 4ba0: 65 63 74 20 61 0a 23 20 73 70 65 63 69 66 69 63 ect a.# specific 4bb0: 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75 73 Tcl shell to us 4bc0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54 43 4c e..#.!IFNDEF TCL 4bd0: 53 48 5f 43 4d 44 0a 54 43 4c 53 48 5f 43 4d 44 SH_CMD.TCLSH_CMD 4be0: 20 3d 20 74 63 6c 73 68 38 35 0a 21 45 4e 44 49 = tclsh85.!ENDI 4bf0: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 F.# <</mark>>..# 4c00: 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e Compiler option 4c10: 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72 6f s needed for pro 4c20: 67 72 61 6d 73 20 74 68 61 74 20 75 73 65 20 74 grams that use t 4c30: 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20 6c 69 he readline() li 4c40: 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 brary..#.!IFNDEF 4c50: 20 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 0a READLINE_FLAGS. 4c60: 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20 3d READLINE_FLAGS = 4c70: 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49 4e 45 -DHAVE_READLINE 4c80: 3d 30 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 =0.!ENDIF..# The 4c90: 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 70 72 library that pr 4ca0: 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72 65 61 ograms using rea 4cb0: 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c 69 6e dline() must lin 4cc0: 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49 46 k against..#.!IF 4cd0: 4e 44 45 46 20 4c 49 42 52 45 41 44 4c 49 4e 45 NDEF LIBREADLINE 4ce0: 0a 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a 21 .LIBREADLINE =.! 4cf0: 45 4e 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 ENDIF..# Should 4d00: 74 68 65 20 64 61 74 61 62 61 73 65 20 65 6e 67 the database eng 4d10: 69 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65 64 20 ine be compiled 4d20: 74 68 72 65 61 64 73 61 66 65 0a 23 0a 54 43 43 threadsafe.#.TCC 4d30: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 =$(TCC) -DSQLI
4d40: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31 0a  TE_THREADSAFE=1.
4d50: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53  RCC = $(RCC) -DS 4d60: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 QLITE_THREADSAFE 4d70: 3d 31 0a 0a 23 20 44 6f 20 74 68 72 65 61 64 73 =1..# Do threads 4d80: 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 20 6f override each o 4d90: 74 68 65 72 73 20 6c 6f 63 6b 73 20 62 79 20 64 thers locks by d 4da0: 65 66 61 75 6c 74 20 28 31 29 2c 20 6f 72 20 64 efault (1), or d 4db0: 6f 20 77 65 20 74 65 73 74 20 28 2d 31 29 0a 23 o we test (-1).# 4dc0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 .TCC =$(TCC) -D
4dd0: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56  SQLITE_THREAD_OV
4de0: 45 52 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 52  ERRIDE_LOCK=-1.R
4df0: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ 4e00: 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 52 LITE_THREAD_OVER 4e10: 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23 20 RIDE_LOCK=-1..# 4e20: 41 6e 79 20 74 61 72 67 65 74 20 6c 69 62 72 61 Any target libra 4e30: 72 69 65 73 20 77 68 69 63 68 20 6c 69 62 73 71 ries which libsq 4e40: 6c 69 74 65 20 6d 75 73 74 20 62 65 20 6c 69 6e lite must be lin 4e50: 6b 65 64 20 61 67 61 69 6e 73 74 0a 23 0a 21 49 ked against.#.!I 4e60: 46 4e 44 45 46 20 54 4c 49 42 53 0a 54 4c 49 42 FNDEF TLIBS.TLIB 4e70: 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46 6c S =.!ENDIF..# Fl 4e80: 61 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 ags controlling 4e90: 75 73 65 20 6f 66 20 74 68 65 20 69 6e 20 6d 65 use of the in me 4ea0: 6d 6f 72 79 20 62 74 72 65 65 20 69 6d 70 6c 65 mory btree imple 4eb0: 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53 51 mentation.#.# SQ 4ec0: 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 20 LITE_TEMP_STORE 4ed0: 69 73 20 30 20 74 6f 20 66 6f 72 63 65 20 74 65 is 0 to force te 4ee0: 6d 70 6f 72 61 72 79 20 74 61 62 6c 65 73 20 74 mporary tables t 4ef0: 6f 20 62 65 20 69 6e 20 61 20 66 69 6c 65 2c 20 o be in a file, 4f00: 31 20 74 6f 0a 23 20 64 65 66 61 75 6c 74 20 74 1 to.# default t 4f10: 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20 64 65 66 o file, 2 to def 4f20: 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c 20 ault to memory, 4f30: 61 6e 64 20 33 20 74 6f 20 66 6f 72 63 65 20 74 and 3 to force t 4f40: 65 6d 70 6f 72 61 72 79 0a 23 20 74 61 62 6c 65 emporary.# table 4f50: 73 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 69 s to always be i 4f60: 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43 20 n memory..#.TCC 4f70: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 =$(TCC) -DSQLIT
4f80: 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a 52  E_TEMP_STORE=1.R
4f90: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ 4fa0: 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d LITE_TEMP_STORE= 4fb0: 31 0a 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73 61 1..# Enable/disa 4fc0: 62 6c 65 20 6c 6f 61 64 61 62 6c 65 20 65 78 74 ble loadable ext 4fd0: 65 6e 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74 68 ensions, and oth 4fe0: 65 72 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74 er optional feat 4ff0: 75 72 65 73 0a 23 20 62 61 73 65 64 20 6f 6e 20 ures.# based on 5000: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 28 configuration. ( 5010: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c 20 -DSQLITE_OMIT*, 5020: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 2a -DSQLITE_ENABLE* 5030: 29 2e 0a 23 20 54 68 65 20 73 61 6d 65 20 73 65 )..# The same se 5040: 74 20 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45 4e t of OMIT and EN 5050: 41 42 4c 45 20 66 6c 61 67 73 20 73 68 6f 75 6c ABLE flags shoul 5060: 64 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 74 d be passed to t 5070: 68 65 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73 65 he.# LEMON parse 5080: 72 20 67 65 6e 65 72 61 74 6f 72 20 61 6e 64 20 r generator and 5090: 74 68 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 the mkkeywordhas 50a0: 68 20 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e 0a h tool as well.. 50b0: 0a 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 .# These are the 50c0: 20 72 65 71 75 69 72 65 64 20 53 51 4c 69 74 65 required SQLite 50d0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 compilation opt 50e0: 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 ions used when c 50f0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 ompiling for.# t 5100: 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 he Windows platf 5110: 6f 72 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54 55 orm..#.REQ_FEATU 5120: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 RE_FLAGS =$(REQ
5130: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
5140: 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52 49  -DSQLITE_MAX_TRI
5150: 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30 0a 0a  GGER_DEPTH=100..
5160: 23 20 49 66 20 77 65 20 61 72 65 20 6c 69 6e 6b  # If we are link
5170: 69 6e 67 20 74 6f 20 74 68 65 20 52 50 43 52 54  ing to the RPCRT
5180: 34 20 6c 69 62 72 61 72 79 2c 20 65 6e 61 62 6c  4 library, enabl
5190: 65 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20  e features that
51a0: 6e 65 65 64 20 69 74 2e 0a 23 0a 21 49 46 20 24  need it..#.!IF $51b0: 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 (USE_RPCRT4_LIB) 51c0: 21 3d 30 0a 52 45 51 5f 46 45 41 54 55 52 45 5f !=0.REQ_FEATURE_ 51d0: 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46 45 FLAGS =$(REQ_FE
51e0: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
51f0: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 55 53 45 5f  QLITE_WIN32_USE_
5200: 55 55 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a 23  UUID=1.!ENDIF..#
5210: 20 41 64 64 20 74 68 65 20 72 65 71 75 69 72 65   Add the require
5220: 64 20 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20 53  d and optional S
5230: 51 4c 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f  QLite compilatio
5240: 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20 74  n options into t
5250: 68 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e  he command.# lin
5260: 65 73 20 75 73 65 64 20 74 6f 20 69 6e 76 6f 6b  es used to invok
5270: 65 20 74 68 65 20 4d 53 56 43 20 63 6f 64 65 20  e the MSVC code
5280: 61 6e 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d  and resource com
5290: 70 69 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d 20  pilers..#.TCC =
52a0: 24 28 54 43 43 29 20 24 28 52 45 51 5f 46 45 41  $(TCC)$(REQ_FEA
52b0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP 52c0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 T_FEATURE_FLAGS) 52d0: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46$(EXT_FEATURE_F
52e0: 4c 41 47 53 29 0a 52 43 43 20 3d 20 24 28 52 43  LAGS).RCC = $(RC 52f0: 43 29 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 C)$(REQ_FEATURE
5300: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45  _FLAGS) $(OPT_FE 5310: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 ATURE_FLAGS)$(E
5320: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
5330: 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e 79 20  )..# Add in any
5340: 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74  optional paramet
5350: 65 72 73 20 73 70 65 63 69 66 69 65 64 20 6f 6e  ers specified on
5360: 20 74 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69 6e   the commane lin
5370: 65 2c 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65 20  e, e.g..# nmake
5380: 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20  /f Makefile.msc
5390: 61 6c 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c 49  all "OPTS=-DSQLI
53a0: 54 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31 20  TE_ENABLE_FOO=1
53b0: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f  -DSQLITE_OMIT_FO
53c0: 4f 3d 31 22 0a 23 0a 54 43 43 20 3d 20 24 28 54  O=1".#.TCC = $(T 53d0: 43 43 29 20 24 28 4f 50 54 53 29 0a 52 43 43 20 CC)$(OPTS).RCC
53e0: 3d 20 24 28 52 43 43 29 20 24 28 4f 50 54 53 29  = $(RCC)$(OPTS)
53f0: 0a 0a 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e 67  ..# If compiling
5400: 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2c 20   for debugging,
5410: 61 64 64 20 73 6f 6d 65 20 64 65 66 69 6e 65 73  add some defines
5420: 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29  ..#.!IF $(DEBUG) 5430: 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 >1.TCC =$(TCC)
5440: 2d 44 5f 44 45 42 55 47 0a 42 43 43 20 3d 20 24  -D_DEBUG.BCC = $5450: 28 42 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 52 (BCC) -D_DEBUG.R 5460: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 44 CC =$(RCC) -D_D
5470: 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20 49  EBUG.!ENDIF..# I
5480: 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20  f optimizations
5490: 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 20 64  are enabled or d
54a0: 69 73 61 62 6c 65 64 20 28 65 69 74 68 65 72 20  isabled (either
54b0: 69 6d 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23 20  implicitly or.#
54c0: 65 78 70 6c 69 63 69 74 6c 79 29 2c 20 61 64 64  explicitly), add
54d0: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 66   the necessary f
54e0: 6c 61 67 73 2e 0a 23 0a 21 49 46 20 24 28 44 45  lags..#.!IF $(DE 54f0: 42 55 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54 49 BUG)>1 ||$(OPTI
5500: 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54 43  MIZATIONS)==0.TC
5510: 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a 42  C = $(TCC) -Od.B 5520: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 64 0a CC =$(BCC) -Od.
5530: 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49  !ELSEIF $(OPTIMI 5540: 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 43 43 20 ZATIONS)>=3.TCC 5550: 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a 42 43 43 =$(TCC) -Ox.BCC
5560: 20 3d 20 24 28 42 43 43 29 20 2d 4f 78 0a 21 45   = $(BCC) -Ox.!E 5570: 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 LSEIF$(OPTIMIZA
5580: 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43 20 3d 20  TIONS)==2.TCC =
5590: 24 28 54 43 43 29 20 2d 4f 32 0a 42 43 43 20 3d  $(TCC) -O2.BCC = 55a0: 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 45 4c 53$(BCC) -O2.!ELS
55b0: 45 49 46 20 24 28 4f 50 54 49 4d 49 5a 41 54 49  EIF $(OPTIMIZATI 55c0: 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d 20 24 28 ONS)==1.TCC =$(
55d0: 54 43 43 29 20 2d 4f 31 0a 42 43 43 20 3d 20 24  TCC) -O1.BCC = $55e0: 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e 44 49 46 (BCC) -O1.!ENDIF 55f0: 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c 73 20 61 ..# If symbols a 5600: 72 65 20 65 6e 61 62 6c 65 64 20 28 6f 72 20 63 re enabled (or c 5610: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 62 ompiling for deb 5620: 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 6c 65 20 ugging), enable 5630: 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 PDBs..#.!IF$(DE
5640: 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d 42  BUG)>1 || $(SYMB 5650: 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 OLS)!=0.TCC =$(
5660: 54 43 43 29 20 2d 5a 69 0a 42 43 43 20 3d 20 24  TCC) -Zi.BCC = $5670: 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e 44 49 46 (BCC) -Zi.!ENDIF 5680: 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 49 ..# <<mark>>.# I 5690: 66 20 49 43 55 20 73 75 70 70 6f 72 74 20 69 73 f ICU support is 56a0: 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20 74 68 enabled, add th 56b0: 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f e compiler optio 56c0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46 ns for it..#.!IF 56d0: 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 54$(USE_ICU)!=0.T
56e0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ 56f0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 3d LITE_ENABLE_ICU= 5700: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 1.RCC =$(RCC) -
5710: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49  DSQLITE_ENABLE_I
5720: 43 55 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43  CU=1.TCC = $(TCC 5730: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 69 ) -I$(TOP)\ext\i
5740: 63 75 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20  cu.RCC = $(RCC) 5750: 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 -I$(TOP)\ext\icu
5760: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  .TCC = $(TCC) -I 5770: 24 28 49 43 55 49 4e 43 44 49 52 29 0a 52 43 43$(ICUINCDIR).RCC
5780: 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 49 43   = $(RCC) -I$(IC
5790: 55 49 4e 43 44 49 52 29 0a 21 45 4e 44 49 46 0a  UINCDIR).!ENDIF.
57a0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43  # <</mark>>..# C
57b0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 72 65 66  ommand line pref
57c0: 69 78 65 73 20 66 6f 72 20 63 6f 6d 70 69 6c 69  ixes for compili
57d0: 6e 67 20 63 6f 64 65 2c 20 63 6f 6d 70 69 6c 69  ng code, compili
57e0: 6e 67 20 72 65 73 6f 75 72 63 65 73 2c 0a 23 20  ng resources,.#
57f0: 6c 69 6e 6b 69 6e 67 2c 20 65 74 63 2e 0a 23 0a  linking, etc..#.
5800: 4c 54 43 4f 4d 50 49 4c 45 20 3d 20 24 28 54 43  LTCOMPILE = $(TC 5810: 43 29 20 2d 46 6f 24 40 0a 4c 54 52 43 4f 4d 50 C) -Fo$@.LTRCOMP
5820: 49 4c 45 20 3d 20 24 28 52 43 43 29 20 2d 72 0a  ILE = $(RCC) -r. 5830: 4c 54 4c 49 42 20 3d 20 6c 69 62 2e 65 78 65 0a LTLIB = lib.exe. 5840: 4c 54 4c 49 4e 4b 20 3d 20 24 28 54 43 43 29 20 LTLINK =$(TCC)
5850: 2d 46 65 24 40 0a 0a 23 20 49 66 20 72 65 71 75  -Fe$@..# If requ 5860: 65 73 74 65 64 2c 20 6c 69 6e 6b 20 74 6f 20 74 ested, link to t 5870: 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 72 he RPCRT4 librar 5880: 79 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 y..#.!IF$(USE_R
5890: 50 43 52 54 34 5f 4c 49 42 29 21 3d 30 0a 4c 54  PCRT4_LIB)!=0.LT
58a0: 4c 49 4e 4b 20 3d 20 24 28 4c 54 4c 49 4e 4b 29  LINK = $(LTLINK) 58b0: 20 72 70 63 72 74 34 2e 6c 69 62 0a 21 45 4e 44 rpcrt4.lib.!END 58c0: 49 46 0a 0a 23 20 49 66 20 61 20 70 6c 61 74 66 IF..# If a platf 58d0: 6f 72 6d 20 77 61 73 20 73 65 74 2c 20 66 6f 72 orm was set, for 58e0: 63 65 20 74 68 65 20 6c 69 6e 6b 65 72 20 74 6f ce the linker to 58f0: 20 74 61 72 67 65 74 20 74 68 61 74 2e 0a 23 20 target that..# 5900: 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 76 63 Note that the vc 5910: 76 61 72 73 2a 2e 62 61 74 20 66 61 6d 69 6c 79 vars*.bat family 5920: 20 6f 66 20 62 61 74 63 68 20 66 69 6c 65 73 20 of batch files 5930: 74 79 70 69 63 61 6c 6c 79 0a 23 20 73 65 74 20 typically.# set 5940: 74 68 69 73 20 66 6f 72 20 79 6f 75 2e 20 20 4f this for you. O 5950: 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 6c 69 therwise, the li 5960: 6e 6b 65 72 20 77 69 6c 6c 20 61 74 74 65 6d 70 nker will attemp 5970: 74 0a 23 20 74 6f 20 64 65 64 75 63 65 20 74 68 t.# to deduce th 5980: 65 20 62 69 6e 61 72 79 20 74 79 70 65 20 62 61 e binary type ba 5990: 73 65 64 20 6f 6e 20 74 68 65 20 6f 62 6a 65 63 sed on the objec 59a0: 74 20 66 69 6c 65 73 2e 0a 21 49 46 44 45 46 20 t files..!IFDEF 59b0: 50 4c 41 54 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f PLATFORM.LTLINKO 59c0: 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d PTS = /NOLOGO /M 59d0: 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f 52 ACHINE:$(PLATFOR
59e0: 4d 29 0a 4c 54 4c 49 42 4f 50 54 53 20 3d 20 2f  M).LTLIBOPTS = /
59f0: 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a  NOLOGO /MACHINE:
5a00: 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 4c 53  $(PLATFORM).!ELS 5a10: 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f E.LTLINKOPTS = / 5a20: 4e 4f 4c 4f 47 4f 0a 4c 54 4c 49 42 4f 50 54 53 NOLOGO.LTLIBOPTS 5a30: 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 21 45 4e 44 49 = /NOLOGO.!ENDI 5a40: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c F..# When compil 5a50: 69 6e 67 20 66 6f 72 20 75 73 65 20 69 6e 20 74 ing for use in t 5a60: 68 65 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e he WinRT environ 5a70: 6d 65 6e 74 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 ment, the follow 5a80: 69 6e 67 0a 23 20 6c 69 6e 6b 65 72 20 6f 70 74 ing.# linker opt 5a90: 69 6f 6e 20 6d 75 73 74 20 62 65 20 75 73 65 64 ion must be used 5aa0: 20 74 6f 20 6d 61 72 6b 20 74 68 65 20 65 78 65 to mark the exe 5ab0: 63 75 74 61 62 6c 65 20 61 73 20 72 75 6e 6e 61 cutable as runna 5ac0: 62 6c 65 0a 23 20 6f 6e 6c 79 20 69 6e 20 74 68 ble.# only in th 5ad0: 65 20 63 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20 e context of an 5ae0: 61 70 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6e 74 application cont 5af0: 61 69 6e 65 72 2e 0a 23 0a 21 49 46 20 24 28 46 ainer..#.!IF$(F
5b00: 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a 4c 54 4c  OR_WINRT)!=0.LTL
5b10: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI 5b20: 4e 4b 4f 50 54 53 29 20 2f 41 50 50 43 4f 4e 54 NKOPTS) /APPCONT 5b30: 41 49 4e 45 52 0a 21 49 46 20 22 24 28 56 49 53 AINER.!IF "$(VIS
5b40: 55 41 4c 53 54 55 44 49 4f 56 45 52 53 49 4f 4e  UALSTUDIOVERSION
5b50: 29 22 3d 3d 22 31 32 2e 30 22 20 7c 7c 20 22 24  )"=="12.0" || "$5b60: 28 56 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52 (VISUALSTUDIOVER 5b70: 53 49 4f 4e 29 22 3d 3d 22 31 34 2e 30 22 0a 21 SION)"=="14.0".! 5b80: 49 46 4e 44 45 46 20 53 54 4f 52 45 4c 49 42 50 IFNDEF STORELIBP 5b90: 41 54 48 0a 21 49 46 20 22 24 28 50 4c 41 54 46 ATH.!IF "$(PLATF
5ba0: 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 53 54 4f  ORM)"=="x86".STO
5bb0: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52  RELIBPATH = $(CR 5bc0: 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 0a TLIBPATH)\store. 5bd0: 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 !ELSEIF "$(PLATF
5be0: 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a 53 54 4f  ORM)"=="x64".STO
5bf0: 52 45 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52  RELIBPATH = $(CR 5c00: 54 4c 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c TLIBPATH)\store\ 5c10: 61 6d 64 36 34 0a 21 45 4c 53 45 49 46 20 22 24 amd64.!ELSEIF "$
5c20: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41 52  (PLATFORM)"=="AR
5c30: 4d 22 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20  M".STORELIBPATH
5c40: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c  = $(CRTLIBPATH)\ 5c50: 73 74 6f 72 65 5c 61 72 6d 0a 21 45 4c 53 45 0a store\arm.!ELSE. 5c60: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24 STORELIBPATH =$
5c70: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f  (CRTLIBPATH)\sto
5c80: 72 65 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46  re.!ENDIF.!ENDIF
5c90: 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20  .STORELIBPATH =
5ca0: 24 28 53 54 4f 52 45 4c 49 42 50 41 54 48 3a 5c  $(STORELIBPATH:\ 5cb0: 5c 3d 5c 29 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 \=\).LTLINKOPTS 5cc0: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 =$(LTLINKOPTS)
5cd0: 22 2f 4c 49 42 50 41 54 48 3a 24 28 53 54 4f 52  "/LIBPATH:$(STOR 5ce0: 45 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49 ELIBPATH)".!ENDI 5cf0: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e F.!ENDIF..# When 5d00: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 compiling for W 5d10: 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 indows Phone 8.1 5d20: 2c 20 61 6e 20 65 78 74 72 61 20 6c 69 62 72 61 , an extra libra 5d30: 72 79 20 70 61 74 68 20 69 73 0a 23 20 72 65 71 ry path is.# req 5d40: 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 uired..#.!IF$(U
5d50: 53 45 5f 57 50 38 31 5f 4f 50 54 53 29 21 3d 30  SE_WP81_OPTS)!=0
5d60: 0a 21 49 46 4e 44 45 46 20 57 50 38 31 4c 49 42  .!IFNDEF WP81LIB
5d70: 50 41 54 48 0a 21 49 46 20 22 24 28 50 4c 41 54  PATH.!IF "$(PLAT 5d80: 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a 57 50 FORM)"=="x86".WP 5d90: 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 81LIBPATH =$(PR
5da0: 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c  OGRAMFILES_X86)\
5db0: 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69  Windows Phone Ki
5dc0: 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21  ts\8.1\lib\x86.!
5dd0: 45 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f  ELSEIF "$(PLATFO 5de0: 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 57 50 38 31 RM)"=="ARM".WP81 5df0: 4c 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 LIBPATH =$(PROG
5e00: 52 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69  RAMFILES_X86)\Wi
5e10: 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73  ndows Phone Kits
5e20: 5c 38 2e 31 5c 6c 69 62 5c 41 52 4d 0a 21 45 4c  \8.1\lib\ARM.!EL
5e30: 53 45 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d  SE.WP81LIBPATH =
5e40: 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f   $(PROGRAMFILES_ 5e50: 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f X86)\Windows Pho 5e60: 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c ne Kits\8.1\lib\ 5e70: 78 38 36 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 x86.!ENDIF.!ENDI 5e80: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e F.!ENDIF..# When 5e90: 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 compiling for W 5ea0: 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 indows Phone 8.1 5eb0: 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 6c 69 6e , some extra lin 5ec0: 6b 65 72 20 6f 70 74 69 6f 6e 73 0a 23 20 61 72 ker options.# ar 5ed0: 65 20 61 6c 73 6f 20 72 65 71 75 69 72 65 64 2e e also required. 5ee0: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38 .#.!IF$(USE_WP8
5ef0: 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49 46 44 45  1_OPTS)!=0.!IFDE
5f00: 46 20 57 50 38 31 4c 49 42 50 41 54 48 0a 4c 54  F WP81LIBPATH.LT
5f10: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL 5f20: 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 INKOPTS) "/LIBPA 5f30: 54 48 3a 24 28 57 50 38 31 4c 49 42 50 41 54 48 TH:$(WP81LIBPATH
5f40: 29 22 0a 21 45 4e 44 49 46 0a 4c 54 4c 49 4e 4b  )".!ENDIF.LTLINK
5f50: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO 5f60: 50 54 53 29 20 2f 44 59 4e 41 4d 49 43 42 41 53 PTS) /DYNAMICBAS 5f70: 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 E.LTLINKOPTS =$
5f80: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 57 69 6e  (LTLINKOPTS) Win
5f90: 64 6f 77 73 50 68 6f 6e 65 43 6f 72 65 2e 6c 69  dowsPhoneCore.li
5fa0: 62 20 52 75 6e 74 69 6d 65 4f 62 6a 65 63 74 2e  b RuntimeObject.
5fb0: 6c 69 62 20 50 68 6f 6e 65 41 70 70 4d 6f 64 65  lib PhoneAppMode
5fc0: 6c 48 6f 73 74 2e 6c 69 62 0a 4c 54 4c 49 4e 4b  lHost.lib.LTLINK
5fd0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f  OPTS = $(LTLINKO 5fe0: 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c PTS) /NODEFAULTL 5ff0: 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 20 IB:kernel32.lib 6000: 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6f 6c /NODEFAULTLIB:ol 6010: 65 33 32 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a e32.lib.!ENDIF.. 6020: 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 # When compiling 6030: 20 66 6f 72 20 55 41 50 20 6f 72 20 74 68 65 20 for UAP or the 6040: 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 Windows 10 platf 6050: 6f 72 6d 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 orm, some extra 6060: 6c 69 6e 6b 65 72 0a 23 20 6f 70 74 69 6f 6e 73 linker.# options 6070: 20 61 72 65 20 61 6c 73 6f 20 72 65 71 75 69 72 are also requir 6080: 65 64 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f ed..#.!IF$(FOR_
6090: 55 41 50 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  UAP)!=0 || $(FOR 60a0: 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e _WIN10)!=0.LTLIN 60b0: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b KOPTS =$(LTLINK
60c0: 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49 43 42 41  OPTS) /DYNAMICBA
60d0: 53 45 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42  SE /NODEFAULTLIB
60e0: 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62 0a 4c 54  :kernel32.lib.LT
60f0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c  LINKOPTS = $(LTL 6100: 49 4e 4b 4f 50 54 53 29 20 6d 69 6e 63 6f 72 65 INKOPTS) mincore 6110: 2e 6c 69 62 0a 21 49 46 44 45 46 20 50 53 44 4b .lib.!IFDEF PSDK 6120: 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 LIBPATH.LTLINKOP 6130: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 TS =$(LTLINKOPT
6140: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 50  S) "/LIBPATH:$(P 6150: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 21 45 4e SDKLIBPATH)".!EN 6160: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 DIF.!ENDIF..!IF 6170: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a$(FOR_WIN10)!=0.
6180: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L 6190: 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 TLINKOPTS) "/LIB 61a0: 50 41 54 48 3a 24 28 55 43 52 54 4c 49 42 50 41 PATH:$(UCRTLIBPA
61b0: 54 48 29 22 0a 21 49 46 20 24 28 44 45 42 55 47  TH)".!IF $(DEBUG 61c0: 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d )>1.LTLINKOPTS = 61d0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f$(LTLINKOPTS) /
61e0: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62  NODEFAULTLIB:lib
61f0: 75 63 72 74 64 2e 6c 69 62 20 2f 44 45 46 41 55  ucrtd.lib /DEFAU
6200: 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c 69 62 0a  LTLIB:ucrtd.lib.
6210: 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53  !ELSE.LTLINKOPTS
6220: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS) 6230: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c /NODEFAULTLIB:l 6240: 69 62 75 63 72 74 2e 6c 69 62 20 2f 44 45 46 41 ibucrt.lib /DEFA 6250: 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c 69 62 0a ULTLIB:ucrt.lib. 6260: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 !ENDIF.!ENDIF..# 6270: 20 49 66 20 65 69 74 68 65 72 20 64 65 62 75 67 If either debug 6280: 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f 6c 73 20 ging or symbols 6290: 61 72 65 20 65 6e 61 62 6c 65 64 2c 20 65 6e 61 are enabled, ena 62a0: 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 ble PDBs..#.!IF 62b0: 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28$(DEBUG)>1 || $( 62c0: 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c 44 46 4c SYMBOLS)!=0.LDFL 62d0: 41 47 53 20 3d 20 2f 44 45 42 55 47 20 24 28 4c AGS = /DEBUG$(L
62e0: 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a 4c 44 46  DOPTS).!ELSE.LDF
62f0: 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50 54 53 29  LAGS = $(LDOPTS) 6300: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 .!ENDIF..# <<mar 6310: 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77 69 74 68 k>>.# Start with 6320: 20 74 68 65 20 54 63 6c 20 72 65 6c 61 74 65 64 the Tcl related 6330: 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 2e linker options. 6340: 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 .#.!IF$(NO_TCL)
6350: 3d 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d  ==0.LTLIBPATHS =
6360: 20 2f 4c 49 42 50 41 54 48 3a 24 28 54 43 4c 4c   /LIBPATH:$(TCLL 6370: 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 IBDIR).LTLIBS = 6380: 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44 49 46$(LIBTCL).!ENDIF
6390: 0a 0a 23 20 49 66 20 49 43 55 20 73 75 70 70 6f  ..# If ICU suppo
63a0: 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61  rt is enabled, a
63b0: 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70  dd the linker op
63c0: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a  tions for it..#.
63d0: 21 49 46 20 24 28 55 53 45 5f 49 43 55 29 21 3d  !IF $(USE_ICU)!= 63e0: 30 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 0.LTLIBPATHS =$
63f0: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4c 49  (LTLIBPATHS) /LI
6400: 42 50 41 54 48 3a 24 28 49 43 55 4c 49 42 44 49  BPATH:$(ICULIBDI 6410: 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 R).LTLIBS =$(LT
6420: 4c 49 42 53 29 20 24 28 4c 49 42 49 43 55 29 0a  LIBS) $(LIBICU). 6430: 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b !ENDIF.# <</mark 6440: 3e 3e 0a 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64 >>..# You should 6450: 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 63 68 61 not have to cha 6460: 6e 67 65 20 61 6e 79 74 68 69 6e 67 20 62 65 6c nge anything bel 6470: 6f 77 20 74 68 69 73 20 6c 69 6e 65 0a 23 23 23 ow this line.### 6480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 6490: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 64a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 64b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 64c0: 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a 23 20 ############..# 64d0: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 <<mark>>.# Objec 64e0: 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20 t files for the 64f0: 53 51 4c 69 74 65 20 6c 69 62 72 61 72 79 20 28 SQLite library ( 6500: 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e non-amalgamation 6510: 29 2e 0a 23 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 )..#.LIBOBJS0 = 6520: 76 64 62 65 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f vdbe.lo parse.lo 6530: 20 61 6c 74 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a alter.lo analyz 6540: 65 2e 6c 6f 20 61 74 74 61 63 68 2e 6c 6f 20 61 e.lo attach.lo a 6550: 75 74 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 uth.lo \. 6560: 20 20 62 61 63 6b 75 70 2e 6c 6f 20 62 69 74 76 backup.lo bitv 6570: 65 63 2e 6c 6f 20 62 74 6d 75 74 65 78 2e 6c 6f ec.lo btmutex.lo 6580: 20 62 74 72 65 65 2e 6c 6f 20 62 75 69 6c 64 2e btree.lo build. 6590: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 63 61 lo \. ca 65a0: 6c 6c 62 61 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 llback.lo comple 65b0: 74 65 2e 6c 6f 20 63 74 69 6d 65 2e 6c 6f 20 64 te.lo ctime.lo d 65c0: 61 74 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c 6f ate.lo dbstat.lo 65d0: 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 20 delete.lo \. 65e0: 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20 66 61 expr.lo fa 65f0: 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c ult.lo fkey.lo \ 6600: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 2e 6c . fts3.l 6610: 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66 74 o fts3_aux.lo ft 6620: 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33 5f s3_expr.lo fts3_ 6630: 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63 75 hash.lo fts3_icu 6640: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 .lo \. f 6650: 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 74 ts3_porter.lo ft 6660: 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66 74 s3_snippet.lo ft 6670: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20 s3_tokenizer.lo 6680: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e fts3_tokenizer1. 6690: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 lo \. ft 66a0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 s3_tokenize_vtab 66b0: 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 .lo fts3_unicode 66c0: 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 .lo fts3_unicode 66d0: 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74 65 2e 2.lo fts3_write. 66e0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 lo \. ft 66f0: 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 s5.lo \. 6700: 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c 2e func.lo global. 6710: 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 20 lo hash.lo \. 6720: 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69 6e 73 icu.lo ins 6730: 65 72 74 2e 6c 6f 20 6a 6f 75 72 6e 61 6c 2e 6c ert.lo journal.l 6740: 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64 o legacy.lo load 6750: 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 ext.lo \. 6760: 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63 main.lo malloc 6770: 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31 .lo mem0.lo mem1 6780: 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33 .lo mem2.lo mem3 6790: 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20 .lo mem5.lo \. 67a0: 20 20 20 20 20 20 20 6d 65 6d 6a 6f 75 72 6e 61 memjourna 67b0: 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 l.lo \. 67c0: 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78 5f 6e mutex.lo mutex_n 67d0: 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75 6e 69 oop.lo mutex_uni 67e0: 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32 2e 6c x.lo mutex_w32.l 67f0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 o \. not 6800: 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73 2e 6c ify.lo opcodes.l 6810: 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69 78 2e o os.lo os_unix. 6820: 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c 0a 20 lo os_win.lo \. 6830: 20 20 20 20 20 20 20 20 70 61 67 65 72 2e 6c 6f pager.lo 6840: 20 70 63 61 63 68 65 2e 6c 6f 20 70 63 61 63 68 pcache.lo pcach 6850: 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c 6f 20 e1.lo pragma.lo 6860: 70 72 65 70 61 72 65 2e 6c 6f 20 70 72 69 6e 74 prepare.lo print 6870: 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 f.lo \. 6880: 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f 6c 76 random.lo resolv 6890: 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f 20 72 e.lo rowset.lo r 68a0: 74 72 65 65 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c tree.lo select.l 68b0: 6f 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20 o sqlite3rbu.lo 68c0: 73 74 61 74 75 73 2e 6c 6f 20 5c 0a 20 20 20 20 status.lo \. 68d0: 20 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 table.lo th 68e0: 72 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a reads.lo tokeniz 68f0: 65 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f e.lo treeview.lo 6900: 20 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 trigger.lo \. 6910: 20 20 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f update.lo 6920: 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e util.lo vacuum. 6930: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64 lo \. vd 6940: 62 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78 beapi.lo vdbeaux 6950: 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20 .lo vdbeblob.lo 6960: 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73 vdbemem.lo vdbes 6970: 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 ort.lo \. 6980: 20 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77 vdbetrace.lo w 6990: 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20 al.lo walker.lo 69a0: 77 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f where.lo whereco 69b0: 64 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72 2e de.lo whereexpr. 69c0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 74 lo \. ut 69d0: 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 3c f.lo vtab.lo.# < 69e0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65 </mark>>..# Obje 69f0: 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65 ct files for the 6a00: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 amalgamation..# 6a10: 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c 69 .LIBOBJS1 = sqli 6a20: 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 6d te3.lo..# Determ 6a30: 69 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61 6c ine the real val 6a40: 75 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61 73 ue of LIBOBJ bas 6a50: 65 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66 69 ed on the 'confi 6a60: 67 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a 23 gure' script.#.# 6a70: 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 28 <<mark>>.!IF$(
6a80: 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  USE_AMALGAMATION
6a90: 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24 28  )==0.LIBOBJ = $( 6aa0: 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45 0a LIBOBJS0).!ELSE. 6ab0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f # <</mark>>.LIBO 6ac0: 42 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31 29 BJ =$(LIBOBJS1)
6ad0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44  .# <<mark>>.!END
6ae0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
6af0: 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20 65  # Determine if e
6b00: 6d 62 65 64 64 65 64 20 72 65 73 6f 75 72 63 65  mbedded resource
6b10: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64   compilation and
6b20: 20 75 73 61 67 65 20 61 72 65 20 65 6e 61 62 6c   usage are enabl
6b30: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ed..#.!IF $(USE_ 6b40: 52 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42 4a RC)!=0.LIBRESOBJ 6b50: 53 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e 6c S = sqlite3res.l 6b60: 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f 42 o.!ELSE.LIBRESOB 6b70: 4a 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 3c JS =.!ENDIF..# < 6b80: 3c 6d 61 72 6b 3e 3e 0a 23 20 41 6c 6c 20 6f 66 <mark>>.# All of 6b90: 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 the source code 6ba0: 20 66 69 6c 65 73 2e 0a 23 0a 53 52 43 31 20 3d files..#.SRC1 = 6bb0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
6bc0: 61 6c 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  alter.c \.  $(TO 6bd0: 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 P)\src\analyze.c 6be0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
6bf0: 61 74 74 61 63 68 2e 63 20 5c 0a 20 20 24 28 54  attach.c \.  $(T 6c00: 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 5c OP)\src\auth.c \ 6c10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61 .$(TOP)\src\ba
6c20: 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ckup.c \.  $(TOP 6c30: 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20 5c )\src\bitvec.c \ 6c40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 .$(TOP)\src\bt
6c50: 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f  mutex.c \.  $(TO 6c60: 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 5c P)\src\btree.c \ 6c70: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 .$(TOP)\src\bt
6c80: 72 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ree.h \.  $(TOP) 6c90: 5c 73 72 63 5c 62 74 72 65 65 49 6e 74 2e 68 20 \src\btreeInt.h 6ca0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 \.$(TOP)\src\b
6cb0: 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50  uild.c \.  $(TOP 6cc0: 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 )\src\callback.c 6cd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
6ce0: 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a 20 20 24  complete.c \.  $6cf0: 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e (TOP)\src\ctime. 6d00: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
6d10: 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f  \date.c \.  $(TO 6d20: 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 20 P)\src\dbstat.c 6d30: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 \.$(TOP)\src\d
6d40: 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f  elete.c \.  $(TO 6d50: 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 5c 0a P)\src\expr.c \. 6d60: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75$(TOP)\src\fau
6d70: 6c 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  lt.c \.  $(TOP)\ 6d80: 73 72 63 5c 66 6b 65 79 2e 63 20 5c 0a 20 20 24 src\fkey.c \.$
6d90: 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63  (TOP)\src\func.c
6da0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 6db0: 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20 20 24 28 54 global.c \.$(T
6dc0: 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20 5c  OP)\src\hash.c \
6dd0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61  .  $(TOP)\src\ha 6de0: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.h \.$(TOP)\
6df0: 73 72 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20  src\hwtime.h \.
6e00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65   $(TOP)\src\inse 6e10: 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c rt.c \.$(TOP)\
6e20: 73 72 63 5c 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a  src\journal.c \.
6e30: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67    $(TOP)\src\leg 6e40: 61 63 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 acy.c \.$(TOP)
6e50: 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 5c  \src\loadext.c \
6e60: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  .  $(TOP)\src\ma 6e70: 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c in.c \.$(TOP)\
6e80: 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20  src\malloc.c \.
6e90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30   $(TOP)\src\mem0 6ea0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
6eb0: 63 5c 6d 65 6d 31 2e 63 20 5c 0a 20 20 24 28 54  c\mem1.c \.  $(T 6ec0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 5c OP)\src\mem2.c \ 6ed0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 .$(TOP)\src\me
6ee0: 6d 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  m3.c \.  $(TOP)\ 6ef0: 73 72 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 src\mem5.c \.$
6f00: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75  (TOP)\src\memjou
6f10: 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  rnal.c \.  $(TOP 6f20: 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 )\src\msvc.h \. 6f30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65$(TOP)\src\mute
6f40: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  x.c \.  $(TOP)\s 6f50: 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 24 rc\mutex.h \.$
6f60: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
6f70: 6e 6f 6f 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50  noop.c \.  $(TOP 6f80: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 )\src\mutex_unix 6f90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
6fa0: 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a  c\mutex_w32.c \.
6fb0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74    $(TOP)\src\not 6fc0: 69 66 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ify.c \.$(TOP)
6fd0: 5c 73 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28  \src\os.c \.  $( 6fe0: 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a TOP)\src\os.h \. 6ff0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f$(TOP)\src\os_
7000: 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 24 28 54  common.h \.  $(T 7010: 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70 OP)\src\os_setup 7020: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .h \.$(TOP)\sr
7030: 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20  c\os_unix.c \.
7040: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69  $(TOP)\src\os_wi 7050: 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 n.c \.$(TOP)\s
7060: 72 63 5c 6f 73 5f 77 69 6e 2e 68 0a 53 52 43 32  rc\os_win.h.SRC2
7070: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72   = \.  $(TOP)\sr 7080: 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20 20 24 28 c\pager.c \.$(
7090: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68  TOP)\src\pager.h
70a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 70b0: 70 61 72 73 65 2e 79 20 5c 0a 20 20 24 28 54 4f parse.y \.$(TO
70c0: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20  P)\src\pcache.c
70d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p 70e0: 63 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f cache.h \.$(TO
70f0: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63  P)\src\pcache1.c
7100: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7110: 70 72 61 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 pragma.c \.$(T
7120: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68  OP)\src\pragma.h
7130: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7140: 70 72 65 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 prepare.c \.$(
7150: 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e  TOP)\src\printf.
7160: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7170: 5c 72 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 \random.c \.$(
7180: 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65  TOP)\src\resolve
7190: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 71a0: 63 5c 72 6f 77 73 65 74 2e 63 20 5c 0a 20 20 24 c\rowset.c \.$
71b0: 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74  (TOP)\src\select
71c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 71d0: 63 5c 73 74 61 74 75 73 2e 63 20 5c 0a 20 20 24 c\status.c \.$
71e0: 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e  (TOP)\src\shell.
71f0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7200: 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 \sqlite.h.in \. 7210: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69$(TOP)\src\sqli
7220: 74 65 33 65 78 74 2e 68 20 5c 0a 20 20 24 28 54  te3ext.h \.  $(T 7230: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e OP)\src\sqliteIn 7240: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 t.h \.$(TOP)\s
7250: 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68  rc\sqliteLimit.h
7260: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7270: 74 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f table.c \.$(TO
7280: 50 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63  P)\src\threads.c
7290: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 72a0: 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 tclsqlite.c \. 72b0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e$(TOP)\src\token
72c0: 69 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ize.c \.  $(TOP) 72d0: 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 \src\treeview.c 72e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
72f0: 72 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54  rigger.c \.  $(T 7300: 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a OP)\src\utf.c \. 7310: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64$(TOP)\src\upd
7320: 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ate.c \.  $(TOP) 7330: 5c 73 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 20 \src\util.c \. 7340: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75$(TOP)\src\vacuu
7350: 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  m.c \.  $(TOP)\s 7360: 72 63 5c 76 64 62 65 2e 63 20 5c 0a 20 20 24 28 rc\vdbe.c \.$(
7370: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 68 20  TOP)\src\vdbe.h
7380: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v 7390: 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 54 dbeapi.c \.$(T
73a0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e  OP)\src\vdbeaux.
73b0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 73c0: 5c 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 20 \vdbeblob.c \. 73d0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d$(TOP)\src\vdbem
73e0: 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  em.c \.  $(TOP)\ 73f0: 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 5c src\vdbesort.c \ 7400: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 .$(TOP)\src\vd
7410: 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24 28  betrace.c \.  $( 7420: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 TOP)\src\vdbeInt 7430: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .h \.$(TOP)\sr
7440: 63 5c 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54  c\vtab.c \.  $(T 7450: 4f 50 29 5c 73 72 63 5c 76 78 77 6f 72 6b 73 2e OP)\src\vxworks. 7460: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 h \.$(TOP)\src
7470: 5c 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  \wal.c \.  $(TOP 7480: 29 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20 20 )\src\wal.h \. 7490: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65$(TOP)\src\walke
74a0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  r.c \.  $(TOP)\s 74b0: 72 63 5c 77 68 65 72 65 2e 63 20 5c 0a 20 20 24 rc\where.c \.$
74c0: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63  (TOP)\src\wherec
74d0: 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ode.c \.  $(TOP) 74e0: 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 \src\whereexpr.c 74f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7500: 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 53 6f  whereInt.h..# So
7510: 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 65 78  urce code for ex
7520: 74 65 6e 73 69 6f 6e 73 0a 23 0a 53 52 43 33 20  tensions.#.SRC3
7530: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  = \.  $(TOP)\ext 7540: 5c 66 74 73 31 5c 66 74 73 31 2e 63 20 5c 0a 20 \fts1\fts1.c \. 7550: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31$(TOP)\ext\fts1
7560: 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts1.h \.  $(TO 7570: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 P)\ext\fts1\fts1 7580: 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f _hash.c \.$(TO
7590: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
75a0: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f  _hash.h \.  $(TO 75b0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 P)\ext\fts1\fts1 75c0: 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 _porter.c \.$(
75d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74  TOP)\ext\fts1\ft
75e0: 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c  s1_tokenizer.h \
75f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 7600: 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 s1\fts1_tokenize 7610: 72 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c r1.c \.$(TOP)\
7620: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20  ext\fts2\fts2.c
7630: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 7640: 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 ts2\fts2.h \.$
7650: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
7660: 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24  ts2_hash.c \.  $7670: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f 7680: 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 ts2_hash.h \.$
7690: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
76a0: 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28  ts2_icu.c \.  $( 76b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft 76c0: 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 s2_porter.c \. 76d0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
76e0: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts2_tokenizer.h
76f0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 7700: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 fts2\fts2_tokeni 7710: 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 zer.c \.$(TOP)
7720: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
7730: 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 53 52 43 34  okenizer1.c.SRC4
7740: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78   = \.  $(TOP)\ex 7750: 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 5c 0a t\fts3\fts3.c \. 7760: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
7770: 33 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54  3\fts3.h \.  $(T 7780: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 7790: 33 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 3Int.h \.$(TOP
77a0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
77b0: 61 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  aux.c \.  $(TOP) 77c0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 \ext\fts3\fts3_e 77d0: 78 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 xpr.c \.$(TOP)
77e0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68  \ext\fts3\fts3_h
77f0: 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ash.c \.  $(TOP) 7800: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 \ext\fts3\fts3_h 7810: 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 ash.h \.$(TOP)
7820: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69  \ext\fts3\fts3_i
7830: 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cu.c \.  $(TOP)\ 7840: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f ext\fts3\fts3_po 7850: 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 rter.c \.$(TOP
7860: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
7870: 73 6e 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 28  snippet.c \.  $( 7880: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 7890: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c s3_tokenizer.h \ 78a0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
78b0: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
78c0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 78d0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b xt\fts3\fts3_tok 78e0: 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 enizer1.c \.$(
78f0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
7900: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
7910: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 7920: 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 t\fts3\fts3_unic 7930: 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ode.c \.$(TOP)
7940: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75  \ext\fts3\fts3_u
7950: 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 24 28  nicode2.c \.  $( 7960: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 7970: 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a 20 20 24 s3_write.c \.$
7980: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 73 71  (TOP)\ext\icu\sq
7990: 6c 69 74 65 69 63 75 2e 68 20 5c 0a 20 20 24 28  liteicu.h \.  $( 79a0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 TOP)\ext\icu\icu 79b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
79c0: 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 68 20  t\rtree\rtree.h
79d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r 79e0: 74 72 65 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20 tree\rtree.c \. 79f0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c$(TOP)\ext\rbu\
7a00: 73 71 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20  sqlite3rbu.h \.
7a10: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c   $(TOP)\ext\rbu\ 7a20: 73 71 6c 69 74 65 33 72 62 75 2e 63 20 5c 0a 20 sqlite3rbu.c \. 7a30: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
7a40: 5c 6a 73 6f 6e 31 2e 63 0a 0a 0a 23 20 47 65 6e  \json1.c...# Gen
7a50: 65 72 61 74 65 64 20 73 6f 75 72 63 65 20 63 6f  erated source co
7a60: 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43 35 20  de files.#.SRC5
7a70: 3d 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61 73  = \.  keywordhas
7a80: 68 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e  h.h \.  opcodes.
7a90: 63 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 68 20  c \.  opcodes.h
7aa0: 5c 0a 20 20 70 61 72 73 65 2e 63 20 5c 0a 20 20  \.  parse.c \.
7ab0: 70 61 72 73 65 2e 68 20 5c 0a 20 20 24 28 53 51  parse.h \.  $(SQ 7ac0: 4c 49 54 45 33 48 29 0a 0a 23 20 41 6c 6c 20 73 LITE3H)..# All s 7ad0: 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 ource code files 7ae0: 2e 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 43 31 ..#.SRC =$(SRC1
7af0: 29 20 24 28 53 52 43 32 29 20 24 28 53 52 43 33  ) $(SRC2)$(SRC3
7b00: 29 20 24 28 53 52 43 34 29 20 24 28 53 52 43 35  ) $(SRC4)$(SRC5
7b10: 29 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 65  )..# Source code
7b20: 20 74 6f 20 74 68 65 20 74 65 73 74 20 66 69 6c   to the test fil
7b30: 65 73 2e 0a 23 0a 54 45 53 54 53 52 43 20 3d 20  es..#.TESTSRC =
7b40: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 7b50: 65 73 74 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 est1.c \.$(TOP
7b60: 29 5c 73 72 63 5c 74 65 73 74 32 2e 63 20 5c 0a  )\src\test2.c \.
7b70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 7b80: 74 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c t3.c \.$(TOP)\
7b90: 73 72 63 5c 74 65 73 74 34 2e 63 20 5c 0a 20 20  src\test4.c \.
7ba0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 35  $(TOP)\src\test5 7bb0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
7bc0: 63 5c 74 65 73 74 36 2e 63 20 5c 0a 20 20 24 28  c\test6.c \.  $( 7bd0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 37 2e 63 TOP)\src\test7.c 7be0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7bf0: 74 65 73 74 38 2e 63 20 5c 0a 20 20 24 28 54 4f  test8.c \.  $(TO 7c00: 50 29 5c 73 72 63 5c 74 65 73 74 39 2e 63 20 5c P)\src\test9.c \ 7c10: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
7c20: 73 74 5f 61 75 74 6f 65 78 74 2e 63 20 5c 0a 20  st_autoext.c \.
7c30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 7c40: 5f 61 73 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 _async.c \.$(T
7c50: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 61 63  OP)\src\test_bac
7c60: 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  kup.c \.  $(TOP) 7c70: 5c 73 72 63 5c 74 65 73 74 5f 62 6c 6f 62 2e 63 \src\test_blob.c 7c80: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7c90: 74 65 73 74 5f 62 74 72 65 65 2e 63 20 5c 0a 20  test_btree.c \.
7ca0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 7cb0: 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 24 28 _config.c \.$(
7cc0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65  TOP)\src\test_de
7cd0: 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f  movfs.c \.  $(TO 7ce0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 64 65 76 73 P)\src\test_devs 7cf0: 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ym.c \.$(TOP)\
7d00: 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 20 5c 0a  src\test_fs.c \.
7d10: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 7d20: 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54 t_func.c \.$(T
7d30: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 68 65 78  OP)\src\test_hex
7d40: 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  io.c \.  $(TOP)\ 7d50: 73 72 63 5c 74 65 73 74 5f 69 6e 69 74 2e 63 20 src\test_init.c 7d60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
7d70: 65 73 74 5f 69 6e 74 61 72 72 61 79 2e 63 20 5c  est_intarray.c \
7d80: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 7d90: 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 st_journal.c \. 7da0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
7db0: 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28  _malloc.c \.  $( 7dc0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75 TOP)\src\test_mu 7dd0: 6c 74 69 70 6c 65 78 2e 63 20 5c 0a 20 20 24 28 ltiplex.c \.$(
7de0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 75  TOP)\src\test_mu
7df0: 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tex.c \.  $(TOP) 7e00: 5c 73 72 63 5c 74 65 73 74 5f 6f 6e 65 66 69 6c \src\test_onefil 7e10: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.c \.$(TOP)\s
7e20: 72 63 5c 74 65 73 74 5f 6f 73 69 6e 73 74 2e 63  rc\test_osinst.c
7e30: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7e40: 74 65 73 74 5f 70 63 61 63 68 65 2e 63 20 5c 0a test_pcache.c \. 7e50: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
7e60: 74 5f 71 75 6f 74 61 2e 63 20 5c 0a 20 20 24 28  t_quota.c \.  $( 7e70: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 72 74 TOP)\src\test_rt 7e80: 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ree.c \.$(TOP)
7e90: 5c 73 72 63 5c 74 65 73 74 5f 73 63 68 65 6d 61  \src\test_schema
7ea0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 7eb0: 63 5c 74 65 73 74 5f 73 65 72 76 65 72 2e 63 20 c\test_server.c 7ec0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
7ed0: 65 73 74 5f 73 75 70 65 72 6c 6f 63 6b 2e 63 20  est_superlock.c
7ee0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 7ef0: 65 73 74 5f 73 79 73 63 61 6c 6c 2e 63 20 5c 0a est_syscall.c \. 7f00: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
7f10: 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a 20 20 24  t_tclvar.c \.  $7f20: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 74 (TOP)\src\test_t 7f30: 68 72 65 61 64 2e 63 20 5c 0a 20 20 24 28 54 4f hread.c \.$(TO
7f40: 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 66 73 2e  P)\src\test_vfs.
7f50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7f60: 5c 74 65 73 74 5f 77 69 6e 64 69 72 65 6e 74 2e \test_windirent. 7f70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
7f80: 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c 0a 20 20  \test_wsd.c \.
7f90: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 7fa0: 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a 20 20 fts3_term.c \. 7fb0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
7fc0: 66 74 73 33 5f 74 65 73 74 2e 63 20 5c 0a 20 20  fts3_test.c \.
7fd0: 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 74  $(TOP)\ext\rbu\t 7fe0: 65 73 74 5f 72 62 75 2e 63 0a 0a 23 20 53 74 61 est_rbu.c..# Sta 7ff0: 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 20 65 tically linked e 8000: 78 74 65 6e 73 69 6f 6e 73 0a 23 0a 54 45 53 54 xtensions.#.TEST 8010: 45 58 54 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 EXT = \.$(TOP)
8020: 5c 65 78 74 5c 6d 69 73 63 5c 61 6d 61 74 63 68  \ext\misc\amatch
8030: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 8040: 74 5c 6d 69 73 63 5c 63 6c 6f 73 75 72 65 2e 63 t\misc\closure.c 8050: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8060: 6d 69 73 63 5c 65 76 61 6c 2e 63 20 5c 0a 20 20  misc\eval.c \.
8070: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ 8080: 66 69 6c 65 69 6f 2e 63 20 5c 0a 20 20 24 28 54 fileio.c \.$(T
8090: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 75 7a  OP)\ext\misc\fuz
80a0: 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  zer.c \.  $(TOP) 80b0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 \ext\fts5\fts5_t 80c0: 63 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c cl.c \.$(TOP)\
80d0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 65  ext\fts5\fts5_te
80e0: 73 74 5f 6d 69 2e 63 20 5c 0a 20 20 24 28 54 4f  st_mi.c \.  $(TO 80f0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 P)\ext\fts5\fts5 8100: 5f 74 65 73 74 5f 74 6f 6b 2e 63 20 5c 0a 20 20 _test_tok.c \. 8110: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c$(TOP)\ext\misc\
8120: 69 65 65 65 37 35 34 2e 63 20 5c 0a 20 20 24 28  ieee754.c \.  $( 8130: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e 65 TOP)\ext\misc\ne 8140: 78 74 63 68 61 72 2e 63 20 5c 0a 20 20 24 28 54 xtchar.c \.$(T
8150: 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 70 65 72  OP)\ext\misc\per
8160: 63 65 6e 74 69 6c 65 2e 63 20 5c 0a 20 20 24 28  centile.c \.  $( 8170: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72 65 TOP)\ext\misc\re 8180: 67 65 78 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 gexp.c \.$(TOP
8190: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 65 72 69 65  )\ext\misc\serie
81a0: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  s.c \.  $(TOP)\e 81b0: 78 74 5c 6d 69 73 63 5c 73 70 65 6c 6c 66 69 78 xt\misc\spellfix 81c0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
81d0: 74 5c 6d 69 73 63 5c 74 6f 74 79 70 65 2e 63 20  t\misc\totype.c
81e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d  \.  $(TOP)\ext\m 81f0: 69 73 63 5c 77 68 6f 6c 65 6e 75 6d 62 65 72 2e isc\wholenumber. 8200: 63 0a 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 c...# Source cod 8210: 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 e to the library 8220: 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79 files needed by 8230: 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 the test fixtur 8240: 65 0a 23 0a 54 45 53 54 53 52 43 32 20 3d 20 5c e.#.TESTSRC2 = \ 8250: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 .$(TOP)\src\at
8260: 74 61 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50  tach.c \.  $(TOP 8270: 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c )\src\backup.c \ 8280: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 .$(TOP)\src\bi
8290: 74 76 65 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50  tvec.c \.  $(TOP 82a0: 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 5c 0a )\src\btree.c \. 82b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75 69$(TOP)\src\bui
82c0: 6c 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ld.c \.  $(TOP)\ 82d0: 73 72 63 5c 63 74 69 6d 65 2e 63 20 5c 0a 20 20 src\ctime.c \. 82e0: 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e$(TOP)\src\date.
82f0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8300: 5c 64 62 73 74 61 74 2e 63 20 5c 0a 20 20 24 28 \dbstat.c \.$(
8310: 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20  TOP)\src\expr.c
8320: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66  \.  $(TOP)\src\f 8330: 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 unc.c \.$(TOP)
8340: 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 5c 0a  \src\insert.c \.
8350: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c    $(TOP)\src\wal 8360: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8370: 63 5c 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54  c\main.c \.  $(T 8380: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 5c OP)\src\mem5.c \ 8390: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 .$(TOP)\src\os
83a0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 83b0: 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 c\os_unix.c \. 83c0: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69$(TOP)\src\os_wi
83d0: 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  n.c \.  $(TOP)\s 83e0: 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20 20 24 rc\pager.c \.$
83f0: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61  (TOP)\src\pragma
8400: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8410: 63 5c 70 72 65 70 61 72 65 2e 63 20 5c 0a 20 20 c\prepare.c \. 8420: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74$(TOP)\src\print
8430: 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  f.c \.  $(TOP)\s 8440: 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 rc\random.c \. 8450: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68$(TOP)\src\pcach
8460: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 8470: 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a 20 rc\pcache1.c \. 8480: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65$(TOP)\src\sele
8490: 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ct.c \.  $(TOP)\ 84a0: 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c src\tokenize.c \ 84b0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 .$(TOP)\src\ut
84c0: 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  f.c \.  $(TOP)\s 84d0: 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 20 24 28 rc\util.c \.$(
84e0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69  TOP)\src\vdbeapi
84f0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8500: 63 5c 76 64 62 65 61 75 78 2e 63 20 5c 0a 20 20 c\vdbeaux.c \. 8510: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e$(TOP)\src\vdbe.
8520: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8530: 5c 76 64 62 65 6d 65 6d 2e 63 20 5c 0a 20 20 24 \vdbemem.c \.$
8540: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f  (TOP)\src\vdbeso
8550: 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  rt.c \.  $(TOP)\ 8560: 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 20 src\vdbetrace.c 8570: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 \.$(TOP)\src\w
8580: 68 65 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  here.c \.  $(TOP 8590: 29 5c 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e )\src\wherecode. 85a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
85b0: 5c 77 68 65 72 65 65 78 70 72 2e 63 20 5c 0a 20  \whereexpr.c \.
85c0: 20 70 61 72 73 65 2e 63 20 5c 0a 20 20 24 28 54   parse.c \.  $(T 85d0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 85e0: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 3.c \.$(TOP)\e
85f0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78  xt\fts3\fts3_aux
8600: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 8610: 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 t\fts3\fts3_expr 8620: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
8630: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
8640: 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  nizer.c \.  $(TO 8650: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 8660: 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 _tokenize_vtab.c 8670: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8680: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64  fts3\fts3_unicod
8690: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.c \.  $(TOP)\e 86a0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 xt\fts3\fts3_uni 86b0: 63 6f 64 65 32 2e 63 20 5c 0a 20 20 24 28 54 4f code2.c \.$(TO
86c0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
86d0: 5f 77 72 69 74 65 2e 63 20 5c 0a 20 20 24 28 54  _write.c \.  $(T 86e0: 4f 50 29 5c 65 78 74 5c 61 73 79 6e 63 5c 73 71 OP)\ext\async\sq 86f0: 6c 69 74 65 33 61 73 79 6e 63 2e 63 0a 0a 23 20 lite3async.c..# 8700: 48 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 65 Header files use 8710: 64 20 62 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 d by all library 8720: 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 source files..# 8730: 0a 48 44 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f .HDR = \.$(TO
8740: 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68 20 5c  P)\src\btree.h \
8750: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62  .   $(TOP)\src\b 8760: 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 treeInt.h \.$
8770: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68  (TOP)\src\hash.h
8780: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63   \.   $(TOP)\src 8790: 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b \hwtime.h \. k 87a0: 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 eywordhash.h \. 87b0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76$(TOP)\src\msv
87c0: 63 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  c.h \.   $(TOP)\ 87d0: 73 72 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 src\mutex.h \. 87e0: 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 opcodes.h \. 87f0: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20$(TOP)\src\os.h
8800: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\ 8810: 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 os_common.h \. 8820: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73$(TOP)\src\os_s
8830: 65 74 75 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f  etup.h \.   $(TO 8840: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 P)\src\os_win.h 8850: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8860: 70 61 67 65 72 2e 68 20 5c 0a 20 20 20 24 28 54  pager.h \.   $(T 8870: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 OP)\src\pcache.h 8880: 20 5c 0a 20 20 20 70 61 72 73 65 2e 68 20 5c 0a \. parse.h \. 8890: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72$(TOP)\src\pr
88a0: 61 67 6d 61 2e 68 20 5c 0a 20 20 20 24 28 53 51  agma.h \.   $(SQ 88b0: 4c 49 54 45 33 48 29 20 5c 0a 20 20 20 24 28 54 LITE3H) \.$(T
88c0: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 65  OP)\src\sqlite3e
88d0: 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  xt.h \.   $(TOP) 88e0: 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 \src\sqliteInt.h 88f0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 \.$(TOP)\src
8900: 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c  \sqliteLimit.h \
8910: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  .   $(TOP)\src\v 8920: 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 dbe.h \.$(TOP
8930: 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20  )\src\vdbeInt.h
8940: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\ 8950: 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24 vxworks.h \.$
8960: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 49  (TOP)\src\whereI
8970: 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20 66  nt.h..# Header f
8980: 69 6c 65 73 20 75 73 65 64 20 62 79 20 65 78 74  iles used by ext
8990: 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52  ensions.#.EXTHDR
89a0: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. 89b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31$(TOP)\ext\fts1
89c0: 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts1.h \.  $(TO 89d0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 P)\ext\fts1\fts1 89e0: 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f _hash.h \.$(TO
89f0: 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31  P)\ext\fts1\fts1
8a00: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54  _tokenizer.h.EXT
8a10: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) 8a20: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
8a30: 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24  ts2\fts2.h \.  $8a40: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f 8a50: 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 ts2_hash.h \.$
8a60: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
8a70: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a  ts2_tokenizer.h.
8a80: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD 8a90: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 R) \.$(TOP)\ex
8aa0: 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a  t\fts3\fts3.h \.
8ab0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 8ac0: 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 3\fts3Int.h \. 8ad0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
8ae0: 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20  fts3_hash.h \.
8af0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 8b00: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 fts3_tokenizer.h 8b10: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 .EXTHDR =$(EXTH
8b20: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e 8b30: 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e 68 xt\rtree\rtree.h 8b40: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 .EXTHDR =$(EXTH
8b50: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e 8b60: 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75 xt\icu\sqliteicu 8b70: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 .h.EXTHDR =$(EX
8b80: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29  THDR) \.  $(TOP) 8b90: 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69 74 \ext\rtree\sqlit 8ba0: 65 33 72 74 72 65 65 2e 68 0a 0a 23 20 65 78 65 e3rtree.h..# exe 8bb0: 63 75 74 61 62 6c 65 73 20 6e 65 65 64 65 64 20 cutables needed 8bc0: 66 6f 72 20 74 65 73 74 69 6e 67 0a 23 0a 54 45 for testing.#.TE 8bd0: 53 54 50 52 4f 47 53 20 3d 20 5c 0a 20 20 74 65 STPROGS = \. te 8be0: 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 5c 0a stfixture.exe \. 8bf0: 20 20 24 28 53 51 4c 49 54 45 33 45 58 45 29 20$(SQLITE3EXE)
8c00: 5c 0a 20 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c  \.  sqlite3_anal
8c10: 79 7a 65 72 2e 65 78 65 20 5c 0a 20 20 73 71 6c  yzer.exe \.  sql
8c20: 64 69 66 66 2e 65 78 65 0a 0a 23 20 44 61 74 61  diff.exe..# Data
8c30: 62 61 73 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67  bases containing
8c40: 20 66 75 7a 7a 65 72 20 74 65 73 74 20 63 61 73   fuzzer test cas
8c50: 65 73 0a 23 0a 46 55 5a 5a 44 41 54 41 20 3d 20  es.#.FUZZDATA =
8c60: 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  \.  $(TOP)\test\ 8c70: 66 75 7a 7a 64 61 74 61 31 2e 64 62 20 5c 0a 20 fuzzdata1.db \. 8c80: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a$(TOP)\test\fuz
8c90: 7a 64 61 74 61 32 2e 64 62 20 5c 0a 20 20 24 28  zdata2.db \.  $( 8ca0: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 TOP)\test\fuzzda 8cb0: 74 61 33 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 ta3.db \.$(TOP
8cc0: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 34  )\test\fuzzdata4
8cd0: 2e 64 62 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  .db.# <</mark>>.
8ce0: 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f  .# Additional co
8cf0: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66  mpiler options f
8d00: 6f 72 20 74 68 65 20 73 68 65 6c 6c 2e 20 20 54  or the shell.  T
8d10: 68 65 73 65 20 61 72 65 20 6f 6e 6c 79 20 65 66  hese are only ef
8d20: 66 65 63 74 69 76 65 0a 23 20 77 68 65 6e 20 74  fective.# when t
8d30: 68 65 20 73 68 65 6c 6c 20 69 73 20 6e 6f 74 20  he shell is not
8d40: 62 65 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c  being dynamicall
8d50: 79 20 6c 69 6e 6b 65 64 2e 0a 23 0a 21 49 46 20  y linked..#.!IF
8d60: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL) 8d70: 3d 3d 30 20 26 26 20 24 28 46 4f 52 5f 57 49 4e ==0 &&$(FOR_WIN
8d80: 31 30 29 3d 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d  10)==0.SHELL_COM
8d90: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48  PILE_OPTS = $(SH 8da0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ELL_COMPILE_OPTS 8db0: 29 20 2d 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c ) -DSQLITE_SHELL 8dc0: 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f _JSON1 -DSQLITE_ 8dd0: 45 4e 41 42 4c 45 5f 46 54 53 34 20 2d 44 53 51 ENABLE_FTS4 -DSQ 8de0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 LITE_ENABLE_FTS5 8df0: 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 .!ENDIF..# <<mar 8e00: 6b 3e 3e 0a 23 20 45 78 74 72 61 20 63 6f 6d 70 k>>.# Extra comp 8e10: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 iler options for 8e20: 20 76 61 72 69 6f 75 73 20 74 65 73 74 20 74 6f various test to 8e30: 6f 6c 73 2e 0a 23 0a 4d 50 54 45 53 54 45 52 5f ols..#.MPTESTER_ 8e40: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d COMPILE_OPTS = - 8e50: 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 4a 53 DSQLITE_SHELL_JS 8e60: 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 ON1 -DSQLITE_ENA 8e70: 42 4c 45 5f 46 54 53 35 0a 46 55 5a 5a 45 52 53 BLE_FTS5.FUZZERS 8e80: 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 HELL_COMPILE_OPT 8e90: 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 S = -DSQLITE_ENA 8ea0: 42 4c 45 5f 4a 53 4f 4e 31 0a 46 55 5a 5a 43 48 BLE_JSON1.FUZZCH 8eb0: 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ECK_COMPILE_OPTS 8ec0: 20 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 = -DSQLITE_ENAB 8ed0: 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 LE_JSON1 -DSQLIT 8ee0: 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 35 E_ENABLE_MEMSYS5 8ef0: 0a 0a 23 20 53 74 61 6e 64 61 72 64 20 6f 70 74 ..# Standard opt 8f00: 69 6f 6e 73 20 74 6f 20 74 65 73 74 66 69 78 74 ions to testfixt 8f10: 75 72 65 2e 0a 23 0a 54 45 53 54 4f 50 54 53 20 ure..#.TESTOPTS 8f20: 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66 69 6c 65 = --verbose=file 8f30: 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73 74 2d 6f --output=test-o 8f40: 75 74 2e 74 78 74 0a 0a 23 20 45 78 74 72 61 20 ut.txt..# Extra 8f50: 74 61 72 67 65 74 73 20 66 6f 72 20 74 68 65 20 targets for the 8f60: 22 61 6c 6c 22 20 74 61 72 67 65 74 20 74 68 61 "all" target tha 8f70: 74 20 72 65 71 75 69 72 65 20 54 63 6c 2e 0a 23 t require Tcl..# 8f80: 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d .!IF$(NO_TCL)==
8f90: 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54  0.ALL_TCL_TARGET
8fa0: 53 20 3d 20 6c 69 62 74 63 6c 73 71 6c 69 74 65  S = libtclsqlite
8fb0: 33 2e 6c 69 62 0a 21 45 4c 53 45 0a 41 4c 4c 5f  3.lib.!ELSE.ALL_
8fc0: 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 0a 21 45  TCL_TARGETS =.!E
8fd0: 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  NDIF.# <</mark>>
8fe0: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the
8ff0: 64 65 66 61 75 6c 74 20 4d 61 6b 65 66 69 6c 65  default Makefile
9000: 20 74 61 72 67 65 74 2e 20 20 54 68 65 20 6f 62   target.  The ob
9010: 6a 65 63 74 73 20 6c 69 73 74 65 64 20 68 65 72  jects listed her
9020: 65 0a 23 20 61 72 65 20 77 68 61 74 20 67 65 74  e.# are what get
9030: 20 62 75 69 6c 64 20 77 68 65 6e 20 79 6f 75 20   build when you
9040: 74 79 70 65 20 6a 75 73 74 20 22 6d 61 6b 65 22  type just "make"
9050: 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e   with no argumen
9060: 74 73 2e 0a 23 0a 61 6c 6c 3a 09 64 6c 6c 20 6c  ts..#.all:.dll l
9070: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 73 68  ibsqlite3.lib sh
9080: 65 6c 6c 20 24 28 41 4c 4c 5f 54 43 4c 5f 54 41  ell $(ALL_TCL_TA 9090: 52 47 45 54 53 29 0a 0a 23 20 44 79 6e 61 6d 69 RGETS)..# Dynami 90a0: 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79 20 73 c link library s 90b0: 65 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a 20 24 ection..#.dll:$
90c0: 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a 23 20  (SQLITE3DLL)..#
90d0: 53 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  Shell executable
90e0: 2e 0a 23 0a 73 68 65 6c 6c 3a 20 24 28 53 51 4c  ..#.shell: $(SQL 90f0: 49 54 45 33 45 58 45 29 0a 0a 6c 69 62 73 71 6c ITE3EXE)..libsql 9100: 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49 42 4f ite3.lib:.$(LIBO
9110: 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20 24 28  BJ)..$(LTLIB)$(
9120: 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55 54 3a  LTLIBOPTS) /OUT:
9130: 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 54  $@$(LIBOBJ) $(T 9140: 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e LIBS)..# <<mark> 9150: 3e 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e >.libtclsqlite3. 9160: 6c 69 62 3a 09 74 63 6c 73 71 6c 69 74 65 2e 6c lib:.tclsqlite.l 9170: 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 o libsqlite3.lib 9180: 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c ..$(LTLIB) $(LTL 9190: 49 42 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 IBOPTS)$(LTLIBP
91a0: 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 74 63  ATHS) /OUT:$@ tc 91b0: 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 lsqlite.lo libsq 91c0: 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c 49 42 54 lite3.lib$(LIBT
91d0: 43 4c 53 54 55 42 29 20 24 28 54 4c 49 42 53 29  CLSTUB) $(TLIBS) 91e0: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 .# <</mark>>..$(
91f0: 53 51 4c 49 54 45 33 44 4c 4c 29 3a 20 24 28 4c  SQLITE3DLL): $(L 9200: 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45 53 4f IBOBJ)$(LIBRESO
9210: 42 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 4e 4b  BJS) $(CORE_LINK 9220: 5f 44 45 50 29 0a 09 24 28 4c 44 29 20 24 28 4c _DEP)..$(LD) $(L 9230: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
9240: 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54  OPTS) $(LTLIBPAT 9250: 48 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52 45 5f HS) /DLL$(CORE_
9260: 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 54 3a  LINK_OPTS) /OUT:
9270: 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 28 4c  $@$(LIBOBJ) $(L 9280: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c IBRESOBJS)$(LTL
9290: 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23  IBS) $(TLIBS)..# 92a0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 69 74 65 <<mark>>.sqlite 92b0: 33 2e 64 65 66 3a 20 6c 69 62 73 71 6c 69 74 65 3.def: libsqlite 92c0: 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45 58 50 4f 3.lib..echo EXPO 92d0: 52 54 53 20 3e 20 73 71 6c 69 74 65 33 2e 64 65 RTS > sqlite3.de 92e0: 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 f..dumpbin /all 92f0: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 5c libsqlite3.lib \ 9300: 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 ...|$(TCLSH_CMD
9310: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re 9320: 70 6c 61 63 65 2e 74 63 6c 20 69 6e 63 6c 75 64 place.tcl includ 9330: 65 20 22 5e 5c 73 2b 31 20 5f 3f 28 73 71 6c 69 e "^\s+1 _?(sqli 9340: 74 65 33 5f 2e 2a 29 24 24 22 20 5c 31 20 5c 0a te3_.*)$$" \1 \. 9350: 09 09 7c 20 73 6f 72 74 20 3e 3e 20 73 71 6c 69 ..| sort >> sqli 9360: 74 65 33 2e 64 65 66 0a 23 20 3c 3c 2f 6d 61 72 te3.def.# <</mar 9370: 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 45 58 k>>..$(SQLITE3EX
9380: 45 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73  E):.$(TOP)\src\s 9390: 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 hell.c$(SHELL_C
93a0: 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42 52 45  ORE_DEP) $(LIBRE 93b0: 53 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c 5f 43 SOBJS)$(SHELL_C
93c0: 4f 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54  ORE_SRC) $(SQLIT 93d0: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 E3H)..$(LTLINK)
93e0: 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f  $(SHELL_COMPILE_ 93f0: 4f 50 54 53 29 20 24 28 52 45 41 44 4c 49 4e 45 OPTS)$(READLINE
9400: 5f 46 4c 41 47 53 29 20 24 28 54 4f 50 29 5c 73  _FLAGS) $(TOP)\s 9410: 72 63 5c 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 rc\shell.c$(SHE
9420: 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 5c 0a 09  LL_CORE_SRC) \..
9430: 09 2f 6c 69 6e 6b 20 24 28 53 51 4c 49 54 45 33  ./link $(SQLITE3 9440: 45 58 45 50 44 42 29 20 24 28 4c 44 46 4c 41 47 EXEPDB)$(LDFLAG
9450: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) 9460: 20 24 28 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50$(SHELL_LINK_OP
9470: 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53  TS) $(LTLIBPATHS 9480: 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 )$(LIBRESOBJS)
9490: 24 28 4c 49 42 52 45 41 44 4c 49 4e 45 29 20 24  $(LIBREADLINE)$
94a0: 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53  (LTLIBS) $(TLIBS 94b0: 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 )..# <<mark>>.sq 94c0: 6c 64 69 66 66 2e 65 78 65 3a 09 24 28 54 4f 50 ldiff.exe:.$(TOP
94d0: 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63  )\tool\sqldiff.c
94e0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
94f0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI 9500: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 NK)$(NO_WARN) $9510: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 (TOP)\tool\sqldi 9520: 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 ff.c$(SQLITE3C)
9530: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS 9540: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
9550: 0a 73 72 63 63 6b 31 2e 65 78 65 3a 09 24 28 54  .srcck1.exe:.$(T 9560: 4f 50 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e OP)\tool\srcck1. 9570: 63 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 c..$(BCC) $(NO_W 9580: 41 52 4e 29 20 2d 46 65 24 40 20 24 28 54 4f 50 ARN) -Fe$@ $(TOP 9590: 29 5c 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a )\tool\srcck1.c. 95a0: 0a 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63 .sourcetest:.src 95b0: 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 65 33 2e ck1.exe sqlite3. 95c0: 63 0a 09 73 72 63 63 6b 31 2e 65 78 65 20 73 71 c..srcck1.exe sq 95d0: 6c 69 74 65 33 2e 63 0a 0a 66 75 7a 7a 65 72 73 lite3.c..fuzzers 95e0: 68 65 6c 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 hell.exe:.$(TOP)
95f0: 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c  \tool\fuzzershel
9600: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 9610: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 9620: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
9630: 29 20 24 28 46 55 5a 5a 45 52 53 48 45 4c 4c 5f  ) $(FUZZERSHELL_ 9640: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
9650: 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72  TOP)\tool\fuzzer
9660: 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c 49 54 45  shell.c $(SQLITE 9670: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 3C) /link$(LDFL
9680: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT 9690: 53 29 0a 0a 66 75 7a 7a 63 68 65 63 6b 2e 65 78 S)..fuzzcheck.ex 96a0: 65 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 e:.$(TOP)\test\f
96b0: 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 53 51 4c  uzzcheck.c $(SQL 96c0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
96d0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK)$(
96e0: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43  NO_WARN) $(FUZZC 96f0: 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 HECK_COMPILE_OPT 9700: 53 29 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 S)$(TOP)\test\f
9710: 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 53 51 4c  uzzcheck.c $(SQL 9720: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c ITE3C) /link$(L
9730: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b  DFLAGS) $(LTLINK 9740: 4f 50 54 53 29 0a 0a 6d 70 74 65 73 74 65 72 2e OPTS)..mptester. 9750: 65 78 65 3a 09 24 28 54 4f 50 29 5c 6d 70 74 65 exe:.$(TOP)\mpte
9760: 73 74 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51  st\mptest.c $(SQ 9770: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 LITE3C)$(SQLITE
9780: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3H)..$(LTLINK)$
9790: 28 4e 4f 5f 57 41 52 4e 29 20 24 28 4d 50 54 45  (NO_WARN) $(MPTE 97a0: 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 STER_COMPILE_OPT 97b0: 53 29 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 S)$(TOP)\mptest
97c0: 5c 6d 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49  \mptest.c $(SQLI 97d0: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 TE3C) /link$(LD
97e0: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f  FLAGS) $(LTLINKO 97f0: 50 54 53 29 0a 0a 4d 50 54 45 53 54 31 20 3d 20 PTS)..MPTEST1 = 9800: 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e mptester mptest. 9810: 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 db$(TOP)\mptest
9820: 5c 63 72 61 73 68 30 31 2e 74 65 73 74 20 2d 2d  \crash01.test --
9830: 72 65 70 65 61 74 20 32 30 0a 4d 50 54 45 53 54  repeat 20.MPTEST
9840: 32 20 3d 20 6d 70 74 65 73 74 65 72 20 6d 70 74  2 = mptester mpt
9850: 65 73 74 2e 64 62 20 24 28 54 4f 50 29 5c 6d 70  est.db $(TOP)\mp 9860: 74 65 73 74 5c 6d 75 6c 74 69 77 72 69 74 65 30 test\multiwrite0 9870: 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 74 20 1.test --repeat 9880: 32 30 0a 0a 6d 70 74 65 73 74 3a 09 6d 70 74 65 20..mptest:.mpte 9890: 73 74 65 72 2e 65 78 65 0a 09 64 65 6c 20 2f 51 ster.exe..del /Q 98a0: 20 6d 70 74 65 73 74 2e 64 62 20 32 3e 4e 55 4c mptest.db 2>NUL 98b0: 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a ..$(MPTEST1) --j
98c0: 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c 45 54  ournalmode DELET
98d0: 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d  E..$(MPTEST2) -- 98e0: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a journalmode WAL. 98f0: 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f .$(MPTEST1) --jo
9900: 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24  urnalmode WAL..$9910: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 (MPTEST2) --jour 9920: 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a nalmode PERSIST. 9930: 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f .$(MPTEST1) --jo
9940: 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49 53  urnalmode PERSIS
9950: 54 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d  T..$(MPTEST2) -- 9960: 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e journalmode TRUN 9970: 43 41 54 45 0a 09 24 28 4d 50 54 45 53 54 31 29 CATE..$(MPTEST1)
9980: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54   --journalmode T
9990: 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53  RUNCATE..$(MPTES 99a0: 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 T2) --journalmod 99b0: 65 20 44 45 4c 45 54 45 0a 0a 23 20 54 68 69 73 e DELETE..# This 99c0: 20 74 61 72 67 65 74 20 63 72 65 61 74 65 73 20 target creates 99d0: 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 a directory name 99e0: 64 20 22 74 73 72 63 22 20 61 6e 64 20 66 69 6c d "tsrc" and fil 99f0: 6c 73 20 69 74 20 77 69 74 68 0a 23 20 63 6f 70 ls it with.# cop 9a00: 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 68 ies of all of th 9a10: 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 e C source code 9a20: 61 6e 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 and header files 9a30: 20 6e 65 65 64 65 64 20 74 6f 0a 23 20 62 75 69 needed to.# bui 9a40: 6c 64 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 ld on the target 9a50: 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d 65 20 6f system. Some o 9a60: 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 63 f the C source c 9a70: 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 0a 23 ode and header.# 9a80: 20 66 69 6c 65 73 20 61 72 65 20 61 75 74 6f 6d files are autom 9a90: 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 atically generat 9aa0: 65 64 2e 20 20 54 68 69 73 20 74 61 72 67 65 74 ed. This target 9ab0: 20 74 61 6b 65 73 20 63 61 72 65 20 6f 66 0a 23 takes care of.# 9ac0: 20 61 6c 6c 20 74 68 61 74 20 61 75 74 6f 6d 61 all that automa 9ad0: 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e 2e 0a tic generation.. 9ae0: 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 #..target_source 9af0: 3a 09 24 28 53 52 43 29 20 24 28 54 4f 50 29 5c :.$(SRC) $(TOP)\ 9b00: 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65 tool\vdbe-compre 9b10: 73 73 2e 74 63 6c 20 66 74 73 35 2e 63 0a 09 2d ss.tcl fts5.c..- 9b20: 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 rmdir /Q/S tsrc 9b30: 32 3e 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 2>NUL..-mkdir ts 9b40: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 rc..for %i in ($
9b50: 28 53 52 43 31 29 29 20 64 6f 20 63 6f 70 79 20  (SRC1)) do copy
9b60: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for
9b70: 25 69 20 69 6e 20 28 24 28 53 52 43 32 29 29 20  %i in ($(SRC2)) 9b80: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 do copy /Y %i ts 9b90: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 rc..for %i in ($
9ba0: 28 53 52 43 33 29 29 20 64 6f 20 63 6f 70 79 20  (SRC3)) do copy
9bb0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for
9bc0: 25 69 20 69 6e 20 28 24 28 53 52 43 34 29 29 20  %i in ($(SRC4)) 9bd0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 do copy /Y %i ts 9be0: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 rc..for %i in ($
9bf0: 28 53 52 43 35 29 29 20 64 6f 20 63 6f 70 79 20  (SRC5)) do copy
9c00: 2f 59 20 25 69 20 74 73 72 63 0a 09 63 6f 70 79  /Y %i tsrc..copy
9c10: 20 2f 59 20 66 74 73 35 2e 63 20 74 73 72 63 0a   /Y fts5.c tsrc.
9c20: 09 63 6f 70 79 20 2f 59 20 66 74 73 35 2e 68 20  .copy /Y fts5.h
9c30: 74 73 72 63 0a 09 64 65 6c 20 2f 51 20 74 73 72  tsrc..del /Q tsr
9c40: 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 74 73  c\sqlite.h.in ts
9c50: 72 63 5c 70 61 72 73 65 2e 79 20 32 3e 4e 55 4c  rc\parse.y 2>NUL
9c60: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD)$
9c70: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d  (TOP)\tool\vdbe-
9c80: 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 24 28 4f  compress.tcl $(O 9c90: 50 54 53 29 20 3c 20 74 73 72 63 5c 76 64 62 65 PTS) < tsrc\vdbe 9ca0: 2e 63 20 3e 20 76 64 62 65 2e 6e 65 77 0a 09 6d .c > vdbe.new..m 9cb0: 6f 76 65 20 76 64 62 65 2e 6e 65 77 20 74 73 72 ove vdbe.new tsr 9cc0: 63 5c 76 64 62 65 2e 63 0a 09 65 63 68 6f 20 3e c\vdbe.c..echo > 9cd0: 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a .target_source. 9ce0: 0a 73 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61 72 .sqlite3.c:..tar 9cf0: 67 65 74 5f 73 6f 75 72 63 65 20 73 71 6c 69 74 get_source sqlit 9d00: 65 33 65 78 74 2e 68 20 24 28 54 4f 50 29 5c 74 e3ext.h$(TOP)\t
9d10: 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74  ool\mksqlite3c.t
9d20: 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  cl..$(TCLSH_CMD) 9d30: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73$(TOP)\tool\mks
9d40: 71 6c 69 74 65 33 63 2e 74 63 6c 20 24 28 4d 4b  qlite3c.tcl $(MK 9d50: 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29 0a 09 SQLITE3C_ARGS).. 9d60: 63 6f 70 79 20 74 73 72 63 5c 73 68 65 6c 6c 2e copy tsrc\shell. 9d70: 63 20 2e 0a 0a 73 71 6c 69 74 65 33 2d 61 6c 6c c ...sqlite3-all 9d80: 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63 20 24 28 .c:.sqlite3.c$(
9d90: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d  TOP)\tool\split-
9da0: 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09 24 28  sqlite3c.tcl..$( 9db0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
9dc0: 29 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c  )\tool\split-sql
9dd0: 69 74 65 33 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d  ite3c.tcl.# <</m
9de0: 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f  ark>>..# Rule to
9df0: 20 62 75 69 6c 64 20 74 68 65 20 61 6d 61 6c 67   build the amalg
9e00: 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 65  amation.#.sqlite
9e10: 33 2e 6c 6f 3a 09 24 28 53 51 4c 49 54 45 33 43  3.lo:.$(SQLITE3C 9e20: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
9e30: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O 9e40: 50 54 53 29 20 2d 63 20 24 28 53 51 4c 49 54 45 PTS) -c$(SQLITE
9e50: 33 43 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  3C)..# <<mark>>.
9e60: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
9e70: 20 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69   the LEMON compi
9e80: 6c 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 23 0a  ler generator.#.
9e90: 6c 65 6d 70 61 72 2e 63 3a 09 24 28 54 4f 50 29  lempar.c:.$(TOP) 9ea0: 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09 \tool\lempar.c.. 9eb0: 63 6f 70 79 20 24 28 54 4f 50 29 5c 74 6f 6f 6c copy$(TOP)\tool
9ec0: 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d  \lempar.c ...lem
9ed0: 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  on.exe:.$(TOP)\t 9ee0: 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70 ool\lemon.c lemp 9ef0: 61 72 2e 63 0a 09 24 28 42 43 43 29 20 24 28 4e ar.c..$(BCC) $(N 9f00: 4f 5f 57 41 52 4e 29 20 2d 44 61 63 63 65 73 73 O_WARN) -Daccess 9f10: 3d 5f 61 63 63 65 73 73 20 5c 0a 09 09 2d 46 65 =_access \...-Fe 9f20: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c$@ $(TOP)\tool\l 9f30: 65 6d 6f 6e 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c emon.c /link$(L
9f40: 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e  DFLAGS) $(NLTLIN 9f50: 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 KOPTS)$(NLTLIBP
9f60: 41 54 48 53 29 0a 0a 23 20 52 75 6c 65 73 20 74  ATHS)..# Rules t
9f70: 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75  o build individu
9f80: 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72  al *.lo files fr
9f90: 6f 6d 20 67 65 6e 65 72 61 74 65 64 20 2a 2e 63  om generated *.c
9fa0: 20 66 69 6c 65 73 2e 20 54 68 69 73 0a 23 20 61   files. This.# a
9fb0: 70 70 6c 69 65 73 20 74 6f 3a 0a 23 0a 23 20 20  pplies to:.#.#
9fc0: 20 20 20 70 61 72 73 65 2e 6c 6f 0a 23 20 20 20     parse.lo.#
9fd0: 20 20 6f 70 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70    opcodes.lo.#.p
9fe0: 61 72 73 65 2e 6c 6f 3a 09 70 61 72 73 65 2e 63  arse.lo:.parse.c
9ff0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
a000: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM a010: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 70 61 PILE_OPTS) -c pa a020: 72 73 65 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c rse.c..opcodes.l a030: 6f 3a 09 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28 o:.opcodes.c..$(
a040: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR a050: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) a060: 2d 63 20 6f 70 63 6f 64 65 73 2e 63 0a 23 20 3c -c opcodes.c.# < a070: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 </mark>>..# Rule a080: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 57 69 to build the Wi a090: 6e 33 32 20 72 65 73 6f 75 72 63 65 73 20 6f 62 n32 resources ob a0a0: 6a 65 63 74 20 66 69 6c 65 2e 0a 23 0a 21 49 46 ject file..#.!IF a0b0: 20 24 28 55 53 45 5f 52 43 29 21 3d 30 0a 23 20$(USE_RC)!=0.#
a0c0: 3c 3c 62 6c 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42  <<block1>>.$(LIB a0d0: 52 45 53 4f 42 4a 53 29 3a 09 24 28 54 4f 50 29 RESOBJS):.$(TOP)
a0e0: 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 20  \src\sqlite3.rc
a0f0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 65 63 68  $(SQLITE3H)..ech a100: 6f 20 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45 o #ifndef SQLITE a110: 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49 4f _RESOURCE_VERSIO a120: 4e 20 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a N > sqlite3rc.h. a130: 09 66 6f 72 20 2f 46 20 25 25 56 20 69 6e 20 28 .for /F %%V in ( a140: 27 74 79 70 65 20 22 24 28 54 4f 50 29 5c 56 45 'type "$(TOP)\VE
a150: 52 53 49 4f 4e 22 27 29 20 64 6f 20 28 20 5c 0a  RSION"') do ( \.
a160: 09 09 65 63 68 6f 20 23 64 65 66 69 6e 65 20 53  ..echo #define S
a170: 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f 56  QLITE_RESOURCE_V
a180: 45 52 53 49 4f 4e 20 25 25 56 20 5c 0a 09 09 09  ERSION %%V \....
a190: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  | $(TCLSH_CMD)$
a1a0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61  (TOP)\tool\repla
a1b0: 63 65 2e 74 63 6c 20 65 78 61 63 74 20 2e 20 5e  ce.tcl exact . ^
a1c0: 2c 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e 68  , >> sqlite3rc.h
a1d0: 20 5c 0a 09 29 0a 09 65 63 68 6f 20 23 65 6e 64   \..)..echo #end
a1e0: 69 66 20 3e 3e 20 73 71 6c 69 74 65 33 72 63 2e  if >> sqlite3rc.
a1f0: 68 0a 09 24 28 4c 54 52 43 4f 4d 50 49 4c 45 29  h..$(LTRCOMPILE) a200: 20 2d 66 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a -fo$(LIBRESOBJ
a210: 53 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71  S) $(TOP)\src\sq a220: 6c 69 74 65 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c lite3.rc.# <</bl a230: 6f 63 6b 31 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 ock1>>.!ENDIF..# a240: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 <<mark>>.# Rule a250: 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 s to build indiv a260: 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 idual *.lo files a270: 20 66 72 6f 6d 20 66 69 6c 65 73 20 69 6e 20 74 from files in t a280: 68 65 20 73 72 63 20 64 69 72 65 63 74 6f 72 79 he src directory a290: 2e 0a 23 0a 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 ..#.alter.lo:.$(
a2a0: 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63  TOP)\src\alter.c
a2b0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
a2c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM a2d0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
a2e0: 54 4f 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63  TOP)\src\alter.c
a2f0: 0a 0a 61 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28  ..analyze.lo:.$( a300: 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 TOP)\src\analyze a310: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC a320: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
a330: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
a340: 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79  $(TOP)\src\analy a350: 7a 65 2e 63 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a ze.c..attach.lo: a360: 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 .$(TOP)\src\atta
a370: 63 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ch.c $(HDR)..$(L
a380: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE a390: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - a3a0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 c$(TOP)\src\att
a3b0: 61 63 68 2e 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09  ach.c..auth.lo:.
a3c0: 24 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e  $(TOP)\src\auth. a3d0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO a3e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
a3f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $a400: 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 (TOP)\src\auth.c a410: 0a 0a 62 61 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 ..backup.lo:.$(T
a420: 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63  OP)\src\backup.c
a430: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
a440: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM a450: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
a460: 54 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e  TOP)\src\backup.
a470: 63 0a 0a 62 69 74 76 65 63 2e 6c 6f 3a 09 24 28  c..bitvec.lo:.$( a480: 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e TOP)\src\bitvec. a490: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO a4a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
a4b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $a4c0: 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 (TOP)\src\bitvec a4d0: 2e 63 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 .c..btmutex.lo:. a4e0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74$(TOP)\src\btmut
a4f0: 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ex.c $(HDR)..$(L
a500: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE a510: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - a520: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d c$(TOP)\src\btm
a530: 75 74 65 78 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f  utex.c..btree.lo
a540: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72  :.$(TOP)\src\btr a550: 65 65 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f ee.c$(HDR) $(TO a560: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 P)\src\pager.h.. a570: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C a580: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS a590: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
a5a0: 62 74 72 65 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c  btree.c..build.l
a5b0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 75  o:.$(TOP)\src\bu a5c0: 69 6c 64 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ild.c$(HDR)..$( a5d0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
a5e0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
a5f0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 75  -c $(TOP)\src\bu a600: 69 6c 64 2e 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e ild.c..callback. a610: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 lo:.$(TOP)\src\c
a620: 61 6c 6c 62 61 63 6b 2e 63 20 24 28 48 44 52 29  allback.c $(HDR) a630: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $a640: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP a650: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
a660: 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f  c\callback.c..co
a670: 6d 70 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50  mplete.lo:.$(TOP a680: 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 )\src\complete.c a690: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM a6a0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
a6b0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( a6c0: 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 TOP)\src\complet a6d0: 65 2e 63 0a 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 e.c..ctime.lo:.$
a6e0: 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e  (TOP)\src\ctime.
a6f0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
a700: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO a710: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
a720: 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65 2e  (TOP)\src\ctime.
a730: 63 0a 0a 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f  c..date.lo:.$(TO a740: 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 24 28 P)\src\date.c$(
a750: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL a760: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
a770: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP a780: 29 5c 73 72 63 5c 64 61 74 65 2e 63 0a 0a 64 62 )\src\date.c..db a790: 73 74 61 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c stat.lo:.$(TOP)\
a7a0: 73 72 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52  src\date.c $(HDR a7b0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
a7c0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O a7d0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
a7e0: 72 63 5c 64 62 73 74 61 74 2e 63 0a 0a 64 65 6c  rc\dbstat.c..del
a7f0: 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ete.lo:.$(TOP)\s a800: 72 63 5c 64 65 6c 65 74 65 2e 63 20 24 28 48 44 rc\delete.c$(HD
a810: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) a820: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
a830: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ a840: 73 72 63 5c 64 65 6c 65 74 65 2e 63 0a 0a 65 78 src\delete.c..ex a850: 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 pr.lo:.$(TOP)\sr
a860: 63 5c 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a  c\expr.c $(HDR). a870: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( a880: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT a890: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
a8a0: 5c 65 78 70 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c  \expr.c..fault.l
a8b0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 61  o:.$(TOP)\src\fa a8c0: 75 6c 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ult.c$(HDR)..$( a8d0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
a8e0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
a8f0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61  -c $(TOP)\src\fa a900: 75 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 ult.c..fkey.lo:. a910: 24 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e$(TOP)\src\fkey.
a920: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
a930: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO a940: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
a950: 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63  (TOP)\src\fkey.c
a960: 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50  ..func.lo:.$(TOP a970: 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 24 28 48 )\src\func.c$(H
a980: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE a990: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
a9a0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) a9b0: 5c 73 72 63 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f \src\func.c..glo a9c0: 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 bal.lo:.$(TOP)\s
a9d0: 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 24 28 48 44  rc\global.c $(HD a9e0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
a9f0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ aa00: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
aa10: 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61  src\global.c..ha
aa20: 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  sh.lo:.$(TOP)\sr aa30: 63 5c 68 61 73 68 2e 63 20 24 28 48 44 52 29 0a c\hash.c$(HDR).
aa40: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
aa50: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
aa60: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src aa70: 5c 68 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e \hash.c..insert. aa80: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 69 lo:.$(TOP)\src\i
aa90: 6e 73 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09  nsert.c $(HDR).. aaa0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C aab0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS aac0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
aad0: 69 6e 73 65 72 74 2e 63 0a 0a 6a 6f 75 72 6e 61  insert.c..journa
aae0: 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  l.lo:.$(TOP)\src aaf0: 5c 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44 52 \journal.c$(HDR
ab00: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) ab10: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
ab20: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s ab30: 72 63 5c 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6c 65 rc\journal.c..le ab40: 67 61 63 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c gacy.lo:.$(TOP)\
ab50: 73 72 63 5c 6c 65 67 61 63 79 2e 63 20 24 28 48  src\legacy.c $(H ab60: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
ab70: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE ab80: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
ab90: 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c  \src\legacy.c..l
aba0: 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50  oadext.lo:.$(TOP abb0: 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 )\src\loadext.c abc0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP abd0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
abe0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T abf0: 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e OP)\src\loadext. ac00: 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f c..main.lo:.$(TO
ac10: 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 24 28  P)\src\main.c $( ac20: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
ac30: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL ac40: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
ac50: 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61  )\src\main.c..ma
ac60: 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  lloc.lo:.$(TOP)\ ac70: 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 24 28 48 src\malloc.c$(H
ac80: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE ac90: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
aca0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) acb0: 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d \src\malloc.c..m acc0: 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 em0.lo:.$(TOP)\s
acd0: 72 63 5c 6d 65 6d 30 2e 63 20 24 28 48 44 52 29  rc\mem0.c $(HDR) ace0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $acf0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP ad00: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
ad10: 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c  c\mem0.c..mem1.l
ad20: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65  o:.$(TOP)\src\me ad30: 6d 31 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c m1.c$(HDR)..$(L ad40: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
ad50: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ad60: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d  c $(TOP)\src\mem ad70: 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 1.c..mem2.lo:.$(
ad80: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20  TOP)\src\mem2.c
ad90: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
ada0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP adb0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
adc0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a  OP)\src\mem2.c..
add0: 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  mem3.lo:.$(TOP)\ ade0: 73 72 63 5c 6d 65 6d 33 2e 63 20 24 28 48 44 52 src\mem3.c$(HDR
adf0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) ae00: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
ae10: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s ae20: 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e rc\mem3.c..mem5. ae30: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d lo:.$(TOP)\src\m
ae40: 65 6d 35 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em5.c $(HDR)..$(
ae50: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR ae60: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) ae70: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 -c$(TOP)\src\me
ae80: 6d 35 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c  m5.c..memjournal
ae90: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ aea0: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 48 memjournal.c$(H
aeb0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE aec0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
aed0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) aee0: 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e \src\memjournal. aef0: 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 c..mutex.lo:.$(T
af00: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20  OP)\src\mutex.c
af10: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
af20: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP af30: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
af40: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 0a  OP)\src\mutex.c.
af50: 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09  .mutex_noop.lo:.
af60: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex af70: 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52 29 0a 09 _noop.c$(HDR)..
af80: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
af90: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
afa0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ afb0: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 mutex_noop.c..mu afc0: 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 tex_unix.lo:.$(T
afd0: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e  OP)\src\mutex_un
afe0: 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ix.c $(HDR)..$(L
aff0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE b000: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - b010: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 c$(TOP)\src\mut
b020: 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74 65 78  ex_unix.c..mutex
b030: 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  _w32.lo:.$(TOP)\ b040: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 src\mutex_w32.c b050: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP b060: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
b070: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T b080: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 OP)\src\mutex_w3 b090: 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 2.c..notify.lo:. b0a0: 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66$(TOP)\src\notif
b0b0: 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  y.c $(HDR)..$(LT
b0c0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ b0d0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c b0e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69$(TOP)\src\noti
b0f0: 66 79 2e 63 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09  fy.c..pager.lo:.
b100: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager b110: 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 .c$(HDR) $(TOP) b120: 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 \src\pager.h..$(
b130: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR b140: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) b150: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 -c$(TOP)\src\pa
b160: 67 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e 6c 6f  ger.c..pcache.lo
b170: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61  :.$(TOP)\src\pca b180: 63 68 65 2e 63 20 24 28 48 44 52 29 20 24 28 54 che.c$(HDR) $(T b190: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 OP)\src\pcache.h b1a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $b1b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP b1c0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
b1d0: 63 5c 70 63 61 63 68 65 2e 63 0a 0a 70 63 61 63  c\pcache.c..pcac
b1e0: 68 65 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  he1.lo:.$(TOP)\s b1f0: 72 63 5c 70 63 61 63 68 65 31 2e 63 20 24 28 48 rc\pcache1.c$(H
b200: 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  DR) $(TOP)\src\p b210: 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 4f 4d cache.h..$(LTCOM
b220: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM b230: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
b240: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31  TOP)\src\pcache1
b250: 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50  .c..os.lo:.$(TOP b260: 29 5c 73 72 63 5c 6f 73 2e 63 20 24 28 48 44 52 )\src\os.c$(HDR
b270: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) b280: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
b290: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s b2a0: 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 rc\os.c..os_unix b2b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
b2c0: 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29  os_unix.c $(HDR) b2d0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $b2e0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP b2f0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
b300: 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f  c\os_unix.c..os_
b310: 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  win.lo:.$(TOP)\s b320: 72 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 28 48 44 rc\os_win.c$(HD
b330: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) b340: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
b350: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ b360: 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 src\os_win.c..pr b370: 61 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c agma.lo:.$(TOP)\
b380: 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 24 28 48  src\pragma.c $(H b390: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
b3a0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE b3b0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
b3c0: 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 0a 0a 70  \src\pragma.c..p
b3d0: 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28 54 4f 50  repare.lo:.$(TOP b3e0: 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 )\src\prepare.c b3f0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP b400: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
b410: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T b420: 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e OP)\src\prepare. b430: 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 c..printf.lo:.$(
b440: 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e  TOP)\src\printf.
b450: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b460: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO b470: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
b480: 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74 66  (TOP)\src\printf
b490: 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24  .c..random.lo:.$b4a0: 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d (TOP)\src\random b4b0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC b4c0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
b4d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
b4e0: 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f  $(TOP)\src\rando b4f0: 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a m.c..resolve.lo: b500: 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f .$(TOP)\src\reso
b510: 6c 76 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  lve.c $(HDR)..$(
b520: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR b530: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) b540: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 -c$(TOP)\src\re
b550: 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73 65 74 2e  solve.c..rowset.
b560: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72  lo:.$(TOP)\src\r b570: 6f 77 73 65 74 2e 63 20 24 28 48 44 52 29 0a 09 owset.c$(HDR)..
b580: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
b590: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b5a0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ b5b0: 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c 65 63 74 rowset.c..select b5c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
b5d0: 73 65 6c 65 63 74 2e 63 20 24 28 48 44 52 29 0a  select.c $(HDR). b5e0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( b5f0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT b600: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
b610: 5c 73 65 6c 65 63 74 2e 63 0a 0a 73 74 61 74 75  \select.c..statu
b620: 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  s.lo:.$(TOP)\src b630: 5c 73 74 61 74 75 73 2e 63 20 24 28 48 44 52 29 \status.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 73 74 61 74 75 73 2e 63 0a 0a 74 61 62 6c c\status.c..tabl b680: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
b690: 5c 74 61 62 6c 65 2e 63 20 24 28 48 44 52 29 0a  \table.c $(HDR). b6a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( b6b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT b6c0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
b6d0: 5c 74 61 62 6c 65 2e 63 0a 0a 74 68 72 65 61 64  \table.c..thread
b6e0: 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  s.lo:.$(TOP)\src b6f0: 5c 74 68 72 65 61 64 73 2e 63 20 24 28 48 44 52 \threads.c$(HDR
b700: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) b710: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
b720: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s b730: 72 63 5c 74 68 72 65 61 64 73 2e 63 0a 0a 74 6f rc\threads.c..to b740: 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 kenize.lo:.$(TOP
b750: 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63  )\src\tokenize.c
b760: 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 24   keywordhash.h $b770: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
b780: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI b790: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
b7a0: 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e  P)\src\tokenize.
b7b0: 63 0a 0a 74 72 65 65 76 69 65 77 2e 6c 6f 3a 09  c..treeview.lo:.
b7c0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76  $(TOP)\src\treev b7d0: 69 65 77 2e 63 20 24 28 48 44 52 29 0a 09 24 28 iew.c$(HDR)..$( b7e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
b7f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
b800: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  -c $(TOP)\src\tr b810: 65 65 76 69 65 77 2e 63 0a 0a 74 72 69 67 67 65 eeview.c..trigge b820: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 r.lo:.$(TOP)\src
b830: 5c 74 72 69 67 67 65 72 2e 63 20 24 28 48 44 52  \trigger.c $(HDR b840: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
b850: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O b860: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
b870: 72 63 5c 74 72 69 67 67 65 72 2e 63 0a 0a 75 70  rc\trigger.c..up
b880: 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  date.lo:.$(TOP)\ b890: 73 72 63 5c 75 70 64 61 74 65 2e 63 20 24 28 48 src\update.c$(H
b8a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE b8b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
b8c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) b8d0: 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 0a 0a 75 \src\update.c..u b8e0: 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 tf.lo:.$(TOP)\sr
b8f0: 63 5c 75 74 66 2e 63 20 24 28 48 44 52 29 0a 09  c\utf.c $(HDR).. b900: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C b910: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS b920: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
b930: 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09  utf.c..util.lo:.
b940: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e  $(TOP)\src\util. b950: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO b960: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
b970: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $b980: 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 (TOP)\src\util.c b990: 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09 24 28 54 ..vacuum.lo:.$(T
b9a0: 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63  OP)\src\vacuum.c
b9b0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b9c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM b9d0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
b9e0: 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e  TOP)\src\vacuum.
b9f0: 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f  c..vdbe.lo:.$(TO ba00: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28 P)\src\vdbe.c$(
ba10: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL ba20: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
ba30: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP ba40: 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64 )\src\vdbe.c..vd ba50: 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 beapi.lo:.$(TOP)
ba60: 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63 20 24  \src\vdbeapi.c $ba70: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
ba80: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI ba90: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
baa0: 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63  P)\src\vdbeapi.c
bab0: 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28  ..vdbeaux.lo:.$( bac0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 TOP)\src\vdbeaux bad0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC bae0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
baf0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
bb00: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea bb10: 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c ux.c..vdbeblob.l bb20: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 o:.$(TOP)\src\vd
bb30: 62 65 62 6c 6f 62 2e 63 20 24 28 48 44 52 29 0a  beblob.c $(HDR). bb40: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( bb50: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT bb60: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
bb70: 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62  \vdbeblob.c..vdb
bb80: 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  emem.lo:.$(TOP)\ bb90: 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28 src\vdbemem.c$(
bba0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL bbb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
bbc0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP bbd0: 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 0a )\src\vdbemem.c. bbe0: 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a 09 24 28 .vdbesort.lo:.$(
bbf0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72  TOP)\src\vdbesor
bc00: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
bc10: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ bc20: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c bc30: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
bc40: 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74 72 61 63  sort.c..vdbetrac
bc50: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src bc60: 5c 76 64 62 65 74 72 61 63 65 2e 63 20 24 28 48 \vdbetrace.c$(H
bc70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE bc80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
bc90: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) bca0: 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 \src\vdbetrace.c bcb0: 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 ..vtab.lo:.$(TOP
bcc0: 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 24 28 48  )\src\vtab.c $(H bcd0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
bce0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE bcf0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
bd00: 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a 77 61 6c  \src\vtab.c..wal
bd10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ bd20: 77 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 wal.c$(HDR)..$( bd30: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
bd40: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
bd50: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61  -c $(TOP)\src\wa bd60: 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09 l.c..walker.lo:. bd70: 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65$(TOP)\src\walke
bd80: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  r.c $(HDR)..$(LT
bd90: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ bda0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c bdb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b$(TOP)\src\walk
bdc0: 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09  er.c..where.lo:.
bdd0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where bde0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC bdf0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
be00: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
be10: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where be20: 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65 2e 6c 6f .c..wherecode.lo be30: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 :.$(TOP)\src\whe
be40: 72 65 63 6f 64 65 2e 63 20 24 28 48 44 52 29 0a  recode.c $(HDR). be50: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( be60: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT be70: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
be80: 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a 0a 77 68  \wherecode.c..wh
be90: 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f  ereexpr.lo:.$(TO bea0: 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 P)\src\whereexpr beb0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC bec0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
bed0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
bee0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where bef0: 65 78 70 72 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 expr.c..tclsqlit bf00: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
bf10: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48  \tclsqlite.c $(H bf20: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
bf30: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 55  ) $(NO_WARN) -DU bf40: 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d SE_TCL_STUBS=1 - bf50: 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 DBUILD_sqlite -I bf60: 24 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20$(TCLINCDIR) -c
bf70: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq bf80: 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 lite.c..tclsqlit bf90: 65 2d 73 68 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f e-shell.lo:.$(TO
bfa0: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
bfb0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
bfc0: 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52  OMPILE) $(NO_WAR bfd0: 4e 29 20 2d 44 54 43 4c 53 48 3d 31 20 2d 44 42 N) -DTCLSH=1 -DB bfe0: 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 UILD_sqlite -I$(
bff0: 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28  TCLINCDIR) -c $( c000: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 TOP)\src\tclsqli c010: 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 33 te.c..tclsqlite3 c020: 2e 65 78 65 3a 09 74 63 6c 73 71 6c 69 74 65 2d .exe:.tclsqlite- c030: 73 68 65 6c 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 shell.lo$(SQLIT
c040: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) c050: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09$(LIBRESOBJS)..
c060: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 51 4c 49  $(LTLINK)$(SQLI
c070: 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44  TE3C) /link $(LD c080: 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f FLAGS)$(LTLINKO
c090: 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48  PTS) $(LTLIBPATH c0a0: 53 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 S) /OUT:$@ tclsq
c0b0: 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28  lite-shell.lo $( c0c0: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 LIBRESOBJS)$(LT
c0d0: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS).. c0e0: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 # Rules to build c0f0: 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f opcodes.c and o c100: 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64 pcodes.h.#.opcod c110: 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20 es.c:.opcodes.h c120: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70$(TOP)\tool\mkop
c130: 63 6f 64 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c  codec.tcl..$(TCL c140: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 SH_CMD)$(TOP)\t
c150: 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63  ool\mkopcodec.tc
c160: 6c 20 6f 70 63 6f 64 65 73 2e 68 20 3e 20 6f 70  l opcodes.h > op
c170: 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73  codes.c..opcodes
c180: 2e 68 3a 09 70 61 72 73 65 2e 68 20 24 28 54 4f  .h:.parse.h $(TO c190: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 24 28 P)\src\vdbe.c$(
c1a0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
c1b0: 64 65 68 2e 74 63 6c 0a 09 74 79 70 65 20 70 61  deh.tcl..type pa
c1c0: 72 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63  rse.h $(TOP)\src c1d0: 5c 76 64 62 65 2e 63 20 7c 20 24 28 54 43 4c 53 \vdbe.c |$(TCLS
c1e0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to c1f0: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c ol\mkopcodeh.tcl c200: 20 3e 20 6f 70 63 6f 64 65 73 2e 68 0a 0a 23 20 > opcodes.h..# c210: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 70 Rules to build p c220: 61 72 73 65 2e 63 20 61 6e 64 20 70 61 72 73 65 arse.c and parse c230: 2e 68 20 2d 20 74 68 65 20 6f 75 74 70 75 74 73 .h - the outputs c240: 20 6f 66 20 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72 of lemon..#.par c250: 73 65 2e 68 3a 09 70 61 72 73 65 2e 63 0a 0a 70 se.h:.parse.c..p c260: 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 73 arse.c:.$(TOP)\s
c270: 72 63 5c 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e  rc\parse.y lemon
c280: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  .exe $(TOP)\tool c290: 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 0a \addopcodes.tcl. c2a0: 09 64 65 6c 20 2f 51 20 70 61 72 73 65 2e 79 20 .del /Q parse.y c2b0: 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e parse.h parse.h. c2c0: 74 65 6d 70 20 32 3e 4e 55 4c 0a 09 63 6f 70 79 temp 2>NUL..copy c2d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73$(TOP)\src\pars
c2e0: 65 2e 79 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65  e.y ....\lemon.e
c2f0: 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  xe $(REQ_FEATURE c300: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 _FLAGS)$(OPT_FE
c310: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E c320: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 XT_FEATURE_FLAGS c330: 29 20 24 28 4f 50 54 53 29 20 70 61 72 73 65 2e )$(OPTS) parse.
c340: 79 0a 09 6d 6f 76 65 20 70 61 72 73 65 2e 68 20  y..move parse.h
c350: 70 61 72 73 65 2e 68 2e 74 65 6d 70 0a 09 24 28  parse.h.temp..$( c360: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
c370: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65  )\tool\addopcode
c380: 73 2e 74 63 6c 20 70 61 72 73 65 2e 68 2e 74 65  s.tcl parse.h.te
c390: 6d 70 20 3e 20 70 61 72 73 65 2e 68 0a 0a 24 28  mp > parse.h..$( c3a0: 53 51 4c 49 54 45 33 48 29 3a 09 24 28 54 4f 50 SQLITE3H):.$(TOP
c3b0: 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69  )\src\sqlite.h.i
c3c0: 6e 20 24 28 54 4f 50 29 5c 6d 61 6e 69 66 65 73  n $(TOP)\manifes c3d0: 74 2e 75 75 69 64 20 24 28 54 4f 50 29 5c 56 45 t.uuid$(TOP)\VE
c3e0: 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48 5f 43  RSION..$(TCLSH_C c3f0: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c MD)$(TOP)\tool\
c400: 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c 20 24  mksqlite3h.tcl $c410: 28 54 4f 50 3a 5c 3d 2f 29 20 3e 20 24 28 53 51 (TOP:\=/) >$(SQ
c420: 4c 49 54 45 33 48 29 0a 0a 73 71 6c 69 74 65 33  LITE3H)..sqlite3
c430: 65 78 74 2e 68 3a 20 2e 74 61 72 67 65 74 5f 73  ext.h: .target_s
c440: 6f 75 72 63 65 0a 09 63 6f 70 79 20 74 73 72 63  ource..copy tsrc
c450: 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 2e 0a  \sqlite3ext.h ..
c460: 0a 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65  .mkkeywordhash.e
c470: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\ c480: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 0a mkkeywordhash.c. c490: 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 .$(BCC) $(NO_WAR c4a0: 4e 29 20 2d 46 65 24 40 20 24 28 52 45 51 5f 46 N) -Fe$@ $(REQ_F c4b0: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 EATURE_FLAGS)$(
c4c0: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
c4d0: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE c4e0: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 _FLAGS)$(OPTS)
c4f0: 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\ c500: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 mkkeywordhash.c c510: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
c520: 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20   $(NLTLINKOPTS) c530: 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a$(NLTLIBPATHS)..
c540: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 3a 09 24  keywordhash.h:.$c550: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 (TOP)\tool\mkkey c560: 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b 6b 65 79 wordhash.c mkkey c570: 77 6f 72 64 68 61 73 68 2e 65 78 65 0a 09 2e 5c wordhash.exe...\ c580: 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 mkkeywordhash.ex c590: 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 73 68 2e e > keywordhash. c5a0: 68 0a 0a 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 h....# Rules to c5b0: 62 75 69 6c 64 20 74 68 65 20 65 78 74 65 6e 73 build the extens c5c0: 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a 23 0a 69 ion objects..#.i c5d0: 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 cu.lo:.$(TOP)\ex
c5e0: 74 5c 69 63 75 5c 69 63 75 2e 63 20 24 28 48 44  t\icu\icu.c $(HD c5f0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( c600: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
c610: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
c620: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL c630: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
c640: 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63  P)\ext\icu\icu.c
c650: 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28 54 4f 50  ..fts2.lo:.$(TOP c660: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e )\ext\fts2\fts2. c670: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD c680: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c690: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c6a0: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
c6b0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
c6c0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts c6d0: 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73 32 5f 68 2\fts2.c..fts2_h c6e0: 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 ash.lo:.$(TOP)\e
c6f0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73  xt\fts2\fts2_has
c700: 68 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  h.c $(HDR)$(EXT
c710: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL c720: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
c730: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR c740: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE c750: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
c760: 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 0a  ts2\fts2_hash.c.
c770: 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a 09 24 28  .fts2_icu.lo:.$( c780: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft c790: 73 32 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20 s2_icu.c$(HDR)
c7a0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
c7b0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C c7c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
c7d0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
c7e0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ c7f0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 63 ext\fts2\fts2_ic c800: 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72 74 65 72 u.c..fts2_porter c810: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
c820: 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72  fts2\fts2_porter
c830: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
c840: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE c850: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
c860: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN c870: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE c880: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
c890: 73 32 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63  s2\fts2_porter.c
c8a0: 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  ..fts2_tokenizer
c8b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ c8c0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 fts2\fts2_tokeni c8d0: 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 zer.c$(HDR) $(E c8e0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
c8f0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c900: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
c910: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
c920: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext c930: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e \fts2\fts2_token c940: 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b izer.c..fts2_tok c950: 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f enizer1.lo:.$(TO
c960: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
c970: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28  _tokenizer1.c $( c980: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
c990: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
c9a0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c9b0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS c9c0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
c9d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
c9e0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a  s2_tokenizer1.c.
c9f0: 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54 4f 50 29  .fts3.lo:.$(TOP) ca00: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 \ext\fts3\fts3.c ca10: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52$(HDR) $(EXTHDR ca20: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
ca30: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O ca40: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 PTS)$(NO_WARN)
ca50: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63  -DSQLITE_CORE -c
ca60: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 ca70: 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33 5f 61 75 \fts3.c..fts3_au ca80: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 x.lo:.$(TOP)\ext
ca90: 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63  \fts3\fts3_aux.c
caa0: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
cab0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) cac0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
cad0: 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  PTS) $(NO_WARN) cae0: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c caf0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
cb00: 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a 66 74 73  \fts3_aux.c..fts
cb10: 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50  3_expr.lo:.$(TOP cb20: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ cb30: 65 78 70 72 2e 63 20 24 28 48 44 52 29 20 24 28 expr.c$(HDR) $( cb40: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
cb50: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM cb60: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
cb70: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
cb80: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex cb90: 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 t\fts3\fts3_expr cba0: 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68 2e 6c 6f .c..fts3_hash.lo cbb0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
cbc0: 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 24 28  3\fts3_hash.c $( cbd0: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
cbe0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
cbf0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
cc00: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS cc10: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
cc20: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
cc30: 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74 73 33 5f  s3_hash.c..fts3_
cc40: 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  icu.lo:.$(TOP)\e cc50: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 xt\fts3\fts3_icu cc60: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 .c$(HDR) $(EXTH cc70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
cc80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE cc90: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e _OPTS)$(NO_WARN
cca0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE
ccb0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft ccc0: 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 0a 0a 66 s3\fts3_icu.c..f ccd0: 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 3a 09 ts3_snippet.lo:. cce0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
ccf0: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 24  fts3_snippet.c $cd00: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
cd10: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
cd20: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cd30: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D cd40: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
cd50: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
cd60: 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 0a 0a 66  ts3_snippet.c..f
cd70: 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24  ts3_porter.lo:.$cd80: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f cd90: 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 ts3_porter.c$(H
cda0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
cdb0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO cdc0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) cdd0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
cde0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T cdf0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts ce00: 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74 73 33 3_porter.c..fts3 ce10: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 _tokenizer.lo:.$
ce20: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
ce30: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20  ts3_tokenizer.c
ce40: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
ce50: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
ce60: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ce70: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - ce80: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c ce90: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
cea0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63  fts3_tokenizer.c
ceb0: 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  ..fts3_tokenizer
cec0: 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  1.lo:.$(TOP)\ext ced0: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e \fts3\fts3_token cee0: 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29 20 24 izer1.c$(HDR) $cef0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f (EXTHDR)..$(LTCO
cf00: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO cf10: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f MPILE_OPTS)$(NO
cf20: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
cf30: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e cf40: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b xt\fts3\fts3_tok cf50: 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73 33 5f enizer1.c..fts3_ cf60: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f tokenize_vtab.lo cf70: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
cf80: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f  3\fts3_tokenize_
cf90: 76 74 61 62 2e 63 20 24 28 48 44 52 29 20 24 28  vtab.c $(HDR)$(
cfa0: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM cfb0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
cfc0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ cfd0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C cfe0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
cff0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
d000: 6e 69 7a 65 5f 76 74 61 62 2e 63 0a 0a 66 74 73  nize_vtab.c..fts
d010: 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24 28  3_unicode.lo:.$( d020: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft d030: 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 24 28 48 s3_unicode.c$(H
d040: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
d050: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO d060: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) d070: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
d080: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(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 75 6e 69 63 6f 64 65 2e 63 0a 0a 66 74 73 3_unicode.c..fts d0b0: 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09 24 3_unicode2.lo:.$
d0c0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
d0d0: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 24  ts3_unicode2.c $d0e0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
d0f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d100: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d110: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D d120: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
d130: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
d140: 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 0a 0a  ts3_unicode2.c..
d150: 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 3a 09 24  fts3_write.lo:.$d160: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f d170: 74 73 33 5f 77 72 69 74 65 2e 63 20 24 28 48 44 ts3_write.c$(HD
d180: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
d190: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR d1a0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) d1b0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
d1c0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO d1d0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 d1e0: 5f 77 72 69 74 65 2e 63 0a 0a 72 74 72 65 65 2e _write.c..rtree. d1f0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 lo:.$(TOP)\ext\r
d200: 74 72 65 65 5c 72 74 72 65 65 2e 63 20 24 28 48  tree\rtree.c $(H d210: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$d220: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d230: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d240: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ d250: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
d260: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74  OP)\ext\rtree\rt
d270: 72 65 65 2e 63 0a 0a 23 20 46 54 53 35 20 74 68  ree.c..# FTS5 th
d280: 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52 43 20  ings.#.FTS5_SRC
d290: 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  = \.   $(TOP)\ex d2a0: 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 5c 0a t\fts5\fts5.h \. d2b0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74$(TOP)\ext\ft
d2c0: 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c 0a 20  s5\fts5Int.h \.
d2d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts d2e0: 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c 0a 20 5\fts5_aux.c \. d2f0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
d300: 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e 63 20  5\fts5_buffer.c
d310: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\ d320: 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e 2e 63 fts5\fts5_main.c d330: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
d340: 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e 66 69  \fts5\fts5_confi
d350: 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  g.c \.   $(TOP)\ d360: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 65 78 ext\fts5\fts5_ex d370: 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 pr.c \.$(TOP)
d380: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 68  \ext\fts5\fts5_h
d390: 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  ash.c \.   $(TOP d3a0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ d3b0: 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 74 73 index.c \. fts d3c0: 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 61 72 5parse.c fts5par d3d0: 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 se.h \.$(TOP)
d3e0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 73  \ext\fts5\fts5_s
d3f0: 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20 24 28  torage.c \.   $( d400: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 TOP)\ext\fts5\ft d410: 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a s5_tokenize.c \. d420: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74$(TOP)\ext\ft
d430: 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64 65 32  s5\fts5_unicode2
d440: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e d450: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 61 72 xt\fts5\fts5_var d460: 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 int.c \.$(TOP
d470: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f  )\ext\fts5\fts5_
d480: 76 6f 63 61 62 2e 63 0a 0a 66 74 73 35 70 61 72  vocab.c..fts5par
d490: 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 65 78 74  se.c:.$(TOP)\ext d4a0: 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e \fts5\fts5parse. d4b0: 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70 y lemon.exe..cop d4c0: 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 y$(TOP)\ext\fts
d4d0: 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20 2e 0a  5\fts5parse.y ..
d4e0: 09 64 65 6c 20 2f 51 20 66 74 73 35 70 61 72 73  .del /Q fts5pars
d4f0: 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d  e.h 2>NUL...\lem
d500: 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46 45 41  on.exe $(REQ_FEA d510: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 TURE_FLAGS)$(OP
d520: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29  T_FEATURE_FLAGS)
d530: 20 24 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46   $(EXT_FEATURE_F d540: 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 66 74 LAGS)$(OPTS) ft
d550: 73 35 70 61 72 73 65 2e 79 0a 0a 66 74 73 35 70  s5parse.y..fts5p
d560: 61 72 73 65 2e 68 3a 20 66 74 73 35 70 61 72 73  arse.h: fts5pars
d570: 65 2e 63 0a 0a 66 74 73 35 2e 63 3a 20 24 28 46  e.c..fts5.c: $(F d580: 54 53 35 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 TS5_SRC)..$(TCLS
d590: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 65 78  H_CMD) $(TOP)\ex d5a0: 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 t\fts5\tool\mkft d5b0: 73 35 63 2e 74 63 6c 0a 09 63 6f 70 79 20 24 28 s5c.tcl..copy$(
d5c0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
d5d0: 73 35 2e 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a  s5.h ...fts5.lo:
d5e0: 09 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24  .fts5.c $(HDR)$
d5f0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO d600: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d610: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO d620: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ d630: 43 4f 52 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a CORE -c fts5.c.. d640: 66 74 73 35 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 fts5_ext.lo:.fts d650: 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 5.c$(HDR) $(EXT d660: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
d670: 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63  E) $(NO_WARN) -c d680: 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 2e 64 6c fts5.c..fts5.dl d690: 6c 3a 09 66 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 l:.fts5_ext.lo.. d6a0: 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29$(LD) $(LDFLAGS) d6b0: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24$(LTLINKOPTS) $d6c0: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c (LTLIBPATHS) /DL d6d0: 4c 20 2f 4f 55 54 3a 24 40 20 66 74 73 35 5f 65 L /OUT:$@ fts5_e
d6e0: 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65 33 72 62  xt.lo..sqlite3rb
d6f0: 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  u.lo:.$(TOP)\ext d700: 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e \rbu\sqlite3rbu. d710: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD d720: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d730: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
d740: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  c $(TOP)\ext\rbu d750: 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 0a 0a 23 \sqlite3rbu.c..# d760: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 Rules to build d770: 74 68 65 20 27 74 65 73 74 66 69 78 74 75 72 65 the 'testfixture d780: 27 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 ' application..# d790: 0a 23 20 49 66 20 75 73 69 6e 67 20 74 68 65 20 .# If using the d7a0: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c 20 75 73 amalgamation, us d7b0: 65 20 73 71 6c 69 74 65 33 2e 63 20 64 69 72 65 e sqlite3.c dire d7c0: 63 74 6c 79 20 74 6f 20 62 75 69 6c 64 20 74 68 ctly to build th d7d0: 65 20 74 65 73 74 0a 23 20 66 69 78 74 75 72 65 e test.# fixture d7e0: 2e 20 20 4f 74 68 65 72 77 69 73 65 20 6c 69 6e . Otherwise lin d7f0: 6b 20 61 67 61 69 6e 73 74 20 6c 69 62 73 71 6c k against libsql d800: 69 74 65 33 2e 6c 69 62 2e 20 20 28 54 68 69 73 ite3.lib. (This d810: 20 64 69 73 74 69 6e 63 74 69 6f 6e 20 69 73 0a distinction is. d820: 23 20 6e 65 63 65 73 73 61 72 79 20 62 65 63 61 # necessary beca d830: 75 73 65 20 74 68 65 20 74 65 73 74 20 66 69 78 use the test fix d840: 74 75 72 65 20 72 65 71 75 69 72 65 73 20 6e 6f ture requires no d850: 6e 2d 41 50 49 20 73 79 6d 62 6f 6c 73 20 77 68 n-API symbols wh d860: 69 63 68 20 61 72 65 0a 23 20 68 69 64 64 65 6e ich are.# hidden d870: 20 77 68 65 6e 20 74 68 65 20 6c 69 62 72 61 72 when the librar d880: 79 20 69 73 20 62 75 69 6c 74 20 76 69 61 20 74 y is built via t d890: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 he amalgamation) d8a0: 2e 0a 23 0a 54 45 53 54 46 49 58 54 55 52 45 5f ..#.TESTFIXTURE_ d8b0: 46 4c 41 47 53 20 3d 20 2d 44 54 43 4c 53 48 3d FLAGS = -DTCLSH= d8c0: 31 20 2d 44 53 51 4c 49 54 45 5f 54 45 53 54 3d 1 -DSQLITE_TEST= d8d0: 31 20 2d 44 53 51 4c 49 54 45 5f 43 52 41 53 48 1 -DSQLITE_CRASH d8e0: 5f 54 45 53 54 3d 31 0a 54 45 53 54 46 49 58 54 _TEST=1.TESTFIXT d8f0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 URE_FLAGS =$(TE
d900: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
d910: 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 56 45 52   -DSQLITE_SERVER
d920: 3d 31 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 56  =1 -DSQLITE_PRIV
d930: 41 54 45 3d 22 22 0a 54 45 53 54 46 49 58 54 55  ATE="".TESTFIXTU
d940: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 53  RE_FLAGS = $(TES d950: 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29 20 TFIXTURE_FLAGS) d960: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 24 28 -DSQLITE_CORE$(
d970: 4e 4f 5f 57 41 52 4e 29 0a 0a 54 45 53 54 46 49  NO_WARN)..TESTFI
d980: 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24 28 54  XTURE_SRC0 = $(T d990: 45 53 54 45 58 54 29 20 24 28 54 45 53 54 53 52 ESTEXT)$(TESTSR
d9a0: 43 32 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45  C2) $(SHELL_CORE d9b0: 5f 44 45 50 29 0a 54 45 53 54 46 49 58 54 55 52 _DEP).TESTFIXTUR d9c0: 45 5f 53 52 43 31 20 3d 20 24 28 54 45 53 54 45 E_SRC1 =$(TESTE
d9d0: 58 54 29 20 24 28 53 51 4c 49 54 45 33 43 29 0a  XT) $(SQLITE3C). d9e0: 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 !IF$(USE_AMALGA
d9f0: 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 54 46  MATION)==0.TESTF
da00: 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54  IXTURE_SRC = $(T da10: 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 ESTSRC)$(TOP)\s
da20: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $da30: 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 (TESTFIXTURE_SRC da40: 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 46 49 58 0).!ELSE.TESTFIX da50: 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 TURE_SRC =$(TES
da60: 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63  TSRC) $(TOP)\src da70: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 \tclsqlite.c$(T
da80: 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 29  ESTFIXTURE_SRC1)
da90: 0a 21 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78  .!ENDIF..testfix
daa0: 74 75 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54  ture.exe:.$(TEST dab0: 46 49 58 54 55 52 45 5f 53 52 43 29 20 24 28 53 FIXTURE_SRC)$(S
dac0: 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45  QLITE3H) $(LIBRE dad0: 53 4f 42 4a 53 29 20 24 28 48 44 52 29 0a 09 24 SOBJS)$(HDR)..$dae0: 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49 54 (LTLINK) -DSQLIT daf0: 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54 45 E_NO_SYNC=1$(TE
db00: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
db10: 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71 6c   \...-DBUILD_sql
db20: 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  ite -I$(TCLINCDI db30: 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46 49 58 R) \...$(TESTFIX
db40: 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c  TURE_SRC) \.../l
db50: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
db60: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L db70: 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 TLIBPATHS)$(LIB
db80: 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42  RESOBJS) $(LTLIB db90: 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 65 78 74 S)$(TLIBS)..ext
dba0: 65 6e 73 69 6f 6e 74 65 73 74 3a 20 74 65 73 74  ensiontest: test
dbb0: 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74  fixture.exe test
dbc0: 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40 73 65  loadext.dll..@se
dbd0: 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c 50  t PATH=$(LIBTCLP dbe0: 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c ATH);$(PATH)...\
dbf0: 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe
dc00: 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f 61 64  $(TOP)\test\load dc10: 65 78 74 2e 74 65 73 74 20 24 28 54 45 53 54 4f ext.test$(TESTO
dc20: 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 3a 09  PTS)..fulltest:.
dc30: 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a  $(TESTPROGS) fuz dc40: 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 ztest..@set PATH dc50: 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 =$(LIBTCLPATH);$dc60: 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 (PATH)...\testfi dc70: 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 xture.exe$(TOP)
dc80: 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 24  \test\all.test $dc90: 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f 61 6b (TESTOPTS)..soak dca0: 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 test:.$(TESTPROG
dcb0: 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28  S)..@set PATH=$( dcc0: 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 LIBTCLPATH);$(PA
dcd0: 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75  TH)...\testfixtu
dce0: 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65  re.exe $(TOP)\te dcf0: 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 st\all.test -soa dd00: 6b 3d 31 20 24 28 54 45 53 54 4f 50 54 53 29 0a k=1$(TESTOPTS).
dd10: 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09 24  .fulltestonly:.$dd20: 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a 7a (TESTPROGS) fuzz dd30: 74 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d test..@set PATH= dd40: 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28$(LIBTCLPATH);$( dd50: 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 PATH)...\testfix dd60: 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c ture.exe$(TOP)\
dd70: 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a  test\full.test..
dd80: 71 75 65 72 79 70 6c 61 6e 74 65 73 74 3a 09 74  queryplantest:.t
dd90: 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 73  estfixture.exe s
dda0: 68 65 6c 6c 0a 09 40 73 65 74 20 50 41 54 48 3d  hell..@set PATH=
ddb0: 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28  $(LIBTCLPATH);$(
ddc0: 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78  PATH)...\testfix
ddd0: 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c  ture.exe $(TOP)\ dde0: 74 65 73 74 5c 70 65 72 6d 75 74 61 74 69 6f 6e test\permutation ddf0: 73 2e 74 65 73 74 20 71 75 65 72 79 70 6c 61 6e s.test queryplan de00: 6e 65 72 20 24 28 54 45 53 54 4f 50 54 53 29 0a ner$(TESTOPTS).
de10: 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63  .fuzztest:.fuzzc
de20: 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a  heck.exe...\fuzz
de30: 63 68 65 63 6b 2e 65 78 65 20 24 28 46 55 5a 5a  check.exe $(FUZZ de40: 44 41 54 41 29 0a 0a 66 61 73 74 66 75 7a 7a 74 DATA)..fastfuzzt de50: 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b 2e 65 est:.fuzzcheck.e de60: 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e xe...\fuzzcheck. de70: 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 exe --limit-mem de80: 31 30 30 4d 20 24 28 46 55 5a 5a 44 41 54 41 29 100M$(FUZZDATA)
de90: 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74  ..# Minimal test
dea0: 69 6e 67 20 74 68 61 74 20 72 75 6e 73 20 69 6e  ing that runs in
deb0: 20 6c 65 73 73 20 74 68 61 6e 20 33 20 6d 69 6e   less than 3 min
dec0: 75 74 65 73 20 28 6f 6e 20 61 20 66 61 73 74 20  utes (on a fast
ded0: 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 69 63 6b  machine).#.quick
dee0: 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 75 72  test:.testfixtur
def0: 65 2e 65 78 65 20 73 6f 75 72 63 65 74 65 73 74  e.exe sourcetest
df00: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI df10: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 BTCLPATH);$(PATH
df20: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
df30: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test df40: 5c 65 78 74 72 61 71 75 69 63 6b 2e 74 65 73 74 \extraquick.test df50: 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 23 20$(TESTOPTS)..#
df60: 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 6d  This is the comm
df70: 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e 20 6d 61  on case.  Run ma
df80: 6e 79 20 74 65 73 74 73 20 74 68 61 74 20 64 6f  ny tests that do
df90: 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20 6c 6f   not take too lo
dfa0: 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e 67 20  ng,.# including
dfb0: 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c 69 74  fuzzcheck, sqlit
dfc0: 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 6e 64  e3_analyzer, and
dfd0: 20 73 71 6c 64 69 66 66 20 74 65 73 74 73 2e 0a   sqldiff tests..
dfe0: 23 0a 74 65 73 74 3a 09 24 28 54 45 53 54 50 52  #.test:.$(TESTPR dff0: 4f 47 53 29 20 73 6f 75 72 63 65 74 65 73 74 20 OGS) sourcetest e000: 66 61 73 74 66 75 7a 7a 74 65 73 74 0a 09 40 73 fastfuzztest..@s e010: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c et PATH=$(LIBTCL
e020: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e  PATH);$(PATH)... e030: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 \testfixture.exe e040: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 76 65 72$(TOP)\test\ver
e050: 79 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 45  yquick.test $(TE e060: 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 STOPTS)..smokete e070: 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 st:.$(TESTPROGS)
e080: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI e090: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 BTCLPATH);$(PATH
e0a0: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
e0b0: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test e0c0: 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28 54 45 53 \main.test$(TES
e0d0: 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65 33 5f  TOPTS)..sqlite3_
e0e0: 61 6e 61 6c 79 7a 65 72 2e 63 3a 20 24 28 53 51  analyzer.c: $(SQ e0f0: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 LITE3C)$(SQLITE
e100: 33 48 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  3H) $(TOP)\src\t e110: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 4f 50 clsqlite.c$(TOP
e120: 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c  )\tool\spaceanal
e130: 2e 74 63 6c 0a 09 65 63 68 6f 20 23 64 65 66 69  .tcl..echo #defi
e140: 6e 65 20 54 43 4c 53 48 20 32 20 3e 20 24 40 0a  ne TCLSH 2 > $@. e150: 09 65 63 68 6f 20 23 64 65 66 69 6e 65 20 53 51 .echo #define SQ e160: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 LITE_ENABLE_DBST e170: 41 54 5f 56 54 41 42 20 31 20 3e 3e 20 24 40 0a AT_VTAB 1 >>$@.
e180: 09 63 6f 70 79 20 24 40 20 2b 20 24 28 53 51 4c  .copy $@ +$(SQL
e190: 49 54 45 33 43 29 20 2b 20 24 28 54 4f 50 29 5c  ITE3C) + $(TOP)\ e1a0: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 src\tclsqlite.c e1b0: 24 40 0a 09 65 63 68 6f 20 73 74 61 74 69 63 20$@..echo static
e1c0: 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 63 6c 73  const char *tcls
e1d0: 68 5f 6d 61 69 6e 5f 6c 6f 6f 70 28 76 6f 69 64  h_main_loop(void
e1e0: 29 7b 20 3e 3e 20 24 40 0a 09 65 63 68 6f 20 73  ){ >> $@..echo s e1f0: 74 61 74 69 63 20 63 6f 6e 73 74 20 63 68 61 72 tatic const char e200: 20 2a 7a 4d 61 69 6e 6c 6f 6f 70 20 3d 20 3e 3e *zMainloop = >> e210: 20 24 40 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44$@..$(TCLSH_CMD e220: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 74 6f )$(TOP)\tool\to
e230: 73 74 72 2e 74 63 6c 20 24 28 54 4f 50 29 5c 74  str.tcl $(TOP)\t e240: 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 ool\spaceanal.tc e250: 6c 20 3e 3e 20 24 40 0a 09 65 63 68 6f 20 3b 20 l >>$@..echo ;
e260: 72 65 74 75 72 6e 20 7a 4d 61 69 6e 6c 6f 6f 70  return zMainloop
e270: 3b 20 7d 20 3e 3e 20 24 40 0a 0a 73 71 6c 69 74  ; } >> $@..sqlit e280: 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 3a e3_analyzer.exe: e290: 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 .sqlite3_analyze e2a0: 72 2e 63 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 r.c$(LIBRESOBJS
e2b0: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e  )..$(LTLINK)$(N
e2c0: 4f 5f 57 41 52 4e 29 20 2d 44 42 55 49 4c 44 5f  O_WARN) -DBUILD_
e2d0: 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e  sqlite -I$(TCLIN e2e0: 43 44 49 52 29 20 73 71 6c 69 74 65 33 5f 61 6e CDIR) sqlite3_an e2f0: 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 alyzer.c \.../li e300: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( e310: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 LTLINKOPTS)$(LT
e320: 4c 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52  LIBPATHS) $(LIBR e330: 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 ESOBJS)$(LTLIBS
e340: 29 20 24 28 54 4c 49 42 53 29 0a 0a 74 65 73 74  ) $(TLIBS)..test e350: 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f loadext.lo:.$(TO
e360: 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f 61 64  P)\src\test_load
e370: 65 78 74 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49  ext.c..$(LTCOMPI e380: 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d LE)$(NO_WARN) -
e390: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73  c $(TOP)\src\tes e3a0: 74 5f 6c 6f 61 64 65 78 74 2e 63 0a 0a 74 65 73 t_loadext.c..tes e3b0: 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 3a 20 74 65 tloadext.dll: te e3c0: 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 09 24 28 stloadext.lo..$(
e3d0: 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24  LD) $(LDFLAGS)$
e3e0: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c  (LTLINKOPTS) $(L e3f0: 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 TLIBPATHS) /DLL e400: 2f 4f 55 54 3a 24 40 20 74 65 73 74 6c 6f 61 64 /OUT:$@ testload
e410: 65 78 74 2e 6c 6f 0a 0a 73 68 6f 77 64 62 2e 65  ext.lo..showdb.e
e420: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\ e430: 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 showdb.c$(SQLIT
e440: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) e450: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f ..$(LTLINK) $(NO e460: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ e470: 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 THREADSAFE=0 -DS e480: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f QLITE_OMIT_LOAD_ e490: 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 EXTENSION -Fe$@
e4a0: 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  \...$(TOP)\tool\ e4b0: 73 68 6f 77 64 62 2e 63 20 24 28 53 51 4c 49 54 showdb.c$(SQLIT
e4c0: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF e4d0: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
e4e0: 54 53 29 0a 0a 73 68 6f 77 73 74 61 74 34 2e 65  TS)..showstat4.e
e4f0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\ e500: 73 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 showstat4.c$(SQ
e510: 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE e520: 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 3H)..$(LTLINK) $e530: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI e540: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 TE_THREADSAFE=0 e550: 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f -DSQLITE_OMIT_LO e560: 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 AD_EXTENSION -Fe e570: 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f$@ \...$(TOP)\to e580: 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 24 ol\showstat4.c$
e590: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
e5a0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
e5b0: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 6a  LINKOPTS)..showj
e5c0: 6f 75 72 6e 61 6c 2e 65 78 65 3a 09 24 28 54 4f  ournal.exe:.$(TO e5d0: 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 P)\tool\showjour e5e0: 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 nal.c$(SQLITE3C
e5f0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
e600: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA e610: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 RN) -DSQLITE_THR e620: 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 EADSAFE=0 -DSQLI e630: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 TE_OMIT_LOAD_EXT e640: 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 ENSION -Fe$@ \..
e650: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho e660: 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c wjournal.c$(SQL
e670: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L e680: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
e690: 4f 50 54 53 29 0a 0a 73 68 6f 77 77 61 6c 2e 65  OPTS)..showwal.e
e6a0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\ e6b0: 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 showwal.c$(SQLI
e6c0: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H e6d0: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N e6e0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE e6f0: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 _THREADSAFE=0 -D e700: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 SQLITE_OMIT_LOAD e710: 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 _EXTENSION -Fe$@
e720: 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool e730: 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 53 51 4c \showwal.c$(SQL
e740: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L e750: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
e760: 4f 50 54 53 29 0a 0a 66 74 73 33 76 69 65 77 2e  OPTS)..fts3view.
e770: 65 78 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  exe:.$(TOP)\ext\ e780: 66 74 73 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 fts3\tool\fts3vi e790: 65 77 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 ew.c$(SQLITE3C)
e7a0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
e7b0: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR e7c0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 N) -DSQLITE_THRE e7d0: 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 ADSAFE=0 -DSQLIT e7e0: 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 E_OMIT_LOAD_EXTE e7f0: 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 NSION -Fe$@ \...
e800: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ e810: 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 tool\fts3view.c e820: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
e830: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
e840: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c  TLINKOPTS)..roll
e850: 62 61 63 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24  back-test.exe:.$e860: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 (TOP)\tool\rollb e870: 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 53 51 4c ack-test.c$(SQL
e880: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 e890: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( e8a0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT e8b0: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d E_THREADSAFE=0 - e8c0: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 DSQLITE_OMIT_LOA e8d0: 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 D_EXTENSION -Fe$
e8e0: 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  @ \...$(TOP)\too e8f0: 6c 5c 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e l\rollback-test. e900: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c c$(SQLITE3C) /l
e910: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
e920: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f  (LTLINKOPTS)..Lo
e930: 67 45 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  gEst.exe:.$(TOP) e940: 5c 74 6f 6f 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 \tool\logest.c$
e950: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54  (SQLITE3H)..$(LT e960: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 LINK)$(NO_WARN)
e970: 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f   -Fe$@$(TOP)\to
e980: 6f 6c 5c 4c 6f 67 45 73 74 2e 63 20 2f 6c 69 6e  ol\LogEst.c /lin
e990: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
e9a0: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 77 6f 72 64  TLINKOPTS)..word
e9b0: 63 6f 75 6e 74 2e 65 78 65 3a 09 24 28 54 4f 50  count.exe:.$(TOP e9c0: 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 )\test\wordcount e9d0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $e9e0: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
e9f0: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) ea00: 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 -DSQLITE_THREAD ea10: 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f SAFE=0 -DSQLITE_ ea20: 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 OMIT_LOAD_EXTENS ea30: 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 ION -Fe$@ \...$( ea40: 54 4f 50 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f TOP)\test\wordco ea50: 75 6e 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 unt.c$(SQLITE3C
ea60: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG ea70: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
ea80: 0a 0a 73 70 65 65 64 74 65 73 74 31 2e 65 78 65  ..speedtest1.exe
ea90: 3a 09 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70  :.$(TOP)\test\sp eaa0: 65 65 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c eedtest1.c$(SQL
eab0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 eac0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( ead0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT eae0: 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 E_OMIT_LOAD_EXTE eaf0: 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 NSION -Fe$@ \...
eb00: 24 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65  $(TOP)\test\spee eb10: 64 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 dtest1.c$(SQLIT
eb20: 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46  E3C) /link $(LDF eb30: 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 LAGS)$(LTLINKOP
eb40: 54 53 29 0a 0a 72 62 75 2e 65 78 65 3a 20 24 28  TS)..rbu.exe: $( eb50: 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 TOP)\ext\rbu\rbu eb60: 2e 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 .c$(TOP)\ext\rb
eb70: 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24  u\sqlite3rbu.c $eb80: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
eb90: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK eba0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
ebb0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 42 55  QLITE_ENABLE_RBU
ebc0: 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50   -Fe$@ \...$(TOP
ebd0: 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20  )\ext\rbu\rbu.c
ebe0: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e  $(SQLITE3C) /lin ebf0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c k$(LDFLAGS) $(L ec00: 54 4c 49 4e 4b 4f 50 54 53 29 0a 23 20 3c 3c 2f TLINKOPTS).# <</ ec10: 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 mark>>..clean:.. ec20: 64 65 6c 20 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c del /Q *.exp *.l ec30: 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e o *.ilk *.lib *. ec40: 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 obj *.ncb *.pdb ec50: 2a 2e 73 64 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 *.sdf *.suo 2>NU ec60: 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e 62 73 63 20 L..del /Q *.bsc ec70: 2a 2e 63 6f 64 20 2a 2e 64 61 20 2a 2e 62 62 20 *.cod *.da *.bb ec80: 2a 2e 62 62 67 20 2a 2e 76 63 20 67 6d 6f 6e 2e *.bbg *.vc gmon. ec90: 6f 75 74 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61 out 2>NUL.# <<ma eca0: 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 24 28 53 rk>>..del /Q$(S
ecb0: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT ecc0: 45 33 48 29 20 6f 70 63 6f 64 65 73 2e 63 20 6f E3H) opcodes.c o ecd0: 70 63 6f 64 65 73 2e 68 20 32 3e 4e 55 4c 0a 09 pcodes.h 2>NUL.. ece0: 64 65 6c 20 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c del /Q lemon.* l ecf0: 65 6d 70 61 72 2e 63 20 70 61 72 73 65 2e 2a 20 empar.c parse.* ed00: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b 2>NUL..del /Q mk ed10: 6b 65 79 77 6f 72 64 68 61 73 68 2e 2a 20 6b 65 keywordhash.* ke ed20: 79 77 6f 72 64 68 61 73 68 2e 68 20 32 3e 4e 55 ywordhash.h 2>NU ed30: 4c 0a 09 64 65 6c 20 2f 51 20 6e 6f 74 61 73 68 L..del /Q notash ed40: 61 72 65 64 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a aredlib.* 2>NUL. ed50: 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 .-rmdir /Q/S .de ed60: 70 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 ps 2>NUL..-rmdir ed70: 20 2f 51 2f 53 20 2e 6c 69 62 73 20 32 3e 4e 55 /Q/S .libs 2>NU ed80: 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 71 L..-rmdir /Q/S q ed90: 75 6f 74 61 32 61 20 32 3e 4e 55 4c 0a 09 2d 72 uota2a 2>NUL..-r eda0: 6d 64 69 72 20 2f 51 2f 53 20 71 75 6f 74 61 32 mdir /Q/S quota2 edb0: 62 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 b 2>NUL..-rmdir edc0: 2f 51 2f 53 20 71 75 6f 74 61 32 63 20 32 3e 4e /Q/S quota2c 2>N edd0: 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 UL..-rmdir /Q/S ede0: 74 73 72 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 tsrc 2>NUL..del edf0: 2f 51 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 /Q .target_sourc ee00: 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 e 2>NUL..del /Q ee10: 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 20 32 tclsqlite3.exe 2 ee20: 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 >NUL..del /Q tes ee30: 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 20 32 3e 4e tloadext.dll 2>N ee40: 55 4c 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 66 UL..del /Q testf ee50: 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74 2e ixture.exe test. ee60: 64 62 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 db 2>NUL..del /Q ee70: 20 4c 6f 67 45 73 74 2e 65 78 65 20 66 74 73 33 LogEst.exe fts3 ee80: 76 69 65 77 2e 65 78 65 20 72 6f 6c 6c 62 61 63 view.exe rollbac ee90: 6b 2d 74 65 73 74 2e 65 78 65 20 73 68 6f 77 64 k-test.exe showd eea0: 62 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c b.exe 2>NUL..del eeb0: 20 2f 51 20 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e /Q showjournal. eec0: 65 78 65 20 73 68 6f 77 73 74 61 74 34 2e 65 78 exe showstat4.ex eed0: 65 20 73 68 6f 77 77 61 6c 2e 65 78 65 20 73 70 e showwal.exe sp eee0: 65 65 64 74 65 73 74 31 2e 65 78 65 20 32 3e 4e eedtest1.exe 2>N eef0: 55 4c 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65 73 UL..del /Q mptes ef00: 74 65 72 2e 65 78 65 20 77 6f 72 64 63 6f 75 6e ter.exe wordcoun ef10: 74 2e 65 78 65 20 72 62 75 2e 65 78 65 20 73 72 t.exe rbu.exe sr ef20: 63 63 6b 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 cck1.exe 2>NUL.. ef30: 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 45 33 del /Q$(SQLITE3
ef40: 45 58 45 29 20 24 28 53 51 4c 49 54 45 33 44 4c  EXE) \$(SQLITE3DL
ef50: 4c 29 20 73 71 6c 69 74 65 33 2e 64 65 66 20 32  L) sqlite3.def 2
ef60: 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
ef70: 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a  ite3.c sqlite3-*
ef80: 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .c 2>NUL..del /Q
ef90: 20 73 71 6c 69 74 65 33 72 63 2e 68 20 32 3e 4e   sqlite3rc.h 2>N
efa0: 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65 6c 6c  UL..del /Q shell
efb0: 2e 63 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20  .c sqlite3ext.h
efc0: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
efd0: 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65  lite3_analyzer.e
efe0: 78 65 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  xe sqlite3_analy
eff0: 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c  zer.c 2>NUL..del
f000: 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d 6f 75 74   /Q sqlite-*-out
f010: 70 75 74 2e 76 73 69 78 20 32 3e 4e 55 4c 0a 09  put.vsix 2>NUL..
f020: 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72 73 68 65  del /Q fuzzershe
f030: 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68 65 63 6b  ll.exe fuzzcheck
f040: 2e 65 78 65 20 73 71 6c 64 69 66 66 2e 65 78 65  .exe sqldiff.exe
f050: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66   2>NUL..del /Q f
f060: 74 73 35 2e 2a 20 66 74 73 35 70 61 72 73 65 2e  ts5.* fts5parse.
f070: 2a 20 32 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72  * 2>NUL.# <</mar
f080: 6b 3e 3e 0a                                      k>>.