/ Hex Artifact Content

## Artifact d5fe268f23e35af9a6b8c6c7df983dda65f0a017:

• File Makefile.msc — part of check-in [6c88229a] at 2012-06-30 16:22:05 on branch trunk — Make use of the predefined nmake command macro CC when possible instead of the literal string 'cl.exe'. Improve support for cross-compilation. Eliminate problematic use of double quotes in macro preprocessing expressions. (user: mistachkin size: 31017)

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: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel
0030: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0040: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0050: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0060: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0070: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0080: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP
0090: 3d 20 2e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  = ...# Set this
00a0: 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61 74 65 20  non-0 to create
00b0: 61 6e 64 20 75 73 65 20 74 68 65 20 53 51 4c 69  and use the SQLi
00c0: 74 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 20  te amalgamation
00d0: 66 69 6c 65 2e 0a 23 0a 55 53 45 5f 41 4d 41 4c  file..#.USE_AMAL
00e0: 47 41 4d 41 54 49 4f 4e 20 3d 20 31 0a 0a 23 20  GAMATION = 1..#
00f0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
0100: 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65 72 6e  o use the Intern
0110: 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e 65 6e  ational Componen
0120: 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65 20 28  ts for Unicode (
0130: 49 43 55 29 2e 0a 23 0a 55 53 45 5f 49 43 55 20  ICU)..#.USE_ICU
0140: 3d 20 30 0a 0a 23 20 53 65 74 20 74 68 69 73 20  = 0..# Set this
0150: 6e 6f 6e 2d 30 20 74 6f 20 64 79 6e 61 6d 69 63  non-0 to dynamic
0160: 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74 68 65  ally link to the
0170: 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c 69   MSVC runtime li
0180: 62 72 61 72 79 2e 0a 23 0a 55 53 45 5f 43 52 54  brary..#.USE_CRT
0190: 5f 44 4c 4c 20 3d 20 30 0a 0a 23 20 53 65 74 20  _DLL = 0..# Set
01a0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f  this non-0 to co
01b0: 6d 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73  mpile binaries s
01c0: 75 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20  uitable for the
01d0: 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e  WinRT environmen
01e0: 74 2e 0a 23 20 54 68 69 73 20 73 65 74 74 69 6e  t..# This settin
01f0: 67 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79  g does not apply
0200: 20 74 6f 20 61 6e 79 20 62 69 6e 61 72 69 65 73   to any binaries
0210: 20 74 68 61 74 20 72 65 71 75 69 72 65 20 54 63   that require Tc
0220: 6c 20 74 6f 20 6f 70 65 72 61 74 65 0a 23 20 70  l to operate.# p
0230: 72 6f 70 65 72 6c 79 20 28 69 2e 65 2e 20 74 68  roperly (i.e. th
0240: 65 20 74 65 78 74 20 66 69 78 74 75 72 65 2c 20  e text fixture,
0250: 65 74 63 29 2e 0a 23 0a 46 4f 52 5f 57 49 4e 52  etc)..#.FOR_WINR
0260: 54 20 3d 20 30 0a 0a 23 20 53 65 74 20 74 68 69  T = 0..# Set thi
0270: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72  s to non-0 to cr
0280: 65 61 74 65 20 61 6e 64 20 75 73 65 20 50 44 42  eate and use PDB
0290: 73 2e 0a 23 0a 53 59 4d 42 4f 4c 53 20 3d 20 31  s..#.SYMBOLS = 1
02a0: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20  ..# Set this to
02b0: 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f  one of the follo
02c0: 77 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65  wing values to e
02d0: 6e 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65  nable various de
02e0: 62 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72  bugging.# featur
02f0: 65 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20  es.  Each level
0300: 69 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62  includes the deb
0310: 75 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66  ugging options f
0320: 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73  rom the previous
0330: 0a 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72  .# levels.  Curr
0340: 65 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67  ently, the recog
0350: 6e 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72  nized values for
0360: 20 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20   DEBUG are:.#.#
0370: 30 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73  0 == NDEBUG: Dis
0380: 61 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61  ables assert() a
0390: 6e 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65  nd other runtime
03a0: 20 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20   diagnostics..#
03b0: 31 20 3d 3d 20 44 69 73 61 62 6c 65 73 20 4e 44  1 == Disables ND
03c0: 45 42 55 47 20 61 6e 64 20 61 6c 6c 20 6f 70 74  EBUG and all opt
03d0: 69 6d 69 7a 61 74 69 6f 6e 73 20 61 6e 64 20 74  imizations and t
03e0: 68 65 6e 20 65 6e 61 62 6c 65 73 20 50 44 42 73  hen enables PDBs
03f0: 2e 0a 23 20 32 20 3d 3d 20 53 51 4c 49 54 45 5f  ..# 2 == SQLITE_
0400: 44 45 42 55 47 3a 20 45 6e 61 62 6c 65 73 20 76  DEBUG: Enables v
0410: 61 72 69 6f 75 73 20 64 69 61 67 6e 6f 73 74 69  arious diagnosti
0420: 63 73 20 6d 65 73 73 61 67 65 73 20 61 6e 64 20  cs messages and
0430: 63 6f 64 65 2e 0a 23 20 33 20 3d 3d 20 53 51 4c  code..# 3 == SQL
0440: 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43  ITE_WIN32_MALLOC
0450: 5f 56 41 4c 49 44 41 54 45 3a 20 56 61 6c 69 64  _VALIDATE: Valid
0460: 61 74 65 20 74 68 65 20 57 69 6e 33 32 20 6e 61  ate the Win32 na
0470: 74 69 76 65 20 68 65 61 70 20 70 65 72 20 63 61  tive heap per ca
0480: 6c 6c 2e 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54  ll..# 4 == SQLIT
0490: 45 5f 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 45  E_DEBUG_OS_TRACE
04a0: 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74 70 75 74  : Enables output
04b0: 20 66 72 6f 6d 20 74 68 65 20 4f 53 54 52 41 43   from the OSTRAC
04c0: 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23 20 35 20  E() macros..# 5
04d0: 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  == SQLITE_ENABLE
04e0: 5f 49 4f 54 52 41 43 45 3a 20 45 6e 61 62 6c 65  _IOTRACE: Enable
04f0: 73 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68  s output from th
0500: 65 20 49 4f 54 52 41 43 45 28 29 20 6d 61 63 72  e IOTRACE() macr
0510: 6f 73 2e 0a 23 0a 44 45 42 55 47 20 3d 20 30 0a  os..#.DEBUG = 0.
0520: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65  .# Check for the
0530: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d   predefined comm
0540: 61 6e 64 20 6d 61 63 72 6f 20 43 43 2e 20 20 54  and macro CC.  T
0550: 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  his should point
0560: 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72   to the compiler
0570: 0a 23 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68  .# binary for th
0580: 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72  e target platfor
0590: 6d 2e 20 20 49 66 20 69 74 20 64 6f 65 73 20 6e  m.  If it does n
05a0: 6f 74 20 65 78 69 73 74 2c 20 73 69 6d 70 6c 79  ot exist, simply
05b0: 20 64 65 66 69 6e 65 20 69 74 20 74 6f 0a 23 20   define it to.#
05c0: 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61 75  the legacy defau
05d0: 6c 74 20 76 61 6c 75 65 20 27 63 6c 2e 65 78 65  lt value 'cl.exe
05e0: 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 43 0a  '..#.!IFNDEF CC.
05f0: 43 43 20 3d 20 63 6c 2e 65 78 65 0a 21 45 4e 44  CC = cl.exe.!END
0600: 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20  IF..# Check for
0610: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72  the command macr
0620: 6f 20 4e 43 43 2e 20 20 54 68 69 73 20 73 68 6f  o NCC.  This sho
0630: 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65  uld point to the
0640: 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 79   compiler binary
0650: 0a 23 20 66 6f 72 20 74 68 65 20 70 6c 61 74 66  .# for the platf
0660: 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74  orm the compilat
0670: 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 20 74  ion process is t
0680: 61 6b 69 6e 67 20 70 6c 61 63 65 20 6f 6e 2e 20  aking place on.
0690: 20 49 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 0a   If it does not.
06a0: 23 20 65 78 69 73 74 2c 20 73 69 6d 70 6c 79 20  # exist, simply
06b0: 64 65 66 69 6e 65 20 69 74 20 74 6f 20 68 61 76  define it to hav
06c0: 65 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65  e the same value
06d0: 20 61 73 20 74 68 65 20 43 43 20 6d 61 63 72 6f   as the CC macro
06e0: 2e 20 20 57 68 65 6e 0a 23 20 63 72 6f 73 73 2d  .  When.# cross-
06f0: 63 6f 6d 70 69 6c 69 6e 67 2c 20 69 74 20 69 73  compiling, it is
0700: 20 73 75 67 67 65 73 74 65 64 20 74 68 61 74 20   suggested that
0710: 74 68 69 73 20 6d 61 63 72 6f 20 62 65 20 6d 6f  this macro be mo
0720: 64 69 66 69 65 64 20 76 69 61 20 74 68 65 20 63  dified via the c
0730: 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 28 73  ommand.# line (s
0740: 69 6e 63 65 20 6e 6d 61 6b 65 20 69 74 73 65 6c  ince nmake itsel
0750: 66 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69  f does not provi
0760: 64 65 20 61 20 62 75 69 6c 74 2d 69 6e 20 6d 65  de a built-in me
0770: 74 68 6f 64 20 74 6f 20 67 75 65 73 73 20 69 74  thod to guess it
0780: 29 2e 0a 23 20 46 6f 72 20 65 78 61 6d 70 6c 65  )..# For example
0790: 2c 20 74 6f 20 75 73 65 20 74 68 65 20 78 38 36  , to use the x86
07a0: 20 63 6f 6d 70 69 6c 65 72 20 77 68 65 6e 20 63   compiler when c
07b0: 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 20 66  ross-compiling f
07c0: 6f 72 20 78 36 34 2c 20 61 20 63 6f 6d 6d 61 6e  or x64, a comman
07d0: 64 0a 23 20 6c 69 6e 65 20 73 69 6d 69 6c 61 72  d.# line similar
07e0: 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e   to the followin
07f0: 67 20 63 6f 75 6c 64 20 62 65 20 75 73 65 64 3a  g could be used:
0800: 0a 23 0a 23 20 20 20 20 20 20 20 20 20 20 20 6e  .#.#           n
0810: 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65  make /f Makefile
0820: 2e 6d 73 63 20 22 4e 43 43 3d 22 22 25 56 43 49  .msc "NCC=""%VCI
0830: 4e 53 54 41 4c 4c 44 49 52 25 5c 62 69 6e 5c 63  NSTALLDIR%\bin\c
0840: 6c 2e 65 78 65 22 22 22 0a 23 0a 21 49 46 4e 44  l.exe""".#.!IFND
0850: 45 46 20 4e 43 43 0a 4e 43 43 20 3d 20 24 28 43  EF NCC.NCC = $(C 0860: 43 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20 43 C).!ENDIF..# C C 0870: 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 ompiler and opti 0880: 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 ons for use in b 0890: 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 uilding executab 08a0: 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 les that.# will 08b0: 72 75 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 run on the platf 08c0: 6f 72 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e orm that is doin 08d0: 67 20 74 68 65 20 62 75 69 6c 64 2e 0a 23 0a 42 g the build..#.B 08e0: 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 57 33 0a CC =$(NCC) -W3.
08f0: 0a 23 20 43 20 43 6f 6d 70 69 6c 65 20 61 6e 64  .# C Compile and
0900: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65   options for use
0910: 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65   in building exe
0920: 63 75 74 61 62 6c 65 73 20 74 68 61 74 0a 23 20  cutables that.#
0930: 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20  will run on the
0940: 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e  target platform.
0950: 20 20 28 42 43 43 20 61 6e 64 20 54 43 43 20 61    (BCC and TCC a
0960: 72 65 20 75 73 75 61 6c 6c 79 20 74 68 65 0a 23  re usually the.#
0970: 20 73 61 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75   same unless you
0980: 72 20 61 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70  r are cross-comp
0990: 69 6c 69 6e 67 2e 29 0a 23 0a 54 43 43 20 3d 20  iling.).#.TCC =
09a0: 24 28 43 43 29 20 2d 57 33 20 2d 44 53 51 4c 49  $(CC) -W3 -DSQLI 09b0: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 TE_OS_WIN=1 -I. 09c0: 2d 49 24 28 54 4f 50 29 5c 73 72 63 20 2d 66 70 -I$(TOP)\src -fp
09d0: 3a 70 72 65 63 69 73 65 0a 0a 23 20 57 68 65 6e  :precise..# When
09e0: 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 6c   compiling the l
09f0: 69 62 72 61 72 79 20 66 6f 72 20 75 73 65 20 69  ibrary for use i
0a00: 6e 20 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69  n the WinRT envi
0a10: 72 6f 6e 6d 65 6e 74 2c 0a 23 20 74 68 65 20 66  ronment,.# the f
0a20: 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 70 69 6c 65  ollowing compile
0a30: 2d 74 69 6d 65 20 6f 70 74 69 6f 6e 73 20 6d 75  -time options mu
0a40: 73 74 20 62 65 20 75 73 65 64 20 61 73 20 77 65  st be used as we
0a50: 6c 6c 20 74 6f 0a 23 20 64 69 73 61 62 6c 65 20  ll to.# disable
0a60: 75 73 65 20 6f 66 20 57 69 6e 33 32 20 41 50 49  use of Win32 API
0a70: 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 61  s that are not a
0a80: 76 61 69 6c 61 62 6c 65 20 61 6e 64 20 74 6f 20  vailable and to
0a90: 65 6e 61 62 6c 65 0a 23 20 75 73 65 20 6f 66 20  enable.# use of
0aa0: 57 69 6e 33 32 20 41 50 49 73 20 74 68 61 74 20  Win32 APIs that
0ab0: 61 72 65 20 73 70 65 63 69 66 69 63 20 74 6f 20  are specific to
0ac0: 57 69 6e 64 6f 77 73 20 38 20 61 6e 64 2f 6f 72  Windows 8 and/or
0ad0: 20 57 69 6e 52 54 2e 0a 23 0a 21 49 46 20 24 28   WinRT..#.!IF $( 0ae0: 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a 54 43 FOR_WINRT)!=0.TC 0af0: 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c C =$(TCC) -DSQL
0b00: 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d 31 0a 21  ITE_OS_WINRT=1.!
0b10: 45 4e 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20 77  ENDIF..# Also, w
0b20: 65 20 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d 69  e need to dynami
0b30: 63 61 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74 68  cally link to th
0b40: 65 20 63 6f 72 72 65 63 74 20 4d 53 56 43 20 72  e correct MSVC r
0b50: 75 6e 74 69 6d 65 0a 23 20 77 68 65 6e 20 63 6f  untime.# when co
0b60: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 52  mpiling for WinR
0b70: 54 20 28 65 2e 67 2e 20 64 65 62 75 67 20 6f 72  T (e.g. debug or
0b80: 20 72 65 6c 65 61 73 65 29 20 4f 52 20 69 66 20   release) OR if
0b90: 74 68 65 0a 23 20 55 53 45 5f 43 52 54 5f 44 4c  the.# USE_CRT_DL
0ba0: 4c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65 74 20  L option is set
0bb0: 74 6f 20 66 6f 72 63 65 20 64 79 6e 61 6d 69 63  to force dynamic
0bc0: 61 6c 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f 20  ally linking to
0bd0: 74 68 65 0a 23 20 4d 53 56 43 20 72 75 6e 74 69  the.# MSVC runti
0be0: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0bf0: 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d  F $(FOR_WINRT)!= 0c00: 30 20 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f 44 0 ||$(USE_CRT_D
0c10: 4c 4c 29 21 3d 30 0a 21 49 46 20 24 28 44 45 42  LL)!=0.!IF $(DEB 0c20: 55 47 29 3e 30 0a 54 43 43 20 3d 20 24 28 54 43 UG)>0.TCC =$(TC
0c30: 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45 0a 54 43  C) -MDd.!ELSE.TC
0c40: 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 0a 21  C = $(TCC) -MD.! 0c50: 45 4e 44 49 46 0a 21 45 4c 53 45 0a 21 49 46 20 ENDIF.!ELSE.!IF 0c60: 24 28 44 45 42 55 47 29 3e 30 0a 54 43 43 20 3d$(DEBUG)>0.TCC =
0c70: 20 24 28 54 43 43 29 20 2d 4d 54 64 0a 21 45 4c   $(TCC) -MTd.!EL 0c80: 53 45 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 SE.TCC =$(TCC)
0c90: 2d 4d 54 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  -MT.!ENDIF.!ENDI
0ca0: 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74  F..# The mksqlit
0cb0: 65 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b 73 71  e3c.tcl and mksq
0cc0: 6c 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69 70  lite3h.tcl scrip
0cd0: 74 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69 6e 0a  ts will pull in.
0ce0: 23 20 61 6e 79 20 65 78 74 65 6e 73 69 6f 6e 20  # any extension
0cf0: 68 65 61 64 65 72 20 66 69 6c 65 73 20 62 79 20  header files by
0d00: 64 65 66 61 75 6c 74 2e 20 20 46 6f 72 20 6e 6f  default.  For no
0d10: 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23  n-amalgamation.#
0d20: 20 62 75 69 6c 64 73 2c 20 77 65 20 6e 65 65 64   builds, we need
0d30: 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68   to make sure th
0d40: 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 20 66  e compiler can f
0d50: 69 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21 49 46  ind these..#.!IF
0d60: 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54   $(USE_AMALGAMAT 0d70: 49 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 ION)==0.TCC =$(
0d80: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex 0d90: 74 5c 66 74 73 33 0a 54 43 43 20 3d 20 24 28 54 t\fts3.TCC =$(T
0da0: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext 0db0: 5c 72 74 72 65 65 0a 21 45 4e 44 49 46 0a 0a 23 \rtree.!ENDIF..# 0dc0: 20 44 65 66 69 6e 65 20 2d 44 4e 44 45 42 55 47 Define -DNDEBUG 0dd0: 20 74 6f 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 to compile with 0de0: 6f 75 74 20 64 65 62 75 67 67 69 6e 67 20 28 69 out debugging (i 0df0: 2e 65 2e 2c 20 66 6f 72 20 70 72 6f 64 75 63 74 .e., for product 0e00: 69 6f 6e 20 75 73 61 67 65 29 0a 23 20 4f 6d 69 ion usage).# Omi 0e10: 74 74 69 6e 67 20 74 68 65 20 64 65 66 69 6e 65 tting the define 0e20: 20 77 69 6c 6c 20 63 61 75 73 65 20 65 78 74 72 will cause extr 0e30: 61 20 64 65 62 75 67 67 69 6e 67 20 63 6f 64 65 a debugging code 0e40: 20 74 6f 20 62 65 20 69 6e 73 65 72 74 65 64 20 to be inserted 0e50: 61 6e 64 0a 23 20 69 6e 63 6c 75 64 65 73 20 65 and.# includes e 0e60: 78 74 72 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68 xtra comments wh 0e70: 65 6e 20 22 45 58 50 4c 41 49 4e 20 73 74 6d 74 en "EXPLAIN stmt 0e80: 22 20 69 73 20 75 73 65 64 2e 0a 23 0a 21 49 46 " is used..#.!IF 0e90: 20 24 28 44 45 42 55 47 29 3d 3d 30 0a 54 43 43$(DEBUG)==0.TCC
0ea0: 20 3d 20 24 28 54 43 43 29 20 2d 44 4e 44 45 42   = $(TCC) -DNDEB 0eb0: 55 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 UG.BCC =$(BCC)
0ec0: 2d 44 4e 44 45 42 55 47 0a 21 45 4e 44 49 46 0a  -DNDEBUG.!ENDIF.
0ed0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 0a  .!IF $(DEBUG)>1. 0ee0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 TCC =$(TCC) -DS
0ef0: 51 4c 49 54 45 5f 44 45 42 55 47 0a 21 45 4e 44  QLITE_DEBUG.!END
0f00: 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29  IF..!IF $(DEBUG) 0f10: 3e 33 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 >3.TCC =$(TCC)
0f20: 2d 44 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f  -DSQLITE_DEBUG_O
0f30: 53 5f 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46  S_TRACE=1.!ENDIF
0f40: 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 34  ..!IF $(DEBUG)>4 0f50: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 .TCC =$(TCC) -D
0f60: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f  SQLITE_ENABLE_IO
0f70: 54 52 41 43 45 0a 21 45 4e 44 49 46 0a 0a 23 0a  TRACE.!ENDIF..#.
0f80: 23 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e  # Prevent warnin
0f90: 67 73 20 61 62 6f 75 74 20 22 69 6e 73 65 63 75  gs about "insecu
0fa0: 72 65 22 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  re" runtime libr
0fb0: 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 62 65  ary functions be
0fc0: 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20  ing used..#.TCC
0fd0: 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f  = $(TCC) -D_CRT_ 0fe0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 SECURE_NO_DEPREC 0ff0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 ATE -D_CRT_SECUR 1000: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 42 43 E_NO_WARNINGS.BC 1010: 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f 43 52 C =$(BCC) -D_CR
1020: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52  T_SECURE_NO_DEPR
1030: 45 43 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43  ECATE -D_CRT_SEC
1040: 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a  URE_NO_WARNINGS.
1050: 0a 23 0a 23 20 55 73 65 20 6e 61 74 69 76 65 20  .#.# Use native
1060: 57 69 6e 33 32 20 68 65 61 70 20 69 6e 73 74 65  Win32 heap inste
1070: 61 64 20 6f 66 20 6d 61 6c 6c 6f 63 2f 66 72 65  ad of malloc/fre
1080: 65 3f 0a 23 0a 23 20 54 43 43 20 3d 20 24 28 54  e?.#.# TCC = $(T 1090: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e CC) -DSQLITE_WIN 10a0: 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23 0a 23 32_MALLOC=1..#.# 10b0: 20 56 61 6c 69 64 61 74 65 20 74 68 65 20 68 65 Validate the he 10c0: 61 70 20 6f 6e 20 65 76 65 72 79 20 63 61 6c 6c ap on every call 10d0: 20 69 6e 74 6f 20 74 68 65 20 6e 61 74 69 76 65 into the native 10e0: 20 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73 Win32 heap subs 10f0: 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20 24 28 44 ystem?.#.!IF$(D
1100: 45 42 55 47 29 3e 32 0a 54 43 43 20 3d 20 24 28  EBUG)>2.TCC = $( 1110: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 TCC) -DSQLITE_WI 1120: 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 N32_MALLOC_VALID 1130: 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 ATE=1.!ENDIF..# 1140: 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 The locations of 1150: 20 74 68 65 20 54 63 6c 20 68 65 61 64 65 72 20 the Tcl header 1160: 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 and library file 1170: 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65 20 6c 69 s. Also, the li 1180: 62 72 61 72 79 20 74 68 61 74 0a 23 20 6e 6f 6e brary that.# non 1190: 2d 73 74 75 62 73 20 65 6e 61 62 6c 65 64 20 70 -stubs enabled p 11a0: 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 54 63 rograms using Tc 11b0: 6c 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 l must link agai 11c0: 6e 73 74 2e 20 20 54 68 65 73 65 20 76 61 72 69 nst. These vari 11d0: 61 62 6c 65 73 0a 23 20 28 54 43 4c 49 4e 43 44 ables.# (TCLINCD 11e0: 49 52 2c 20 54 43 4c 4c 49 42 44 49 52 2c 20 61 IR, TCLLIBDIR, a 11f0: 6e 64 20 4c 49 42 54 43 4c 29 20 6d 61 79 20 62 nd LIBTCL) may b 1200: 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 e overridden via 1210: 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 the environment 1220: 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e .# prior to runn 1230: 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 ing nmake in ord 1240: 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 er to match the 1250: 61 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64 actual installed 1260: 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 0a 23 20 location and.# 1270: 76 65 72 73 69 6f 6e 20 6f 6e 20 74 68 69 73 20 version on this 1280: 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 machine..#.!IFND 1290: 45 46 20 54 43 4c 49 4e 43 44 49 52 0a 54 43 4c EF TCLINCDIR.TCL 12a0: 49 4e 43 44 49 52 20 3d 20 63 3a 5c 74 63 6c 5c INCDIR = c:\tcl\ 12b0: 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a include.!ENDIF.. 12c0: 21 49 46 4e 44 45 46 20 54 43 4c 4c 49 42 44 49 !IFNDEF TCLLIBDI 12d0: 52 0a 54 43 4c 4c 49 42 44 49 52 20 3d 20 63 3a R.TCLLIBDIR = c: 12e0: 5c 74 63 6c 5c 6c 69 62 0a 21 45 4e 44 49 46 0a \tcl\lib.!ENDIF. 12f0: 0a 21 49 46 4e 44 45 46 20 4c 49 42 54 43 4c 0a .!IFNDEF LIBTCL. 1300: 4c 49 42 54 43 4c 20 3d 20 74 63 6c 38 35 2e 6c LIBTCL = tcl85.l 1310: 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 ib.!ENDIF..# The 1320: 20 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 locations of th 1330: 65 20 49 43 55 20 68 65 61 64 65 72 20 61 6e 64 e ICU header and 1340: 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 library files. 1350: 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65 73 These variables 1360: 0a 23 20 28 49 43 55 49 4e 43 44 49 52 2c 20 49 .# (ICUINCDIR, I 1370: 43 55 4c 49 42 44 49 52 2c 20 61 6e 64 20 4c 49 CULIBDIR, and LI 1380: 42 49 43 55 29 20 6d 61 79 20 62 65 20 6f 76 65 BICU) may be ove 1390: 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 rridden via the 13a0: 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 environment.# pr 13b0: 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e ior to running n 13c0: 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f make in order to 13d0: 20 6d 61 74 63 68 20 74 68 65 20 61 63 74 75 61 match the actua 13e0: 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f 63 61 l installed loca 13f0: 74 69 6f 6e 20 6f 6e 0a 23 20 74 68 69 73 20 6d tion on.# this m 1400: 61 63 68 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 achine..#.!IFNDE 1410: 46 20 49 43 55 49 4e 43 44 49 52 0a 49 43 55 49 F ICUINCDIR.ICUI 1420: 4e 43 44 49 52 20 3d 20 63 3a 5c 69 63 75 5c 69 NCDIR = c:\icu\i 1430: 6e 63 6c 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 nclude.!ENDIF..! 1440: 49 46 4e 44 45 46 20 49 43 55 4c 49 42 44 49 52 IFNDEF ICULIBDIR 1450: 0a 49 43 55 4c 49 42 44 49 52 20 3d 20 63 3a 5c .ICULIBDIR = c:\ 1460: 69 63 75 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a icu\lib.!ENDIF.. 1470: 21 49 46 4e 44 45 46 20 4c 49 42 49 43 55 0a 4c !IFNDEF LIBICU.L 1480: 49 42 49 43 55 20 3d 20 69 63 75 75 63 2e 6c 69 IBICU = icuuc.li 1490: 62 20 69 63 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 b icuin.lib.!END 14a0: 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 IF..# This is th 14b0: 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73 65 e command to use 14c0: 20 66 6f 72 20 74 63 6c 73 68 20 2d 20 6e 6f 72 for tclsh - nor 14d0: 6d 61 6c 6c 79 20 6a 75 73 74 20 22 74 63 6c 73 mally just "tcls 14e0: 68 22 2c 20 62 75 74 20 77 65 20 6d 61 79 0a 23 h", but we may.# 14f0: 20 6b 6e 6f 77 20 74 68 65 20 73 70 65 63 69 66 know the specif 1500: 69 63 20 76 65 72 73 69 6f 6e 20 77 65 20 77 61 ic version we wa 1510: 6e 74 20 74 6f 20 75 73 65 2e 20 20 54 68 69 73 nt to use. This 1520: 20 76 61 72 69 61 62 6c 65 20 28 54 43 4c 53 48 variable (TCLSH 1530: 5f 43 4d 44 29 20 6d 61 79 20 62 65 0a 23 20 6f _CMD) may be.# o 1540: 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 verridden via th 1550: 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70 72 e environment pr 1560: 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 6e ior to running n 1570: 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74 6f make in order to 1580: 20 73 65 6c 65 63 74 20 61 0a 23 20 73 70 65 63 select a.# spec 1590: 69 66 69 63 20 54 63 6c 20 73 68 65 6c 6c 20 74 ific Tcl shell t 15a0: 6f 20 75 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 o use..#.!IFNDEF 15b0: 20 54 43 4c 53 48 5f 43 4d 44 0a 54 43 4c 53 48 TCLSH_CMD.TCLSH 15c0: 5f 43 4d 44 20 3d 20 74 63 6c 73 68 38 35 0a 21 _CMD = tclsh85.! 15d0: 45 4e 44 49 46 0a 0a 23 20 43 6f 6d 70 69 6c 65 ENDIF..# Compile 15e0: 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64 r options needed 15f0: 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 68 for programs th 1600: 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64 6c at use the readl 1610: 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a 23 ine() library..# 1620: 0a 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20 .READLINE_FLAGS 1630: 3d 20 2d 44 48 41 56 45 5f 52 45 41 44 4c 49 4e = -DHAVE_READLIN 1640: 45 3d 30 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 E=0..# The libra 1650: 72 79 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 ry that programs 1660: 20 75 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 using readline( 1670: 29 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 ) must link agai 1680: 6e 73 74 2e 0a 23 0a 4c 49 42 52 45 41 44 4c 49 nst..#.LIBREADLI 1690: 4e 45 20 3d 0a 0a 23 20 53 68 6f 75 6c 64 20 74 NE =..# Should t 16a0: 68 65 20 64 61 74 61 62 61 73 65 20 65 6e 67 69 he database engi 16b0: 6e 65 20 62 65 20 63 6f 6d 70 69 6c 65 64 20 74 ne be compiled t 16c0: 68 72 65 61 64 73 61 66 65 0a 23 0a 54 43 43 20 hreadsafe.#.TCC 16d0: 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 =$(TCC) -DSQLIT
16e0: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31 0a 0a  E_THREADSAFE=1..
16f0: 23 20 44 6f 20 74 68 72 65 61 64 73 20 6f 76 65  # Do threads ove
1700: 72 72 69 64 65 20 65 61 63 68 20 6f 74 68 65 72  rride each other
1710: 73 20 6c 6f 63 6b 73 20 62 79 20 64 65 66 61 75  s locks by defau
1720: 6c 74 20 28 31 29 2c 20 6f 72 20 64 6f 20 77 65  lt (1), or do we
1730: 20 74 65 73 74 20 28 2d 31 29 0a 23 0a 54 43 43   test (-1).#.TCC
1740: 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49   = $(TCC) -DSQLI 1750: 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 52 52 49 TE_THREAD_OVERRI 1760: 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23 20 41 6e DE_LOCK=-1..# An 1770: 79 20 74 61 72 67 65 74 20 6c 69 62 72 61 72 69 y target librari 1780: 65 73 20 77 68 69 63 68 20 6c 69 62 73 71 6c 69 es which libsqli 1790: 74 65 20 6d 75 73 74 20 62 65 20 6c 69 6e 6b 65 te must be linke 17a0: 64 20 61 67 61 69 6e 73 74 0a 23 0a 21 49 46 4e d against.#.!IFN 17b0: 44 45 46 20 54 4c 49 42 53 0a 54 4c 49 42 53 20 DEF TLIBS.TLIBS 17c0: 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46 6c 61 67 =.!ENDIF..# Flag 17d0: 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 75 73 s controlling us 17e0: 65 20 6f 66 20 74 68 65 20 69 6e 20 6d 65 6d 6f e of the in memo 17f0: 72 79 20 62 74 72 65 65 20 69 6d 70 6c 65 6d 65 ry btree impleme 1800: 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53 51 4c 49 ntation.#.# SQLI 1810: 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 20 69 73 TE_TEMP_STORE is 1820: 20 30 20 74 6f 20 66 6f 72 63 65 20 74 65 6d 70 0 to force temp 1830: 6f 72 61 72 79 20 74 61 62 6c 65 73 20 74 6f 20 orary tables to 1840: 62 65 20 69 6e 20 61 20 66 69 6c 65 2c 20 31 20 be in a file, 1 1850: 74 6f 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 to.# default to 1860: 66 69 6c 65 2c 20 32 20 74 6f 20 64 65 66 61 75 file, 2 to defau 1870: 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c 20 61 6e lt to memory, an 1880: 64 20 33 20 74 6f 20 66 6f 72 63 65 20 74 65 6d d 3 to force tem 1890: 70 6f 72 61 72 79 0a 23 20 74 61 62 6c 65 73 20 porary.# tables 18a0: 74 6f 20 61 6c 77 61 79 73 20 62 65 20 69 6e 20 to always be in 18b0: 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43 20 3d 20 memory..#.TCC = 18c0: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(TCC) -DSQLITE_
18d0: 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20  TEMP_STORE=1..#
18e0: 45 6e 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c  Enable/disable l
18f0: 6f 61 64 61 62 6c 65 20 65 78 74 65 6e 73 69 6f  oadable extensio
1900: 6e 73 2c 20 61 6e 64 20 6f 74 68 65 72 20 6f 70  ns, and other op
1910: 74 69 6f 6e 61 6c 20 66 65 61 74 75 72 65 73 0a  tional features.
1920: 23 20 62 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69  # based on confi
1930: 67 75 72 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c  guration. (-DSQL
1940: 49 54 45 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c  ITE_OMIT*, -DSQL
1950: 49 54 45 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20  ITE_ENABLE*)..#
1960: 54 68 65 20 73 61 6d 65 20 73 65 74 20 6f 66 20  The same set of
1970: 4f 4d 49 54 20 61 6e 64 20 45 4e 41 42 4c 45 20  OMIT and ENABLE
1980: 66 6c 61 67 73 20 73 68 6f 75 6c 64 20 62 65 20  flags should be
1990: 70 61 73 73 65 64 20 74 6f 20 74 68 65 0a 23 20  passed to the.#
19a0: 4c 45 4d 4f 4e 20 70 61 72 73 65 72 20 67 65 6e  LEMON parser gen
19b0: 65 72 61 74 6f 72 20 61 6e 64 20 74 68 65 20 6d  erator and the m
19c0: 6b 6b 65 79 77 6f 72 64 68 61 73 68 20 74 6f 6f  kkeywordhash too
19d0: 6c 20 61 73 20 77 65 6c 6c 2e 0a 0a 23 20 42 45  l as well...# BE
19e0: 47 49 4e 20 73 74 61 6e 64 61 72 64 20 6f 70 74  GIN standard opt
19f0: 69 6f 6e 73 0a 4f 50 54 5f 46 45 41 54 55 52 45  ions.OPT_FEATURE
1a00: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46  _FLAGS = $(OPT_F 1a10: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 EATURE_FLAGS) -D 1a20: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 SQLITE_ENABLE_FT 1a30: 53 33 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52 45 S3=1.OPT_FEATURE 1a40: 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 _FLAGS =$(OPT_F
1a50: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44  EATURE_FLAGS) -D
1a60: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 54  SQLITE_ENABLE_RT
1a70: 52 45 45 3d 31 0a 4f 50 54 5f 46 45 41 54 55 52  REE=1.OPT_FEATUR
1a80: 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f  E_FLAGS = $(OPT_ 1a90: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d FEATURE_FLAGS) - 1aa0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43 DSQLITE_ENABLE_C 1ab0: 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41 3d 31 OLUMN_METADATA=1 1ac0: 0a 23 20 45 4e 44 20 73 74 61 6e 64 61 72 64 20 .# END standard 1ad0: 6f 70 74 69 6f 6e 73 0a 0a 23 20 42 45 47 49 4e options..# BEGIN 1ae0: 20 72 65 71 75 69 72 65 64 20 57 69 6e 64 6f 77 required Window 1af0: 73 20 6f 70 74 69 6f 6e 0a 4f 50 54 5f 46 45 41 s option.OPT_FEA 1b00: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f TURE_FLAGS =$(O
1b10: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
1b20: 29 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 54  ) -DSQLITE_MAX_T
1b30: 52 49 47 47 45 52 5f 44 45 50 54 48 3d 31 30 30  RIGGER_DEPTH=100
1b40: 0a 23 20 45 4e 44 20 72 65 71 75 69 72 65 64 20  .# END required
1b50: 57 69 6e 64 6f 77 73 20 6f 70 74 69 6f 6e 0a 0a  Windows option..
1b60: 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f  TCC = $(TCC)$(O
1b70: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
1b80: 29 0a 0a 23 20 41 64 64 20 69 6e 20 61 6e 79 20  )..# Add in any
1b90: 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74  optional paramet
1ba0: 65 72 73 20 73 70 65 63 69 66 69 65 64 20 6f 6e  ers specified on
1bb0: 20 74 68 65 20 6d 61 6b 65 20 63 6f 6d 6d 61 6e   the make comman
1bc0: 65 20 6c 69 6e 65 0a 23 20 69 65 2e 20 20 6d 61  e line.# ie.  ma
1bd0: 6b 65 20 22 4f 50 54 53 3d 2d 44 53 51 4c 49 54  ke "OPTS=-DSQLIT
1be0: 45 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31 20 2d  E_ENABLE_FOO=1 -
1bf0: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f 4f  DSQLITE_OMIT_FOO
1c00: 3d 31 22 2e 0a 54 43 43 20 3d 20 24 28 54 43 43  =1"..TCC = $(TCC 1c10: 29 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20 )$(OPTS)..# If
1c20: 73 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62  symbols are enab
1c30: 6c 65 64 2c 20 65 6e 61 62 6c 65 20 50 44 42 73  led, enable PDBs
1c40: 2e 0a 23 20 49 66 20 64 65 62 75 67 67 69 6e 67  ..# If debugging
1c50: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 64 69 73   is enabled, dis
1c60: 61 62 6c 65 20 61 6c 6c 20 6f 70 74 69 6d 69 7a  able all optimiz
1c70: 61 74 69 6f 6e 73 20 61 6e 64 20 65 6e 61 62 6c  ations and enabl
1c80: 65 20 50 44 42 73 2e 0a 21 49 46 20 24 28 44 45  e PDBs..!IF $(DE 1c90: 42 55 47 29 3e 30 0a 54 43 43 20 3d 20 24 28 54 BUG)>0.TCC =$(T
1ca0: 43 43 29 20 2d 4f 64 20 2d 44 5f 44 45 42 55 47  CC) -Od -D_DEBUG
1cb0: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f  .BCC = $(BCC) -O 1cc0: 64 20 2d 44 5f 44 45 42 55 47 0a 21 45 4c 53 45 d -D_DEBUG.!ELSE 1cd0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f .TCC =$(TCC) -O
1ce0: 32 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d  2.BCC = $(BCC) - 1cf0: 4f 32 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 O2.!ENDIF..!IF$
1d00: 28 44 45 42 55 47 29 3e 30 20 7c 7c 20 24 28 53  (DEBUG)>0 || $(S 1d10: 59 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d YMBOLS)!=0.TCC = 1d20: 20 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20$(TCC) -Zi.BCC
1d30: 3d 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e  = $(BCC) -Zi.!EN 1d40: 44 49 46 0a 0a 23 20 49 66 20 49 43 55 20 73 75 DIF..# If ICU su 1d50: 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 pport is enabled 1d60: 2c 20 61 64 64 20 74 68 65 20 63 6f 6d 70 69 6c , add the compil 1d70: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 er options for i 1d80: 74 2e 0a 21 49 46 20 24 28 55 53 45 5f 49 43 55 t..!IF$(USE_ICU
1d90: 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43  )!=0.TCC = $(TCC 1da0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ) -DSQLITE_ENABL 1db0: 45 5f 49 43 55 3d 31 0a 54 43 43 20 3d 20 24 28 E_ICU=1.TCC =$(
1dc0: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78  TCC) -I$(TOP)\ex 1dd0: 74 5c 69 63 75 0a 54 43 43 20 3d 20 24 28 54 43 t\icu.TCC =$(TC
1de0: 43 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52  C) -I$(ICUINCDIR 1df0: 29 0a 21 45 4e 44 49 46 0a 0a 23 20 6c 69 62 74 ).!ENDIF..# libt 1e00: 6f 6f 6c 20 63 6f 6d 70 69 6c 65 2f 6c 69 6e 6b ool compile/link 1e10: 0a 4c 54 43 4f 4d 50 49 4c 45 20 3d 20 24 28 54 .LTCOMPILE =$(T
1e20: 43 43 29 20 2d 46 6f 24 40 0a 4c 54 4c 49 42 20  CC) -Fo$@.LTLIB 1e30: 3d 20 6c 69 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b = lib.exe.LTLINK 1e40: 20 3d 20 24 28 54 43 43 29 20 2d 46 65 24 40 0a =$(TCC) -Fe$@. 1e50: 0a 23 20 49 66 20 61 20 70 6c 61 74 66 6f 72 6d .# If a platform 1e60: 20 77 61 73 20 73 65 74 2c 20 66 6f 72 63 65 20 was set, force 1e70: 74 68 65 20 6c 69 6e 6b 65 72 20 74 6f 20 74 61 the linker to ta 1e80: 72 67 65 74 20 74 68 61 74 2e 0a 23 20 4e 6f 74 rget that..# Not 1e90: 65 20 74 68 61 74 20 74 68 65 20 76 63 76 61 72 e that the vcvar 1ea0: 73 2a 2e 62 61 74 20 66 61 6d 69 6c 79 20 6f 66 s*.bat family of 1eb0: 20 62 61 74 63 68 20 66 69 6c 65 73 20 74 79 70 batch files typ 1ec0: 69 63 61 6c 6c 79 0a 23 20 73 65 74 20 74 68 69 ically.# set thi 1ed0: 73 20 66 6f 72 20 79 6f 75 2e 20 20 4f 74 68 65 s for you. Othe 1ee0: 72 77 69 73 65 2c 20 74 68 65 20 6c 69 6e 6b 65 rwise, the linke 1ef0: 72 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 0a 23 r will attempt.# 1f00: 20 74 6f 20 64 65 64 75 63 65 20 74 68 65 20 62 to deduce the b 1f10: 69 6e 61 72 79 20 74 79 70 65 20 62 61 73 65 64 inary type based 1f20: 20 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 66 on the object f 1f30: 69 6c 65 73 2e 0a 21 49 46 44 45 46 20 50 4c 41 iles..!IFDEF PLA 1f40: 54 46 4f 52 4d 0a 4c 54 4c 49 4e 4b 4f 50 54 53 TFORM.LTLINKOPTS 1f50: 20 3d 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c = /MACHINE:$(PL
1f60: 41 54 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50 54  ATFORM).LTLIBOPT
1f70: 53 20 3d 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50  S = /MACHINE:$(P 1f80: 4c 41 54 46 4f 52 4d 29 0a 21 45 4e 44 49 46 0a LATFORM).!ENDIF. 1f90: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e .# When compilin 1fa0: 67 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 g for use in the 1fb0: 20 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 WinRT environme 1fc0: 6e 74 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e nt, the followin 1fd0: 67 0a 23 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f g.# linker optio 1fe0: 6e 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 n must be used t 1ff0: 6f 20 6d 61 72 6b 20 74 68 65 20 65 78 65 63 75 o mark the execu 2000: 74 61 62 6c 65 20 61 73 20 72 75 6e 6e 61 62 6c table as runnabl 2010: 65 0a 23 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 e.# only in the 2020: 63 6f 6e 74 65 78 74 20 6f 66 20 61 6e 20 61 70 context of an ap 2030: 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6e 74 61 69 plication contai 2040: 6e 65 72 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 ner..#.!IF$(FOR
2050: 5f 57 49 4e 52 54 29 21 3d 30 0a 4c 54 4c 49 4e  _WINRT)!=0.LTLIN
2060: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b  KOPTS = $(LTLINK 2070: 4f 50 54 53 29 20 2f 41 50 50 43 4f 4e 54 41 49 OPTS) /APPCONTAI 2080: 4e 45 52 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 NER.!ENDIF..# If 2090: 20 65 69 74 68 65 72 20 64 65 62 75 67 67 69 6e either debuggin 20a0: 67 20 6f 72 20 73 79 6d 62 6f 6c 73 20 61 72 65 g or symbols are 20b0: 20 65 6e 61 62 6c 65 64 2c 20 65 6e 61 62 6c 65 enabled, enable 20c0: 20 50 44 42 73 2e 0a 21 49 46 20 24 28 44 45 42 PDBs..!IF$(DEB
20d0: 55 47 29 3e 30 20 7c 7c 20 24 28 53 59 4d 42 4f  UG)>0 || $(SYMBO 20e0: 4c 53 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 LS)!=0.LTLINKOPT 20f0: 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 S =$(LTLINKOPTS
2100: 29 20 2f 44 45 42 55 47 0a 42 43 43 20 3d 20 24  ) /DEBUG.BCC = $2110: 28 42 43 43 29 20 2f 44 45 42 55 47 0a 21 45 4e (BCC) /DEBUG.!EN 2120: 44 49 46 0a 0a 23 20 53 74 61 72 74 20 77 69 74 DIF..# Start wit 2130: 68 20 74 68 65 20 54 63 6c 20 72 65 6c 61 74 65 h the Tcl relate 2140: 64 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 d linker options 2150: 2e 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 2f ..LTLIBPATHS = / 2160: 4c 49 42 50 41 54 48 3a 24 28 54 43 4c 4c 49 42 LIBPATH:$(TCLLIB
2170: 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28  DIR).LTLIBS = $( 2180: 4c 49 42 54 43 4c 29 0a 0a 23 20 49 66 20 49 43 LIBTCL)..# If IC 2190: 55 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61 U support is ena 21a0: 62 6c 65 64 2c 20 61 64 64 20 74 68 65 20 6c 69 bled, add the li 21b0: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 nker options for 21c0: 20 69 74 2e 0a 21 49 46 20 24 28 55 53 45 5f 49 it..!IF$(USE_I
21d0: 43 55 29 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48  CU)!=0.LTLIBPATH
21e0: 53 20 3d 20 24 28 4c 54 4c 49 42 50 41 54 48 53  S = $(LTLIBPATHS 21f0: 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 49 43 55 ) /LIBPATH:$(ICU
2200: 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d  LIBDIR).LTLIBS =
2210: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 4c 49 42   $(LTLIBS)$(LIB
2220: 49 43 55 29 0a 21 45 4e 44 49 46 0a 0a 23 20 6e  ICU).!ENDIF..# n
2230: 61 77 6b 20 63 6f 6d 70 61 74 69 62 6c 65 20 61  awk compatible a
2240: 77 6b 2e 0a 4e 41 57 4b 20 3d 20 67 61 77 6b 2e  wk..NAWK = gawk.
2250: 65 78 65 0a 0a 23 20 59 6f 75 20 73 68 6f 75 6c  exe..# You shoul
2260: 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 63 68  d not have to ch
2270: 61 6e 67 65 20 61 6e 79 74 68 69 6e 67 20 62 65  ange anything be
2280: 6c 6f 77 20 74 68 69 73 20 6c 69 6e 65 0a 23 23  low this line.##
2290: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a 23  #############..#
22e0: 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f   Object files fo
22f0: 72 20 74 68 65 20 53 51 4c 69 74 65 20 6c 69 62  r the SQLite lib
2300: 72 61 72 79 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61  rary (non-amalga
2310: 6d 61 74 69 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42  mation)..#.LIBOB
2320: 4a 53 30 20 3d 20 61 6c 74 65 72 2e 6c 6f 20 61  JS0 = alter.lo a
2330: 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74 74 61 63 68  nalyze.lo attach
2340: 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20 5c 0a 20 20  .lo auth.lo \.
2350: 20 20 20 20 20 20 20 62 61 63 6b 75 70 2e 6c 6f         backup.lo
2360: 20 62 69 74 76 65 63 2e 6c 6f 20 62 74 6d 75 74   bitvec.lo btmut
2370: 65 78 2e 6c 6f 20 62 74 72 65 65 2e 6c 6f 20 62  ex.lo btree.lo b
2380: 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  uild.lo \.
2390: 20 20 20 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20 63     callback.lo c
23a0: 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63 74 69 6d 65  omplete.lo ctime
23b0: 2e 6c 6f 20 64 61 74 65 2e 6c 6f 20 64 65 6c 65  .lo date.lo dele
23c0: 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  te.lo \.
23d0: 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 2e 6c   expr.lo fault.l
23e0: 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 20 20  o fkey.lo \.
23f0: 20 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 74 73       fts3.lo fts
2400: 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f 65 78  3_aux.lo fts3_ex
2410: 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 68 2e  pr.lo fts3_hash.
2420: 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f 20 5c  lo fts3_icu.lo \
2430: 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 70  .         fts3_p
2440: 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f 73 6e  orter.lo fts3_sn
2450: 69 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f 74 6f  ippet.lo fts3_to
2460: 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 33 5f  kenizer.lo fts3_
2470: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 5c 0a  tokenizer1.lo \.
2480: 20 20 20 20 20 20 20 20 20 66 74 73 33 5f 75 6e           fts3_un
2490: 69 63 6f 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e  icode.lo fts3_un
24a0: 69 63 6f 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77  icode2.lo fts3_w
24b0: 72 69 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  rite.lo \.
24c0: 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61     func.lo globa
24d0: 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20  l.lo hash.lo \.
24e0: 20 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69          icu.lo i
24f0: 6e 73 65 72 74 2e 6c 6f 20 6a 6f 75 72 6e 61 6c  nsert.lo journal
2500: 2e 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f  .lo legacy.lo lo
2510: 61 64 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20  adext.lo \.
2520: 20 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c      main.lo mall
2530: 6f 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65  oc.lo mem0.lo me
2540: 6d 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65  m1.lo mem2.lo me
2550: 6d 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a  m3.lo mem5.lo \.
2560: 20 20 20 20 20 20 20 20 20 6d 65 6d 6a 6f 75 72           memjour
2570: 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  nal.lo \.
2580: 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78    mutex.lo mutex
2590: 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75  _noop.lo mutex_u
25a0: 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32  nix.lo mutex_w32
25b0: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6e  .lo \.         n
25c0: 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73  otify.lo opcodes
25d0: 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69  .lo os.lo os_uni
25e0: 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c  x.lo os_win.lo \
25f0: 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 72 2e  .         pager.
2600: 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 70 63 61 63  lo parse.lo pcac
2610: 68 65 2e 6c 6f 20 70 63 61 63 68 65 31 2e 6c 6f  he.lo pcache1.lo
2620: 20 70 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61   pragma.lo prepa
2630: 72 65 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20  re.lo printf.lo
2640: 5c 0a 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f  \.         rando
2650: 6d 2e 6c 6f 20 72 65 73 6f 6c 76 65 2e 6c 6f 20  m.lo resolve.lo
2660: 72 6f 77 73 65 74 2e 6c 6f 20 72 74 72 65 65 2e  rowset.lo rtree.
2670: 6c 6f 20 73 65 6c 65 63 74 2e 6c 6f 20 73 74 61  lo select.lo sta
2680: 74 75 73 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  tus.lo \.
2690: 20 20 74 61 62 6c 65 2e 6c 6f 20 74 6f 6b 65 6e    table.lo token
26a0: 69 7a 65 2e 6c 6f 20 74 72 69 67 67 65 72 2e 6c  ize.lo trigger.l
26b0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 70 64  o \.         upd
26c0: 61 74 65 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20 76  ate.lo util.lo v
26d0: 61 63 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20  acuum.lo \.
26e0: 20 20 20 20 76 64 62 65 2e 6c 6f 20 76 64 62 65      vdbe.lo vdbe
26f0: 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78 2e 6c  api.lo vdbeaux.l
2700: 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20 76 64  o vdbeblob.lo vd
2710: 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73 6f 72  bemem.lo vdbesor
2720: 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  t.lo \.
2730: 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77 61 6c  vdbetrace.lo wal
2740: 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20 77 68  .lo walker.lo wh
2750: 65 72 65 2e 6c 6f 20 75 74 66 2e 6c 6f 20 76 74  ere.lo utf.lo vt
2760: 61 62 2e 6c 6f 0a 0a 23 20 4f 62 6a 65 63 74 20  ab.lo..# Object
2770: 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20 61 6d  files for the am
2780: 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a 4c 49  algamation..#.LI
2790: 42 4f 42 4a 53 31 20 3d 20 73 71 6c 69 74 65 33  BOBJS1 = sqlite3
27a0: 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65  .lo..# Determine
27b0: 20 74 68 65 20 72 65 61 6c 20 76 61 6c 75 65 20   the real value
27c0: 6f 66 20 4c 49 42 4f 42 4a 20 62 61 73 65 64 20  of LIBOBJ based
27d0: 6f 6e 20 74 68 65 20 27 63 6f 6e 66 69 67 75 72  on the 'configur
27e0: 65 27 20 73 63 72 69 70 74 0a 23 0a 21 49 46 20  e' script.#.!IF
27f0: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI 2800: 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 ON)==0.LIBOBJ = 2810: 24 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53$(LIBOBJS0).!ELS
2820: 45 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42  E.LIBOBJ = $(LIB 2830: 4f 42 4a 53 31 29 0a 21 45 4e 44 49 46 0a 0a 23 OBJS1).!ENDIF..# 2840: 20 41 6c 6c 20 6f 66 20 74 68 65 20 73 6f 75 72 All of the sour 2850: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23 ce code files..# 2860: 0a 53 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 .SRC = \.$(TOP
2870: 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c 0a  )\src\alter.c \.
2880: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e 61    $(TOP)\src\ana 2890: 6c 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 lyze.c \.$(TOP
28a0: 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20 5c  )\src\attach.c \
28b0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 75  .  $(TOP)\src\au 28c0: 74 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c th.c \.$(TOP)\
28d0: 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a 20  src\backup.c \.
28e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76   $(TOP)\src\bitv 28f0: 65 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ec.c \.$(TOP)\
2900: 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c 0a  src\btmutex.c \.
2910: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72    $(TOP)\src\btr 2920: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ee.c \.$(TOP)\
2930: 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20  src\btree.h \.
2940: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree 2950: 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 Int.h \.$(TOP)
2960: 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20  \src\build.c \.
2970: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c   $(TOP)\src\call 2980: 62 61 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 back.c \.$(TOP
2990: 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63  )\src\complete.c
29a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 29b0: 63 74 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f ctime.c \.$(TO
29c0: 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a  P)\src\date.c \.
29d0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c    $(TOP)\src\del 29e0: 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ete.c \.$(TOP)
29f0: 5c 73 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20  \src\expr.c \.
2a00: 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 6c 74  $(TOP)\src\fault 2a10: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
2a20: 63 5c 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54  c\fkey.c \.  $(T 2a30: 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20 5c OP)\src\func.c \ 2a40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c .$(TOP)\src\gl
2a50: 6f 62 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  obal.c \.  $(TOP 2a60: 29 5c 73 72 63 5c 68 61 73 68 2e 63 20 5c 0a 20 )\src\hash.c \. 2a70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68$(TOP)\src\hash
2a80: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .h \.  $(TOP)\sr 2a90: 63 5c 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 c\hwtime.h \.$
2aa0: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74  (TOP)\src\insert
2ab0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 2ac0: 63 5c 6a 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 c\journal.c \. 2ad0: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63$(TOP)\src\legac
2ae0: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s 2af0: 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 5c 0a 20 rc\loadext.c \. 2b00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e$(TOP)\src\main
2b10: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 2b20: 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 c\malloc.c \.$
2b30: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63  (TOP)\src\mem0.c
2b40: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 2b50: 6d 65 6d 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 mem1.c \.$(TOP
2b60: 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20  )\src\mem2.c \.
2b70: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33   $(TOP)\src\mem3 2b80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
2b90: 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 28 54  c\mem5.c \.  $(T 2ba0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e OP)\src\memjourn 2bb0: 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c al.c \.$(TOP)\
2bc0: 73 72 63 5c 6d 75 74 65 78 2e 63 20 5c 0a 20 20  src\mutex.c \.
2bd0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex 2be0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .h \.$(TOP)\sr
2bf0: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 20 5c  c\mutex_noop.c \
2c00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu 2c10: 74 65 78 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 tex_unix.c \.$
2c20: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
2c30: 77 33 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  w32.c \.  $(TOP) 2c40: 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 5c 0a \src\notify.c \. 2c50: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e$(TOP)\src\os.
2c60: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 2c70: 5c 6f 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 \os.h \.$(TOP)
2c80: 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68  \src\os_common.h
2c90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 2ca0: 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 os_unix.c \.$(
2cb0: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e  TOP)\src\os_win.
2cc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 2cd0: 5c 70 61 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 \pager.c \.$(T
2ce0: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 20  OP)\src\pager.h
2cf0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p 2d00: 61 72 73 65 2e 79 20 5c 0a 20 20 24 28 54 4f 50 arse.y \.$(TOP
2d10: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 20 5c  )\src\pcache.c \
2d20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63  .  $(TOP)\src\pc 2d30: 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 ache.h \.$(TOP
2d40: 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20  )\src\pcache1.c
2d50: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70  \.  $(TOP)\src\p 2d60: 72 61 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f ragma.c \.$(TO
2d70: 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63  P)\src\prepare.c
2d80: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 2d90: 70 72 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 printf.c \.$(T
2da0: 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63  OP)\src\random.c
2db0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 2dc0: 72 65 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 resolve.c \.$(
2dd0: 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e  TOP)\src\rowset.
2de0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 2df0: 5c 73 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 \select.c \.$(
2e00: 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75 73 2e  TOP)\src\status.
2e10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 2e20: 5c 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 24 28 54 \shell.c \.$(T
2e30: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68  OP)\src\sqlite.h
2e40: 2e 69 6e 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  .in \.  $(TOP)\s 2e50: 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 rc\sqlite3ext.h 2e60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 \.$(TOP)\src\s
2e70: 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24  qliteInt.h \.  $2e80: 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 (TOP)\src\sqlite 2e90: 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f Limit.h \.$(TO
2ea0: 50 29 5c 73 72 63 5c 74 61 62 6c 65 2e 63 20 5c  P)\src\table.c \
2eb0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  .  $(TOP)\src\tc 2ec0: 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28 lsqlite.c \.$(
2ed0: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a  TOP)\src\tokeniz
2ee0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 2ef0: 72 63 5c 74 72 69 67 67 65 72 2e 63 20 5c 0a 20 rc\trigger.c \. 2f00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e$(TOP)\src\utf.
2f10: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 2f20: 5c 75 70 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 \update.c \.$(
2f30: 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20  TOP)\src\util.c
2f40: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v 2f50: 61 63 75 75 6d 2e 63 20 5c 0a 20 20 24 28 54 4f acuum.c \.$(TO
2f60: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 5c 0a  P)\src\vdbe.c \.
2f70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62    $(TOP)\src\vdb 2f80: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.h \.$(TOP)\s
2f90: 72 63 5c 76 64 62 65 61 70 69 2e 63 20 5c 0a 20  rc\vdbeapi.c \.
2fa0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65   $(TOP)\src\vdbe 2fb0: 61 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 aux.c \.$(TOP)
2fc0: 5c 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 20  \src\vdbeblob.c
2fd0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v 2fe0: 64 62 65 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 dbemem.c \.$(T
2ff0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 73 6f 72 74  OP)\src\vdbesort
3000: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 3010: 63 5c 76 64 62 65 74 72 61 63 65 2e 63 20 5c 0a c\vdbetrace.c \. 3020: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62$(TOP)\src\vdb
3030: 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50  eInt.h \.  $(TOP 3040: 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 5c 0a 20 )\src\vtab.c \. 3050: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e$(TOP)\src\wal.
3060: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 3070: 5c 77 61 6c 2e 68 20 5c 0a 20 20 24 28 54 4f 50 \wal.h \.$(TOP
3080: 29 5c 73 72 63 5c 77 61 6c 6b 65 72 2e 63 20 5c  )\src\walker.c \
3090: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  .  $(TOP)\src\wh 30a0: 65 72 65 2e 63 0a 0a 23 20 53 6f 75 72 63 65 20 ere.c..# Source 30b0: 63 6f 64 65 20 66 6f 72 20 65 78 74 65 6e 73 69 code for extensi 30c0: 6f 6e 73 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 ons.#.SRC =$(SR
30d0: 43 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  C) \.  $(TOP)\ex 30e0: 74 5c 66 74 73 31 5c 66 74 73 31 2e 63 20 5c 0a t\fts1\fts1.c \. 30f0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
3100: 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54  1\fts1.h \.  $(T 3110: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 OP)\ext\fts1\fts 3120: 31 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 1_hash.c \.$(T
3130: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
3140: 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  1_hash.h \.  $(T 3150: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 OP)\ext\fts1\fts 3160: 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 1_porter.c \.$
3170: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
3180: 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20  ts1_tokenizer.h
3190: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 31a0: 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69 7a ts1\fts1_tokeniz 31b0: 65 72 31 2e 63 0a 53 52 43 20 3d 20 24 28 53 52 er1.c.SRC =$(SR
31c0: 43 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  C) \.  $(TOP)\ex 31d0: 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a t\fts2\fts2.c \. 31e0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
31f0: 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 24 28 54  2\fts2.h \.  $(T 3200: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts 3210: 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 2_hash.c \.$(T
3220: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
3230: 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  2_hash.h \.  $(T 3240: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 OP)\ext\fts2\fts 3250: 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 2_icu.c \.$(TO
3260: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
3270: 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28  _porter.c \.  $( 3280: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft 3290: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c s2_tokenizer.h \ 32a0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
32b0: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  s2\fts2_tokenize
32c0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 32d0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b xt\fts2\fts2_tok 32e0: 65 6e 69 7a 65 72 31 2e 63 0a 53 52 43 20 3d 20 enizer1.c.SRC = 32f0: 24 28 53 52 43 29 20 5c 0a 20 20 24 28 54 4f 50$(SRC) \.  $(TOP 3300: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e )\ext\fts3\fts3. 3310: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
3320: 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a 20  \fts3\fts3.h \.
3330: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 3340: 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 24 \fts3Int.h \.$
3350: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
3360: 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20 20 24 28  ts3_aux.c \.  $( 3370: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 3380: 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 s3_expr.c \.$(
3390: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
33a0: 73 33 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28  s3_hash.c \.  $( 33b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 33c0: 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 s3_hash.h \.$(
33d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
33e0: 73 33 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28 54  s3_icu.c \.  $(T 33f0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 3400: 33 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 3_porter.c \.$
3410: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
3420: 74 73 33 5f 73 6e 69 70 70 65 74 2e 63 20 5c 0a  ts3_snippet.c \.
3430: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 3440: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 3\fts3_tokenizer 3450: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .h \.$(TOP)\ex
3460: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65  t\fts3\fts3_toke
3470: 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  nizer.c \.  $(TO 3480: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 3490: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a _tokenizer1.c \. 34a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
34b0: 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63  3\fts3_unicode.c
34c0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 34d0: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 fts3\fts3_unicod 34e0: 65 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c e2.c \.$(TOP)\
34f0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72  ext\fts3\fts3_wr
3500: 69 74 65 2e 63 0a 53 52 43 20 3d 20 24 28 53 52  ite.c.SRC = $(SR 3510: 43 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 C) \.$(TOP)\ex
3520: 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e  t\icu\sqliteicu.
3530: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext 3540: 5c 69 63 75 5c 69 63 75 2e 63 0a 53 52 43 20 3d \icu\icu.c.SRC = 3550: 20 24 28 53 52 43 29 20 5c 0a 20 20 24 28 54 4f$(SRC) \.  $(TO 3560: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 P)\ext\rtree\rtr 3570: 65 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c ee.h \.$(TOP)\
3580: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
3590: 63 0a 0a 0a 23 20 47 65 6e 65 72 61 74 65 64 20  c...# Generated
35a0: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65  source code file
35b0: 73 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 43 29  s.#.SRC = $(SRC) 35c0: 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61 73 68 \. keywordhash 35d0: 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 63 .h \. opcodes.c 35e0: 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c \. opcodes.h \ 35f0: 0a 20 20 70 61 72 73 65 2e 63 20 5c 0a 20 20 70 . parse.c \. p 3600: 61 72 73 65 2e 68 20 5c 0a 20 20 73 71 6c 69 74 arse.h \. sqlit 3610: 65 33 2e 68 0a 0a 23 20 53 6f 75 72 63 65 20 63 e3.h..# Source c 3620: 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74 20 ode to the test 3630: 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52 43 files..#.TESTSRC 3640: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 = \.$(TOP)\sr
3650: 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24 28  c\test1.c \.  $( 3660: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e 63 TOP)\src\test2.c 3670: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
3680: 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28 54 4f  test3.c \.  $(TO 3690: 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20 5c P)\src\test4.c \ 36a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
36b0: 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st5.c \.  $(TOP) 36c0: 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a 20 \src\test6.c \. 36d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
36e0: 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  7.c \.  $(TOP)\s 36f0: 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20 24 rc\test8.c \.$
3700: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39 2e  (TOP)\src\test9.
3710: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 3720: 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e 63 20 \test_autoext.c 3730: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
3740: 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20 20  est_async.c \.
3750: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 3760: 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54 backup.c \.$(T
3770: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 74 72  OP)\src\test_btr
3780: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ee.c \.  $(TOP)\ 3790: 73 72 63 5c 74 65 73 74 5f 63 6f 6e 66 69 67 2e src\test_config. 37a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
37b0: 5c 74 65 73 74 5f 64 65 6d 6f 76 66 73 2e 63 20  \test_demovfs.c
37c0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 37d0: 65 73 74 5f 64 65 76 73 79 6d 2e 63 20 5c 0a 20 est_devsym.c \. 37e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
37f0: 5f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f  _func.c \.  $(TO 3800: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 75 7a 7a P)\src\test_fuzz 3810: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c er.c \.$(TOP)\
3820: 73 72 63 5c 74 65 73 74 5f 68 65 78 69 6f 2e 63  src\test_hexio.c
3830: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 3840: 74 65 73 74 5f 69 6e 69 74 2e 63 20 5c 0a 20 20 test_init.c \. 3850: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
3860: 69 6e 74 61 72 72 61 79 2e 63 20 5c 0a 20 20 24  intarray.c \.  $3870: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6a (TOP)\src\test_j 3880: 6f 75 72 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 ournal.c \.$(T
3890: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6d 61 6c  OP)\src\test_mal
38a0: 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  loc.c \.  $(TOP) 38b0: 5c 73 72 63 5c 74 65 73 74 5f 6d 75 6c 74 69 70 \src\test_multip 38c0: 6c 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 lex.c \.$(TOP)
38d0: 5c 73 72 63 5c 74 65 73 74 5f 6d 75 74 65 78 2e  \src\test_mutex.
38e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 38f0: 5c 74 65 73 74 5f 6f 6e 65 66 69 6c 65 2e 63 20 \test_onefile.c 3900: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
3910: 65 73 74 5f 6f 73 69 6e 73 74 2e 63 20 5c 0a 20  est_osinst.c \.
3920: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 3930: 5f 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 _pcache.c \.$(
3940: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 71 75  TOP)\src\test_qu
3950: 6f 74 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ota.c \.  $(TOP) 3960: 5c 73 72 63 5c 74 65 73 74 5f 72 74 72 65 65 2e \src\test_rtree. 3970: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
3980: 5c 74 65 73 74 5f 73 63 68 65 6d 61 2e 63 20 5c  \test_schema.c \
3990: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 39a0: 73 74 5f 73 65 72 76 65 72 2e 63 20 5c 0a 20 20 st_server.c \. 39b0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
39c0: 73 75 70 65 72 6c 6f 63 6b 2e 63 20 5c 0a 20 20  superlock.c \.
39d0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 39e0: 73 79 73 63 61 6c 6c 2e 63 20 5c 0a 20 20 24 28 syscall.c \.$(
39f0: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 74  TOP)\src\test_st
3a00: 61 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  at.c \.  $(TOP)\ 3a10: 73 72 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e src\test_tclvar. 3a20: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
3a30: 5c 74 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c  \test_thread.c \
3a40: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 3a50: 73 74 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 st_vfs.c \.$(T
3a60: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 68 6f  OP)\src\test_who
3a70: 6c 65 6e 75 6d 62 65 72 2e 63 20 5c 0a 20 20 24  lenumber.c \.  $3a80: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 77 (TOP)\src\test_w 3a90: 73 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c sd.c \.$(TOP)\
3aa0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 65  ext\fts3\fts3_te
3ab0: 72 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  rm.c \.  $(TOP)\ 3ac0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 65 ext\fts3\fts3_te 3ad0: 73 74 2e 63 0a 0a 23 20 53 6f 75 72 63 65 20 63 st.c..# Source c 3ae0: 6f 64 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 ode to the libra 3af0: 72 79 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 ry files needed 3b00: 62 79 20 74 68 65 20 74 65 73 74 20 66 69 78 74 by the test fixt 3b10: 75 72 65 0a 23 0a 54 45 53 54 53 52 43 32 20 3d ure.#.TESTSRC2 = 3b20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
3b30: 61 74 74 61 63 68 2e 63 20 5c 0a 20 20 24 28 54  attach.c \.  $(T 3b40: 4f 50 29 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 OP)\src\backup.c 3b50: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
3b60: 62 69 74 76 65 63 2e 63 20 5c 0a 20 20 24 28 54  bitvec.c \.  $(T 3b70: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20 OP)\src\btree.c 3b80: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 \.$(TOP)\src\b
3b90: 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50  uild.c \.  $(TOP 3ba0: 29 5c 73 72 63 5c 63 74 69 6d 65 2e 63 20 5c 0a )\src\ctime.c \. 3bb0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74$(TOP)\src\dat
3bc0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 3bd0: 72 63 5c 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 rc\expr.c \.$(
3be0: 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63 20  TOP)\src\func.c
3bf0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 69  \.  $(TOP)\src\i 3c00: 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f nsert.c \.$(TO
3c10: 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 5c 0a 20  P)\src\wal.c \.
3c20: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 35   $(TOP)\src\mem5 3c30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
3c40: 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  c\os.c \.  $(TOP 3c50: 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 )\src\os_unix.c 3c60: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f \.$(TOP)\src\o
3c70: 73 5f 77 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f  s_win.c \.  $(TO 3c80: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63 20 5c P)\src\pager.c \ 3c90: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 .$(TOP)\src\pr
3ca0: 61 67 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50  agma.c \.  $(TOP 3cb0: 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 )\src\prepare.c 3cc0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 \.$(TOP)\src\p
3cd0: 72 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f  rintf.c \.  $(TO 3ce0: 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 P)\src\random.c 3cf0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 \.$(TOP)\src\p
3d00: 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f  cache.c \.  $(TO 3d10: 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 P)\src\pcache1.c 3d20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
3d30: 73 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54  select.c \.  $(T 3d40: 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65 OP)\src\tokenize 3d50: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
3d60: 63 5c 75 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f  c\utf.c \.  $(TO 3d70: 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 5c 0a P)\src\util.c \. 3d80: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62$(TOP)\src\vdb
3d90: 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50  eapi.c \.  $(TOP 3da0: 29 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20 )\src\vdbeaux.c 3db0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 \.$(TOP)\src\v
3dc0: 64 62 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  dbe.c \.  $(TOP) 3dd0: 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 5c \src\vdbemem.c \ 3de0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 .$(TOP)\src\vd
3df0: 62 65 73 6f 72 74 2e 63 20 5c 0a 20 20 24 28 54  besort.c \.  $(T 3e00: 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 OP)\src\vdbetrac 3e10: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.c \.$(TOP)\s
3e20: 72 63 5c 77 68 65 72 65 2e 63 20 5c 0a 20 20 70  rc\where.c \.  p
3e30: 61 72 73 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  arse.c \.  $(TOP 3e40: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e )\ext\fts3\fts3. 3e50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
3e60: 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63  \fts3\fts3_aux.c
3e70: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 3e80: 66 74 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 fts3\fts3_expr.c 3e90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
3ea0: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69  fts3\fts3_tokeni
3eb0: 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  zer.c \.  $(TOP) 3ec0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 75 \ext\fts3\fts3_u 3ed0: 6e 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 nicode.c \.$(T
3ee0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
3ef0: 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a 20  3_unicode2.c \.
3f00: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 3f10: 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 5c 0a \fts3_write.c \. 3f20: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 61 73 79$(TOP)\ext\asy
3f30: 6e 63 5c 73 71 6c 69 74 65 33 61 73 79 6e 63 2e  nc\sqlite3async.
3f40: 63 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65  c..# Header file
3f50: 73 20 75 73 65 64 20 62 79 20 61 6c 6c 20 6c 69  s used by all li
3f60: 62 72 61 72 79 20 73 6f 75 72 63 65 20 66 69 6c  brary source fil
3f70: 65 73 2e 0a 23 0a 48 44 52 20 3d 20 5c 0a 20 20  es..#.HDR = \.
3f80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65   $(TOP)\src\btre 3f90: 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c e.h \.$(TOP)\
3fa0: 73 72 63 5c 62 74 72 65 65 49 6e 74 2e 68 20 5c  src\btreeInt.h \
3fb0: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68  .   $(TOP)\src\h 3fc0: 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 ash.h \.$(TOP
3fd0: 29 5c 73 72 63 5c 68 77 74 69 6d 65 2e 68 20 5c  )\src\hwtime.h \
3fe0: 0a 20 20 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  .   keywordhash.
3ff0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr 4000: 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f c\mutex.h \. o 4010: 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 pcodes.h \.$(
4020: 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a  TOP)\src\os.h \.
4030: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73     $(TOP)\src\os 4040: 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 _common.h \.$
4050: 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e  (TOP)\src\pager.
4060: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr 4070: 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 20 c\pcache.h \. 4080: 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 73 71 6c parse.h \. sql 4090: 69 74 65 33 2e 68 20 5c 0a 20 20 20 24 28 54 4f ite3.h \.$(TO
40a0: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 33 65 78  P)\src\sqlite3ex
40b0: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  t.h \.   $(TOP)\ 40c0: 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e 68 20 src\sqliteInt.h 40d0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
40e0: 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a  sqliteLimit.h \.
40f0: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64     $(TOP)\src\vd 4100: 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 be.h \.$(TOP)
4110: 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 0a 0a  \src\vdbeInt.h..
4120: 23 20 48 65 61 64 65 72 20 66 69 6c 65 73 20 75  # Header files u
4130: 73 65 64 20 62 79 20 65 78 74 65 6e 73 69 6f 6e  sed by extension
4140: 73 0a 23 0a 45 58 54 48 44 52 20 3d 20 24 28 45  s.#.EXTHDR = $(E 4150: 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 XTHDR) \.$(TOP
4160: 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e  )\ext\fts1\fts1.
4170: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext 4180: 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e \fts1\fts1_hash. 4190: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 h \.$(TOP)\ext
41a0: 5c 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e  \fts1\fts1_token
41b0: 69 7a 65 72 2e 68 0a 45 58 54 48 44 52 20 3d 20  izer.h.EXTHDR =
41c0: 24 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28  $(EXTHDR) \.$(
41d0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74  TOP)\ext\fts2\ft
41e0: 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s2.h \.  $(TOP)\ 41f0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 ext\fts2\fts2_ha 4200: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c sh.h \.$(TOP)\
4210: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f  ext\fts2\fts2_to
4220: 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 52  kenizer.h.EXTHDR
4230: 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a 20   = $(EXTHDR) \. 4240: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
4250: 5c 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f  \fts3.h \.  $(TO 4260: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 4270: 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 Int.h \.$(TOP)
4280: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68  \ext\fts3\fts3_h
4290: 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ash.h \.  $(TOP) 42a0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 \ext\fts3\fts3_t 42b0: 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44 okenizer.h.EXTHD 42c0: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a R =$(EXTHDR) \.
42d0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72    $(TOP)\ext\rtr 42e0: 65 65 5c 72 74 72 65 65 2e 68 0a 45 58 54 48 44 ee\rtree.h.EXTHD 42f0: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a R =$(EXTHDR) \.
4300: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75    $(TOP)\ext\icu 4310: 5c 73 71 6c 69 74 65 69 63 75 2e 68 0a 45 58 54 \sqliteicu.h.EXT 4320: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 HDR =$(EXTHDR)
4330: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r 4340: 74 72 65 65 5c 73 71 6c 69 74 65 33 72 74 72 65 tree\sqlite3rtre 4350: 65 2e 68 0a 0a 23 20 54 68 69 73 20 69 73 20 74 e.h..# This is t 4360: 68 65 20 64 65 66 61 75 6c 74 20 4d 61 6b 65 66 he default Makef 4370: 69 6c 65 20 74 61 72 67 65 74 2e 20 20 54 68 65 ile target. The 4380: 20 6f 62 6a 65 63 74 73 20 6c 69 73 74 65 64 20 objects listed 4390: 68 65 72 65 0a 23 20 61 72 65 20 77 68 61 74 20 here.# are what 43a0: 67 65 74 20 62 75 69 6c 64 20 77 68 65 6e 20 79 get build when y 43b0: 6f 75 20 74 79 70 65 20 6a 75 73 74 20 22 6d 61 ou type just "ma 43c0: 6b 65 22 20 77 69 74 68 20 6e 6f 20 61 72 67 75 ke" with no argu 43d0: 6d 65 6e 74 73 2e 0a 23 0a 61 6c 6c 3a 09 64 6c ments..#.all:.dl 43e0: 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 l libsqlite3.lib 43f0: 20 73 71 6c 69 74 65 33 2e 65 78 65 20 6c 69 62 sqlite3.exe lib 4400: 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a 0a tclsqlite3.lib.. 4410: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 libsqlite3.lib:. 4420: 24 28 4c 49 42 4f 42 4a 29 0a 09 24 28 4c 54 4c$(LIBOBJ)..$(LTL 4430: 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 IB)$(LTLIBOPTS)
4440: 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f 42   /OUT:$@$(LIBOB
4450: 4a 29 20 24 28 54 4c 49 42 53 29 0a 0a 6c 69 62  J) $(TLIBS)..lib 4460: 74 63 6c 73 71 6c 69 74 65 33 2e 6c 69 62 3a 09 tclsqlite3.lib:. 4470: 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 tclsqlite.lo lib 4480: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c sqlite3.lib..$(L
4490: 54 4c 49 42 29 20 24 28 4c 54 4c 49 42 4f 50 54  TLIB) $(LTLIBOPT 44a0: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 S)$(LTLIBPATHS)
44b0: 20 2f 4f 55 54 3a 24 40 20 74 63 6c 73 71 6c 69   /OUT:$@ tclsqli 44c0: 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 te.lo libsqlite3 44d0: 2e 6c 69 62 20 24 28 4c 49 42 54 43 4c 3a 74 63 .lib$(LIBTCL:tc
44e0: 6c 3d 74 63 6c 73 74 75 62 29 20 24 28 54 4c 49  l=tclstub) $(TLI 44f0: 42 53 29 0a 0a 73 71 6c 69 74 65 33 2e 65 78 65 BS)..sqlite3.exe 4500: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 :.$(TOP)\src\she
4510: 6c 6c 2e 63 20 6c 69 62 73 71 6c 69 74 65 33 2e  ll.c libsqlite3.
4520: 6c 69 62 20 73 71 6c 69 74 65 33 2e 68 0a 09 24  lib sqlite3.h..$4530: 28 4c 54 4c 49 4e 4b 29 20 24 28 52 45 41 44 4c (LTLINK)$(READL
4540: 49 4e 45 5f 46 4c 41 47 53 29 20 5c 0a 09 09 24  INE_FLAGS) \...$4550: 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e (TOP)\src\shell. 4560: 63 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 4c 54 c \.../link$(LT
4570: 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49  LINKOPTS) $(LTLI 4580: 42 50 41 54 48 53 29 20 6c 69 62 73 71 6c 69 74 BPATHS) libsqlit 4590: 65 33 2e 6c 69 62 20 24 28 4c 49 42 52 45 41 44 e3.lib$(LIBREAD
45a0: 4c 49 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 20  LINE) $(LTLIBS) 45b0: 24 28 54 4c 49 42 53 29 0a 0a 23 20 54 68 69 73$(TLIBS)..# This
45c0: 20 74 61 72 67 65 74 20 63 72 65 61 74 65 73 20   target creates
45d0: 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65  a directory name
45e0: 64 20 22 74 73 72 63 22 20 61 6e 64 20 66 69 6c  d "tsrc" and fil
45f0: 6c 73 20 69 74 20 77 69 74 68 0a 23 20 63 6f 70  ls it with.# cop
4600: 69 65 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 68  ies of all of th
4610: 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20  e C source code
4620: 61 6e 64 20 68 65 61 64 65 72 20 66 69 6c 65 73  and header files
4630: 20 6e 65 65 64 65 64 20 74 6f 0a 23 20 62 75 69   needed to.# bui
4640: 6c 64 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74  ld on the target
4650: 20 73 79 73 74 65 6d 2e 20 20 53 6f 6d 65 20 6f   system.  Some o
4660: 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 63  f the C source c
4670: 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 0a 23  ode and header.#
4680: 20 66 69 6c 65 73 20 61 72 65 20 61 75 74 6f 6d   files are autom
4690: 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74  atically generat
46a0: 65 64 2e 20 20 54 68 69 73 20 74 61 72 67 65 74  ed.  This target
46b0: 20 74 61 6b 65 73 20 63 61 72 65 20 6f 66 0a 23   takes care of.#
46c0: 20 61 6c 6c 20 74 68 61 74 20 61 75 74 6f 6d 61   all that automa
46d0: 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e 2e 0a  tic generation..
46e0: 23 0a 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65  #..target_source
46f0: 3a 09 24 28 53 52 43 29 20 24 28 54 4f 50 29 5c  :.$(SRC)$(TOP)\
4700: 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65  tool\vdbe-compre
4710: 73 73 2e 74 63 6c 0a 09 2d 72 6d 64 69 72 20 2f  ss.tcl..-rmdir /
4720: 53 2f 51 20 74 73 72 63 0a 09 2d 6d 6b 64 69 72  S/Q tsrc..-mkdir
4730: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e   tsrc..for %i in
4740: 20 28 24 28 53 52 43 29 29 20 64 6f 20 63 6f 70   ($(SRC)) do cop 4750: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 64 65 y /Y %i tsrc..de 4760: 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69 74 65 l /Q tsrc\sqlite 4770: 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72 73 65 .h.in tsrc\parse 4780: 2e 79 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 .y..$(TCLSH_CMD)
4790: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 76 64 62   $(TOP)\tool\vdb 47a0: 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63 6c 20 3c e-compress.tcl < 47b0: 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 tsrc\vdbe.c > v 47c0: 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 dbe.new..move vd 47d0: 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65 be.new tsrc\vdbe 47e0: 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 .c..echo > .targ 47f0: 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 et_source..sqlit 4800: 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f e3.c:..target_so 4810: 75 72 63 65 20 24 28 54 4f 50 29 5c 74 6f 6f 6c urce$(TOP)\tool
4820: 5c 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a  \mksqlite3c.tcl.
4830: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD)$(
4840: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69  TOP)\tool\mksqli
4850: 74 65 33 63 2e 74 63 6c 0a 0a 73 71 6c 69 74 65  te3c.tcl..sqlite
4860: 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65 33  3-all.c:.sqlite3
4870: 2e 63 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 73  .c $(TOP)/tool/s 4880: 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 plit-sqlite3c.tc 4890: 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 l..$(TCLSH_CMD)
48a0: 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 73 70 6c 69  $(TOP)/tool/spli 48b0: 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 0a t-sqlite3c.tcl.. 48c0: 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 # Rule to build 48d0: 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e the amalgamation 48e0: 0a 23 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 73 .#.sqlite3.lo:.s 48f0: 71 6c 69 74 65 33 2e 63 0a 09 24 28 4c 54 43 4f qlite3.c..$(LTCO
4900: 4d 50 49 4c 45 29 20 2d 63 20 73 71 6c 69 74 65  MPILE) -c sqlite
4910: 33 2e 63 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20  3.c..# Rules to
4920: 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e 20  build the LEMON
4930: 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 74  compiler generat
4940: 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 24  or.#.lempar.c:.$4950: 28 54 4f 50 29 5c 73 72 63 5c 6c 65 6d 70 61 72 (TOP)\src\lempar 4960: 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c .c..copy$(TOP)\
4970: 73 72 63 5c 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a  src\lempar.c ...
4980: 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 54 4f 50  lemon.exe:.$(TOP 4990: 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 6c )\tool\lemon.c l 49a0: 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43 29 20 empar.c..$(BCC)
49b0: 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f  -Fe$@$(TOP)\too
49c0: 6c 5c 6c 65 6d 6f 6e 2e 63 0a 0a 23 20 52 75 6c  l\lemon.c..# Rul
49d0: 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e 64 69  es to build indi
49e0: 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65  vidual *.lo file
49f0: 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 74 65 64  s from generated
4a00: 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68 69 73   *.c files. This
4a10: 0a 23 20 61 70 70 6c 69 65 73 20 74 6f 3a 0a 23  .# applies to:.#
4a20: 0a 23 20 20 20 20 20 70 61 72 73 65 2e 6c 6f 0a  .#     parse.lo.
4a30: 23 20 20 20 20 20 6f 70 63 6f 64 65 73 2e 6c 6f  #     opcodes.lo
4a40: 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 61 72  .#.parse.lo:.par
4a50: 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  se.c $(HDR)..$(L
4a60: 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 70 61 72  TCOMPILE) -c par
4a70: 73 65 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f  se.c..opcodes.lo
4a80: 3a 09 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c  :.opcodes.c..$(L 4a90: 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 6f 70 63 TCOMPILE) -c opc 4aa0: 6f 64 65 73 2e 63 0a 0a 23 20 52 75 6c 65 73 20 odes.c..# Rules 4ab0: 74 6f 20 62 75 69 6c 64 20 69 6e 64 69 76 69 64 to build individ 4ac0: 75 61 6c 20 2a 2e 6c 6f 20 66 69 6c 65 73 20 66 ual *.lo files f 4ad0: 72 6f 6d 20 66 69 6c 65 73 20 69 6e 20 74 68 65 rom files in the 4ae0: 20 73 72 63 20 64 69 72 65 63 74 6f 72 79 2e 0a src directory.. 4af0: 23 0a 61 6c 74 65 72 2e 6c 6f 3a 09 24 28 54 4f #.alter.lo:.$(TO
4b00: 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 24  P)\src\alter.c $4b10: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
4b20: 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  LE) -c $(TOP)\sr 4b30: 63 5c 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 c\alter.c..analy 4b40: 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 ze.lo:.$(TOP)\sr
4b50: 63 5c 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44  c\analyze.c $(HD 4b60: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
4b70: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a 4b80: 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74 61 63 68 nalyze.c..attach 4b90: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
4ba0: 61 74 74 61 63 68 2e 63 20 24 28 48 44 52 29 0a  attach.c $(HDR). 4bb0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 .$(LTCOMPILE) -c
4bc0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 74 74 61   $(TOP)\src\atta 4bd0: 63 68 2e 63 0a 0a 61 75 74 68 2e 6c 6f 3a 09 24 ch.c..auth.lo:.$
4be0: 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63  (TOP)\src\auth.c
4bf0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
4c00: 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c  PILE) -c $(TOP)\ 4c10: 73 72 63 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b src\auth.c..back 4c20: 75 70 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 up.lo:.$(TOP)\sr
4c30: 63 5c 62 61 63 6b 75 70 2e 63 20 24 28 48 44 52  c\backup.c $(HDR 4c40: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
4c50: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 61  -c $(TOP)\src\ba 4c60: 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 2e 6c ckup.c..bitvec.l 4c70: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 o:.$(TOP)\src\bi
4c80: 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a 09 24  tvec.c $(HDR)..$
4c90: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24  (LTCOMPILE) -c $4ca0: 28 54 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 (TOP)\src\bitvec 4cb0: 2e 63 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f 3a 09 .c..btmutex.lo:. 4cc0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74$(TOP)\src\btmut
4cd0: 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ex.c $(HDR)..$(L
4ce0: 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54  TCOMPILE) -c $(T 4cf0: 4f 50 29 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e OP)\src\btmutex. 4d00: 63 0a 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54 c..btree.lo:.$(T
4d10: 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 20  OP)\src\btree.c
4d20: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72  $(HDR)$(TOP)\sr
4d30: 63 5c 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43  c\pager.h..$(LTC 4d40: 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 OMPILE) -c$(TOP
4d50: 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a 62  )\src\btree.c..b
4d60: 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  uild.lo:.$(TOP)\ 4d70: 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48 44 src\build.c$(HD
4d80: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) 4d90: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 -c$(TOP)\src\b
4da0: 75 69 6c 64 2e 63 0a 0a 63 61 6c 6c 62 61 63 6b  uild.c..callback
4db0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ 4dc0: 63 61 6c 6c 62 61 63 6b 2e 63 20 24 28 48 44 52 callback.c$(HDR
4dd0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 4de0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 -c$(TOP)\src\ca
4df0: 6c 6c 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65  llback.c..comple
4e00: 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  te.lo:.$(TOP)\sr 4e10: 63 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 c\complete.c$(H
4e20: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE 4e30: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
4e40: 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d  complete.c..ctim
4e50: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src 4e60: 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a \ctime.c$(HDR).
4e70: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63  .$(LTCOMPILE) -c 4e80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d$(TOP)\src\ctim
4e90: 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f 3a 09 24 28  e.c..date.lo:.$( 4ea0: 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 TOP)\src\date.c 4eb0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP 4ec0: 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 ILE) -c$(TOP)\s
4ed0: 72 63 5c 64 61 74 65 2e 63 0a 0a 64 65 6c 65 74  rc\date.c..delet
4ee0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src 4ef0: 5c 64 65 6c 65 74 65 2e 63 20 24 28 48 44 52 29 \delete.c$(HDR)
4f00: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d  ..$(LTCOMPILE) - 4f10: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c c$(TOP)\src\del
4f20: 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09  ete.c..expr.lo:.
4f30: 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e  $(TOP)\src\expr. 4f40: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO 4f50: 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 MPILE) -c$(TOP)
4f60: 5c 73 72 63 5c 65 78 70 72 2e 63 0a 0a 66 61 75  \src\expr.c..fau
4f70: 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  lt.lo:.$(TOP)\sr 4f80: 63 5c 66 61 75 6c 74 2e 63 20 24 28 48 44 52 29 c\fault.c$(HDR)
4f90: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d  ..$(LTCOMPILE) - 4fa0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 75 c$(TOP)\src\fau
4fb0: 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24  lt.c..fkey.lo:.$4fc0: 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 (TOP)\src\fkey.c 4fd0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM 4fe0: 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c PILE) -c$(TOP)\
4ff0: 73 72 63 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63  src\fkey.c..func
5000: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ 5010: 66 75 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24 func.c$(HDR)..$5020: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 (LTCOMPILE) -c$
5030: 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e 63  (TOP)\src\func.c
5040: 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54  ..global.lo:.$(T 5050: 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 OP)\src\global.c 5060: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM 5070: 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c PILE) -c$(TOP)\
5080: 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 0a 0a 68 61  src\global.c..ha
5090: 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  sh.lo:.$(TOP)\sr 50a0: 63 5c 68 61 73 68 2e 63 20 24 28 48 44 52 29 0a c\hash.c$(HDR).
50b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63  .$(LTCOMPILE) -c 50c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68$(TOP)\src\hash
50d0: 2e 63 0a 0a 69 6e 73 65 72 74 2e 6c 6f 3a 09 24  .c..insert.lo:.$50e0: 28 54 4f 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 (TOP)\src\insert 50f0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC 5100: 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 OMPILE) -c$(TOP
5110: 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 0a 0a  )\src\insert.c..
5120: 6a 6f 75 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f  journal.lo:.$(TO 5130: 50 29 5c 73 72 63 5c 6a 6f 75 72 6e 61 6c 2e 63 P)\src\journal.c 5140: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM 5150: 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c PILE) -c$(TOP)\
5160: 73 72 63 5c 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6c  src\journal.c..l
5170: 65 67 61 63 79 2e 6c 6f 3a 09 24 28 54 4f 50 29  egacy.lo:.$(TOP) 5180: 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 20 24 28 \src\legacy.c$(
5190: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL 51a0: 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 E) -c$(TOP)\src
51b0: 5c 6c 65 67 61 63 79 2e 63 0a 0a 6c 6f 61 64 65  \legacy.c..loade
51c0: 78 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  xt.lo:.$(TOP)\sr 51d0: 63 5c 6c 6f 61 64 65 78 74 2e 63 20 24 28 48 44 c\loadext.c$(HD
51e0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) 51f0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c -c$(TOP)\src\l
5200: 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c  oadext.c..main.l
5210: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  o:.$(TOP)\src\ma 5220: 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c in.c$(HDR)..$(L 5230: 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 TCOMPILE) -c$(T
5240: 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 0a 0a  OP)\src\main.c..
5250: 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54 4f 50  malloc.lo:.$(TOP 5260: 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 24 )\src\malloc.c$
5270: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI 5280: 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 LE) -c$(TOP)\sr
5290: 63 5c 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30  c\malloc.c..mem0
52a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ 52b0: 6d 65 6d 30 2e 63 20 24 28 48 44 52 29 0a 09 24 mem0.c$(HDR)..$52c0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 (LTCOMPILE) -c$
52d0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e 63  (TOP)\src\mem0.c
52e0: 0a 0a 6d 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50  ..mem1.lo:.$(TOP 52f0: 29 5c 73 72 63 5c 6d 65 6d 31 2e 63 20 24 28 48 )\src\mem1.c$(H
5300: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE 5310: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
5320: 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a  mem1.c..mem2.lo:
5330: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32  .$(TOP)\src\mem2 5340: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC 5350: 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 OMPILE) -c$(TOP
5360: 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 0a 0a 6d 65  )\src\mem2.c..me
5370: 6d 33 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  m3.lo:.$(TOP)\sr 5380: 63 5c 6d 65 6d 33 2e 63 20 24 28 48 44 52 29 0a c\mem3.c$(HDR).
5390: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63  .$(LTCOMPILE) -c 53a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 33$(TOP)\src\mem3
53b0: 2e 63 0a 0a 6d 65 6d 35 2e 6c 6f 3a 09 24 28 54  .c..mem5.lo:.$(T 53c0: 4f 50 29 5c 73 72 63 5c 6d 65 6d 35 2e 63 20 24 OP)\src\mem5.c$
53d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI 53e0: 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 LE) -c$(TOP)\sr
53f0: 63 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 6a 6f 75  c\mem5.c..memjou
5400: 72 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  rnal.lo:.$(TOP)\ 5410: 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 src\memjournal.c 5420: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM 5430: 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c PILE) -c$(TOP)\
5440: 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63  src\memjournal.c
5450: 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24 28 54 4f  ..mutex.lo:.$(TO 5460: 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 24 P)\src\mutex.c$
5470: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI 5480: 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 LE) -c$(TOP)\sr
5490: 63 5c 6d 75 74 65 78 2e 63 0a 0a 6d 75 74 65 78  c\mutex.c..mutex
54a0: 5f 6e 6f 6f 70 2e 6c 6f 3a 09 24 28 54 4f 50 29  _noop.lo:.$(TOP) 54b0: 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e \src\mutex_noop. 54c0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO 54d0: 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 MPILE) -c$(TOP)
54e0: 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e  \src\mutex_noop.
54f0: 63 0a 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f  c..mutex_unix.lo
5500: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut 5510: 65 78 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 ex_unix.c$(HDR)
5520: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d  ..$(LTCOMPILE) - 5530: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 c$(TOP)\src\mut
5540: 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74 65 78  ex_unix.c..mutex
5550: 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  _w32.lo:.$(TOP)\ 5560: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 src\mutex_w32.c 5570: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP 5580: 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 ILE) -c$(TOP)\s
5590: 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 0a 0a  rc\mutex_w32.c..
55a0: 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24 28 54 4f 50  notify.lo:.$(TOP 55b0: 29 5c 73 72 63 5c 6e 6f 74 69 66 79 2e 63 20 24 )\src\notify.c$
55c0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI 55d0: 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 LE) -c$(TOP)\sr
55e0: 63 5c 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65  c\notify.c..page
55f0: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  r.lo:.$(TOP)\src 5600: 5c 70 61 67 65 72 2e 63 20 24 28 48 44 52 29 20 \pager.c$(HDR)
5610: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72  $(TOP)\src\pager 5620: 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 .h..$(LTCOMPILE)
5630: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70   -c $(TOP)\src\p 5640: 61 67 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e 6c ager.c..pcache.l 5650: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 o:.$(TOP)\src\pc
5660: 61 63 68 65 2e 63 20 24 28 48 44 52 29 20 24 28  ache.c $(HDR)$(
5670: 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 2e  TOP)\src\pcache.
5680: 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  h..$(LTCOMPILE) 5690: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 -c$(TOP)\src\pc
56a0: 61 63 68 65 2e 63 0a 0a 70 63 61 63 68 65 31 2e  ache.c..pcache1.
56b0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p 56c0: 63 61 63 68 65 31 2e 63 20 24 28 48 44 52 29 20 cache1.c$(HDR)
56d0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach 56e0: 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 e.h..$(LTCOMPILE
56f0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ 5700: 70 63 61 63 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f pcache1.c..os.lo 5710: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 2e :.$(TOP)\src\os.
5720: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
5730: 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29  MPILE) -c $(TOP) 5740: 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e \src\os.c..os_un 5750: 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 ix.lo:.$(TOP)\sr
5760: 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48 44  c\os_unix.c $(HD 5770: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
5780: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f   -c $(TOP)\src\o 5790: 73 5f 75 6e 69 78 2e 63 0a 0a 6f 73 5f 77 69 6e s_unix.c..os_win 57a0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
57b0: 6f 73 5f 77 69 6e 2e 63 20 24 28 48 44 52 29 0a  os_win.c $(HDR). 57c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 .$(LTCOMPILE) -c
57d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77   $(TOP)\src\os_w 57e0: 69 6e 2e 63 0a 0a 70 72 61 67 6d 61 2e 6c 6f 3a in.c..pragma.lo: 57f0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 .$(TOP)\src\prag
5800: 6d 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ma.c $(HDR)..$(L
5810: 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54  TCOMPILE) -c $(T 5820: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 OP)\src\pragma.c 5830: 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28 ..prepare.lo:.$(
5840: 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65  TOP)\src\prepare
5850: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
5860: 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50  OMPILE) -c $(TOP 5870: 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e 63 0a )\src\prepare.c. 5880: 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f .printf.lo:.$(TO
5890: 50 29 5c 73 72 63 5c 70 72 69 6e 74 66 2e 63 20  P)\src\printf.c
58a0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
58b0: 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  ILE) -c $(TOP)\s 58c0: 72 63 5c 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e rc\printf.c..ran 58d0: 64 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 dom.lo:.$(TOP)\s
58e0: 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44  rc\random.c $(HD 58f0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
5900: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72   -c $(TOP)\src\r 5910: 61 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 andom.c..resolve 5920: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
5930: 72 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 29  resolve.c $(HDR) 5940: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d ..$(LTCOMPILE) -
5950: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73  c $(TOP)\src\res 5960: 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73 65 74 2e 6c olve.c..rowset.l 5970: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f o:.$(TOP)\src\ro
5980: 77 73 65 74 2e 63 20 24 28 48 44 52 29 0a 09 24  wset.c $(HDR)..$
5990: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24  (LTCOMPILE) -c $59a0: 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65 74 (TOP)\src\rowset 59b0: 2e 63 0a 0a 73 65 6c 65 63 74 2e 6c 6f 3a 09 24 .c..select.lo:.$
59c0: 28 54 4f 50 29 5c 73 72 63 5c 73 65 6c 65 63 74  (TOP)\src\select
59d0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
59e0: 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50  OMPILE) -c $(TOP 59f0: 29 5c 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a )\src\select.c.. 5a00: 73 74 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 status.lo:.$(TOP
5a10: 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24  )\src\status.c $5a20: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
5a30: 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  LE) -c $(TOP)\sr 5a40: 63 5c 73 74 61 74 75 73 2e 63 0a 0a 74 61 62 6c c\status.c..tabl 5a50: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 e.lo:.$(TOP)\src
5a60: 5c 74 61 62 6c 65 2e 63 20 24 28 48 44 52 29 0a  \table.c $(HDR). 5a70: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 .$(LTCOMPILE) -c
5a80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61 62 6c   $(TOP)\src\tabl 5a90: 65 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f e.c..tokenize.lo 5aa0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b :.$(TOP)\src\tok
5ab0: 65 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68  enize.c keywordh
5ac0: 61 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28  ash.h $(HDR)..$(
5ad0: 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28  LTCOMPILE) -c $( 5ae0: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a TOP)\src\tokeniz 5af0: 65 2e 63 0a 0a 74 72 69 67 67 65 72 2e 6c 6f 3a e.c..trigger.lo: 5b00: 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 .$(TOP)\src\trig
5b10: 67 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ger.c $(HDR)..$(
5b20: 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28  LTCOMPILE) -c $( 5b30: 54 4f 50 29 5c 73 72 63 5c 74 72 69 67 67 65 72 TOP)\src\trigger 5b40: 2e 63 0a 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 .c..update.lo:.$
5b50: 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65  (TOP)\src\update
5b60: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
5b70: 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50  OMPILE) -c $(TOP 5b80: 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 0a 0a )\src\update.c.. 5b90: 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 utf.lo:.$(TOP)\s
5ba0: 72 63 5c 75 74 66 2e 63 20 24 28 48 44 52 29 0a  rc\utf.c $(HDR). 5bb0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 .$(LTCOMPILE) -c
5bc0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e   $(TOP)\src\utf. 5bd0: 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f c..util.lo:.$(TO
5be0: 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 24 28  P)\src\util.c $( 5bf0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
5c00: 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  E) -c $(TOP)\src 5c10: 5c 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e \util.c..vacuum. 5c20: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 lo:.$(TOP)\src\v
5c30: 61 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a 09  acuum.c $(HDR).. 5c40: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20$(LTCOMPILE) -c
5c50: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75  $(TOP)\src\vacuu 5c60: 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24 28 m.c..vdbe.lo:.$(
5c70: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20  TOP)\src\vdbe.c
5c80: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
5c90: 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  ILE) -c $(TOP)\s 5ca0: 72 63 5c 76 64 62 65 2e 63 0a 0a 76 64 62 65 61 rc\vdbe.c..vdbea 5cb0: 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 pi.lo:.$(TOP)\sr
5cc0: 63 5c 76 64 62 65 61 70 69 2e 63 20 24 28 48 44  c\vdbeapi.c $(HD 5cd0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
5ce0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v 5cf0: 64 62 65 61 70 69 2e 63 0a 0a 76 64 62 65 61 75 dbeapi.c..vdbeau 5d00: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 x.lo:.$(TOP)\src
5d10: 5c 76 64 62 65 61 75 78 2e 63 20 24 28 48 44 52  \vdbeaux.c $(HDR 5d20: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
5d30: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd 5d40: 62 65 61 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f beaux.c..vdbeblo 5d50: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 b.lo:.$(TOP)\src
5d60: 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 48 44  \vdbeblob.c $(HD 5d70: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
5d80: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v 5d90: 64 62 65 62 6c 6f 62 2e 63 0a 0a 76 64 62 65 6d dbeblob.c..vdbem 5da0: 65 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 em.lo:.$(TOP)\sr
5db0: 63 5c 76 64 62 65 6d 65 6d 2e 63 20 24 28 48 44  c\vdbemem.c $(HD 5dc0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
5dd0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v 5de0: 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 62 65 73 6f dbemem.c..vdbeso 5df0: 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 rt.lo:.$(TOP)\sr
5e00: 63 5c 76 64 62 65 73 6f 72 74 2e 63 20 24 28 48  c\vdbesort.c $(H 5e10: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
5e20: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ 5e30: 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 65 vdbesort.c..vdbe 5e40: 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 trace.lo:.$(TOP)
5e50: 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63  \src\vdbetrace.c
5e60: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
5e70: 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c  PILE) -c $(TOP)\ 5e80: 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 0a src\vdbetrace.c. 5e90: 0a 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 .vtab.lo:.$(TOP)
5ea0: 5c 73 72 63 5c 76 74 61 62 2e 63 20 24 28 48 44  \src\vtab.c $(HD 5eb0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
5ec0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76   -c $(TOP)\src\v 5ed0: 74 61 62 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 tab.c..wal.lo:.$
5ee0: 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20  (TOP)\src\wal.c
5ef0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
5f00: 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  ILE) -c $(TOP)\s 5f10: 72 63 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72 rc\wal.c..walker 5f20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
5f30: 77 61 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 0a  walker.c $(HDR). 5f40: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 .$(LTCOMPILE) -c
5f50: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b   $(TOP)\src\walk 5f60: 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c 6f 3a 09 er.c..where.lo:. 5f70: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65$(TOP)\src\where
5f80: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
5f90: 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50  OMPILE) -c $(TOP 5fa0: 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 0a 0a 74 )\src\where.c..t 5fb0: 63 6c 73 71 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 clsqlite.lo:.$(T
5fc0: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
5fd0: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
5fe0: 43 4f 4d 50 49 4c 45 29 20 2d 44 55 53 45 5f 54  COMPILE) -DUSE_T
5ff0: 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 42 55 49  CL_STUBS=1 -DBUI
6000: 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54 43  LD_sqlite -I$(TC 6010: 4c 49 4e 43 44 49 52 29 20 2d 63 20 24 28 54 4f LINCDIR) -c$(TO
6020: 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65  P)\src\tclsqlite
6030: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68  .c..tclsqlite-sh
6040: 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ell.lo:.$(TOP)\s 6050: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 rc\tclsqlite.c$
6060: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI 6070: 4c 45 29 20 2d 44 54 43 4c 53 48 3d 31 20 2d 44 LE) -DTCLSH=1 -D 6080: 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 BUILD_sqlite -I$
6090: 28 54 43 4c 49 4e 43 44 49 52 29 20 2d 63 20 24  (TCLINCDIR) -c $60a0: 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c (TOP)\src\tclsql 60b0: 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 ite.c..tclsqlite 60c0: 33 2e 65 78 65 3a 09 74 63 6c 73 71 6c 69 74 65 3.exe:.tclsqlite 60d0: 2d 73 68 65 6c 6c 2e 6c 6f 20 6c 69 62 73 71 6c -shell.lo libsql 60e0: 69 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 ite3.lib..$(LTLI
60f0: 4e 4b 29 20 74 63 6c 73 71 6c 69 74 65 2d 73 68  NK) tclsqlite-sh
6100: 65 6c 6c 2e 6c 6f 20 5c 0a 09 09 2f 6c 69 6e 6b  ell.lo \.../link
6110: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS)$
6120: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 6c 69 62  (LTLIBPATHS) lib
6130: 73 71 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c 54  sqlite3.lib $(LT 6140: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a LIBS)$(TLIBS)..
6150: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
6160: 20 6f 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f   opcodes.c and o
6170: 70 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64  pcodes.h.#.opcod
6180: 65 73 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20  es.c:.opcodes.h
6190: 24 28 54 4f 50 29 5c 6d 6b 6f 70 63 6f 64 65 63  $(TOP)\mkopcodec 61a0: 2e 61 77 6b 0a 09 24 28 4e 41 57 4b 29 20 2d 66 .awk..$(NAWK) -f
61b0: 20 24 28 54 4f 50 29 5c 6d 6b 6f 70 63 6f 64 65   $(TOP)\mkopcode 61c0: 63 2e 61 77 6b 20 6f 70 63 6f 64 65 73 2e 68 20 c.awk opcodes.h 61d0: 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f 70 63 > opcodes.c..opc 61e0: 6f 64 65 73 2e 68 3a 09 70 61 72 73 65 2e 68 20 odes.h:.parse.h 61f0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e$(TOP)\src\vdbe.
6200: 63 20 24 28 54 4f 50 29 5c 6d 6b 6f 70 63 6f 64  c $(TOP)\mkopcod 6210: 65 68 2e 61 77 6b 0a 09 74 79 70 65 20 70 61 72 eh.awk..type par 6220: 73 65 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c se.h$(TOP)\src\
6230: 76 64 62 65 2e 63 20 7c 20 24 28 4e 41 57 4b 29  vdbe.c | $(NAWK) 6240: 20 2d 66 20 24 28 54 4f 50 29 5c 6d 6b 6f 70 63 -f$(TOP)\mkopc
6250: 6f 64 65 68 2e 61 77 6b 20 3e 20 6f 70 63 6f 64  odeh.awk > opcod
6260: 65 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f  es.h..# Rules to
6270: 20 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61   build parse.c a
6280: 6e 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65  nd parse.h - the
6290: 20 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f   outputs of lemo
62a0: 6e 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61  n..#.parse.h:.pa
62b0: 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09  rse.c..parse.c:.
62c0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65  $(TOP)\src\parse 62d0: 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 .y lemon.exe$(T
62e0: 4f 50 29 5c 61 64 64 6f 70 63 6f 64 65 73 2e 61  OP)\addopcodes.a
62f0: 77 6b 0a 09 64 65 6c 20 2f 51 20 70 61 72 73 65  wk..del /Q parse
6300: 2e 79 20 70 61 72 73 65 2e 68 20 70 61 72 73 65  .y parse.h parse
6310: 2e 68 2e 74 65 6d 70 0a 09 63 6f 70 79 20 24 28  .h.temp..copy $( 6320: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79 TOP)\src\parse.y 6330: 20 2e 0a 09 2e 5c 6c 65 6d 6f 6e 2e 65 78 65 20 ....\lemon.exe 6340: 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c$(OPT_FEATURE_FL
6350: 41 47 53 29 20 24 28 4f 50 54 53 29 20 70 61 72  AGS) $(OPTS) par 6360: 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61 72 73 65 se.y..move parse 6370: 2e 68 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 0a .h parse.h.temp. 6380: 09 24 28 4e 41 57 4b 29 20 2d 66 20 24 28 54 4f .$(NAWK) -f $(TO 6390: 50 29 5c 61 64 64 6f 70 63 6f 64 65 73 2e 61 77 P)\addopcodes.aw 63a0: 6b 20 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 3e k parse.h.temp > 63b0: 20 70 61 72 73 65 2e 68 0a 0a 73 71 6c 69 74 65 parse.h..sqlite 63c0: 33 2e 68 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 3.h:.$(TOP)\src\
63d0: 73 71 6c 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f  sqlite.h.in $(TO 63e0: 50 29 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 P)\manifest.uuid 63f0: 20 24 28 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a$(TOP)\VERSION.
6400: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD)$(
6410: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69  TOP)\tool\mksqli
6420: 74 65 33 68 2e 74 63 6c 20 24 28 54 4f 50 29 20  te3h.tcl $(TOP) 6430: 3e 20 73 71 6c 69 74 65 33 2e 68 0a 0a 6d 6b 6b > sqlite3.h..mkk 6440: 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 3a 09 eywordhash.exe:. 6450: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65$(TOP)\tool\mkke
6460: 79 77 6f 72 64 68 61 73 68 2e 63 0a 09 24 28 42  ywordhash.c..$(B 6470: 43 43 29 20 2d 46 65 6d 6b 6b 65 79 77 6f 72 64 CC) -Femkkeyword 6480: 68 61 73 68 2e 65 78 65 20 24 28 4f 50 54 5f 46 hash.exe$(OPT_F
6490: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $( 64a0: 4f 50 54 53 29 20 24 28 54 4f 50 29 5c 74 6f 6f OPTS)$(TOP)\too
64b0: 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  l\mkkeywordhash.
64c0: 63 0a 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e 68  c..keywordhash.h
64d0: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b  :.$(TOP)\tool\mk 64e0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 20 6d 6b keywordhash.c mk 64f0: 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65 0a keywordhash.exe. 6500: 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 ..\mkkeywordhash 6510: 2e 65 78 65 20 3e 20 6b 65 79 77 6f 72 64 68 61 .exe > keywordha 6520: 73 68 2e 68 0a 0a 0a 0a 23 20 52 75 6c 65 73 20 sh.h....# Rules 6530: 74 6f 20 62 75 69 6c 64 20 74 68 65 20 65 78 74 to build the ext 6540: 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a ension objects.. 6550: 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 #.icu.lo:.$(TOP)
6560: 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 24  \ext\icu\icu.c $6570: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
6580: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44  .$(LTCOMPILE) -D 6590: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
65a0: 28 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63  (TOP)\ext\icu\ic
65b0: 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a 09 24 28  u.c..fts2.lo:.$( 65c0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft 65d0: 73 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 s2.c$(HDR) $(EX 65e0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
65f0: 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  LE) -DSQLITE_COR
6600: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ 6610: 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a 66 74 73 fts2\fts2.c..fts 6620: 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 2_hash.lo:.$(TOP
6630: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
6640: 68 61 73 68 2e 63 20 24 28 48 44 52 29 20 24 28  hash.c $(HDR)$(
6650: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM 6660: 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 PILE) -DSQLITE_C 6670: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
6680: 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68  t\fts2\fts2_hash
6690: 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e 6c 6f 3a  .c..fts2_icu.lo:
66a0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32  .$(TOP)\ext\fts2 66b0: 5c 66 74 73 32 5f 69 63 75 2e 63 20 24 28 48 44 \fts2_icu.c$(HD
66c0: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28  R) $(EXTHDR)..$(
66d0: 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c  LTCOMPILE) -DSQL
66e0: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f  ITE_CORE -c $(TO 66f0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 6700: 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f 70 6f 72 _icu.c..fts2_por 6710: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 ter.lo:.$(TOP)\e
6720: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72  xt\fts2\fts2_por
6730: 74 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45  ter.c $(HDR)$(E
6740: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP 6750: 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f ILE) -DSQLITE_CO 6760: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 RE -c$(TOP)\ext
6770: 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f 72 74 65  \fts2\fts2_porte
6780: 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b 65 6e 69  r.c..fts2_tokeni
6790: 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  zer.lo:.$(TOP)\e 67a0: 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b xt\fts2\fts2_tok 67b0: 65 6e 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 enizer.c$(HDR)
67c0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
67d0: 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45  OMPILE) -DSQLITE
67e0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ 67f0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f ext\fts2\fts2_to 6800: 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 32 5f kenizer.c..fts2_ 6810: 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 tokenizer1.lo:.$
6820: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
6830: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts2_tokenizer1.c
6840: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
6850: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 6860: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c 6870: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
6880: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts2_tokenizer1
6890: 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 24 28 54  .c..fts3.lo:.$(T 68a0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts 68b0: 33 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 3.c$(HDR) $(EXT 68c0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
68d0: 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  E) -DSQLITE_CORE
68e0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f 68f0: 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66 74 73 33 ts3\fts3.c..fts3 6900: 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c _aux.lo:.$(TOP)\
6910: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75  ext\fts3\fts3_au
6920: 78 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  x.c $(HDR)$(EXT
6930: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL 6940: 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 E) -DSQLITE_CORE 6950: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
6960: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 0a 0a  ts3\fts3_aux.c..
6970: 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a 09 24 28  fts3_expr.lo:.$( 6980: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 6990: 73 33 5f 65 78 70 72 2e 63 20 24 28 48 44 52 29 s3_expr.c$(HDR)
69a0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
69b0: 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54  COMPILE) -DSQLIT
69c0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) 69d0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 \ext\fts3\fts3_e 69e0: 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68 61 73 68 xpr.c..fts3_hash 69f0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
6a00: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63  fts3\fts3_hash.c
6a10: 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52   $(HDR)$(EXTHDR
6a20: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 6a30: 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 -DSQLITE_CORE -c 6a40: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
6a50: 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a 0a 66 74  \fts3_hash.c..ft
6a60: 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 54 4f 50  s3_icu.lo:.$(TOP 6a70: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ 6a80: 69 63 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 icu.c$(HDR) $(E 6a90: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
6aa0: 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ILE) -DSQLITE_CO
6ab0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext 6ac0: 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 \fts3\fts3_icu.c 6ad0: 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c ..fts3_snippet.l 6ae0: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 o:.$(TOP)\ext\ft
6af0: 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  s3\fts3_snippet.
6b00: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
6b10: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) 6b20: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - 6b30: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
6b40: 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 63  3\fts3_snippet.c
6b50: 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f  ..fts3_porter.lo
6b60: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts 6b70: 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 3\fts3_porter.c 6b80: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) 6b90: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d ..$(LTCOMPILE) -
6ba0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
6bb0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 6bc0: 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 0a 0a 66 fts3_porter.c..f 6bd0: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f ts3_tokenizer.lo 6be0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
6bf0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3\fts3_tokenizer
6c00: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
6c10: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE 6c20: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE 6c30: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
6c40: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  s3\fts3_tokenize
6c50: 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69  r.c..fts3_tokeni
6c60: 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  zer1.lo:.$(TOP)\ 6c70: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f ext\fts3\fts3_to 6c80: 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28 48 44 52 kenizer1.c$(HDR
6c90: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
6ca0: 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49  TCOMPILE) -DSQLI
6cb0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP 6cc0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f )\ext\fts3\fts3_ 6cd0: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 0a 66 74 tokenizer1.c..ft 6ce0: 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 3a 09 24 s3_unicode.lo:.$
6cf0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
6d00: 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 24 28  ts3_unicode.c $( 6d10: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
6d20: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53  $(LTCOMPILE) -DS 6d30: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
6d40: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
6d50: 73 33 5f 75 6e 69 63 6f 64 65 2e 63 0a 0a 66 74  s3_unicode.c..ft
6d60: 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 3a 09  s3_unicode2.lo:.
6d70: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 6d80: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 fts3_unicode2.c 6d90: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29$(HDR) $(EXTHDR) 6da0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d ..$(LTCOMPILE) -
6db0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c
6dc0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 6dd0: 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 0a fts3_unicode2.c. 6de0: 0a 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 3a 09 .fts3_write.lo:. 6df0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
6e00: 66 74 73 33 5f 77 72 69 74 65 2e 63 20 24 28 48  fts3_write.c $(H 6e10: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$6e20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 (LTCOMPILE) -DSQ 6e30: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
6e40: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
6e50: 33 5f 77 72 69 74 65 2e 63 0a 0a 72 74 72 65 65  3_write.c..rtree
6e60: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ 6e70: 72 74 72 65 65 5c 72 74 72 65 65 2e 63 20 24 28 rtree\rtree.c$(
6e80: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR).. 6e90: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53$(LTCOMPILE) -DS
6ea0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $( 6eb0: 54 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 TOP)\ext\rtree\r 6ec0: 74 72 65 65 2e 63 0a 0a 0a 23 20 52 75 6c 65 73 tree.c...# Rules 6ed0: 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 27 74 to build the 't 6ee0: 65 73 74 66 69 78 74 75 72 65 27 20 61 70 70 6c estfixture' appl 6ef0: 69 63 61 74 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 ication..#.# If 6f00: 75 73 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 using the amalga 6f10: 6d 61 74 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69 mation, use sqli 6f20: 74 65 33 2e 63 20 64 69 72 65 63 74 6c 79 20 74 te3.c directly t 6f30: 6f 20 62 75 69 6c 64 20 74 68 65 20 74 65 73 74 o build the test 6f40: 0a 23 20 66 69 78 74 75 72 65 2e 20 20 4f 74 68 .# fixture. Oth 6f50: 65 72 77 69 73 65 20 6c 69 6e 6b 20 61 67 61 69 erwise link agai 6f60: 6e 73 74 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c nst libsqlite3.l 6f70: 69 62 2e 20 20 28 54 68 69 73 20 64 69 73 74 69 ib. (This disti 6f80: 6e 63 74 69 6f 6e 20 69 73 0a 23 20 6e 65 63 65 nction is.# nece 6f90: 73 73 61 72 79 20 62 65 63 61 75 73 65 20 74 68 ssary because th 6fa0: 65 20 74 65 73 74 20 66 69 78 74 75 72 65 20 72 e test fixture r 6fb0: 65 71 75 69 72 65 73 20 6e 6f 6e 2d 41 50 49 20 equires non-API 6fc0: 73 79 6d 62 6f 6c 73 20 77 68 69 63 68 20 61 72 symbols which ar 6fd0: 65 0a 23 20 68 69 64 64 65 6e 20 77 68 65 6e 20 e.# hidden when 6fe0: 74 68 65 20 6c 69 62 72 61 72 79 20 69 73 20 62 the library is b 6ff0: 75 69 6c 74 20 76 69 61 20 74 68 65 20 61 6d 61 uilt via the ama 7000: 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 lgamation)..#.TE 7010: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 STFIXTURE_FLAGS 7020: 3d 20 2d 44 54 43 4c 53 48 3d 31 20 2d 44 53 51 = -DTCLSH=1 -DSQ 7030: 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d 44 53 51 LITE_TEST=1 -DSQ 7040: 4c 49 54 45 5f 43 52 41 53 48 5f 54 45 53 54 3d LITE_CRASH_TEST= 7050: 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 1.TESTFIXTURE_FL 7060: 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 AGS =$(TESTFIXT
7070: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
7080: 49 54 45 5f 53 45 52 56 45 52 3d 31 20 2d 44 53  ITE_SERVER=1 -DS
7090: 51 4c 49 54 45 5f 50 52 49 56 41 54 45 3d 22 22  QLITE_PRIVATE=""
70a0: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 0a 0a   -DSQLITE_CORE..
70b0: 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 30  TESTFIXTURE_SRC0
70c0: 20 3d 20 24 28 54 45 53 54 53 52 43 32 29 20 6c   = $(TESTSRC2) l 70d0: 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 54 45 ibsqlite3.lib.TE 70e0: 53 54 46 49 58 54 55 52 45 5f 53 52 43 31 20 3d STFIXTURE_SRC1 = 70f0: 20 73 71 6c 69 74 65 33 2e 63 0a 21 49 46 20 24 sqlite3.c.!IF$
7100: 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f  (USE_AMALGAMATIO
7110: 4e 29 3d 3d 30 0a 54 45 53 54 46 49 58 54 55 52  N)==0.TESTFIXTUR
7120: 45 5f 53 52 43 20 3d 20 24 28 54 45 53 54 53 52  E_SRC = $(TESTSR 7130: 43 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 C)$(TOP)\src\tc
7140: 6c 73 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54  lsqlite.c $(TEST 7150: 46 49 58 54 55 52 45 5f 53 52 43 30 29 0a 21 45 FIXTURE_SRC0).!E 7160: 4c 53 45 0a 54 45 53 54 46 49 58 54 55 52 45 5f LSE.TESTFIXTURE_ 7170: 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 SRC =$(TESTSRC)
7180: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls 7190: 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49 qlite.c$(TESTFI
71a0: 58 54 55 52 45 5f 53 52 43 31 29 0a 21 45 4e 44  XTURE_SRC1).!END
71b0: 49 46 0a 0a 74 65 73 74 66 69 78 74 75 72 65 2e  IF..testfixture.
71c0: 65 78 65 3a 09 24 28 54 45 53 54 46 49 58 54 55  exe:.$(TESTFIXTU 71d0: 52 45 5f 53 52 43 29 20 24 28 48 44 52 29 0a 09 RE_SRC)$(HDR)..
71e0: 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c 49  $(LTLINK) -DSQLI 71f0: 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28 54 TE_NO_SYNC=1$(T
7200: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
7210: 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 71  ) \...-DBUILD_sq
7220: 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44  lite -I$(TCLINCD 7230: 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46 49 IR) \...$(TESTFI
7240: 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 2f  XTURE_SRC) \.../
7250: 6c 69 6e 6b 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  link $(LTLINKOPT 7260: 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 S)$(LTLIBPATHS)
7270: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS)$(TLI
7280: 42 53 29 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 74  BS)..fulltest:.t
7290: 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 73  estfixture.exe s
72a0: 71 6c 69 74 65 33 2e 65 78 65 0a 09 2e 5c 74 65  qlite3.exe...\te
72b0: 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28  stfixture.exe $( 72c0: 54 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 TOP)\test\all.te 72d0: 73 74 0a 0a 73 6f 61 6b 74 65 73 74 3a 09 74 65 st..soaktest:.te 72e0: 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 73 71 stfixture.exe sq 72f0: 6c 69 74 65 33 2e 65 78 65 0a 09 2e 5c 74 65 73 lite3.exe...\tes 7300: 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 tfixture.exe$(T
7310: 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73  OP)\test\all.tes
7320: 74 20 2d 73 6f 61 6b 3d 31 0a 0a 74 65 73 74 3a  t -soak=1..test:
7330: 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65  .testfixture.exe
7340: 20 73 71 6c 69 74 65 33 2e 65 78 65 0a 09 2e 5c   sqlite3.exe...\
7350: 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20  testfixture.exe
7360: 24 28 54 4f 50 29 5c 74 65 73 74 5c 76 65 72 79  $(TOP)\test\very 7370: 71 75 69 63 6b 2e 74 65 73 74 0a 0a 73 71 6c 69 quick.test..sqli 7380: 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 20 te3_analyzer.c: 7390: 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29 sqlite3.c$(TOP)
73a0: 5c 73 72 63 5c 74 65 73 74 5f 73 74 61 74 2e 63  \src\test_stat.c
73b0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73   $(TOP)\src\tcls 73c0: 71 6c 69 74 65 2e 63 20 24 28 54 4f 50 29 5c 74 qlite.c$(TOP)\t
73d0: 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e 74 63  ool\spaceanal.tc
73e0: 6c 0a 09 63 6f 70 79 20 73 71 6c 69 74 65 33 2e  l..copy sqlite3.
73f0: 63 20 2b 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  c + $(TOP)\src\t 7400: 65 73 74 5f 73 74 61 74 2e 63 20 2b 20 24 28 54 est_stat.c +$(T
7410: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74  OP)\src\tclsqlit
7420: 65 2e 63 20 24 40 0a 09 65 63 68 6f 20 73 74 61  e.c $@..echo sta 7430: 74 69 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a tic const char * 7440: 74 63 6c 73 68 5f 6d 61 69 6e 5f 6c 6f 6f 70 28 tclsh_main_loop( 7450: 76 6f 69 64 29 7b 20 3e 3e 20 24 40 0a 09 65 63 void){ >>$@..ec
7460: 68 6f 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20  ho static const
7470: 63 68 61 72 20 2a 7a 4d 61 69 6e 6c 6f 6f 70 20  char *zMainloop
7480: 3d 20 3e 3e 20 24 40 0a 09 24 28 4e 41 57 4b 29  = >> $@..$(NAWK)
7490: 20 2d 66 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c   -f $(TOP)\tool\ 74a0: 74 6f 73 74 72 2e 61 77 6b 20 24 28 54 4f 50 29 tostr.awk$(TOP)
74b0: 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 6c 2e  \tool\spaceanal.
74c0: 74 63 6c 20 3e 3e 20 24 40 0a 09 65 63 68 6f 20  tcl >> $@..echo 74d0: 3b 20 72 65 74 75 72 6e 20 7a 4d 61 69 6e 6c 6f ; return zMainlo 74e0: 6f 70 3b 20 7d 20 3e 3e 20 24 40 0a 0a 73 71 6c op; } >>$@..sql
74f0: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78  ite3_analyzer.ex
7500: 65 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79  e:.sqlite3_analy
7510: 7a 65 72 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29  zer.c..$(LTLINK) 7520: 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 65 20 -DBUILD_sqlite 7530: 2d 44 54 43 4c 53 48 3d 32 20 2d 49 24 28 54 43 -DTCLSH=2 -I$(TC
7540: 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65 33  LINCDIR) sqlite3
7550: 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 09  _analyzer.c \...
7560: 2f 6c 69 6e 6b 20 24 28 4c 54 4c 49 4e 4b 4f 50  /link $(LTLINKOP 7570: 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 TS)$(LTLIBPATHS
7580: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS)$(TL
7590: 49 42 53 29 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65  IBS)..clean:..de
75a0: 6c 20 2f 51 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20  l /Q *.lo *.ilk
75b0: 2a 2e 6c 69 62 20 2a 2e 6f 62 6a 20 2a 2e 70 64  *.lib *.obj *.pd
75c0: 62 20 73 71 6c 69 74 65 33 2e 65 78 65 20 6c 69  b sqlite3.exe li
75d0: 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09 64 65  bsqlite3.lib..de
75e0: 6c 20 2f 51 20 2a 2e 64 61 20 2a 2e 62 62 20 2a  l /Q *.da *.bb *
75f0: 2e 62 62 67 20 67 6d 6f 6e 2e 6f 75 74 0a 09 64  .bbg gmon.out..d
7600: 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 2e 68 20  el /Q sqlite3.h
7610: 6f 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65  opcodes.c opcode
7620: 73 2e 68 0a 09 64 65 6c 20 2f 51 20 6c 65 6d 6f  s.h..del /Q lemo
7630: 6e 2e 65 78 65 20 6c 65 6d 70 61 72 2e 63 20 70  n.exe lempar.c p
7640: 61 72 73 65 2e 2a 0a 09 64 65 6c 20 2f 51 20 6d  arse.*..del /Q m
7650: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65 78 65  kkeywordhash.exe
7660: 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 0a 09   keywordhash.h..
7670: 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e 64 65 70  -rmdir /Q/S .dep
7680: 73 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20 2e  s..-rmdir /Q/S .
7690: 6c 69 62 73 0a 09 2d 72 6d 64 69 72 20 2f 51 2f  libs..-rmdir /Q/
76a0: 53 20 71 75 6f 74 61 32 61 0a 09 2d 72 6d 64 69  S quota2a..-rmdi
76b0: 72 20 2f 51 2f 53 20 71 75 6f 74 61 32 62 0a 09  r /Q/S quota2b..
76c0: 2d 72 6d 64 69 72 20 2f 51 2f 53 20 71 75 6f 74  -rmdir /Q/S quot
76d0: 61 32 63 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53  a2c..-rmdir /Q/S
76e0: 20 74 73 72 63 0a 09 64 65 6c 20 2f 51 20 2e 74   tsrc..del /Q .t
76f0: 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 09 64 65  arget_source..de
7700: 6c 20 2f 51 20 74 63 6c 73 71 6c 69 74 65 33 2e  l /Q tclsqlite3.
7710: 65 78 65 0a 09 64 65 6c 20 2f 51 20 74 65 73 74  exe..del /Q test
7720: 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 73 74  fixture.exe test
7730: 66 69 78 74 75 72 65 2e 65 78 70 20 74 65 73 74  fixture.exp test
7740: 2e 64 62 0a 09 64 65 6c 20 2f 51 20 73 71 6c 69  .db..del /Q sqli
7750: 74 65 33 2e 64 6c 6c 20 73 71 6c 69 74 65 33 2e  te3.dll sqlite3.
7760: 6c 69 62 20 73 71 6c 69 74 65 33 2e 65 78 70 20  lib sqlite3.exp
7770: 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 65 6c  sqlite3.def..del
7780: 20 2f 51 20 73 71 6c 69 74 65 33 2e 63 0a 09 64   /Q sqlite3.c..d
7790: 65 6c 20 2f 51 20 73 71 6c 69 74 65 33 5f 61 6e  el /Q sqlite3_an
77a0: 61 6c 79 7a 65 72 2e 65 78 65 20 73 71 6c 69 74  alyzer.exe sqlit
77b0: 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 65 78 70 20  e3_analyzer.exp
77c0: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
77d0: 2e 63 0a 0a 23 0a 23 20 57 69 6e 64 6f 77 73 20  .c..#.# Windows
77e0: 73 65 63 74 69 6f 6e 0a 23 0a 64 6c 6c 3a 20 73  section.#.dll: s
77f0: 71 6c 69 74 65 33 2e 64 6c 6c 0a 0a 73 71 6c 69  qlite3.dll..sqli
7800: 74 65 33 2e 64 65 66 3a 20 6c 69 62 73 71 6c 69  te3.def: libsqli
7810: 74 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20 45 58  te3.lib..echo EX
7820: 50 4f 52 54 53 20 3e 20 73 71 6c 69 74 65 33 2e  PORTS > sqlite3.
7830: 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f 61 6c  def..dumpbin /al
7840: 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62  l libsqlite3.lib
7850: 20 5c 0a 09 09 7c 20 24 28 4e 41 57 4b 29 20 22   \...| $(NAWK) " 7860: 2f 20 31 20 5f 3f 73 71 6c 69 74 65 33 5f 2f 20 / 1 _?sqlite3_/ 7870: 7b 20 73 75 62 28 2f 5e 2e 2a 20 5f 3f 2f 2c 5c { sub(/^.* _?/,\ 7880: 22 5c 22 29 3b 70 72 69 6e 74 20 7d 22 20 5c 0a "\");print }" \. 7890: 09 09 7c 20 73 6f 72 74 20 3e 3e 20 73 71 6c 69 ..| sort >> sqli 78a0: 74 65 33 2e 64 65 66 0a 0a 73 71 6c 69 74 65 33 te3.def..sqlite3 78b0: 2e 64 6c 6c 3a 20 24 28 4c 49 42 4f 42 4a 29 20 .dll:$(LIBOBJ)
78c0: 73 71 6c 69 74 65 33 2e 64 65 66 0a 09 6c 69 6e  sqlite3.def..lin
78d0: 6b 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  k $(LTLINKOPTS) 78e0: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 44$(LTLIBPATHS) /D
78f0: 4c 4c 20 2f 44 45 46 3a 73 71 6c 69 74 65 33 2e  LL /DEF:sqlite3.
7900: 64 65 66 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49  def /OUT:$@$(LI
7910: 42 4f 42 4a 29 20 24 28 4c 54 4c 49 42 53 29 20  BOBJ) $(LTLIBS) 7920: 24 28 54 4c 49 42 53 29 0a$(TLIBS).