/ Hex Artifact Content
Login

Artifact 89e373b2dad0321df00400fa968dc14b61a03296:


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 69 73 20  ITE.#.# This is 
0030: 61 20 74 65 6d 70 6c 61 74 65 20 6d 61 6b 65 66  a template makef
0040: 69 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 2e 20  ile for SQLite. 
0050: 20 4d 6f 73 74 20 70 65 6f 70 6c 65 20 70 72 65   Most people pre
0060: 66 65 72 20 74 6f 0a 23 20 75 73 65 20 74 68 65  fer to.# use the
0070: 20 61 75 74 6f 63 6f 6e 66 20 67 65 6e 65 72 61   autoconf genera
0080: 74 65 64 20 22 63 6f 6e 66 69 67 75 72 65 22 20  ted "configure" 
0090: 73 63 72 69 70 74 20 74 6f 20 67 65 6e 65 72 61  script to genera
00a0: 74 65 20 74 68 65 0a 23 20 6d 61 6b 65 66 69 6c  te the.# makefil
00b0: 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e  e automatically.
00c0: 20 20 42 75 74 20 74 68 61 74 20 64 6f 65 73 20    But that does 
00d0: 6e 6f 74 20 77 6f 72 6b 20 66 6f 72 20 65 76 65  not work for eve
00e0: 72 79 62 6f 64 79 0a 23 20 61 6e 64 20 69 6e 20  rybody.# and in 
00f0: 65 76 65 72 79 20 73 69 74 75 61 74 69 6f 6e 2e  every situation.
0100: 20 20 49 66 20 79 6f 75 20 61 72 65 20 68 61 76    If you are hav
0110: 69 6e 67 20 70 72 6f 62 6c 65 6d 73 20 77 69 74  ing problems wit
0120: 68 20 74 68 65 0a 23 20 22 63 6f 6e 66 69 67 75  h the.# "configu
0130: 72 65 22 20 73 63 72 69 70 74 2c 20 79 6f 75 20  re" script, you 
0140: 6d 69 67 68 74 20 77 61 6e 74 20 74 6f 20 74 72  might want to tr
0150: 79 20 74 68 69 73 20 6d 61 6b 65 66 69 6c 65 20  y this makefile 
0160: 61 73 20 61 6e 0a 23 20 61 6c 74 65 72 6e 61 74  as an.# alternat
0170: 69 76 65 2e 20 20 43 72 65 61 74 65 20 61 20 63  ive.  Create a c
0180: 6f 70 79 20 6f 66 20 74 68 69 73 20 66 69 6c 65  opy of this file
0190: 2c 20 65 64 69 74 20 74 68 65 20 70 61 72 61 6d  , edit the param
01a0: 65 74 65 72 73 0a 23 20 62 65 6c 6f 77 20 61 6e  eters.# below an
01b0: 64 20 74 79 70 65 20 22 6d 61 6b 65 22 2e 0a 23  d type "make"..#
01c0: 0a 0a 23 23 23 23 20 54 68 65 20 74 6f 70 6c 65  ..#### The tople
01d0: 76 65 6c 20 64 69 72 65 63 74 6f 72 79 20 6f 66  vel directory of
01e0: 20 74 68 65 20 73 6f 75 72 63 65 20 74 72 65 65   the source tree
01f0: 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 20 64  .  This is the d
0200: 69 72 65 63 74 6f 72 79 0a 23 20 20 20 20 74 68  irectory.#    th
0210: 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 69 73  at contains this
0220: 20 22 4d 61 6b 65 66 69 6c 65 2e 69 6e 22 20 61   "Makefile.in" a
0230: 6e 64 20 74 68 65 20 22 63 6f 6e 66 69 67 75 72  nd the "configur
0240: 65 2e 69 6e 22 20 73 63 72 69 70 74 2e 0a 23 0a  e.in" script..#.
0250: 54 4f 50 20 3d 20 2e 2e 2f 73 71 6c 69 74 65 0a  TOP = ../sqlite.
0260: 0a 23 23 23 23 20 43 20 43 6f 6d 70 69 6c 65 72  .#### C Compiler
0270: 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72   and options for
0280: 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67   use in building
0290: 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61   executables tha
02a0: 74 0a 23 20 20 20 20 77 69 6c 6c 20 72 75 6e 20  t.#    will run 
02b0: 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20  on the platform 
02c0: 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20 74 68  that is doing th
02d0: 65 20 62 75 69 6c 64 2e 0a 23 0a 42 43 43 20 3d  e build..#.BCC =
02e0: 20 67 63 63 20 2d 67 20 2d 4f 32 0a 23 42 43 43   gcc -g -O2.#BCC
02f0: 20 3d 20 2f 6f 70 74 2f 61 6e 63 69 63 2f 62 69   = /opt/ancic/bi
0300: 6e 2f 63 38 39 20 2d 30 0a 0a 23 23 23 23 20 49  n/c89 -0..#### I
0310: 66 20 74 68 65 20 74 61 72 67 65 74 20 6f 70 65  f the target ope
0320: 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 73 75  rating system su
0330: 70 70 6f 72 74 73 20 74 68 65 20 22 75 73 6c 65  pports the "usle
0340: 65 70 28 29 22 20 73 79 73 74 65 6d 0a 23 20 20  ep()" system.#  
0350: 20 20 63 61 6c 6c 2c 20 74 68 65 6e 20 64 65 66    call, then def
0360: 69 6e 65 20 74 68 65 20 48 41 56 45 5f 55 53 4c  ine the HAVE_USL
0370: 45 45 50 20 6d 61 63 72 6f 20 66 6f 72 20 61 6c  EEP macro for al
0380: 6c 20 43 20 6d 6f 64 75 6c 65 73 2e 0a 23 0a 23  l C modules..#.#
0390: 55 53 4c 45 45 50 20 3d 20 0a 55 53 4c 45 45 50  USLEEP = .USLEEP
03a0: 20 3d 20 2d 44 48 41 56 45 5f 55 53 4c 45 45 50   = -DHAVE_USLEEP
03b0: 3d 31 0a 0a 23 23 23 23 20 49 66 20 79 6f 75 20  =1..#### If you 
03c0: 77 61 6e 74 20 74 68 65 20 53 51 4c 69 74 65 20  want the SQLite 
03d0: 6c 69 62 72 61 72 79 20 74 6f 20 62 65 20 73 61  library to be sa
03e0: 66 65 20 66 6f 72 20 75 73 65 20 77 69 74 68 69  fe for use withi
03f0: 6e 20 61 20 0a 23 20 20 20 20 6d 75 6c 74 69 2d  n a .#    multi-
0400: 74 68 72 65 61 64 65 64 20 70 72 6f 67 72 61 6d  threaded program
0410: 2c 20 74 68 65 6e 20 64 65 66 69 6e 65 20 74 68  , then define th
0420: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 61 63 72  e following macr
0430: 6f 0a 23 20 20 20 20 61 70 70 72 6f 70 72 69 61  o.#    appropria
0440: 74 65 6c 79 3a 0a 23 0a 23 54 48 52 45 41 44 53  tely:.#.#THREADS
0450: 41 46 45 20 3d 20 2d 44 54 48 52 45 41 44 53 41  AFE = -DTHREADSA
0460: 46 45 3d 31 0a 54 48 52 45 41 44 53 41 46 45 20  FE=1.THREADSAFE 
0470: 3d 20 2d 44 54 48 52 45 41 44 53 41 46 45 3d 30  = -DTHREADSAFE=0
0480: 0a 0a 23 23 23 23 20 53 70 65 63 69 66 79 20 61  ..#### Specify a
0490: 6e 79 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 20  ny extra linker 
04a0: 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64 20 74  options needed t
04b0: 6f 20 6d 61 6b 65 20 74 68 65 20 6c 69 62 72 61  o make the libra
04c0: 72 79 0a 23 20 20 20 20 74 68 72 65 61 64 20 73  ry.#    thread s
04d0: 61 66 65 0a 23 0a 23 54 48 52 45 41 44 4c 49 42  afe.#.#THREADLIB
04e0: 20 3d 20 2d 6c 70 74 68 72 65 61 64 0a 54 48 52   = -lpthread.THR
04f0: 45 41 44 4c 49 42 20 3d 20 0a 0a 23 23 23 23 20  EADLIB = ..#### 
0500: 4c 65 61 76 65 20 4d 45 4d 4f 52 59 5f 44 45 42  Leave MEMORY_DEB
0510: 55 47 20 75 6e 64 65 66 69 6e 65 64 20 66 6f 72  UG undefined for
0520: 20 6d 61 78 69 6d 75 6d 20 73 70 65 65 64 2e 20   maximum speed. 
0530: 20 55 73 65 20 4d 45 4d 4f 52 59 5f 44 45 42 55   Use MEMORY_DEBU
0540: 47 3d 31 0a 23 20 20 20 20 74 6f 20 63 68 65 63  G=1.#    to chec
0550: 6b 20 66 6f 72 20 6d 65 6d 6f 72 79 20 6c 65 61  k for memory lea
0560: 6b 73 2e 20 20 55 73 65 20 4d 45 4d 4f 52 59 5f  ks.  Use MEMORY_
0570: 44 45 42 55 47 3d 32 20 74 6f 20 70 72 69 6e 74  DEBUG=2 to print
0580: 20 61 20 6c 6f 67 20 6f 66 20 61 6c 6c 0a 23 20   a log of all.# 
0590: 20 20 20 6d 61 6c 6c 6f 63 28 29 73 20 61 6e 64     malloc()s and
05a0: 20 66 72 65 65 28 29 73 20 69 6e 20 6f 72 64 65   free()s in orde
05b0: 72 20 74 6f 20 74 72 61 63 6b 20 64 6f 77 6e 20  r to track down 
05c0: 6d 65 6d 6f 72 79 20 6c 65 61 6b 73 2e 0a 23 20  memory leaks..# 
05d0: 20 20 20 0a 23 20 20 20 20 53 51 4c 69 74 65 20     .#    SQLite 
05e0: 75 73 65 73 20 73 6f 6d 65 20 65 78 70 65 6e 73  uses some expens
05f0: 69 76 65 20 61 73 73 65 72 74 28 29 20 73 74 61  ive assert() sta
0600: 74 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 69  tements in the i
0610: 6e 6e 65 72 20 6c 6f 6f 70 2e 0a 23 20 20 20 20  nner loop..#    
0620: 59 6f 75 20 63 61 6e 20 6d 61 6b 65 20 74 68 65  You can make the
0630: 20 6c 69 62 72 61 72 79 20 67 6f 20 61 6c 6d 6f   library go almo
0640: 73 74 20 74 77 69 63 65 20 61 73 20 66 61 73 74  st twice as fast
0650: 20 69 66 20 79 6f 75 20 63 6f 6d 70 69 6c 65 0a   if you compile.
0660: 23 20 20 20 20 77 69 74 68 20 2d 44 4e 44 45 42  #    with -DNDEB
0670: 55 47 3d 31 0a 23 0a 23 4f 50 54 53 20 3d 20 2d  UG=1.#.#OPTS = -
0680: 44 4d 45 4d 4f 52 59 5f 44 45 42 55 47 3d 32 0a  DMEMORY_DEBUG=2.
0690: 23 4f 50 54 53 20 3d 20 2d 44 4d 45 4d 4f 52 59  #OPTS = -DMEMORY
06a0: 5f 44 45 42 55 47 3d 31 0a 23 4f 50 54 53 20 3d  _DEBUG=1.#OPTS =
06b0: 20 0a 4f 50 54 53 20 3d 20 2d 44 4e 44 45 42 55   .OPTS = -DNDEBU
06c0: 47 3d 31 0a 0a 23 23 23 23 20 54 68 65 20 73 75  G=1..#### The su
06d0: 66 66 69 78 20 74 6f 20 61 64 64 20 74 6f 20 65  ffix to add to e
06e0: 78 65 63 75 74 61 62 6c 65 20 66 69 6c 65 73 2e  xecutable files.
06f0: 20 20 22 2e 65 78 65 22 20 66 6f 72 20 77 69 6e    ".exe" for win
0700: 64 6f 77 73 2e 0a 23 20 20 20 20 4e 6f 74 68 69  dows..#    Nothi
0710: 6e 67 20 66 6f 72 20 75 6e 69 78 2e 0a 23 0a 23  ng for unix..#.#
0720: 45 58 45 20 3d 20 2e 65 78 65 0a 45 58 45 20 3d  EXE = .exe.EXE =
0730: 0a 0a 23 23 23 23 20 43 20 43 6f 6d 70 69 6c 65  ..#### C Compile
0740: 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72   and options for
0750: 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67   use in building
0760: 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61   executables tha
0770: 74 20 0a 23 20 20 20 20 77 69 6c 6c 20 72 75 6e  t .#    will run
0780: 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 70   on the target p
0790: 6c 61 74 66 6f 72 6d 2e 20 20 54 68 69 73 20 69  latform.  This i
07a0: 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 73 61  s usually the sa
07b0: 6d 65 0a 23 20 20 20 20 61 73 20 42 43 43 2c 20  me.#    as BCC, 
07c0: 75 6e 6c 65 73 73 20 79 6f 75 20 61 72 65 20 63  unless you are c
07d0: 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 0a  ross-compiling..
07e0: 23 0a 54 43 43 20 3d 20 67 63 63 20 2d 4f 36 0a  #.TCC = gcc -O6.
07f0: 23 54 43 43 20 3d 20 67 63 63 20 2d 67 20 2d 4f  #TCC = gcc -g -O
0800: 30 20 2d 57 61 6c 6c 0a 23 54 43 43 20 3d 20 67  0 -Wall.#TCC = g
0810: 63 63 20 2d 67 20 2d 4f 30 20 2d 57 61 6c 6c 20  cc -g -O0 -Wall 
0820: 2d 66 70 72 6f 66 69 6c 65 2d 61 72 63 73 20 2d  -fprofile-arcs -
0830: 66 74 65 73 74 2d 63 6f 76 65 72 61 67 65 0a 23  ftest-coverage.#
0840: 54 43 43 20 3d 20 2f 6f 70 74 2f 6d 69 6e 67 77  TCC = /opt/mingw
0850: 2f 62 69 6e 2f 69 33 38 36 2d 6d 69 6e 67 77 33  /bin/i386-mingw3
0860: 32 2d 67 63 63 20 2d 4f 36 0a 23 54 43 43 20 3d  2-gcc -O6.#TCC =
0870: 20 2f 6f 70 74 2f 61 6e 73 69 63 2f 62 69 6e 2f   /opt/ansic/bin/
0880: 63 38 39 20 2d 4f 20 2b 7a 20 2d 57 6c 2c 2d 61  c89 -O +z -Wl,-a
0890: 2c 61 72 63 68 69 76 65 0a 0a 23 23 23 23 20 54  ,archive..#### T
08a0: 6f 6f 6c 73 20 75 73 65 64 20 74 6f 20 62 75 69  ools used to bui
08b0: 6c 64 20 61 20 73 74 61 74 69 63 20 6c 69 62 72  ld a static libr
08c0: 61 72 79 2e 0a 23 0a 41 52 20 3d 20 61 72 20 63  ary..#.AR = ar c
08d0: 72 0a 23 41 52 20 3d 20 2f 6f 70 74 2f 6d 69 6e  r.#AR = /opt/min
08e0: 67 77 2f 62 69 6e 2f 69 33 38 36 2d 6d 69 6e 67  gw/bin/i386-ming
08f0: 77 33 32 2d 61 72 20 63 72 0a 52 41 4e 4c 49 42  w32-ar cr.RANLIB
0900: 20 3d 20 72 61 6e 6c 69 62 0a 23 52 41 4e 4c 49   = ranlib.#RANLI
0910: 42 20 3d 20 2f 6f 70 74 2f 6d 69 6e 67 77 2f 62  B = /opt/mingw/b
0920: 69 6e 2f 69 33 38 36 2d 6d 69 6e 67 77 33 32 2d  in/i386-mingw32-
0930: 72 61 6e 6c 69 62 0a 0a 23 23 23 23 20 45 78 74  ranlib..#### Ext
0940: 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ra compiler opti
0950: 6f 6e 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70  ons needed for p
0960: 72 6f 67 72 61 6d 73 20 74 68 61 74 20 75 73 65  rograms that use
0970: 20 74 68 65 20 54 43 4c 20 6c 69 62 72 61 72 79   the TCL library
0980: 2e 0a 23 0a 23 54 43 4c 5f 46 4c 41 47 53 20 3d  ..#.#TCL_FLAGS =
0990: 0a 23 54 43 4c 5f 46 4c 41 47 53 20 3d 20 2d 44  .#TCL_FLAGS = -D
09a0: 53 54 41 54 49 43 5f 42 55 49 4c 44 3d 31 0a 54  STATIC_BUILD=1.T
09b0: 43 4c 5f 46 4c 41 47 53 20 3d 20 2d 49 2f 68 6f  CL_FLAGS = -I/ho
09c0: 6d 65 2f 64 72 68 2f 74 63 6c 74 6b 2f 38 2e 34  me/drh/tcltk/8.4
09d0: 6c 69 6e 75 78 0a 23 54 43 4c 5f 46 4c 41 47 53  linux.#TCL_FLAGS
09e0: 20 3d 20 2d 49 2f 68 6f 6d 65 2f 64 72 68 2f 74   = -I/home/drh/t
09f0: 63 6c 74 6b 2f 38 2e 34 77 69 6e 20 2d 44 53 54  cltk/8.4win -DST
0a00: 41 54 49 43 5f 42 55 49 4c 44 3d 31 0a 23 54 43  ATIC_BUILD=1.#TC
0a10: 4c 5f 46 4c 41 47 53 20 3d 20 2d 49 2f 68 6f 6d  L_FLAGS = -I/hom
0a20: 65 2f 64 72 68 2f 74 63 6c 74 6b 2f 38 2e 33 68  e/drh/tcltk/8.3h
0a30: 70 75 78 0a 0a 23 23 23 23 20 4c 69 6e 6b 65 72  pux..#### Linker
0a40: 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65 64 20   options needed 
0a50: 74 6f 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20  to link against 
0a60: 74 68 65 20 54 43 4c 20 6c 69 62 72 61 72 79 2e  the TCL library.
0a70: 0a 23 0a 23 4c 49 42 54 43 4c 20 3d 20 2d 6c 74  .#.#LIBTCL = -lt
0a80: 63 6c 20 2d 6c 6d 20 2d 6c 64 6c 0a 4c 49 42 54  cl -lm -ldl.LIBT
0a90: 43 4c 20 3d 20 2f 68 6f 6d 65 2f 64 72 68 2f 74  CL = /home/drh/t
0aa0: 63 6c 74 6b 2f 38 2e 34 6c 69 6e 75 78 2f 6c 69  cltk/8.4linux/li
0ab0: 62 74 63 6c 38 2e 34 67 2e 61 20 2d 6c 6d 20 2d  btcl8.4g.a -lm -
0ac0: 6c 64 6c 0a 23 4c 49 42 54 43 4c 20 3d 20 2f 68  ldl.#LIBTCL = /h
0ad0: 6f 6d 65 2f 64 72 68 2f 74 63 6c 74 6b 2f 38 2e  ome/drh/tcltk/8.
0ae0: 34 77 69 6e 2f 6c 69 62 74 63 6c 38 34 73 2e 61  4win/libtcl84s.a
0af0: 20 2d 6c 6d 73 76 63 72 74 0a 23 4c 49 42 54 43   -lmsvcrt.#LIBTC
0b00: 4c 20 3d 20 2f 68 6f 6d 65 2f 64 72 68 2f 74 63  L = /home/drh/tc
0b10: 6c 74 6b 2f 38 2e 33 68 70 75 78 2f 6c 69 62 74  ltk/8.3hpux/libt
0b20: 63 6c 38 2e 33 2e 61 20 2d 6c 64 6c 64 20 2d 6c  cl8.3.a -ldld -l
0b30: 6d 20 2d 6c 63 0a 0a 23 23 23 23 20 43 6f 6d 70  m -lc..#### Comp
0b40: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65  iler options nee
0b50: 64 65 64 20 66 6f 72 20 70 72 6f 67 72 61 6d 73  ded for programs
0b60: 20 74 68 61 74 20 75 73 65 20 74 68 65 20 72 65   that use the re
0b70: 61 64 6c 69 6e 65 28 29 20 6c 69 62 72 61 72 79  adline() library
0b80: 2e 0a 23 0a 23 52 45 41 44 4c 49 4e 45 5f 46 4c  ..#.#READLINE_FL
0b90: 41 47 53 20 3d 0a 52 45 41 44 4c 49 4e 45 5f 46  AGS =.READLINE_F
0ba0: 4c 41 47 53 20 3d 20 2d 44 48 41 56 45 5f 52 45  LAGS = -DHAVE_RE
0bb0: 41 44 4c 49 4e 45 3d 31 20 2d 49 2f 75 73 72 2f  ADLINE=1 -I/usr/
0bc0: 69 6e 63 6c 75 64 65 2f 72 65 61 64 6c 69 6e 65  include/readline
0bd0: 0a 0a 23 23 23 23 20 4c 69 6e 6b 65 72 20 6f 70  ..#### Linker op
0be0: 74 69 6f 6e 73 20 6e 65 65 64 65 64 20 62 79 20  tions needed by 
0bf0: 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 72  programs using r
0c00: 65 61 64 6c 69 6e 65 28 29 20 6d 75 73 74 20 6c  eadline() must l
0c10: 69 6e 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 23  ink against..#.#
0c20: 4c 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a 4c 49  LIBREADLINE =.LI
0c30: 42 52 45 41 44 4c 49 4e 45 20 3d 20 2d 73 74 61  BREADLINE = -sta
0c40: 74 69 63 20 2d 6c 72 65 61 64 6c 69 6e 65 20 2d  tic -lreadline -
0c50: 6c 74 65 72 6d 63 61 70 0a 0a 23 23 23 23 20 53  ltermcap..#### S
0c60: 68 6f 75 6c 64 20 74 68 65 20 64 61 74 61 62 61  hould the databa
0c70: 73 65 20 65 6e 67 69 6e 65 20 61 73 73 75 6d 65  se engine assume
0c80: 20 74 65 78 74 20 69 73 20 63 6f 64 65 64 20 61   text is coded a
0c90: 73 20 55 54 46 2d 38 20 6f 72 20 69 73 6f 38 38  s UTF-8 or iso88
0ca0: 35 39 3f 0a 23 0a 23 20 45 4e 43 4f 44 49 4e 47  59?.#.# ENCODING
0cb0: 20 20 3d 20 55 54 46 38 0a 45 4e 43 4f 44 49 4e    = UTF8.ENCODIN
0cc0: 47 20 3d 20 49 53 4f 38 38 35 39 0a 0a 23 20 59  G = ISO8859..# Y
0cd0: 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 68 61  ou should not ha
0ce0: 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61 6e 79  ve to change any
0cf0: 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68 69 73  thing below this
0d00: 20 6c 69 6e 65 0a 23 23 23 23 23 23 23 23 23 23   line.##########
0d10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0d20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0d30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0d40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0d50: 23 23 23 23 23 0a 0a 23 20 54 68 69 73 20 69 73  #####..# This is
0d60: 20 68 6f 77 20 77 65 20 63 6f 6d 70 69 6c 65 0a   how we compile.
0d70: 23 0a 54 43 43 58 20 3d 20 24 28 54 43 43 29 20  #.TCCX = $(TCC) 
0d80: 24 28 4f 50 54 53 29 20 24 28 54 48 52 45 41 44  $(OPTS) $(THREAD
0d90: 53 41 46 45 29 20 24 28 55 53 4c 45 45 50 29 20  SAFE) $(USLEEP) 
0da0: 2d 49 2e 20 2d 49 24 28 54 4f 50 29 2f 73 72 63  -I. -I$(TOP)/src
0db0: 0a 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65 73  ..# Object files
0dc0: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
0dd0: 6c 69 62 72 61 72 79 2e 0a 23 0a 4c 49 42 4f 42  library..#.LIBOB
0de0: 4a 20 3d 20 62 74 72 65 65 2e 6f 20 62 75 69 6c  J = btree.o buil
0df0: 64 2e 6f 20 64 65 6c 65 74 65 2e 6f 20 65 78 70  d.o delete.o exp
0e00: 72 2e 6f 20 66 75 6e 63 2e 6f 20 68 61 73 68 2e  r.o func.o hash.
0e10: 6f 20 69 6e 73 65 72 74 2e 6f 20 5c 0a 20 20 20  o insert.o \.   
0e20: 20 20 20 20 20 20 6d 61 69 6e 2e 6f 20 6f 73 2e        main.o os.
0e30: 6f 20 70 61 67 65 72 2e 6f 20 70 61 72 73 65 2e  o pager.o parse.
0e40: 6f 20 70 72 69 6e 74 66 2e 6f 20 72 61 6e 64 6f  o printf.o rando
0e50: 6d 2e 6f 20 73 65 6c 65 63 74 2e 6f 20 74 61 62  m.o select.o tab
0e60: 6c 65 2e 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  le.o \.         
0e70: 74 6f 6b 65 6e 69 7a 65 2e 6f 20 75 70 64 61 74  tokenize.o updat
0e80: 65 2e 6f 20 75 74 69 6c 2e 6f 20 76 64 62 65 2e  e.o util.o vdbe.
0e90: 6f 20 77 68 65 72 65 2e 6f 20 74 63 6c 73 71 6c  o where.o tclsql
0ea0: 69 74 65 2e 6f 0a 0a 23 20 41 6c 6c 20 6f 66 20  ite.o..# All of 
0eb0: 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20  the source code 
0ec0: 66 69 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20 5c  files..#.SRC = \
0ed0: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 62 74  .  $(TOP)/src/bt
0ee0: 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ree.c \.  $(TOP)
0ef0: 2f 73 72 63 2f 62 74 72 65 65 2e 68 20 5c 0a 20  /src/btree.h \. 
0f00: 20 24 28 54 4f 50 29 2f 73 72 63 2f 62 75 69 6c   $(TOP)/src/buil
0f10: 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  d.c \.  $(TOP)/s
0f20: 72 63 2f 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20  rc/delete.c \.  
0f30: 24 28 54 4f 50 29 2f 73 72 63 2f 65 78 70 72 2e  $(TOP)/src/expr.
0f40: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
0f50: 2f 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f  /func.c \.  $(TO
0f60: 50 29 2f 73 72 63 2f 68 61 73 68 2e 63 20 5c 0a  P)/src/hash.c \.
0f70: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 68 61 73    $(TOP)/src/has
0f80: 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  h.h \.  $(TOP)/s
0f90: 72 63 2f 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20  rc/insert.c \.  
0fa0: 24 28 54 4f 50 29 2f 73 72 63 2f 6d 61 69 6e 2e  $(TOP)/src/main.
0fb0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
0fc0: 2f 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  /os.c \.  $(TOP)
0fd0: 2f 73 72 63 2f 70 61 67 65 72 2e 63 20 5c 0a 20  /src/pager.c \. 
0fe0: 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 61 67 65   $(TOP)/src/page
0ff0: 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  r.h \.  $(TOP)/s
1000: 72 63 2f 70 61 72 73 65 2e 79 20 5c 0a 20 20 24  rc/parse.y \.  $
1010: 28 54 4f 50 29 2f 73 72 63 2f 70 72 69 6e 74 66  (TOP)/src/printf
1020: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
1030: 63 2f 72 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24  c/random.c \.  $
1040: 28 54 4f 50 29 2f 73 72 63 2f 73 65 6c 65 63 74  (TOP)/src/select
1050: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
1060: 63 2f 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 24 28  c/shell.c \.  $(
1070: 54 4f 50 29 2f 73 72 63 2f 73 71 6c 69 74 65 2e  TOP)/src/sqlite.
1080: 68 2e 69 6e 20 5c 0a 20 20 24 28 54 4f 50 29 2f  h.in \.  $(TOP)/
1090: 73 72 63 2f 73 71 6c 69 74 65 49 6e 74 2e 68 20  src/sqliteInt.h 
10a0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74  \.  $(TOP)/src/t
10b0: 61 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  able.c \.  $(TOP
10c0: 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e  )/src/tclsqlite.
10d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
10e0: 2f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20  /tokenize.c \.  
10f0: 24 28 54 4f 50 29 2f 73 72 63 2f 75 70 64 61 74  $(TOP)/src/updat
1100: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  e.c \.  $(TOP)/s
1110: 72 63 2f 75 74 69 6c 2e 63 20 5c 0a 20 20 24 28  rc/util.c \.  $(
1120: 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 2e 63 20  TOP)/src/vdbe.c 
1130: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 76  \.  $(TOP)/src/v
1140: 64 62 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  dbe.h \.  $(TOP)
1150: 2f 73 72 63 2f 77 68 65 72 65 2e 63 0a 0a 23 20  /src/where.c..# 
1160: 53 6f 75 72 63 65 20 63 6f 64 65 20 74 6f 20 74  Source code to t
1170: 68 65 20 74 65 73 74 20 66 69 6c 65 73 2e 0a 23  he test files..#
1180: 0a 54 45 53 54 53 52 43 20 3d 20 5c 0a 20 20 24  .TESTSRC = \.  $
1190: 28 54 4f 50 29 2f 73 72 63 2f 62 74 72 65 65 2e  (TOP)/src/btree.
11a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
11b0: 2f 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  /os.c \.  $(TOP)
11c0: 2f 73 72 63 2f 70 61 67 65 72 2e 63 20 5c 0a 20  /src/pager.c \. 
11d0: 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 65 73 74   $(TOP)/src/test
11e0: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  1.c \.  $(TOP)/s
11f0: 72 63 2f 74 65 73 74 32 2e 63 20 5c 0a 20 20 24  rc/test2.c \.  $
1200: 28 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 33 2e  (TOP)/src/test3.
1210: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
1220: 2f 6d 64 35 2e 63 0a 0a 23 20 48 65 61 64 65 72  /md5.c..# Header
1230: 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 61   files used by a
1240: 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75 72 63  ll library sourc
1250: 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52 20 3d  e files..#.HDR =
1260: 20 5c 0a 20 20 20 73 71 6c 69 74 65 2e 68 20 20   \.   sqlite.h  
1270: 5c 0a 20 20 20 24 28 54 4f 50 29 2f 73 72 63 2f  \.   $(TOP)/src/
1280: 62 74 72 65 65 2e 68 20 5c 0a 20 20 20 24 28 54  btree.h \.   $(T
1290: 4f 50 29 2f 73 72 63 2f 68 61 73 68 2e 68 20 5c  OP)/src/hash.h \
12a0: 0a 20 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6f  .   $(TOP)/src/o
12b0: 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 2f  s.h \.   $(TOP)/
12c0: 73 72 63 2f 73 71 6c 69 74 65 49 6e 74 2e 68 20  src/sqliteInt.h 
12d0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 2f 73 72 63   \.   $(TOP)/src
12e0: 2f 76 64 62 65 2e 68 20 20 5c 0a 20 20 20 70 61  /vdbe.h  \.   pa
12f0: 72 73 65 2e 68 0a 0a 23 20 54 68 69 73 20 69 73  rse.h..# This is
1300: 20 74 68 65 20 64 65 66 61 75 6c 74 20 4d 61 6b   the default Mak
1310: 65 66 69 6c 65 20 74 61 72 67 65 74 2e 20 20 54  efile target.  T
1320: 68 65 20 6f 62 6a 65 63 74 73 20 6c 69 73 74 65  he objects liste
1330: 64 20 68 65 72 65 0a 23 20 61 72 65 20 77 68 61  d here.# are wha
1340: 74 20 67 65 74 20 62 75 69 6c 64 20 77 68 65 6e  t get build when
1350: 20 79 6f 75 20 74 79 70 65 20 6a 75 73 74 20 22   you type just "
1360: 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f 20 61 72  make" with no ar
1370: 67 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c 6c 3a 09  guments..#.all:.
1380: 73 71 6c 69 74 65 2e 68 20 6c 69 62 73 71 6c 69  sqlite.h libsqli
1390: 74 65 2e 61 20 73 71 6c 69 74 65 24 28 45 58 45  te.a sqlite$(EXE
13a0: 29 0a 0a 23 20 47 65 6e 65 72 61 74 65 20 74 68  )..# Generate th
13b0: 65 20 66 69 6c 65 20 22 6c 61 73 74 5f 63 68 61  e file "last_cha
13c0: 6e 67 65 22 20 77 68 69 63 68 20 63 6f 6e 74 61  nge" which conta
13d0: 69 6e 73 20 74 68 65 20 64 61 74 65 20 6f 66 20  ins the date of 
13e0: 63 68 61 6e 67 65 0a 23 20 6f 66 20 74 68 65 20  change.# of the 
13f0: 6d 6f 73 74 20 72 65 63 65 6e 74 6c 79 20 6d 6f  most recently mo
1400: 64 69 66 69 65 64 20 73 6f 75 72 63 65 20 63 6f  dified source co
1410: 64 65 20 66 69 6c 65 0a 23 0a 6c 61 73 74 5f 63  de file.#.last_c
1420: 68 61 6e 67 65 3a 09 24 28 53 52 43 29 0a 09 63  hange:.$(SRC)..c
1430: 61 74 20 24 28 53 52 43 29 20 7c 20 67 72 65 70  at $(SRC) | grep
1440: 20 27 24 24 49 64 3a 20 27 20 7c 20 73 6f 72 74   '$$Id: ' | sort
1450: 20 2b 34 20 7c 20 74 61 69 6c 20 2d 31 20 5c 0a   +4 | tail -1 \.
1460: 20 20 20 20 20 20 20 20 20 20 7c 20 61 77 6b 20            | awk 
1470: 27 7b 70 72 69 6e 74 20 24 24 35 2c 24 24 36 7d  '{print $$5,$$6}
1480: 27 20 3e 6c 61 73 74 5f 63 68 61 6e 67 65 0a 0a  ' >last_change..
1490: 6c 69 62 73 71 6c 69 74 65 2e 61 3a 09 24 28 4c  libsqlite.a:.$(L
14a0: 49 42 4f 42 4a 29 20 74 63 6c 73 71 6c 69 74 65  IBOBJ) tclsqlite
14b0: 2e 6f 0a 09 24 28 41 52 29 20 6c 69 62 73 71 6c  .o..$(AR) libsql
14c0: 69 74 65 2e 61 20 24 28 4c 49 42 4f 42 4a 29 20  ite.a $(LIBOBJ) 
14d0: 74 63 6c 73 71 6c 69 74 65 2e 6f 0a 09 24 28 52  tclsqlite.o..$(R
14e0: 41 4e 4c 49 42 29 20 6c 69 62 73 71 6c 69 74 65  ANLIB) libsqlite
14f0: 2e 61 0a 0a 73 71 6c 69 74 65 24 28 45 58 45 29  .a..sqlite$(EXE)
1500: 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 73 68 65  :.$(TOP)/src/she
1510: 6c 6c 2e 63 20 6c 69 62 73 71 6c 69 74 65 2e 61  ll.c libsqlite.a
1520: 20 73 71 6c 69 74 65 2e 68 0a 09 24 28 54 43 43   sqlite.h..$(TCC
1530: 58 29 20 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c  X) $(READLINE_FL
1540: 41 47 53 29 20 2d 6f 20 73 71 6c 69 74 65 24 28  AGS) -o sqlite$(
1550: 45 58 45 29 20 24 28 54 4f 50 29 2f 73 72 63 2f  EXE) $(TOP)/src/
1560: 73 68 65 6c 6c 2e 63 20 5c 0a 09 09 6c 69 62 73  shell.c \...libs
1570: 71 6c 69 74 65 2e 61 20 24 28 4c 49 42 52 45 41  qlite.a $(LIBREA
1580: 44 4c 49 4e 45 29 20 24 28 54 48 52 45 41 44 4c  DLINE) $(THREADL
1590: 49 42 29 0a 0a 23 20 54 68 69 73 20 74 61 72 67  IB)..# This targ
15a0: 65 74 20 63 72 65 61 74 65 73 20 61 20 64 69 72  et creates a dir
15b0: 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74 73  ectory named "ts
15c0: 72 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69 74  rc" and fills it
15d0: 20 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20 6f   with.# copies o
15e0: 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20 73  f all of the C s
15f0: 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68  ource code and h
1600: 65 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65 64  eader files need
1610: 65 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e  ed to.# build on
1620: 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73 74   the target syst
1630: 65 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68 65  em.  Some of the
1640: 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61   C source code a
1650: 6e 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c 65  nd header.# file
1660: 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61  s are automatica
1670: 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 20  lly generated.  
1680: 54 68 69 73 20 74 61 72 67 65 74 20 74 61 6b 65  This target take
1690: 73 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20  s care of.# all 
16a0: 74 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20 67  that automatic g
16b0: 65 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 74 61 72  eneration..#.tar
16c0: 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28 53 52  get_source:.$(SR
16d0: 43 29 20 24 28 48 44 52 29 20 0a 09 72 6d 20 2d  C) $(HDR) ..rm -
16e0: 72 66 20 74 73 72 63 0a 09 6d 6b 64 69 72 20 74  rf tsrc..mkdir t
16f0: 73 72 63 0a 09 63 70 20 24 28 53 52 43 29 20 24  src..cp $(SRC) $
1700: 28 48 44 52 29 20 74 73 72 63 0a 09 72 6d 20 74  (HDR) tsrc..rm t
1710: 73 72 63 2f 73 71 6c 69 74 65 2e 68 2e 69 6e 20  src/sqlite.h.in 
1720: 74 73 72 63 2f 70 61 72 73 65 2e 79 0a 09 63 70  tsrc/parse.y..cp
1730: 20 70 61 72 73 65 2e 63 20 74 73 72 63 0a 0a 23   parse.c tsrc..#
1740: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
1750: 74 68 65 20 4c 45 4d 4f 4e 20 63 6f 6d 70 69 6c  the LEMON compil
1760: 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 23 0a 6c  er generator.#.l
1770: 65 6d 6f 6e 3a 09 24 28 54 4f 50 29 2f 74 6f 6f  emon:.$(TOP)/too
1780: 6c 2f 6c 65 6d 6f 6e 2e 63 20 24 28 54 4f 50 29  l/lemon.c $(TOP)
1790: 2f 74 6f 6f 6c 2f 6c 65 6d 70 61 72 2e 63 0a 09  /tool/lempar.c..
17a0: 24 28 42 43 43 29 20 2d 6f 20 6c 65 6d 6f 6e 20  $(BCC) -o lemon 
17b0: 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6c 65 6d 6f  $(TOP)/tool/lemo
17c0: 6e 2e 63 0a 09 63 70 20 24 28 54 4f 50 29 2f 74  n.c..cp $(TOP)/t
17d0: 6f 6f 6c 2f 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a  ool/lempar.c ...
17e0: 62 74 72 65 65 2e 6f 3a 09 24 28 54 4f 50 29 2f  btree.o:.$(TOP)/
17f0: 73 72 63 2f 62 74 72 65 65 2e 63 20 24 28 48 44  src/btree.c $(HD
1800: 52 29 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 61  R) $(TOP)/src/pa
1810: 67 65 72 2e 68 0a 09 24 28 54 43 43 58 29 20 2d  ger.h..$(TCCX) -
1820: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 62 74 72  c $(TOP)/src/btr
1830: 65 65 2e 63 0a 0a 62 75 69 6c 64 2e 6f 3a 09 24  ee.c..build.o:.$
1840: 28 54 4f 50 29 2f 73 72 63 2f 62 75 69 6c 64 2e  (TOP)/src/build.
1850: 63 20 24 28 48 44 52 29 0a 09 24 28 54 43 43 58  c $(HDR)..$(TCCX
1860: 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f  ) -c $(TOP)/src/
1870: 62 75 69 6c 64 2e 63 0a 0a 6d 61 69 6e 2e 6f 3a  build.c..main.o:
1880: 09 24 28 54 4f 50 29 2f 73 72 63 2f 6d 61 69 6e  .$(TOP)/src/main
1890: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 54 43 43  .c $(HDR)..$(TCC
18a0: 58 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63  X) -c $(TOP)/src
18b0: 2f 6d 61 69 6e 2e 63 0a 0a 70 61 67 65 72 2e 6f  /main.c..pager.o
18c0: 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 70 61 67  :.$(TOP)/src/pag
18d0: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  er.c $(HDR) $(TO
18e0: 50 29 2f 73 72 63 2f 70 61 67 65 72 2e 68 0a 09  P)/src/pager.h..
18f0: 24 28 54 43 43 58 29 20 2d 63 20 24 28 54 4f 50  $(TCCX) -c $(TOP
1900: 29 2f 73 72 63 2f 70 61 67 65 72 2e 63 0a 0a 6f  )/src/pager.c..o
1910: 73 2e 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f  s.o:.$(TOP)/src/
1920: 6f 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28 54  os.c $(HDR)..$(T
1930: 43 43 58 29 20 2d 63 20 24 28 54 4f 50 29 2f 73  CCX) -c $(TOP)/s
1940: 72 63 2f 6f 73 2e 63 0a 0a 70 61 72 73 65 2e 6f  rc/os.c..parse.o
1950: 3a 09 70 61 72 73 65 2e 63 20 24 28 48 44 52 29  :.parse.c $(HDR)
1960: 0a 09 24 28 54 43 43 58 29 20 2d 63 20 70 61 72  ..$(TCCX) -c par
1970: 73 65 2e 63 0a 0a 70 61 72 73 65 2e 68 3a 09 70  se.c..parse.h:.p
1980: 61 72 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a  arse.c..parse.c:
1990: 09 24 28 54 4f 50 29 2f 73 72 63 2f 70 61 72 73  .$(TOP)/src/pars
19a0: 65 2e 79 20 6c 65 6d 6f 6e 0a 09 63 70 20 24 28  e.y lemon..cp $(
19b0: 54 4f 50 29 2f 73 72 63 2f 70 61 72 73 65 2e 79  TOP)/src/parse.y
19c0: 20 2e 0a 09 2e 2f 6c 65 6d 6f 6e 20 70 61 72 73   ..../lemon pars
19d0: 65 2e 79 0a 0a 73 71 6c 69 74 65 2e 68 3a 09 24  e.y..sqlite.h:.$
19e0: 28 54 4f 50 29 2f 73 72 63 2f 73 71 6c 69 74 65  (TOP)/src/sqlite
19f0: 2e 68 2e 69 6e 20 0a 09 73 65 64 20 2d 65 20 73  .h.in ..sed -e s
1a00: 2f 2d 2d 56 45 52 53 2d 2d 2f 60 63 61 74 20 24  /--VERS--/`cat $
1a10: 7b 54 4f 50 7d 2f 56 45 52 53 49 4f 4e 60 2f 20  {TOP}/VERSION`/ 
1a20: 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 65  \.            -e
1a30: 20 73 2f 2d 2d 45 4e 43 4f 44 49 4e 47 2d 2d 2f   s/--ENCODING--/
1a40: 24 28 45 4e 43 4f 44 49 4e 47 29 2f 20 5c 0a 20  $(ENCODING)/ \. 
1a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a60: 24 28 54 4f 50 29 2f 73 72 63 2f 73 71 6c 69 74  $(TOP)/src/sqlit
1a70: 65 2e 68 2e 69 6e 20 3e 73 71 6c 69 74 65 2e 68  e.h.in >sqlite.h
1a80: 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6f 3a 09 24 28  ..tokenize.o:.$(
1a90: 54 4f 50 29 2f 73 72 63 2f 74 6f 6b 65 6e 69 7a  TOP)/src/tokeniz
1aa0: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 54 43  e.c $(HDR)..$(TC
1ab0: 43 58 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72  CX) -c $(TOP)/sr
1ac0: 63 2f 74 6f 6b 65 6e 69 7a 65 2e 63 0a 0a 75 74  c/tokenize.c..ut
1ad0: 69 6c 2e 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63  il.o:.$(TOP)/src
1ae0: 2f 75 74 69 6c 2e 63 20 24 28 48 44 52 29 0a 09  /util.c $(HDR)..
1af0: 24 28 54 43 43 58 29 20 2d 63 20 24 28 54 4f 50  $(TCCX) -c $(TOP
1b00: 29 2f 73 72 63 2f 75 74 69 6c 2e 63 0a 0a 76 64  )/src/util.c..vd
1b10: 62 65 2e 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63  be.o:.$(TOP)/src
1b20: 2f 76 64 62 65 2e 63 20 24 28 48 44 52 29 0a 09  /vdbe.c $(HDR)..
1b30: 24 28 54 43 43 58 29 20 2d 63 20 24 28 54 4f 50  $(TCCX) -c $(TOP
1b40: 29 2f 73 72 63 2f 76 64 62 65 2e 63 0a 0a 77 68  )/src/vdbe.c..wh
1b50: 65 72 65 2e 6f 3a 09 24 28 54 4f 50 29 2f 73 72  ere.o:.$(TOP)/sr
1b60: 63 2f 77 68 65 72 65 2e 63 20 24 28 48 44 52 29  c/where.c $(HDR)
1b70: 0a 09 24 28 54 43 43 58 29 20 2d 63 20 24 28 54  ..$(TCCX) -c $(T
1b80: 4f 50 29 2f 73 72 63 2f 77 68 65 72 65 2e 63 0a  OP)/src/where.c.
1b90: 0a 64 65 6c 65 74 65 2e 6f 3a 09 24 28 54 4f 50  .delete.o:.$(TOP
1ba0: 29 2f 73 72 63 2f 64 65 6c 65 74 65 2e 63 20 24  )/src/delete.c $
1bb0: 28 48 44 52 29 0a 09 24 28 54 43 43 58 29 20 2d  (HDR)..$(TCCX) -
1bc0: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 64 65 6c  c $(TOP)/src/del
1bd0: 65 74 65 2e 63 0a 0a 65 78 70 72 2e 6f 3a 09 24  ete.c..expr.o:.$
1be0: 28 54 4f 50 29 2f 73 72 63 2f 65 78 70 72 2e 63  (TOP)/src/expr.c
1bf0: 20 24 28 48 44 52 29 0a 09 24 28 54 43 43 58 29   $(HDR)..$(TCCX)
1c00: 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 65   -c $(TOP)/src/e
1c10: 78 70 72 2e 63 0a 0a 66 75 6e 63 2e 6f 3a 09 24  xpr.c..func.o:.$
1c20: 28 54 4f 50 29 2f 73 72 63 2f 66 75 6e 63 2e 63  (TOP)/src/func.c
1c30: 20 24 28 48 44 52 29 0a 09 24 28 54 43 43 58 29   $(HDR)..$(TCCX)
1c40: 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 66   -c $(TOP)/src/f
1c50: 75 6e 63 2e 63 0a 0a 68 61 73 68 2e 6f 3a 09 24  unc.c..hash.o:.$
1c60: 28 54 4f 50 29 2f 73 72 63 2f 68 61 73 68 2e 63  (TOP)/src/hash.c
1c70: 20 24 28 48 44 52 29 0a 09 24 28 54 43 43 58 29   $(HDR)..$(TCCX)
1c80: 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 68   -c $(TOP)/src/h
1c90: 61 73 68 2e 63 0a 0a 69 6e 73 65 72 74 2e 6f 3a  ash.c..insert.o:
1ca0: 09 24 28 54 4f 50 29 2f 73 72 63 2f 69 6e 73 65  .$(TOP)/src/inse
1cb0: 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28 54  rt.c $(HDR)..$(T
1cc0: 43 43 58 29 20 2d 63 20 24 28 54 4f 50 29 2f 73  CCX) -c $(TOP)/s
1cd0: 72 63 2f 69 6e 73 65 72 74 2e 63 0a 0a 72 61 6e  rc/insert.c..ran
1ce0: 64 6f 6d 2e 6f 3a 09 24 28 54 4f 50 29 2f 73 72  dom.o:.$(TOP)/sr
1cf0: 63 2f 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52  c/random.c $(HDR
1d00: 29 0a 09 24 28 54 43 43 58 29 20 2d 63 20 24 28  )..$(TCCX) -c $(
1d10: 54 4f 50 29 2f 73 72 63 2f 72 61 6e 64 6f 6d 2e  TOP)/src/random.
1d20: 63 0a 0a 73 65 6c 65 63 74 2e 6f 3a 09 24 28 54  c..select.o:.$(T
1d30: 4f 50 29 2f 73 72 63 2f 73 65 6c 65 63 74 2e 63  OP)/src/select.c
1d40: 20 24 28 48 44 52 29 0a 09 24 28 54 43 43 58 29   $(HDR)..$(TCCX)
1d50: 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 73   -c $(TOP)/src/s
1d60: 65 6c 65 63 74 2e 63 0a 0a 74 61 62 6c 65 2e 6f  elect.c..table.o
1d70: 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 74 61 62  :.$(TOP)/src/tab
1d80: 6c 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 54  le.c $(HDR)..$(T
1d90: 43 43 58 29 20 2d 63 20 24 28 54 4f 50 29 2f 73  CCX) -c $(TOP)/s
1da0: 72 63 2f 74 61 62 6c 65 2e 63 0a 0a 75 70 64 61  rc/table.c..upda
1db0: 74 65 2e 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63  te.o:.$(TOP)/src
1dc0: 2f 75 70 64 61 74 65 2e 63 20 24 28 48 44 52 29  /update.c $(HDR)
1dd0: 0a 09 24 28 54 43 43 58 29 20 2d 63 20 24 28 54  ..$(TCCX) -c $(T
1de0: 4f 50 29 2f 73 72 63 2f 75 70 64 61 74 65 2e 63  OP)/src/update.c
1df0: 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 6f 3a 09 24  ..tclsqlite.o:.$
1e00: 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c  (TOP)/src/tclsql
1e10: 69 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ite.c $(HDR)..$(
1e20: 54 43 43 58 29 20 24 28 54 43 4c 5f 46 4c 41 47  TCCX) $(TCL_FLAG
1e30: 53 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63  S) -c $(TOP)/src
1e40: 2f 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 70 72  /tclsqlite.c..pr
1e50: 69 6e 74 66 2e 6f 3a 09 24 28 54 4f 50 29 2f 73  intf.o:.$(TOP)/s
1e60: 72 63 2f 70 72 69 6e 74 66 2e 63 20 24 28 48 44  rc/printf.c $(HD
1e70: 52 29 0a 09 24 28 54 43 43 58 29 20 24 28 54 43  R)..$(TCCX) $(TC
1e80: 4c 5f 46 4c 41 47 53 29 20 2d 63 20 24 28 54 4f  L_FLAGS) -c $(TO
1e90: 50 29 2f 73 72 63 2f 70 72 69 6e 74 66 2e 63 0a  P)/src/printf.c.
1ea0: 0a 74 63 6c 73 71 6c 69 74 65 3a 09 24 28 54 4f  .tclsqlite:.$(TO
1eb0: 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65  P)/src/tclsqlite
1ec0: 2e 63 20 6c 69 62 73 71 6c 69 74 65 2e 61 0a 09  .c libsqlite.a..
1ed0: 24 28 54 43 43 58 29 20 24 28 54 43 4c 5f 46 4c  $(TCCX) $(TCL_FL
1ee0: 41 47 53 29 20 2d 44 54 43 4c 53 48 3d 31 20 2d  AGS) -DTCLSH=1 -
1ef0: 6f 20 74 63 6c 73 71 6c 69 74 65 20 5c 0a 09 09  o tclsqlite \...
1f00: 24 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71  $(TOP)/src/tclsq
1f10: 6c 69 74 65 2e 63 20 6c 69 62 73 71 6c 69 74 65  lite.c libsqlite
1f20: 2e 61 20 24 28 4c 49 42 54 43 4c 29 0a 0a 74 65  .a $(LIBTCL)..te
1f30: 73 74 66 69 78 74 75 72 65 24 28 45 58 45 29 3a  stfixture$(EXE):
1f40: 09 24 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73  .$(TOP)/src/tcls
1f50: 71 6c 69 74 65 2e 63 20 6c 69 62 73 71 6c 69 74  qlite.c libsqlit
1f60: 65 2e 61 20 24 28 54 45 53 54 53 52 43 29 0a 09  e.a $(TESTSRC)..
1f70: 24 28 54 43 43 58 29 20 24 28 54 43 4c 5f 46 4c  $(TCCX) $(TCL_FL
1f80: 41 47 53 29 20 2d 44 54 43 4c 53 48 3d 31 20 2d  AGS) -DTCLSH=1 -
1f90: 44 53 51 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d  DSQLITE_TEST=1 -
1fa0: 6f 20 74 65 73 74 66 69 78 74 75 72 65 24 28 45  o testfixture$(E
1fb0: 58 45 29 20 5c 0a 09 09 24 28 54 45 53 54 53 52  XE) \...$(TESTSR
1fc0: 43 29 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 63  C) $(TOP)/src/tc
1fd0: 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 09 09 6c 69  lsqlite.c \...li
1fe0: 62 73 71 6c 69 74 65 2e 61 20 24 28 4c 49 42 54  bsqlite.a $(LIBT
1ff0: 43 4c 29 0a 0a 66 75 6c 6c 74 65 73 74 3a 09 74  CL)..fulltest:.t
2000: 65 73 74 66 69 78 74 75 72 65 24 28 45 58 45 29  estfixture$(EXE)
2010: 20 73 71 6c 69 74 65 24 28 45 58 45 29 0a 09 2e   sqlite$(EXE)...
2020: 2f 74 65 73 74 66 69 78 74 75 72 65 24 28 45 58  /testfixture$(EX
2030: 45 29 20 24 28 54 4f 50 29 2f 74 65 73 74 2f 61  E) $(TOP)/test/a
2040: 6c 6c 2e 74 65 73 74 0a 0a 74 65 73 74 3a 09 74  ll.test..test:.t
2050: 65 73 74 66 69 78 74 75 72 65 24 28 45 58 45 29  estfixture$(EXE)
2060: 20 73 71 6c 69 74 65 24 28 45 58 45 29 0a 09 2e   sqlite$(EXE)...
2070: 2f 74 65 73 74 66 69 78 74 75 72 65 24 28 45 58  /testfixture$(EX
2080: 45 29 20 24 28 54 4f 50 29 2f 74 65 73 74 2f 71  E) $(TOP)/test/q
2090: 75 69 63 6b 2e 74 65 73 74 0a 0a 69 6e 64 65 78  uick.test..index
20a0: 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77  .html:.$(TOP)/ww
20b0: 77 2f 69 6e 64 65 78 2e 74 63 6c 20 6c 61 73 74  w/index.tcl last
20c0: 5f 63 68 61 6e 67 65 0a 09 74 63 6c 73 68 20 24  _change..tclsh $
20d0: 28 54 4f 50 29 2f 77 77 77 2f 69 6e 64 65 78 2e  (TOP)/www/index.
20e0: 74 63 6c 20 60 63 61 74 20 24 28 54 4f 50 29 2f  tcl `cat $(TOP)/
20f0: 56 45 52 53 49 4f 4e 60 20 3e 69 6e 64 65 78 2e  VERSION` >index.
2100: 68 74 6d 6c 0a 0a 73 71 6c 69 74 65 2e 68 74 6d  html..sqlite.htm
2110: 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 73 71  l:.$(TOP)/www/sq
2120: 6c 69 74 65 2e 74 63 6c 0a 09 74 63 6c 73 68 20  lite.tcl..tclsh 
2130: 24 28 54 4f 50 29 2f 77 77 77 2f 73 71 6c 69 74  $(TOP)/www/sqlit
2140: 65 2e 74 63 6c 20 3e 73 71 6c 69 74 65 2e 68 74  e.tcl >sqlite.ht
2150: 6d 6c 0a 0a 63 5f 69 6e 74 65 72 66 61 63 65 2e  ml..c_interface.
2160: 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77  html:.$(TOP)/www
2170: 2f 63 5f 69 6e 74 65 72 66 61 63 65 2e 74 63 6c  /c_interface.tcl
2180: 0a 09 74 63 6c 73 68 20 24 28 54 4f 50 29 2f 77  ..tclsh $(TOP)/w
2190: 77 77 2f 63 5f 69 6e 74 65 72 66 61 63 65 2e 74  ww/c_interface.t
21a0: 63 6c 20 3e 63 5f 69 6e 74 65 72 66 61 63 65 2e  cl >c_interface.
21b0: 68 74 6d 6c 0a 0a 63 68 61 6e 67 65 73 2e 68 74  html..changes.ht
21c0: 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 63  ml:.$(TOP)/www/c
21d0: 68 61 6e 67 65 73 2e 74 63 6c 0a 09 74 63 6c 73  hanges.tcl..tcls
21e0: 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 63 68 61  h $(TOP)/www/cha
21f0: 6e 67 65 73 2e 74 63 6c 20 3e 63 68 61 6e 67 65  nges.tcl >change
2200: 73 2e 68 74 6d 6c 0a 0a 6c 61 6e 67 2e 68 74 6d  s.html..lang.htm
2210: 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 6c 61  l:.$(TOP)/www/la
2220: 6e 67 2e 74 63 6c 0a 09 74 63 6c 73 68 20 24 28  ng.tcl..tclsh $(
2230: 54 4f 50 29 2f 77 77 77 2f 6c 61 6e 67 2e 74 63  TOP)/www/lang.tc
2240: 6c 20 3e 6c 61 6e 67 2e 68 74 6d 6c 0a 0a 76 64  l >lang.html..vd
2250: 62 65 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f  be.html:.$(TOP)/
2260: 77 77 77 2f 76 64 62 65 2e 74 63 6c 0a 09 74 63  www/vdbe.tcl..tc
2270: 6c 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 76  lsh $(TOP)/www/v
2280: 64 62 65 2e 74 63 6c 20 3e 76 64 62 65 2e 68 74  dbe.tcl >vdbe.ht
2290: 6d 6c 0a 0a 61 72 63 68 2e 68 74 6d 6c 3a 09 24  ml..arch.html:.$
22a0: 28 54 4f 50 29 2f 77 77 77 2f 61 72 63 68 2e 74  (TOP)/www/arch.t
22b0: 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50 29  cl..tclsh $(TOP)
22c0: 2f 77 77 77 2f 61 72 63 68 2e 74 63 6c 20 3e 61  /www/arch.tcl >a
22d0: 72 63 68 2e 68 74 6d 6c 0a 0a 61 72 63 68 2e 70  rch.html..arch.p
22e0: 6e 67 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 61  ng:.$(TOP)/www/a
22f0: 72 63 68 2e 70 6e 67 0a 09 63 70 20 24 28 54 4f  rch.png..cp $(TO
2300: 50 29 2f 77 77 77 2f 61 72 63 68 2e 70 6e 67 20  P)/www/arch.png 
2310: 2e 0a 0a 6f 70 63 6f 64 65 2e 68 74 6d 6c 3a 09  ...opcode.html:.
2320: 24 28 54 4f 50 29 2f 77 77 77 2f 6f 70 63 6f 64  $(TOP)/www/opcod
2330: 65 2e 74 63 6c 20 24 28 54 4f 50 29 2f 73 72 63  e.tcl $(TOP)/src
2340: 2f 76 64 62 65 2e 63 0a 09 74 63 6c 73 68 20 24  /vdbe.c..tclsh $
2350: 28 54 4f 50 29 2f 77 77 77 2f 6f 70 63 6f 64 65  (TOP)/www/opcode
2360: 2e 74 63 6c 20 24 28 54 4f 50 29 2f 73 72 63 2f  .tcl $(TOP)/src/
2370: 76 64 62 65 2e 63 20 3e 6f 70 63 6f 64 65 2e 68  vdbe.c >opcode.h
2380: 74 6d 6c 0a 0a 63 72 6f 73 73 63 6f 6d 70 69 6c  tml..crosscompil
2390: 65 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77  e.html:.$(TOP)/w
23a0: 77 77 2f 63 72 6f 73 73 63 6f 6d 70 69 6c 65 2e  ww/crosscompile.
23b0: 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50  tcl..tclsh $(TOP
23c0: 29 2f 77 77 77 2f 63 72 6f 73 73 63 6f 6d 70 69  )/www/crosscompi
23d0: 6c 65 2e 74 63 6c 20 3e 63 72 6f 73 73 63 6f 6d  le.tcl >crosscom
23e0: 70 69 6c 65 2e 68 74 6d 6c 0a 0a 6d 69 6e 67 77  pile.html..mingw
23f0: 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77  .html:.$(TOP)/ww
2400: 77 2f 6d 69 6e 67 77 2e 74 63 6c 0a 09 74 63 6c  w/mingw.tcl..tcl
2410: 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 6d 69  sh $(TOP)/www/mi
2420: 6e 67 77 2e 74 63 6c 20 3e 6d 69 6e 67 77 2e 68  ngw.tcl >mingw.h
2430: 74 6d 6c 0a 0a 74 63 6c 73 71 6c 69 74 65 2e 68  tml..tclsqlite.h
2440: 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f  tml:.$(TOP)/www/
2450: 74 63 6c 73 71 6c 69 74 65 2e 74 63 6c 0a 09 74  tclsqlite.tcl..t
2460: 63 6c 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f  clsh $(TOP)/www/
2470: 74 63 6c 73 71 6c 69 74 65 2e 74 63 6c 20 3e 74  tclsqlite.tcl >t
2480: 63 6c 73 71 6c 69 74 65 2e 68 74 6d 6c 0a 0a 73  clsqlite.html..s
2490: 70 65 65 64 2e 68 74 6d 6c 3a 09 24 28 54 4f 50  peed.html:.$(TOP
24a0: 29 2f 77 77 77 2f 73 70 65 65 64 2e 74 63 6c 0a  )/www/speed.tcl.
24b0: 09 74 63 6c 73 68 20 24 28 54 4f 50 29 2f 77 77  .tclsh $(TOP)/ww
24c0: 77 2f 73 70 65 65 64 2e 74 63 6c 20 3e 73 70 65  w/speed.tcl >spe
24d0: 65 64 2e 68 74 6d 6c 0a 0a 66 61 71 2e 68 74 6d  ed.html..faq.htm
24e0: 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 66 61  l:.$(TOP)/www/fa
24f0: 71 2e 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54  q.tcl..tclsh $(T
2500: 4f 50 29 2f 77 77 77 2f 66 61 71 2e 74 63 6c 20  OP)/www/faq.tcl 
2510: 3e 66 61 71 2e 68 74 6d 6c 0a 0a 66 6f 72 6d 61  >faq.html..forma
2520: 74 63 68 6e 67 2e 68 74 6d 6c 3a 09 24 28 54 4f  tchng.html:.$(TO
2530: 50 29 2f 77 77 77 2f 66 6f 72 6d 61 74 63 68 6e  P)/www/formatchn
2540: 67 2e 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54  g.tcl..tclsh $(T
2550: 4f 50 29 2f 77 77 77 2f 66 6f 72 6d 61 74 63 68  OP)/www/formatch
2560: 6e 67 2e 74 63 6c 20 3e 66 6f 72 6d 61 74 63 68  ng.tcl >formatch
2570: 6e 67 2e 68 74 6d 6c 0a 0a 63 6f 6e 66 6c 69 63  ng.html..conflic
2580: 74 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77  t.html:.$(TOP)/w
2590: 77 77 2f 63 6f 6e 66 6c 69 63 74 2e 74 63 6c 0a  ww/conflict.tcl.
25a0: 09 74 63 6c 73 68 20 24 28 54 4f 50 29 2f 77 77  .tclsh $(TOP)/ww
25b0: 77 2f 63 6f 6e 66 6c 69 63 74 2e 74 63 6c 20 3e  w/conflict.tcl >
25c0: 63 6f 6e 66 6c 69 63 74 2e 68 74 6d 6c 0a 0a 64  conflict.html..d
25d0: 6f 77 6e 6c 6f 61 64 2e 68 74 6d 6c 3a 09 24 28  ownload.html:.$(
25e0: 54 4f 50 29 2f 77 77 77 2f 64 6f 77 6e 6c 6f 61  TOP)/www/downloa
25f0: 64 2e 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54  d.tcl..tclsh $(T
2600: 4f 50 29 2f 77 77 77 2f 64 6f 77 6e 6c 6f 61 64  OP)/www/download
2610: 2e 74 63 6c 20 3e 64 6f 77 6e 6c 6f 61 64 2e 68  .tcl >download.h
2620: 74 6d 6c 0a 0a 0a 23 20 46 69 6c 65 73 20 74 6f  tml...# Files to
2630: 20 62 65 20 70 75 62 6c 69 73 68 65 64 20 6f 6e   be published on
2640: 20 74 68 65 20 77 65 62 73 69 74 65 2e 0a 23 0a   the website..#.
2650: 44 4f 43 20 3d 20 5c 0a 20 20 69 6e 64 65 78 2e  DOC = \.  index.
2660: 68 74 6d 6c 20 5c 0a 20 20 73 71 6c 69 74 65 2e  html \.  sqlite.
2670: 68 74 6d 6c 20 5c 0a 20 20 63 68 61 6e 67 65 73  html \.  changes
2680: 2e 68 74 6d 6c 20 5c 0a 20 20 6c 61 6e 67 2e 68  .html \.  lang.h
2690: 74 6d 6c 20 5c 0a 20 20 6f 70 63 6f 64 65 2e 68  tml \.  opcode.h
26a0: 74 6d 6c 20 5c 0a 20 20 61 72 63 68 2e 68 74 6d  tml \.  arch.htm
26b0: 6c 20 5c 0a 20 20 61 72 63 68 2e 70 6e 67 20 5c  l \.  arch.png \
26c0: 0a 20 20 76 64 62 65 2e 68 74 6d 6c 20 5c 0a 20  .  vdbe.html \. 
26d0: 20 63 5f 69 6e 74 65 72 66 61 63 65 2e 68 74 6d   c_interface.htm
26e0: 6c 20 5c 0a 20 20 63 72 6f 73 73 63 6f 6d 70 69  l \.  crosscompi
26f0: 6c 65 2e 68 74 6d 6c 20 5c 0a 20 20 6d 69 6e 67  le.html \.  ming
2700: 77 2e 68 74 6d 6c 20 5c 0a 20 20 74 63 6c 73 71  w.html \.  tclsq
2710: 6c 69 74 65 2e 68 74 6d 6c 20 5c 0a 20 20 64 6f  lite.html \.  do
2720: 77 6e 6c 6f 61 64 2e 68 74 6d 6c 20 5c 0a 20 20  wnload.html \.  
2730: 73 70 65 65 64 2e 68 74 6d 6c 20 5c 0a 20 20 66  speed.html \.  f
2740: 61 71 2e 68 74 6d 6c 20 5c 0a 20 20 66 6f 72 6d  aq.html \.  form
2750: 61 74 63 68 6e 67 2e 68 74 6d 6c 20 5c 0a 20 20  atchng.html \.  
2760: 63 6f 6e 66 6c 69 63 74 2e 68 74 6d 6c 0a 0a 64  conflict.html..d
2770: 6f 63 3a 09 24 28 44 4f 43 29 0a 09 6d 6b 64 69  oc:.$(DOC)..mkdi
2780: 72 20 2d 70 20 64 6f 63 0a 09 6d 76 20 24 28 44  r -p doc..mv $(D
2790: 4f 43 29 20 64 6f 63 0a 0a 69 6e 73 74 61 6c 6c  OC) doc..install
27a0: 3a 09 73 71 6c 69 74 65 20 6c 69 62 73 71 6c 69  :.sqlite libsqli
27b0: 74 65 2e 61 20 73 71 6c 69 74 65 2e 68 0a 09 6d  te.a sqlite.h..m
27c0: 76 20 73 71 6c 69 74 65 20 2f 75 73 72 2f 62 69  v sqlite /usr/bi
27d0: 6e 0a 09 6d 76 20 6c 69 62 73 71 6c 69 74 65 2e  n..mv libsqlite.
27e0: 61 20 2f 75 73 72 2f 6c 69 62 0a 09 6d 76 20 73  a /usr/lib..mv s
27f0: 71 6c 69 74 65 2e 68 20 2f 75 73 72 2f 69 6e 63  qlite.h /usr/inc
2800: 6c 75 64 65 0a 0a 63 6c 65 61 6e 3a 09 0a 09 72  lude..clean:...r
2810: 6d 20 2d 66 20 2a 2e 6f 20 73 71 6c 69 74 65 20  m -f *.o sqlite 
2820: 6c 69 62 73 71 6c 69 74 65 2e 61 20 73 71 6c 69  libsqlite.a sqli
2830: 74 65 2e 68 0a 09 72 6d 20 2d 66 20 6c 65 6d 6f  te.h..rm -f lemo
2840: 6e 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73 65  n lempar.c parse
2850: 2e 2a 20 73 71 6c 69 74 65 2a 2e 74 61 72 2e 67  .* sqlite*.tar.g
2860: 7a 0a 09 72 6d 20 2d 66 20 24 28 50 55 42 4c 49  z..rm -f $(PUBLI
2870: 53 48 29 0a 09 72 6d 20 2d 66 20 2a 2e 64 61 20  SH)..rm -f *.da 
2880: 2a 2e 62 62 20 2a 2e 62 62 67 20 67 6d 6f 6e 2e  *.bb *.bbg gmon.
2890: 6f 75 74 0a 09 72 6d 20 2d 72 66 20 74 73 72 63  out..rm -rf tsrc
28a0: 0a                                               .