/ Hex Artifact Content

## Artifact d2eef1643b13c02686a5f3f5fa58e6843e910e2a:

• File Makefile.msc — part of check-in [99228239] at 2016-02-09 17:12:22 on branch trunk — Fix the top-level makefiles to always include SQLITE_ENABLE_EXPLAIN_COMMENTS when building the shell. Still need to fix main.mk and the amalgamation tarball. (user: drh size: 61584)

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 45 58 50 4c LITE_ENABLE_EXPL 8df0: 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 0a 21 45 4e AIN_COMMENTS.!EN 8e00: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a DIF..# <<mark>>. 8e10: 23 20 45 78 74 72 61 20 63 6f 6d 70 69 6c 65 72 # Extra compiler 8e20: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 options for var 8e30: 69 6f 75 73 20 74 65 73 74 20 74 6f 6f 6c 73 2e ious test tools. 8e40: 0a 23 0a 4d 50 54 45 53 54 45 52 5f 43 4f 4d 50 .#.MPTESTER_COMP 8e50: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c ILE_OPTS = -DSQL 8e60: 49 54 45 5f 53 48 45 4c 4c 5f 4a 53 4f 4e 31 20 ITE_SHELL_JSON1 8e70: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 8e80: 46 54 53 35 0a 46 55 5a 5a 45 52 53 48 45 4c 4c FTS5.FUZZERSHELL 8e90: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 _COMPILE_OPTS = 8ea0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f -DSQLITE_ENABLE_ 8eb0: 4a 53 4f 4e 31 0a 46 55 5a 5a 43 48 45 43 4b 5f JSON1.FUZZCHECK_ 8ec0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d 20 2d COMPILE_OPTS = - 8ed0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a DSQLITE_ENABLE_J 8ee0: 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e SON1 -DSQLITE_EN 8ef0: 41 42 4c 45 5f 4d 45 4d 53 59 53 35 0a 0a 23 20 ABLE_MEMSYS5..# 8f00: 53 74 61 6e 64 61 72 64 20 6f 70 74 69 6f 6e 73 Standard options 8f10: 20 74 6f 20 74 65 73 74 66 69 78 74 75 72 65 2e to testfixture. 8f20: 0a 23 0a 54 45 53 54 4f 50 54 53 20 3d 20 2d 2d .#.TESTOPTS = -- 8f30: 76 65 72 62 6f 73 65 3d 66 69 6c 65 20 2d 2d 6f verbose=file --o 8f40: 75 74 70 75 74 3d 74 65 73 74 2d 6f 75 74 2e 74 utput=test-out.t 8f50: 78 74 0a 0a 23 20 45 78 74 72 61 20 74 61 72 67 xt..# Extra targ 8f60: 65 74 73 20 66 6f 72 20 74 68 65 20 22 61 6c 6c ets for the "all 8f70: 22 20 74 61 72 67 65 74 20 74 68 61 74 20 72 65 " target that re 8f80: 71 75 69 72 65 20 54 63 6c 2e 0a 23 0a 21 49 46 quire Tcl..#.!IF 8f90: 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 0a 41 4c$(NO_TCL)==0.AL
8fa0: 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 20  L_TCL_TARGETS =
8fb0: 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69  libtclsqlite3.li
8fc0: 62 0a 21 45 4c 53 45 0a 41 4c 4c 5f 54 43 4c 5f  b.!ELSE.ALL_TCL_
8fd0: 54 41 52 47 45 54 53 20 3d 0a 21 45 4e 44 49 46  TARGETS =.!ENDIF
8fe0: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20  .# <</mark>>..#
8ff0: 54 68 69 73 20 69 73 20 74 68 65 20 64 65 66 61  This is the defa
9000: 75 6c 74 20 4d 61 6b 65 66 69 6c 65 20 74 61 72  ult Makefile tar
9010: 67 65 74 2e 20 20 54 68 65 20 6f 62 6a 65 63 74  get.  The object
9020: 73 20 6c 69 73 74 65 64 20 68 65 72 65 0a 23 20  s listed here.#
9030: 61 72 65 20 77 68 61 74 20 67 65 74 20 62 75 69  are what get bui
9040: 6c 64 20 77 68 65 6e 20 79 6f 75 20 74 79 70 65  ld when you type
9050: 20 6a 75 73 74 20 22 6d 61 6b 65 22 20 77 69 74   just "make" wit
9060: 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a  h no arguments..
9070: 23 0a 61 6c 6c 3a 09 64 6c 6c 20 6c 69 62 73 71  #.all:.dll libsq
9080: 6c 69 74 65 33 2e 6c 69 62 20 73 68 65 6c 6c 20  lite3.lib shell
9090: 24 28 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 54  $(ALL_TCL_TARGET 90a0: 53 29 0a 0a 23 20 44 79 6e 61 6d 69 63 20 6c 69 S)..# Dynamic li 90b0: 6e 6b 20 6c 69 62 72 61 72 79 20 73 65 63 74 69 nk library secti 90c0: 6f 6e 2e 0a 23 0a 64 6c 6c 3a 20 24 28 53 51 4c on..#.dll:$(SQL
90d0: 49 54 45 33 44 4c 4c 29 0a 0a 23 20 53 68 65 6c  ITE3DLL)..# Shel
90e0: 6c 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a  l executable..#.
90f0: 73 68 65 6c 6c 3a 20 24 28 53 51 4c 49 54 45 33  shell: $(SQLITE3 9100: 45 58 45 29 0a 0a 6c 69 62 73 71 6c 69 74 65 33 EXE)..libsqlite3 9110: 2e 6c 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29 0a .lib:.$(LIBOBJ).
9120: 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49  .$(LTLIB)$(LTLI
9130: 42 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24  BOPTS) /OUT:$@$
9140: 28 4c 49 42 4f 42 4a 29 20 24 28 54 4c 49 42 53  (LIBOBJ) $(TLIBS 9150: 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 )..# <<mark>>.li 9160: 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 3a btclsqlite3.lib: 9170: 09 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 .tclsqlite.lo li 9180: 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 24 28 bsqlite3.lib..$(
9190: 4c 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50  LTLIB) $(LTLIBOP 91a0: 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 TS)$(LTLIBPATHS
91b0: 29 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c  ) /OUT:$@ tclsql 91c0: 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 ite.lo libsqlite 91d0: 33 2e 6c 69 62 20 24 28 4c 49 42 54 43 4c 53 54 3.lib$(LIBTCLST
91e0: 55 42 29 20 24 28 54 4c 49 42 53 29 0a 23 20 3c  UB) $(TLIBS).# < 91f0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 24 28 53 51 4c 49 </mark>>..$(SQLI
9200: 54 45 33 44 4c 4c 29 3a 20 24 28 4c 49 42 4f 42  TE3DLL): $(LIBOB 9210: 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 J)$(LIBRESOBJS)
9220: 20 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50   $(CORE_LINK_DEP 9230: 29 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 )..$(LD) $(LDFLA 9240: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
9250: 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) 9260: 2f 44 4c 4c 20 24 28 43 4f 52 45 5f 4c 49 4e 4b /DLL$(CORE_LINK
9270: 5f 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 24  _OPTS) /OUT:$@$
9280: 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45  (LIBOBJ) $(LIBRE 9290: 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 SOBJS)$(LTLIBS)
92a0: 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d   $(TLIBS)..# <<m 92b0: 61 72 6b 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 ark>>.sqlite3.de 92c0: 66 3a 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 f: libsqlite3.li 92d0: 62 0a 09 65 63 68 6f 20 45 58 50 4f 52 54 53 20 b..echo EXPORTS 92e0: 3e 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 > sqlite3.def..d 92f0: 75 6d 70 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 umpbin /all libs 9300: 71 6c 69 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c qlite3.lib \...| 9310: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28$(TCLSH_CMD) $( 9320: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 TOP)\tool\replac 9330: 65 2e 74 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e e.tcl include "^ 9340: 5c 73 2b 31 20 5f 3f 28 73 71 6c 69 74 65 33 5f \s+1 _?(sqlite3_ 9350: 2e 2a 29 24 24 22 20 5c 31 20 5c 0a 09 09 7c 20 .*)$$" \1 \...| 9360: 73 6f 72 74 20 3e 3e 20 73 71 6c 69 74 65 33 2e sort >> sqlite3. 9370: 64 65 66 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a def.# <</mark>>. 9380: 0a 24 28 53 51 4c 49 54 45 33 45 58 45 29 3a 09 .$(SQLITE3EXE):.
9390: 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c  $(TOP)\src\shell 93a0: 2e 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f .c$(SHELL_CORE_
93b0: 44 45 50 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  DEP) $(LIBRESOBJ 93c0: 53 29 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f S)$(SHELL_CORE_
93d0: 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  SRC) $(SQLITE3H) 93e0: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 53 48 ..$(LTLINK) $(SH 93f0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ELL_COMPILE_OPTS 9400: 29 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c 41 )$(READLINE_FLA
9410: 47 53 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 73  GS) $(TOP)\src\s 9420: 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c 5f 43 hell.c$(SHELL_C
9430: 4f 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69  ORE_SRC) \.../li
9440: 6e 6b 20 24 28 53 51 4c 49 54 45 33 45 58 45 50  nk $(SQLITE3EXEP 9450: 44 42 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 DB)$(LDFLAGS) $9460: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 53 (LTLINKOPTS)$(S
9470: 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20  HELL_LINK_OPTS)
9480: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28  $(LTLIBPATHS)$(
9490: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 49  LIBRESOBJS) $(LI 94a0: 42 52 45 41 44 4c 49 4e 45 29 20 24 28 4c 54 4c BREADLINE)$(LTL
94b0: 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 23  IBS) $(TLIBS)..# 94c0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 73 71 6c 64 69 66 <<mark>>.sqldif 94d0: 66 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f f.exe:.$(TOP)\to
94e0: 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53  ol\sqldiff.c $(S 94f0: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 QLITE3C)$(SQLIT
9500: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3H)..$(LTLINK) 9510: 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50$(NO_WARN) $(TOP 9520: 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 2e 63 )\tool\sqldiff.c 9530: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69$(SQLITE3C) /li
9540: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
9550: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63  LTLINKOPTS)..src
9560: 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  ck1.exe:.$(TOP)\ 9570: 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24 tool\srcck1.c..$
9580: 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29  (BCC) $(NO_WARN) 9590: 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f -Fe$@ $(TOP)\to 95a0: 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75 ol\srcck1.c..sou 95b0: 72 63 65 74 65 73 74 3a 09 73 72 63 63 6b 31 2e rcetest:.srcck1. 95c0: 65 78 65 20 73 71 6c 69 74 65 33 2e 63 0a 09 73 exe sqlite3.c..s 95d0: 72 63 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 65 rcck1.exe sqlite 95e0: 33 2e 63 0a 0a 66 75 7a 7a 65 72 73 68 65 6c 6c 3.c..fuzzershell 95f0: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f .exe:.$(TOP)\too
9600: 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20  l\fuzzershell.c
9610: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
9620: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN 9630: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 K)$(NO_WARN) $( 9640: 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 FUZZERSHELL_COMP 9650: 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29 ILE_OPTS)$(TOP)
9660: 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c  \tool\fuzzershel
9670: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  l.c $(SQLITE3C) 9680: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
9690: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a   $(LTLINKOPTS).. 96a0: 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24 fuzzcheck.exe:.$
96b0: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63  (TOP)\test\fuzzc
96c0: 68 65 63 6b 2e 63 20 24 28 53 51 4c 49 54 45 33  heck.c $(SQLITE3 96d0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
96e0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
96f0: 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b  ARN) $(FUZZCHECK 9700: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
9710: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63  (TOP)\test\fuzzc
9720: 68 65 63 6b 2e 63 20 24 28 53 51 4c 49 54 45 33  heck.c $(SQLITE3 9730: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
9740: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS 9750: 29 0a 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a )..mptester.exe: 9760: 09 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d .$(TOP)\mptest\m
9770: 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  ptest.c $(SQLITE 9780: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
9790: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
97a0: 57 41 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52  WARN) $(MPTESTER 97b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
97c0: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74  (TOP)\mptest\mpt
97d0: 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43  est.c $(SQLITE3C 97e0: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
97f0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) 9800: 0a 0a 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65 ..MPTEST1 = mpte 9810: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 ster mptest.db$
9820: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61  (TOP)\mptest\cra
9830: 73 68 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65  sh01.test --repe
9840: 61 74 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20  at 20.MPTEST2 =
9850: 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e  mptester mptest.
9860: 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74  db $(TOP)\mptest 9870: 5c 6d 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65 \multiwrite01.te 9880: 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a st --repeat 20.. 9890: 6d 70 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72 mptest:.mptester 98a0: 2e 65 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74 .exe..del /Q mpt 98b0: 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28 est.db 2>NUL..$(
98c0: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e  MPTEST1) --journ
98d0: 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24  almode DELETE..$98e0: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 (MPTEST2) --jour 98f0: 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d nalmode WAL..$(M
9900: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST1) --journa
9910: 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54  lmode WAL..$(MPT 9920: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d EST2) --journalm 9930: 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d ode PERSIST..$(M
9940: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61  PTEST1) --journa
9950: 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24  lmode PERSIST..$9960: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 (MPTEST2) --jour 9970: 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 nalmode TRUNCATE 9980: 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a ..$(MPTEST1) --j
9990: 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43  ournalmode TRUNC
99a0: 41 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20  ATE..$(MPTEST2) 99b0: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 --journalmode DE 99c0: 4c 45 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72 LETE..# This tar 99d0: 67 65 74 20 63 72 65 61 74 65 73 20 61 20 64 69 get creates a di 99e0: 72 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74 rectory named "t 99f0: 73 72 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69 src" and fills i 9a00: 74 20 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20 t with.# copies 9a10: 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20 of all of the C 9a20: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 source code and 9a30: 68 65 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65 header files nee 9a40: 64 65 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f ded to.# build o 9a50: 6e 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73 n the target sys 9a60: 74 65 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68 tem. Some of th 9a70: 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 e C source code 9a80: 61 6e 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c and header.# fil 9a90: 65 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 es are automatic 9aa0: 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 ally generated. 9ab0: 20 54 68 69 73 20 74 61 72 67 65 74 20 74 61 6b This target tak 9ac0: 65 73 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c es care of.# all 9ad0: 20 74 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20 that automatic 9ae0: 67 65 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 generation..#..t 9af0: 61 72 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28 arget_source:.$(
9b00: 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  SRC) $(TOP)\tool 9b10: 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 \vdbe-compress.t 9b20: 63 6c 20 66 74 73 35 2e 63 0a 09 2d 72 6d 64 69 cl fts5.c..-rmdi 9b30: 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e 55 r /Q/S tsrc 2>NU 9b40: 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a 09 L..-mkdir tsrc.. 9b50: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 for %i in ($(SRC
9b60: 31 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  1)) do copy /Y %
9b70: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
9b80: 6e 20 28 24 28 53 52 43 32 29 29 20 64 6f 20 63  n ($(SRC2)) do c 9b90: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 opy /Y %i tsrc.. 9ba0: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 for %i in ($(SRC
9bb0: 33 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  3)) do copy /Y %
9bc0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69  i tsrc..for %i i
9bd0: 6e 20 28 24 28 53 52 43 34 29 29 20 64 6f 20 63  n ($(SRC4)) do c 9be0: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 opy /Y %i tsrc.. 9bf0: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 for %i in ($(SRC
9c00: 35 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25  5)) do copy /Y %
9c10: 69 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20  i tsrc..copy /Y
9c20: 66 74 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70  fts5.c tsrc..cop
9c30: 79 20 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63  y /Y fts5.h tsrc
9c40: 0a 09 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71  ..del /Q tsrc\sq
9c50: 6c 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70  lite.h.in tsrc\p
9c60: 61 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28  arse.y 2>NUL..$( 9c70: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
9c80: 29 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70  )\tool\vdbe-comp
9c90: 72 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29  ress.tcl $(OPTS) 9ca0: 20 3c 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e < tsrc\vdbe.c > 9cb0: 20 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 vdbe.new..move 9cc0: 76 64 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 vdbe.new tsrc\vd 9cd0: 62 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 be.c..echo > .ta 9ce0: 72 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c rget_source..sql 9cf0: 69 74 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f ite3.c:..target_ 9d00: 73 6f 75 72 63 65 20 73 71 6c 69 74 65 33 65 78 source sqlite3ex 9d10: 74 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c t.h$(TOP)\tool\
9d20: 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 09  mksqlite3c.tcl..
9d30: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD)$(T
9d40: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74  OP)\tool\mksqlit
9d50: 65 33 63 2e 74 63 6c 20 24 28 4d 4b 53 51 4c 49  e3c.tcl $(MKSQLI 9d60: 54 45 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 TE3C_ARGS)..copy 9d70: 20 74 73 72 63 5c 73 68 65 6c 6c 2e 63 20 2e 0a tsrc\shell.c .. 9d80: 0a 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 3a 09 .sqlite3-all.c:. 9d90: 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29 sqlite3.c$(TOP)
9da0: 5c 74 6f 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69  \tool\split-sqli
9db0: 74 65 33 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53  te3c.tcl..$(TCLS 9dc0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
9dd0: 6f 6c 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33  ol\split-sqlite3
9de0: 63 2e 74 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e  c.tcl.# <</mark>
9df0: 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69  >..# Rule to bui
9e00: 6c 64 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74  ld the amalgamat
9e10: 69 6f 6e 0a 23 0a 73 71 6c 69 74 65 33 2e 6c 6f  ion.#.sqlite3.lo
9e20: 3a 09 24 28 53 51 4c 49 54 45 33 43 29 0a 09 24  :.$(SQLITE3C)..$
9e30: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO 9e40: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) 9e50: 20 2d 63 20 24 28 53 51 4c 49 54 45 33 43 29 0a -c$(SQLITE3C).
9e60: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 52 75  .# <<mark>>.# Ru
9e70: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65  les to build the
9e80: 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72 20   LEMON compiler
9e90: 67 65 6e 65 72 61 74 6f 72 0a 23 0a 6c 65 6d 70  generator.#.lemp
9ea0: 61 72 2e 63 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  ar.c:.$(TOP)\too 9eb0: 6c 5c 6c 65 6d 70 61 72 2e 63 0a 09 63 6f 70 79 l\lempar.c..copy 9ec0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d$(TOP)\tool\lem
9ed0: 70 61 72 2e 63 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65  par.c ...lemon.e
9ee0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  xe:.$(TOP)\tool\ 9ef0: 6c 65 6d 6f 6e 2e 63 20 6c 65 6d 70 61 72 2e 63 lemon.c lempar.c 9f00: 0a 09 24 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 ..$(BCC) $(NO_WA 9f10: 52 4e 29 20 2d 44 61 63 63 65 73 73 3d 5f 61 63 RN) -Daccess=_ac 9f20: 63 65 73 73 20 5c 0a 09 09 2d 46 65 24 40 20 24 cess \...-Fe$@ $9f30: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e (TOP)\tool\lemon 9f40: 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 .c /link$(LDFLA
9f50: 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b 4f 50 54  GS) $(NLTLINKOPT 9f60: 53 29 20 24 28 4e 4c 54 4c 49 42 50 41 54 48 53 S)$(NLTLIBPATHS
9f70: 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  )..# Rules to bu
9f80: 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a  ild individual *
9f90: 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 67  .lo files from g
9fa0: 65 6e 65 72 61 74 65 64 20 2a 2e 63 20 66 69 6c  enerated *.c fil
9fb0: 65 73 2e 20 54 68 69 73 0a 23 20 61 70 70 6c 69  es. This.# appli
9fc0: 65 73 20 74 6f 3a 0a 23 0a 23 20 20 20 20 20 70  es to:.#.#     p
9fd0: 61 72 73 65 2e 6c 6f 0a 23 20 20 20 20 20 6f 70  arse.lo.#     op
9fe0: 63 6f 64 65 73 2e 6c 6f 0a 23 0a 70 61 72 73 65  codes.lo.#.parse
9ff0: 2e 6c 6f 3a 09 70 61 72 73 65 2e 63 20 24 28 48  .lo:.parse.c $(H a000: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
a010: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE a020: 5f 4f 50 54 53 29 20 2d 63 20 70 61 72 73 65 2e _OPTS) -c parse. a030: 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a 09 6f c..opcodes.lo:.o a040: 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54 43 4f pcodes.c..$(LTCO
a050: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO a060: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 6f MPILE_OPTS) -c o a070: 70 63 6f 64 65 73 2e 63 0a 23 20 3c 3c 2f 6d 61 pcodes.c.# <</ma a080: 72 6b 3e 3e 0a 0a 23 20 52 75 6c 65 20 74 6f 20 rk>>..# Rule to a090: 62 75 69 6c 64 20 74 68 65 20 57 69 6e 33 32 20 build the Win32 a0a0: 72 65 73 6f 75 72 63 65 73 20 6f 62 6a 65 63 74 resources object a0b0: 20 66 69 6c 65 2e 0a 23 0a 21 49 46 20 24 28 55 file..#.!IF$(U
a0c0: 53 45 5f 52 43 29 21 3d 30 0a 23 20 3c 3c 62 6c  SE_RC)!=0.# <<bl
a0d0: 6f 63 6b 31 3e 3e 0a 24 28 4c 49 42 52 45 53 4f  ock1>>.$(LIBRESO a0e0: 42 4a 53 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 BJS):.$(TOP)\src
a0f0: 5c 73 71 6c 69 74 65 33 2e 72 63 20 24 28 53 51  \sqlite3.rc $(SQ a100: 4c 49 54 45 33 48 29 0a 09 65 63 68 6f 20 23 69 LITE3H)..echo #i a110: 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 52 45 53 fndef SQLITE_RES a120: 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3e 20 OURCE_VERSION > a130: 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 66 6f 72 sqlite3rc.h..for a140: 20 2f 46 20 25 25 56 20 69 6e 20 28 27 74 79 70 /F %%V in ('typ a150: 65 20 22 24 28 54 4f 50 29 5c 56 45 52 53 49 4f e "$(TOP)\VERSIO
a160: 4e 22 27 29 20 64 6f 20 28 20 5c 0a 09 09 65 63  N"') do ( \...ec
a170: 68 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54  ho #define SQLIT
a180: 45 5f 52 45 53 4f 55 52 43 45 5f 56 45 52 53 49  E_RESOURCE_VERSI
a190: 4f 4e 20 25 25 56 20 5c 0a 09 09 09 7c 20 24 28  ON %%V \....| $( a1a0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
a1b0: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
a1c0: 63 6c 20 65 78 61 63 74 20 2e 20 5e 2c 20 3e 3e  cl exact . ^, >>
a1d0: 20 73 71 6c 69 74 65 33 72 63 2e 68 20 5c 0a 09   sqlite3rc.h \..
a1e0: 29 0a 09 65 63 68 6f 20 23 65 6e 64 69 66 20 3e  )..echo #endif >
a1f0: 3e 20 73 71 6c 69 74 65 33 72 63 2e 68 0a 09 24  > sqlite3rc.h..$a200: 28 4c 54 52 43 4f 4d 50 49 4c 45 29 20 2d 66 6f (LTRCOMPILE) -fo a210: 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24$(LIBRESOBJS) $a220: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 (TOP)\src\sqlite a230: 33 2e 72 63 0a 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3.rc.# <</block1 a240: 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d >>.!ENDIF..# <<m a250: 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f ark>>.# Rules to a260: 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 build individua a270: 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 72 6f l *.lo files fro a280: 6d 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73 m files in the s a290: 72 63 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a rc directory..#. a2a0: 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 alter.lo:.$(TOP)
a2b0: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 24 28 48  \src\alter.c $(H a2c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
a2d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE a2e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
a2f0: 5c 73 72 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e  \src\alter.c..an
a300: 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  alyze.lo:.$(TOP) a310: 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 \src\analyze.c$
a320: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI a330: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
a340: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO a350: 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 2e 63 P)\src\analyze.c a360: 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54 ..attach.lo:.$(T
a370: 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63  OP)\src\attach.c
a380: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
a390: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM a3a0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
a3b0: 54 4f 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e  TOP)\src\attach.
a3c0: 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 28 54 4f  c..auth.lo:.$(TO a3d0: 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 20 24 28 P)\src\auth.c$(
a3e0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL a3f0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
a400: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP a410: 29 5c 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61 )\src\auth.c..ba a420: 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c ckup.lo:.$(TOP)\
a430: 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48  src\backup.c $(H a440: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
a450: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE a460: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
a470: 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 0a 0a 62  \src\backup.c..b
a480: 69 74 76 65 63 2e 6c 6f 3a 09 24 28 54 4f 50 29  itvec.lo:.$(TOP) a490: 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 20 24 28 \src\bitvec.c$(
a4a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL a4b0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
a4c0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP a4d0: 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 0a 0a )\src\bitvec.c.. a4e0: 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f btmutex.lo:.$(TO
a4f0: 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63  P)\src\btmutex.c
a500: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
a510: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM a520: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
a530: 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78  TOP)\src\btmutex
a540: 2e 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28  .c..btree.lo:.$( a550: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 TOP)\src\btree.c a560: 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73$(HDR) $(TOP)\s a570: 72 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 rc\pager.h..$(LT
a580: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ a590: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c a5a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65$(TOP)\src\btre
a5b0: 65 2e 63 0a 0a 62 75 69 6c 64 2e 6c 6f 3a 09 24  e.c..build.lo:.$a5c0: 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e (TOP)\src\build. a5d0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO a5e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
a5f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $a600: 28 54 4f 50 29 5c 73 72 63 5c 62 75 69 6c 64 2e (TOP)\src\build. a610: 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 c..callback.lo:. a620: 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62$(TOP)\src\callb
a630: 61 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ack.c $(HDR)..$(
a640: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR a650: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) a660: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 -c$(TOP)\src\ca
a670: 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65  llback.c..comple
a680: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  te.lo:.$(TOP)\sr a690: 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 c\complete.c$(H
a6a0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE a6b0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
a6c0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) a6d0: 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 0a \src\complete.c. a6e0: 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f 50 .ctime.lo:.$(TOP
a6f0: 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 24 28  )\src\ctime.c $( a700: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
a710: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL a720: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
a730: 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 0a 0a 64  )\src\ctime.c..d
a740: 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ate.lo:.$(TOP)\s a750: 72 63 5c 64 61 74 65 2e 63 20 24 28 48 44 52 29 rc\date.c$(HDR)
a760: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
a770: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
a780: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr a790: 63 5c 64 61 74 65 2e 63 0a 0a 64 62 73 74 61 74 c\date.c..dbstat a7a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
a7b0: 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24  date.c $(HDR)..$
a7c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO a7d0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) a7e0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 -c$(TOP)\src\d
a7f0: 62 73 74 61 74 2e 63 0a 0a 64 65 6c 65 74 65 2e  bstat.c..delete.
a800: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64  lo:.$(TOP)\src\d a810: 65 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 elete.c$(HDR)..
a820: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
a830: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
a840: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ a850: 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c delete.c..expr.l a860: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 o:.$(TOP)\src\ex
a870: 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  pr.c $(HDR)..$(L
a880: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE a890: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - a8a0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 c$(TOP)\src\exp
a8b0: 72 2e 63 0a 0a 66 61 75 6c 74 2e 6c 6f 3a 09 24  r.c..fault.lo:.$a8c0: 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e (TOP)\src\fault. a8d0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO a8e0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
a8f0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $a900: 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74 2e (TOP)\src\fault. a910: 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24 28 54 4f c..fkey.lo:.$(TO
a920: 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 20 24 28  P)\src\fkey.c $( a930: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
a940: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL a950: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
a960: 29 5c 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75  )\src\fkey.c..fu
a970: 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  nc.lo:.$(TOP)\sr a980: 63 5c 66 75 6e 63 2e 63 20 24 28 48 44 52 29 0a c\func.c$(HDR).
a990: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
a9a0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
a9b0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src a9c0: 5c 66 75 6e 63 2e 63 0a 0a 67 6c 6f 62 61 6c 2e \func.c..global. a9d0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 67 lo:.$(TOP)\src\g
a9e0: 6c 6f 62 61 6c 2e 63 20 24 28 48 44 52 29 0a 09  lobal.c $(HDR).. a9f0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C aa00: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS aa10: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
aa20: 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c  global.c..hash.l
aa30: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 68 61  o:.$(TOP)\src\ha aa40: 73 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c sh.c$(HDR)..$(L aa50: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
aa60: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
aa70: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73  c $(TOP)\src\has aa80: 68 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 h.c..insert.lo:. aa90: 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72$(TOP)\src\inser
aaa0: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  t.c $(HDR)..$(LT
aab0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ aac0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c aad0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65$(TOP)\src\inse
aae0: 72 74 2e 63 0a 0a 6a 6f 75 72 6e 61 6c 2e 6c 6f  rt.c..journal.lo
aaf0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6a 6f 75  :.$(TOP)\src\jou ab00: 72 6e 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 rnal.c$(HDR)..$ab10: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
ab20: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ab30: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6a   -c $(TOP)\src\j ab40: 6f 75 72 6e 61 6c 2e 63 0a 0a 6c 65 67 61 63 79 ournal.c..legacy ab50: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
ab60: 6c 65 67 61 63 79 2e 63 20 24 28 48 44 52 29 0a  legacy.c $(HDR). ab70: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( ab80: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT ab90: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
aba0: 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65  \legacy.c..loade
abb0: 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  xt.lo:.$(TOP)\sr abc0: 63 5c 6c 6f 61 64 65 78 74 2e 63 20 24 28 48 44 c\loadext.c$(HD
abd0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) abe0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
abf0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ ac00: 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d src\loadext.c..m ac10: 61 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ain.lo:.$(TOP)\s
ac20: 72 63 5c 6d 61 69 6e 2e 63 20 24 28 48 44 52 29  rc\main.c $(HDR) ac30: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $ac40: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP ac50: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
ac60: 63 5c 6d 61 69 6e 2e 63 0a 0a 6d 61 6c 6c 6f 63  c\main.c..malloc
ac70: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ ac80: 6d 61 6c 6c 6f 63 2e 63 20 24 28 48 44 52 29 0a malloc.c$(HDR).
ac90: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
aca0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
acb0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src acc0: 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e \malloc.c..mem0. acd0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d lo:.$(TOP)\src\m
ace0: 65 6d 30 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em0.c $(HDR)..$(
acf0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR ad00: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) ad10: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 -c$(TOP)\src\me
ad20: 6d 30 2e 63 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24  m0.c..mem1.lo:.$ad30: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 (TOP)\src\mem1.c ad40: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM ad50: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
ad60: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( ad70: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 0a TOP)\src\mem1.c. ad80: 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 .mem2.lo:.$(TOP)
ad90: 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 24 28 48 44  \src\mem2.c $(HD ada0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
adb0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ adc0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
add0: 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65 6d 33  src\mem2.c..mem3
ade0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ adf0: 6d 65 6d 33 2e 63 20 24 28 48 44 52 29 0a 09 24 mem3.c$(HDR)..$ae00: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
ae10: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
ae20: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m ae30: 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 em3.c..mem5.lo:. ae40: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e$(TOP)\src\mem5.
ae50: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
ae60: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO ae70: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
ae80: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63  (TOP)\src\mem5.c
ae90: 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a  ..memjournal.lo:
aea0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a  .$(TOP)\src\memj aeb0: 6f 75 72 6e 61 6c 2e 63 20 24 28 48 44 52 29 0a ournal.c$(HDR).
aec0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
aed0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
aee0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src aef0: 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d \memjournal.c..m af00: 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c utex.lo:.$(TOP)\
af10: 73 72 63 5c 6d 75 74 65 78 2e 63 20 24 28 48 44  src\mutex.c $(HD af20: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
af30: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ af40: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
af50: 73 72 63 5c 6d 75 74 65 78 2e 63 0a 0a 6d 75 74  src\mutex.c..mut
af60: 65 78 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f  ex_noop.lo:.$(TO af70: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f P)\src\mutex_noo af80: 70 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 p.c$(HDR)..$(LT af90: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
afa0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
afb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute afc0: 78 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f x_noop.c..mutex_ afd0: 75 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c unix.lo:.$(TOP)\
afe0: 73 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63  src\mutex_unix.c
aff0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b000: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM b010: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
b020: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75  TOP)\src\mutex_u
b030: 6e 69 78 2e 63 0a 0a 6d 75 74 65 78 5f 77 33 32  nix.c..mutex_w32
b040: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ b050: 6d 75 74 65 78 5f 77 33 32 2e 63 20 24 28 48 44 mutex_w32.c$(HD
b060: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) b070: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
b080: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ b090: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 0a src\mutex_w32.c. b0a0: 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24 28 54 4f .notify.lo:.$(TO
b0b0: 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20  P)\src\notify.c
b0c0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b0d0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP b0e0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
b0f0: 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63  OP)\src\notify.c
b100: 0a 0a 70 61 67 65 72 2e 6c 6f 3a 09 24 28 54 4f  ..pager.lo:.$(TO b110: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 24 P)\src\pager.c$
b120: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63  (HDR) $(TOP)\src b130: 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f \pager.h..$(LTCO
b140: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO b150: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
b160: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
b170: 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a 09 24 28  c..pcache.lo:.$( b180: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e TOP)\src\pcache. b190: 63 20 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c c$(HDR) $(TOP)\ b1a0: 73 72 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 src\pcache.h..$(
b1b0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR b1c0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) b1d0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 -c$(TOP)\src\pc
b1e0: 61 63 68 65 2e 63 0a 0a 70 63 61 63 68 65 31 2e  ache.c..pcache1.
b1f0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p b200: 63 61 63 68 65 31 2e 63 20 24 28 48 44 52 29 20 cache1.c$(HDR)
b210: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach b220: 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 e.h..$(LTCOMPILE
b230: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE b240: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
b250: 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 0a 0a  \src\pcache1.c..
b260: 6f 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  os.lo:.$(TOP)\sr b270: 63 5c 6f 73 2e 63 20 24 28 48 44 52 29 0a 09 24 c\os.c$(HDR)..$b280: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
b290: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b2a0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f   -c $(TOP)\src\o b2b0: 73 2e 63 0a 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a s.c..os_unix.lo: b2c0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 .$(TOP)\src\os_u
b2d0: 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28  nix.c $(HDR)..$(
b2e0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR b2f0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) b300: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 -c$(TOP)\src\os
b310: 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e  _unix.c..os_win.
b320: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f  lo:.$(TOP)\src\o b330: 73 5f 77 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 s_win.c$(HDR)..
b340: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
b350: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b360: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ b370: 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61 67 6d 61 os_win.c..pragma b380: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
b390: 70 72 61 67 6d 61 2e 63 20 24 28 48 44 52 29 0a  pragma.c $(HDR). b3a0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( b3b0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT b3c0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
b3d0: 5c 70 72 61 67 6d 61 2e 63 0a 0a 70 72 65 70 61  \pragma.c..prepa
b3e0: 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  re.lo:.$(TOP)\sr b3f0: 63 5c 70 72 65 70 61 72 65 2e 63 20 24 28 48 44 c\prepare.c$(HD
b400: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) b410: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
b420: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ b430: 73 72 63 5c 70 72 65 70 61 72 65 2e 63 0a 0a 70 src\prepare.c..p b440: 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 rintf.lo:.$(TOP)
b450: 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20 24 28  \src\printf.c $( b460: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
b470: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL b480: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
b490: 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 0a 0a  )\src\printf.c..
b4a0: 72 61 6e 64 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50  random.lo:.$(TOP b4b0: 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 24 )\src\random.c$
b4c0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI b4d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
b4e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO b4f0: 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 0a P)\src\random.c. b500: 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a 09 24 28 54 .resolve.lo:.$(T
b510: 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76 65 2e  OP)\src\resolve.
b520: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b530: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO b540: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
b550: 28 54 4f 50 29 5c 73 72 63 5c 72 65 73 6f 6c 76  (TOP)\src\resolv
b560: 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09  e.c..rowset.lo:.
b570: 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65  $(TOP)\src\rowse b580: 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 t.c$(HDR)..$(LT b590: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
b5a0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
b5b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73   $(TOP)\src\rows b5c0: 65 74 2e 63 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a et.c..select.lo: b5d0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 .$(TOP)\src\sele
b5e0: 63 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ct.c $(HDR)..$(L
b5f0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE b600: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - b610: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c c$(TOP)\src\sel
b620: 65 63 74 2e 63 0a 0a 73 74 61 74 75 73 2e 6c 6f  ect.c..status.lo
b630: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61  :.$(TOP)\src\sta b640: 74 75 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28 tus.c$(HDR)..$( b650: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
b660: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
b670: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 74  -c $(TOP)\src\st b680: 61 74 75 73 2e 63 0a 0a 74 61 62 6c 65 2e 6c 6f atus.c..table.lo b690: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62 :.$(TOP)\src\tab
b6a0: 6c 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  le.c $(HDR)..$(L
b6b0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE b6c0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - b6d0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62 c$(TOP)\src\tab
b6e0: 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73 2e 6c 6f  le.c..threads.lo
b6f0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 68 72  :.$(TOP)\src\thr b700: 65 61 64 73 2e 63 20 24 28 48 44 52 29 0a 09 24 eads.c$(HDR)..$b710: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
b720: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b730: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t b740: 68 72 65 61 64 73 2e 63 0a 0a 74 6f 6b 65 6e 69 hreads.c..tokeni b750: 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 ze.lo:.$(TOP)\sr
b760: 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 20 6b 65 79  c\tokenize.c key
b770: 77 6f 72 64 68 61 73 68 2e 68 20 24 28 48 44 52  wordhash.h $(HDR b780: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
b790: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O b7a0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
b7b0: 72 63 5c 74 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 74  rc\tokenize.c..t
b7c0: 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24 28 54 4f  reeview.lo:.$(TO b7d0: 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 2e P)\src\treeview. b7e0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO b7f0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
b800: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $b810: 28 54 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69 (TOP)\src\treevi b820: 65 77 2e 63 0a 0a 74 72 69 67 67 65 72 2e 6c 6f ew.c..trigger.lo b830: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 :.$(TOP)\src\tri
b840: 67 67 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  gger.c $(HDR)..$
b850: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO b860: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) b870: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 -c$(TOP)\src\t
b880: 72 69 67 67 65 72 2e 63 0a 0a 75 70 64 61 74 65  rigger.c..update
b890: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ b8a0: 75 70 64 61 74 65 2e 63 20 24 28 48 44 52 29 0a update.c$(HDR).
b8b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
b8c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b8d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src b8e0: 5c 75 70 64 61 74 65 2e 63 0a 0a 75 74 66 2e 6c \update.c..utf.l b8f0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 o:.$(TOP)\src\ut
b900: 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  f.c $(HDR)..$(LT
b910: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ b920: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c b930: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e$(TOP)\src\utf.
b940: 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f  c..util.lo:.$(TO b950: 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 24 28 P)\src\util.c$(
b960: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL b970: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
b980: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP b990: 29 5c 73 72 63 5c 75 74 69 6c 2e 63 0a 0a 76 61 )\src\util.c..va b9a0: 63 75 75 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c cuum.lo:.$(TOP)\
b9b0: 73 72 63 5c 76 61 63 75 75 6d 2e 63 20 24 28 48  src\vacuum.c $(H b9c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
b9d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE b9e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
b9f0: 5c 73 72 63 5c 76 61 63 75 75 6d 2e 63 0a 0a 76  \src\vacuum.c..v
ba00: 64 62 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  dbe.lo:.$(TOP)\s ba10: 72 63 5c 76 64 62 65 2e 63 20 24 28 48 44 52 29 rc\vdbe.c$(HDR)
ba20: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
ba30: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
ba40: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr ba50: 63 5c 76 64 62 65 2e 63 0a 0a 76 64 62 65 61 70 c\vdbe.c..vdbeap ba60: 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 i.lo:.$(TOP)\src
ba70: 5c 76 64 62 65 61 70 69 2e 63 20 24 28 48 44 52  \vdbeapi.c $(HDR ba80: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
ba90: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O baa0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
bab0: 72 63 5c 76 64 62 65 61 70 69 2e 63 0a 0a 76 64  rc\vdbeapi.c..vd
bac0: 62 65 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29  beaux.lo:.$(TOP) bad0: 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20 24 \src\vdbeaux.c$
bae0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI baf0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
bb00: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO bb10: 50 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 P)\src\vdbeaux.c bb20: 0a 0a 76 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 ..vdbeblob.lo:.$
bb30: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c  (TOP)\src\vdbebl
bb40: 6f 62 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ob.c $(HDR)..$(L
bb50: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE bb60: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - bb70: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 c$(TOP)\src\vdb
bb80: 65 62 6c 6f 62 2e 63 0a 0a 76 64 62 65 6d 65 6d  eblob.c..vdbemem
bb90: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ bba0: 76 64 62 65 6d 65 6d 2e 63 20 24 28 48 44 52 29 vdbemem.c$(HDR)
bbb0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
bbc0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
bbd0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr bbe0: 63 5c 76 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 c\vdbemem.c..vdb bbf0: 65 73 6f 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 esort.lo:.$(TOP)
bc00: 5c 73 72 63 5c 76 64 62 65 73 6f 72 74 2e 63 20  \src\vdbesort.c
bc10: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
bc20: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP bc30: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
bc40: 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74  OP)\src\vdbesort
bc50: 2e 63 0a 0a 76 64 62 65 74 72 61 63 65 2e 6c 6f  .c..vdbetrace.lo
bc60: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  :.$(TOP)\src\vdb bc70: 65 74 72 61 63 65 2e 63 20 24 28 48 44 52 29 0a etrace.c$(HDR).
bc80: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
bc90: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
bca0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src bcb0: 5c 76 64 62 65 74 72 61 63 65 2e 63 0a 0a 76 74 \vdbetrace.c..vt bcc0: 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 ab.lo:.$(TOP)\sr
bcd0: 63 5c 76 74 61 62 2e 63 20 24 28 48 44 52 29 0a  c\vtab.c $(HDR). bce0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( bcf0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT bd00: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
bd10: 5c 76 74 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a  \vtab.c..wal.lo:
bd20: 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e  .$(TOP)\src\wal. bd30: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO bd40: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
bd50: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $bd60: 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 0a (TOP)\src\wal.c. bd70: 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09 24 28 54 4f .walker.lo:.$(TO
bd80: 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20  P)\src\walker.c
bd90: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
bda0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP bdb0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
bdc0: 4f 50 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63  OP)\src\walker.c
bdd0: 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09 24 28 54 4f  ..where.lo:.$(TO bde0: 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 20 24 P)\src\where.c$
bdf0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI be00: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
be10: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO be20: 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 0a 0a P)\src\where.c.. be30: 77 68 65 72 65 63 6f 64 65 2e 6c 6f 3a 09 24 28 wherecode.lo:.$(
be40: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 63 6f  TOP)\src\whereco
be50: 64 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  de.c $(HDR)..$(L
be60: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE be70: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - be80: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 c$(TOP)\src\whe
be90: 72 65 63 6f 64 65 2e 63 0a 0a 77 68 65 72 65 65  recode.c..wheree
bea0: 78 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  xpr.lo:.$(TOP)\s beb0: 72 63 5c 77 68 65 72 65 65 78 70 72 2e 63 20 24 rc\whereexpr.c$
bec0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI bed0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
bee0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO bef0: 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 P)\src\whereexpr bf00: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6c 6f .c..tclsqlite.lo bf10: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c :.$(TOP)\src\tcl
bf20: 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 0a  sqlite.c $(HDR). bf30: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( bf40: 4e 4f 5f 57 41 52 4e 29 20 2d 44 55 53 45 5f 54 NO_WARN) -DUSE_T bf50: 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42 55 49 CL_STUBS=1 -DBUI bf60: 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 LD_sqlite -I$(TC
bf70: 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f  LINCDIR) -c $(TO bf80: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 P)\src\tclsqlite bf90: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68 .c..tclsqlite-sh bfa0: 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ell.lo:.$(TOP)\s
bfb0: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $bfc0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
bfd0: 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  LE) $(NO_WARN) - bfe0: 44 54 43 4c 53 48 3d 31 20 2d 44 42 55 49 4c 44 DTCLSH=1 -DBUILD bff0: 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 _sqlite -I$(TCLI
c000: 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f 50 29  NCDIR) -c $(TOP) c010: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 \src\tclsqlite.c c020: 0a 0a 74 63 6c 73 71 6c 69 74 65 33 2e 65 78 65 ..tclsqlite3.exe c030: 3a 09 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c :.tclsqlite-shel c040: 6c 2e 6c 6f 20 24 28 53 51 4c 49 54 45 33 43 29 l.lo$(SQLITE3C)
c050: 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 4c   $(SQLITE3H)$(L
c060: 49 42 52 45 53 4f 42 4a 53 29 0a 09 24 28 4c 54  IBRESOBJS)..$(LT c070: 4c 49 4e 4b 29 20 24 28 53 51 4c 49 54 45 33 43 LINK)$(SQLITE3C
c080: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG c090: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
c0a0: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) / c0b0: 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 OUT:$@ tclsqlite
c0c0: 2d 73 68 65 6c 6c 2e 6c 6f 20 24 28 4c 49 42 52  -shell.lo $(LIBR c0d0: 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 ESOBJS)$(LTLIBS
c0e0: 29 20 24 28 54 4c 49 42 53 29 0a 0a 23 20 52 75  ) $(TLIBS)..# Ru c0f0: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 6f 70 63 les to build opc c100: 6f 64 65 73 2e 63 20 61 6e 64 20 6f 70 63 6f 64 odes.c and opcod c110: 65 73 2e 68 0a 23 0a 6f 70 63 6f 64 65 73 2e 63 es.h.#.opcodes.c c120: 3a 09 6f 70 63 6f 64 65 73 2e 68 20 24 28 54 4f :.opcodes.h$(TO
c130: 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65  P)\tool\mkopcode
c140: 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43  c.tcl..$(TCLSH_C c150: 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c MD)$(TOP)\tool\
c160: 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 20 6f 70  mkopcodec.tcl op
c170: 63 6f 64 65 73 2e 68 20 3e 20 6f 70 63 6f 64 65  codes.h > opcode
c180: 73 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 68 3a 09  s.c..opcodes.h:.
c190: 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29 5c 73  parse.h $(TOP)\s c1a0: 72 63 5c 76 64 62 65 2e 63 20 24 28 54 4f 50 29 rc\vdbe.c$(TOP)
c1b0: 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 68 2e  \tool\mkopcodeh.
c1c0: 74 63 6c 0a 09 74 79 70 65 20 70 61 72 73 65 2e  tcl..type parse.
c1d0: 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  h $(TOP)\src\vdb c1e0: 65 2e 63 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d e.c |$(TCLSH_CM
c1f0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d  D) $(TOP)\tool\m c200: 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 20 3e 20 6f kopcodeh.tcl > o c210: 70 63 6f 64 65 73 2e 68 0a 0a 23 20 52 75 6c 65 pcodes.h..# Rule c220: 73 20 74 6f 20 62 75 69 6c 64 20 70 61 72 73 65 s to build parse c230: 2e 63 20 61 6e 64 20 70 61 72 73 65 2e 68 20 2d .c and parse.h - c240: 20 74 68 65 20 6f 75 74 70 75 74 73 20 6f 66 20 the outputs of c250: 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 lemon..#.parse.h c260: 3a 09 70 61 72 73 65 2e 63 0a 0a 70 61 72 73 65 :.parse.c..parse c270: 2e 63 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 .c:.$(TOP)\src\p
c280: 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65  arse.y lemon.exe
c290: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64   $(TOP)\tool\add c2a0: 6f 70 63 6f 64 65 73 2e 74 63 6c 0a 09 64 65 6c opcodes.tcl..del c2b0: 20 2f 51 20 70 61 72 73 65 2e 79 20 70 61 72 73 /Q parse.y pars c2c0: 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 e.h parse.h.temp c2d0: 20 32 3e 4e 55 4c 0a 09 63 6f 70 79 20 24 28 54 2>NUL..copy$(T
c2e0: 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 20  OP)\src\parse.y
c2f0: 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 24  ....\lemon.exe $c300: 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 (REQ_FEATURE_FLA c310: 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52 GS)$(OPT_FEATUR
c320: 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46  E_FLAGS) $(EXT_F c330: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 EATURE_FLAGS)$(
c340: 4f 50 54 53 29 20 70 61 72 73 65 2e 79 0a 09 6d  OPTS) parse.y..m
c350: 6f 76 65 20 70 61 72 73 65 2e 68 20 70 61 72 73  ove parse.h pars
c360: 65 2e 68 2e 74 65 6d 70 0a 09 24 28 54 43 4c 53  e.h.temp..$(TCLS c370: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
c380: 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 73 2e 74 63  ol\addopcodes.tc
c390: 6c 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 3e  l parse.h.temp >
c3a0: 20 70 61 72 73 65 2e 68 0a 0a 24 28 53 51 4c 49   parse.h..$(SQLI c3b0: 54 45 33 48 29 3a 09 24 28 54 4f 50 29 5c 73 72 TE3H):.$(TOP)\sr
c3c0: 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e 20 24 28  c\sqlite.h.in $( c3d0: 54 4f 50 29 5c 6d 61 6e 69 66 65 73 74 2e 75 75 TOP)\manifest.uu c3e0: 69 64 20 24 28 54 4f 50 29 5c 56 45 52 53 49 4f id$(TOP)\VERSIO
c3f0: 4e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20  N..$(TCLSH_CMD) c400: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71$(TOP)\tool\mksq
c410: 6c 69 74 65 33 68 2e 74 63 6c 20 24 28 54 4f 50  lite3h.tcl $(TOP c420: 3a 5c 3d 2f 29 20 3e 20 24 28 53 51 4c 49 54 45 :\=/) >$(SQLITE
c430: 33 48 29 0a 0a 73 71 6c 69 74 65 33 65 78 74 2e  3H)..sqlite3ext.
c440: 68 3a 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63  h: .target_sourc
c450: 65 0a 09 63 6f 70 79 20 74 73 72 63 5c 73 71 6c  e..copy tsrc\sql
c460: 69 74 65 33 65 78 74 2e 68 20 2e 0a 0a 6d 6b 6b  ite3ext.h ...mkk
c470: 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 3a 09  eywordhash.exe:.
c480: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65  $(TOP)\tool\mkke c490: 79 77 6f 72 64 68 61 73 68 2e 63 0a 09 24 28 42 ywordhash.c..$(B
c4a0: 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  CC) $(NO_WARN) - c4b0: 46 65 24 40 20 24 28 52 45 51 5f 46 45 41 54 55 Fe$@ $(REQ_FEATU c4c0: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f RE_FLAGS)$(OPT_
c4d0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $c4e0: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (EXT_FEATURE_FLA c4f0: 47 53 29 20 24 28 4f 50 54 53 29 20 5c 0a 09 09 GS)$(OPTS) \...
c500: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65  $(TOP)\tool\mkke c510: 79 77 6f 72 64 68 61 73 68 2e 63 20 2f 6c 69 6e ywordhash.c /lin c520: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4e k$(LDFLAGS) $(N c530: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e 4c LTLINKOPTS)$(NL
c540: 54 4c 49 42 50 41 54 48 53 29 0a 0a 6b 65 79 77  TLIBPATHS)..keyw
c550: 6f 72 64 68 61 73 68 2e 68 3a 09 24 28 54 4f 50  ordhash.h:.$(TOP c560: 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 )\tool\mkkeyword c570: 68 61 73 68 2e 63 20 6d 6b 6b 65 79 77 6f 72 64 hash.c mkkeyword c580: 68 61 73 68 2e 65 78 65 0a 09 2e 5c 6d 6b 6b 65 hash.exe...\mkke c590: 79 77 6f 72 64 68 61 73 68 2e 65 78 65 20 3e 20 ywordhash.exe > c5a0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 0a 0a 0a keywordhash.h... c5b0: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c .# Rules to buil c5c0: 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 d the extension c5d0: 6f 62 6a 65 63 74 73 2e 0a 23 0a 69 63 75 2e 6c objects..#.icu.l c5e0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 o:.$(TOP)\ext\ic
c5f0: 75 5c 69 63 75 2e 63 20 24 28 48 44 52 29 20 24  u\icu.c $(HDR)$
c600: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO c610: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
c620: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO c630: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ c640: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
c650: 78 74 5c 69 63 75 5c 69 63 75 2e 63 0a 0a 66 74  xt\icu\icu.c..ft
c660: 73 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  s2.lo:.$(TOP)\ex c670: 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 24 28 t\fts2\fts2.c$(
c680: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR).. c690: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C c6a0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS c6b0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
c6c0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $( c6d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft c6e0: 73 32 2e 63 0a 0a 66 74 73 32 5f 68 61 73 68 2e s2.c..fts2_hash. c6f0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 lo:.$(TOP)\ext\f
c700: 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 63 20  ts2\fts2_hash.c
c710: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
c720: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
c730: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c740: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - c750: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c c760: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
c770: 66 74 73 32 5f 68 61 73 68 2e 63 0a 0a 66 74 73  fts2_hash.c..fts
c780: 32 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29  2_icu.lo:.$(TOP) c790: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 69 \ext\fts2\fts2_i c7a0: 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 cu.c$(HDR) $(EX c7b0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
c7c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI c7d0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
c7e0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
c7f0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ c800: 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 0a fts2\fts2_icu.c. c810: 0a 66 74 73 32 5f 70 6f 72 74 65 72 2e 6c 6f 3a .fts2_porter.lo: c820: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 .$(TOP)\ext\fts2
c830: 5c 66 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 24  \fts2_porter.c $c840: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
c850: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
c860: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c870: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D c880: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
c890: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
c8a0: 74 73 32 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 74  ts2_porter.c..ft
c8b0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 3a  s2_tokenizer.lo:
c8c0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32  .$(TOP)\ext\fts2 c8d0: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e \fts2_tokenizer. c8e0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD c8f0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c900: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c910: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
c920: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
c930: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  c $(TOP)\ext\fts c940: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2\fts2_tokenizer c950: 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69 7a .c..fts2_tokeniz c960: 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 er1.lo:.$(TOP)\e
c970: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b  xt\fts2\fts2_tok
c980: 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 29  enizer1.c $(HDR) c990: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT c9a0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
c9b0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( c9c0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT c9d0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
c9e0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74  \ext\fts2\fts2_t
c9f0: 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 73  okenizer1.c..fts
ca00: 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  3.lo:.$(TOP)\ext ca10: 5c 66 74 73 33 5c 66 74 73 33 2e 63 20 24 28 48 \fts3\fts3.c$(H
ca20: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
ca30: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO ca40: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) ca50: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
ca60: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T ca70: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts ca80: 33 2e 63 0a 0a 66 74 73 33 5f 61 75 78 2e 6c 6f 3.c..fts3_aux.lo ca90: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
caa0: 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 24 28 48  3\fts3_aux.c $(H cab0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$cac0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
cad0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
cae0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ caf0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
cb00: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
cb10: 33 5f 61 75 78 2e 63 0a 0a 66 74 73 33 5f 65 78  3_aux.c..fts3_ex
cb20: 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  pr.lo:.$(TOP)\ex cb30: 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 t\fts3\fts3_expr cb40: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 .c$(HDR) $(EXTH cb50: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
cb60: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE cb70: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e _OPTS)$(NO_WARN
cb80: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE
cb90: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  -c $(TOP)\ext\ft cba0: 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 0a 0a s3\fts3_expr.c.. cbb0: 66 74 73 33 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 fts3_hash.lo:.$(
cbc0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
cbd0: 73 33 5f 68 61 73 68 2e 63 20 24 28 48 44 52 29  s3_hash.c $(HDR) cbe0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT cbf0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
cc00: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( cc10: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT cc20: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
cc30: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68  \ext\fts3\fts3_h
cc40: 61 73 68 2e 63 0a 0a 66 74 73 33 5f 69 63 75 2e  ash.c..fts3_icu.
cc50: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66  lo:.$(TOP)\ext\f cc60: 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20 24 ts3\fts3_icu.c$
cc70: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR). cc80: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( cc90: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT cca0: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 S)$(NO_WARN) -D
ccb0: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $ccc0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 (TOP)\ext\fts3\f ccd0: 74 73 33 5f 69 63 75 2e 63 0a 0a 66 74 73 33 5f ts3_icu.c..fts3_ cce0: 73 6e 69 70 70 65 74 2e 6c 6f 3a 09 24 28 54 4f snippet.lo:.$(TO
ccf0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
cd00: 5f 73 6e 69 70 70 65 74 2e 63 20 24 28 48 44 52  _snippet.c $(HDR cd10: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L cd20: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
cd30: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $cd40: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI cd50: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
cd60: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
cd70: 73 6e 69 70 70 65 74 2e 63 0a 0a 66 74 73 33 5f  snippet.c..fts3_
cd80: 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50  porter.lo:.$(TOP cd90: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ cda0: 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29 20 porter.c$(HDR)
cdb0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
cdc0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C cdd0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
cde0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
cdf0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ ce00: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f ext\fts3\fts3_po ce10: 72 74 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b rter.c..fts3_tok ce20: 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 enizer.lo:.$(TOP
ce30: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
ce40: 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 44  tokenizer.c $(HD ce50: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( ce60: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
ce70: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
ce80: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL ce90: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
cea0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
ceb0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74  _tokenizer.c..ft
cec0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f  s3_tokenizer1.lo
ced0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts cee0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 3\fts3_tokenizer cef0: 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 1.c$(HDR) $(EXT cf00: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
cf10: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL cf20: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
cf30: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
cf40: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f cf50: 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a ts3\fts3_tokeniz cf60: 65 72 31 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 er1.c..fts3_toke cf70: 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f 3a 09 24 28 nize_vtab.lo:.$(
cf80: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
cf90: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
cfa0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
cfb0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE cfc0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
cfd0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN cfe0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE cff0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
d000: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
d010: 5f 76 74 61 62 2e 63 0a 0a 66 74 73 33 5f 75 6e  _vtab.c..fts3_un
d020: 69 63 6f 64 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  icode.lo:.$(TOP) d030: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 \ext\fts3\fts3_u d040: 6e 69 63 6f 64 65 2e 63 20 24 28 48 44 52 29 20 nicode.c$(HDR)
d050: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
d060: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C d070: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
d080: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
d090: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ d0a0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e ext\fts3\fts3_un d0b0: 69 63 6f 64 65 2e 63 0a 0a 66 74 73 33 5f 75 6e icode.c..fts3_un d0c0: 69 63 6f 64 65 32 2e 6c 6f 3a 09 24 28 54 4f 50 icode2.lo:.$(TOP
d0d0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
d0e0: 75 6e 69 63 6f 64 65 32 2e 63 20 24 28 48 44 52  unicode2.c $(HDR d0f0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L d100: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
d110: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $d120: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI d130: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 TE_CORE -c$(TOP
d140: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
d150: 75 6e 69 63 6f 64 65 32 2e 63 0a 0a 66 74 73 33  unicode2.c..fts3
d160: 5f 77 72 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50  _write.lo:.$(TOP d170: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ d180: 77 72 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 write.c$(HDR) $d190: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f (EXTHDR)..$(LTCO
d1a0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO d1b0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f MPILE_OPTS)$(NO
d1c0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
d1d0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e d1e0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 xt\fts3\fts3_wri d1f0: 74 65 2e 63 0a 0a 72 74 72 65 65 2e 6c 6f 3a 09 te.c..rtree.lo:. d200: 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65$(TOP)\ext\rtree
d210: 5c 72 74 72 65 65 2e 63 20 24 28 48 44 52 29 20  \rtree.c $(HDR) d220: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC d230: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
d240: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N d250: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE d260: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
d270: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
d280: 63 0a 0a 23 20 46 54 53 35 20 74 68 69 6e 67 73  c..# FTS5 things
d290: 0a 23 0a 46 54 53 35 5f 53 52 43 20 3d 20 5c 0a  .#.FTS5_SRC = \.
d2a0: 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74     $(TOP)\ext\ft d2b0: 73 35 5c 66 74 73 35 2e 68 20 5c 0a 20 20 20 24 s5\fts5.h \.$
d2c0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
d2d0: 74 73 35 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28  ts5Int.h \.   $( d2e0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 TOP)\ext\fts5\ft d2f0: 73 35 5f 61 75 78 2e 63 20 5c 0a 20 20 20 24 28 s5_aux.c \.$(
d300: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
d310: 73 35 5f 62 75 66 66 65 72 2e 63 20 5c 0a 20 20  s5_buffer.c \.
d320: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 d330: 5c 66 74 73 35 5f 6d 61 69 6e 2e 63 20 5c 0a 20 \fts5_main.c \. d340: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
d350: 35 5c 66 74 73 35 5f 63 6f 6e 66 69 67 2e 63 20  5\fts5_config.c
d360: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\ d370: 66 74 73 35 5c 66 74 73 35 5f 65 78 70 72 2e 63 fts5\fts5_expr.c d380: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
d390: 5c 66 74 73 35 5c 66 74 73 35 5f 68 61 73 68 2e  \fts5\fts5_hash.
d3a0: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex d3b0: 74 5c 66 74 73 35 5c 66 74 73 35 5f 69 6e 64 65 t\fts5\fts5_inde d3c0: 78 2e 63 20 5c 0a 20 20 20 66 74 73 35 70 61 72 x.c \. fts5par d3d0: 73 65 2e 63 20 66 74 73 35 70 61 72 73 65 2e 68 se.c fts5parse.h d3e0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
d3f0: 5c 66 74 73 35 5c 66 74 73 35 5f 73 74 6f 72 61  \fts5\fts5_stora
d400: 67 65 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  ge.c \.   $(TOP) d410: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74 \ext\fts5\fts5_t d420: 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 20 24 okenize.c \.$
d430: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
d440: 74 73 35 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c  ts5_unicode2.c \
d450: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f d460: 74 73 35 5c 66 74 73 35 5f 76 61 72 69 6e 74 2e ts5\fts5_varint. d470: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 c \.$(TOP)\ex
d480: 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 6f 63 61  t\fts5\fts5_voca
d490: 62 2e 63 0a 0a 66 74 73 35 70 61 72 73 65 2e 63  b.c..fts5parse.c
d4a0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts d4b0: 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20 6c 65 5\fts5parse.y le d4c0: 6d 6f 6e 2e 65 78 65 0a 09 63 6f 70 79 20 24 28 mon.exe..copy$(
d4d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
d4e0: 73 35 70 61 72 73 65 2e 79 20 2e 0a 09 64 65 6c  s5parse.y ...del
d4f0: 20 2f 51 20 66 74 73 35 70 61 72 73 65 2e 68 20   /Q fts5parse.h
d500: 32 3e 4e 55 4c 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65  2>NUL...\lemon.e
d510: 78 65 20 24 28 52 45 51 5f 46 45 41 54 55 52 45  xe $(REQ_FEATURE d520: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 _FLAGS)$(OPT_FE
d530: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45  ATURE_FLAGS) $(E d540: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 XT_FEATURE_FLAGS d550: 29 20 24 28 4f 50 54 53 29 20 66 74 73 35 70 61 )$(OPTS) fts5pa
d560: 72 73 65 2e 79 0a 0a 66 74 73 35 70 61 72 73 65  rse.y..fts5parse
d570: 2e 68 3a 20 66 74 73 35 70 61 72 73 65 2e 63 0a  .h: fts5parse.c.
d580: 0a 66 74 73 35 2e 63 3a 20 24 28 46 54 53 35 5f  .fts5.c: $(FTS5_ d590: 53 52 43 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d SRC)..$(TCLSH_CM
d5a0: 44 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  D) $(TOP)\ext\ft d5b0: 73 35 5c 74 6f 6f 6c 5c 6d 6b 66 74 73 35 63 2e s5\tool\mkfts5c. d5c0: 74 63 6c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 tcl..copy$(TOP)
d5d0: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68  \ext\fts5\fts5.h
d5e0: 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74 73   ...fts5.lo:.fts
d5f0: 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  5.c $(HDR)$(EXT
d600: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL d610: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
d620: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR d630: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE d640: 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 -c fts5.c..fts5 d650: 5f 65 78 74 2e 6c 6f 3a 09 66 74 73 35 2e 63 20 _ext.lo:.fts5.c d660: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) d670: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $d680: 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 66 74 73 (NO_WARN) -c fts d690: 35 2e 63 0a 0a 66 74 73 35 2e 64 6c 6c 3a 09 66 5.c..fts5.dll:.f d6a0: 74 73 35 5f 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 ts5_ext.lo..$(LD
d6b0: 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  ) $(LDFLAGS)$(L
d6c0: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL d6d0: 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f IBPATHS) /DLL /O d6e0: 55 54 3a 24 40 20 66 74 73 35 5f 65 78 74 2e 6c UT:$@ fts5_ext.l
d6f0: 6f 0a 0a 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f  o..sqlite3rbu.lo
d700: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75  :.$(TOP)\ext\rbu d710: 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28 \sqlite3rbu.c$(
d720: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR).. d730: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53$(LTCOMPILE) -DS
d740: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $( d750: 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 6c TOP)\ext\rbu\sql d760: 69 74 65 33 72 62 75 2e 63 0a 0a 23 20 52 75 6c ite3rbu.c..# Rul d770: 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 es to build the d780: 27 74 65 73 74 66 69 78 74 75 72 65 27 20 61 70 'testfixture' ap d790: 70 6c 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49 plication..#.# I d7a0: 66 20 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c f using the amal d7b0: 67 61 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73 71 gamation, use sq d7c0: 6c 69 74 65 33 2e 63 20 64 69 72 65 63 74 6c 79 lite3.c directly d7d0: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 74 65 to build the te d7e0: 73 74 0a 23 20 66 69 78 74 75 72 65 2e 20 20 4f st.# fixture. O d7f0: 74 68 65 72 77 69 73 65 20 6c 69 6e 6b 20 61 67 therwise link ag d800: 61 69 6e 73 74 20 6c 69 62 73 71 6c 69 74 65 33 ainst libsqlite3 d810: 2e 6c 69 62 2e 20 20 28 54 68 69 73 20 64 69 73 .lib. (This dis d820: 74 69 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65 tinction is.# ne d830: 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65 20 cessary because d840: 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 65 the test fixture d850: 20 72 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50 requires non-AP d860: 49 20 73 79 6d 62 6f 6c 73 20 77 68 69 63 68 20 I symbols which d870: 61 72 65 0a 23 20 68 69 64 64 65 6e 20 77 68 65 are.# hidden whe d880: 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 69 73 n the library is d890: 20 62 75 69 6c 74 20 76 69 61 20 74 68 65 20 61 built via the a d8a0: 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a malgamation)..#. d8b0: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 TESTFIXTURE_FLAG d8c0: 53 20 3d 20 2d 44 54 43 4c 53 48 3d 31 20 2d 44 S = -DTCLSH=1 -D d8d0: 53 51 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d 44 SQLITE_TEST=1 -D d8e0: 53 51 4c 49 54 45 5f 43 52 41 53 48 5f 54 45 53 SQLITE_CRASH_TES d8f0: 54 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f T=1.TESTFIXTURE_ d900: 46 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 FLAGS =$(TESTFI
d910: 58 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  XTURE_FLAGS) -DS
d920: 51 4c 49 54 45 5f 53 45 52 56 45 52 3d 31 20 2d  QLITE_SERVER=1 -
d930: 44 53 51 4c 49 54 45 5f 50 52 49 56 41 54 45 3d  DSQLITE_PRIVATE=
d940: 22 22 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  "".TESTFIXTURE_F
d950: 4c 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58  LAGS = $(TESTFIX d960: 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 TURE_FLAGS) -DSQ d970: 4c 49 54 45 5f 43 4f 52 45 20 24 28 4e 4f 5f 57 LITE_CORE$(NO_W
d980: 41 52 4e 29 0a 0a 54 45 53 54 46 49 58 54 55 52  ARN)..TESTFIXTUR
d990: 45 5f 53 52 43 30 20 3d 20 24 28 54 45 53 54 45  E_SRC0 = $(TESTE d9a0: 58 54 29 20 24 28 54 45 53 54 53 52 43 32 29 20 XT)$(TESTSRC2)
d9b0: 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50  $(SHELL_CORE_DEP d9c0: 29 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 ).TESTFIXTURE_SR d9d0: 43 31 20 3d 20 24 28 54 45 53 54 45 58 54 29 20 C1 =$(TESTEXT)
d9e0: 24 28 53 51 4c 49 54 45 33 43 29 0a 21 49 46 20  $(SQLITE3C).!IF d9f0: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49$(USE_AMALGAMATI
da00: 4f 4e 29 3d 3d 30 0a 54 45 53 54 46 49 58 54 55  ON)==0.TESTFIXTU
da10: 52 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53  RE_SRC = $(TESTS da20: 52 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 RC)$(TOP)\src\t
da30: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53  clsqlite.c $(TES da40: 54 46 49 58 54 55 52 45 5f 53 52 43 30 29 0a 21 TFIXTURE_SRC0).! da50: 45 4c 53 45 0a 54 45 53 54 46 49 58 54 55 52 45 ELSE.TESTFIXTURE da60: 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 _SRC =$(TESTSRC
da70: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c  ) $(TOP)\src\tcl da80: 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 sqlite.c$(TESTF
da90: 49 58 54 55 52 45 5f 53 52 43 31 29 0a 21 45 4e  IXTURE_SRC1).!EN
daa0: 44 49 46 0a 0a 74 65 73 74 66 69 78 74 75 72 65  DIF..testfixture
dab0: 2e 65 78 65 3a 09 24 28 54 45 53 54 46 49 58 54  .exe:.$(TESTFIXT dac0: 55 52 45 5f 53 52 43 29 20 24 28 53 51 4c 49 54 URE_SRC)$(SQLIT
dad0: 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f 42 4a  E3H) $(LIBRESOBJ dae0: 53 29 20 24 28 48 44 52 29 0a 09 24 28 4c 54 4c S)$(HDR)..$(LTL daf0: 49 4e 4b 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f INK) -DSQLITE_NO db00: 5f 53 59 4e 43 3d 31 20 24 28 54 45 53 54 46 49 _SYNC=1$(TESTFI
db10: 58 54 55 52 45 5f 46 4c 41 47 53 29 20 5c 0a 09  XTURE_FLAGS) \..
db20: 09 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20  .-DBUILD_sqlite
db30: 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 20 5c  -I$(TCLINCDIR) \ db40: 0a 09 09 24 28 54 45 53 54 46 49 58 54 55 52 45 ...$(TESTFIXTURE
db50: 5f 53 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20  _SRC) \.../link
db60: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
db70: 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  INKOPTS) $(LTLIB db80: 50 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f PATHS)$(LIBRESO
db90: 42 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24  BJS) $(LTLIBS)$
dba0: 28 54 4c 49 42 53 29 0a 0a 65 78 74 65 6e 73 69  (TLIBS)..extensi
dbb0: 6f 6e 74 65 73 74 3a 20 74 65 73 74 66 69 78 74  ontest: testfixt
dbc0: 75 72 65 2e 65 78 65 20 74 65 73 74 6c 6f 61 64  ure.exe testload
dbd0: 65 78 74 2e 64 6c 6c 0a 09 40 73 65 74 20 50 41  ext.dll..@set PA
dbe0: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH) dbf0: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 ;$(PATH)...\test
dc00: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO dc10: 50 29 5c 74 65 73 74 5c 6c 6f 61 64 65 78 74 2e P)\test\loadext. dc20: 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 test$(TESTOPTS)
dc30: 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 24 28 54 45  ..fulltest:.$(TE dc40: 53 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 STPROGS) fuzztes dc50: 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c t..@set PATH=$(L
dc60: 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54  IBTCLPATH);$(PAT dc70: 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 H)...\testfixtur dc80: 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 e.exe$(TOP)\tes
dc90: 74 5c 61 6c 6c 2e 74 65 73 74 20 24 28 54 45 53  t\all.test $(TES dca0: 54 4f 50 54 53 29 0a 0a 73 6f 61 6b 74 65 73 74 TOPTS)..soaktest dcb0: 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 :.$(TESTPROGS)..
dcc0: 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT dcd0: 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a CLPATH);$(PATH).
dce0: 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
dcf0: 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 61  xe $(TOP)\test\a dd00: 6c 6c 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31 20 ll.test -soak=1 dd10: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 6c$(TESTOPTS)..ful
dd20: 6c 74 65 73 74 6f 6e 6c 79 3a 09 24 28 54 45 53  ltestonly:.$(TES dd30: 54 50 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74 TPROGS) fuzztest dd40: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 ..@set PATH=$(LI
dd50: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48  BTCLPATH);$(PATH dd60: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 )...\testfixture dd70: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 .exe$(TOP)\test
dd80: 5c 66 75 6c 6c 2e 74 65 73 74 0a 0a 71 75 65 72  \full.test..quer
dd90: 79 70 6c 61 6e 74 65 73 74 3a 09 74 65 73 74 66  yplantest:.testf
dda0: 69 78 74 75 72 65 2e 65 78 65 20 73 68 65 6c 6c  ixture.exe shell
ddb0: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49  ..@set PATH=$(LI ddc0: 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 BTCLPATH);$(PATH
ddd0: 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65  )...\testfixture
dde0: 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74  .exe $(TOP)\test ddf0: 5c 70 65 72 6d 75 74 61 74 69 6f 6e 73 2e 74 65 \permutations.te de00: 73 74 20 71 75 65 72 79 70 6c 61 6e 6e 65 72 20 st queryplanner de10: 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 66 75 7a$(TESTOPTS)..fuz
de20: 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b  ztest:.fuzzcheck
de30: 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63  .exe...\fuzzchec
de40: 6b 2e 65 78 65 20 24 28 46 55 5a 5a 44 41 54 41  k.exe $(FUZZDATA de50: 29 0a 0a 66 61 73 74 66 75 7a 7a 74 65 73 74 3a )..fastfuzztest: de60: 09 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 .fuzzcheck.exe.. de70: 2e 5c 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 .\fuzzcheck.exe de80: 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31 30 30 4d --limit-mem 100M de90: 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 0a 23 20$(FUZZDATA)..#
dea0: 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69 6e 67 20  Minimal testing
deb0: 74 68 61 74 20 72 75 6e 73 20 69 6e 20 6c 65 73  that runs in les
dec0: 73 20 74 68 61 6e 20 33 20 6d 69 6e 75 74 65 73  s than 3 minutes
ded0: 20 28 6f 6e 20 61 20 66 61 73 74 20 6d 61 63 68   (on a fast mach
dee0: 69 6e 65 29 0a 23 0a 71 75 69 63 6b 74 65 73 74  ine).#.quicktest
def0: 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78  :.testfixture.ex
df00: 65 20 73 6f 75 72 63 65 74 65 73 74 0a 09 40 73  e sourcetest..@s
df10: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL df20: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e PATH);$(PATH)...
df30: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
df40: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 65 78 74   $(TOP)\test\ext df50: 72 61 71 75 69 63 6b 2e 74 65 73 74 20 24 28 54 raquick.test$(T
df60: 45 53 54 4f 50 54 53 29 0a 0a 23 20 54 68 69 73  ESTOPTS)..# This
df70: 20 69 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 63   is the common c
df80: 61 73 65 2e 20 20 52 75 6e 20 6d 61 6e 79 20 74  ase.  Run many t
df90: 65 73 74 73 20 74 68 61 74 20 64 6f 20 6e 6f 74  ests that do not
dfa0: 20 74 61 6b 65 20 74 6f 6f 20 6c 6f 6e 67 2c 0a   take too long,.
dfb0: 23 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 7a 7a  # including fuzz
dfc0: 63 68 65 63 6b 2c 20 73 71 6c 69 74 65 33 5f 61  check, sqlite3_a
dfd0: 6e 61 6c 79 7a 65 72 2c 20 61 6e 64 20 73 71 6c  nalyzer, and sql
dfe0: 64 69 66 66 20 74 65 73 74 73 2e 0a 23 0a 74 65  diff tests..#.te
dff0: 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29  st:.$(TESTPROGS) e000: 20 73 6f 75 72 63 65 74 65 73 74 20 66 61 73 74 sourcetest fast e010: 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 fuzztest..@set P e020: 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 ATH=$(LIBTCLPATH
e030: 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73  );$(PATH)...\tes e040: 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 tfixture.exe$(T
e050: 4f 50 29 5c 74 65 73 74 5c 76 65 72 79 71 75 69  OP)\test\veryqui
e060: 63 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50  ck.test $(TESTOP e070: 54 53 29 0a 0a 73 6d 6f 6b 65 74 65 73 74 3a 09 TS)..smoketest:. e080: 24 28 54 45 53 54 50 52 4f 47 53 29 0a 09 40 73$(TESTPROGS)..@s
e090: 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 4c  et PATH=$(LIBTCL e0a0: 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09 2e PATH);$(PATH)...
e0b0: 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  \testfixture.exe
e0c0: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6d 61 69   $(TOP)\test\mai e0d0: 6e 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54 n.test$(TESTOPT
e0e0: 53 29 0a 0a 73 71 6c 69 74 65 33 5f 61 6e 61 6c  S)..sqlite3_anal
e0f0: 79 7a 65 72 2e 63 3a 20 24 28 53 51 4c 49 54 45  yzer.c: $(SQLITE e100: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 20 3C)$(SQLITE3H)
e110: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq e120: 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f lite.c$(TOP)\to
e130: 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c  ol\spaceanal.tcl
e140: 0a 09 65 63 68 6f 20 23 64 65 66 69 6e 65 20 54  ..echo #define T
e150: 43 4c 53 48 20 32 20 3e 20 24 40 0a 09 65 63 68  CLSH 2 > $@..ech e160: 6f 20 23 64 65 66 69 6e 65 20 53 51 4c 49 54 45 o #define SQLITE e170: 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 _ENABLE_DBSTAT_V e180: 54 41 42 20 31 20 3e 3e 20 24 40 0a 09 63 6f 70 TAB 1 >>$@..cop
e190: 79 20 24 40 20 2b 20 24 28 53 51 4c 49 54 45 33  y $@ +$(SQLITE3
e1a0: 43 29 20 2b 20 24 28 54 4f 50 29 5c 73 72 63 5c  C) + $(TOP)\src\ e1b0: 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 40 0a 09 tclsqlite.c$@..
e1c0: 65 63 68 6f 20 73 74 61 74 69 63 20 63 6f 6e 73  echo static cons
e1d0: 74 20 63 68 61 72 20 2a 74 63 6c 73 68 5f 6d 61  t char *tclsh_ma
e1e0: 69 6e 5f 6c 6f 6f 70 28 76 6f 69 64 29 7b 20 3e  in_loop(void){ >
e1f0: 3e 20 24 40 0a 09 65 63 68 6f 20 73 74 61 74 69  > $@..echo stati e200: 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 7a 4d c const char *zM e210: 61 69 6e 6c 6f 6f 70 20 3d 20 3e 3e 20 24 40 0a ainloop = >>$@.
e220: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD)$(
e230: 54 4f 50 29 5c 74 6f 6f 6c 5c 74 6f 73 74 72 2e  TOP)\tool\tostr.
e240: 74 63 6c 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  tcl $(TOP)\tool\ e250: 73 70 61 63 65 61 6e 61 6c 2e 74 63 6c 20 3e 3e spaceanal.tcl >> e260: 20 24 40 0a 09 65 63 68 6f 20 3b 20 72 65 74 75$@..echo ; retu
e270: 72 6e 20 7a 4d 61 69 6e 6c 6f 6f 70 3b 20 7d 20  rn zMainloop; }
e280: 3e 3e 20 24 40 0a 0a 73 71 6c 69 74 65 33 5f 61  >> $@..sqlite3_a e290: 6e 61 6c 79 7a 65 72 2e 65 78 65 3a 09 73 71 6c nalyzer.exe:.sql e2a0: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 ite3_analyzer.c e2b0: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 0a 09 24$(LIBRESOBJS)..$e2c0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 (LTLINK)$(NO_WA
e2d0: 52 4e 29 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69  RN) -DBUILD_sqli
e2e0: 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52  te -I$(TCLINCDIR e2f0: 29 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a ) sqlite3_analyz e300: 65 72 2e 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 er.c \.../link$
e310: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI e320: 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 NKOPTS)$(LTLIBP
e330: 41 54 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42  ATHS) $(LIBRESOB e340: 4a 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 JS)$(LTLIBS) $( e350: 54 4c 49 42 53 29 0a 0a 74 65 73 74 6c 6f 61 64 TLIBS)..testload e360: 65 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ext.lo:.$(TOP)\s
e370: 72 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e  rc\test_loadext.
e380: 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  c..$(LTCOMPILE) e390: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 63 20 24 28$(NO_WARN) -c $( e3a0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6c 6f TOP)\src\test_lo e3b0: 61 64 65 78 74 2e 63 0a 0a 74 65 73 74 6c 6f 61 adext.c..testloa e3c0: 64 65 78 74 2e 64 6c 6c 3a 20 74 65 73 74 6c 6f dext.dll: testlo e3d0: 61 64 65 78 74 2e 6c 6f 0a 09 24 28 4c 44 29 20 adext.lo..$(LD)
e3e0: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
e3f0: 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42  INKOPTS) $(LTLIB e400: 50 41 54 48 53 29 20 2f 44 4c 4c 20 2f 4f 55 54 PATHS) /DLL /OUT e410: 3a 24 40 20 74 65 73 74 6c 6f 61 64 65 78 74 2e :$@ testloadext.
e420: 6c 6f 0a 0a 73 68 6f 77 64 62 2e 65 78 65 3a 09  lo..showdb.exe:.
e430: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show e440: 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 db.c$(SQLITE3C)
e450: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28   $(SQLITE3H)..$(
e460: 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52  LTLINK) $(NO_WAR e470: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 N) -DSQLITE_THRE e480: 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 ADSAFE=0 -DSQLIT e490: 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 E_OMIT_LOAD_EXTE e4a0: 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 NSION -Fe$@ \...
e4b0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show e4c0: 64 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 db.c$(SQLITE3C)
e4d0: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS e4e0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
e4f0: 0a 73 68 6f 77 73 74 61 74 34 2e 65 78 65 3a 09  .showstat4.exe:.
e500: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show e510: 73 74 61 74 34 2e 63 20 24 28 53 51 4c 49 54 45 stat4.c$(SQLITE
e520: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H). e530: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ e540: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 WARN) -DSQLITE_T e550: 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 HREADSAFE=0 -DSQ e560: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 LITE_OMIT_LOAD_E e570: 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c XTENSION -Fe$@ \
e580: 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73  ...$(TOP)\tool\s e590: 68 6f 77 73 74 61 74 34 2e 63 20 24 28 53 51 4c howstat4.c$(SQL
e5a0: 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c  ITE3C) /link $(L e5b0: 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b DFLAGS)$(LTLINK
e5c0: 4f 50 54 53 29 0a 0a 73 68 6f 77 6a 6f 75 72 6e  OPTS)..showjourn
e5d0: 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  al.exe:.$(TOP)\t e5e0: 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e ool\showjournal. e5f0: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 c$(SQLITE3C) $( e600: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c SQLITE3H)..$(LTL
e610: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  INK) $(NO_WARN) e620: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 -DSQLITE_THREADS e630: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f AFE=0 -DSQLITE_O e640: 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 MIT_LOAD_EXTENSI e650: 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 ON -Fe$@ \...$(T e660: 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 6a 6f 75 OP)\tool\showjou e670: 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 rnal.c$(SQLITE3
e680: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA e690: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
e6a0: 29 0a 0a 73 68 6f 77 77 61 6c 2e 65 78 65 3a 09  )..showwal.exe:.
e6b0: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show e6c0: 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 wal.c$(SQLITE3C
e6d0: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
e6e0: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA e6f0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 RN) -DSQLITE_THR e700: 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c 49 EADSAFE=0 -DSQLI e710: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 TE_OMIT_LOAD_EXT e720: 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 ENSION -Fe$@ \..
e730: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho e740: 77 77 61 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 wwal.c$(SQLITE3
e750: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA e760: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
e770: 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65 3a  )..fts3view.exe:
e780: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33  .$(TOP)\ext\fts3 e790: 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63 \tool\fts3view.c e7a0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S e7b0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
e7c0: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) - e7d0: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 DSQLITE_THREADSA e7e0: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d FE=0 -DSQLITE_OM e7f0: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f IT_LOAD_EXTENSIO e800: 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f N -Fe$@ \...$(TO e810: 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c P)\ext\fts3\tool e820: 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53 51 \fts3view.c$(SQ
e830: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( e840: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
e850: 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b  KOPTS)..rollback
e860: 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50  -test.exe:.$(TOP e870: 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d )\tool\rollback- e880: 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 test.c$(SQLITE3
e890: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. e8a0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W e8b0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 ARN) -DSQLITE_TH e8c0: 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c READSAFE=0 -DSQL e8d0: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 ITE_OMIT_LOAD_EX e8e0: 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a TENSION -Fe$@ \.
e8f0: 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f  ..$(TOP)\tool\ro e900: 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28 llback-test.c$(
e910: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link
e920: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
e930: 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74  INKOPTS)..LogEst
e940: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too e950: 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c l\logest.c$(SQL
e960: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK e970: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 )$(NO_WARN) -Fe
e980: 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c  $@$(TOP)\tool\L
e990: 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28  ogEst.c /link $( e9a0: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
e9b0: 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e  KOPTS)..wordcoun
e9c0: 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65  t.exe:.$(TOP)\te e9d0: 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24 st\wordcount.c$
e9e0: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL e9f0: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b ITE3H)..$(LTLINK
ea00: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS ea10: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 QLITE_THREADSAFE ea20: 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 =0 -DSQLITE_OMIT ea30: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 _LOAD_EXTENSION ea40: 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 -Fe$@ \...$(TOP) ea50: 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e \test\wordcount. ea60: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c c$(SQLITE3C) /l
ea70: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
ea80: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 70  (LTLINKOPTS)..sp
ea90: 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09 24 28  eedtest1.exe:.$( eaa0: 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 TOP)\test\speedt eab0: 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 est1.c$(SQLITE3
eac0: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. ead0: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W eae0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d ARN) -DSQLITE_OM eaf0: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f IT_LOAD_EXTENSIO eb00: 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f N -Fe$@ \...$(TO eb10: 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73 P)\test\speedtes eb20: 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 t1.c$(SQLITE3C)
eb30: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS eb40: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
eb50: 0a 72 62 75 2e 65 78 65 3a 20 24 28 54 4f 50 29  .rbu.exe: $(TOP) eb60: 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 \ext\rbu\rbu.c$
eb70: 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71  (TOP)\ext\rbu\sq
eb80: 6c 69 74 65 33 72 62 75 2e 63 20 24 28 53 51 4c  lite3rbu.c $(SQL eb90: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 ITE3C)$(SQLITE3
eba0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  H)..$(LTLINK)$(
ebb0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
ebc0: 45 5f 45 4e 41 42 4c 45 5f 52 42 55 20 2d 46 65  E_ENABLE_RBU -Fe
ebd0: 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78  $@ \...$(TOP)\ex
ebe0: 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51  t\rbu\rbu.c $(SQ ebf0: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
ec00: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN ec10: 4b 4f 50 54 53 29 0a 23 20 3c 3c 2f 6d 61 72 6b KOPTS).# <</mark ec20: 3e 3e 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 >>..clean:..del ec30: 2f 51 20 2a 2e 65 78 70 20 2a 2e 6c 6f 20 2a 2e /Q *.exp *.lo *. ec40: 69 6c 6b 20 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20 ilk *.lib *.obj ec50: 2a 2e 6e 63 62 20 2a 2e 70 64 62 20 2a 2e 73 64 *.ncb *.pdb *.sd ec60: 66 20 2a 2e 73 75 6f 20 32 3e 4e 55 4c 0a 09 64 f *.suo 2>NUL..d ec70: 65 6c 20 2f 51 20 2a 2e 62 73 63 20 2a 2e 63 6f el /Q *.bsc *.co ec80: 64 20 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 d *.da *.bb *.bb ec90: 67 20 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 g *.vc gmon.out eca0: 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 2>NUL.# <<mark>> ecb0: 0a 09 64 65 6c 20 2f 51 20 24 28 53 51 4c 49 54 ..del /Q$(SQLIT
ecc0: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29  E3C) $(SQLITE3H) ecd0: 20 6f 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 opcodes.c opcod ece0: 65 73 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 es.h 2>NUL..del ecf0: 2f 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 /Q lemon.* lempa ed00: 72 2e 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 r.c parse.* 2>NU ed10: 4c 0a 09 64 65 6c 20 2f 51 20 6d 6b 6b 65 79 77 L..del /Q mkkeyw ed20: 6f 72 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72 ordhash.* keywor ed30: 64 68 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 dhash.h 2>NUL..d ed40: 65 6c 20 2f 51 20 6e 6f 74 61 73 68 61 72 65 64 el /Q notashared ed50: 6c 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d lib.* 2>NUL..-rm ed60: 64 69 72 20 2f 51 2f 53 20 2e 64 65 70 73 20 32 dir /Q/S .deps 2 ed70: 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f >NUL..-rmdir /Q/ ed80: 53 20 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d S .libs 2>NUL..- ed90: 72 6d 64 69 72 20 2f 51 2f 53 20 71 75 6f 74 61 rmdir /Q/S quota eda0: 32 61 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69 72 2a 2>NUL..-rmdir edb0: 20 2f 51 2f 53 20 71 75 6f 74 61 32 62 20 32 3e /Q/S quota2b 2> edc0: 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 NUL..-rmdir /Q/S edd0: 20 71 75 6f 74 61 32 63 20 32 3e 4e 55 4c 0a 09 quota2c 2>NUL.. ede0: 2d 72 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63 -rmdir /Q/S tsrc edf0: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 2>NUL..del /Q . ee00: 74 61 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e target_source 2> ee10: 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73 NUL..del /Q tcls ee20: 71 6c 69 74 65 33 2e 65 78 65 20 32 3e 4e 55 4c qlite3.exe 2>NUL ee30: 0a 09 64 65 6c 20 2f 51 20 74 65 73 74 6c 6f 61 ..del /Q testloa ee40: 64 65 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 dext.dll 2>NUL.. ee50: 64 65 6c 20 2f 51 20 74 65 73 74 66 69 78 74 75 del /Q testfixtu ee60: 72 65 2e 65 78 65 20 74 65 73 74 2e 64 62 20 32 re.exe test.db 2 ee70: 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 >NUL..del /Q Log ee80: 45 73 74 2e 65 78 65 20 66 74 73 33 76 69 65 77 Est.exe fts3view ee90: 2e 65 78 65 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 .exe rollback-te eea0: 73 74 2e 65 78 65 20 73 68 6f 77 64 62 2e 65 78 st.exe showdb.ex eeb0: 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 e 2>NUL..del /Q eec0: 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 20 showjournal.exe eed0: 73 68 6f 77 73 74 61 74 34 2e 65 78 65 20 73 68 showstat4.exe sh eee0: 6f 77 77 61 6c 2e 65 78 65 20 73 70 65 65 64 74 owwal.exe speedt eef0: 65 73 74 31 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 est1.exe 2>NUL.. ef00: 64 65 6c 20 2f 51 20 6d 70 74 65 73 74 65 72 2e del /Q mptester. ef10: 65 78 65 20 77 6f 72 64 63 6f 75 6e 74 2e 65 78 exe wordcount.ex ef20: 65 20 72 62 75 2e 65 78 65 20 73 72 63 63 6b 31 e rbu.exe srcck1 ef30: 2e 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 .exe 2>NUL..del ef40: 2f 51 20 24 28 53 51 4c 49 54 45 33 45 58 45 29 /Q$(SQLITE3EXE)
ef50: 20 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 20 73   \$(SQLITE3DLL) s
ef60: 71 6c 69 74 65 33 2e 64 65 66 20 32 3e 4e 55 4c  qlite3.def 2>NUL
ef70: 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65 33  ..del /Q sqlite3
ef80: 2e 63 20 73 71 6c 69 74 65 33 2d 2a 2e 63 20 32  .c sqlite3-*.c 2
ef90: 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
efa0: 69 74 65 33 72 63 2e 68 20 32 3e 4e 55 4c 0a 09  ite3rc.h 2>NUL..
efb0: 64 65 6c 20 2f 51 20 73 68 65 6c 6c 2e 63 20 73  del /Q shell.c s
efc0: 71 6c 69 74 65 33 65 78 74 2e 68 20 32 3e 4e 55  qlite3ext.h 2>NU
efd0: 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69 74 65  L..del /Q sqlite
efe0: 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 65 20 73  3_analyzer.exe s
eff0: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
f000: 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  c 2>NUL..del /Q
f010: 73 71 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e  sqlite-*-output.
f020: 76 73 69 78 20 32 3e 4e 55 4c 0a 09 64 65 6c 20  vsix 2>NUL..del
f030: 2f 51 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65  /Q fuzzershell.e
f040: 78 65 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65  xe fuzzcheck.exe
f050: 20 73 71 6c 64 69 66 66 2e 65 78 65 20 32 3e 4e   sqldiff.exe 2>N
f060: 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 2e  UL..del /Q fts5.
f070: 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20 32 3e  * fts5parse.* 2>
f080: 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  NUL.# <</mark>>.