/ Hex Artifact Content
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Artifact 7bed51530f32af7fe1945261c388d80998b39a12:


0000: 23 21 2f 75 73 72 2f 6d 61 6b 65 0a 23 0a 23 20  #!/usr/make.#.# 
0010: 4d 61 6b 65 66 69 6c 65 20 66 6f 72 20 53 51 4c  Makefile for SQL
0020: 49 54 45 0a 23 0a 23 20 54 68 69 73 20 6d 61 6b  ITE.#.# This mak
0030: 65 66 69 6c 65 20 69 73 20 73 75 70 70 6f 73 65  efile is suppose
0040: 20 74 6f 20 62 65 20 63 6f 6e 66 69 67 75 72 65   to be configure
0050: 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  d automatically 
0060: 75 73 69 6e 67 20 74 68 65 0a 23 20 61 75 74 6f  using the.# auto
0070: 63 6f 6e 66 2e 20 20 42 75 74 20 69 66 20 74 68  conf.  But if th
0080: 61 74 20 64 6f 65 73 20 6e 6f 74 20 77 6f 72 6b  at does not work
0090: 20 66 6f 72 20 79 6f 75 2c 20 79 6f 75 20 63 61   for you, you ca
00a0: 6e 20 63 6f 6e 66 69 67 75 72 65 0a 23 20 74 68  n configure.# th
00b0: 65 20 6d 61 6b 65 66 69 6c 65 20 6d 61 6e 75 61  e makefile manua
00c0: 6c 6c 79 2e 20 20 4a 75 73 74 20 73 65 74 20 74  lly.  Just set t
00d0: 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 62 65  he parameters be
00e0: 6c 6f 77 20 74 6f 20 76 61 6c 75 65 73 20 74 68  low to values th
00f0: 61 74 0a 23 20 77 6f 72 6b 20 77 65 6c 6c 20 66  at.# work well f
0100: 6f 72 20 79 6f 75 72 20 73 79 73 74 65 6d 2e 0a  or your system..
0110: 23 0a 23 20 49 66 20 74 68 65 20 63 6f 6e 66 69  #.# If the confi
0120: 67 75 72 65 20 73 63 72 69 70 74 20 64 6f 65 73  gure script does
0130: 20 6e 6f 74 20 77 6f 72 6b 20 6f 75 74 2d 6f 66   not work out-of
0140: 2d 74 68 65 2d 62 6f 78 2c 20 79 6f 75 20 6d 69  -the-box, you mi
0150: 67 68 74 0a 23 20 62 65 20 61 62 6c 65 20 74 6f  ght.# be able to
0160: 20 67 65 74 20 69 74 20 74 6f 20 77 6f 72 6b 20   get it to work 
0170: 62 79 20 67 69 76 69 6e 67 20 69 74 20 73 6f 6d  by giving it som
0180: 65 20 68 69 6e 74 73 2e 20 20 53 65 65 20 74 68  e hints.  See th
0190: 65 20 63 6f 6d 6d 65 6e 74 0a 23 20 61 74 20 74  e comment.# at t
01a0: 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20  he beginning of 
01b0: 63 6f 6e 66 69 67 75 72 65 2e 69 6e 20 66 6f 72  configure.in for
01c0: 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 66 6f   additional info
01d0: 72 6d 61 74 69 6f 6e 2e 0a 23 0a 0a 23 20 54 68  rmation..#..# Th
01e0: 65 20 74 6f 70 6c 65 76 65 6c 20 64 69 72 65 63  e toplevel direc
01f0: 74 6f 72 79 20 6f 66 20 74 68 65 20 73 6f 75 72  tory of the sour
0200: 63 65 20 74 72 65 65 2e 20 20 54 68 69 73 20 69  ce tree.  This i
0210: 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 0a  s the directory.
0220: 23 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20  # that contains 
0230: 74 68 69 73 20 22 4d 61 6b 65 66 69 6c 65 2e 69  this "Makefile.i
0240: 6e 22 20 61 6e 64 20 74 68 65 20 22 63 6f 6e 66  n" and the "conf
0250: 69 67 75 72 65 2e 69 6e 22 20 73 63 72 69 70 74  igure.in" script
0260: 2e 0a 23 0a 54 4f 50 20 3d 20 40 73 72 63 64 69  ..#.TOP = @srcdi
0270: 72 40 0a 0a 23 20 43 20 43 6f 6d 70 69 6c 65 72  r@..# C Compiler
0280: 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72   and options for
0290: 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67   use in building
02a0: 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61   executables tha
02b0: 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20  t.# will run on 
02c0: 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 61  the platform tha
02d0: 74 20 69 73 20 64 6f 69 6e 67 20 74 68 65 20 62  t is doing the b
02e0: 75 69 6c 64 2e 0a 23 0a 42 43 43 20 3d 20 40 42  uild..#.BCC = @B
02f0: 55 49 4c 44 5f 43 43 40 20 40 42 55 49 4c 44 5f  UILD_CC@ @BUILD_
0300: 43 46 4c 41 47 53 40 0a 0a 23 20 43 20 43 6f 6d  CFLAGS@..# C Com
0310: 70 69 6c 65 20 61 6e 64 20 6f 70 74 69 6f 6e 73  pile and options
0320: 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c   for use in buil
0330: 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73  ding executables
0340: 20 74 68 61 74 20 0a 23 20 77 69 6c 6c 20 72 75   that .# will ru
0350: 6e 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20  n on the target 
0360: 70 6c 61 74 66 6f 72 6d 2e 20 20 28 42 43 43 20  platform.  (BCC 
0370: 61 6e 64 20 54 43 43 20 61 72 65 20 75 73 75 61  and TCC are usua
0380: 6c 6c 79 20 74 68 65 0a 23 20 73 61 6d 65 20 75  lly the.# same u
0390: 6e 6c 65 73 73 20 79 6f 75 72 20 61 72 65 20 63  nless your are c
03a0: 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 29  ross-compiling.)
03b0: 0a 23 0a 54 43 43 20 3d 20 40 54 41 52 47 45 54  .#.TCC = @TARGET
03c0: 5f 43 43 40 20 40 54 41 52 47 45 54 5f 43 46 4c  _CC@ @TARGET_CFL
03d0: 41 47 53 40 20 2d 49 2e 20 2d 49 24 7b 54 4f 50  AGS@ -I. -I${TOP
03e0: 7d 2f 73 72 63 0a 0a 23 20 44 65 66 69 6e 65 20  }/src..# Define 
03f0: 2d 44 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d 70  -DNDEBUG to comp
0400: 69 6c 65 20 77 69 74 68 6f 75 74 20 64 65 62 75  ile without debu
0410: 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f 72  gging (i.e., for
0420: 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73 61 67   production usag
0430: 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74 68  e).# Omitting th
0440: 65 20 64 65 66 69 6e 65 20 77 69 6c 6c 20 63 61  e define will ca
0450: 75 73 65 20 65 78 74 72 61 20 64 65 62 75 67 67  use extra debugg
0460: 69 6e 67 20 63 6f 64 65 20 74 6f 20 62 65 20 69  ing code to be i
0470: 6e 73 65 72 74 65 64 20 61 6e 64 0a 23 20 69 6e  nserted and.# in
0480: 63 6c 75 64 65 73 20 65 78 74 72 61 20 63 6f 6d  cludes extra com
0490: 6d 65 6e 74 73 20 77 68 65 6e 20 22 45 58 50 4c  ments when "EXPL
04a0: 41 49 4e 20 73 74 6d 74 22 20 69 73 20 75 73 65  AIN stmt" is use
04b0: 64 2e 0a 23 0a 54 43 43 20 2b 3d 20 40 54 41 52  d..#.TCC += @TAR
04c0: 47 45 54 5f 44 45 42 55 47 40 20 40 58 54 48 52  GET_DEBUG@ @XTHR
04d0: 45 41 44 43 4f 4e 4e 45 43 54 40 0a 0a 23 20 43  EADCONNECT@..# C
04e0: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options 
04f0: 6e 65 65 64 65 64 20 66 6f 72 20 70 72 6f 67 72  needed for progr
0500: 61 6d 73 20 74 68 61 74 20 75 73 65 20 74 68 65  ams that use the
0510: 20 54 43 4c 20 6c 69 62 72 61 72 79 2e 0a 23 0a   TCL library..#.
0520: 54 43 43 20 2b 3d 20 40 54 43 4c 5f 49 4e 43 4c  TCC += @TCL_INCL
0530: 55 44 45 5f 53 50 45 43 40 0a 0a 23 20 54 68 65  UDE_SPEC@..# The
0540: 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 70 72   library that pr
0550: 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 54 43 4c  ograms using TCL
0560: 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e   must link again
0570: 73 74 2e 0a 23 0a 4c 49 42 54 43 4c 20 3d 20 40  st..#.LIBTCL = @
0580: 54 43 4c 5f 4c 49 42 5f 53 50 45 43 40 20 40 54  TCL_LIB_SPEC@ @T
0590: 43 4c 5f 4c 49 42 53 40 0a 0a 23 20 43 6f 6d 70  CL_LIBS@..# Comp
05a0: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65  iler options nee
05b0: 64 65 64 20 66 6f 72 20 70 72 6f 67 72 61 6d 73  ded for programs
05c0: 20 74 68 61 74 20 75 73 65 20 74 68 65 20 72 65   that use the re
05d0: 61 64 6c 69 6e 65 28 29 20 6c 69 62 72 61 72 79  adline() library
05e0: 2e 0a 23 0a 52 45 41 44 4c 49 4e 45 5f 46 4c 41  ..#.READLINE_FLA
05f0: 47 53 20 3d 20 2d 44 48 41 56 45 5f 52 45 41 44  GS = -DHAVE_READ
0600: 4c 49 4e 45 3d 40 54 41 52 47 45 54 5f 48 41 56  LINE=@TARGET_HAV
0610: 45 5f 52 45 41 44 4c 49 4e 45 40 20 40 54 41 52  E_READLINE@ @TAR
0620: 47 45 54 5f 52 45 41 44 4c 49 4e 45 5f 49 4e 43  GET_READLINE_INC
0630: 40 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79  @..# The library
0640: 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75   that programs u
0650: 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20  sing readline() 
0660: 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73  must link agains
0670: 74 2e 0a 23 0a 4c 49 42 52 45 41 44 4c 49 4e 45  t..#.LIBREADLINE
0680: 20 3d 20 40 54 41 52 47 45 54 5f 52 45 41 44 4c   = @TARGET_READL
0690: 49 4e 45 5f 4c 49 42 53 40 0a 0a 23 20 53 68 6f  INE_LIBS@..# Sho
06a0: 75 6c 64 20 74 68 65 20 64 61 74 61 62 61 73 65  uld the database
06b0: 20 65 6e 67 69 6e 65 20 62 65 20 63 6f 6d 70 69   engine be compi
06c0: 6c 65 64 20 74 68 72 65 61 64 73 61 66 65 0a 23  led threadsafe.#
06d0: 0a 54 43 43 20 2b 3d 20 2d 44 54 48 52 45 41 44  .TCC += -DTHREAD
06e0: 53 41 46 45 3d 40 54 48 52 45 41 44 53 41 46 45  SAFE=@THREADSAFE
06f0: 40 0a 0a 23 20 54 68 65 20 70 74 68 72 65 61 64  @..# The pthread
0700: 73 20 6c 69 62 72 61 72 79 20 69 66 20 6e 65 65  s library if nee
0710: 64 65 64 0a 23 0a 4c 49 42 50 54 48 52 45 41 44  ded.#.LIBPTHREAD
0720: 3d 40 54 41 52 47 45 54 5f 54 48 52 45 41 44 5f  =@TARGET_THREAD_
0730: 4c 49 42 40 0a 0a 23 20 46 6c 61 67 73 20 63 6f  LIB@..# Flags co
0740: 6e 74 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66  ntrolling use of
0750: 20 74 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62   the in memory b
0760: 74 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74  tree implementat
0770: 69 6f 6e 0a 23 0a 23 20 54 45 4d 50 5f 53 54 4f  ion.#.# TEMP_STO
0780: 52 45 20 69 73 20 30 20 74 6f 20 66 6f 72 63 65  RE is 0 to force
0790: 20 74 65 6d 70 6f 72 61 72 79 20 74 61 62 6c 65   temporary table
07a0: 73 20 74 6f 20 62 65 20 69 6e 20 61 20 66 69 6c  s to be in a fil
07b0: 65 2c 20 31 20 74 6f 0a 23 20 64 65 66 61 75 6c  e, 1 to.# defaul
07c0: 74 20 74 6f 20 66 69 6c 65 2c 20 32 20 74 6f 20  t to file, 2 to 
07d0: 64 65 66 61 75 6c 74 20 74 6f 20 6d 65 6d 6f 72  default to memor
07e0: 79 2c 20 61 6e 64 20 33 20 74 6f 20 66 6f 72 63  y, and 3 to forc
07f0: 65 20 74 65 6d 70 6f 72 61 72 79 0a 23 20 74 61  e temporary.# ta
0800: 62 6c 65 73 20 74 6f 20 61 6c 77 61 79 73 20 62  bles to always b
0810: 65 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54  e in memory..#.T
0820: 45 4d 50 5f 53 54 4f 52 45 20 3d 20 2d 44 54 45  EMP_STORE = -DTE
0830: 4d 50 5f 53 54 4f 52 45 3d 40 54 45 4d 50 5f 53  MP_STORE=@TEMP_S
0840: 54 4f 52 45 40 0a 0a 23 20 56 65 72 73 69 6f 6e  TORE@..# Version
0850: 20 6e 75 6d 62 65 72 73 20 61 6e 64 20 72 65 6c   numbers and rel
0860: 65 61 73 65 20 6e 75 6d 62 65 72 20 66 6f 72 20  ease number for 
0870: 74 68 65 20 53 51 4c 69 74 65 20 62 65 69 6e 67  the SQLite being
0880: 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a 56 45 52   compiled..#.VER
0890: 53 49 4f 4e 20 3d 20 40 56 45 52 53 49 4f 4e 40  SION = @VERSION@
08a0: 0a 56 45 52 53 49 4f 4e 5f 4e 55 4d 42 45 52 20  .VERSION_NUMBER 
08b0: 3d 20 40 56 45 52 53 49 4f 4e 5f 4e 55 4d 42 45  = @VERSION_NUMBE
08c0: 52 40 0a 52 45 4c 45 41 53 45 20 3d 20 40 52 45  R@.RELEASE = @RE
08d0: 4c 45 41 53 45 40 0a 0a 23 20 46 69 6c 65 6e 61  LEASE@..# Filena
08e0: 6d 65 20 65 78 74 65 6e 73 69 6f 6e 73 0a 23 0a  me extensions.#.
08f0: 42 45 58 45 20 3d 20 40 42 55 49 4c 44 5f 45 58  BEXE = @BUILD_EX
0900: 45 45 58 54 40 0a 54 45 58 45 20 3d 20 40 54 41  EEXT@.TEXE = @TA
0910: 52 47 45 54 5f 45 58 45 45 58 54 40 0a 0a 23 20  RGET_EXEEXT@..# 
0920: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61  The following va
0930: 72 69 61 62 6c 65 20 69 73 20 22 31 22 20 69 66  riable is "1" if
0940: 20 74 68 65 20 63 6f 6e 66 69 67 75 72 65 20 73   the configure s
0950: 63 72 69 70 74 20 77 61 73 20 61 62 6c 65 20 74  cript was able t
0960: 6f 20 6c 6f 63 61 74 65 0a 23 20 74 68 65 20 74  o locate.# the t
0970: 63 6c 43 6f 6e 66 69 67 2e 73 68 20 66 69 6c 65  clConfig.sh file
0980: 2e 20 20 49 74 20 69 73 20 61 6e 20 65 6d 70 74  .  It is an empt
0990: 79 20 73 74 72 69 6e 67 20 6f 74 68 65 72 77 69  y string otherwi
09a0: 73 65 2e 20 20 57 68 65 6e 20 74 68 69 73 0a 23  se.  When this.#
09b0: 20 76 61 72 69 61 62 6c 65 20 69 73 20 22 31 22   variable is "1"
09c0: 2c 20 74 68 65 20 54 43 4c 20 65 78 74 65 6e 73  , the TCL extens
09d0: 69 6f 6e 20 6c 69 62 72 61 72 79 20 28 6c 69 62  ion library (lib
09e0: 74 63 6c 73 71 6c 69 74 65 33 2e 73 6f 29 20 69  tclsqlite3.so) i
09f0: 73 20 62 75 69 6c 74 0a 23 20 61 6e 64 20 69 6e  s built.# and in
0a00: 73 74 61 6c 6c 65 64 2e 0a 23 0a 48 41 56 45 5f  stalled..#.HAVE_
0a10: 54 43 4c 20 3d 20 40 48 41 56 45 5f 54 43 4c 40  TCL = @HAVE_TCL@
0a20: 0a 0a 23 20 54 68 65 20 73 75 66 66 69 78 20 75  ..# The suffix u
0a30: 73 65 64 20 6f 6e 20 73 68 61 72 65 64 20 6c 69  sed on shared li
0a40: 62 72 61 72 69 65 73 2e 20 20 45 78 3a 20 20 22  braries.  Ex:  "
0a50: 2e 64 6c 6c 22 2c 20 22 2e 73 6f 22 2c 20 22 2e  .dll", ".so", ".
0a60: 64 79 6c 69 62 22 0a 23 0a 53 48 4c 49 42 5f 53  dylib".#.SHLIB_S
0a70: 55 46 46 49 58 20 3d 20 40 54 43 4c 5f 53 48 4c  UFFIX = @TCL_SHL
0a80: 49 42 5f 53 55 46 46 49 58 40 0a 0a 23 20 54 68  IB_SUFFIX@..# Th
0a90: 65 20 64 69 72 65 63 74 6f 72 79 20 69 6e 74 6f  e directory into
0aa0: 20 77 68 69 63 68 20 74 6f 20 73 74 6f 72 65 20   which to store 
0ab0: 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74  package informat
0ac0: 69 6f 6e 20 66 6f 72 0a 0a 23 20 53 6f 6d 65 20  ion for..# Some 
0ad0: 73 74 61 6e 64 61 72 64 20 76 61 72 69 61 62 6c  standard variabl
0ae0: 65 73 20 61 6e 64 20 70 72 6f 67 72 61 6d 73 0a  es and programs.
0af0: 23 0a 70 72 65 66 69 78 20 3d 20 40 70 72 65 66  #.prefix = @pref
0b00: 69 78 40 0a 65 78 65 63 5f 70 72 65 66 69 78 20  ix@.exec_prefix 
0b10: 3d 20 40 65 78 65 63 5f 70 72 65 66 69 78 40 0a  = @exec_prefix@.
0b20: 6c 69 62 64 69 72 20 3d 20 40 6c 69 62 64 69 72  libdir = @libdir
0b30: 40 0a 49 4e 53 54 41 4c 4c 20 3d 20 40 49 4e 53  @.INSTALL = @INS
0b40: 54 41 4c 4c 40 0a 4c 49 42 54 4f 4f 4c 20 3d 20  TALL@.LIBTOOL = 
0b50: 2e 2f 6c 69 62 74 6f 6f 6c 0a 41 4c 4c 4f 57 52  ./libtool.ALLOWR
0b60: 45 4c 45 41 53 45 20 3d 20 40 41 4c 4c 4f 57 52  ELEASE = @ALLOWR
0b70: 45 4c 45 41 53 45 40 0a 0a 23 20 6c 69 62 74 6f  ELEASE@..# libto
0b80: 6f 6c 20 63 6f 6d 70 69 6c 65 2f 6c 69 6e 6b 2f  ol compile/link/
0b90: 69 6e 73 74 61 6c 6c 0a 4c 54 43 4f 4d 50 49 4c  install.LTCOMPIL
0ba0: 45 20 3d 20 24 28 4c 49 42 54 4f 4f 4c 29 20 2d  E = $(LIBTOOL) -
0bb0: 2d 6d 6f 64 65 3d 63 6f 6d 70 69 6c 65 20 24 28  -mode=compile $(
0bc0: 54 43 43 29 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28  TCC).LTLINK = $(
0bd0: 4c 49 42 54 4f 4f 4c 29 20 2d 2d 6d 6f 64 65 3d  LIBTOOL) --mode=
0be0: 6c 69 6e 6b 20 24 28 54 43 43 29 0a 4c 54 49 4e  link $(TCC).LTIN
0bf0: 53 54 41 4c 4c 20 3d 20 24 28 4c 49 42 54 4f 4f  STALL = $(LIBTOO
0c00: 4c 29 20 2d 2d 6d 6f 64 65 3d 69 6e 73 74 61 6c  L) --mode=instal
0c10: 6c 20 24 28 49 4e 53 54 41 4c 4c 29 0a 0a 23 20  l $(INSTALL)..# 
0c20: 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 68  You should not h
0c30: 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61 6e  ave to change an
0c40: 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68 69  ything below thi
0c50: 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 23 23  s line.#########
0c60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0ca0: 23 23 23 23 23 23 0a 4f 50 54 53 20 3d 20 0a 4f  ######.OPTS = .O
0cb0: 50 54 53 20 2b 3d 20 2d 44 53 51 4c 49 54 45 5f  PTS += -DSQLITE_
0cc0: 4f 4d 49 54 5f 43 55 52 53 4f 52 20 20 20 20 20  OMIT_CURSOR     
0cd0: 20 20 20 20 20 23 20 43 75 72 73 6f 72 73 20 64       # Cursors d
0ce0: 6f 20 6e 6f 74 20 77 6f 72 6b 20 61 74 20 74 68  o not work at th
0cf0: 69 73 20 74 69 6d 65 0a 54 43 43 20 2b 3d 20 2d  is time.TCC += -
0d00: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 55 52  DSQLITE_OMIT_CUR
0d10: 53 4f 52 0a 0a 23 20 4f 62 6a 65 63 74 20 66 69  SOR..# Object fi
0d20: 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69  les for the SQLi
0d30: 74 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 4c 49  te library..#.LI
0d40: 42 4f 42 4a 20 3d 20 61 6c 74 65 72 2e 6c 6f 20  BOBJ = alter.lo 
0d50: 61 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74 74 61 63  analyze.lo attac
0d60: 68 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20 62 74 72  h.lo auth.lo btr
0d70: 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c  ee.lo build.lo \
0d80: 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 61  .         callba
0d90: 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c  ck.lo complete.l
0da0: 6f 20 64 61 74 65 2e 6c 6f 20 5c 0a 20 20 20 20  o date.lo \.    
0db0: 20 20 20 20 20 64 65 6c 65 74 65 2e 6c 6f 20 65       delete.lo e
0dc0: 78 70 72 2e 6c 6f 20 66 75 6e 63 2e 6c 6f 20 68  xpr.lo func.lo h
0dd0: 61 73 68 2e 6c 6f 20 69 6e 73 65 72 74 2e 6c 6f  ash.lo insert.lo
0de0: 20 5c 0a 20 20 20 20 20 20 20 20 20 6d 61 69 6e   \.         main
0df0: 2e 6c 6f 20 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f  .lo opcodes.lo o
0e00: 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69 6e  s_unix.lo os_win
0e10: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 70  .lo \.         p
0e20: 61 67 65 72 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f  ager.lo parse.lo
0e30: 20 70 72 61 67 6d 61 2e 6c 6f 20 70 72 65 70 61   pragma.lo prepa
0e40: 72 65 2e 6c 6f 20 70 72 69 6e 74 66 2e 6c 6f 20  re.lo printf.lo 
0e50: 72 61 6e 64 6f 6d 2e 6c 6f 20 5c 0a 20 20 20 20  random.lo \.    
0e60: 20 20 20 20 20 73 65 6c 65 63 74 2e 6c 6f 20 74       select.lo t
0e70: 61 62 6c 65 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65  able.lo tokenize
0e80: 2e 6c 6f 20 74 72 69 67 67 65 72 2e 6c 6f 20 75  .lo trigger.lo u
0e90: 70 64 61 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20  pdate.lo \.     
0ea0: 20 20 20 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75      util.lo vacu
0eb0: 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  um.lo \.        
0ec0: 20 76 64 62 65 2e 6c 6f 20 76 64 62 65 61 70 69   vdbe.lo vdbeapi
0ed0: 2e 6c 6f 20 76 64 62 65 61 75 78 2e 6c 6f 20 76  .lo vdbeaux.lo v
0ee0: 64 62 65 66 69 66 6f 2e 6c 6f 20 76 64 62 65 6d  dbefifo.lo vdbem
0ef0: 65 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  em.lo \.        
0f00: 20 77 68 65 72 65 2e 6c 6f 20 75 74 66 2e 6c 6f   where.lo utf.lo
0f10: 20 6c 65 67 61 63 79 2e 6c 6f 0a 0a 23 20 41 6c   legacy.lo..# Al
0f20: 6c 20 6f 66 20 74 68 65 20 73 6f 75 72 63 65 20  l of the source 
0f30: 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a 53 52  code files..#.SR
0f40: 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  C = \.  $(TOP)/s
0f50: 72 63 2f 61 6c 74 65 72 2e 63 20 5c 0a 20 20 24  rc/alter.c \.  $
0f60: 28 54 4f 50 29 2f 73 72 63 2f 61 6e 61 6c 79 7a  (TOP)/src/analyz
0f70: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  e.c \.  $(TOP)/s
0f80: 72 63 2f 61 74 74 61 63 68 2e 63 20 5c 0a 20 20  rc/attach.c \.  
0f90: 24 28 54 4f 50 29 2f 73 72 63 2f 61 75 74 68 2e  $(TOP)/src/auth.
0fa0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
0fb0: 2f 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54  /btree.c \.  $(T
0fc0: 4f 50 29 2f 73 72 63 2f 62 74 72 65 65 2e 68 20  OP)/src/btree.h 
0fd0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 62  \.  $(TOP)/src/b
0fe0: 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50  uild.c \.  $(TOP
0ff0: 29 2f 73 72 63 2f 63 61 6c 6c 62 61 63 6b 2e 63  )/src/callback.c
1000: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
1010: 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a 20 20 24  complete.c \.  $
1020: 28 54 4f 50 29 2f 73 72 63 2f 64 61 74 65 2e 63  (TOP)/src/date.c
1030: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
1040: 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54  delete.c \.  $(T
1050: 4f 50 29 2f 73 72 63 2f 65 78 70 72 2e 63 20 5c  OP)/src/expr.c \
1060: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 66 75  .  $(TOP)/src/fu
1070: 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  nc.c \.  $(TOP)/
1080: 73 72 63 2f 68 61 73 68 2e 63 20 5c 0a 20 20 24  src/hash.c \.  $
1090: 28 54 4f 50 29 2f 73 72 63 2f 68 61 73 68 2e 68  (TOP)/src/hash.h
10a0: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
10b0: 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54  insert.c \.  $(T
10c0: 4f 50 29 2f 73 72 63 2f 6c 65 67 61 63 79 2e 63  OP)/src/legacy.c
10d0: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
10e0: 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50  main.c \.  $(TOP
10f0: 29 2f 73 72 63 2f 6f 73 5f 75 6e 69 78 2e 63 20  )/src/os_unix.c 
1100: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6f  \.  $(TOP)/src/o
1110: 73 5f 77 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f  s_win.c \.  $(TO
1120: 50 29 2f 73 72 63 2f 70 61 67 65 72 2e 63 20 5c  P)/src/pager.c \
1130: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 61  .  $(TOP)/src/pa
1140: 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ger.h \.  $(TOP)
1150: 2f 73 72 63 2f 70 61 72 73 65 2e 79 20 5c 0a 20  /src/parse.y \. 
1160: 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 72 61 67   $(TOP)/src/prag
1170: 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  ma.c \.  $(TOP)/
1180: 73 72 63 2f 70 72 65 70 61 72 65 2e 63 20 5c 0a  src/prepare.c \.
1190: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 72 69    $(TOP)/src/pri
11a0: 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ntf.c \.  $(TOP)
11b0: 2f 73 72 63 2f 72 61 6e 64 6f 6d 2e 63 20 5c 0a  /src/random.c \.
11c0: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 73 65 6c    $(TOP)/src/sel
11d0: 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ect.c \.  $(TOP)
11e0: 2f 73 72 63 2f 73 68 65 6c 6c 2e 63 20 5c 0a 20  /src/shell.c \. 
11f0: 20 24 28 54 4f 50 29 2f 73 72 63 2f 73 71 6c 69   $(TOP)/src/sqli
1200: 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 54 4f  te.h.in \.  $(TO
1210: 50 29 2f 73 72 63 2f 73 71 6c 69 74 65 49 6e 74  P)/src/sqliteInt
1220: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .h \.  $(TOP)/sr
1230: 63 2f 74 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28  c/table.c \.  $(
1240: 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69  TOP)/src/tclsqli
1250: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  te.c \.  $(TOP)/
1260: 73 72 63 2f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c  src/tokenize.c \
1270: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 72  .  $(TOP)/src/tr
1280: 69 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f  igger.c \.  $(TO
1290: 50 29 2f 73 72 63 2f 75 74 66 2e 63 20 5c 0a 20  P)/src/utf.c \. 
12a0: 20 24 28 54 4f 50 29 2f 73 72 63 2f 75 70 64 61   $(TOP)/src/upda
12b0: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  te.c \.  $(TOP)/
12c0: 73 72 63 2f 75 74 69 6c 2e 63 20 5c 0a 20 20 24  src/util.c \.  $
12d0: 28 54 4f 50 29 2f 73 72 63 2f 76 61 63 75 75 6d  (TOP)/src/vacuum
12e0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
12f0: 63 2f 76 64 62 65 2e 63 20 5c 0a 20 20 24 28 54  c/vdbe.c \.  $(T
1300: 4f 50 29 2f 73 72 63 2f 76 64 62 65 2e 68 20 5c  OP)/src/vdbe.h \
1310: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 76 64  .  $(TOP)/src/vd
1320: 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 54 4f  beapi.c \.  $(TO
1330: 50 29 2f 73 72 63 2f 76 64 62 65 61 75 78 2e 63  P)/src/vdbeaux.c
1340: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
1350: 76 64 62 65 66 69 66 6f 2e 63 20 5c 0a 20 20 24  vdbefifo.c \.  $
1360: 28 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 6d 65  (TOP)/src/vdbeme
1370: 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  m.c \.  $(TOP)/s
1380: 72 63 2f 76 64 62 65 49 6e 74 2e 68 20 5c 0a 20  rc/vdbeInt.h \. 
1390: 20 24 28 54 4f 50 29 2f 73 72 63 2f 77 68 65 72   $(TOP)/src/wher
13a0: 65 2e 63 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f  e.c..# Source co
13b0: 64 65 20 74 6f 20 74 68 65 20 74 65 73 74 20 66  de to the test f
13c0: 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52 43 20  iles..#.TESTSRC 
13d0: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  = \.  $(TOP)/src
13e0: 2f 62 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54  /btree.c \.  $(T
13f0: 4f 50 29 2f 73 72 63 2f 64 61 74 65 2e 63 20 5c  OP)/src/date.c \
1400: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 66 75  .  $(TOP)/src/fu
1410: 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  nc.c \.  $(TOP)/
1420: 73 72 63 2f 6f 73 5f 75 6e 69 78 2e 63 20 5c 0a  src/os_unix.c \.
1430: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6f 73 5f    $(TOP)/src/os_
1440: 77 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  win.c \.  $(TOP)
1450: 2f 73 72 63 2f 70 61 67 65 72 2e 63 20 5c 0a 20  /src/pager.c \. 
1460: 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 72 61 67   $(TOP)/src/prag
1470: 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  ma.c \.  $(TOP)/
1480: 73 72 63 2f 70 72 69 6e 74 66 2e 63 20 5c 0a 20  src/printf.c \. 
1490: 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 65 73 74   $(TOP)/src/test
14a0: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  1.c \.  $(TOP)/s
14b0: 72 63 2f 74 65 73 74 32 2e 63 20 5c 0a 20 20 24  rc/test2.c \.  $
14c0: 28 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 33 2e  (TOP)/src/test3.
14d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
14e0: 2f 74 65 73 74 34 2e 63 20 5c 0a 20 20 24 28 54  /test4.c \.  $(T
14f0: 4f 50 29 2f 73 72 63 2f 74 65 73 74 35 2e 63 20  OP)/src/test5.c 
1500: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 75  \.  $(TOP)/src/u
1510: 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  tf.c \.  $(TOP)/
1520: 73 72 63 2f 75 74 69 6c 2e 63 20 5c 0a 20 20 24  src/util.c \.  $
1530: 28 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 2e 63  (TOP)/src/vdbe.c
1540: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
1550: 6d 64 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  md5.c \.  $(TOP)
1560: 2f 73 72 63 2f 77 68 65 72 65 2e 63 0a 0a 23 20  /src/where.c..# 
1570: 48 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 65  Header files use
1580: 64 20 62 79 20 61 6c 6c 20 6c 69 62 72 61 72 79  d by all library
1590: 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e 0a 23   source files..#
15a0: 0a 48 44 52 20 3d 20 5c 0a 20 20 20 73 71 6c 69  .HDR = \.   sqli
15b0: 74 65 33 2e 68 20 20 5c 0a 20 20 20 24 28 54 4f  te3.h  \.   $(TO
15c0: 50 29 2f 73 72 63 2f 62 74 72 65 65 2e 68 20 5c  P)/src/btree.h \
15d0: 0a 20 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 68  .   $(TOP)/src/h
15e0: 61 73 68 2e 68 20 5c 0a 20 20 20 6f 70 63 6f 64  ash.h \.   opcod
15f0: 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  es.h \.   $(TOP)
1600: 2f 73 72 63 2f 6f 73 2e 68 20 5c 0a 20 20 20 24  /src/os.h \.   $
1610: 28 54 4f 50 29 2f 73 72 63 2f 6f 73 5f 63 6f 6d  (TOP)/src/os_com
1620: 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  mon.h \.   $(TOP
1630: 29 2f 73 72 63 2f 6f 73 5f 75 6e 69 78 2e 68 20  )/src/os_unix.h 
1640: 5c 0a 20 20 20 24 28 54 4f 50 29 2f 73 72 63 2f  \.   $(TOP)/src/
1650: 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 20 24 28  os_win.h \.   $(
1660: 54 4f 50 29 2f 73 72 63 2f 73 71 6c 69 74 65 49  TOP)/src/sqliteI
1670: 6e 74 2e 68 20 20 5c 0a 20 20 20 24 28 54 4f 50  nt.h  \.   $(TOP
1680: 29 2f 73 72 63 2f 76 64 62 65 2e 68 20 5c 0a 20  )/src/vdbe.h \. 
1690: 20 20 70 61 72 73 65 2e 68 0a 0a 23 20 48 65 61    parse.h..# Hea
16a0: 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62  der files used b
16b0: 79 20 74 68 65 20 56 44 42 45 20 73 75 62 6d 6f  y the VDBE submo
16c0: 64 75 6c 65 0a 23 0a 56 44 42 45 48 44 52 20 3d  dule.#.VDBEHDR =
16d0: 20 5c 0a 20 20 20 24 28 48 44 52 29 20 5c 0a 20   \.   $(HDR) \. 
16e0: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 76 64 62    $(TOP)/src/vdb
16f0: 65 49 6e 74 2e 68 0a 0a 23 20 54 68 69 73 20 69  eInt.h..# This i
1700: 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 4d 61  s the default Ma
1710: 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e 20 20  kefile target.  
1720: 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69 73 74  The objects list
1730: 65 64 20 68 65 72 65 0a 23 20 61 72 65 20 77 68  ed here.# are wh
1740: 61 74 20 67 65 74 20 62 75 69 6c 64 20 77 68 65  at get build whe
1750: 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73 74 20  n you type just 
1760: 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f 20 61  "make" with no a
1770: 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c 6c 3a  rguments..#.all:
1780: 09 73 71 6c 69 74 65 33 2e 68 20 6c 69 62 73 71  .sqlite3.h libsq
1790: 6c 69 74 65 33 2e 6c 61 20 73 71 6c 69 74 65 33  lite3.la sqlite3
17a0: 24 28 54 45 58 45 29 20 24 28 48 41 56 45 5f 54  $(TEXE) $(HAVE_T
17b0: 43 4c 3a 31 3d 6c 69 62 74 63 6c 73 71 6c 69 74  CL:1=libtclsqlit
17c0: 65 33 2e 6c 61 29 0a 0a 4d 61 6b 65 66 69 6c 65  e3.la)..Makefile
17d0: 3a 20 24 28 54 4f 50 29 2f 4d 61 6b 65 66 69 6c  : $(TOP)/Makefil
17e0: 65 2e 69 6e 0a 09 2e 2f 63 6f 6e 66 69 67 2e 73  e.in.../config.s
17f0: 74 61 74 75 73 0a 0a 23 20 47 65 6e 65 72 61 74  tatus..# Generat
1800: 65 20 74 68 65 20 66 69 6c 65 20 22 6c 61 73 74  e the file "last
1810: 5f 63 68 61 6e 67 65 22 20 77 68 69 63 68 20 63  _change" which c
1820: 6f 6e 74 61 69 6e 73 20 74 68 65 20 64 61 74 65  ontains the date
1830: 20 6f 66 20 63 68 61 6e 67 65 0a 23 20 6f 66 20   of change.# of 
1840: 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 6c  the most recentl
1850: 79 20 6d 6f 64 69 66 69 65 64 20 73 6f 75 72 63  y modified sourc
1860: 65 20 63 6f 64 65 20 66 69 6c 65 0a 23 0a 6c 61  e code file.#.la
1870: 73 74 5f 63 68 61 6e 67 65 3a 09 24 28 53 52 43  st_change:.$(SRC
1880: 29 0a 09 63 61 74 20 24 28 53 52 43 29 20 7c 20  )..cat $(SRC) | 
1890: 67 72 65 70 20 27 24 24 49 64 3a 20 27 20 7c 20  grep '$$Id: ' | 
18a0: 73 6f 72 74 20 2b 34 20 7c 20 74 61 69 6c 20 2d  sort +4 | tail -
18b0: 31 20 5c 0a 20 20 20 20 20 20 20 20 20 20 7c 20  1 \.          | 
18c0: 61 77 6b 20 27 7b 70 72 69 6e 74 20 24 24 35 2c  awk '{print $$5,
18d0: 24 24 36 7d 27 20 3e 6c 61 73 74 5f 63 68 61 6e  $$6}' >last_chan
18e0: 67 65 0a 0a 6c 69 62 73 71 6c 69 74 65 33 2e 6c  ge..libsqlite3.l
18f0: 61 3a 09 24 28 4c 49 42 4f 42 4a 29 0a 09 24 28  a:.$(LIBOBJ)..$(
1900: 4c 54 4c 49 4e 4b 29 20 2d 6f 20 6c 69 62 73 71  LTLINK) -o libsq
1910: 6c 69 74 65 33 2e 6c 61 20 24 28 4c 49 42 4f 42  lite3.la $(LIBOB
1920: 4a 29 20 24 28 4c 49 42 50 54 48 52 45 41 44 29  J) $(LIBPTHREAD)
1930: 20 5c 0a 09 09 24 7b 41 4c 4c 4f 57 52 45 4c 45   \...${ALLOWRELE
1940: 41 53 45 7d 20 2d 72 70 61 74 68 20 24 28 6c 69  ASE} -rpath $(li
1950: 62 64 69 72 29 20 2d 76 65 72 73 69 6f 6e 2d 69  bdir) -version-i
1960: 6e 66 6f 20 22 38 3a 36 3a 38 22 0a 0a 6c 69 62  nfo "8:6:8"..lib
1970: 74 63 6c 73 71 6c 69 74 65 33 2e 6c 61 3a 09 74  tclsqlite3.la:.t
1980: 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73  clsqlite.lo libs
1990: 71 6c 69 74 65 33 2e 6c 61 0a 09 24 28 4c 54 4c  qlite3.la..$(LTL
19a0: 49 4e 4b 29 20 2d 6f 20 6c 69 62 74 63 6c 73 71  INK) -o libtclsq
19b0: 6c 69 74 65 33 2e 6c 61 20 74 63 6c 73 71 6c 69  lite3.la tclsqli
19c0: 74 65 2e 6c 6f 20 5c 0a 09 09 24 28 4c 49 42 4f  te.lo \...$(LIBO
19d0: 42 4a 29 20 40 54 43 4c 5f 53 54 55 42 5f 4c 49  BJ) @TCL_STUB_LI
19e0: 42 5f 53 50 45 43 40 20 24 28 4c 49 42 50 54 48  B_SPEC@ $(LIBPTH
19f0: 52 45 41 44 29 20 5c 0a 20 20 20 20 20 20 20 20  READ) \.        
1a00: 20 20 20 20 20 20 20 20 2d 72 70 61 74 68 20 24          -rpath $
1a10: 28 6c 69 62 64 69 72 29 2f 73 71 6c 69 74 65 20  (libdir)/sqlite 
1a20: 5c 0a 09 09 2d 76 65 72 73 69 6f 6e 2d 69 6e 66  \...-version-inf
1a30: 6f 20 22 38 3a 36 3a 38 22 0a 0a 73 71 6c 69 74  o "8:6:8"..sqlit
1a40: 65 33 24 28 54 45 58 45 29 3a 09 24 28 54 4f 50  e3$(TEXE):.$(TOP
1a50: 29 2f 73 72 63 2f 73 68 65 6c 6c 2e 63 20 6c 69  )/src/shell.c li
1a60: 62 73 71 6c 69 74 65 33 2e 6c 61 20 73 71 6c 69  bsqlite3.la sqli
1a70: 74 65 33 2e 68 0a 09 24 28 4c 54 4c 49 4e 4b 29  te3.h..$(LTLINK)
1a80: 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47   $(READLINE_FLAG
1a90: 53 29 20 24 28 4c 49 42 50 54 48 52 45 41 44 29  S) $(LIBPTHREAD)
1aa0: 20 5c 0a 09 09 2d 6f 20 73 71 6c 69 74 65 33 20   \...-o sqlite3 
1ab0: 24 28 54 4f 50 29 2f 73 72 63 2f 73 68 65 6c 6c  $(TOP)/src/shell
1ac0: 2e 63 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 61  .c libsqlite3.la
1ad0: 20 24 28 4c 49 42 52 45 41 44 4c 49 4e 45 29 0a   $(LIBREADLINE).
1ae0: 0a 23 20 54 68 69 73 20 74 61 72 67 65 74 20 63  .# This target c
1af0: 72 65 61 74 65 73 20 61 20 64 69 72 65 63 74 6f  reates a directo
1b00: 72 79 20 6e 61 6d 65 64 20 22 74 73 72 63 22 20  ry named "tsrc" 
1b10: 61 6e 64 20 66 69 6c 6c 73 20 69 74 20 77 69 74  and fills it wit
1b20: 68 0a 23 20 63 6f 70 69 65 73 20 6f 66 20 61 6c  h.# copies of al
1b30: 6c 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72 63  l of the C sourc
1b40: 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64 65  e code and heade
1b50: 72 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 74  r files needed t
1b60: 6f 0a 23 20 62 75 69 6c 64 20 6f 6e 20 74 68 65  o.# build on the
1b70: 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e 20   target system. 
1b80: 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 43 20 73   Some of the C s
1b90: 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68  ource code and h
1ba0: 65 61 64 65 72 0a 23 20 66 69 6c 65 73 20 61 72  eader.# files ar
1bb0: 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  e automatically 
1bc0: 67 65 6e 65 72 61 74 65 64 2e 20 20 54 68 69 73  generated.  This
1bd0: 20 74 61 72 67 65 74 20 74 61 6b 65 73 20 63 61   target takes ca
1be0: 72 65 20 6f 66 0a 23 20 61 6c 6c 20 74 68 61 74  re of.# all that
1bf0: 20 61 75 74 6f 6d 61 74 69 63 20 67 65 6e 65 72   automatic gener
1c00: 61 74 69 6f 6e 2e 0a 23 0a 74 61 72 67 65 74 5f  ation..#.target_
1c10: 73 6f 75 72 63 65 3a 09 24 28 53 52 43 29 20 70  source:.$(SRC) p
1c20: 61 72 73 65 2e 63 20 6f 70 63 6f 64 65 73 2e 63  arse.c opcodes.c
1c30: 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 24   keywordhash.h $
1c40: 28 56 44 42 45 48 44 52 29 20 0a 09 72 6d 20 2d  (VDBEHDR) ..rm -
1c50: 72 66 20 74 73 72 63 0a 09 6d 6b 64 69 72 20 2d  rf tsrc..mkdir -
1c60: 70 20 74 73 72 63 0a 09 63 70 20 24 28 53 52 43  p tsrc..cp $(SRC
1c70: 29 20 24 28 56 44 42 45 48 44 52 29 20 74 73 72  ) $(VDBEHDR) tsr
1c80: 63 0a 09 72 6d 20 74 73 72 63 2f 73 71 6c 69 74  c..rm tsrc/sqlit
1c90: 65 2e 68 2e 69 6e 20 74 73 72 63 2f 70 61 72 73  e.h.in tsrc/pars
1ca0: 65 2e 79 0a 09 63 70 20 70 61 72 73 65 2e 63 20  e.y..cp parse.c 
1cb0: 6f 70 63 6f 64 65 73 2e 63 20 6b 65 79 77 6f 72  opcodes.c keywor
1cc0: 64 68 61 73 68 2e 68 20 74 73 72 63 0a 09 63 70  dhash.h tsrc..cp
1cd0: 20 24 28 54 4f 50 29 2f 73 71 6c 69 74 65 33 2e   $(TOP)/sqlite3.
1ce0: 64 65 66 20 74 73 72 63 0a 0a 23 20 52 75 6c 65  def tsrc..# Rule
1cf0: 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 4c  s to build the L
1d00: 45 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65  EMON compiler ge
1d10: 6e 65 72 61 74 6f 72 0a 23 0a 6c 65 6d 6f 6e 24  nerator.#.lemon$
1d20: 28 42 45 58 45 29 3a 09 24 28 54 4f 50 29 2f 74  (BEXE):.$(TOP)/t
1d30: 6f 6f 6c 2f 6c 65 6d 6f 6e 2e 63 20 24 28 54 4f  ool/lemon.c $(TO
1d40: 50 29 2f 74 6f 6f 6c 2f 6c 65 6d 70 61 72 2e 63  P)/tool/lempar.c
1d50: 0a 09 24 28 42 43 43 29 20 2d 6f 20 6c 65 6d 6f  ..$(BCC) -o lemo
1d60: 6e 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6c 65  n $(TOP)/tool/le
1d70: 6d 6f 6e 2e 63 0a 09 63 70 20 24 28 54 4f 50 29  mon.c..cp $(TOP)
1d80: 2f 74 6f 6f 6c 2f 6c 65 6d 70 61 72 2e 63 20 2e  /tool/lempar.c .
1d90: 0a 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75  ...# Rules to bu
1da0: 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c 20 66  ild individual f
1db0: 69 6c 65 73 0a 23 0a 61 6c 74 65 72 2e 6c 6f 3a  iles.#.alter.lo:
1dc0: 09 24 28 54 4f 50 29 2f 73 72 63 2f 61 6c 74 65  .$(TOP)/src/alte
1dd0: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  r.c $(HDR)..$(LT
1de0: 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f  COMPILE) -c $(TO
1df0: 50 29 2f 73 72 63 2f 61 6c 74 65 72 2e 63 0a 0a  P)/src/alter.c..
1e00: 61 6e 61 6c 79 7a 65 2e 6c 6f 3a 09 24 28 54 4f  analyze.lo:.$(TO
1e10: 50 29 2f 73 72 63 2f 61 6e 61 6c 79 7a 65 2e 63  P)/src/analyze.c
1e20: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
1e30: 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 2f  PILE) -c $(TOP)/
1e40: 73 72 63 2f 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61  src/analyze.c..a
1e50: 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29  ttach.lo:.$(TOP)
1e60: 2f 73 72 63 2f 61 74 74 61 63 68 2e 63 20 24 28  /src/attach.c $(
1e70: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
1e80: 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63  E) -c $(TOP)/src
1e90: 2f 61 74 74 61 63 68 2e 63 0a 0a 61 75 74 68 2e  /attach.c..auth.
1ea0: 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 61  lo:.$(TOP)/src/a
1eb0: 75 74 68 2e 63 20 24 28 48 44 52 29 0a 09 24 28  uth.c $(HDR)..$(
1ec0: 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28  LTCOMPILE) -c $(
1ed0: 54 4f 50 29 2f 73 72 63 2f 61 75 74 68 2e 63 0a  TOP)/src/auth.c.
1ee0: 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50  .btree.lo:.$(TOP
1ef0: 29 2f 73 72 63 2f 62 74 72 65 65 2e 63 20 24 28  )/src/btree.c $(
1f00: 48 44 52 29 20 24 28 54 4f 50 29 2f 73 72 63 2f  HDR) $(TOP)/src/
1f10: 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d  pager.h..$(LTCOM
1f20: 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 2f  PILE) -c $(TOP)/
1f30: 73 72 63 2f 62 74 72 65 65 2e 63 0a 0a 62 75 69  src/btree.c..bui
1f40: 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72  ld.lo:.$(TOP)/sr
1f50: 63 2f 62 75 69 6c 64 2e 63 20 24 28 48 44 52 29  c/build.c $(HDR)
1f60: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d  ..$(LTCOMPILE) -
1f70: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 62 75 69  c $(TOP)/src/bui
1f80: 6c 64 2e 63 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c  ld.c..callback.l
1f90: 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 63 61  o:.$(TOP)/src/ca
1fa0: 6c 6c 62 61 63 6b 2e 63 20 24 28 48 44 52 29 0a  llback.c $(HDR).
1fb0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63  .$(LTCOMPILE) -c
1fc0: 20 24 28 54 4f 50 29 2f 73 72 63 2f 63 61 6c 6c   $(TOP)/src/call
1fd0: 62 61 63 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65  back.c..complete
1fe0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f  .lo:.$(TOP)/src/
1ff0: 63 6f 6d 70 6c 65 74 65 2e 63 20 24 28 48 44 52  complete.c $(HDR
2000: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
2010: 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 63 6f  -c $(TOP)/src/co
2020: 6d 70 6c 65 74 65 2e 63 0a 0a 64 61 74 65 2e 6c  mplete.c..date.l
2030: 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 64 61  o:.$(TOP)/src/da
2040: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
2050: 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54  TCOMPILE) -c $(T
2060: 4f 50 29 2f 73 72 63 2f 64 61 74 65 2e 63 0a 0a  OP)/src/date.c..
2070: 64 65 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f 50  delete.lo:.$(TOP
2080: 29 2f 73 72 63 2f 64 65 6c 65 74 65 2e 63 20 24  )/src/delete.c $
2090: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
20a0: 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72  LE) -c $(TOP)/sr
20b0: 63 2f 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72  c/delete.c..expr
20c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f  .lo:.$(TOP)/src/
20d0: 65 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24  expr.c $(HDR)..$
20e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24  (LTCOMPILE) -c $
20f0: 28 54 4f 50 29 2f 73 72 63 2f 65 78 70 72 2e 63  (TOP)/src/expr.c
2100: 0a 0a 66 75 6e 63 2e 6c 6f 3a 09 24 28 54 4f 50  ..func.lo:.$(TOP
2110: 29 2f 73 72 63 2f 66 75 6e 63 2e 63 20 24 28 48  )/src/func.c $(H
2120: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
2130: 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f  ) -c $(TOP)/src/
2140: 66 75 6e 63 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a  func.c..hash.lo:
2150: 09 24 28 54 4f 50 29 2f 73 72 63 2f 68 61 73 68  .$(TOP)/src/hash
2160: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
2170: 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50  OMPILE) -c $(TOP
2180: 29 2f 73 72 63 2f 68 61 73 68 2e 63 0a 0a 69 6e  )/src/hash.c..in
2190: 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f  sert.lo:.$(TOP)/
21a0: 73 72 63 2f 69 6e 73 65 72 74 2e 63 20 24 28 48  src/insert.c $(H
21b0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
21c0: 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f  ) -c $(TOP)/src/
21d0: 69 6e 73 65 72 74 2e 63 0a 0a 6c 65 67 61 63 79  insert.c..legacy
21e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f  .lo:.$(TOP)/src/
21f0: 6c 65 67 61 63 79 2e 63 20 24 28 48 44 52 29 0a  legacy.c $(HDR).
2200: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63  .$(LTCOMPILE) -c
2210: 20 24 28 54 4f 50 29 2f 73 72 63 2f 6c 65 67 61   $(TOP)/src/lega
2220: 63 79 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09 24  cy.c..main.lo:.$
2230: 28 54 4f 50 29 2f 73 72 63 2f 6d 61 69 6e 2e 63  (TOP)/src/main.c
2240: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
2250: 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f  PILE) $(TEMP_STO
2260: 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72  RE) -c $(TOP)/sr
2270: 63 2f 6d 61 69 6e 2e 63 0a 0a 70 61 67 65 72 2e  c/main.c..pager.
2280: 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 70  lo:.$(TOP)/src/p
2290: 61 67 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  ager.c $(HDR) $(
22a0: 54 4f 50 29 2f 73 72 63 2f 70 61 67 65 72 2e 68  TOP)/src/pager.h
22b0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d  ..$(LTCOMPILE) -
22c0: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 61 67  c $(TOP)/src/pag
22d0: 65 72 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f  er.c..opcodes.lo
22e0: 3a 09 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c  :.opcodes.c..$(L
22f0: 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 6f 70 63  TCOMPILE) -c opc
2300: 6f 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e  odes.c..opcodes.
2310: 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20 24 28 54  c:.opcodes.h $(T
2320: 4f 50 29 2f 6d 6b 6f 70 63 6f 64 65 63 2e 61 77  OP)/mkopcodec.aw
2330: 6b 0a 09 73 6f 72 74 20 2d 6e 20 2d 62 20 2b 32  k..sort -n -b +2
2340: 20 6f 70 63 6f 64 65 73 2e 68 20 7c 20 61 77 6b   opcodes.h | awk
2350: 20 2d 66 20 24 28 54 4f 50 29 2f 6d 6b 6f 70 63   -f $(TOP)/mkopc
2360: 6f 64 65 63 2e 61 77 6b 20 3e 6f 70 63 6f 64 65  odec.awk >opcode
2370: 73 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 68 3a 09  s.c..opcodes.h:.
2380: 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29 2f 73  parse.h $(TOP)/s
2390: 72 63 2f 76 64 62 65 2e 63 20 24 28 54 4f 50 29  rc/vdbe.c $(TOP)
23a0: 2f 6d 6b 6f 70 63 6f 64 65 68 2e 61 77 6b 0a 09  /mkopcodeh.awk..
23b0: 63 61 74 20 70 61 72 73 65 2e 68 20 24 28 54 4f  cat parse.h $(TO
23c0: 50 29 2f 73 72 63 2f 76 64 62 65 2e 63 20 7c 20  P)/src/vdbe.c | 
23d0: 61 77 6b 20 2d 66 20 24 28 54 4f 50 29 2f 6d 6b  awk -f $(TOP)/mk
23e0: 6f 70 63 6f 64 65 68 2e 61 77 6b 20 3e 6f 70 63  opcodeh.awk >opc
23f0: 6f 64 65 73 2e 68 0a 0a 6f 73 5f 75 6e 69 78 2e  odes.h..os_unix.
2400: 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 6f  lo:.$(TOP)/src/o
2410: 73 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a  s_unix.c $(HDR).
2420: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63  .$(LTCOMPILE) -c
2430: 20 24 28 54 4f 50 29 2f 73 72 63 2f 6f 73 5f 75   $(TOP)/src/os_u
2440: 6e 69 78 2e 63 0a 0a 6f 73 5f 77 69 6e 2e 6c 6f  nix.c..os_win.lo
2450: 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 6f 73 5f  :.$(TOP)/src/os_
2460: 77 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28  win.c $(HDR)..$(
2470: 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28  LTCOMPILE) -c $(
2480: 54 4f 50 29 2f 73 72 63 2f 6f 73 5f 77 69 6e 2e  TOP)/src/os_win.
2490: 63 0a 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 61 72  c..parse.lo:.par
24a0: 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  se.c $(HDR)..$(L
24b0: 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 70 61 72  TCOMPILE) -c par
24c0: 73 65 2e 63 0a 0a 70 61 72 73 65 2e 68 3a 09 70  se.c..parse.h:.p
24d0: 61 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a  arse.c..parse.c:
24e0: 09 24 28 54 4f 50 29 2f 73 72 63 2f 70 61 72 73  .$(TOP)/src/pars
24f0: 65 2e 79 20 6c 65 6d 6f 6e 24 28 42 45 58 45 29  e.y lemon$(BEXE)
2500: 20 24 28 54 4f 50 29 2f 61 64 64 6f 70 63 6f 64   $(TOP)/addopcod
2510: 65 73 2e 61 77 6b 0a 09 63 70 20 24 28 54 4f 50  es.awk..cp $(TOP
2520: 29 2f 73 72 63 2f 70 61 72 73 65 2e 79 20 2e 0a  )/src/parse.y ..
2530: 09 2e 2f 6c 65 6d 6f 6e 20 24 28 4f 50 54 53 29  ../lemon $(OPTS)
2540: 20 70 61 72 73 65 2e 79 0a 09 6d 76 20 70 61 72   parse.y..mv par
2550: 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65 6d  se.h parse.h.tem
2560: 70 0a 09 61 77 6b 20 2d 66 20 24 28 54 4f 50 29  p..awk -f $(TOP)
2570: 2f 61 64 64 6f 70 63 6f 64 65 73 2e 61 77 6b 20  /addopcodes.awk 
2580: 70 61 72 73 65 2e 68 2e 74 65 6d 70 20 3e 70 61  parse.h.temp >pa
2590: 72 73 65 2e 68 0a 0a 70 72 61 67 6d 61 2e 6c 6f  rse.h..pragma.lo
25a0: 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 70 72 61  :.$(TOP)/src/pra
25b0: 67 6d 61 2e 63 20 24 28 48 44 52 29 0a 09 24 28  gma.c $(HDR)..$(
25c0: 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28  LTCOMPILE) -c $(
25d0: 54 4f 50 29 2f 73 72 63 2f 70 72 61 67 6d 61 2e  TOP)/src/pragma.
25e0: 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24  c..prepare.lo:.$
25f0: 28 54 4f 50 29 2f 73 72 63 2f 70 72 65 70 61 72  (TOP)/src/prepar
2600: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
2610: 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f  COMPILE) $(TEMP_
2620: 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50 29  STORE) -c $(TOP)
2630: 2f 73 72 63 2f 70 72 65 70 61 72 65 2e 63 0a 0a  /src/prepare.c..
2640: 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f 50  printf.lo:.$(TOP
2650: 29 2f 73 72 63 2f 70 72 69 6e 74 66 2e 63 20 24  )/src/printf.c $
2660: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
2670: 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72  LE) -c $(TOP)/sr
2680: 63 2f 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64  c/printf.c..rand
2690: 6f 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72  om.lo:.$(TOP)/sr
26a0: 63 2f 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52  c/random.c $(HDR
26b0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
26c0: 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 72 61  -c $(TOP)/src/ra
26d0: 6e 64 6f 6d 2e 63 0a 0a 73 65 6c 65 63 74 2e 6c  ndom.c..select.l
26e0: 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 73 65  o:.$(TOP)/src/se
26f0: 6c 65 63 74 2e 63 20 24 28 48 44 52 29 0a 09 24  lect.c $(HDR)..$
2700: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24  (LTCOMPILE) -c $
2710: 28 54 4f 50 29 2f 73 72 63 2f 73 65 6c 65 63 74  (TOP)/src/select
2720: 2e 63 0a 0a 73 71 6c 69 74 65 33 2e 68 3a 09 24  .c..sqlite3.h:.$
2730: 28 54 4f 50 29 2f 73 72 63 2f 73 71 6c 69 74 65  (TOP)/src/sqlite
2740: 2e 68 2e 69 6e 20 0a 09 73 65 64 20 2d 65 20 73  .h.in ..sed -e s
2750: 2f 2d 2d 56 45 52 53 2d 2d 2f 24 28 52 45 4c 45  /--VERS--/$(RELE
2760: 41 53 45 29 2f 20 24 28 54 4f 50 29 2f 73 72 63  ASE)/ $(TOP)/src
2770: 2f 73 71 6c 69 74 65 2e 68 2e 69 6e 20 7c 20 5c  /sqlite.h.in | \
2780: 0a 09 73 65 64 20 2d 65 20 73 2f 2d 2d 56 45 52  ..sed -e s/--VER
2790: 53 49 4f 4e 2d 4e 55 4d 42 45 52 2d 2d 2f 24 28  SION-NUMBER--/$(
27a0: 56 45 52 53 49 4f 4e 5f 4e 55 4d 42 45 52 29 2f  VERSION_NUMBER)/
27b0: 20 3e 73 71 6c 69 74 65 33 2e 68 0a 0a 74 61 62   >sqlite3.h..tab
27c0: 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72  le.lo:.$(TOP)/sr
27d0: 63 2f 74 61 62 6c 65 2e 63 20 24 28 48 44 52 29  c/table.c $(HDR)
27e0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d  ..$(LTCOMPILE) -
27f0: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 61 62  c $(TOP)/src/tab
2800: 6c 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e  le.c..tclsqlite.
2810: 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 74  lo:.$(TOP)/src/t
2820: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52  clsqlite.c $(HDR
2830: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
2840: 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 63  -c $(TOP)/src/tc
2850: 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 6f 6b 65 6e  lsqlite.c..token
2860: 69 7a 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73  ize.lo:.$(TOP)/s
2870: 72 63 2f 74 6f 6b 65 6e 69 7a 65 2e 63 20 6b 65  rc/tokenize.c ke
2880: 79 77 6f 72 64 68 61 73 68 2e 68 20 24 28 48 44  ywordhash.h $(HD
2890: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
28a0: 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 74   -c $(TOP)/src/t
28b0: 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 6b 65 79 77 6f  okenize.c..keywo
28c0: 72 64 68 61 73 68 2e 68 3a 09 24 28 54 4f 50 29  rdhash.h:.$(TOP)
28d0: 2f 74 6f 6f 6c 2f 6d 6b 6b 65 79 77 6f 72 64 68  /tool/mkkeywordh
28e0: 61 73 68 2e 63 0a 09 24 28 42 43 43 29 20 2d 6f  ash.c..$(BCC) -o
28f0: 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 24 28   mkkeywordhash$(
2900: 42 45 58 45 29 20 24 28 4f 50 54 53 29 20 24 28  BEXE) $(OPTS) $(
2910: 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 6b 65 79 77  TOP)/tool/mkkeyw
2920: 6f 72 64 68 61 73 68 2e 63 0a 09 2e 2f 6d 6b 6b  ordhash.c.../mkk
2930: 65 79 77 6f 72 64 68 61 73 68 24 28 42 45 58 45  eywordhash$(BEXE
2940: 29 20 3e 6b 65 79 77 6f 72 64 68 61 73 68 2e 68  ) >keywordhash.h
2950: 0a 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28  ..trigger.lo:.$(
2960: 54 4f 50 29 2f 73 72 63 2f 74 72 69 67 67 65 72  TOP)/src/trigger
2970: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
2980: 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50  OMPILE) -c $(TOP
2990: 29 2f 73 72 63 2f 74 72 69 67 67 65 72 2e 63 0a  )/src/trigger.c.
29a0: 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f  .update.lo:.$(TO
29b0: 50 29 2f 73 72 63 2f 75 70 64 61 74 65 2e 63 20  P)/src/update.c 
29c0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
29d0: 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73  ILE) -c $(TOP)/s
29e0: 72 63 2f 75 70 64 61 74 65 2e 63 0a 0a 75 74 66  rc/update.c..utf
29f0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f  .lo:.$(TOP)/src/
2a00: 75 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28  utf.c $(HDR)..$(
2a10: 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28  LTCOMPILE) -c $(
2a20: 54 4f 50 29 2f 73 72 63 2f 75 74 66 2e 63 0a 0a  TOP)/src/utf.c..
2a30: 75 74 69 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f  util.lo:.$(TOP)/
2a40: 73 72 63 2f 75 74 69 6c 2e 63 20 24 28 48 44 52  src/util.c $(HDR
2a50: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
2a60: 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 75 74  -c $(TOP)/src/ut
2a70: 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a  il.c..vacuum.lo:
2a80: 09 24 28 54 4f 50 29 2f 73 72 63 2f 76 61 63 75  .$(TOP)/src/vacu
2a90: 75 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  um.c $(HDR)..$(L
2aa0: 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54  TCOMPILE) -c $(T
2ab0: 4f 50 29 2f 73 72 63 2f 76 61 63 75 75 6d 2e 63  OP)/src/vacuum.c
2ac0: 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f 50  ..vdbe.lo:.$(TOP
2ad0: 29 2f 73 72 63 2f 76 64 62 65 2e 63 20 24 28 56  )/src/vdbe.c $(V
2ae0: 44 42 45 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  DBEHDR)..$(LTCOM
2af0: 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 2f  PILE) -c $(TOP)/
2b00: 73 72 63 2f 76 64 62 65 2e 63 0a 0a 76 64 62 65  src/vdbe.c..vdbe
2b10: 61 70 69 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73  api.lo:.$(TOP)/s
2b20: 72 63 2f 76 64 62 65 61 70 69 2e 63 20 24 28 56  rc/vdbeapi.c $(V
2b30: 44 42 45 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  DBEHDR)..$(LTCOM
2b40: 50 49 4c 45 29 20 2d 63 20 24 28 54 4f 50 29 2f  PILE) -c $(TOP)/
2b50: 73 72 63 2f 76 64 62 65 61 70 69 2e 63 0a 0a 76  src/vdbeapi.c..v
2b60: 64 62 65 61 75 78 2e 6c 6f 3a 09 24 28 54 4f 50  dbeaux.lo:.$(TOP
2b70: 29 2f 73 72 63 2f 76 64 62 65 61 75 78 2e 63 20  )/src/vdbeaux.c 
2b80: 24 28 56 44 42 45 48 44 52 29 0a 09 24 28 4c 54  $(VDBEHDR)..$(LT
2b90: 43 4f 4d 50 49 4c 45 29 20 2d 63 20 24 28 54 4f  COMPILE) -c $(TO
2ba0: 50 29 2f 73 72 63 2f 76 64 62 65 61 75 78 2e 63  P)/src/vdbeaux.c
2bb0: 0a 0a 76 64 62 65 66 69 66 6f 2e 6c 6f 3a 09 24  ..vdbefifo.lo:.$
2bc0: 28 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 66 69  (TOP)/src/vdbefi
2bd0: 66 6f 2e 63 20 24 28 56 44 42 45 48 44 52 29 0a  fo.c $(VDBEHDR).
2be0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63  .$(LTCOMPILE) -c
2bf0: 20 24 28 54 4f 50 29 2f 73 72 63 2f 76 64 62 65   $(TOP)/src/vdbe
2c00: 66 69 66 6f 2e 63 0a 0a 76 64 62 65 6d 65 6d 2e  fifo.c..vdbemem.
2c10: 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 76  lo:.$(TOP)/src/v
2c20: 64 62 65 6d 65 6d 2e 63 20 24 28 56 44 42 45 48  dbemem.c $(VDBEH
2c30: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
2c40: 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f  ) -c $(TOP)/src/
2c50: 76 64 62 65 6d 65 6d 2e 63 0a 0a 77 68 65 72 65  vdbemem.c..where
2c60: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f  .lo:.$(TOP)/src/
2c70: 77 68 65 72 65 2e 63 20 24 28 48 44 52 29 0a 09  where.c $(HDR)..
2c80: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 63 20  $(LTCOMPILE) -c 
2c90: 24 28 54 4f 50 29 2f 73 72 63 2f 77 68 65 72 65  $(TOP)/src/where
2ca0: 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d 73 68  .c..tclsqlite-sh
2cb0: 65 6c 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73  ell.lo:.$(TOP)/s
2cc0: 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc/tclsqlite.c $
2cd0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
2ce0: 4c 45 29 20 2d 44 54 43 4c 53 48 3d 31 20 2d 6f  LE) -DTCLSH=1 -o
2cf0: 20 24 40 20 2d 63 20 24 28 54 4f 50 29 2f 73 72   $@ -c $(TOP)/sr
2d00: 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74  c/tclsqlite.c..t
2d10: 63 6c 73 71 6c 69 74 65 2d 73 74 75 62 73 2e 6c  clsqlite-stubs.l
2d20: 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 74 63  o:.$(TOP)/src/tc
2d30: 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29  lsqlite.c $(HDR)
2d40: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d  ..$(LTCOMPILE) -
2d50: 44 54 43 4c 5f 55 53 45 5f 53 54 55 42 53 3d 31  DTCL_USE_STUBS=1
2d60: 20 2d 6f 20 24 40 20 2d 63 20 24 28 54 4f 50 29   -o $@ -c $(TOP)
2d70: 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63  /src/tclsqlite.c
2d80: 0a 0a 74 63 6c 73 71 6c 69 74 65 33 3a 09 74 63  ..tclsqlite3:.tc
2d90: 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f  lsqlite-shell.lo
2da0: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 61 0a 09   libsqlite3.la..
2db0: 24 28 4c 54 4c 49 4e 4b 29 20 2d 6f 20 74 63 6c  $(LTLINK) -o tcl
2dc0: 73 71 6c 69 74 65 33 20 74 63 6c 73 71 6c 69 74  sqlite3 tclsqlit
2dd0: 65 2d 73 68 65 6c 6c 2e 6c 6f 20 5c 0a 09 09 20  e-shell.lo \... 
2de0: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 61 20 24 28  libsqlite3.la $(
2df0: 4c 49 42 54 43 4c 29 0a 0a 74 65 73 74 66 69 78  LIBTCL)..testfix
2e00: 74 75 72 65 24 28 54 45 58 45 29 3a 09 24 28 54  ture$(TEXE):.$(T
2e10: 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74  OP)/src/tclsqlit
2e20: 65 2e 63 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c  e.c libsqlite3.l
2e30: 61 20 24 28 54 45 53 54 53 52 43 29 0a 09 24 28  a $(TESTSRC)..$(
2e40: 4c 54 4c 49 4e 4b 29 20 2d 44 54 43 4c 53 48 3d  LTLINK) -DTCLSH=
2e50: 31 20 2d 44 53 51 4c 49 54 45 5f 54 45 53 54 3d  1 -DSQLITE_TEST=
2e60: 31 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20  1 $(TEMP_STORE) 
2e70: 5c 0a 09 09 2d 6f 20 74 65 73 74 66 69 78 74 75  \...-o testfixtu
2e80: 72 65 20 24 28 54 45 53 54 53 52 43 29 20 24 28  re $(TESTSRC) $(
2e90: 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69  TOP)/src/tclsqli
2ea0: 74 65 2e 63 20 5c 0a 09 09 6c 69 62 73 71 6c 69  te.c \...libsqli
2eb0: 74 65 33 2e 6c 61 20 24 28 4c 49 42 54 43 4c 29  te3.la $(LIBTCL)
2ec0: 0a 0a 63 72 61 73 68 74 65 73 74 24 28 54 45 58  ..crashtest$(TEX
2ed0: 45 29 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 74  E):.$(TOP)/src/t
2ee0: 63 6c 73 71 6c 69 74 65 2e 63 20 6c 69 62 73 71  clsqlite.c libsq
2ef0: 6c 69 74 65 33 2e 6c 61 20 24 28 54 45 53 54 53  lite3.la $(TESTS
2f00: 52 43 29 20 24 28 54 4f 50 29 2f 73 72 63 2f 6f  RC) $(TOP)/src/o
2f10: 73 5f 74 65 73 74 2e 63 0a 09 24 28 4c 54 4c 49  s_test.c..$(LTLI
2f20: 4e 4b 29 20 2d 44 4f 53 5f 54 45 53 54 3d 31 20  NK) -DOS_TEST=1 
2f30: 2d 44 54 43 4c 53 48 3d 31 20 2d 44 53 51 4c 49  -DTCLSH=1 -DSQLI
2f40: 54 45 5f 54 45 53 54 3d 31 20 5c 0a 09 09 2d 6f  TE_TEST=1 \...-o
2f50: 20 63 72 61 73 68 74 65 73 74 20 5c 0a 09 09 24   crashtest \...$
2f60: 28 54 45 53 54 53 52 43 29 20 24 28 54 4f 50 29  (TESTSRC) $(TOP)
2f70: 2f 73 72 63 2f 6f 73 5f 74 65 73 74 2e 63 20 24  /src/os_test.c $
2f80: 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c  (TOP)/src/tclsql
2f90: 69 74 65 2e 63 20 5c 0a 09 09 6c 69 62 73 71 6c  ite.c \...libsql
2fa0: 69 74 65 33 2e 6c 61 20 24 28 4c 49 42 54 43 4c  ite3.la $(LIBTCL
2fb0: 29 0a 0a 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 74  )....fulltest:.t
2fc0: 65 73 74 66 69 78 74 75 72 65 24 28 54 45 58 45  estfixture$(TEXE
2fd0: 29 20 73 71 6c 69 74 65 33 24 28 54 45 58 45 29  ) sqlite3$(TEXE)
2fe0: 20 63 72 61 73 68 74 65 73 74 24 28 54 45 58 45   crashtest$(TEXE
2ff0: 29 0a 09 2e 2f 74 65 73 74 66 69 78 74 75 72 65  ).../testfixture
3000: 20 24 28 54 4f 50 29 2f 74 65 73 74 2f 61 6c 6c   $(TOP)/test/all
3010: 2e 74 65 73 74 0a 0a 74 65 73 74 3a 09 74 65 73  .test..test:.tes
3020: 74 66 69 78 74 75 72 65 24 28 54 45 58 45 29 20  tfixture$(TEXE) 
3030: 73 71 6c 69 74 65 33 24 28 54 45 58 45 29 0a 09  sqlite3$(TEXE)..
3040: 2e 2f 74 65 73 74 66 69 78 74 75 72 65 20 24 28  ./testfixture $(
3050: 54 4f 50 29 2f 74 65 73 74 2f 71 75 69 63 6b 2e  TOP)/test/quick.
3060: 74 65 73 74 0a 0a 73 71 6c 69 74 65 33 5f 61 6e  test..sqlite3_an
3070: 61 6c 79 7a 65 72 24 28 54 45 58 45 29 3a 09 24  alyzer$(TEXE):.$
3080: 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c  (TOP)/src/tclsql
3090: 69 74 65 2e 63 20 6c 69 62 74 63 6c 73 71 6c 69  ite.c libtclsqli
30a0: 74 65 33 2e 6c 61 20 5c 0a 09 09 09 09 24 28 54  te3.la \.....$(T
30b0: 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 2f 74  ESTSRC) $(TOP)/t
30c0: 6f 6f 6c 2f 73 70 61 63 65 61 6e 61 6c 2e 74 63  ool/spaceanal.tc
30d0: 6c 0a 09 73 65 64 20 5c 0a 09 20 20 2d 65 20 27  l..sed \..  -e '
30e0: 2f 5e 23 2f 64 27 20 5c 0a 09 20 20 2d 65 20 27  /^#/d' \..  -e '
30f0: 73 2c 5c 5c 2c 5c 5c 5c 5c 2c 67 27 20 5c 0a 09  s,\\,\\\\,g' \..
3100: 20 20 2d 65 20 27 73 2c 22 2c 5c 5c 22 2c 67 27    -e 's,",\\",g'
3110: 20 5c 0a 09 20 20 2d 65 20 27 73 2c 5e 2c 22 2c   \..  -e 's,^,",
3120: 27 20 5c 0a 09 20 20 2d 65 20 27 73 2c 24 24 2c  ' \..  -e 's,$$,
3130: 5c 5c 6e 22 2c 27 20 5c 0a 09 20 20 24 28 54 4f  \\n",' \..  $(TO
3140: 50 29 2f 74 6f 6f 6c 2f 73 70 61 63 65 61 6e 61  P)/tool/spaceana
3150: 6c 2e 74 63 6c 20 3e 73 70 61 63 65 61 6e 61 6c  l.tcl >spaceanal
3160: 5f 74 63 6c 2e 68 0a 09 24 28 4c 54 4c 49 4e 4b  _tcl.h..$(LTLINK
3170: 29 20 2d 44 54 43 4c 53 48 3d 32 20 2d 44 53 51  ) -DTCLSH=2 -DSQ
3180: 4c 49 54 45 5f 54 45 53 54 3d 31 20 24 28 54 45  LITE_TEST=1 $(TE
3190: 4d 50 5f 53 54 4f 52 45 29 5c 0a 20 20 20 20 20  MP_STORE)\.     
31a0: 20 20 20 20 20 20 20 20 20 20 20 2d 6f 20 73 71             -o sq
31b0: 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 24 28  lite3_analyzer$(
31c0: 45 58 45 29 20 24 28 54 45 53 54 53 52 43 29 20  EXE) $(TESTSRC) 
31d0: 24 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71  $(TOP)/src/tclsq
31e0: 6c 69 74 65 2e 63 20 5c 0a 09 09 6c 69 62 74 63  lite.c \...libtc
31f0: 6c 73 71 6c 69 74 65 33 2e 6c 61 20 24 28 4c 49  lsqlite3.la $(LI
3200: 42 54 43 4c 29 0a 0a 23 20 52 75 6c 65 73 20 75  BTCL)..# Rules u
3210: 73 65 64 20 74 6f 20 62 75 69 6c 64 20 64 6f 63  sed to build doc
3220: 75 6d 65 6e 74 61 74 69 6f 6e 0a 23 0a 61 72 63  umentation.#.arc
3230: 68 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77  h.html:.$(TOP)/w
3240: 77 77 2f 61 72 63 68 2e 74 63 6c 0a 09 74 63 6c  ww/arch.tcl..tcl
3250: 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 61 72  sh $(TOP)/www/ar
3260: 63 68 2e 74 63 6c 20 3e 61 72 63 68 2e 68 74 6d  ch.tcl >arch.htm
3270: 6c 0a 0a 61 72 63 68 32 2e 67 69 66 3a 09 24 28  l..arch2.gif:.$(
3280: 54 4f 50 29 2f 77 77 77 2f 61 72 63 68 32 2e 67  TOP)/www/arch2.g
3290: 69 66 0a 09 63 70 20 24 28 54 4f 50 29 2f 77 77  if..cp $(TOP)/ww
32a0: 77 2f 61 72 63 68 32 2e 67 69 66 20 2e 0a 0a 61  w/arch2.gif ...a
32b0: 75 74 6f 69 6e 63 2e 68 74 6d 6c 3a 09 24 28 54  utoinc.html:.$(T
32c0: 4f 50 29 2f 77 77 77 2f 61 75 74 6f 69 6e 63 2e  OP)/www/autoinc.
32d0: 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50  tcl..tclsh $(TOP
32e0: 29 2f 77 77 77 2f 61 75 74 6f 69 6e 63 2e 74 63  )/www/autoinc.tc
32f0: 6c 20 3e 61 75 74 6f 69 6e 63 2e 68 74 6d 6c 0a  l >autoinc.html.
3300: 0a 63 5f 69 6e 74 65 72 66 61 63 65 2e 68 74 6d  .c_interface.htm
3310: 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 63 5f  l:.$(TOP)/www/c_
3320: 69 6e 74 65 72 66 61 63 65 2e 74 63 6c 0a 09 74  interface.tcl..t
3330: 63 6c 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f  clsh $(TOP)/www/
3340: 63 5f 69 6e 74 65 72 66 61 63 65 2e 74 63 6c 20  c_interface.tcl 
3350: 3e 63 5f 69 6e 74 65 72 66 61 63 65 2e 68 74 6d  >c_interface.htm
3360: 6c 0a 0a 63 61 70 69 33 2e 68 74 6d 6c 3a 09 24  l..capi3.html:.$
3370: 28 54 4f 50 29 2f 77 77 77 2f 63 61 70 69 33 2e  (TOP)/www/capi3.
3380: 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50  tcl..tclsh $(TOP
3390: 29 2f 77 77 77 2f 63 61 70 69 33 2e 74 63 6c 20  )/www/capi3.tcl 
33a0: 3e 63 61 70 69 33 2e 68 74 6d 6c 0a 0a 63 61 70  >capi3.html..cap
33b0: 69 33 72 65 66 2e 68 74 6d 6c 3a 09 24 28 54 4f  i3ref.html:.$(TO
33c0: 50 29 2f 77 77 77 2f 63 61 70 69 33 72 65 66 2e  P)/www/capi3ref.
33d0: 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50  tcl..tclsh $(TOP
33e0: 29 2f 77 77 77 2f 63 61 70 69 33 72 65 66 2e 74  )/www/capi3ref.t
33f0: 63 6c 20 3e 63 61 70 69 33 72 65 66 2e 68 74 6d  cl >capi3ref.htm
3400: 6c 0a 0a 63 68 61 6e 67 65 73 2e 68 74 6d 6c 3a  l..changes.html:
3410: 09 24 28 54 4f 50 29 2f 77 77 77 2f 63 68 61 6e  .$(TOP)/www/chan
3420: 67 65 73 2e 74 63 6c 0a 09 74 63 6c 73 68 20 24  ges.tcl..tclsh $
3430: 28 54 4f 50 29 2f 77 77 77 2f 63 68 61 6e 67 65  (TOP)/www/change
3440: 73 2e 74 63 6c 20 3e 63 68 61 6e 67 65 73 2e 68  s.tcl >changes.h
3450: 74 6d 6c 0a 0a 63 6f 6d 70 69 6c 65 2e 68 74 6d  tml..compile.htm
3460: 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 63 6f  l:.$(TOP)/www/co
3470: 6d 70 69 6c 65 2e 74 63 6c 0a 09 74 63 6c 73 68  mpile.tcl..tclsh
3480: 20 24 28 54 4f 50 29 2f 77 77 77 2f 63 6f 6d 70   $(TOP)/www/comp
3490: 69 6c 65 2e 74 63 6c 20 3e 63 6f 6d 70 69 6c 65  ile.tcl >compile
34a0: 2e 68 74 6d 6c 0a 0a 63 6f 70 79 72 69 67 68 74  .html..copyright
34b0: 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77  .html:.$(TOP)/ww
34c0: 77 2f 63 6f 70 79 72 69 67 68 74 2e 74 63 6c 0a  w/copyright.tcl.
34d0: 09 74 63 6c 73 68 20 24 28 54 4f 50 29 2f 77 77  .tclsh $(TOP)/ww
34e0: 77 2f 63 6f 70 79 72 69 67 68 74 2e 74 63 6c 20  w/copyright.tcl 
34f0: 3e 63 6f 70 79 72 69 67 68 74 2e 68 74 6d 6c 0a  >copyright.html.
3500: 0a 63 6f 70 79 72 69 67 68 74 2d 72 65 6c 65 61  .copyright-relea
3510: 73 65 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f  se.html:.$(TOP)/
3520: 77 77 77 2f 63 6f 70 79 72 69 67 68 74 2d 72 65  www/copyright-re
3530: 6c 65 61 73 65 2e 68 74 6d 6c 0a 09 63 70 20 24  lease.html..cp $
3540: 28 54 4f 50 29 2f 77 77 77 2f 63 6f 70 79 72 69  (TOP)/www/copyri
3550: 67 68 74 2d 72 65 6c 65 61 73 65 2e 68 74 6d 6c  ght-release.html
3560: 20 2e 0a 0a 63 6f 70 79 72 69 67 68 74 2d 72 65   ...copyright-re
3570: 6c 65 61 73 65 2e 70 64 66 3a 09 24 28 54 4f 50  lease.pdf:.$(TOP
3580: 29 2f 77 77 77 2f 63 6f 70 79 72 69 67 68 74 2d  )/www/copyright-
3590: 72 65 6c 65 61 73 65 2e 70 64 66 0a 09 63 70 20  release.pdf..cp 
35a0: 24 28 54 4f 50 29 2f 77 77 77 2f 63 6f 70 79 72  $(TOP)/www/copyr
35b0: 69 67 68 74 2d 72 65 6c 65 61 73 65 2e 70 64 66  ight-release.pdf
35c0: 20 2e 0a 0a 63 6f 6d 6d 6f 6e 2e 74 63 6c 3a 09   ...common.tcl:.
35d0: 24 28 54 4f 50 29 2f 77 77 77 2f 63 6f 6d 6d 6f  $(TOP)/www/commo
35e0: 6e 2e 74 63 6c 0a 09 63 70 20 24 28 54 4f 50 29  n.tcl..cp $(TOP)
35f0: 2f 77 77 77 2f 63 6f 6d 6d 6f 6e 2e 74 63 6c 20  /www/common.tcl 
3600: 2e 0a 0a 63 6f 6e 66 6c 69 63 74 2e 68 74 6d 6c  ...conflict.html
3610: 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 63 6f 6e  :.$(TOP)/www/con
3620: 66 6c 69 63 74 2e 74 63 6c 0a 09 74 63 6c 73 68  flict.tcl..tclsh
3630: 20 24 28 54 4f 50 29 2f 77 77 77 2f 63 6f 6e 66   $(TOP)/www/conf
3640: 6c 69 63 74 2e 74 63 6c 20 3e 63 6f 6e 66 6c 69  lict.tcl >confli
3650: 63 74 2e 68 74 6d 6c 0a 0a 64 61 74 61 74 79 70  ct.html..datatyp
3660: 65 73 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f  es.html:.$(TOP)/
3670: 77 77 77 2f 64 61 74 61 74 79 70 65 73 2e 74 63  www/datatypes.tc
3680: 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50 29 2f  l..tclsh $(TOP)/
3690: 77 77 77 2f 64 61 74 61 74 79 70 65 73 2e 74 63  www/datatypes.tc
36a0: 6c 20 3e 64 61 74 61 74 79 70 65 73 2e 68 74 6d  l >datatypes.htm
36b0: 6c 0a 0a 64 61 74 61 74 79 70 65 33 2e 68 74 6d  l..datatype3.htm
36c0: 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 64 61  l:.$(TOP)/www/da
36d0: 74 61 74 79 70 65 33 2e 74 63 6c 0a 09 74 63 6c  tatype3.tcl..tcl
36e0: 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 64 61  sh $(TOP)/www/da
36f0: 74 61 74 79 70 65 33 2e 74 63 6c 20 3e 64 61 74  tatype3.tcl >dat
3700: 61 74 79 70 65 33 2e 68 74 6d 6c 0a 0a 64 6f 63  atype3.html..doc
3710: 73 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77  s.html:.$(TOP)/w
3720: 77 77 2f 64 6f 63 73 2e 74 63 6c 0a 09 74 63 6c  ww/docs.tcl..tcl
3730: 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 64 6f  sh $(TOP)/www/do
3740: 63 73 2e 74 63 6c 20 3e 64 6f 63 73 2e 68 74 6d  cs.tcl >docs.htm
3750: 6c 0a 0a 64 6f 77 6e 6c 6f 61 64 2e 68 74 6d 6c  l..download.html
3760: 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 64 6f 77  :.$(TOP)/www/dow
3770: 6e 6c 6f 61 64 2e 74 63 6c 0a 09 6d 6b 64 69 72  nload.tcl..mkdir
3780: 20 2d 70 20 64 6f 63 0a 09 74 63 6c 73 68 20 24   -p doc..tclsh $
3790: 28 54 4f 50 29 2f 77 77 77 2f 64 6f 77 6e 6c 6f  (TOP)/www/downlo
37a0: 61 64 2e 74 63 6c 20 3e 64 6f 77 6e 6c 6f 61 64  ad.tcl >download
37b0: 2e 68 74 6d 6c 0a 0a 66 61 71 2e 68 74 6d 6c 3a  .html..faq.html:
37c0: 09 24 28 54 4f 50 29 2f 77 77 77 2f 66 61 71 2e  .$(TOP)/www/faq.
37d0: 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50  tcl..tclsh $(TOP
37e0: 29 2f 77 77 77 2f 66 61 71 2e 74 63 6c 20 3e 66  )/www/faq.tcl >f
37f0: 61 71 2e 68 74 6d 6c 0a 0a 66 69 6c 65 66 6f 72  aq.html..filefor
3800: 6d 61 74 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29  mat.html:.$(TOP)
3810: 2f 77 77 77 2f 66 69 6c 65 66 6f 72 6d 61 74 2e  /www/fileformat.
3820: 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50  tcl..tclsh $(TOP
3830: 29 2f 77 77 77 2f 66 69 6c 65 66 6f 72 6d 61 74  )/www/fileformat
3840: 2e 74 63 6c 20 3e 66 69 6c 65 66 6f 72 6d 61 74  .tcl >fileformat
3850: 2e 68 74 6d 6c 0a 0a 66 6f 72 6d 61 74 63 68 6e  .html..formatchn
3860: 67 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77  g.html:.$(TOP)/w
3870: 77 77 2f 66 6f 72 6d 61 74 63 68 6e 67 2e 74 63  ww/formatchng.tc
3880: 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50 29 2f  l..tclsh $(TOP)/
3890: 77 77 77 2f 66 6f 72 6d 61 74 63 68 6e 67 2e 74  www/formatchng.t
38a0: 63 6c 20 3e 66 6f 72 6d 61 74 63 68 6e 67 2e 68  cl >formatchng.h
38b0: 74 6d 6c 0a 0a 69 6e 64 65 78 2e 68 74 6d 6c 3a  tml..index.html:
38c0: 09 24 28 54 4f 50 29 2f 77 77 77 2f 69 6e 64 65  .$(TOP)/www/inde
38d0: 78 2e 74 63 6c 20 6c 61 73 74 5f 63 68 61 6e 67  x.tcl last_chang
38e0: 65 0a 09 74 63 6c 73 68 20 24 28 54 4f 50 29 2f  e..tclsh $(TOP)/
38f0: 77 77 77 2f 69 6e 64 65 78 2e 74 63 6c 20 3e 69  www/index.tcl >i
3900: 6e 64 65 78 2e 68 74 6d 6c 0a 0a 6c 61 6e 67 2e  ndex.html..lang.
3910: 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77  html:.$(TOP)/www
3920: 2f 6c 61 6e 67 2e 74 63 6c 0a 09 74 63 6c 73 68  /lang.tcl..tclsh
3930: 20 24 28 54 4f 50 29 2f 77 77 77 2f 6c 61 6e 67   $(TOP)/www/lang
3940: 2e 74 63 6c 20 3e 6c 61 6e 67 2e 68 74 6d 6c 0a  .tcl >lang.html.
3950: 0a 70 72 61 67 6d 61 2e 68 74 6d 6c 3a 09 24 28  .pragma.html:.$(
3960: 54 4f 50 29 2f 77 77 77 2f 70 72 61 67 6d 61 2e  TOP)/www/pragma.
3970: 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50  tcl..tclsh $(TOP
3980: 29 2f 77 77 77 2f 70 72 61 67 6d 61 2e 74 63 6c  )/www/pragma.tcl
3990: 20 3e 70 72 61 67 6d 61 2e 68 74 6d 6c 0a 0a 6c   >pragma.html..l
39a0: 6f 63 6b 69 6e 67 76 33 2e 68 74 6d 6c 3a 09 24  ockingv3.html:.$
39b0: 28 54 4f 50 29 2f 77 77 77 2f 6c 6f 63 6b 69 6e  (TOP)/www/lockin
39c0: 67 76 33 2e 74 63 6c 0a 09 74 63 6c 73 68 20 24  gv3.tcl..tclsh $
39d0: 28 54 4f 50 29 2f 77 77 77 2f 6c 6f 63 6b 69 6e  (TOP)/www/lockin
39e0: 67 76 33 2e 74 63 6c 20 3e 6c 6f 63 6b 69 6e 67  gv3.tcl >locking
39f0: 76 33 2e 68 74 6d 6c 0a 0a 6f 6c 64 6e 65 77 73  v3.html..oldnews
3a00: 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77  .html:.$(TOP)/ww
3a10: 77 2f 6f 6c 64 6e 65 77 73 2e 74 63 6c 0a 09 74  w/oldnews.tcl..t
3a20: 63 6c 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f  clsh $(TOP)/www/
3a30: 6f 6c 64 6e 65 77 73 2e 74 63 6c 20 3e 6f 6c 64  oldnews.tcl >old
3a40: 6e 65 77 73 2e 68 74 6d 6c 0a 0a 6f 6d 69 74 74  news.html..omitt
3a50: 65 64 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f  ed.html:.$(TOP)/
3a60: 77 77 77 2f 6f 6d 69 74 74 65 64 2e 74 63 6c 0a  www/omitted.tcl.
3a70: 09 74 63 6c 73 68 20 24 28 54 4f 50 29 2f 77 77  .tclsh $(TOP)/ww
3a80: 77 2f 6f 6d 69 74 74 65 64 2e 74 63 6c 20 3e 6f  w/omitted.tcl >o
3a90: 6d 69 74 74 65 64 2e 68 74 6d 6c 0a 0a 6f 70 63  mitted.html..opc
3aa0: 6f 64 65 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29  ode.html:.$(TOP)
3ab0: 2f 77 77 77 2f 6f 70 63 6f 64 65 2e 74 63 6c 20  /www/opcode.tcl 
3ac0: 24 28 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 2e  $(TOP)/src/vdbe.
3ad0: 63 0a 09 74 63 6c 73 68 20 24 28 54 4f 50 29 2f  c..tclsh $(TOP)/
3ae0: 77 77 77 2f 6f 70 63 6f 64 65 2e 74 63 6c 20 24  www/opcode.tcl $
3af0: 28 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 2e 63  (TOP)/src/vdbe.c
3b00: 20 3e 6f 70 63 6f 64 65 2e 68 74 6d 6c 0a 0a 6d   >opcode.html..m
3b10: 69 6e 67 77 2e 68 74 6d 6c 3a 09 24 28 54 4f 50  ingw.html:.$(TOP
3b20: 29 2f 77 77 77 2f 6d 69 6e 67 77 2e 74 63 6c 0a  )/www/mingw.tcl.
3b30: 09 74 63 6c 73 68 20 24 28 54 4f 50 29 2f 77 77  .tclsh $(TOP)/ww
3b40: 77 2f 6d 69 6e 67 77 2e 74 63 6c 20 3e 6d 69 6e  w/mingw.tcl >min
3b50: 67 77 2e 68 74 6d 6c 0a 0a 6e 75 6c 6c 73 2e 68  gw.html..nulls.h
3b60: 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f  tml:.$(TOP)/www/
3b70: 6e 75 6c 6c 73 2e 74 63 6c 0a 09 74 63 6c 73 68  nulls.tcl..tclsh
3b80: 20 24 28 54 4f 50 29 2f 77 77 77 2f 6e 75 6c 6c   $(TOP)/www/null
3b90: 73 2e 74 63 6c 20 3e 6e 75 6c 6c 73 2e 68 74 6d  s.tcl >nulls.htm
3ba0: 6c 0a 0a 71 75 69 63 6b 73 74 61 72 74 2e 68 74  l..quickstart.ht
3bb0: 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 71  ml:.$(TOP)/www/q
3bc0: 75 69 63 6b 73 74 61 72 74 2e 74 63 6c 0a 09 74  uickstart.tcl..t
3bd0: 63 6c 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f  clsh $(TOP)/www/
3be0: 71 75 69 63 6b 73 74 61 72 74 2e 74 63 6c 20 3e  quickstart.tcl >
3bf0: 71 75 69 63 6b 73 74 61 72 74 2e 68 74 6d 6c 0a  quickstart.html.
3c00: 0a 73 70 65 65 64 2e 68 74 6d 6c 3a 09 24 28 54  .speed.html:.$(T
3c10: 4f 50 29 2f 77 77 77 2f 73 70 65 65 64 2e 74 63  OP)/www/speed.tc
3c20: 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50 29 2f  l..tclsh $(TOP)/
3c30: 77 77 77 2f 73 70 65 65 64 2e 74 63 6c 20 3e 73  www/speed.tcl >s
3c40: 70 65 65 64 2e 68 74 6d 6c 0a 0a 73 71 6c 69 74  peed.html..sqlit
3c50: 65 2e 67 69 66 3a 09 24 28 54 4f 50 29 2f 61 72  e.gif:.$(TOP)/ar
3c60: 74 2f 53 51 4c 69 74 65 2e 67 69 66 0a 09 63 70  t/SQLite.gif..cp
3c70: 20 24 28 54 4f 50 29 2f 61 72 74 2f 53 51 4c 69   $(TOP)/art/SQLi
3c80: 74 65 2e 67 69 66 20 73 71 6c 69 74 65 2e 67 69  te.gif sqlite.gi
3c90: 66 0a 0a 73 71 6c 69 74 65 2e 68 74 6d 6c 3a 09  f..sqlite.html:.
3ca0: 24 28 54 4f 50 29 2f 77 77 77 2f 73 71 6c 69 74  $(TOP)/www/sqlit
3cb0: 65 2e 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54  e.tcl..tclsh $(T
3cc0: 4f 50 29 2f 77 77 77 2f 73 71 6c 69 74 65 2e 74  OP)/www/sqlite.t
3cd0: 63 6c 20 3e 73 71 6c 69 74 65 2e 68 74 6d 6c 0a  cl >sqlite.html.
3ce0: 0a 73 75 70 70 6f 72 74 2e 68 74 6d 6c 3a 09 24  .support.html:.$
3cf0: 28 54 4f 50 29 2f 77 77 77 2f 73 75 70 70 6f 72  (TOP)/www/suppor
3d00: 74 2e 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54  t.tcl..tclsh $(T
3d10: 4f 50 29 2f 77 77 77 2f 73 75 70 70 6f 72 74 2e  OP)/www/support.
3d20: 74 63 6c 20 3e 73 75 70 70 6f 72 74 2e 68 74 6d  tcl >support.htm
3d30: 6c 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 68 74 6d  l..tclsqlite.htm
3d40: 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 74 63  l:.$(TOP)/www/tc
3d50: 6c 73 71 6c 69 74 65 2e 74 63 6c 0a 09 74 63 6c  lsqlite.tcl..tcl
3d60: 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 74 63  sh $(TOP)/www/tc
3d70: 6c 73 71 6c 69 74 65 2e 74 63 6c 20 3e 74 63 6c  lsqlite.tcl >tcl
3d80: 73 71 6c 69 74 65 2e 68 74 6d 6c 0a 0a 76 64 62  sqlite.html..vdb
3d90: 65 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77  e.html:.$(TOP)/w
3da0: 77 77 2f 76 64 62 65 2e 74 63 6c 0a 09 74 63 6c  ww/vdbe.tcl..tcl
3db0: 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 76 64  sh $(TOP)/www/vd
3dc0: 62 65 2e 74 63 6c 20 3e 76 64 62 65 2e 68 74 6d  be.tcl >vdbe.htm
3dd0: 6c 0a 0a 76 65 72 73 69 6f 6e 33 2e 68 74 6d 6c  l..version3.html
3de0: 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 76 65 72  :.$(TOP)/www/ver
3df0: 73 69 6f 6e 33 2e 74 63 6c 0a 09 74 63 6c 73 68  sion3.tcl..tclsh
3e00: 20 24 28 54 4f 50 29 2f 77 77 77 2f 76 65 72 73   $(TOP)/www/vers
3e10: 69 6f 6e 33 2e 74 63 6c 20 3e 76 65 72 73 69 6f  ion3.tcl >versio
3e20: 6e 33 2e 68 74 6d 6c 0a 0a 0a 23 20 46 69 6c 65  n3.html...# File
3e30: 73 20 74 6f 20 62 65 20 70 75 62 6c 69 73 68 65  s to be publishe
3e40: 64 20 6f 6e 20 74 68 65 20 77 65 62 73 69 74 65  d on the website
3e50: 2e 0a 23 0a 44 4f 43 20 3d 20 5c 0a 20 20 61 72  ..#.DOC = \.  ar
3e60: 63 68 2e 68 74 6d 6c 20 5c 0a 20 20 61 72 63 68  ch.html \.  arch
3e70: 32 2e 67 69 66 20 5c 0a 20 20 61 75 74 6f 69 6e  2.gif \.  autoin
3e80: 63 2e 68 74 6d 6c 20 5c 0a 20 20 63 5f 69 6e 74  c.html \.  c_int
3e90: 65 72 66 61 63 65 2e 68 74 6d 6c 20 5c 0a 20 20  erface.html \.  
3ea0: 63 61 70 69 33 2e 68 74 6d 6c 20 5c 0a 20 20 63  capi3.html \.  c
3eb0: 61 70 69 33 72 65 66 2e 68 74 6d 6c 20 5c 0a 20  api3ref.html \. 
3ec0: 20 63 68 61 6e 67 65 73 2e 68 74 6d 6c 20 5c 0a   changes.html \.
3ed0: 20 20 63 6f 6d 70 69 6c 65 2e 68 74 6d 6c 20 5c    compile.html \
3ee0: 0a 20 20 63 6f 70 79 72 69 67 68 74 2e 68 74 6d  .  copyright.htm
3ef0: 6c 20 5c 0a 20 20 63 6f 70 79 72 69 67 68 74 2d  l \.  copyright-
3f00: 72 65 6c 65 61 73 65 2e 68 74 6d 6c 20 5c 0a 20  release.html \. 
3f10: 20 63 6f 70 79 72 69 67 68 74 2d 72 65 6c 65 61   copyright-relea
3f20: 73 65 2e 70 64 66 20 5c 0a 20 20 63 6f 6e 66 6c  se.pdf \.  confl
3f30: 69 63 74 2e 68 74 6d 6c 20 5c 0a 20 20 64 61 74  ict.html \.  dat
3f40: 61 74 79 70 65 73 2e 68 74 6d 6c 20 5c 0a 20 20  atypes.html \.  
3f50: 64 61 74 61 74 79 70 65 33 2e 68 74 6d 6c 20 5c  datatype3.html \
3f60: 0a 20 20 64 6f 63 73 2e 68 74 6d 6c 20 5c 0a 20  .  docs.html \. 
3f70: 20 64 6f 77 6e 6c 6f 61 64 2e 68 74 6d 6c 20 5c   download.html \
3f80: 0a 20 20 66 61 71 2e 68 74 6d 6c 20 5c 0a 20 20  .  faq.html \.  
3f90: 66 69 6c 65 66 6f 72 6d 61 74 2e 68 74 6d 6c 20  fileformat.html 
3fa0: 5c 0a 20 20 66 6f 72 6d 61 74 63 68 6e 67 2e 68  \.  formatchng.h
3fb0: 74 6d 6c 20 5c 0a 20 20 69 6e 64 65 78 2e 68 74  tml \.  index.ht
3fc0: 6d 6c 20 5c 0a 20 20 6c 61 6e 67 2e 68 74 6d 6c  ml \.  lang.html
3fd0: 20 5c 0a 20 20 6c 6f 63 6b 69 6e 67 76 33 2e 68   \.  lockingv3.h
3fe0: 74 6d 6c 20 5c 0a 20 20 6d 69 6e 67 77 2e 68 74  tml \.  mingw.ht
3ff0: 6d 6c 20 5c 0a 20 20 6e 75 6c 6c 73 2e 68 74 6d  ml \.  nulls.htm
4000: 6c 20 5c 0a 20 20 6f 6c 64 6e 65 77 73 2e 68 74  l \.  oldnews.ht
4010: 6d 6c 20 5c 0a 20 20 6f 6d 69 74 74 65 64 2e 68  ml \.  omitted.h
4020: 74 6d 6c 20 5c 0a 20 20 6f 70 63 6f 64 65 2e 68  tml \.  opcode.h
4030: 74 6d 6c 20 5c 0a 20 20 70 72 61 67 6d 61 2e 68  tml \.  pragma.h
4040: 74 6d 6c 20 5c 0a 20 20 71 75 69 63 6b 73 74 61  tml \.  quicksta
4050: 72 74 2e 68 74 6d 6c 20 5c 0a 20 20 73 70 65 65  rt.html \.  spee
4060: 64 2e 68 74 6d 6c 20 5c 0a 20 20 73 71 6c 69 74  d.html \.  sqlit
4070: 65 2e 67 69 66 20 5c 0a 20 20 73 71 6c 69 74 65  e.gif \.  sqlite
4080: 2e 68 74 6d 6c 20 5c 0a 20 20 73 75 70 70 6f 72  .html \.  suppor
4090: 74 2e 68 74 6d 6c 20 5c 0a 20 20 74 63 6c 73 71  t.html \.  tclsq
40a0: 6c 69 74 65 2e 68 74 6d 6c 20 5c 0a 20 20 76 64  lite.html \.  vd
40b0: 62 65 2e 68 74 6d 6c 20 5c 0a 20 20 76 65 72 73  be.html \.  vers
40c0: 69 6f 6e 33 2e 68 74 6d 6c 20 0a 0a 64 6f 63 3a  ion3.html ..doc:
40d0: 09 63 6f 6d 6d 6f 6e 2e 74 63 6c 20 24 28 44 4f  .common.tcl $(DO
40e0: 43 29 0a 09 6d 6b 64 69 72 20 2d 70 20 64 6f 63  C)..mkdir -p doc
40f0: 0a 09 6d 76 20 24 28 44 4f 43 29 20 64 6f 63 0a  ..mv $(DOC) doc.
4100: 0a 69 6e 73 74 61 6c 6c 3a 09 73 71 6c 69 74 65  .install:.sqlite
4110: 33 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 61 20  3 libsqlite3.la 
4120: 73 71 6c 69 74 65 33 2e 68 20 24 7b 48 41 56 45  sqlite3.h ${HAVE
4130: 5f 54 43 4c 3a 31 3d 74 63 6c 5f 69 6e 73 74 61  _TCL:1=tcl_insta
4140: 6c 6c 7d 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20  ll}..$(INSTALL) 
4150: 2d 64 20 24 28 44 45 53 54 44 49 52 29 24 28 6c  -d $(DESTDIR)$(l
4160: 69 62 64 69 72 29 0a 09 24 28 4c 54 49 4e 53 54  ibdir)..$(LTINST
4170: 41 4c 4c 29 20 6c 69 62 73 71 6c 69 74 65 33 2e  ALL) libsqlite3.
4180: 6c 61 20 24 28 44 45 53 54 44 49 52 29 24 28 6c  la $(DESTDIR)$(l
4190: 69 62 64 69 72 29 0a 09 24 28 49 4e 53 54 41 4c  ibdir)..$(INSTAL
41a0: 4c 29 20 2d 64 20 24 28 44 45 53 54 44 49 52 29  L) -d $(DESTDIR)
41b0: 24 28 65 78 65 63 5f 70 72 65 66 69 78 29 2f 62  $(exec_prefix)/b
41c0: 69 6e 0a 09 24 28 4c 54 49 4e 53 54 41 4c 4c 29  in..$(LTINSTALL)
41d0: 20 73 71 6c 69 74 65 33 20 24 28 44 45 53 54 44   sqlite3 $(DESTD
41e0: 49 52 29 24 28 65 78 65 63 5f 70 72 65 66 69 78  IR)$(exec_prefix
41f0: 29 2f 62 69 6e 0a 09 24 28 49 4e 53 54 41 4c 4c  )/bin..$(INSTALL
4200: 29 20 2d 64 20 24 28 44 45 53 54 44 49 52 29 24  ) -d $(DESTDIR)$
4210: 28 70 72 65 66 69 78 29 2f 69 6e 63 6c 75 64 65  (prefix)/include
4220: 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 2d 6d 20  ..$(INSTALL) -m 
4230: 30 36 34 34 20 73 71 6c 69 74 65 33 2e 68 20 24  0644 sqlite3.h $
4240: 28 44 45 53 54 44 49 52 29 24 28 70 72 65 66 69  (DESTDIR)$(prefi
4250: 78 29 2f 69 6e 63 6c 75 64 65 0a 09 24 28 49 4e  x)/include..$(IN
4260: 53 54 41 4c 4c 29 20 2d 64 20 24 28 44 45 53 54  STALL) -d $(DEST
4270: 44 49 52 29 24 28 6c 69 62 64 69 72 29 2f 70 6b  DIR)$(libdir)/pk
4280: 67 63 6f 6e 66 69 67 3b 20 0a 09 24 28 49 4e 53  gconfig; ..$(INS
4290: 54 41 4c 4c 29 20 2d 6d 20 30 36 34 34 20 73 71  TALL) -m 0644 sq
42a0: 6c 69 74 65 33 2e 70 63 20 24 28 44 45 53 54 44  lite3.pc $(DESTD
42b0: 49 52 29 24 28 6c 69 62 64 69 72 29 2f 70 6b 67  IR)$(libdir)/pkg
42c0: 63 6f 6e 66 69 67 3b 20 0a 0a 74 63 6c 5f 69 6e  config; ..tcl_in
42d0: 73 74 61 6c 6c 3a 09 6c 69 62 74 63 6c 73 71 6c  stall:.libtclsql
42e0: 69 74 65 33 2e 6c 61 0a 09 74 63 6c 73 68 20 24  ite3.la..tclsh $
42f0: 28 54 4f 50 29 2f 74 63 6c 69 6e 73 74 61 6c 6c  (TOP)/tclinstall
4300: 65 72 2e 74 63 6c 20 24 28 56 45 52 53 49 4f 4e  er.tcl $(VERSION
4310: 29 0a 0a 63 6c 65 61 6e 3a 09 0a 09 72 6d 20 2d  )..clean:...rm -
4320: 66 20 2a 2e 6c 6f 20 2a 2e 6c 61 20 2a 2e 6f 20  f *.lo *.la *.o 
4330: 73 71 6c 69 74 65 33 24 28 54 45 58 45 29 20 6c  sqlite3$(TEXE) l
4340: 69 62 73 71 6c 69 74 65 33 2e 6c 61 0a 09 72 6d  ibsqlite3.la..rm
4350: 20 2d 66 20 73 71 6c 69 74 65 33 2e 68 20 6f 70   -f sqlite3.h op
4360: 63 6f 64 65 73 2e 2a 0a 09 72 6d 20 2d 72 66 20  codes.*..rm -rf 
4370: 2e 6c 69 62 73 20 2e 64 65 70 73 20 0a 09 72 6d  .libs .deps ..rm
4380: 20 2d 66 20 6c 65 6d 6f 6e 24 28 42 45 58 45 29   -f lemon$(BEXE)
4390: 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73 65 2e   lempar.c parse.
43a0: 2a 20 73 71 6c 69 74 65 2a 2e 74 61 72 2e 67 7a  * sqlite*.tar.gz
43b0: 0a 09 72 6d 20 2d 66 20 6d 6b 6b 65 79 77 6f 72  ..rm -f mkkeywor
43c0: 64 68 61 73 68 24 28 42 45 58 45 29 20 6b 65 79  dhash$(BEXE) key
43d0: 77 6f 72 64 68 61 73 68 2e 68 0a 09 72 6d 20 2d  wordhash.h..rm -
43e0: 66 20 24 28 50 55 42 4c 49 53 48 29 0a 09 72 6d  f $(PUBLISH)..rm
43f0: 20 2d 66 20 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e   -f *.da *.bb *.
4400: 62 62 67 20 67 6d 6f 6e 2e 6f 75 74 0a 09 72 6d  bbg gmon.out..rm
4410: 20 2d 66 20 74 65 73 74 66 69 78 74 75 72 65 24   -f testfixture$
4420: 28 54 45 58 45 29 20 74 65 73 74 2e 64 62 0a 09  (TEXE) test.db..
4430: 72 6d 20 2d 72 66 20 64 6f 63 0a 09 72 6d 20 2d  rm -rf doc..rm -
4440: 66 20 63 6f 6d 6d 6f 6e 2e 74 63 6c 0a 09 72 6d  f common.tcl..rm
4450: 20 2d 66 20 73 71 6c 69 74 65 33 2e 64 6c 6c 20   -f sqlite3.dll 
4460: 73 71 6c 69 74 65 33 2e 6c 69 62 0a 0a 23 0a 23  sqlite3.lib..#.#
4470: 20 57 69 6e 64 6f 77 73 20 73 65 63 74 69 6f 6e   Windows section
4480: 3b 20 61 6c 6c 20 74 68 69 73 20 66 75 6e 6b 79  ; all this funky
4490: 20 2e 64 6c 6c 20 73 74 75 66 66 20 3b 2d 29 0a   .dll stuff ;-).
44a0: 23 0a 64 6c 6c 3a 20 73 71 6c 69 74 65 33 2e 64  #.dll: sqlite3.d
44b0: 6c 6c 0a 0a 52 45 41 4c 5f 4c 49 42 4f 42 4a 20  ll..REAL_LIBOBJ 
44c0: 3d 20 24 28 4c 49 42 4f 42 4a 3a 25 2e 6c 6f 3d  = $(LIBOBJ:%.lo=
44d0: 2e 6c 69 62 73 2f 25 2e 6f 29 0a 0a 73 71 6c 69  .libs/%.o)..sqli
44e0: 74 65 33 2e 64 6c 6c 3a 20 24 28 4c 49 42 4f 42  te3.dll: $(LIBOB
44f0: 4a 29 20 24 28 54 4f 50 29 2f 73 71 6c 69 74 65  J) $(TOP)/sqlite
4500: 33 2e 64 65 66 0a 09 64 6c 6c 77 72 61 70 20 2d  3.def..dllwrap -
4510: 2d 64 6c 6c 6e 61 6d 65 20 73 71 6c 69 74 65 33  -dllname sqlite3
4520: 2e 64 6c 6c 20 2d 2d 64 65 66 20 24 28 54 4f 50  .dll --def $(TOP
4530: 29 2f 73 71 6c 69 74 65 33 2e 64 65 66 20 24 28  )/sqlite3.def $(
4540: 52 45 41 4c 5f 4c 49 42 4f 42 4a 29 0a 09 73 74  REAL_LIBOBJ)..st
4550: 72 69 70 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  rip sqlite3.dll.
4560: 0a 23 74 61 72 67 65 74 20 66 6f 72 20 64 6c 6c  .#target for dll
4570: 20 69 6d 70 6f 72 74 20 6c 69 62 72 61 72 69 65   import librarie
4580: 73 0a 69 6d 70 6c 69 62 3a 20 73 71 6c 69 74 65  s.implib: sqlite
4590: 33 2e 6c 69 62 20 0a 0a 23 6d 61 6b 65 20 42 6f  3.lib ..#make Bo
45a0: 72 6c 61 6e 64 20 43 2b 2b 20 61 6e 64 2f 6f 72  rland C++ and/or
45b0: 20 4d 69 63 72 6f 73 6f 66 74 20 56 43 20 69 6d   Microsoft VC im
45c0: 70 6f 72 74 20 6c 69 62 72 61 72 79 20 66 6f 72  port library for
45d0: 20 74 68 65 20 64 6c 6c 0a 23 20 20 20 69 67 6e   the dll.#   ign
45e0: 6f 72 65 20 61 6e 79 20 65 72 72 6f 72 73 20 28  ore any errors (
45f0: 75 73 75 61 6c 6c 79 20 64 75 65 20 74 6f 20 6d  usually due to m
4600: 69 73 73 69 6e 67 20 70 72 6f 67 72 61 6d 73 29  issing programs)
4610: 0a 73 71 6c 69 74 65 33 2e 6c 69 62 3a 20 73 71  .sqlite3.lib: sq
4620: 6c 69 74 65 33 2e 64 6c 6c 0a 09 2d 69 6d 70 64  lite3.dll..-impd
4630: 65 66 20 2d 61 20 73 71 6c 69 74 65 33 2e 64 65  ef -a sqlite3.de
4640: 66 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 09 2d  f sqlite3.dll..-
4650: 69 6d 70 6c 69 62 20 73 71 6c 69 74 65 33 2e 6c  implib sqlite3.l
4660: 69 62 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 09  ib sqlite3.def..
4670: 2d 6c 69 62 20 2f 6d 61 63 68 69 6e 65 3a 69 33  -lib /machine:i3
4680: 38 36 20 2f 64 65 66 3a 24 28 54 4f 50 29 2f 73  86 /def:$(TOP)/s
4690: 71 6c 69 74 65 33 2e 64 65 66 20 0a 0a 64 69 73  qlite3.def ..dis
46a0: 74 63 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a 09 72  tclean:.clean..r
46b0: 6d 20 2d 66 20 63 6f 6e 66 69 67 2e 6c 6f 67 20  m -f config.log 
46c0: 63 6f 6e 66 69 67 2e 73 74 61 74 75 73 20 6c 69  config.status li
46d0: 62 74 6f 6f 6c 20 4d 61 6b 65 66 69 6c 65 20 63  btool Makefile c
46e0: 6f 6e 66 69 67 2e 68 0a                          onfig.h.