/ Hex Artifact Content
Login

Artifact 2022a5619f63e069c9237a1fd14a4effb9b466360a7cbcd66c9fe956101570eb:


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 61 62 73 5f 73  ..#.TOP = @abs_s
0270: 72 63 64 69 72 40 0a 0a 23 20 43 20 43 6f 6d 70  rcdir@..# C Comp
0280: 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73  iler and options
0290: 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c   for use in buil
02a0: 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73  ding executables
02b0: 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e   that.# will run
02c0: 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 6d   on the platform
02d0: 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20 74   that is doing t
02e0: 68 65 20 62 75 69 6c 64 2e 0a 23 0a 42 43 43 20  he build..#.BCC 
02f0: 3d 20 40 42 55 49 4c 44 5f 43 43 40 20 40 42 55  = @BUILD_CC@ @BU
0300: 49 4c 44 5f 43 46 4c 41 47 53 40 0a 0a 23 20 54  ILD_CFLAGS@..# T
0310: 43 43 20 69 73 20 74 68 65 20 43 20 43 6f 6d 70  CC is the C Comp
0320: 69 6c 65 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20  ile and options 
0330: 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64  for use in build
0340: 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20  ing executables 
0350: 74 68 61 74 20 0a 23 20 77 69 6c 6c 20 72 75 6e  that .# will run
0360: 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 70   on the target p
0370: 6c 61 74 66 6f 72 6d 2e 20 20 28 42 43 43 20 61  latform.  (BCC a
0380: 6e 64 20 54 43 43 20 61 72 65 20 75 73 75 61 6c  nd TCC are usual
0390: 6c 79 20 74 68 65 0a 23 20 73 61 6d 65 20 75 6e  ly the.# same un
03a0: 6c 65 73 73 20 79 6f 75 72 20 61 72 65 20 63 72  less your are cr
03b0: 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 29 20  oss-compiling.) 
03c0: 20 53 65 70 61 72 61 74 65 20 43 43 20 61 6e 64   Separate CC and
03d0: 20 43 46 4c 41 47 53 20 6d 61 63 72 6f 73 0a 23   CFLAGS macros.#
03e0: 20 61 72 65 20 70 72 6f 76 69 64 65 20 73 6f 20   are provide so 
03f0: 74 68 61 74 20 74 68 65 73 65 20 61 73 70 65 63  that these aspec
0400: 74 73 20 6f 66 20 74 68 65 20 62 75 69 6c 64 20  ts of the build 
0410: 70 72 6f 63 65 73 73 20 63 61 6e 20 62 65 20 63  process can be c
0420: 68 61 6e 67 65 64 0a 23 20 6f 6e 20 74 68 65 20  hanged.# on the 
0430: 22 6d 61 6b 65 22 20 63 6f 6d 6d 61 6e 64 2d 6c  "make" command-l
0440: 69 6e 65 2e 20 20 45 78 3a 20 20 22 6d 61 6b 65  ine.  Ex:  "make
0450: 20 43 43 3d 63 6c 61 6e 67 20 43 46 4c 41 47 53   CC=clang CFLAGS
0460: 3d 2d 66 73 61 6e 69 74 69 7a 65 3d 75 6e 64 65  =-fsanitize=unde
0470: 66 69 6e 65 64 22 0a 23 0a 43 43 20 3d 20 40 43  fined".#.CC = @C
0480: 43 40 0a 43 46 4c 41 47 53 20 3d 20 40 43 50 50  C@.CFLAGS = @CPP
0490: 46 4c 41 47 53 40 20 40 43 46 4c 41 47 53 40 0a  FLAGS@ @CFLAGS@.
04a0: 54 43 43 20 3d 20 24 7b 43 43 7d 20 24 7b 43 46  TCC = ${CC} ${CF
04b0: 4c 41 47 53 7d 20 2d 49 2e 20 2d 49 24 7b 54 4f  LAGS} -I. -I${TO
04c0: 50 7d 2f 73 72 63 20 2d 49 24 7b 54 4f 50 7d 2f  P}/src -I${TOP}/
04d0: 65 78 74 2f 72 74 72 65 65 20 2d 49 24 7b 54 4f  ext/rtree -I${TO
04e0: 50 7d 2f 65 78 74 2f 69 63 75 0a 54 43 43 20 2b  P}/ext/icu.TCC +
04f0: 3d 20 2d 49 24 7b 54 4f 50 7d 2f 65 78 74 2f 66  = -I${TOP}/ext/f
0500: 74 73 33 20 2d 49 24 7b 54 4f 50 7d 2f 65 78 74  ts3 -I${TOP}/ext
0510: 2f 61 73 79 6e 63 20 2d 49 24 7b 54 4f 50 7d 2f  /async -I${TOP}/
0520: 65 78 74 2f 73 65 73 73 69 6f 6e 0a 0a 23 20 44  ext/session..# D
0530: 65 66 69 6e 65 20 74 68 69 73 20 66 6f 72 20 74  efine this for t
0540: 68 65 20 61 75 74 6f 63 6f 6e 66 2d 62 61 73 65  he autoconf-base
0550: 64 20 62 75 69 6c 64 2c 20 73 6f 20 74 68 61 74  d build, so that
0560: 20 74 68 65 20 63 6f 64 65 20 6b 6e 6f 77 73 20   the code knows 
0570: 69 74 20 63 61 6e 0a 23 20 69 6e 63 6c 75 64 65  it can.# include
0580: 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63   the generated c
0590: 6f 6e 66 69 67 2e 68 0a 23 20 0a 54 43 43 20 2b  onfig.h.# .TCC +
05a0: 3d 20 2d 44 5f 48 41 56 45 5f 53 51 4c 49 54 45  = -D_HAVE_SQLITE
05b0: 5f 43 4f 4e 46 49 47 5f 48 20 2d 44 42 55 49 4c  _CONFIG_H -DBUIL
05c0: 44 5f 73 71 6c 69 74 65 0a 0a 23 20 44 65 66 69  D_sqlite..# Defi
05d0: 6e 65 20 2d 44 4e 44 45 42 55 47 20 74 6f 20 63  ne -DNDEBUG to c
05e0: 6f 6d 70 69 6c 65 20 77 69 74 68 6f 75 74 20 64  ompile without d
05f0: 65 62 75 67 67 69 6e 67 20 28 69 2e 65 2e 2c 20  ebugging (i.e., 
0600: 66 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75  for production u
0610: 73 61 67 65 29 0a 23 20 4f 6d 69 74 74 69 6e 67  sage).# Omitting
0620: 20 74 68 65 20 64 65 66 69 6e 65 20 77 69 6c 6c   the define will
0630: 20 63 61 75 73 65 20 65 78 74 72 61 20 64 65 62   cause extra deb
0640: 75 67 67 69 6e 67 20 63 6f 64 65 20 74 6f 20 62  ugging code to b
0650: 65 20 69 6e 73 65 72 74 65 64 20 61 6e 64 0a 23  e inserted and.#
0660: 20 69 6e 63 6c 75 64 65 73 20 65 78 74 72 61 20   includes extra 
0670: 63 6f 6d 6d 65 6e 74 73 20 77 68 65 6e 20 22 45  comments when "E
0680: 58 50 4c 41 49 4e 20 73 74 6d 74 22 20 69 73 20  XPLAIN stmt" is 
0690: 75 73 65 64 2e 0a 23 0a 54 43 43 20 2b 3d 20 40  used..#.TCC += @
06a0: 54 41 52 47 45 54 5f 44 45 42 55 47 40 0a 0a 23  TARGET_DEBUG@..#
06b0: 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e   Compiler option
06c0: 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72 6f  s needed for pro
06d0: 67 72 61 6d 73 20 74 68 61 74 20 75 73 65 20 74  grams that use t
06e0: 68 65 20 54 43 4c 20 6c 69 62 72 61 72 79 2e 0a  he TCL library..
06f0: 23 0a 54 43 43 20 2b 3d 20 40 54 43 4c 5f 49 4e  #.TCC += @TCL_IN
0700: 43 4c 55 44 45 5f 53 50 45 43 40 0a 0a 23 20 54  CLUDE_SPEC@..# T
0710: 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20  he library that 
0720: 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67 20 54  programs using T
0730: 43 4c 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61  CL must link aga
0740: 69 6e 73 74 2e 0a 23 0a 4c 49 42 54 43 4c 20 3d  inst..#.LIBTCL =
0750: 20 40 54 43 4c 5f 4c 49 42 5f 53 50 45 43 40 0a   @TCL_LIB_SPEC@.
0760: 0a 23 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74 69  .# Compiler opti
0770: 6f 6e 73 20 6e 65 65 64 65 64 20 66 6f 72 20 70  ons needed for p
0780: 72 6f 67 72 61 6d 73 20 74 68 61 74 20 75 73 65  rograms that use
0790: 20 74 68 65 20 72 65 61 64 6c 69 6e 65 28 29 20   the readline() 
07a0: 6c 69 62 72 61 72 79 2e 0a 23 0a 52 45 41 44 4c  library..#.READL
07b0: 49 4e 45 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41  INE_FLAGS = -DHA
07c0: 56 45 5f 52 45 41 44 4c 49 4e 45 3d 40 54 41 52  VE_READLINE=@TAR
07d0: 47 45 54 5f 48 41 56 45 5f 52 45 41 44 4c 49 4e  GET_HAVE_READLIN
07e0: 45 40 20 40 54 41 52 47 45 54 5f 52 45 41 44 4c  E@ @TARGET_READL
07f0: 49 4e 45 5f 49 4e 43 40 0a 52 45 41 44 4c 49 4e  INE_INC@.READLIN
0800: 45 5f 46 4c 41 47 53 20 2b 3d 20 2d 44 48 41 56  E_FLAGS += -DHAV
0810: 45 5f 45 44 49 54 4c 49 4e 45 3d 40 54 41 52 47  E_EDITLINE=@TARG
0820: 45 54 5f 48 41 56 45 5f 45 44 49 54 4c 49 4e 45  ET_HAVE_EDITLINE
0830: 40 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79  @..# The library
0840: 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75   that programs u
0850: 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20  sing readline() 
0860: 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73  must link agains
0870: 74 2e 0a 23 0a 4c 49 42 52 45 41 44 4c 49 4e 45  t..#.LIBREADLINE
0880: 20 3d 20 40 54 41 52 47 45 54 5f 52 45 41 44 4c   = @TARGET_READL
0890: 49 4e 45 5f 4c 49 42 53 40 0a 0a 23 20 53 68 6f  INE_LIBS@..# Sho
08a0: 75 6c 64 20 74 68 65 20 64 61 74 61 62 61 73 65  uld the database
08b0: 20 65 6e 67 69 6e 65 20 62 65 20 63 6f 6d 70 69   engine be compi
08c0: 6c 65 64 20 74 68 72 65 61 64 73 61 66 65 0a 23  led threadsafe.#
08d0: 0a 23 54 43 43 20 2b 3d 20 2d 44 53 51 4c 49 54  .#TCC += -DSQLIT
08e0: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 40 53 51  E_THREADSAFE=@SQ
08f0: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 40  LITE_THREADSAFE@
0900: 0a 0a 23 20 41 6e 79 20 74 61 72 67 65 74 20 6c  ..# Any target l
0910: 69 62 72 61 72 69 65 73 20 77 68 69 63 68 20 6c  ibraries which l
0920: 69 62 73 71 6c 69 74 65 20 6d 75 73 74 20 62 65  ibsqlite must be
0930: 20 6c 69 6e 6b 65 64 20 61 67 61 69 6e 73 74 0a   linked against.
0940: 23 20 0a 54 4c 49 42 53 20 3d 20 40 4c 49 42 53  # .TLIBS = @LIBS
0950: 40 20 24 28 4c 49 42 53 29 0a 0a 23 20 46 6c 61  @ $(LIBS)..# Fla
0960: 67 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 75  gs controlling u
0970: 73 65 20 6f 66 20 74 68 65 20 69 6e 20 6d 65 6d  se of the in mem
0980: 6f 72 79 20 62 74 72 65 65 20 69 6d 70 6c 65 6d  ory btree implem
0990: 65 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53 51 4c  entation.#.# SQL
09a0: 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 20 69  ITE_TEMP_STORE i
09b0: 73 20 30 20 74 6f 20 66 6f 72 63 65 20 74 65 6d  s 0 to force tem
09c0: 70 6f 72 61 72 79 20 74 61 62 6c 65 73 20 74 6f  porary tables to
09d0: 20 62 65 20 69 6e 20 61 20 66 69 6c 65 2c 20 31   be in a file, 1
09e0: 20 74 6f 0a 23 20 64 65 66 61 75 6c 74 20 74 6f   to.# default to
09f0: 20 66 69 6c 65 2c 20 32 20 74 6f 20 64 65 66 61   file, 2 to defa
0a00: 75 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c 20 61  ult to memory, a
0a10: 6e 64 20 33 20 74 6f 20 66 6f 72 63 65 20 74 65  nd 3 to force te
0a20: 6d 70 6f 72 61 72 79 0a 23 20 74 61 62 6c 65 73  mporary.# tables
0a30: 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 69 6e   to always be in
0a40: 20 6d 65 6d 6f 72 79 2e 0a 23 0a 54 45 4d 50 5f   memory..#.TEMP_
0a50: 53 54 4f 52 45 20 3d 20 2d 44 53 51 4c 49 54 45  STORE = -DSQLITE
0a60: 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 40 54 45 4d  _TEMP_STORE=@TEM
0a70: 50 5f 53 54 4f 52 45 40 0a 0a 23 20 45 6e 61 62  P_STORE@..# Enab
0a80: 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61 64 61  le/disable loada
0a90: 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20  ble extensions, 
0aa0: 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e  and other option
0ab0: 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20 62 61  al features.# ba
0ac0: 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75 72 61  sed on configura
0ad0: 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54 45 5f  tion. (-DSQLITE_
0ae0: 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54 45 5f  OMIT*, -DSQLITE_
0af0: 45 4e 41 42 4c 45 2a 29 2e 20 20 0a 23 20 54 68  ENABLE*).  .# Th
0b00: 65 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d  e same set of OM
0b10: 49 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c  IT and ENABLE fl
0b20: 61 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61  ags should be pa
0b30: 73 73 65 64 20 74 6f 20 74 68 65 20 0a 23 20 4c  ssed to the .# L
0b40: 45 4d 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65  EMON parser gene
0b50: 72 61 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b  rator and the mk
0b60: 6b 65 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c  keywordhash tool
0b70: 20 61 73 20 77 65 6c 6c 2e 0a 4f 50 54 5f 46 45   as well..OPT_FE
0b80: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 40 4f  ATURE_FLAGS = @O
0b90: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  PT_FEATURE_FLAGS
0ba0: 40 0a 0a 54 43 43 20 2b 3d 20 24 28 4f 50 54 5f  @..TCC += $(OPT_
0bb0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 0a  FEATURE_FLAGS)..
0bc0: 23 20 41 64 64 20 69 6e 20 61 6e 79 20 6f 70 74  # Add in any opt
0bd0: 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 73  ional parameters
0be0: 20 73 70 65 63 69 66 69 65 64 20 6f 6e 20 74 68   specified on th
0bf0: 65 20 6d 61 6b 65 20 63 6f 6d 6d 61 6e 65 20 6c  e make commane l
0c00: 69 6e 65 0a 23 20 69 65 2e 20 20 6d 61 6b 65 20  ine.# ie.  make 
0c10: 22 4f 50 54 53 3d 2d 44 53 51 4c 49 54 45 5f 45  "OPTS=-DSQLITE_E
0c20: 4e 41 42 4c 45 5f 46 4f 4f 3d 31 20 2d 44 53 51  NABLE_FOO=1 -DSQ
0c30: 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22  LITE_OMIT_FOO=1"
0c40: 2e 0a 54 43 43 20 2b 3d 20 24 28 4f 50 54 53 29  ..TCC += $(OPTS)
0c50: 0a 0a 23 20 41 64 64 20 69 6e 20 63 6f 6d 70 69  ..# Add in compi
0c60: 6c 65 2d 74 69 6d 65 20 6f 70 74 69 6f 6e 73 20  le-time options 
0c70: 66 6f 72 20 73 6f 6d 65 20 6c 69 62 72 61 72 69  for some librari
0c80: 65 73 20 75 73 65 64 20 62 79 20 65 78 74 65 6e  es used by exten
0c90: 73 69 6f 6e 73 0a 54 43 43 20 2b 3d 20 40 48 41  sions.TCC += @HA
0ca0: 56 45 5f 5a 4c 49 42 40 0a 0a 23 20 56 65 72 73  VE_ZLIB@..# Vers
0cb0: 69 6f 6e 20 6e 75 6d 62 65 72 73 20 61 6e 64 20  ion numbers and 
0cc0: 72 65 6c 65 61 73 65 20 6e 75 6d 62 65 72 20 66  release number f
0cd0: 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 62 65  or the SQLite be
0ce0: 69 6e 67 20 63 6f 6d 70 69 6c 65 64 2e 0a 23 0a  ing compiled..#.
0cf0: 56 45 52 53 49 4f 4e 20 3d 20 40 56 45 52 53 49  VERSION = @VERSI
0d00: 4f 4e 40 0a 56 45 52 53 49 4f 4e 5f 4e 55 4d 42  ON@.VERSION_NUMB
0d10: 45 52 20 3d 20 40 56 45 52 53 49 4f 4e 5f 4e 55  ER = @VERSION_NU
0d20: 4d 42 45 52 40 0a 52 45 4c 45 41 53 45 20 3d 20  MBER@.RELEASE = 
0d30: 40 52 45 4c 45 41 53 45 40 0a 0a 23 20 46 69 6c  @RELEASE@..# Fil
0d40: 65 6e 61 6d 65 20 65 78 74 65 6e 73 69 6f 6e 73  ename extensions
0d50: 0a 23 0a 42 45 58 45 20 3d 20 40 42 55 49 4c 44  .#.BEXE = @BUILD
0d60: 5f 45 58 45 45 58 54 40 0a 54 45 58 45 20 3d 20  _EXEEXT@.TEXE = 
0d70: 40 54 41 52 47 45 54 5f 45 58 45 45 58 54 40 0a  @TARGET_EXEEXT@.
0d80: 0a 23 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  .# The following
0d90: 20 76 61 72 69 61 62 6c 65 20 69 73 20 22 31 22   variable is "1"
0da0: 20 69 66 20 74 68 65 20 63 6f 6e 66 69 67 75 72   if the configur
0db0: 65 20 73 63 72 69 70 74 20 77 61 73 20 61 62 6c  e script was abl
0dc0: 65 20 74 6f 20 6c 6f 63 61 74 65 0a 23 20 74 68  e to locate.# th
0dd0: 65 20 74 63 6c 43 6f 6e 66 69 67 2e 73 68 20 66  e tclConfig.sh f
0de0: 69 6c 65 2e 20 20 49 74 20 69 73 20 61 6e 20 65  ile.  It is an e
0df0: 6d 70 74 79 20 73 74 72 69 6e 67 20 6f 74 68 65  mpty string othe
0e00: 72 77 69 73 65 2e 20 20 57 68 65 6e 20 74 68 69  rwise.  When thi
0e10: 73 0a 23 20 76 61 72 69 61 62 6c 65 20 69 73 20  s.# variable is 
0e20: 22 31 22 2c 20 74 68 65 20 54 43 4c 20 65 78 74  "1", the TCL ext
0e30: 65 6e 73 69 6f 6e 20 6c 69 62 72 61 72 79 20 28  ension library (
0e40: 6c 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 73 6f  libtclsqlite3.so
0e50: 29 20 69 73 20 62 75 69 6c 74 0a 23 20 61 6e 64  ) is built.# and
0e60: 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 23 0a 48 41   installed..#.HA
0e70: 56 45 5f 54 43 4c 20 3d 20 40 48 41 56 45 5f 54  VE_TCL = @HAVE_T
0e80: 43 4c 40 0a 0a 23 20 54 68 69 73 20 69 73 20 74  CL@..# This is t
0e90: 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73  he command to us
0ea0: 65 20 66 6f 72 20 74 63 6c 73 68 20 2d 20 6e 6f  e for tclsh - no
0eb0: 72 6d 61 6c 6c 79 20 6a 75 73 74 20 22 74 63 6c  rmally just "tcl
0ec0: 73 68 22 2c 20 62 75 74 20 77 65 20 6d 61 79 0a  sh", but we may.
0ed0: 23 20 6b 6e 6f 77 20 74 68 65 20 73 70 65 63 69  # know the speci
0ee0: 66 69 63 20 76 65 72 73 69 6f 6e 20 77 65 20 77  fic version we w
0ef0: 61 6e 74 20 74 6f 20 75 73 65 0a 23 0a 54 43 4c  ant to use.#.TCL
0f00: 53 48 5f 43 4d 44 20 3d 20 40 54 43 4c 53 48 5f  SH_CMD = @TCLSH_
0f10: 43 4d 44 40 0a 0a 23 20 57 68 65 72 65 20 64 6f  CMD@..# Where do
0f20: 20 77 65 20 77 61 6e 74 20 74 6f 20 69 6e 73 74   we want to inst
0f30: 61 6c 6c 20 74 68 65 20 74 63 6c 20 70 6c 75 67  all the tcl plug
0f40: 69 6e 0a 23 0a 54 43 4c 4c 49 42 44 49 52 20 3d  in.#.TCLLIBDIR =
0f50: 20 2f 53 79 73 74 65 6d 2f 4c 69 62 72 61 72 79   /System/Library
0f60: 2f 54 63 6c 0a 0a 23 20 54 68 65 20 73 75 66 66  /Tcl..# The suff
0f70: 69 78 20 75 73 65 64 20 6f 6e 20 73 68 61 72 65  ix used on share
0f80: 64 20 6c 69 62 72 61 72 69 65 73 2e 20 20 45 78  d libraries.  Ex
0f90: 3a 20 20 22 2e 64 6c 6c 22 2c 20 22 2e 73 6f 22  :  ".dll", ".so"
0fa0: 2c 20 22 2e 64 79 6c 69 62 22 0a 23 0a 53 48 4c  , ".dylib".#.SHL
0fb0: 49 42 5f 53 55 46 46 49 58 20 3d 20 40 54 43 4c  IB_SUFFIX = @TCL
0fc0: 5f 53 48 4c 49 42 5f 53 55 46 46 49 58 40 0a 0a  _SHLIB_SUFFIX@..
0fd0: 23 20 49 66 20 67 63 6f 76 20 73 75 70 70 6f 72  # If gcov suppor
0fe0: 74 20 77 61 73 20 65 6e 61 62 6c 65 64 20 62 79  t was enabled by
0ff0: 20 74 68 65 20 63 6f 6e 66 69 67 75 72 65 20 73   the configure s
1000: 63 72 69 70 74 2c 20 61 64 64 20 74 68 65 20 61  cript, add the a
1010: 70 70 72 6f 70 72 69 61 74 65 0a 23 20 66 6c 61  ppropriate.# fla
1020: 67 73 20 68 65 72 65 2e 20 20 49 74 27 73 20 6e  gs here.  It's n
1030: 6f 74 20 61 6c 77 61 79 73 20 61 73 20 65 61 73  ot always as eas
1040: 79 20 61 73 20 6a 75 73 74 20 68 61 76 69 6e 67  y as just having
1050: 20 74 68 65 20 75 73 65 72 20 61 64 64 20 74 68   the user add th
1060: 65 20 72 69 67 68 74 0a 23 20 43 46 4c 41 47 53  e right.# CFLAGS
1070: 20 2f 20 4c 44 46 4c 41 47 53 2c 20 62 65 63 61   / LDFLAGS, beca
1080: 75 73 65 20 6c 69 62 74 6f 6f 6c 20 77 61 6e 74  use libtool want
1090: 73 20 74 6f 20 75 73 65 20 43 46 4c 41 47 53 20  s to use CFLAGS 
10a0: 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 2c 20 77 68  when linking, wh
10b0: 69 63 68 0a 23 20 63 61 75 73 65 73 20 62 75 69  ich.# causes bui
10c0: 6c 64 20 65 72 72 6f 72 73 20 77 69 74 68 20 2d  ld errors with -
10d0: 66 70 72 6f 66 69 6c 65 2d 61 72 63 73 20 2d 66  fprofile-arcs -f
10e0: 74 65 73 74 2d 63 6f 76 65 72 61 67 65 20 77 69  test-coverage wi
10f0: 74 68 20 73 6f 6d 65 20 47 43 43 73 2e 20 20 0a  th some GCCs.  .
1100: 23 20 53 75 70 70 6f 73 65 64 6c 79 20 47 43 43  # Supposedly GCC
1110: 20 64 6f 65 73 20 74 68 65 20 72 69 67 68 74 20   does the right 
1120: 74 68 69 6e 67 20 69 66 20 79 6f 75 20 75 73 65  thing if you use
1130: 20 2d 2d 63 6f 76 65 72 61 67 65 2c 20 62 75 74   --coverage, but
1140: 20 69 6e 20 0a 23 20 70 72 61 63 74 69 63 65 20   in .# practice 
1150: 69 74 20 73 74 69 6c 6c 20 66 61 69 6c 73 2e 20  it still fails. 
1160: 20 53 65 65 3a 0a 23 0a 23 20 68 74 74 70 3a 2f   See:.#.# http:/
1170: 2f 77 77 77 2e 6d 61 69 6c 2d 61 72 63 68 69 76  /www.mail-archiv
1180: 65 2e 63 6f 6d 2f 64 65 62 69 61 6e 2d 67 63 63  e.com/debian-gcc
1190: 40 6c 69 73 74 73 2e 64 65 62 69 61 6e 2e 6f 72  @lists.debian.or
11a0: 67 2f 6d 73 67 32 36 31 39 37 2e 68 74 6d 6c 0a  g/msg26197.html.
11b0: 23 0a 23 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66  #.# for more inf
11c0: 6f 2e 0a 23 0a 47 43 4f 56 5f 43 46 4c 41 47 53  o..#.GCOV_CFLAGS
11d0: 31 20 3d 20 2d 44 53 51 4c 49 54 45 5f 43 4f 56  1 = -DSQLITE_COV
11e0: 45 52 41 47 45 5f 54 45 53 54 3d 31 20 2d 66 70  ERAGE_TEST=1 -fp
11f0: 72 6f 66 69 6c 65 2d 61 72 63 73 20 2d 66 74 65  rofile-arcs -fte
1200: 73 74 2d 63 6f 76 65 72 61 67 65 0a 47 43 4f 56  st-coverage.GCOV
1210: 5f 4c 44 46 4c 41 47 53 31 20 3d 20 2d 6c 67 63  _LDFLAGS1 = -lgc
1220: 6f 76 0a 55 53 45 5f 47 43 4f 56 20 3d 20 40 55  ov.USE_GCOV = @U
1230: 53 45 5f 47 43 4f 56 40 0a 4c 54 43 4f 4d 50 49  SE_GCOV@.LTCOMPI
1240: 4c 45 5f 45 58 54 52 41 53 20 2b 3d 20 24 28 47  LE_EXTRAS += $(G
1250: 43 4f 56 5f 43 46 4c 41 47 53 24 28 55 53 45 5f  COV_CFLAGS$(USE_
1260: 47 43 4f 56 29 29 0a 4c 54 4c 49 4e 4b 5f 45 58  GCOV)).LTLINK_EX
1270: 54 52 41 53 20 2b 3d 20 24 28 47 43 4f 56 5f 4c  TRAS += $(GCOV_L
1280: 44 46 4c 41 47 53 24 28 55 53 45 5f 47 43 4f 56  DFLAGS$(USE_GCOV
1290: 29 29 0a 0a 0a 23 20 54 68 65 20 64 69 72 65 63  ))...# The direc
12a0: 74 6f 72 79 20 69 6e 74 6f 20 77 68 69 63 68 20  tory into which 
12b0: 74 6f 20 73 74 6f 72 65 20 70 61 63 6b 61 67 65  to store package
12c0: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72   information for
12d0: 0a 0a 23 20 53 6f 6d 65 20 73 74 61 6e 64 61 72  ..# Some standar
12e0: 64 20 76 61 72 69 61 62 6c 65 73 20 61 6e 64 20  d variables and 
12f0: 70 72 6f 67 72 61 6d 73 0a 23 0a 70 72 65 66 69  programs.#.prefi
1300: 78 20 3d 20 40 70 72 65 66 69 78 40 0a 65 78 65  x = @prefix@.exe
1310: 63 5f 70 72 65 66 69 78 20 3d 20 40 65 78 65 63  c_prefix = @exec
1320: 5f 70 72 65 66 69 78 40 0a 6c 69 62 64 69 72 20  _prefix@.libdir 
1330: 3d 20 40 6c 69 62 64 69 72 40 0a 70 6b 67 63 6f  = @libdir@.pkgco
1340: 6e 66 69 67 64 69 72 20 3d 20 24 28 6c 69 62 64  nfigdir = $(libd
1350: 69 72 29 2f 70 6b 67 63 6f 6e 66 69 67 0a 62 69  ir)/pkgconfig.bi
1360: 6e 64 69 72 20 3d 20 40 62 69 6e 64 69 72 40 0a  ndir = @bindir@.
1370: 69 6e 63 6c 75 64 65 64 69 72 20 3d 20 40 69 6e  includedir = @in
1380: 63 6c 75 64 65 64 69 72 40 0a 49 4e 53 54 41 4c  cludedir@.INSTAL
1390: 4c 20 3d 20 40 49 4e 53 54 41 4c 4c 40 0a 4c 49  L = @INSTALL@.LI
13a0: 42 54 4f 4f 4c 20 3d 20 2e 2f 6c 69 62 74 6f 6f  BTOOL = ./libtoo
13b0: 6c 0a 41 4c 4c 4f 57 52 45 4c 45 41 53 45 20 3d  l.ALLOWRELEASE =
13c0: 20 40 41 4c 4c 4f 57 52 45 4c 45 41 53 45 40 0a   @ALLOWRELEASE@.
13d0: 0a 23 20 6c 69 62 74 6f 6f 6c 20 63 6f 6d 70 69  .# libtool compi
13e0: 6c 65 2f 6c 69 6e 6b 2f 69 6e 73 74 61 6c 6c 0a  le/link/install.
13f0: 4c 54 43 4f 4d 50 49 4c 45 20 3d 20 24 28 4c 49  LTCOMPILE = $(LI
1400: 42 54 4f 4f 4c 29 20 2d 2d 6d 6f 64 65 3d 63 6f  BTOOL) --mode=co
1410: 6d 70 69 6c 65 20 2d 2d 74 61 67 3d 43 43 20 24  mpile --tag=CC $
1420: 28 54 43 43 29 20 24 28 4c 54 43 4f 4d 50 49 4c  (TCC) $(LTCOMPIL
1430: 45 5f 45 58 54 52 41 53 29 0a 4c 54 4c 49 4e 4b  E_EXTRAS).LTLINK
1440: 20 3d 20 24 28 4c 49 42 54 4f 4f 4c 29 20 2d 2d   = $(LIBTOOL) --
1450: 6d 6f 64 65 3d 6c 69 6e 6b 20 24 28 54 43 43 29  mode=link $(TCC)
1460: 20 24 28 4c 54 43 4f 4d 50 49 4c 45 5f 45 58 54   $(LTCOMPILE_EXT
1470: 52 41 53 29 20 40 4c 44 46 4c 41 47 53 40 20 24  RAS) @LDFLAGS@ $
1480: 28 4c 54 4c 49 4e 4b 5f 45 58 54 52 41 53 29 0a  (LTLINK_EXTRAS).
1490: 4c 54 49 4e 53 54 41 4c 4c 20 3d 20 24 28 4c 49  LTINSTALL = $(LI
14a0: 42 54 4f 4f 4c 29 20 2d 2d 6d 6f 64 65 3d 69 6e  BTOOL) --mode=in
14b0: 73 74 61 6c 6c 20 24 28 49 4e 53 54 41 4c 4c 29  stall $(INSTALL)
14c0: 0a 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e  ..# You should n
14d0: 6f 74 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67  ot have to chang
14e0: 65 20 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77  e anything below
14f0: 20 74 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23   this line.#####
1500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1530: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1540: 23 23 23 23 23 23 23 23 23 23 0a 0a 55 53 45 5f  ##########..USE_
1550: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 40  AMALGAMATION = @
1560: 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e  USE_AMALGAMATION
1570: 40 0a 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65  @..# Object file
1580: 73 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65  s for the SQLite
1590: 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e 2d 61 6d   library (non-am
15a0: 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a 23 0a 4c  algamation)..#.L
15b0: 49 42 4f 42 4a 53 30 20 3d 20 61 6c 74 65 72 2e  IBOBJS0 = alter.
15c0: 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c 6f 20 61 74  lo analyze.lo at
15d0: 74 61 63 68 2e 6c 6f 20 61 75 74 68 2e 6c 6f 20  tach.lo auth.lo 
15e0: 5c 0a 20 20 20 20 20 20 20 20 20 62 61 63 6b 75  \.         backu
15f0: 70 2e 6c 6f 20 62 69 74 76 65 63 2e 6c 6f 20 62  p.lo bitvec.lo b
1600: 74 6d 75 74 65 78 2e 6c 6f 20 62 74 72 65 65 2e  tmutex.lo btree.
1610: 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 5c 0a 20 20  lo build.lo \.  
1620: 20 20 20 20 20 20 20 63 61 6c 6c 62 61 63 6b 2e         callback.
1630: 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e 6c 6f 20 63  lo complete.lo c
1640: 74 69 6d 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  time.lo \.      
1650: 20 20 20 64 61 74 65 2e 6c 6f 20 64 62 70 61 67     date.lo dbpag
1660: 65 2e 6c 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64  e.lo dbstat.lo d
1670: 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20  elete.lo \.     
1680: 20 20 20 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c      expr.lo faul
1690: 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20  t.lo fkey.lo \. 
16a0: 20 20 20 20 20 20 20 20 66 74 73 33 2e 6c 6f 20          fts3.lo 
16b0: 66 74 73 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33  fts3_aux.lo fts3
16c0: 5f 65 78 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61  _expr.lo fts3_ha
16d0: 73 68 2e 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c  sh.lo fts3_icu.l
16e0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73  o \.         fts
16f0: 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33  3_porter.lo fts3
1700: 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 66 74 73 33  _snippet.lo fts3
1710: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74  _tokenizer.lo ft
1720: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f  s3_tokenizer1.lo
1730: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33   \.         fts3
1740: 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c  _tokenize_vtab.l
1750: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73  o \.         fts
1760: 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f 20 66 74 73  3_unicode.lo fts
1770: 33 5f 75 6e 69 63 6f 64 65 32 2e 6c 6f 20 66 74  3_unicode2.lo ft
1780: 73 33 5f 77 72 69 74 65 2e 6c 6f 20 5c 0a 09 20  s3_write.lo \.. 
1790: 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20  fts5.lo \.      
17a0: 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61     func.lo globa
17b0: 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20  l.lo hash.lo \. 
17c0: 20 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69          icu.lo i
17d0: 6e 73 65 72 74 2e 6c 6f 20 6a 73 6f 6e 31 2e 6c  nsert.lo json1.l
17e0: 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f 61 64  o legacy.lo load
17f0: 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ext.lo \.       
1800: 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c 6f 63    main.lo malloc
1810: 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 6d 31  .lo mem0.lo mem1
1820: 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 6d 33  .lo mem2.lo mem3
1830: 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a 20 20  .lo mem5.lo \.  
1840: 20 20 20 20 20 20 20 6d 65 6d 64 62 2e 6c 6f 20         memdb.lo 
1850: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a  memjournal.lo \.
1860: 20 20 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c           mutex.l
1870: 6f 20 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20  o mutex_noop.lo 
1880: 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75  mutex_unix.lo mu
1890: 74 65 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20  tex_w32.lo \.   
18a0: 20 20 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20        notify.lo 
18b0: 6f 70 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f  opcodes.lo os.lo
18c0: 20 6f 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77   os_unix.lo os_w
18d0: 69 6e 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20  in.lo \.        
18e0: 20 70 61 67 65 72 2e 6c 6f 20 70 61 72 73 65 2e   pager.lo parse.
18f0: 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20 70 63 61  lo pcache.lo pca
1900: 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c  che1.lo pragma.l
1910: 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20 70 72 69  o prepare.lo pri
1920: 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20  ntf.lo \.       
1930: 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f    random.lo reso
1940: 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f  lve.lo rowset.lo
1950: 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20 20 20 20   rtree.lo \.    
1960: 20 20 20 20 20 73 71 6c 69 74 65 33 73 65 73 73       sqlite3sess
1970: 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c 6f  ion.lo select.lo
1980: 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20 73   sqlite3rbu.lo s
1990: 74 61 74 75 73 2e 6c 6f 20 73 74 6d 74 2e 6c 6f  tatus.lo stmt.lo
19a0: 20 5c 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c   \.         tabl
19b0: 65 2e 6c 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20  e.lo threads.lo 
19c0: 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65  tokenize.lo tree
19d0: 76 69 65 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e  view.lo trigger.
19e0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 70  lo \.         up
19f0: 64 61 74 65 2e 6c 6f 20 75 70 73 65 72 74 2e 6c  date.lo upsert.l
1a00: 6f 20 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d  o util.lo vacuum
1a10: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76  .lo \.         v
1a20: 64 62 65 2e 6c 6f 20 76 64 62 65 61 70 69 2e 6c  dbe.lo vdbeapi.l
1a30: 6f 20 76 64 62 65 61 75 78 2e 6c 6f 20 76 64 62  o vdbeaux.lo vdb
1a40: 65 62 6c 6f 62 2e 6c 6f 20 76 64 62 65 6d 65 6d  eblob.lo vdbemem
1a50: 2e 6c 6f 20 76 64 62 65 73 6f 72 74 2e 6c 6f 20  .lo vdbesort.lo 
1a60: 5c 0a 20 20 20 20 20 20 20 20 20 76 64 62 65 74  \.         vdbet
1a70: 72 61 63 65 2e 6c 6f 20 77 61 6c 2e 6c 6f 20 77  race.lo wal.lo w
1a80: 61 6c 6b 65 72 2e 6c 6f 20 77 68 65 72 65 2e 6c  alker.lo where.l
1a90: 6f 20 77 68 65 72 65 63 6f 64 65 2e 6c 6f 20 77  o wherecode.lo w
1aa0: 68 65 72 65 65 78 70 72 2e 6c 6f 20 5c 0a 20 20  hereexpr.lo \.  
1ab0: 20 20 20 20 20 20 20 77 69 6e 64 6f 77 2e 6c 6f         window.lo
1ac0: 20 75 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a   utf.lo vtab.lo.
1ad0: 0a 23 20 4f 62 6a 65 63 74 20 66 69 6c 65 73 20  .# Object files 
1ae0: 66 6f 72 20 74 68 65 20 61 6d 61 6c 67 61 6d 61  for the amalgama
1af0: 74 69 6f 6e 2e 0a 23 0a 4c 49 42 4f 42 4a 53 31  tion..#.LIBOBJS1
1b00: 20 3d 20 73 71 6c 69 74 65 33 2e 6c 6f 0a 0a 23   = sqlite3.lo..#
1b10: 20 44 65 74 65 72 6d 69 6e 65 20 74 68 65 20 72   Determine the r
1b20: 65 61 6c 20 76 61 6c 75 65 20 6f 66 20 4c 49 42  eal value of LIB
1b30: 4f 42 4a 20 62 61 73 65 64 20 6f 6e 20 74 68 65  OBJ based on the
1b40: 20 27 63 6f 6e 66 69 67 75 72 65 27 20 73 63 72   'configure' scr
1b50: 69 70 74 0a 23 0a 4c 49 42 4f 42 4a 20 3d 20 24  ipt.#.LIBOBJ = $
1b60: 28 4c 49 42 4f 42 4a 53 24 28 55 53 45 5f 41 4d  (LIBOBJS$(USE_AM
1b70: 41 4c 47 41 4d 41 54 49 4f 4e 29 29 0a 0a 0a 23  ALGAMATION))...#
1b80: 20 41 6c 6c 20 6f 66 20 74 68 65 20 73 6f 75 72   All of the sour
1b90: 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23  ce code files..#
1ba0: 0a 53 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50  .SRC = \.  $(TOP
1bb0: 29 2f 73 72 63 2f 61 6c 74 65 72 2e 63 20 5c 0a  )/src/alter.c \.
1bc0: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 61 6e 61    $(TOP)/src/ana
1bd0: 6c 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lyze.c \.  $(TOP
1be0: 29 2f 73 72 63 2f 61 74 74 61 63 68 2e 63 20 5c  )/src/attach.c \
1bf0: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 61 75  .  $(TOP)/src/au
1c00: 74 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  th.c \.  $(TOP)/
1c10: 73 72 63 2f 62 61 63 6b 75 70 2e 63 20 5c 0a 20  src/backup.c \. 
1c20: 20 24 28 54 4f 50 29 2f 73 72 63 2f 62 69 74 76   $(TOP)/src/bitv
1c30: 65 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  ec.c \.  $(TOP)/
1c40: 73 72 63 2f 62 74 6d 75 74 65 78 2e 63 20 5c 0a  src/btmutex.c \.
1c50: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 62 74 72    $(TOP)/src/btr
1c60: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  ee.c \.  $(TOP)/
1c70: 73 72 63 2f 62 74 72 65 65 2e 68 20 5c 0a 20 20  src/btree.h \.  
1c80: 24 28 54 4f 50 29 2f 73 72 63 2f 62 74 72 65 65  $(TOP)/src/btree
1c90: 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  Int.h \.  $(TOP)
1ca0: 2f 73 72 63 2f 62 75 69 6c 64 2e 63 20 5c 0a 20  /src/build.c \. 
1cb0: 20 24 28 54 4f 50 29 2f 73 72 63 2f 63 61 6c 6c   $(TOP)/src/call
1cc0: 62 61 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50  back.c \.  $(TOP
1cd0: 29 2f 73 72 63 2f 63 6f 6d 70 6c 65 74 65 2e 63  )/src/complete.c
1ce0: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
1cf0: 63 74 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f  ctime.c \.  $(TO
1d00: 50 29 2f 73 72 63 2f 64 61 74 65 2e 63 20 5c 0a  P)/src/date.c \.
1d10: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 64 62 70    $(TOP)/src/dbp
1d20: 61 67 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  age.c \.  $(TOP)
1d30: 2f 73 72 63 2f 64 62 73 74 61 74 2e 63 20 5c 0a  /src/dbstat.c \.
1d40: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 64 65 6c    $(TOP)/src/del
1d50: 65 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ete.c \.  $(TOP)
1d60: 2f 73 72 63 2f 65 78 70 72 2e 63 20 5c 0a 20 20  /src/expr.c \.  
1d70: 24 28 54 4f 50 29 2f 73 72 63 2f 66 61 75 6c 74  $(TOP)/src/fault
1d80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
1d90: 63 2f 66 6b 65 79 2e 63 20 5c 0a 20 20 24 28 54  c/fkey.c \.  $(T
1da0: 4f 50 29 2f 73 72 63 2f 66 75 6e 63 2e 63 20 5c  OP)/src/func.c \
1db0: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 67 6c  .  $(TOP)/src/gl
1dc0: 6f 62 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  obal.c \.  $(TOP
1dd0: 29 2f 73 72 63 2f 68 61 73 68 2e 63 20 5c 0a 20  )/src/hash.c \. 
1de0: 20 24 28 54 4f 50 29 2f 73 72 63 2f 68 61 73 68   $(TOP)/src/hash
1df0: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .h \.  $(TOP)/sr
1e00: 63 2f 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24  c/hwtime.h \.  $
1e10: 28 54 4f 50 29 2f 73 72 63 2f 69 6e 73 65 72 74  (TOP)/src/insert
1e20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
1e30: 63 2f 6c 65 67 61 63 79 2e 63 20 5c 0a 20 20 24  c/legacy.c \.  $
1e40: 28 54 4f 50 29 2f 73 72 63 2f 6c 6f 61 64 65 78  (TOP)/src/loadex
1e50: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  t.c \.  $(TOP)/s
1e60: 72 63 2f 6d 61 69 6e 2e 63 20 5c 0a 20 20 24 28  rc/main.c \.  $(
1e70: 54 4f 50 29 2f 73 72 63 2f 6d 61 6c 6c 6f 63 2e  TOP)/src/malloc.
1e80: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
1e90: 2f 6d 65 6d 30 2e 63 20 5c 0a 20 20 24 28 54 4f  /mem0.c \.  $(TO
1ea0: 50 29 2f 73 72 63 2f 6d 65 6d 31 2e 63 20 5c 0a  P)/src/mem1.c \.
1eb0: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6d 65 6d    $(TOP)/src/mem
1ec0: 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  2.c \.  $(TOP)/s
1ed0: 72 63 2f 6d 65 6d 33 2e 63 20 5c 0a 20 20 24 28  rc/mem3.c \.  $(
1ee0: 54 4f 50 29 2f 73 72 63 2f 6d 65 6d 35 2e 63 20  TOP)/src/mem5.c 
1ef0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6d  \.  $(TOP)/src/m
1f00: 65 6d 64 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50  emdb.c \.  $(TOP
1f10: 29 2f 73 72 63 2f 6d 65 6d 6a 6f 75 72 6e 61 6c  )/src/memjournal
1f20: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
1f30: 63 2f 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28 54  c/msvc.h \.  $(T
1f40: 4f 50 29 2f 73 72 63 2f 6d 75 74 65 78 2e 63 20  OP)/src/mutex.c 
1f50: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6d  \.  $(TOP)/src/m
1f60: 75 74 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50  utex.h \.  $(TOP
1f70: 29 2f 73 72 63 2f 6d 75 74 65 78 5f 6e 6f 6f 70  )/src/mutex_noop
1f80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
1f90: 63 2f 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20 5c  c/mutex_unix.c \
1fa0: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6d 75  .  $(TOP)/src/mu
1fb0: 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20 24 28  tex_w32.c \.  $(
1fc0: 54 4f 50 29 2f 73 72 63 2f 6e 6f 74 69 66 79 2e  TOP)/src/notify.
1fd0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
1fe0: 2f 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  /os.c \.  $(TOP)
1ff0: 2f 73 72 63 2f 6f 73 2e 68 20 5c 0a 20 20 24 28  /src/os.h \.  $(
2000: 54 4f 50 29 2f 73 72 63 2f 6f 73 5f 63 6f 6d 6d  TOP)/src/os_comm
2010: 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 2f  on.h \.  $(TOP)/
2020: 73 72 63 2f 6f 73 5f 73 65 74 75 70 2e 68 20 5c  src/os_setup.h \
2030: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6f 73  .  $(TOP)/src/os
2040: 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f  _unix.c \.  $(TO
2050: 50 29 2f 73 72 63 2f 6f 73 5f 77 69 6e 2e 63 20  P)/src/os_win.c 
2060: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6f  \.  $(TOP)/src/o
2070: 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 24 28 54 4f  s_win.h \.  $(TO
2080: 50 29 2f 73 72 63 2f 70 61 67 65 72 2e 63 20 5c  P)/src/pager.c \
2090: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 61  .  $(TOP)/src/pa
20a0: 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ger.h \.  $(TOP)
20b0: 2f 73 72 63 2f 70 61 72 73 65 2e 79 20 5c 0a 20  /src/parse.y \. 
20c0: 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 63 61 63   $(TOP)/src/pcac
20d0: 68 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  he.c \.  $(TOP)/
20e0: 73 72 63 2f 70 63 61 63 68 65 2e 68 20 5c 0a 20  src/pcache.h \. 
20f0: 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 63 61 63   $(TOP)/src/pcac
2100: 68 65 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  he1.c \.  $(TOP)
2110: 2f 73 72 63 2f 70 72 61 67 6d 61 2e 63 20 5c 0a  /src/pragma.c \.
2120: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 72 61    $(TOP)/src/pra
2130: 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  gma.h \.  $(TOP)
2140: 2f 73 72 63 2f 70 72 65 70 61 72 65 2e 63 20 5c  /src/prepare.c \
2150: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 72  .  $(TOP)/src/pr
2160: 69 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50  intf.c \.  $(TOP
2170: 29 2f 73 72 63 2f 72 61 6e 64 6f 6d 2e 63 20 5c  )/src/random.c \
2180: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 72 65  .  $(TOP)/src/re
2190: 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f  solve.c \.  $(TO
21a0: 50 29 2f 73 72 63 2f 72 6f 77 73 65 74 2e 63 20  P)/src/rowset.c 
21b0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 73  \.  $(TOP)/src/s
21c0: 65 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f  elect.c \.  $(TO
21d0: 50 29 2f 73 72 63 2f 73 74 61 74 75 73 2e 63 20  P)/src/status.c 
21e0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 73  \.  $(TOP)/src/s
21f0: 68 65 6c 6c 2e 63 2e 69 6e 20 5c 0a 20 20 24 28  hell.c.in \.  $(
2200: 54 4f 50 29 2f 73 72 63 2f 73 71 6c 69 74 65 2e  TOP)/src/sqlite.
2210: 68 2e 69 6e 20 5c 0a 20 20 24 28 54 4f 50 29 2f  h.in \.  $(TOP)/
2220: 73 72 63 2f 73 71 6c 69 74 65 33 65 78 74 2e 68  src/sqlite3ext.h
2230: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
2240: 73 71 6c 69 74 65 49 6e 74 2e 68 20 5c 0a 20 20  sqliteInt.h \.  
2250: 24 28 54 4f 50 29 2f 73 72 63 2f 73 71 6c 69 74  $(TOP)/src/sqlit
2260: 65 4c 69 6d 69 74 2e 68 20 5c 0a 20 20 24 28 54  eLimit.h \.  $(T
2270: 4f 50 29 2f 73 72 63 2f 74 61 62 6c 65 2e 63 20  OP)/src/table.c 
2280: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74  \.  $(TOP)/src/t
2290: 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24  clsqlite.c \.  $
22a0: 28 54 4f 50 29 2f 73 72 63 2f 74 68 72 65 61 64  (TOP)/src/thread
22b0: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  s.c \.  $(TOP)/s
22c0: 72 63 2f 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a  rc/tokenize.c \.
22d0: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 72 65    $(TOP)/src/tre
22e0: 65 76 69 65 77 2e 63 20 5c 0a 20 20 24 28 54 4f  eview.c \.  $(TO
22f0: 50 29 2f 73 72 63 2f 74 72 69 67 67 65 72 2e 63  P)/src/trigger.c
2300: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
2310: 75 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  utf.c \.  $(TOP)
2320: 2f 73 72 63 2f 75 70 64 61 74 65 2e 63 20 5c 0a  /src/update.c \.
2330: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 75 70 73    $(TOP)/src/ups
2340: 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ert.c \.  $(TOP)
2350: 2f 73 72 63 2f 75 74 69 6c 2e 63 20 5c 0a 20 20  /src/util.c \.  
2360: 24 28 54 4f 50 29 2f 73 72 63 2f 76 61 63 75 75  $(TOP)/src/vacuu
2370: 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  m.c \.  $(TOP)/s
2380: 72 63 2f 76 64 62 65 2e 63 20 5c 0a 20 20 24 28  rc/vdbe.c \.  $(
2390: 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 2e 68 20  TOP)/src/vdbe.h 
23a0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 76  \.  $(TOP)/src/v
23b0: 64 62 65 61 70 69 2e 63 20 5c 0a 20 20 24 28 54  dbeapi.c \.  $(T
23c0: 4f 50 29 2f 73 72 63 2f 76 64 62 65 61 75 78 2e  OP)/src/vdbeaux.
23d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
23e0: 2f 76 64 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 20  /vdbeblob.c \.  
23f0: 24 28 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 6d  $(TOP)/src/vdbem
2400: 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  em.c \.  $(TOP)/
2410: 73 72 63 2f 76 64 62 65 73 6f 72 74 2e 63 20 5c  src/vdbesort.c \
2420: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 76 64  .  $(TOP)/src/vd
2430: 62 65 74 72 61 63 65 2e 63 20 5c 0a 20 20 24 28  betrace.c \.  $(
2440: 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 49 6e 74  TOP)/src/vdbeInt
2450: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .h \.  $(TOP)/sr
2460: 63 2f 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54  c/vtab.c \.  $(T
2470: 4f 50 29 2f 73 72 63 2f 76 78 77 6f 72 6b 73 2e  OP)/src/vxworks.
2480: 68 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  h \.  $(TOP)/src
2490: 2f 77 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50  /wal.c \.  $(TOP
24a0: 29 2f 73 72 63 2f 77 61 6c 2e 68 20 5c 0a 20 20  )/src/wal.h \.  
24b0: 24 28 54 4f 50 29 2f 73 72 63 2f 77 61 6c 6b 65  $(TOP)/src/walke
24c0: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  r.c \.  $(TOP)/s
24d0: 72 63 2f 77 68 65 72 65 2e 63 20 5c 0a 20 20 24  rc/where.c \.  $
24e0: 28 54 4f 50 29 2f 73 72 63 2f 77 68 65 72 65 63  (TOP)/src/wherec
24f0: 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ode.c \.  $(TOP)
2500: 2f 73 72 63 2f 77 68 65 72 65 65 78 70 72 2e 63  /src/whereexpr.c
2510: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
2520: 77 68 65 72 65 49 6e 74 2e 68 20 5c 0a 20 20 24  whereInt.h \.  $
2530: 28 54 4f 50 29 2f 73 72 63 2f 77 69 6e 64 6f 77  (TOP)/src/window
2540: 2e 63 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64  .c..# Source cod
2550: 65 20 66 6f 72 20 65 78 74 65 6e 73 69 6f 6e 73  e for extensions
2560: 0a 23 0a 53 52 43 20 2b 3d 20 5c 0a 20 20 24 28  .#.SRC += \.  $(
2570: 54 4f 50 29 2f 65 78 74 2f 66 74 73 31 2f 66 74  TOP)/ext/fts1/ft
2580: 73 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  s1.c \.  $(TOP)/
2590: 65 78 74 2f 66 74 73 31 2f 66 74 73 31 2e 68 20  ext/fts1/fts1.h 
25a0: 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66  \.  $(TOP)/ext/f
25b0: 74 73 31 2f 66 74 73 31 5f 68 61 73 68 2e 63 20  ts1/fts1_hash.c 
25c0: 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66  \.  $(TOP)/ext/f
25d0: 74 73 31 2f 66 74 73 31 5f 68 61 73 68 2e 68 20  ts1/fts1_hash.h 
25e0: 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66  \.  $(TOP)/ext/f
25f0: 74 73 31 2f 66 74 73 31 5f 70 6f 72 74 65 72 2e  ts1/fts1_porter.
2600: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  c \.  $(TOP)/ext
2610: 2f 66 74 73 31 2f 66 74 73 31 5f 74 6f 6b 65 6e  /fts1/fts1_token
2620: 69 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50  izer.h \.  $(TOP
2630: 29 2f 65 78 74 2f 66 74 73 31 2f 66 74 73 31 5f  )/ext/fts1/fts1_
2640: 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a 53 52 43  tokenizer1.c.SRC
2650: 20 2b 3d 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65   += \.  $(TOP)/e
2660: 78 74 2f 66 74 73 32 2f 66 74 73 32 2e 63 20 5c  xt/fts2/fts2.c \
2670: 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74  .  $(TOP)/ext/ft
2680: 73 32 2f 66 74 73 32 2e 68 20 5c 0a 20 20 24 28  s2/fts2.h \.  $(
2690: 54 4f 50 29 2f 65 78 74 2f 66 74 73 32 2f 66 74  TOP)/ext/fts2/ft
26a0: 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28  s2_hash.c \.  $(
26b0: 54 4f 50 29 2f 65 78 74 2f 66 74 73 32 2f 66 74  TOP)/ext/fts2/ft
26c0: 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28  s2_hash.h \.  $(
26d0: 54 4f 50 29 2f 65 78 74 2f 66 74 73 32 2f 66 74  TOP)/ext/fts2/ft
26e0: 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24 28 54  s2_icu.c \.  $(T
26f0: 4f 50 29 2f 65 78 74 2f 66 74 73 32 2f 66 74 73  OP)/ext/fts2/fts
2700: 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24  2_porter.c \.  $
2710: 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 32 2f 66  (TOP)/ext/fts2/f
2720: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20  ts2_tokenizer.h 
2730: 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66  \.  $(TOP)/ext/f
2740: 74 73 32 2f 66 74 73 32 5f 74 6f 6b 65 6e 69 7a  ts2/fts2_tokeniz
2750: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  er.c \.  $(TOP)/
2760: 65 78 74 2f 66 74 73 32 2f 66 74 73 32 5f 74 6f  ext/fts2/fts2_to
2770: 6b 65 6e 69 7a 65 72 31 2e 63 0a 53 52 43 20 2b  kenizer1.c.SRC +
2780: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  = \.  $(TOP)/ext
2790: 2f 66 74 73 33 2f 66 74 73 33 2e 63 20 5c 0a 20  /fts3/fts3.c \. 
27a0: 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 33   $(TOP)/ext/fts3
27b0: 2f 66 74 73 33 2e 68 20 5c 0a 20 20 24 28 54 4f  /fts3.h \.  $(TO
27c0: 50 29 2f 65 78 74 2f 66 74 73 33 2f 66 74 73 33  P)/ext/fts3/fts3
27d0: 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  Int.h \.  $(TOP)
27e0: 2f 65 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 61  /ext/fts3/fts3_a
27f0: 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  ux.c \.  $(TOP)/
2800: 65 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 65 78  ext/fts3/fts3_ex
2810: 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  pr.c \.  $(TOP)/
2820: 65 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 68 61  ext/fts3/fts3_ha
2830: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  sh.c \.  $(TOP)/
2840: 65 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 68 61  ext/fts3/fts3_ha
2850: 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 2f  sh.h \.  $(TOP)/
2860: 65 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 69 63  ext/fts3/fts3_ic
2870: 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65  u.c \.  $(TOP)/e
2880: 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 70 6f 72  xt/fts3/fts3_por
2890: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ter.c \.  $(TOP)
28a0: 2f 65 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 73  /ext/fts3/fts3_s
28b0: 6e 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54  nippet.c \.  $(T
28c0: 4f 50 29 2f 65 78 74 2f 66 74 73 33 2f 66 74 73  OP)/ext/fts3/fts
28d0: 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a  3_tokenizer.h \.
28e0: 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73    $(TOP)/ext/fts
28f0: 33 2f 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3/fts3_tokenizer
2900: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex
2910: 74 2f 66 74 73 33 2f 66 74 73 33 5f 74 6f 6b 65  t/fts3/fts3_toke
2920: 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 24 28 54  nizer1.c \.  $(T
2930: 4f 50 29 2f 65 78 74 2f 66 74 73 33 2f 66 74 73  OP)/ext/fts3/fts
2940: 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e  3_tokenize_vtab.
2950: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  c \.  $(TOP)/ext
2960: 2f 66 74 73 33 2f 66 74 73 33 5f 75 6e 69 63 6f  /fts3/fts3_unico
2970: 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  de.c \.  $(TOP)/
2980: 65 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 75 6e  ext/fts3/fts3_un
2990: 69 63 6f 64 65 32 2e 63 20 5c 0a 20 20 24 28 54  icode2.c \.  $(T
29a0: 4f 50 29 2f 65 78 74 2f 66 74 73 33 2f 66 74 73  OP)/ext/fts3/fts
29b0: 33 5f 77 72 69 74 65 2e 63 0a 53 52 43 20 2b 3d  3_write.c.SRC +=
29c0: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
29d0: 69 63 75 2f 73 71 6c 69 74 65 69 63 75 2e 68 20  icu/sqliteicu.h 
29e0: 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 69  \.  $(TOP)/ext/i
29f0: 63 75 2f 69 63 75 2e 63 0a 53 52 43 20 2b 3d 20  cu/icu.c.SRC += 
2a00: 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72  \.  $(TOP)/ext/r
2a10: 74 72 65 65 2f 72 74 72 65 65 2e 68 20 5c 0a 20  tree/rtree.h \. 
2a20: 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 74 72 65   $(TOP)/ext/rtre
2a30: 65 2f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  e/rtree.c \.  $(
2a40: 54 4f 50 29 2f 65 78 74 2f 72 74 72 65 65 2f 67  TOP)/ext/rtree/g
2a50: 65 6f 70 6f 6c 79 2e 63 0a 53 52 43 20 2b 3d 20  eopoly.c.SRC += 
2a60: 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 73  \.  $(TOP)/ext/s
2a70: 71 6c 72 72 2f 73 71 6c 72 72 2e 68 20 5c 0a 20  qlrr/sqlrr.h \. 
2a80: 20 24 28 54 4f 50 29 2f 65 78 74 2f 73 71 6c 72   $(TOP)/ext/sqlr
2a90: 72 2f 73 71 6c 72 72 2e 63 0a 53 52 43 20 2b 3d  r/sqlrr.c.SRC +=
2aa0: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
2ab0: 73 65 73 73 69 6f 6e 2f 73 71 6c 69 74 65 33 73  session/sqlite3s
2ac0: 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 20 24 28 54  ession.c \.  $(T
2ad0: 4f 50 29 2f 65 78 74 2f 73 65 73 73 69 6f 6e 2f  OP)/ext/session/
2ae0: 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68  sqlite3session.h
2af0: 0a 53 52 43 20 2b 3d 20 5c 0a 20 20 24 28 54 4f  .SRC += \.  $(TO
2b00: 50 29 2f 65 78 74 2f 72 62 75 2f 73 71 6c 69 74  P)/ext/rbu/sqlit
2b10: 65 33 72 62 75 2e 68 20 5c 0a 20 20 24 28 54 4f  e3rbu.h \.  $(TO
2b20: 50 29 2f 65 78 74 2f 72 62 75 2f 73 71 6c 69 74  P)/ext/rbu/sqlit
2b30: 65 33 72 62 75 2e 63 0a 53 52 43 20 2b 3d 20 5c  e3rbu.c.SRC += \
2b40: 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69  .  $(TOP)/ext/mi
2b50: 73 63 2f 6a 73 6f 6e 31 2e 63 20 5c 0a 20 20 24  sc/json1.c \.  $
2b60: 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f 73  (TOP)/ext/misc/s
2b70: 74 6d 74 2e 63 0a 0a 23 20 47 65 6e 65 72 61 74  tmt.c..# Generat
2b80: 65 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ed source code f
2b90: 69 6c 65 73 0a 23 0a 53 52 43 20 2b 3d 20 5c 0a  iles.#.SRC += \.
2ba0: 20 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20    keywordhash.h 
2bb0: 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 63 20 5c 0a  \.  opcodes.c \.
2bc0: 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20    opcodes.h \.  
2bd0: 70 61 72 73 65 2e 63 20 5c 0a 20 20 70 61 72 73  parse.c \.  pars
2be0: 65 2e 68 20 5c 0a 20 20 63 6f 6e 66 69 67 2e 68  e.h \.  config.h
2bf0: 20 5c 0a 20 20 73 68 65 6c 6c 2e 63 20 5c 0a 20   \.  shell.c \. 
2c00: 20 73 71 6c 69 74 65 33 2e 68 0a 0a 23 20 53 6f   sqlite3.h..# So
2c10: 75 72 63 65 20 63 6f 64 65 20 74 6f 20 74 68 65  urce code to the
2c20: 20 74 65 73 74 20 66 69 6c 65 73 2e 0a 23 0a 54   test files..#.T
2c30: 45 53 54 53 52 43 20 3d 20 5c 0a 20 20 24 28 54  ESTSRC = \.  $(T
2c40: 4f 50 29 2f 73 72 63 2f 74 65 73 74 31 2e 63 20  OP)/src/test1.c 
2c50: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74  \.  $(TOP)/src/t
2c60: 65 73 74 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50  est2.c \.  $(TOP
2c70: 29 2f 73 72 63 2f 74 65 73 74 33 2e 63 20 5c 0a  )/src/test3.c \.
2c80: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 65 73    $(TOP)/src/tes
2c90: 74 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  t4.c \.  $(TOP)/
2ca0: 73 72 63 2f 74 65 73 74 35 2e 63 20 5c 0a 20 20  src/test5.c \.  
2cb0: 24 28 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 36  $(TOP)/src/test6
2cc0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
2cd0: 63 2f 74 65 73 74 37 2e 63 20 5c 0a 20 20 24 28  c/test7.c \.  $(
2ce0: 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 38 2e 63  TOP)/src/test8.c
2cf0: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
2d00: 74 65 73 74 39 2e 63 20 5c 0a 20 20 24 28 54 4f  test9.c \.  $(TO
2d10: 50 29 2f 73 72 63 2f 74 65 73 74 5f 61 75 74 6f  P)/src/test_auto
2d20: 65 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ext.c \.  $(TOP)
2d30: 2f 73 72 63 2f 74 65 73 74 5f 61 73 79 6e 63 2e  /src/test_async.
2d40: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
2d50: 2f 74 65 73 74 5f 62 61 63 6b 75 70 2e 63 20 5c  /test_backup.c \
2d60: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 65  .  $(TOP)/src/te
2d70: 73 74 5f 62 65 73 74 69 6e 64 65 78 2e 63 20 5c  st_bestindex.c \
2d80: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 65  .  $(TOP)/src/te
2d90: 73 74 5f 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28  st_blob.c \.  $(
2da0: 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 5f 62 74  TOP)/src/test_bt
2db0: 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ree.c \.  $(TOP)
2dc0: 2f 73 72 63 2f 74 65 73 74 5f 63 6f 6e 66 69 67  /src/test_config
2dd0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
2de0: 63 2f 74 65 73 74 5f 64 65 6c 65 74 65 2e 63 20  c/test_delete.c 
2df0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74  \.  $(TOP)/src/t
2e00: 65 73 74 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a  est_demovfs.c \.
2e10: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 65 73    $(TOP)/src/tes
2e20: 74 5f 64 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24  t_devsym.c \.  $
2e30: 28 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 5f 66  (TOP)/src/test_f
2e40: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  s.c \.  $(TOP)/s
2e50: 72 63 2f 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c  rc/test_func.c \
2e60: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 65  .  $(TOP)/src/te
2e70: 73 74 5f 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24  st_hexio.c \.  $
2e80: 28 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 5f 69  (TOP)/src/test_i
2e90: 6e 69 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nit.c \.  $(TOP)
2ea0: 2f 73 72 63 2f 74 65 73 74 5f 69 6e 74 61 72 72  /src/test_intarr
2eb0: 61 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  ay.c \.  $(TOP)/
2ec0: 73 72 63 2f 74 65 73 74 5f 6a 6f 75 72 6e 61 6c  src/test_journal
2ed0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
2ee0: 63 2f 74 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20  c/test_malloc.c 
2ef0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74  \.  $(TOP)/src/t
2f00: 65 73 74 5f 6d 64 35 2e 63 20 5c 0a 20 20 24 28  est_md5.c \.  $(
2f10: 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 5f 6d 75  TOP)/src/test_mu
2f20: 6c 74 69 70 6c 65 78 2e 63 20 5c 0a 20 20 24 28  ltiplex.c \.  $(
2f30: 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 5f 6d 75  TOP)/src/test_mu
2f40: 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tex.c \.  $(TOP)
2f50: 2f 73 72 63 2f 74 65 73 74 5f 6f 6e 65 66 69 6c  /src/test_onefil
2f60: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  e.c \.  $(TOP)/s
2f70: 72 63 2f 74 65 73 74 5f 6f 73 69 6e 73 74 2e 63  rc/test_osinst.c
2f80: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
2f90: 74 65 73 74 5f 70 63 61 63 68 65 2e 63 20 5c 0a  test_pcache.c \.
2fa0: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 65 73    $(TOP)/src/tes
2fb0: 74 5f 71 75 6f 74 61 2e 63 20 5c 0a 20 20 24 28  t_quota.c \.  $(
2fc0: 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 5f 72 74  TOP)/src/test_rt
2fd0: 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ree.c \.  $(TOP)
2fe0: 2f 73 72 63 2f 74 65 73 74 5f 73 63 68 65 6d 61  /src/test_schema
2ff0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
3000: 63 2f 74 65 73 74 5f 73 65 72 76 65 72 2e 63 20  c/test_server.c 
3010: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74  \.  $(TOP)/src/t
3020: 65 73 74 5f 73 75 70 65 72 6c 6f 63 6b 2e 63 20  est_superlock.c 
3030: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74  \.  $(TOP)/src/t
3040: 65 73 74 5f 73 79 73 63 61 6c 6c 2e 63 20 5c 0a  est_syscall.c \.
3050: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 65 73    $(TOP)/src/tes
3060: 74 5f 74 63 6c 73 68 2e 63 20 5c 0a 20 20 24 28  t_tclsh.c \.  $(
3070: 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 5f 74 63  TOP)/src/test_tc
3080: 6c 76 61 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  lvar.c \.  $(TOP
3090: 29 2f 73 72 63 2f 74 65 73 74 5f 74 68 72 65 61  )/src/test_threa
30a0: 64 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  d.c \.  $(TOP)/s
30b0: 72 63 2f 74 65 73 74 5f 76 66 73 2e 63 20 5c 0a  rc/test_vfs.c \.
30c0: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 65 73    $(TOP)/src/tes
30d0: 74 5f 77 69 6e 64 69 72 65 6e 74 2e 63 20 5c 0a  t_windirent.c \.
30e0: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 65 73    $(TOP)/src/tes
30f0: 74 5f 77 69 6e 64 6f 77 2e 63 20 5c 0a 20 20 24  t_window.c \.  $
3100: 28 54 4f 50 29 2f 73 72 63 2f 74 65 73 74 5f 77  (TOP)/src/test_w
3110: 73 64 2e 63 20 20 20 20 20 20 20 5c 0a 20 20 24  sd.c       \.  $
3120: 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 33 2f 66  (TOP)/ext/fts3/f
3130: 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a 20 20 24  ts3_term.c \.  $
3140: 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 33 2f 66  (TOP)/ext/fts3/f
3150: 74 73 33 5f 74 65 73 74 2e 63 20 20 5c 0a 20 20  ts3_test.c  \.  
3160: 24 28 54 4f 50 29 2f 65 78 74 2f 73 65 73 73 69  $(TOP)/ext/sessi
3170: 6f 6e 2f 74 65 73 74 5f 73 65 73 73 69 6f 6e 2e  on/test_session.
3180: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  c \.  $(TOP)/ext
3190: 2f 72 62 75 2f 74 65 73 74 5f 72 62 75 2e 63 20  /rbu/test_rbu.c 
31a0: 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 20 6c  ..# Statically l
31b0: 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f 6e 73  inked extensions
31c0: 0a 23 0a 54 45 53 54 53 52 43 20 2b 3d 20 5c 0a  .#.TESTSRC += \.
31d0: 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 65 78 70    $(TOP)/ext/exp
31e0: 65 72 74 2f 73 71 6c 69 74 65 33 65 78 70 65 72  ert/sqlite3exper
31f0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65  t.c \.  $(TOP)/e
3200: 78 74 2f 65 78 70 65 72 74 2f 74 65 73 74 5f 65  xt/expert/test_e
3210: 78 70 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f  xpert.c \.  $(TO
3220: 50 29 2f 65 78 74 2f 6d 69 73 63 2f 61 6d 61 74  P)/ext/misc/amat
3230: 63 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  ch.c \.  $(TOP)/
3240: 65 78 74 2f 6d 69 73 63 2f 63 61 72 72 61 79 2e  ext/misc/carray.
3250: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  c \.  $(TOP)/ext
3260: 2f 6d 69 73 63 2f 63 6c 6f 73 75 72 65 2e 63 20  /misc/closure.c 
3270: 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d  \.  $(TOP)/ext/m
3280: 69 73 63 2f 63 73 76 2e 63 20 5c 0a 20 20 24 28  isc/csv.c \.  $(
3290: 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f 65 76  TOP)/ext/misc/ev
32a0: 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  al.c \.  $(TOP)/
32b0: 65 78 74 2f 6d 69 73 63 2f 66 69 6c 65 69 6f 2e  ext/misc/fileio.
32c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  c \.  $(TOP)/ext
32d0: 2f 6d 69 73 63 2f 66 75 7a 7a 65 72 2e 63 20 5c  /misc/fuzzer.c \
32e0: 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74  .  $(TOP)/ext/ft
32f0: 73 35 2f 66 74 73 35 5f 74 63 6c 2e 63 20 5c 0a  s5/fts5_tcl.c \.
3300: 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73    $(TOP)/ext/fts
3310: 35 2f 66 74 73 35 5f 74 65 73 74 5f 6d 69 2e 63  5/fts5_test_mi.c
3320: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
3330: 66 74 73 35 2f 66 74 73 35 5f 74 65 73 74 5f 74  fts5/fts5_test_t
3340: 6f 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  ok.c \.  $(TOP)/
3350: 65 78 74 2f 6d 69 73 63 2f 69 65 65 65 37 35 34  ext/misc/ieee754
3360: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex
3370: 74 2f 6d 69 73 63 2f 6d 6d 61 70 77 61 72 6d 2e  t/misc/mmapwarm.
3380: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  c \.  $(TOP)/ext
3390: 2f 6d 69 73 63 2f 6e 65 78 74 63 68 61 72 2e 63  /misc/nextchar.c
33a0: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
33b0: 6d 69 73 63 2f 6e 6f 72 6d 61 6c 69 7a 65 2e 63  misc/normalize.c
33c0: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
33d0: 6d 69 73 63 2f 70 65 72 63 65 6e 74 69 6c 65 2e  misc/percentile.
33e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  c \.  $(TOP)/ext
33f0: 2f 6d 69 73 63 2f 72 65 67 65 78 70 2e 63 20 5c  /misc/regexp.c \
3400: 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69  .  $(TOP)/ext/mi
3410: 73 63 2f 72 65 6d 65 6d 62 65 72 2e 63 20 5c 0a  sc/remember.c \.
3420: 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73    $(TOP)/ext/mis
3430: 63 2f 73 65 72 69 65 73 2e 63 20 5c 0a 20 20 24  c/series.c \.  $
3440: 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f 73  (TOP)/ext/misc/s
3450: 70 65 6c 6c 66 69 78 2e 63 20 5c 0a 20 20 24 28  pellfix.c \.  $(
3460: 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f 74 6f  TOP)/ext/misc/to
3470: 74 79 70 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  type.c \.  $(TOP
3480: 29 2f 65 78 74 2f 6d 69 73 63 2f 75 6e 69 6f 6e  )/ext/misc/union
3490: 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50  vtab.c \.  $(TOP
34a0: 29 2f 65 78 74 2f 6d 69 73 63 2f 77 68 6f 6c 65  )/ext/misc/whole
34b0: 6e 75 6d 62 65 72 2e 63 20 5c 0a 20 20 24 28 54  number.c \.  $(T
34c0: 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f 7a 69 70  OP)/ext/misc/zip
34d0: 66 69 6c 65 2e 63 0a 0a 23 20 53 6f 75 72 63 65  file.c..# Source
34e0: 20 63 6f 64 65 20 74 6f 20 74 68 65 20 6c 69 62   code to the lib
34f0: 72 61 72 79 20 66 69 6c 65 73 20 6e 65 65 64 65  rary files neede
3500: 64 20 62 79 20 74 68 65 20 74 65 73 74 20 66 69  d by the test fi
3510: 78 74 75 72 65 0a 23 0a 54 45 53 54 53 52 43 32  xture.#.TESTSRC2
3520: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72   = \.  $(TOP)/sr
3530: 63 2f 61 74 74 61 63 68 2e 63 20 5c 0a 20 20 24  c/attach.c \.  $
3540: 28 54 4f 50 29 2f 73 72 63 2f 62 61 63 6b 75 70  (TOP)/src/backup
3550: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
3560: 63 2f 62 69 74 76 65 63 2e 63 20 5c 0a 20 20 24  c/bitvec.c \.  $
3570: 28 54 4f 50 29 2f 73 72 63 2f 62 74 72 65 65 2e  (TOP)/src/btree.
3580: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
3590: 2f 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54  /build.c \.  $(T
35a0: 4f 50 29 2f 73 72 63 2f 63 74 69 6d 65 2e 63 20  OP)/src/ctime.c 
35b0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 64  \.  $(TOP)/src/d
35c0: 61 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ate.c \.  $(TOP)
35d0: 2f 73 72 63 2f 64 62 70 61 67 65 2e 63 20 5c 0a  /src/dbpage.c \.
35e0: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 64 62 73    $(TOP)/src/dbs
35f0: 74 61 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  tat.c \.  $(TOP)
3600: 2f 73 72 63 2f 65 78 70 72 2e 63 20 5c 0a 20 20  /src/expr.c \.  
3610: 24 28 54 4f 50 29 2f 73 72 63 2f 66 75 6e 63 2e  $(TOP)/src/func.
3620: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
3630: 2f 69 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24 28  /insert.c \.  $(
3640: 54 4f 50 29 2f 73 72 63 2f 77 61 6c 2e 63 20 5c  TOP)/src/wal.c \
3650: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6d 61  .  $(TOP)/src/ma
3660: 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  in.c \.  $(TOP)/
3670: 73 72 63 2f 6d 65 6d 35 2e 63 20 5c 0a 20 20 24  src/mem5.c \.  $
3680: 28 54 4f 50 29 2f 73 72 63 2f 6f 73 2e 63 20 5c  (TOP)/src/os.c \
3690: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6f 73  .  $(TOP)/src/os
36a0: 5f 75 6e 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f  _unix.c \.  $(TO
36b0: 50 29 2f 73 72 63 2f 6f 73 5f 77 69 6e 2e 63 20  P)/src/os_win.c 
36c0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 70  \.  $(TOP)/src/p
36d0: 61 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  ager.c \.  $(TOP
36e0: 29 2f 73 72 63 2f 70 72 61 67 6d 61 2e 63 20 5c  )/src/pragma.c \
36f0: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 72  .  $(TOP)/src/pr
3700: 65 70 61 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f  epare.c \.  $(TO
3710: 50 29 2f 73 72 63 2f 70 72 69 6e 74 66 2e 63 20  P)/src/printf.c 
3720: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 72  \.  $(TOP)/src/r
3730: 61 6e 64 6f 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  andom.c \.  $(TO
3740: 50 29 2f 73 72 63 2f 70 63 61 63 68 65 2e 63 20  P)/src/pcache.c 
3750: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 70  \.  $(TOP)/src/p
3760: 63 61 63 68 65 31 2e 63 20 5c 0a 20 20 24 28 54  cache1.c \.  $(T
3770: 4f 50 29 2f 73 72 63 2f 73 65 6c 65 63 74 2e 63  OP)/src/select.c
3780: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
3790: 74 6f 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 24  tokenize.c \.  $
37a0: 28 54 4f 50 29 2f 73 72 63 2f 75 74 66 2e 63 20  (TOP)/src/utf.c 
37b0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 75  \.  $(TOP)/src/u
37c0: 74 69 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  til.c \.  $(TOP)
37d0: 2f 73 72 63 2f 76 64 62 65 61 70 69 2e 63 20 5c  /src/vdbeapi.c \
37e0: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 76 64  .  $(TOP)/src/vd
37f0: 62 65 61 75 78 2e 63 20 5c 0a 20 20 24 28 54 4f  beaux.c \.  $(TO
3800: 50 29 2f 73 72 63 2f 76 64 62 65 2e 63 20 5c 0a  P)/src/vdbe.c \.
3810: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 76 64 62    $(TOP)/src/vdb
3820: 65 6d 65 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50  emem.c \.  $(TOP
3830: 29 2f 73 72 63 2f 76 64 62 65 74 72 61 63 65 2e  )/src/vdbetrace.
3840: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63  c \.  $(TOP)/src
3850: 2f 77 68 65 72 65 2e 63 20 5c 0a 20 20 24 28 54  /where.c \.  $(T
3860: 4f 50 29 2f 73 72 63 2f 77 68 65 72 65 63 6f 64  OP)/src/wherecod
3870: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  e.c \.  $(TOP)/s
3880: 72 63 2f 77 68 65 72 65 65 78 70 72 2e 63 20 5c  rc/whereexpr.c \
3890: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 77 69  .  $(TOP)/src/wi
38a0: 6e 64 6f 77 2e 63 20 5c 0a 20 20 70 61 72 73 65  ndow.c \.  parse
38b0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex
38c0: 74 2f 66 74 73 33 2f 66 74 73 33 2e 63 20 5c 0a  t/fts3/fts3.c \.
38d0: 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73    $(TOP)/ext/fts
38e0: 33 2f 66 74 73 33 5f 61 75 78 2e 63 20 5c 0a 20  3/fts3_aux.c \. 
38f0: 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 33   $(TOP)/ext/fts3
3900: 2f 66 74 73 33 5f 65 78 70 72 2e 63 20 5c 0a 20  /fts3_expr.c \. 
3910: 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 33   $(TOP)/ext/fts3
3920: 2f 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c 0a 20  /fts3_term.c \. 
3930: 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 33   $(TOP)/ext/fts3
3940: 2f 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  /fts3_tokenizer.
3950: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  c \.  $(TOP)/ext
3960: 2f 66 74 73 33 2f 66 74 73 33 5f 77 72 69 74 65  /fts3/fts3_write
3970: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  .c \.  $(TOP)/ex
3980: 74 2f 61 73 79 6e 63 2f 73 71 6c 69 74 65 33 61  t/async/sqlite3a
3990: 73 79 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sync.c \.  $(TOP
39a0: 29 2f 65 78 74 2f 73 65 73 73 69 6f 6e 2f 73 71  )/ext/session/sq
39b0: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 63 20 5c  lite3session.c \
39c0: 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69  .  $(TOP)/ext/mi
39d0: 73 63 2f 73 74 6d 74 2e 63 20 0a 0a 23 20 48 65  sc/stmt.c ..# He
39e0: 61 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20  ader files used 
39f0: 62 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73  by all library s
3a00: 6f 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48  ource files..#.H
3a10: 44 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29  DR = \.   $(TOP)
3a20: 2f 73 72 63 2f 62 74 72 65 65 2e 68 20 5c 0a 20  /src/btree.h \. 
3a30: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 62 74 72    $(TOP)/src/btr
3a40: 65 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54  eeInt.h \.   $(T
3a50: 4f 50 29 2f 73 72 63 2f 68 61 73 68 2e 68 20 5c  OP)/src/hash.h \
3a60: 0a 20 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 68  .   $(TOP)/src/h
3a70: 77 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79  wtime.h \.   key
3a80: 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20  wordhash.h \.   
3a90: 24 28 54 4f 50 29 2f 73 72 63 2f 6d 73 76 63 2e  $(TOP)/src/msvc.
3aa0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 2f 73 72  h \.   $(TOP)/sr
3ab0: 63 2f 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f  c/mutex.h \.   o
3ac0: 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28  pcodes.h \.   $(
3ad0: 54 4f 50 29 2f 73 72 63 2f 6f 73 2e 68 20 5c 0a  TOP)/src/os.h \.
3ae0: 20 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6f 73     $(TOP)/src/os
3af0: 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24  _common.h \.   $
3b00: 28 54 4f 50 29 2f 73 72 63 2f 6f 73 5f 73 65 74  (TOP)/src/os_set
3b10: 75 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  up.h \.   $(TOP)
3b20: 2f 73 72 63 2f 6f 73 5f 77 69 6e 2e 68 20 5c 0a  /src/os_win.h \.
3b30: 20 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 61     $(TOP)/src/pa
3b40: 67 65 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50  ger.h \.   $(TOP
3b50: 29 2f 73 72 63 2f 70 63 61 63 68 65 2e 68 20 5c  )/src/pcache.h \
3b60: 0a 20 20 20 70 61 72 73 65 2e 68 20 20 5c 0a 20  .   parse.h  \. 
3b70: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 72 61    $(TOP)/src/pra
3b80: 67 6d 61 2e 68 20 5c 0a 20 20 20 73 71 6c 69 74  gma.h \.   sqlit
3b90: 65 33 2e 68 20 20 5c 0a 20 20 20 24 28 54 4f 50  e3.h  \.   $(TOP
3ba0: 29 2f 73 72 63 2f 73 71 6c 69 74 65 33 65 78 74  )/src/sqlite3ext
3bb0: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 2f 73  .h \.   $(TOP)/s
3bc0: 72 63 2f 73 71 6c 69 74 65 49 6e 74 2e 68 20 20  rc/sqliteInt.h  
3bd0: 5c 0a 20 20 20 24 28 54 4f 50 29 2f 73 72 63 2f  \.   $(TOP)/src/
3be0: 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 5c 0a  sqliteLimit.h \.
3bf0: 20 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 76 64     $(TOP)/src/vd
3c00: 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29  be.h \.   $(TOP)
3c10: 2f 73 72 63 2f 76 64 62 65 49 6e 74 2e 68 20 5c  /src/vdbeInt.h \
3c20: 0a 20 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 76  .   $(TOP)/src/v
3c30: 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20 24 28  xworks.h \.   $(
3c40: 54 4f 50 29 2f 73 72 63 2f 77 68 65 72 65 49 6e  TOP)/src/whereIn
3c50: 74 2e 68 20 5c 0a 20 20 20 63 6f 6e 66 69 67 2e  t.h \.   config.
3c60: 68 0a 0a 23 20 48 65 61 64 65 72 20 66 69 6c 65  h..# Header file
3c70: 73 20 75 73 65 64 20 62 79 20 65 78 74 65 6e 73  s used by extens
3c80: 69 6f 6e 73 0a 23 0a 45 58 54 48 44 52 20 2b 3d  ions.#.EXTHDR +=
3c90: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f   \.  $(TOP)/ext/
3ca0: 66 74 73 31 2f 66 74 73 31 2e 68 20 5c 0a 20 20  fts1/fts1.h \.  
3cb0: 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 31 2f  $(TOP)/ext/fts1/
3cc0: 66 74 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20  fts1_hash.h \.  
3cd0: 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 31 2f  $(TOP)/ext/fts1/
3ce0: 66 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68  fts1_tokenizer.h
3cf0: 0a 45 58 54 48 44 52 20 2b 3d 20 5c 0a 20 20 24  .EXTHDR += \.  $
3d00: 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 32 2f 66  (TOP)/ext/fts2/f
3d10: 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ts2.h \.  $(TOP)
3d20: 2f 65 78 74 2f 66 74 73 32 2f 66 74 73 32 5f 68  /ext/fts2/fts2_h
3d30: 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ash.h \.  $(TOP)
3d40: 2f 65 78 74 2f 66 74 73 32 2f 66 74 73 32 5f 74  /ext/fts2/fts2_t
3d50: 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 54 48 44  okenizer.h.EXTHD
3d60: 52 20 2b 3d 20 5c 0a 20 20 24 28 54 4f 50 29 2f  R += \.  $(TOP)/
3d70: 65 78 74 2f 66 74 73 33 2f 66 74 73 33 2e 68 20  ext/fts3/fts3.h 
3d80: 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66  \.  $(TOP)/ext/f
3d90: 74 73 33 2f 66 74 73 33 49 6e 74 2e 68 20 5c 0a  ts3/fts3Int.h \.
3da0: 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73    $(TOP)/ext/fts
3db0: 33 2f 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a  3/fts3_hash.h \.
3dc0: 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73    $(TOP)/ext/fts
3dd0: 33 2f 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  3/fts3_tokenizer
3de0: 2e 68 0a 45 58 54 48 44 52 20 2b 3d 20 5c 0a 20  .h.EXTHDR += \. 
3df0: 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 74 72 65   $(TOP)/ext/rtre
3e00: 65 2f 72 74 72 65 65 2e 68 20 5c 0a 20 20 24 28  e/rtree.h \.  $(
3e10: 54 4f 50 29 2f 65 78 74 2f 72 74 72 65 65 2f 67  TOP)/ext/rtree/g
3e20: 65 6f 70 6f 6c 79 2e 63 0a 45 58 54 48 44 52 20  eopoly.c.EXTHDR 
3e30: 2b 3d 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78  += \.  $(TOP)/ex
3e40: 74 2f 69 63 75 2f 73 71 6c 69 74 65 69 63 75 2e  t/icu/sqliteicu.
3e50: 68 0a 45 58 54 48 44 52 20 2b 3d 20 5c 0a 20 20  h.EXTHDR += \.  
3e60: 24 28 54 4f 50 29 2f 65 78 74 2f 72 74 72 65 65  $(TOP)/ext/rtree
3e70: 2f 73 71 6c 69 74 65 33 72 74 72 65 65 2e 68 0a  /sqlite3rtree.h.
3e80: 45 58 54 48 44 52 20 2b 3d 20 5c 0a 20 20 24 28  EXTHDR += \.  $(
3e90: 54 4f 50 29 2f 65 78 74 2f 73 71 6c 72 72 2f 73  TOP)/ext/sqlrr/s
3ea0: 71 6c 72 72 2e 68 0a 0a 23 20 49 66 20 75 73 69  qlrr.h..# If usi
3eb0: 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74  ng the amalgamat
3ec0: 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74 65 33  ion, use sqlite3
3ed0: 2e 63 20 64 69 72 65 63 74 6c 79 20 74 6f 20 62  .c directly to b
3ee0: 75 69 6c 64 20 74 68 65 20 74 65 73 74 0a 23 20  uild the test.# 
3ef0: 66 69 78 74 75 72 65 2e 20 20 4f 74 68 65 72 77  fixture.  Otherw
3f00: 69 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74  ise link against
3f10: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 61 2e 20   libsqlite3.la. 
3f20: 20 28 54 68 69 73 20 64 69 73 74 69 6e 63 74 69   (This distincti
3f30: 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73 73 61 72  on is.# necessar
3f40: 79 20 62 65 63 61 75 73 65 20 74 68 65 20 74 65  y because the te
3f50: 73 74 20 66 69 78 74 75 72 65 20 72 65 71 75 69  st fixture requi
3f60: 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62  res non-API symb
3f70: 6f 6c 73 20 77 68 69 63 68 20 61 72 65 0a 23 20  ols which are.# 
3f80: 68 69 64 64 65 6e 20 77 68 65 6e 20 74 68 65 20  hidden when the 
3f90: 6c 69 62 72 61 72 79 20 69 73 20 62 75 69 6c 74  library is built
3fa0: 20 76 69 61 20 74 68 65 20 61 6d 61 6c 67 61 6d   via the amalgam
3fb0: 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49  ation)..#.TESTFI
3fc0: 58 54 55 52 45 5f 53 52 43 30 20 3d 20 24 28 54  XTURE_SRC0 = $(T
3fd0: 45 53 54 53 52 43 32 29 20 6c 69 62 73 71 6c 69  ESTSRC2) libsqli
3fe0: 74 65 33 2e 6c 61 0a 54 45 53 54 46 49 58 54 55  te3.la.TESTFIXTU
3ff0: 52 45 5f 53 52 43 31 20 3d 20 73 71 6c 69 74 65  RE_SRC1 = sqlite
4000: 33 2e 63 0a 54 45 53 54 46 49 58 54 55 52 45 5f  3.c.TESTFIXTURE_
4010: 53 52 43 20 3d 20 24 28 54 45 53 54 53 52 43 29  SRC = $(TESTSRC)
4020: 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73   $(TOP)/src/tcls
4030: 71 6c 69 74 65 2e 63 20 24 28 54 45 53 54 46 49  qlite.c $(TESTFI
4040: 58 54 55 52 45 5f 53 52 43 24 28 55 53 45 5f 41  XTURE_SRC$(USE_A
4050: 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 29 0a 0a 23  MALGAMATION))..#
4060: 20 65 78 65 63 75 74 61 62 6c 65 73 20 6e 65 65   executables nee
4070: 64 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 0a  ded for testing.
4080: 23 0a 54 45 53 54 50 52 4f 47 53 20 3d 20 5c 0a  #.TESTPROGS = \.
4090: 20 20 74 65 73 74 66 69 78 74 75 72 65 24 28 54    testfixture$(T
40a0: 45 58 45 29 20 5c 0a 20 20 73 71 6c 69 74 65 33  EXE) \.  sqlite3
40b0: 24 28 54 45 58 45 29 20 5c 0a 20 20 73 71 6c 69  $(TEXE) \.  sqli
40c0: 74 65 33 5f 61 6e 61 6c 79 7a 65 72 24 28 54 45  te3_analyzer$(TE
40d0: 58 45 29 20 5c 0a 20 20 73 71 6c 64 69 66 66 24  XE) \.  sqldiff$
40e0: 28 54 45 58 45 29 20 5c 0a 20 20 64 62 68 61 73  (TEXE) \.  dbhas
40f0: 68 24 28 54 45 58 45 29 20 5c 0a 20 20 73 71 6c  h$(TEXE) \.  sql
4100: 74 63 6c 73 68 24 28 54 45 58 45 29 0a 0a 23 20  tclsh$(TEXE)..# 
4110: 44 61 74 61 62 61 73 65 73 20 63 6f 6e 74 61 69  Databases contai
4120: 6e 69 6e 67 20 66 75 7a 7a 65 72 20 74 65 73 74  ning fuzzer test
4130: 20 63 61 73 65 73 0a 23 0a 46 55 5a 5a 44 41 54   cases.#.FUZZDAT
4140: 41 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 2f 74  A = \.  $(TOP)/t
4150: 65 73 74 2f 66 75 7a 7a 64 61 74 61 31 2e 64 62  est/fuzzdata1.db
4160: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 74 65 73 74   \.  $(TOP)/test
4170: 2f 66 75 7a 7a 64 61 74 61 32 2e 64 62 20 5c 0a  /fuzzdata2.db \.
4180: 20 20 24 28 54 4f 50 29 2f 74 65 73 74 2f 66 75    $(TOP)/test/fu
4190: 7a 7a 64 61 74 61 33 2e 64 62 20 5c 0a 20 20 24  zzdata3.db \.  $
41a0: 28 54 4f 50 29 2f 74 65 73 74 2f 66 75 7a 7a 64  (TOP)/test/fuzzd
41b0: 61 74 61 34 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata4.db \.  $(TO
41c0: 50 29 2f 74 65 73 74 2f 66 75 7a 7a 64 61 74 61  P)/test/fuzzdata
41d0: 35 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 2f  5.db \.  $(TOP)/
41e0: 74 65 73 74 2f 66 75 7a 7a 64 61 74 61 36 2e 64  test/fuzzdata6.d
41f0: 62 0a 0a 23 20 53 74 61 6e 64 61 72 64 20 6f 70  b..# Standard op
4200: 74 69 6f 6e 73 20 74 6f 20 74 65 73 74 66 69 78  tions to testfix
4210: 74 75 72 65 0a 23 0a 54 45 53 54 4f 50 54 53 20  ture.#.TESTOPTS 
4220: 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66 69 6c 65  = --verbose=file
4230: 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73 74 2d 6f   --output=test-o
4240: 75 74 2e 74 78 74 0a 0a 23 20 45 78 74 72 61 20  ut.txt..# Extra 
4250: 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73  compiler options
4260: 20 66 6f 72 20 76 61 72 69 6f 75 73 20 73 68 65   for various she
4270: 6c 6c 20 74 6f 6f 6c 73 0a 23 0a 53 48 45 4c 4c  ll tools.#.SHELL
4280: 5f 4f 50 54 20 3d 20 2d 44 53 51 4c 49 54 45 5f  _OPT = -DSQLITE_
4290: 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d 44 53  ENABLE_JSON1 -DS
42a0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53  QLITE_ENABLE_FTS
42b0: 34 0a 23 53 48 45 4c 4c 5f 4f 50 54 20 2b 3d 20  4.#SHELL_OPT += 
42c0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
42d0: 46 54 53 35 0a 53 48 45 4c 4c 5f 4f 50 54 20 2b  FTS5.SHELL_OPT +
42e0: 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  = -DSQLITE_ENABL
42f0: 45 5f 52 54 52 45 45 0a 53 48 45 4c 4c 5f 4f 50  E_RTREE.SHELL_OP
4300: 54 20 2b 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e  T += -DSQLITE_EN
4310: 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d  ABLE_EXPLAIN_COM
4320: 4d 45 4e 54 53 0a 53 48 45 4c 4c 5f 4f 50 54 20  MENTS.SHELL_OPT 
4330: 2b 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  += -DSQLITE_ENAB
4340: 4c 45 5f 55 4e 4b 4e 4f 57 4e 5f 53 51 4c 5f 46  LE_UNKNOWN_SQL_F
4350: 55 4e 43 54 49 4f 4e 0a 53 48 45 4c 4c 5f 4f 50  UNCTION.SHELL_OP
4360: 54 20 2b 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e  T += -DSQLITE_EN
4370: 41 42 4c 45 5f 53 54 4d 54 56 54 41 42 0a 53 48  ABLE_STMTVTAB.SH
4380: 45 4c 4c 5f 4f 50 54 20 2b 3d 20 2d 44 53 51 4c  ELL_OPT += -DSQL
4390: 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47  ITE_ENABLE_DBPAG
43a0: 45 5f 56 54 41 42 0a 53 48 45 4c 4c 5f 4f 50 54  E_VTAB.SHELL_OPT
43b0: 20 2b 3d 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41   += -DSQLITE_ENA
43c0: 42 4c 45 5f 44 42 53 54 41 54 5f 56 54 41 42 0a  BLE_DBSTAT_VTAB.
43d0: 53 48 45 4c 4c 5f 4f 50 54 20 2b 3d 20 2d 44 53  SHELL_OPT += -DS
43e0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4f 46 46  QLITE_ENABLE_OFF
43f0: 53 45 54 5f 53 51 4c 5f 46 55 4e 43 0a 53 48 45  SET_SQL_FUNC.SHE
4400: 4c 4c 5f 4f 50 54 20 2b 3d 20 2d 44 53 51 4c 49  LL_OPT += -DSQLI
4410: 54 45 5f 49 4e 54 52 4f 53 50 45 43 54 49 4f 4e  TE_INTROSPECTION
4420: 5f 50 52 41 47 4d 41 53 0a 46 55 5a 5a 45 52 53  _PRAGMAS.FUZZERS
4430: 48 45 4c 4c 5f 4f 50 54 20 3d 20 2d 44 53 51 4c  HELL_OPT = -DSQL
4440: 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31  ITE_ENABLE_JSON1
4450: 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 20 3d  .FUZZCHECK_OPT =
4460: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
4470: 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49 54 45 5f  _JSON1 -DSQLITE_
4480: 45 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 35 20 2d  ENABLE_MEMSYS5 -
4490: 44 53 51 4c 49 54 45 5f 4f 53 53 5f 46 55 5a 5a  DSQLITE_OSS_FUZZ
44a0: 0a 46 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 20 2b  .FUZZCHECK_OPT +
44b0: 3d 20 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 4d  = -DSQLITE_MAX_M
44c0: 45 4d 4f 52 59 3d 35 30 30 30 30 30 30 30 0a 46  EMORY=50000000.F
44d0: 55 5a 5a 43 48 45 43 4b 5f 4f 50 54 20 2b 3d 20  UZZCHECK_OPT += 
44e0: 2d 44 53 51 4c 49 54 45 5f 50 52 49 4e 54 46 5f  -DSQLITE_PRINTF_
44f0: 50 52 45 43 49 53 49 4f 4e 5f 4c 49 4d 49 54 3d  PRECISION_LIMIT=
4500: 31 30 30 30 0a 46 55 5a 5a 43 48 45 43 4b 5f 53  1000.FUZZCHECK_S
4510: 52 43 20 3d 20 24 28 54 4f 50 29 2f 74 65 73 74  RC = $(TOP)/test
4520: 2f 66 75 7a 7a 63 68 65 63 6b 2e 63 20 24 28 54  /fuzzcheck.c $(T
4530: 4f 50 29 2f 74 65 73 74 2f 6f 73 73 66 75 7a 7a  OP)/test/ossfuzz
4540: 2e 63 0a 44 42 46 55 5a 5a 5f 4f 50 54 20 3d 20  .c.DBFUZZ_OPT = 
4550: 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20  ..# This is the 
4560: 64 65 66 61 75 6c 74 20 4d 61 6b 65 66 69 6c 65  default Makefile
4570: 20 74 61 72 67 65 74 2e 20 20 54 68 65 20 6f 62   target.  The ob
4580: 6a 65 63 74 73 20 6c 69 73 74 65 64 20 68 65 72  jects listed her
4590: 65 0a 23 20 61 72 65 20 77 68 61 74 20 67 65 74  e.# are what get
45a0: 20 62 75 69 6c 64 20 77 68 65 6e 20 79 6f 75 20   build when you 
45b0: 74 79 70 65 20 6a 75 73 74 20 22 6d 61 6b 65 22  type just "make"
45c0: 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e   with no argumen
45d0: 74 73 2e 0a 23 0a 61 6c 6c 3a 09 73 71 6c 69 74  ts..#.all:.sqlit
45e0: 65 33 2e 68 20 6c 69 62 73 71 6c 69 74 65 33 2e  e3.h libsqlite3.
45f0: 6c 61 20 73 71 6c 69 74 65 33 24 28 54 45 58 45  la sqlite3$(TEXE
4600: 29 20 24 28 48 41 56 45 5f 54 43 4c 3a 31 3d 6c  ) $(HAVE_TCL:1=l
4610: 69 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 61 29  ibtclsqlite3.la)
4620: 0a 0a 4d 61 6b 65 66 69 6c 65 3a 20 24 28 54 4f  ..Makefile: $(TO
4630: 50 29 2f 4d 61 6b 65 66 69 6c 65 2e 69 6e 0a 09  P)/Makefile.in..
4640: 2e 2f 63 6f 6e 66 69 67 2e 73 74 61 74 75 73 0a  ./config.status.
4650: 0a 73 71 6c 69 74 65 33 2e 70 63 3a 20 24 28 54  .sqlite3.pc: $(T
4660: 4f 50 29 2f 73 71 6c 69 74 65 33 2e 70 63 2e 69  OP)/sqlite3.pc.i
4670: 6e 0a 09 2e 2f 63 6f 6e 66 69 67 2e 73 74 61 74  n.../config.stat
4680: 75 73 0a 0a 6c 69 62 73 71 6c 69 74 65 33 2e 6c  us..libsqlite3.l
4690: 61 3a 09 24 28 4c 49 42 4f 42 4a 29 0a 09 24 28  a:.$(LIBOBJ)..$(
46a0: 4c 54 4c 49 4e 4b 29 20 2d 6e 6f 2d 75 6e 64 65  LTLINK) -no-unde
46b0: 66 69 6e 65 64 20 2d 6f 20 24 40 20 24 28 4c 49  fined -o $@ $(LI
46c0: 42 4f 42 4a 29 20 24 28 54 4c 49 42 53 29 20 5c  BOBJ) $(TLIBS) \
46d0: 0a 09 09 24 7b 41 4c 4c 4f 57 52 45 4c 45 41 53  ...${ALLOWRELEAS
46e0: 45 7d 20 2d 72 70 61 74 68 20 22 24 28 6c 69 62  E} -rpath "$(lib
46f0: 64 69 72 29 22 20 2d 76 65 72 73 69 6f 6e 2d 69  dir)" -version-i
4700: 6e 66 6f 20 22 38 3a 36 3a 38 22 0a 0a 6c 69 62  nfo "8:6:8"..lib
4710: 74 63 6c 73 71 6c 69 74 65 33 2e 6c 61 3a 09 74  tclsqlite3.la:.t
4720: 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73  clsqlite.lo libs
4730: 71 6c 69 74 65 33 2e 6c 61 0a 09 24 28 4c 54 4c  qlite3.la..$(LTL
4740: 49 4e 4b 29 20 2d 6e 6f 2d 75 6e 64 65 66 69 6e  INK) -no-undefin
4750: 65 64 20 2d 6f 20 24 40 20 74 63 6c 73 71 6c 69  ed -o $@ tclsqli
4760: 74 65 2e 6c 6f 20 5c 0a 09 09 6c 69 62 73 71 6c  te.lo \...libsql
4770: 69 74 65 33 2e 6c 61 20 40 54 43 4c 5f 53 54 55  ite3.la @TCL_STU
4780: 42 5f 4c 49 42 5f 53 50 45 43 40 20 24 28 54 4c  B_LIB_SPEC@ $(TL
4790: 49 42 53 29 20 5c 0a 20 20 20 20 20 20 20 20 20  IBS) \.         
47a0: 20 20 20 20 20 20 20 2d 72 70 61 74 68 20 22 24         -rpath "$
47b0: 28 54 43 4c 4c 49 42 44 49 52 29 2f 73 71 6c 69  (TCLLIBDIR)/sqli
47c0: 74 65 33 22 20 5c 0a 09 09 2d 76 65 72 73 69 6f  te3" \...-versio
47d0: 6e 2d 69 6e 66 6f 20 22 38 3a 36 3a 38 22 0a 0a  n-info "8:6:8"..
47e0: 73 71 6c 69 74 65 33 24 28 54 45 58 45 29 3a 09  sqlite3$(TEXE):.
47f0: 73 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33 2e  shell.c sqlite3.
4800: 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 52  c..$(LTLINK) $(R
4810: 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20 24  EADLINE_FLAGS) $
4820: 28 53 48 45 4c 4c 5f 4f 50 54 29 20 2d 6f 20 24  (SHELL_OPT) -o $
4830: 40 20 5c 0a 09 09 73 68 65 6c 6c 2e 63 20 73 71  @ \...shell.c sq
4840: 6c 69 74 65 33 2e 63 20 5c 0a 09 09 24 28 4c 49  lite3.c \...$(LI
4850: 42 52 45 41 44 4c 49 4e 45 29 20 24 28 54 4c 49  BREADLINE) $(TLI
4860: 42 53 29 20 2d 72 70 61 74 68 20 22 24 28 6c 69  BS) -rpath "$(li
4870: 62 64 69 72 29 22 0a 0a 73 71 6c 64 69 66 66 24  bdir)"..sqldiff$
4880: 28 54 45 58 45 29 3a 09 24 28 54 4f 50 29 2f 74  (TEXE):.$(TOP)/t
4890: 6f 6f 6c 2f 73 71 6c 64 69 66 66 2e 63 20 73 71  ool/sqldiff.c sq
48a0: 6c 69 74 65 33 2e 6c 6f 20 73 71 6c 69 74 65 33  lite3.lo sqlite3
48b0: 2e 68 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 6f  .h..$(LTLINK) -o
48c0: 20 24 40 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f   $@ $(TOP)/tool/
48d0: 73 71 6c 64 69 66 66 2e 63 20 73 71 6c 69 74 65  sqldiff.c sqlite
48e0: 33 2e 6c 6f 20 24 28 54 4c 49 42 53 29 0a 0a 64  3.lo $(TLIBS)..d
48f0: 62 68 61 73 68 24 28 54 45 58 45 29 3a 09 24 28  bhash$(TEXE):.$(
4900: 54 4f 50 29 2f 74 6f 6f 6c 2f 64 62 68 61 73 68  TOP)/tool/dbhash
4910: 2e 63 20 73 71 6c 69 74 65 33 2e 6c 6f 20 73 71  .c sqlite3.lo sq
4920: 6c 69 74 65 33 2e 68 0a 09 24 28 4c 54 4c 49 4e  lite3.h..$(LTLIN
4930: 4b 29 20 2d 6f 20 24 40 20 24 28 54 4f 50 29 2f  K) -o $@ $(TOP)/
4940: 74 6f 6f 6c 2f 64 62 68 61 73 68 2e 63 20 73 71  tool/dbhash.c sq
4950: 6c 69 74 65 33 2e 6c 6f 20 24 28 54 4c 49 42 53  lite3.lo $(TLIBS
4960: 29 0a 0a 73 63 72 75 62 24 28 54 45 58 45 29 3a  )..scrub$(TEXE):
4970: 09 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63  .$(TOP)/ext/misc
4980: 2f 73 63 72 75 62 2e 63 20 73 71 6c 69 74 65 33  /scrub.c sqlite3
4990: 2e 6c 6f 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d  .lo..$(LTLINK) -
49a0: 6f 20 24 40 20 2d 49 2e 20 2d 44 53 43 52 55 42  o $@ -I. -DSCRUB
49b0: 5f 53 54 41 4e 44 41 4c 4f 4e 45 20 5c 0a 09 09  _STANDALONE \...
49c0: 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f  $(TOP)/ext/misc/
49d0: 73 63 72 75 62 2e 63 20 73 71 6c 69 74 65 33 2e  scrub.c sqlite3.
49e0: 6c 6f 20 24 28 54 4c 49 42 53 29 0a 0a 73 72 63  lo $(TLIBS)..src
49f0: 63 6b 31 24 28 42 45 58 45 29 3a 09 24 28 54 4f  ck1$(BEXE):.$(TO
4a00: 50 29 2f 74 6f 6f 6c 2f 73 72 63 63 6b 31 2e 63  P)/tool/srcck1.c
4a10: 0a 09 24 28 42 43 43 29 20 2d 6f 20 73 72 63 63  ..$(BCC) -o srcc
4a20: 6b 31 24 28 42 45 58 45 29 20 24 28 54 4f 50 29  k1$(BEXE) $(TOP)
4a30: 2f 74 6f 6f 6c 2f 73 72 63 63 6b 31 2e 63 0a 0a  /tool/srcck1.c..
4a40: 73 6f 75 72 63 65 74 65 73 74 3a 09 73 72 63 63  sourcetest:.srcc
4a50: 6b 31 24 28 42 45 58 45 29 20 73 71 6c 69 74 65  k1$(BEXE) sqlite
4a60: 33 2e 63 0a 09 2e 2f 73 72 63 63 6b 31 20 73 71  3.c.../srcck1 sq
4a70: 6c 69 74 65 33 2e 63 0a 0a 66 75 7a 7a 65 72 73  lite3.c..fuzzers
4a80: 68 65 6c 6c 24 28 54 45 58 45 29 3a 09 24 28 54  hell$(TEXE):.$(T
4a90: 4f 50 29 2f 74 6f 6f 6c 2f 66 75 7a 7a 65 72 73  OP)/tool/fuzzers
4aa0: 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65 33 2e 63  hell.c sqlite3.c
4ab0: 20 73 71 6c 69 74 65 33 2e 68 0a 09 24 28 4c 54   sqlite3.h..$(LT
4ac0: 4c 49 4e 4b 29 20 2d 6f 20 24 40 20 24 28 46 55  LINK) -o $@ $(FU
4ad0: 5a 5a 45 52 53 48 45 4c 4c 5f 4f 50 54 29 20 5c  ZZERSHELL_OPT) \
4ae0: 0a 09 20 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f  ..  $(TOP)/tool/
4af0: 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 73 71  fuzzershell.c sq
4b00: 6c 69 74 65 33 2e 63 20 24 28 54 4c 49 42 53 29  lite3.c $(TLIBS)
4b10: 0a 0a 66 75 7a 7a 63 68 65 63 6b 24 28 54 45 58  ..fuzzcheck$(TEX
4b20: 45 29 3a 09 24 28 46 55 5a 5a 43 48 45 43 4b 5f  E):.$(FUZZCHECK_
4b30: 53 52 43 29 20 73 71 6c 69 74 65 33 2e 63 20 73  SRC) sqlite3.c s
4b40: 71 6c 69 74 65 33 2e 68 0a 09 24 28 4c 54 4c 49  qlite3.h..$(LTLI
4b50: 4e 4b 29 20 2d 6f 20 24 40 20 24 28 46 55 5a 5a  NK) -o $@ $(FUZZ
4b60: 43 48 45 43 4b 5f 4f 50 54 29 20 24 28 46 55 5a  CHECK_OPT) $(FUZ
4b70: 5a 43 48 45 43 4b 5f 53 52 43 29 20 73 71 6c 69  ZCHECK_SRC) sqli
4b80: 74 65 33 2e 63 20 24 28 54 4c 49 42 53 29 0a 0a  te3.c $(TLIBS)..
4b90: 6f 73 73 73 68 65 6c 6c 24 28 54 45 58 45 29 3a  ossshell$(TEXE):
4ba0: 09 24 28 54 4f 50 29 2f 74 65 73 74 2f 6f 73 73  .$(TOP)/test/oss
4bb0: 66 75 7a 7a 2e 63 20 24 28 54 4f 50 29 2f 74 65  fuzz.c $(TOP)/te
4bc0: 73 74 2f 6f 73 73 73 68 65 6c 6c 2e 63 20 73 71  st/ossshell.c sq
4bd0: 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2e  lite3.c sqlite3.
4be0: 68 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 6f 20  h..$(LTLINK) -o 
4bf0: 24 40 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 4f  $@ $(FUZZCHECK_O
4c00: 50 54 29 20 24 28 54 4f 50 29 2f 74 65 73 74 2f  PT) $(TOP)/test/
4c10: 6f 73 73 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 20  ossshell.c \.   
4c20: 20 20 20 20 20 20 20 20 20 20 24 28 54 4f 50 29            $(TOP)
4c30: 2f 74 65 73 74 2f 6f 73 73 66 75 7a 7a 2e 63 20  /test/ossfuzz.c 
4c40: 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4c 49 42  sqlite3.c $(TLIB
4c50: 53 29 0a 0a 73 65 73 73 69 6f 6e 66 75 7a 7a 24  S)..sessionfuzz$
4c60: 28 54 45 58 45 29 3a 09 24 28 54 4f 50 29 2f 74  (TEXE):.$(TOP)/t
4c70: 65 73 74 2f 73 65 73 73 69 6f 6e 66 75 7a 7a 2e  est/sessionfuzz.
4c80: 63 20 73 71 6c 69 74 65 33 2e 63 20 73 71 6c 69  c sqlite3.c sqli
4c90: 74 65 33 2e 68 0a 09 24 28 43 43 29 20 24 28 43  te3.h..$(CC) $(C
4ca0: 46 4c 41 47 53 29 20 2d 49 2e 20 2d 6f 20 24 40  FLAGS) -I. -o $@
4cb0: 20 24 28 54 4f 50 29 2f 74 65 73 74 2f 73 65 73   $(TOP)/test/ses
4cc0: 73 69 6f 6e 66 75 7a 7a 2e 63 20 24 28 54 4c 49  sionfuzz.c $(TLI
4cd0: 42 53 29 0a 0a 64 62 66 75 7a 7a 24 28 54 45 58  BS)..dbfuzz$(TEX
4ce0: 45 29 3a 09 24 28 54 4f 50 29 2f 74 65 73 74 2f  E):.$(TOP)/test/
4cf0: 64 62 66 75 7a 7a 2e 63 20 73 71 6c 69 74 65 33  dbfuzz.c sqlite3
4d00: 2e 63 20 73 71 6c 69 74 65 33 2e 68 0a 09 24 28  .c sqlite3.h..$(
4d10: 4c 54 4c 49 4e 4b 29 20 2d 6f 20 24 40 20 24 28  LTLINK) -o $@ $(
4d20: 44 42 46 55 5a 5a 5f 4f 50 54 29 20 24 28 54 4f  DBFUZZ_OPT) $(TO
4d30: 50 29 2f 74 65 73 74 2f 64 62 66 75 7a 7a 2e 63  P)/test/dbfuzz.c
4d40: 20 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4c 49   sqlite3.c $(TLI
4d50: 42 53 29 0a 0a 6d 70 74 65 73 74 65 72 24 28 54  BS)..mptester$(T
4d60: 45 58 45 29 3a 09 73 71 6c 69 74 65 33 2e 6c 6f  EXE):.sqlite3.lo
4d70: 20 24 28 54 4f 50 29 2f 6d 70 74 65 73 74 2f 6d   $(TOP)/mptest/m
4d80: 70 74 65 73 74 2e 63 0a 09 24 28 4c 54 4c 49 4e  ptest.c..$(LTLIN
4d90: 4b 29 20 2d 6f 20 24 40 20 2d 49 2e 20 24 28 54  K) -o $@ -I. $(T
4da0: 4f 50 29 2f 6d 70 74 65 73 74 2f 6d 70 74 65 73  OP)/mptest/mptes
4db0: 74 2e 63 20 73 71 6c 69 74 65 33 2e 6c 6f 20 5c  t.c sqlite3.lo \
4dc0: 0a 09 09 24 28 54 4c 49 42 53 29 20 2d 72 70 61  ...$(TLIBS) -rpa
4dd0: 74 68 20 22 24 28 6c 69 62 64 69 72 29 22 0a 0a  th "$(libdir)"..
4de0: 4d 50 54 45 53 54 31 3d 2e 2f 6d 70 74 65 73 74  MPTEST1=./mptest
4df0: 65 72 24 28 54 45 58 45 29 20 6d 70 74 65 73 74  er$(TEXE) mptest
4e00: 2e 64 62 20 24 28 54 4f 50 29 2f 6d 70 74 65 73  .db $(TOP)/mptes
4e10: 74 2f 63 72 61 73 68 30 31 2e 74 65 73 74 20 2d  t/crash01.test -
4e20: 2d 72 65 70 65 61 74 20 32 30 0a 4d 50 54 45 53  -repeat 20.MPTES
4e30: 54 32 3d 2e 2f 6d 70 74 65 73 74 65 72 24 28 54  T2=./mptester$(T
4e40: 45 58 45 29 20 6d 70 74 65 73 74 2e 64 62 20 24  EXE) mptest.db $
4e50: 28 54 4f 50 29 2f 6d 70 74 65 73 74 2f 6d 75 6c  (TOP)/mptest/mul
4e60: 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 20 2d  tiwrite01.test -
4e70: 2d 72 65 70 65 61 74 20 32 30 0a 6d 70 74 65 73  -repeat 20.mptes
4e80: 74 3a 09 6d 70 74 65 73 74 65 72 24 28 54 45 58  t:.mptester$(TEX
4e90: 45 29 0a 09 72 6d 20 2d 66 20 6d 70 74 65 73 74  E)..rm -f mptest
4ea0: 2e 64 62 0a 09 24 28 4d 50 54 45 53 54 31 29 20  .db..$(MPTEST1) 
4eb0: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45  --journalmode DE
4ec0: 4c 45 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29  LETE..$(MPTEST2)
4ed0: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57   --journalmode W
4ee0: 41 4c 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  AL..$(MPTEST1) -
4ef0: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 57 41 4c  -journalmode WAL
4f00: 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a  ..$(MPTEST2) --j
4f10: 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52 53 49  ournalmode PERSI
4f20: 53 54 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d  ST..$(MPTEST1) -
4f30: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 50 45 52  -journalmode PER
4f40: 53 49 53 54 0a 09 24 28 4d 50 54 45 53 54 32 29  SIST..$(MPTEST2)
4f50: 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 54   --journalmode T
4f60: 52 55 4e 43 41 54 45 0a 09 24 28 4d 50 54 45 53  RUNCATE..$(MPTES
4f70: 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64  T1) --journalmod
4f80: 65 20 54 52 55 4e 43 41 54 45 0a 09 24 28 4d 50  e TRUNCATE..$(MP
4f90: 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c  TEST2) --journal
4fa0: 6d 6f 64 65 20 44 45 4c 45 54 45 0a 0a 0a 23 20  mode DELETE...# 
4fb0: 54 68 69 73 20 74 61 72 67 65 74 20 63 72 65 61  This target crea
4fc0: 74 65 73 20 61 20 64 69 72 65 63 74 6f 72 79 20  tes a directory 
4fd0: 6e 61 6d 65 64 20 22 74 73 72 63 22 20 61 6e 64  named "tsrc" and
4fe0: 20 66 69 6c 6c 73 20 69 74 20 77 69 74 68 0a 23   fills it with.#
4ff0: 20 63 6f 70 69 65 73 20 6f 66 20 61 6c 6c 20 6f   copies of all o
5000: 66 20 74 68 65 20 43 20 73 6f 75 72 63 65 20 63  f the C source c
5010: 6f 64 65 20 61 6e 64 20 68 65 61 64 65 72 20 66  ode and header f
5020: 69 6c 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 23  iles needed to.#
5030: 20 62 75 69 6c 64 20 6f 6e 20 74 68 65 20 74 61   build on the ta
5040: 72 67 65 74 20 73 79 73 74 65 6d 2e 20 20 53 6f  rget system.  So
5050: 6d 65 20 6f 66 20 74 68 65 20 43 20 73 6f 75 72  me of the C sour
5060: 63 65 20 63 6f 64 65 20 61 6e 64 20 68 65 61 64  ce code and head
5070: 65 72 0a 23 20 66 69 6c 65 73 20 61 72 65 20 61  er.# files are a
5080: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e  utomatically gen
5090: 65 72 61 74 65 64 2e 20 20 54 68 69 73 20 74 61  erated.  This ta
50a0: 72 67 65 74 20 74 61 6b 65 73 20 63 61 72 65 20  rget takes care 
50b0: 6f 66 0a 23 20 61 6c 6c 20 74 68 61 74 20 61 75  of.# all that au
50c0: 74 6f 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69  tomatic generati
50d0: 6f 6e 2e 0a 23 0a 2e 74 61 72 67 65 74 5f 73 6f  on..#..target_so
50e0: 75 72 63 65 3a 09 24 28 53 52 43 29 20 24 28 54  urce:.$(SRC) $(T
50f0: 4f 50 29 2f 74 6f 6f 6c 2f 76 64 62 65 2d 63 6f  OP)/tool/vdbe-co
5100: 6d 70 72 65 73 73 2e 74 63 6c 20 66 74 73 35 2e  mpress.tcl fts5.
5110: 63 0a 09 72 6d 20 2d 72 66 20 74 73 72 63 0a 09  c..rm -rf tsrc..
5120: 6d 6b 64 69 72 20 74 73 72 63 0a 09 63 70 20 2d  mkdir tsrc..cp -
5130: 66 20 24 28 53 52 43 29 20 74 73 72 63 0a 09 72  f $(SRC) tsrc..r
5140: 6d 20 74 73 72 63 2f 73 71 6c 69 74 65 2e 68 2e  m tsrc/sqlite.h.
5150: 69 6e 20 74 73 72 63 2f 70 61 72 73 65 2e 79 0a  in tsrc/parse.y.
5160: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD) $(
5170: 54 4f 50 29 2f 74 6f 6f 6c 2f 76 64 62 65 2d 63  TOP)/tool/vdbe-c
5180: 6f 6d 70 72 65 73 73 2e 74 63 6c 20 24 28 4f 50  ompress.tcl $(OP
5190: 54 53 29 20 3c 74 73 72 63 2f 76 64 62 65 2e 63  TS) <tsrc/vdbe.c
51a0: 20 3e 76 64 62 65 2e 6e 65 77 0a 09 6d 76 20 76   >vdbe.new..mv v
51b0: 64 62 65 2e 6e 65 77 20 74 73 72 63 2f 76 64 62  dbe.new tsrc/vdb
51c0: 65 2e 63 0a 09 63 70 20 66 74 73 35 2e 63 20 66  e.c..cp fts5.c f
51d0: 74 73 35 2e 68 20 74 73 72 63 0a 09 74 6f 75 63  ts5.h tsrc..touc
51e0: 68 20 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65  h .target_source
51f0: 0a 0a 73 71 6c 69 74 65 33 2e 63 3a 09 2e 74 61  ..sqlite3.c:..ta
5200: 72 67 65 74 5f 73 6f 75 72 63 65 20 24 28 54 4f  rget_source $(TO
5210: 50 29 2f 74 6f 6f 6c 2f 6d 6b 73 71 6c 69 74 65  P)/tool/mksqlite
5220: 33 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f  3c.tcl..$(TCLSH_
5230: 43 4d 44 29 20 24 28 54 4f 50 29 2f 74 6f 6f 6c  CMD) $(TOP)/tool
5240: 2f 6d 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a  /mksqlite3c.tcl.
5250: 09 63 70 20 74 73 72 63 2f 73 71 6c 69 74 65 33  .cp tsrc/sqlite3
5260: 65 78 74 2e 68 20 2e 0a 09 63 70 20 24 28 54 4f  ext.h ...cp $(TO
5270: 50 29 2f 65 78 74 2f 73 65 73 73 69 6f 6e 2f 73  P)/ext/session/s
5280: 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68 20  qlite3session.h 
5290: 2e 0a 0a 73 71 6c 69 74 65 33 65 78 74 2e 68 3a  ...sqlite3ext.h:
52a0: 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a  ..target_source.
52b0: 09 63 70 20 74 73 72 63 2f 73 71 6c 69 74 65 33  .cp tsrc/sqlite3
52c0: 65 78 74 2e 68 20 2e 0a 0a 74 63 6c 73 71 6c 69  ext.h ...tclsqli
52d0: 74 65 33 2e 63 3a 09 73 71 6c 69 74 65 33 2e 63  te3.c:.sqlite3.c
52e0: 0a 09 65 63 68 6f 20 27 23 69 66 6e 64 65 66 20  ..echo '#ifndef 
52f0: 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54  USE_SYSTEM_SQLIT
5300: 45 27 20 3e 74 63 6c 73 71 6c 69 74 65 33 2e 63  E' >tclsqlite3.c
5310: 0a 09 63 61 74 20 73 71 6c 69 74 65 33 2e 63 20  ..cat sqlite3.c 
5320: 3e 3e 74 63 6c 73 71 6c 69 74 65 33 2e 63 0a 09  >>tclsqlite3.c..
5330: 65 63 68 6f 20 27 23 65 6e 64 69 66 20 2f 2a 20  echo '#endif /* 
5340: 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54  USE_SYSTEM_SQLIT
5350: 45 20 2a 2f 27 20 3e 3e 74 63 6c 73 71 6c 69 74  E */' >>tclsqlit
5360: 65 33 2e 63 0a 09 63 61 74 20 24 28 54 4f 50 29  e3.c..cat $(TOP)
5370: 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63  /src/tclsqlite.c
5380: 20 3e 3e 74 63 6c 73 71 6c 69 74 65 33 2e 63 0a   >>tclsqlite3.c.
5390: 0a 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 3a 09  .sqlite3-all.c:.
53a0: 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29  sqlite3.c $(TOP)
53b0: 2f 74 6f 6f 6c 2f 73 70 6c 69 74 2d 73 71 6c 69  /tool/split-sqli
53c0: 74 65 33 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53  te3c.tcl..$(TCLS
53d0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 2f 74 6f  H_CMD) $(TOP)/to
53e0: 6f 6c 2f 73 70 6c 69 74 2d 73 71 6c 69 74 65 33  ol/split-sqlite3
53f0: 63 2e 74 63 6c 0a 0a 23 20 52 75 6c 65 20 74 6f  c.tcl..# Rule to
5400: 20 62 75 69 6c 64 20 74 68 65 20 61 6d 61 6c 67   build the amalg
5410: 61 6d 61 74 69 6f 6e 0a 23 0a 73 71 6c 69 74 65  amation.#.sqlite
5420: 33 2e 6c 6f 3a 09 73 71 6c 69 74 65 33 2e 63 0a  3.lo:.sqlite3.c.
5430: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
5440: 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 73  TEMP_STORE) -c s
5450: 71 6c 69 74 65 33 2e 63 0a 0a 23 20 52 75 6c 65  qlite3.c..# Rule
5460: 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 4c  s to build the L
5470: 45 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65  EMON compiler ge
5480: 6e 65 72 61 74 6f 72 0a 23 0a 6c 65 6d 6f 6e 24  nerator.#.lemon$
5490: 28 42 45 58 45 29 3a 09 24 28 54 4f 50 29 2f 74  (BEXE):.$(TOP)/t
54a0: 6f 6f 6c 2f 6c 65 6d 6f 6e 2e 63 20 24 28 54 4f  ool/lemon.c $(TO
54b0: 50 29 2f 74 6f 6f 6c 2f 6c 65 6d 70 61 72 2e 63  P)/tool/lempar.c
54c0: 0a 09 24 28 42 43 43 29 20 2d 6f 20 24 40 20 24  ..$(BCC) -o $@ $
54d0: 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6c 65 6d 6f 6e  (TOP)/tool/lemon
54e0: 2e 63 0a 09 63 70 20 24 28 54 4f 50 29 2f 74 6f  .c..cp $(TOP)/to
54f0: 6f 6c 2f 6c 65 6d 70 61 72 2e 63 20 2e 0a 0a 23  ol/lempar.c ...#
5500: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
5510: 74 68 65 20 70 72 6f 67 72 61 6d 20 74 68 61 74  the program that
5520: 20 67 65 6e 65 72 61 74 65 73 20 74 68 65 20 73   generates the s
5530: 6f 75 72 63 65 2d 69 64 0a 23 0a 6d 6b 73 6f 75  ource-id.#.mksou
5540: 72 63 65 69 64 24 28 42 45 58 45 29 3a 09 24 28  rceid$(BEXE):.$(
5550: 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 73 6f 75 72  TOP)/tool/mksour
5560: 63 65 69 64 2e 63 0a 09 24 28 42 43 43 29 20 2d  ceid.c..$(BCC) -
5570: 6f 20 24 40 20 24 28 54 4f 50 29 2f 74 6f 6f 6c  o $@ $(TOP)/tool
5580: 2f 6d 6b 73 6f 75 72 63 65 69 64 2e 63 0a 0a 23  /mksourceid.c..#
5590: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
55a0: 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6f 20 66  individual *.o f
55b0: 69 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61  iles from genera
55c0: 74 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54  ted *.c files. T
55d0: 68 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f  his.# applies to
55e0: 3a 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e  :.#.#     parse.
55f0: 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73 2e  o.#     opcodes.
5600: 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 61  o.#.parse.lo:.pa
5610: 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  rse.c $(HDR)..$(
5620: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d  LTCOMPILE) $(TEM
5630: 50 5f 53 54 4f 52 45 29 20 2d 63 20 70 61 72 73  P_STORE) -c pars
5640: 65 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 6c 6f 3a  e.c..opcodes.lo:
5650: 09 6f 70 63 6f 64 65 73 2e 63 0a 09 24 28 4c 54  .opcodes.c..$(LT
5660: 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f  COMPILE) $(TEMP_
5670: 53 54 4f 52 45 29 20 2d 63 20 6f 70 63 6f 64 65  STORE) -c opcode
5680: 73 2e 63 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20  s.c..# Rules to 
5690: 62 75 69 6c 64 20 69 6e 64 69 76 69 64 75 61 6c  build individual
56a0: 20 2a 2e 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20   *.o files from 
56b0: 66 69 6c 65 73 20 69 6e 20 74 68 65 20 73 72 63  files in the src
56c0: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c   directory..#.al
56d0: 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73  ter.lo:.$(TOP)/s
56e0: 72 63 2f 61 6c 74 65 72 2e 63 20 24 28 48 44 52  rc/alter.c $(HDR
56f0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
5700: 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63  $(TEMP_STORE) -c
5710: 20 24 28 54 4f 50 29 2f 73 72 63 2f 61 6c 74 65   $(TOP)/src/alte
5720: 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e 6c 6f 3a  r.c..analyze.lo:
5730: 09 24 28 54 4f 50 29 2f 73 72 63 2f 61 6e 61 6c  .$(TOP)/src/anal
5740: 79 7a 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  yze.c $(HDR)..$(
5750: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d  LTCOMPILE) $(TEM
5760: 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f  P_STORE) -c $(TO
5770: 50 29 2f 73 72 63 2f 61 6e 61 6c 79 7a 65 2e 63  P)/src/analyze.c
5780: 0a 0a 61 74 74 61 63 68 2e 6c 6f 3a 09 24 28 54  ..attach.lo:.$(T
5790: 4f 50 29 2f 73 72 63 2f 61 74 74 61 63 68 2e 63  OP)/src/attach.c
57a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
57b0: 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f  PILE) $(TEMP_STO
57c0: 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72  RE) -c $(TOP)/sr
57d0: 63 2f 61 74 74 61 63 68 2e 63 0a 0a 61 75 74 68  c/attach.c..auth
57e0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f  .lo:.$(TOP)/src/
57f0: 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a 09 24  auth.c $(HDR)..$
5800: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45  (LTCOMPILE) $(TE
5810: 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54  MP_STORE) -c $(T
5820: 4f 50 29 2f 73 72 63 2f 61 75 74 68 2e 63 0a 0a  OP)/src/auth.c..
5830: 62 61 63 6b 75 70 2e 6c 6f 3a 09 24 28 54 4f 50  backup.lo:.$(TOP
5840: 29 2f 73 72 63 2f 62 61 63 6b 75 70 2e 63 20 24  )/src/backup.c $
5850: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
5860: 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45  LE) $(TEMP_STORE
5870: 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f  ) -c $(TOP)/src/
5880: 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63  backup.c..bitvec
5890: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f  .lo:.$(TOP)/src/
58a0: 62 69 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a  bitvec.c $(HDR).
58b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
58c0: 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24  TEMP_STORE) -c $
58d0: 28 54 4f 50 29 2f 73 72 63 2f 62 69 74 76 65 63  (TOP)/src/bitvec
58e0: 2e 63 0a 0a 62 74 6d 75 74 65 78 2e 6c 6f 3a 09  .c..btmutex.lo:.
58f0: 24 28 54 4f 50 29 2f 73 72 63 2f 62 74 6d 75 74  $(TOP)/src/btmut
5900: 65 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ex.c $(HDR)..$(L
5910: 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50  TCOMPILE) $(TEMP
5920: 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50  _STORE) -c $(TOP
5930: 29 2f 73 72 63 2f 62 74 6d 75 74 65 78 2e 63 0a  )/src/btmutex.c.
5940: 0a 62 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50  .btree.lo:.$(TOP
5950: 29 2f 73 72 63 2f 62 74 72 65 65 2e 63 20 24 28  )/src/btree.c $(
5960: 48 44 52 29 20 24 28 54 4f 50 29 2f 73 72 63 2f  HDR) $(TOP)/src/
5970: 70 61 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d  pager.h..$(LTCOM
5980: 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f  PILE) $(TEMP_STO
5990: 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72  RE) -c $(TOP)/sr
59a0: 63 2f 62 74 72 65 65 2e 63 0a 0a 62 75 69 6c 64  c/btree.c..build
59b0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f  .lo:.$(TOP)/src/
59c0: 62 75 69 6c 64 2e 63 20 24 28 48 44 52 29 0a 09  build.c $(HDR)..
59d0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54  $(LTCOMPILE) $(T
59e0: 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28  EMP_STORE) -c $(
59f0: 54 4f 50 29 2f 73 72 63 2f 62 75 69 6c 64 2e 63  TOP)/src/build.c
5a00: 0a 0a 63 61 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24  ..callback.lo:.$
5a10: 28 54 4f 50 29 2f 73 72 63 2f 63 61 6c 6c 62 61  (TOP)/src/callba
5a20: 63 6b 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ck.c $(HDR)..$(L
5a30: 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50  TCOMPILE) $(TEMP
5a40: 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50  _STORE) -c $(TOP
5a50: 29 2f 73 72 63 2f 63 61 6c 6c 62 61 63 6b 2e 63  )/src/callback.c
5a60: 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a 09 24  ..complete.lo:.$
5a70: 28 54 4f 50 29 2f 73 72 63 2f 63 6f 6d 70 6c 65  (TOP)/src/comple
5a80: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
5a90: 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50  TCOMPILE) $(TEMP
5aa0: 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50  _STORE) -c $(TOP
5ab0: 29 2f 73 72 63 2f 63 6f 6d 70 6c 65 74 65 2e 63  )/src/complete.c
5ac0: 0a 0a 63 74 69 6d 65 2e 6c 6f 3a 09 24 28 54 4f  ..ctime.lo:.$(TO
5ad0: 50 29 2f 73 72 63 2f 63 74 69 6d 65 2e 63 20 24  P)/src/ctime.c $
5ae0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
5af0: 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45  LE) $(TEMP_STORE
5b00: 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f  ) -c $(TOP)/src/
5b10: 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f  ctime.c..date.lo
5b20: 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 64 61 74  :.$(TOP)/src/dat
5b30: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
5b40: 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f  COMPILE) $(TEMP_
5b50: 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50 29  STORE) -c $(TOP)
5b60: 2f 73 72 63 2f 64 61 74 65 2e 63 0a 0a 64 62 70  /src/date.c..dbp
5b70: 61 67 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73  age.lo:.$(TOP)/s
5b80: 72 63 2f 64 62 70 61 67 65 2e 63 20 24 28 48 44  rc/dbpage.c $(HD
5b90: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
5ba0: 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d   $(TEMP_STORE) -
5bb0: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 64 62 70  c $(TOP)/src/dbp
5bc0: 61 67 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f  age.c..dbstat.lo
5bd0: 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 64 62 73  :.$(TOP)/src/dbs
5be0: 74 61 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  tat.c $(HDR)..$(
5bf0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d  LTCOMPILE) $(TEM
5c00: 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f  P_STORE) -c $(TO
5c10: 50 29 2f 73 72 63 2f 64 62 73 74 61 74 2e 63 0a  P)/src/dbstat.c.
5c20: 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09 24 28 54 4f  .delete.lo:.$(TO
5c30: 50 29 2f 73 72 63 2f 64 65 6c 65 74 65 2e 63 20  P)/src/delete.c 
5c40: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
5c50: 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52  ILE) $(TEMP_STOR
5c60: 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63  E) -c $(TOP)/src
5c70: 2f 64 65 6c 65 74 65 2e 63 0a 0a 65 78 70 72 2e  /delete.c..expr.
5c80: 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 65  lo:.$(TOP)/src/e
5c90: 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  xpr.c $(HDR)..$(
5ca0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d  LTCOMPILE) $(TEM
5cb0: 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f  P_STORE) -c $(TO
5cc0: 50 29 2f 73 72 63 2f 65 78 70 72 2e 63 0a 0a 66  P)/src/expr.c..f
5cd0: 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f  ault.lo:.$(TOP)/
5ce0: 73 72 63 2f 66 61 75 6c 74 2e 63 20 24 28 48 44  src/fault.c $(HD
5cf0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
5d00: 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d   $(TEMP_STORE) -
5d10: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 66 61 75  c $(TOP)/src/fau
5d20: 6c 74 2e 63 0a 0a 66 6b 65 79 2e 6c 6f 3a 09 24  lt.c..fkey.lo:.$
5d30: 28 54 4f 50 29 2f 73 72 63 2f 66 6b 65 79 2e 63  (TOP)/src/fkey.c
5d40: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
5d50: 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f  PILE) $(TEMP_STO
5d60: 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72  RE) -c $(TOP)/sr
5d70: 63 2f 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c  c/fkey.c..func.l
5d80: 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 66 75  o:.$(TOP)/src/fu
5d90: 6e 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  nc.c $(HDR)..$(L
5da0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50  TCOMPILE) $(TEMP
5db0: 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50  _STORE) -c $(TOP
5dc0: 29 2f 73 72 63 2f 66 75 6e 63 2e 63 0a 0a 67 6c  )/src/func.c..gl
5dd0: 6f 62 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f  obal.lo:.$(TOP)/
5de0: 73 72 63 2f 67 6c 6f 62 61 6c 2e 63 20 24 28 48  src/global.c $(H
5df0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
5e00: 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20  ) $(TEMP_STORE) 
5e10: 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 67 6c  -c $(TOP)/src/gl
5e20: 6f 62 61 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a  obal.c..hash.lo:
5e30: 09 24 28 54 4f 50 29 2f 73 72 63 2f 68 61 73 68  .$(TOP)/src/hash
5e40: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
5e50: 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53  OMPILE) $(TEMP_S
5e60: 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f  TORE) -c $(TOP)/
5e70: 73 72 63 2f 68 61 73 68 2e 63 0a 0a 69 6e 73 65  src/hash.c..inse
5e80: 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72  rt.lo:.$(TOP)/sr
5e90: 63 2f 69 6e 73 65 72 74 2e 63 20 24 28 48 44 52  c/insert.c $(HDR
5ea0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
5eb0: 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63  $(TEMP_STORE) -c
5ec0: 20 24 28 54 4f 50 29 2f 73 72 63 2f 69 6e 73 65   $(TOP)/src/inse
5ed0: 72 74 2e 63 0a 0a 6c 65 67 61 63 79 2e 6c 6f 3a  rt.c..legacy.lo:
5ee0: 09 24 28 54 4f 50 29 2f 73 72 63 2f 6c 65 67 61  .$(TOP)/src/lega
5ef0: 63 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  cy.c $(HDR)..$(L
5f00: 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50  TCOMPILE) $(TEMP
5f10: 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50  _STORE) -c $(TOP
5f20: 29 2f 73 72 63 2f 6c 65 67 61 63 79 2e 63 0a 0a  )/src/legacy.c..
5f30: 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54 4f  loadext.lo:.$(TO
5f40: 50 29 2f 73 72 63 2f 6c 6f 61 64 65 78 74 2e 63  P)/src/loadext.c
5f50: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
5f60: 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f  PILE) $(TEMP_STO
5f70: 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72  RE) -c $(TOP)/sr
5f80: 63 2f 6c 6f 61 64 65 78 74 2e 63 0a 0a 6d 61 69  c/loadext.c..mai
5f90: 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63  n.lo:.$(TOP)/src
5fa0: 2f 6d 61 69 6e 2e 63 20 24 28 48 44 52 29 0a 09  /main.c $(HDR)..
5fb0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54  $(LTCOMPILE) $(T
5fc0: 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28  EMP_STORE) -c $(
5fd0: 54 4f 50 29 2f 73 72 63 2f 6d 61 69 6e 2e 63 0a  TOP)/src/main.c.
5fe0: 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54 4f  .malloc.lo:.$(TO
5ff0: 50 29 2f 73 72 63 2f 6d 61 6c 6c 6f 63 2e 63 20  P)/src/malloc.c 
6000: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
6010: 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52  ILE) $(TEMP_STOR
6020: 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63  E) -c $(TOP)/src
6030: 2f 6d 61 6c 6c 6f 63 2e 63 0a 0a 6d 65 6d 30 2e  /malloc.c..mem0.
6040: 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 6d  lo:.$(TOP)/src/m
6050: 65 6d 30 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em0.c $(HDR)..$(
6060: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d  LTCOMPILE) $(TEM
6070: 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f  P_STORE) -c $(TO
6080: 50 29 2f 73 72 63 2f 6d 65 6d 30 2e 63 0a 0a 6d  P)/src/mem0.c..m
6090: 65 6d 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73  em1.lo:.$(TOP)/s
60a0: 72 63 2f 6d 65 6d 31 2e 63 20 24 28 48 44 52 29  rc/mem1.c $(HDR)
60b0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
60c0: 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20  (TEMP_STORE) -c 
60d0: 24 28 54 4f 50 29 2f 73 72 63 2f 6d 65 6d 31 2e  $(TOP)/src/mem1.
60e0: 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 24 28 54 4f  c..mem2.lo:.$(TO
60f0: 50 29 2f 73 72 63 2f 6d 65 6d 32 2e 63 20 24 28  P)/src/mem2.c $(
6100: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
6110: 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29  E) $(TEMP_STORE)
6120: 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 6d   -c $(TOP)/src/m
6130: 65 6d 32 2e 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09  em2.c..mem3.lo:.
6140: 24 28 54 4f 50 29 2f 73 72 63 2f 6d 65 6d 33 2e  $(TOP)/src/mem3.
6150: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
6160: 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54  MPILE) $(TEMP_ST
6170: 4f 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73  ORE) -c $(TOP)/s
6180: 72 63 2f 6d 65 6d 33 2e 63 0a 0a 6d 65 6d 35 2e  rc/mem3.c..mem5.
6190: 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 6d  lo:.$(TOP)/src/m
61a0: 65 6d 35 2e 63 20 24 28 48 44 52 29 0a 09 24 28  em5.c $(HDR)..$(
61b0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d  LTCOMPILE) $(TEM
61c0: 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f  P_STORE) -c $(TO
61d0: 50 29 2f 73 72 63 2f 6d 65 6d 35 2e 63 0a 0a 6d  P)/src/mem5.c..m
61e0: 65 6d 64 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f  emdb.lo:.$(TOP)/
61f0: 73 72 63 2f 6d 65 6d 64 62 2e 63 20 24 28 48 44  src/memdb.c $(HD
6200: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
6210: 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d   $(TEMP_STORE) -
6220: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 6d 65 6d  c $(TOP)/src/mem
6230: 64 62 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e 61 6c  db.c..memjournal
6240: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f  .lo:.$(TOP)/src/
6250: 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 48  memjournal.c $(H
6260: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
6270: 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20  ) $(TEMP_STORE) 
6280: 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 6d 65  -c $(TOP)/src/me
6290: 6d 6a 6f 75 72 6e 61 6c 2e 63 0a 0a 6d 75 74 65  mjournal.c..mute
62a0: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63  x.lo:.$(TOP)/src
62b0: 2f 6d 75 74 65 78 2e 63 20 24 28 48 44 52 29 0a  /mutex.c $(HDR).
62c0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
62d0: 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24  TEMP_STORE) -c $
62e0: 28 54 4f 50 29 2f 73 72 63 2f 6d 75 74 65 78 2e  (TOP)/src/mutex.
62f0: 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f  c..mutex_noop.lo
6300: 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 6d 75 74  :.$(TOP)/src/mut
6310: 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52 29  ex_noop.c $(HDR)
6320: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
6330: 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20  (TEMP_STORE) -c 
6340: 24 28 54 4f 50 29 2f 73 72 63 2f 6d 75 74 65 78  $(TOP)/src/mutex
6350: 5f 6e 6f 6f 70 2e 63 0a 0a 6d 75 74 65 78 5f 75  _noop.c..mutex_u
6360: 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73  nix.lo:.$(TOP)/s
6370: 72 63 2f 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20  rc/mutex_unix.c 
6380: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
6390: 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52  ILE) $(TEMP_STOR
63a0: 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63  E) -c $(TOP)/src
63b0: 2f 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d  /mutex_unix.c..m
63c0: 75 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 54  utex_w32.lo:.$(T
63d0: 4f 50 29 2f 73 72 63 2f 6d 75 74 65 78 5f 77 33  OP)/src/mutex_w3
63e0: 32 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  2.c $(HDR)..$(LT
63f0: 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f  COMPILE) $(TEMP_
6400: 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50 29  STORE) -c $(TOP)
6410: 2f 73 72 63 2f 6d 75 74 65 78 5f 77 33 32 2e 63  /src/mutex_w32.c
6420: 0a 0a 6e 6f 74 69 66 79 2e 6c 6f 3a 09 24 28 54  ..notify.lo:.$(T
6430: 4f 50 29 2f 73 72 63 2f 6e 6f 74 69 66 79 2e 63  OP)/src/notify.c
6440: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
6450: 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f  PILE) $(TEMP_STO
6460: 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72  RE) -c $(TOP)/sr
6470: 63 2f 6e 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65  c/notify.c..page
6480: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63  r.lo:.$(TOP)/src
6490: 2f 70 61 67 65 72 2e 63 20 24 28 48 44 52 29 20  /pager.c $(HDR) 
64a0: 24 28 54 4f 50 29 2f 73 72 63 2f 70 61 67 65 72  $(TOP)/src/pager
64b0: 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  .h..$(LTCOMPILE)
64c0: 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d   $(TEMP_STORE) -
64d0: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 61 67  c $(TOP)/src/pag
64e0: 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e 6c 6f 3a  er.c..pcache.lo:
64f0: 09 24 28 54 4f 50 29 2f 73 72 63 2f 70 63 61 63  .$(TOP)/src/pcac
6500: 68 65 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  he.c $(HDR) $(TO
6510: 50 29 2f 73 72 63 2f 70 63 61 63 68 65 2e 68 0a  P)/src/pcache.h.
6520: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
6530: 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24  TEMP_STORE) -c $
6540: 28 54 4f 50 29 2f 73 72 63 2f 70 63 61 63 68 65  (TOP)/src/pcache
6550: 2e 63 0a 0a 70 63 61 63 68 65 31 2e 6c 6f 3a 09  .c..pcache1.lo:.
6560: 24 28 54 4f 50 29 2f 73 72 63 2f 70 63 61 63 68  $(TOP)/src/pcach
6570: 65 31 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f  e1.c $(HDR) $(TO
6580: 50 29 2f 73 72 63 2f 70 63 61 63 68 65 2e 68 0a  P)/src/pcache.h.
6590: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
65a0: 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24  TEMP_STORE) -c $
65b0: 28 54 4f 50 29 2f 73 72 63 2f 70 63 61 63 68 65  (TOP)/src/pcache
65c0: 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54 4f  1.c..os.lo:.$(TO
65d0: 50 29 2f 73 72 63 2f 6f 73 2e 63 20 24 28 48 44  P)/src/os.c $(HD
65e0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
65f0: 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d   $(TEMP_STORE) -
6600: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 6f 73 2e  c $(TOP)/src/os.
6610: 63 0a 0a 6f 73 5f 75 6e 69 78 2e 6c 6f 3a 09 24  c..os_unix.lo:.$
6620: 28 54 4f 50 29 2f 73 72 63 2f 6f 73 5f 75 6e 69  (TOP)/src/os_uni
6630: 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  x.c $(HDR)..$(LT
6640: 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f  COMPILE) $(TEMP_
6650: 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50 29  STORE) -c $(TOP)
6660: 2f 73 72 63 2f 6f 73 5f 75 6e 69 78 2e 63 0a 0a  /src/os_unix.c..
6670: 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50  os_win.lo:.$(TOP
6680: 29 2f 73 72 63 2f 6f 73 5f 77 69 6e 2e 63 20 24  )/src/os_win.c $
6690: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
66a0: 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45  LE) $(TEMP_STORE
66b0: 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f  ) -c $(TOP)/src/
66c0: 6f 73 5f 77 69 6e 2e 63 0a 0a 70 72 61 67 6d 61  os_win.c..pragma
66d0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f  .lo:.$(TOP)/src/
66e0: 70 72 61 67 6d 61 2e 63 20 24 28 48 44 52 29 0a  pragma.c $(HDR).
66f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE) $(
6700: 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24  TEMP_STORE) -c $
6710: 28 54 4f 50 29 2f 73 72 63 2f 70 72 61 67 6d 61  (TOP)/src/pragma
6720: 2e 63 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09  .c..prepare.lo:.
6730: 24 28 54 4f 50 29 2f 73 72 63 2f 70 72 65 70 61  $(TOP)/src/prepa
6740: 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  re.c $(HDR)..$(L
6750: 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50  TCOMPILE) $(TEMP
6760: 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50  _STORE) -c $(TOP
6770: 29 2f 73 72 63 2f 70 72 65 70 61 72 65 2e 63 0a  )/src/prepare.c.
6780: 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09 24 28 54 4f  .printf.lo:.$(TO
6790: 50 29 2f 73 72 63 2f 70 72 69 6e 74 66 2e 63 20  P)/src/printf.c 
67a0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
67b0: 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52  ILE) $(TEMP_STOR
67c0: 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63  E) -c $(TOP)/src
67d0: 2f 70 72 69 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f  /printf.c..rando
67e0: 6d 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63  m.lo:.$(TOP)/src
67f0: 2f 72 61 6e 64 6f 6d 2e 63 20 24 28 48 44 52 29  /random.c $(HDR)
6800: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE) $
6810: 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20  (TEMP_STORE) -c 
6820: 24 28 54 4f 50 29 2f 73 72 63 2f 72 61 6e 64 6f  $(TOP)/src/rando
6830: 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c 6f 3a  m.c..resolve.lo:
6840: 09 24 28 54 4f 50 29 2f 73 72 63 2f 72 65 73 6f  .$(TOP)/src/reso
6850: 6c 76 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28  lve.c $(HDR)..$(
6860: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d  LTCOMPILE) $(TEM
6870: 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f  P_STORE) -c $(TO
6880: 50 29 2f 73 72 63 2f 72 65 73 6f 6c 76 65 2e 63  P)/src/resolve.c
6890: 0a 0a 72 6f 77 73 65 74 2e 6c 6f 3a 09 24 28 54  ..rowset.lo:.$(T
68a0: 4f 50 29 2f 73 72 63 2f 72 6f 77 73 65 74 2e 63  OP)/src/rowset.c
68b0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
68c0: 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f  PILE) $(TEMP_STO
68d0: 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72  RE) -c $(TOP)/sr
68e0: 63 2f 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c 65  c/rowset.c..sele
68f0: 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72  ct.lo:.$(TOP)/sr
6900: 63 2f 73 65 6c 65 63 74 2e 63 20 24 28 48 44 52  c/select.c $(HDR
6910: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
6920: 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63  $(TEMP_STORE) -c
6930: 20 24 28 54 4f 50 29 2f 73 72 63 2f 73 65 6c 65   $(TOP)/src/sele
6940: 63 74 2e 63 0a 0a 73 74 61 74 75 73 2e 6c 6f 3a  ct.c..status.lo:
6950: 09 24 28 54 4f 50 29 2f 73 72 63 2f 73 74 61 74  .$(TOP)/src/stat
6960: 75 73 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  us.c $(HDR)..$(L
6970: 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50  TCOMPILE) $(TEMP
6980: 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50  _STORE) -c $(TOP
6990: 29 2f 73 72 63 2f 73 74 61 74 75 73 2e 63 0a 0a  )/src/status.c..
69a0: 74 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  table.lo:.$(TOP)
69b0: 2f 73 72 63 2f 74 61 62 6c 65 2e 63 20 24 28 48  /src/table.c $(H
69c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
69d0: 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20  ) $(TEMP_STORE) 
69e0: 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 61  -c $(TOP)/src/ta
69f0: 62 6c 65 2e 63 0a 0a 74 68 72 65 61 64 73 2e 6c  ble.c..threads.l
6a00: 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 74 68  o:.$(TOP)/src/th
6a10: 72 65 61 64 73 2e 63 20 24 28 48 44 52 29 0a 09  reads.c $(HDR)..
6a20: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54  $(LTCOMPILE) $(T
6a30: 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28  EMP_STORE) -c $(
6a40: 54 4f 50 29 2f 73 72 63 2f 74 68 72 65 61 64 73  TOP)/src/threads
6a50: 2e 63 0a 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a  .c..tokenize.lo:
6a60: 09 24 28 54 4f 50 29 2f 73 72 63 2f 74 6f 6b 65  .$(TOP)/src/toke
6a70: 6e 69 7a 65 2e 63 20 6b 65 79 77 6f 72 64 68 61  nize.c keywordha
6a80: 73 68 2e 68 20 24 28 48 44 52 29 0a 09 24 28 4c  sh.h $(HDR)..$(L
6a90: 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50  TCOMPILE) $(TEMP
6aa0: 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50  _STORE) -c $(TOP
6ab0: 29 2f 73 72 63 2f 74 6f 6b 65 6e 69 7a 65 2e 63  )/src/tokenize.c
6ac0: 0a 0a 74 72 65 65 76 69 65 77 2e 6c 6f 3a 09 24  ..treeview.lo:.$
6ad0: 28 54 4f 50 29 2f 73 72 63 2f 74 72 65 65 76 69  (TOP)/src/treevi
6ae0: 65 77 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  ew.c $(HDR)..$(L
6af0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50  TCOMPILE) $(TEMP
6b00: 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50  _STORE) -c $(TOP
6b10: 29 2f 73 72 63 2f 74 72 65 65 76 69 65 77 2e 63  )/src/treeview.c
6b20: 0a 0a 74 72 69 67 67 65 72 2e 6c 6f 3a 09 24 28  ..trigger.lo:.$(
6b30: 54 4f 50 29 2f 73 72 63 2f 74 72 69 67 67 65 72  TOP)/src/trigger
6b40: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
6b50: 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53  OMPILE) $(TEMP_S
6b60: 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f  TORE) -c $(TOP)/
6b70: 73 72 63 2f 74 72 69 67 67 65 72 2e 63 0a 0a 75  src/trigger.c..u
6b80: 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  pdate.lo:.$(TOP)
6b90: 2f 73 72 63 2f 75 70 64 61 74 65 2e 63 20 24 28  /src/update.c $(
6ba0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
6bb0: 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29  E) $(TEMP_STORE)
6bc0: 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 75   -c $(TOP)/src/u
6bd0: 70 64 61 74 65 2e 63 0a 0a 75 70 73 65 72 74 2e  pdate.c..upsert.
6be0: 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 75  lo:.$(TOP)/src/u
6bf0: 70 73 65 72 74 2e 63 20 24 28 48 44 52 29 0a 09  psert.c $(HDR)..
6c00: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54  $(LTCOMPILE) $(T
6c10: 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28  EMP_STORE) -c $(
6c20: 54 4f 50 29 2f 73 72 63 2f 75 70 73 65 72 74 2e  TOP)/src/upsert.
6c30: 63 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50  c..utf.lo:.$(TOP
6c40: 29 2f 73 72 63 2f 75 74 66 2e 63 20 24 28 48 44  )/src/utf.c $(HD
6c50: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
6c60: 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d   $(TEMP_STORE) -
6c70: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 75 74 66  c $(TOP)/src/utf
6c80: 2e 63 0a 0a 75 74 69 6c 2e 6c 6f 3a 09 24 28 54  .c..util.lo:.$(T
6c90: 4f 50 29 2f 73 72 63 2f 75 74 69 6c 2e 63 20 24  OP)/src/util.c $
6ca0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI
6cb0: 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45  LE) $(TEMP_STORE
6cc0: 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f  ) -c $(TOP)/src/
6cd0: 75 74 69 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c  util.c..vacuum.l
6ce0: 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 76 61  o:.$(TOP)/src/va
6cf0: 63 75 75 6d 2e 63 20 24 28 48 44 52 29 0a 09 24  cuum.c $(HDR)..$
6d00: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45  (LTCOMPILE) $(TE
6d10: 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54  MP_STORE) -c $(T
6d20: 4f 50 29 2f 73 72 63 2f 76 61 63 75 75 6d 2e 63  OP)/src/vacuum.c
6d30: 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24 28 54 4f 50  ..vdbe.lo:.$(TOP
6d40: 29 2f 73 72 63 2f 76 64 62 65 2e 63 20 24 28 48  )/src/vdbe.c $(H
6d50: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
6d60: 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20  ) $(TEMP_STORE) 
6d70: 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 76 64  -c $(TOP)/src/vd
6d80: 62 65 2e 63 0a 0a 76 64 62 65 61 70 69 2e 6c 6f  be.c..vdbeapi.lo
6d90: 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 76 64 62  :.$(TOP)/src/vdb
6da0: 65 61 70 69 2e 63 20 24 28 48 44 52 29 0a 09 24  eapi.c $(HDR)..$
6db0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 54 45  (LTCOMPILE) $(TE
6dc0: 4d 50 5f 53 54 4f 52 45 29 20 2d 63 20 24 28 54  MP_STORE) -c $(T
6dd0: 4f 50 29 2f 73 72 63 2f 76 64 62 65 61 70 69 2e  OP)/src/vdbeapi.
6de0: 63 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a 09 24  c..vdbeaux.lo:.$
6df0: 28 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 61 75  (TOP)/src/vdbeau
6e00: 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  x.c $(HDR)..$(LT
6e10: 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f  COMPILE) $(TEMP_
6e20: 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50 29  STORE) -c $(TOP)
6e30: 2f 73 72 63 2f 76 64 62 65 61 75 78 2e 63 0a 0a  /src/vdbeaux.c..
6e40: 76 64 62 65 62 6c 6f 62 2e 6c 6f 3a 09 24 28 54  vdbeblob.lo:.$(T
6e50: 4f 50 29 2f 73 72 63 2f 76 64 62 65 62 6c 6f 62  OP)/src/vdbeblob
6e60: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
6e70: 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53  OMPILE) $(TEMP_S
6e80: 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f  TORE) -c $(TOP)/
6e90: 73 72 63 2f 76 64 62 65 62 6c 6f 62 2e 63 0a 0a  src/vdbeblob.c..
6ea0: 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f  vdbemem.lo:.$(TO
6eb0: 50 29 2f 73 72 63 2f 76 64 62 65 6d 65 6d 2e 63  P)/src/vdbemem.c
6ec0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
6ed0: 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f  PILE) $(TEMP_STO
6ee0: 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72  RE) -c $(TOP)/sr
6ef0: 63 2f 76 64 62 65 6d 65 6d 2e 63 0a 0a 76 64 62  c/vdbemem.c..vdb
6f00: 65 73 6f 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  esort.lo:.$(TOP)
6f10: 2f 73 72 63 2f 76 64 62 65 73 6f 72 74 2e 63 20  /src/vdbesort.c 
6f20: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
6f30: 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52  ILE) $(TEMP_STOR
6f40: 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63  E) -c $(TOP)/src
6f50: 2f 76 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62  /vdbesort.c..vdb
6f60: 65 74 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50  etrace.lo:.$(TOP
6f70: 29 2f 73 72 63 2f 76 64 62 65 74 72 61 63 65 2e  )/src/vdbetrace.
6f80: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
6f90: 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f 53 54  MPILE) $(TEMP_ST
6fa0: 4f 52 45 29 20 2d 63 20 24 28 54 4f 50 29 2f 73  ORE) -c $(TOP)/s
6fb0: 72 63 2f 76 64 62 65 74 72 61 63 65 2e 63 0a 0a  rc/vdbetrace.c..
6fc0: 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f  vtab.lo:.$(TOP)/
6fd0: 73 72 63 2f 76 74 61 62 2e 63 20 24 28 48 44 52  src/vtab.c $(HDR
6fe0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
6ff0: 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63  $(TEMP_STORE) -c
7000: 20 24 28 54 4f 50 29 2f 73 72 63 2f 76 74 61 62   $(TOP)/src/vtab
7010: 2e 63 0a 0a 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f  .c..wal.lo:.$(TO
7020: 50 29 2f 73 72 63 2f 77 61 6c 2e 63 20 24 28 48  P)/src/wal.c $(H
7030: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
7040: 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20  ) $(TEMP_STORE) 
7050: 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 77 61  -c $(TOP)/src/wa
7060: 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c 6f 3a 09  l.c..walker.lo:.
7070: 24 28 54 4f 50 29 2f 73 72 63 2f 77 61 6c 6b 65  $(TOP)/src/walke
7080: 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  r.c $(HDR)..$(LT
7090: 43 4f 4d 50 49 4c 45 29 20 24 28 54 45 4d 50 5f  COMPILE) $(TEMP_
70a0: 53 54 4f 52 45 29 20 2d 63 20 24 28 54 4f 50 29  STORE) -c $(TOP)
70b0: 2f 73 72 63 2f 77 61 6c 6b 65 72 2e 63 0a 0a 77  /src/walker.c..w
70c0: 68 65 72 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f  here.lo:.$(TOP)/
70d0: 73 72 63 2f 77 68 65 72 65 2e 63 20 24 28 48 44  src/where.c $(HD
70e0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE)
70f0: 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d   $(TEMP_STORE) -
7100: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 77 68 65  c $(TOP)/src/whe
7110: 72 65 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65 2e  re.c..wherecode.
7120: 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 77  lo:.$(TOP)/src/w
7130: 68 65 72 65 63 6f 64 65 2e 63 20 24 28 48 44 52  herecode.c $(HDR
7140: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
7150: 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63  $(TEMP_STORE) -c
7160: 20 24 28 54 4f 50 29 2f 73 72 63 2f 77 68 65 72   $(TOP)/src/wher
7170: 65 63 6f 64 65 2e 63 0a 0a 77 68 65 72 65 65 78  ecode.c..whereex
7180: 70 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72  pr.lo:.$(TOP)/sr
7190: 63 2f 77 68 65 72 65 65 78 70 72 2e 63 20 24 28  c/whereexpr.c $(
71a0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
71b0: 45 29 20 24 28 54 45 4d 50 5f 53 54 4f 52 45 29  E) $(TEMP_STORE)
71c0: 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 77   -c $(TOP)/src/w
71d0: 68 65 72 65 65 78 70 72 2e 63 0a 0a 77 69 6e 64  hereexpr.c..wind
71e0: 6f 77 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72  ow.lo:.$(TOP)/sr
71f0: 63 2f 77 69 6e 64 6f 77 2e 63 20 24 28 48 44 52  c/window.c $(HDR
7200: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
7210: 24 28 54 45 4d 50 5f 53 54 4f 52 45 29 20 2d 63  $(TEMP_STORE) -c
7220: 20 24 28 54 4f 50 29 2f 73 72 63 2f 77 69 6e 64   $(TOP)/src/wind
7230: 6f 77 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2e  ow.c..tclsqlite.
7240: 6c 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 74  lo:.$(TOP)/src/t
7250: 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 48 44 52  clsqlite.c $(HDR
7260: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) 
7270: 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d  -DUSE_TCL_STUBS=
7280: 31 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f  1 -c $(TOP)/src/
7290: 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c  tclsqlite.c..tcl
72a0: 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a  sqlite-shell.lo:
72b0: 09 24 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73  .$(TOP)/src/tcls
72c0: 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 0a 09  qlite.c $(HDR)..
72d0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 54  $(LTCOMPILE) -DT
72e0: 43 4c 53 48 20 2d 6f 20 24 40 20 2d 63 20 24 28  CLSH -o $@ -c $(
72f0: 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69  TOP)/src/tclsqli
7300: 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69 74 65 2d  te.c..tclsqlite-
7310: 73 74 75 62 73 2e 6c 6f 3a 09 24 28 54 4f 50 29  stubs.lo:.$(TOP)
7320: 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63  /src/tclsqlite.c
7330: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
7340: 50 49 4c 45 29 20 2d 44 55 53 45 5f 54 43 4c 5f  PILE) -DUSE_TCL_
7350: 53 54 55 42 53 3d 31 20 2d 6f 20 24 40 20 2d 63  STUBS=1 -o $@ -c
7360: 20 24 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73   $(TOP)/src/tcls
7370: 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 71 6c 69  qlite.c..tclsqli
7380: 74 65 33 24 28 54 45 58 45 29 3a 09 74 63 6c 73  te3$(TEXE):.tcls
7390: 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 6c  qlite-shell.lo l
73a0: 69 62 73 71 6c 69 74 65 33 2e 6c 61 0a 09 24 28  ibsqlite3.la..$(
73b0: 4c 54 4c 49 4e 4b 29 20 2d 6f 20 24 40 20 74 63  LTLINK) -o $@ tc
73c0: 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f  lsqlite-shell.lo
73d0: 20 5c 0a 09 09 20 6c 69 62 73 71 6c 69 74 65 33   \... libsqlite3
73e0: 2e 6c 61 20 24 28 4c 49 42 54 43 4c 29 0a 0a 23  .la $(LIBTCL)..#
73f0: 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20   Rules to build 
7400: 6f 70 63 6f 64 65 73 2e 63 20 61 6e 64 20 6f 70  opcodes.c and op
7410: 63 6f 64 65 73 2e 68 0a 23 0a 6f 70 63 6f 64 65  codes.h.#.opcode
7420: 73 2e 63 3a 09 6f 70 63 6f 64 65 73 2e 68 20 24  s.c:.opcodes.h $
7430: 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 6f 70 63  (TOP)/tool/mkopc
7440: 6f 64 65 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53  odec.tcl..$(TCLS
7450: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 2f 74 6f  H_CMD) $(TOP)/to
7460: 6f 6c 2f 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c  ol/mkopcodec.tcl
7470: 20 6f 70 63 6f 64 65 73 2e 68 20 3e 6f 70 63 6f   opcodes.h >opco
7480: 64 65 73 2e 63 0a 0a 6f 70 63 6f 64 65 73 2e 68  des.c..opcodes.h
7490: 3a 09 70 61 72 73 65 2e 68 20 24 28 54 4f 50 29  :.parse.h $(TOP)
74a0: 2f 73 72 63 2f 76 64 62 65 2e 63 20 24 28 54 4f  /src/vdbe.c $(TO
74b0: 50 29 2f 74 6f 6f 6c 2f 6d 6b 6f 70 63 6f 64 65  P)/tool/mkopcode
74c0: 68 2e 74 63 6c 0a 09 63 61 74 20 70 61 72 73 65  h.tcl..cat parse
74d0: 2e 68 20 24 28 54 4f 50 29 2f 73 72 63 2f 76 64  .h $(TOP)/src/vd
74e0: 62 65 2e 63 20 7c 20 24 28 54 43 4c 53 48 5f 43  be.c | $(TCLSH_C
74f0: 4d 44 29 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f  MD) $(TOP)/tool/
7500: 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 20 3e 6f  mkopcodeh.tcl >o
7510: 70 63 6f 64 65 73 2e 68 0a 0a 23 20 52 75 6c 65  pcodes.h..# Rule
7520: 73 20 74 6f 20 62 75 69 6c 64 20 70 61 72 73 65  s to build parse
7530: 2e 63 20 61 6e 64 20 70 61 72 73 65 2e 68 20 2d  .c and parse.h -
7540: 20 74 68 65 20 6f 75 74 70 75 74 73 20 6f 66 20   the outputs of 
7550: 6c 65 6d 6f 6e 2e 0a 23 0a 70 61 72 73 65 2e 68  lemon..#.parse.h
7560: 3a 09 70 61 72 73 65 2e 63 0a 0a 70 61 72 73 65  :.parse.c..parse
7570: 2e 63 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 70  .c:.$(TOP)/src/p
7580: 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 24 28 42 45  arse.y lemon$(BE
7590: 58 45 29 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f  XE) $(TOP)/tool/
75a0: 61 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 0a 09  addopcodes.tcl..
75b0: 63 70 20 24 28 54 4f 50 29 2f 73 72 63 2f 70 61  cp $(TOP)/src/pa
75c0: 72 73 65 2e 79 20 2e 0a 09 72 6d 20 2d 66 20 70  rse.y ...rm -f p
75d0: 61 72 73 65 2e 68 0a 09 2e 2f 6c 65 6d 6f 6e 24  arse.h.../lemon$
75e0: 28 42 45 58 45 29 20 24 28 4f 50 54 5f 46 45 41  (BEXE) $(OPT_FEA
75f0: 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50  TURE_FLAGS) $(OP
7600: 54 53 29 20 70 61 72 73 65 2e 79 0a 09 6d 76 20  TS) parse.y..mv 
7610: 70 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e  parse.h parse.h.
7620: 74 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d  temp..$(TCLSH_CM
7630: 44 29 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 61  D) $(TOP)/tool/a
7640: 64 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61  ddopcodes.tcl pa
7650: 72 73 65 2e 68 2e 74 65 6d 70 20 3e 70 61 72 73  rse.h.temp >pars
7660: 65 2e 68 0a 0a 73 71 6c 69 74 65 33 2e 68 3a 09  e.h..sqlite3.h:.
7670: 24 28 54 4f 50 29 2f 73 72 63 2f 73 71 6c 69 74  $(TOP)/src/sqlit
7680: 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 2f 6d 61  e.h.in $(TOP)/ma
7690: 6e 69 66 65 73 74 20 6d 6b 73 6f 75 72 63 65 69  nifest mksourcei
76a0: 64 24 28 42 45 58 45 29 20 24 28 54 4f 50 29 2f  d$(BEXE) $(TOP)/
76b0: 56 45 52 53 49 4f 4e 0a 09 24 28 54 43 4c 53 48  VERSION..$(TCLSH
76c0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 2f 74 6f 6f  _CMD) $(TOP)/too
76d0: 6c 2f 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  l/mksqlite3h.tcl
76e0: 20 24 28 54 4f 50 29 20 3e 73 71 6c 69 74 65 33   $(TOP) >sqlite3
76f0: 2e 68 0a 0a 6b 65 79 77 6f 72 64 68 61 73 68 2e  .h..keywordhash.
7700: 68 3a 09 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d  h:.$(TOP)/tool/m
7710: 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63 0a 09  kkeywordhash.c..
7720: 24 28 42 43 43 29 20 2d 6f 20 6d 6b 6b 65 79 77  $(BCC) -o mkkeyw
7730: 6f 72 64 68 61 73 68 24 28 42 45 58 45 29 20 24  ordhash$(BEXE) $
7740: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
7750: 47 53 29 20 24 28 4f 50 54 53 29 20 24 28 54 4f  GS) $(OPTS) $(TO
7760: 50 29 2f 74 6f 6f 6c 2f 6d 6b 6b 65 79 77 6f 72  P)/tool/mkkeywor
7770: 64 68 61 73 68 2e 63 0a 09 2e 2f 6d 6b 6b 65 79  dhash.c.../mkkey
7780: 77 6f 72 64 68 61 73 68 24 28 42 45 58 45 29 20  wordhash$(BEXE) 
7790: 3e 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 0a 0a  >keywordhash.h..
77a0: 23 20 53 6f 75 72 63 65 20 66 69 6c 65 73 20 74  # Source files t
77b0: 68 61 74 20 67 6f 20 69 6e 74 6f 20 6d 61 6b 69  hat go into maki
77c0: 6e 67 20 73 68 65 6c 6c 2e 63 0a 53 48 45 4c 4c  ng shell.c.SHELL
77d0: 5f 53 52 43 20 3d 20 5c 0a 09 24 28 54 4f 50 29  _SRC = \..$(TOP)
77e0: 2f 73 72 63 2f 73 68 65 6c 6c 2e 63 2e 69 6e 20  /src/shell.c.in 
77f0: 5c 0a 20 20 20 20 20 20 20 20 24 28 54 4f 50 29  \.        $(TOP)
7800: 2f 65 78 74 2f 6d 69 73 63 2f 61 70 70 65 6e 64  /ext/misc/append
7810: 76 66 73 2e 63 20 5c 0a 09 24 28 54 4f 50 29 2f  vfs.c \..$(TOP)/
7820: 65 78 74 2f 6d 69 73 63 2f 73 68 61 74 68 72 65  ext/misc/shathre
7830: 65 2e 63 20 5c 0a 09 24 28 54 4f 50 29 2f 65 78  e.c \..$(TOP)/ex
7840: 74 2f 6d 69 73 63 2f 66 69 6c 65 69 6f 2e 63 20  t/misc/fileio.c 
7850: 5c 0a 09 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69  \..$(TOP)/ext/mi
7860: 73 63 2f 63 6f 6d 70 6c 65 74 69 6f 6e 2e 63 20  sc/completion.c 
7870: 5c 0a 09 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69  \..$(TOP)/ext/mi
7880: 73 63 2f 73 71 6c 61 72 2e 63 20 5c 0a 09 24 28  sc/sqlar.c \..$(
7890: 54 4f 50 29 2f 65 78 74 2f 65 78 70 65 72 74 2f  TOP)/ext/expert/
78a0: 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63 20  sqlite3expert.c 
78b0: 5c 0a 09 24 28 54 4f 50 29 2f 65 78 74 2f 65 78  \..$(TOP)/ext/ex
78c0: 70 65 72 74 2f 73 71 6c 69 74 65 33 65 78 70 65  pert/sqlite3expe
78d0: 72 74 2e 68 20 5c 0a 09 24 28 54 4f 50 29 2f 65  rt.h \..$(TOP)/e
78e0: 78 74 2f 6d 69 73 63 2f 7a 69 70 66 69 6c 65 2e  xt/misc/zipfile.
78f0: 63 20 5c 0a 20 20 20 20 20 20 20 20 24 28 54 4f  c \.        $(TO
7900: 50 29 2f 73 72 63 2f 74 65 73 74 5f 77 69 6e 64  P)/src/test_wind
7910: 69 72 65 6e 74 2e 63 0a 0a 73 68 65 6c 6c 2e 63  irent.c..shell.c
7920: 3a 09 24 28 53 48 45 4c 4c 5f 53 52 43 29 20 24  :.$(SHELL_SRC) $
7930: 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 73 68 65  (TOP)/tool/mkshe
7940: 6c 6c 63 2e 74 63 6c 0a 09 24 28 54 43 4c 53 48  llc.tcl..$(TCLSH
7950: 5f 43 4d 44 29 20 24 28 54 4f 50 29 2f 74 6f 6f  _CMD) $(TOP)/too
7960: 6c 2f 6d 6b 73 68 65 6c 6c 63 2e 74 63 6c 20 3e  l/mkshellc.tcl >
7970: 73 68 65 6c 6c 2e 63 0a 0a 0a 0a 0a 23 20 52 75  shell.c.....# Ru
7980: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65  les to build the
7990: 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63   extension objec
79a0: 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 28  ts..#.icu.lo:.$(
79b0: 54 4f 50 29 2f 65 78 74 2f 69 63 75 2f 69 63 75  TOP)/ext/icu/icu
79c0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
79d0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
79e0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
79f0: 2d 63 20 24 28 54 4f 50 29 2f 65 78 74 2f 69 63  -c $(TOP)/ext/ic
7a00: 75 2f 69 63 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f  u/icu.c..fts2.lo
7a10: 3a 09 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73  :.$(TOP)/ext/fts
7a20: 32 2f 66 74 73 32 2e 63 20 24 28 48 44 52 29 20  2/fts2.c $(HDR) 
7a30: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
7a40: 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45  OMPILE) -DSQLITE
7a50: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 2f  _CORE -c $(TOP)/
7a60: 65 78 74 2f 66 74 73 32 2f 66 74 73 32 2e 63 0a  ext/fts2/fts2.c.
7a70: 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 24  .fts2_hash.lo:.$
7a80: 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 32 2f 66  (TOP)/ext/fts2/f
7a90: 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48 44 52  ts2_hash.c $(HDR
7aa0: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
7ab0: 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49  TCOMPILE) -DSQLI
7ac0: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
7ad0: 29 2f 65 78 74 2f 66 74 73 32 2f 66 74 73 32 5f  )/ext/fts2/fts2_
7ae0: 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69 63 75  hash.c..fts2_icu
7af0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 65 78 74 2f  .lo:.$(TOP)/ext/
7b00: 66 74 73 32 2f 66 74 73 32 5f 69 63 75 2e 63 20  fts2/fts2_icu.c 
7b10: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR) $(EXTHDR)
7b20: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d  ..$(LTCOMPILE) -
7b30: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20  DSQLITE_CORE -c 
7b40: 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 32 2f  $(TOP)/ext/fts2/
7b50: 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74 73 32  fts2_icu.c..fts2
7b60: 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f  _porter.lo:.$(TO
7b70: 50 29 2f 65 78 74 2f 66 74 73 32 2f 66 74 73 32  P)/ext/fts2/fts2
7b80: 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29  _porter.c $(HDR)
7b90: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
7ba0: 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54  COMPILE) -DSQLIT
7bb0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
7bc0: 2f 65 78 74 2f 66 74 73 32 2f 66 74 73 32 5f 70  /ext/fts2/fts2_p
7bd0: 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f  orter.c..fts2_to
7be0: 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f  kenizer.lo:.$(TO
7bf0: 50 29 2f 65 78 74 2f 66 74 73 32 2f 66 74 73 32  P)/ext/fts2/fts2
7c00: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48  _tokenizer.c $(H
7c10: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
7c20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51  (LTCOMPILE) -DSQ
7c30: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T
7c40: 4f 50 29 2f 65 78 74 2f 66 74 73 32 2f 66 74 73  OP)/ext/fts2/fts
7c50: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66  2_tokenizer.c..f
7c60: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c  ts2_tokenizer1.l
7c70: 6f 3a 09 24 28 54 4f 50 29 2f 65 78 74 2f 66 74  o:.$(TOP)/ext/ft
7c80: 73 32 2f 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65  s2/fts2_tokenize
7c90: 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  r1.c $(HDR) $(EX
7ca0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
7cb0: 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  LE) -DSQLITE_COR
7cc0: 45 20 2d 63 20 24 28 54 4f 50 29 2f 65 78 74 2f  E -c $(TOP)/ext/
7cd0: 66 74 73 32 2f 66 74 73 32 5f 74 6f 6b 65 6e 69  fts2/fts2_tokeni
7ce0: 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a  zer1.c..fts3.lo:
7cf0: 09 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 33  .$(TOP)/ext/fts3
7d00: 2f 66 74 73 33 2e 63 20 24 28 48 44 52 29 20 24  /fts3.c $(HDR) $
7d10: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
7d20: 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f  MPILE) -DSQLITE_
7d30: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 2f 65  CORE -c $(TOP)/e
7d40: 78 74 2f 66 74 73 33 2f 66 74 73 33 2e 63 0a 0a  xt/fts3/fts3.c..
7d50: 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 54  fts3_aux.lo:.$(T
7d60: 4f 50 29 2f 65 78 74 2f 66 74 73 33 2f 66 74 73  OP)/ext/fts3/fts
7d70: 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29 20 24  3_aux.c $(HDR) $
7d80: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
7d90: 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f  MPILE) -DSQLITE_
7da0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 2f 65  CORE -c $(TOP)/e
7db0: 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 61 75 78  xt/fts3/fts3_aux
7dc0: 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e 6c 6f  .c..fts3_expr.lo
7dd0: 3a 09 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73  :.$(TOP)/ext/fts
7de0: 33 2f 66 74 73 33 5f 65 78 70 72 2e 63 20 24 28  3/fts3_expr.c $(
7df0: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
7e00: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53  $(LTCOMPILE) -DS
7e10: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
7e20: 54 4f 50 29 2f 65 78 74 2f 66 74 73 33 2f 66 74  TOP)/ext/fts3/ft
7e30: 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73 33 5f  s3_expr.c..fts3_
7e40: 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f  hash.lo:.$(TOP)/
7e50: 65 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 68 61  ext/fts3/fts3_ha
7e60: 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  sh.c $(HDR) $(EX
7e70: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
7e80: 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  LE) -DSQLITE_COR
7e90: 45 20 2d 63 20 24 28 54 4f 50 29 2f 65 78 74 2f  E -c $(TOP)/ext/
7ea0: 66 74 73 33 2f 66 74 73 33 5f 68 61 73 68 2e 63  fts3/fts3_hash.c
7eb0: 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a 09 24  ..fts3_icu.lo:.$
7ec0: 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 33 2f 66  (TOP)/ext/fts3/f
7ed0: 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44 52 29  ts3_icu.c $(HDR)
7ee0: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
7ef0: 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54  COMPILE) -DSQLIT
7f00: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP)
7f10: 2f 65 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 69  /ext/fts3/fts3_i
7f20: 63 75 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 74 65  cu.c..fts3_porte
7f30: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 65 78 74  r.lo:.$(TOP)/ext
7f40: 2f 66 74 73 33 2f 66 74 73 33 5f 70 6f 72 74 65  /fts3/fts3_porte
7f50: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR) $(EXT
7f60: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
7f70: 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  E) -DSQLITE_CORE
7f80: 20 2d 63 20 24 28 54 4f 50 29 2f 65 78 74 2f 66   -c $(TOP)/ext/f
7f90: 74 73 33 2f 66 74 73 33 5f 70 6f 72 74 65 72 2e  ts3/fts3_porter.
7fa0: 63 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  c..fts3_snippet.
7fb0: 6c 6f 3a 09 24 28 54 4f 50 29 2f 65 78 74 2f 66  lo:.$(TOP)/ext/f
7fc0: 74 73 33 2f 66 74 73 33 5f 73 6e 69 70 70 65 74  ts3/fts3_snippet
7fd0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
7fe0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
7ff0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
8000: 2d 63 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74  -c $(TOP)/ext/ft
8010: 73 33 2f 66 74 73 33 5f 73 6e 69 70 70 65 74 2e  s3/fts3_snippet.
8020: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  c..fts3_tokenize
8030: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 65 78 74  r.lo:.$(TOP)/ext
8040: 2f 66 74 73 33 2f 66 74 73 33 5f 74 6f 6b 65 6e  /fts3/fts3_token
8050: 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24 28  izer.c $(HDR) $(
8060: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM
8070: 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43  PILE) -DSQLITE_C
8080: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 2f 65 78  ORE -c $(TOP)/ex
8090: 74 2f 66 74 73 33 2f 66 74 73 33 5f 74 6f 6b 65  t/fts3/fts3_toke
80a0: 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f  nizer.c..fts3_to
80b0: 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54  kenizer1.lo:.$(T
80c0: 4f 50 29 2f 65 78 74 2f 66 74 73 33 2f 66 74 73  OP)/ext/fts3/fts
80d0: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24  3_tokenizer1.c $
80e0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a  (HDR) $(EXTHDR).
80f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44  .$(LTCOMPILE) -D
8100: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24  SQLITE_CORE -c $
8110: 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 33 2f 66  (TOP)/ext/fts3/f
8120: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts3_tokenizer1.c
8130: 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f  ..fts3_tokenize_
8140: 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f  vtab.lo:.$(TOP)/
8150: 65 78 74 2f 66 74 73 33 2f 66 74 73 33 5f 74 6f  ext/fts3/fts3_to
8160: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 24 28  kenize_vtab.c $(
8170: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR)..
8180: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53  $(LTCOMPILE) -DS
8190: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $(
81a0: 54 4f 50 29 2f 65 78 74 2f 66 74 73 33 2f 66 74  TOP)/ext/fts3/ft
81b0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62  s3_tokenize_vtab
81c0: 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65  .c..fts3_unicode
81d0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 65 78 74 2f  .lo:.$(TOP)/ext/
81e0: 66 74 73 33 2f 66 74 73 33 5f 75 6e 69 63 6f 64  fts3/fts3_unicod
81f0: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  e.c $(HDR) $(EXT
8200: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
8210: 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  E) -DSQLITE_CORE
8220: 20 2d 63 20 24 28 54 4f 50 29 2f 65 78 74 2f 66   -c $(TOP)/ext/f
8230: 74 73 33 2f 66 74 73 33 5f 75 6e 69 63 6f 64 65  ts3/fts3_unicode
8240: 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65  .c..fts3_unicode
8250: 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 65 78 74  2.lo:.$(TOP)/ext
8260: 2f 66 74 73 33 2f 66 74 73 33 5f 75 6e 69 63 6f  /fts3/fts3_unico
8270: 64 65 32 2e 63 20 24 28 48 44 52 29 20 24 28 45  de2.c $(HDR) $(E
8280: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  XTHDR)..$(LTCOMP
8290: 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ILE) -DSQLITE_CO
82a0: 52 45 20 2d 63 20 24 28 54 4f 50 29 2f 65 78 74  RE -c $(TOP)/ext
82b0: 2f 66 74 73 33 2f 66 74 73 33 5f 75 6e 69 63 6f  /fts3/fts3_unico
82c0: 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72 69 74  de2.c..fts3_writ
82d0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 2f 65 78 74  e.lo:.$(TOP)/ext
82e0: 2f 66 74 73 33 2f 66 74 73 33 5f 77 72 69 74 65  /fts3/fts3_write
82f0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR) $(EXTH
8300: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE
8310: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
8320: 2d 63 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74  -c $(TOP)/ext/ft
8330: 73 33 2f 66 74 73 33 5f 77 72 69 74 65 2e 63 0a  s3/fts3_write.c.
8340: 0a 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50  .rtree.lo:.$(TOP
8350: 29 2f 65 78 74 2f 72 74 72 65 65 2f 72 74 72 65  )/ext/rtree/rtre
8360: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  e.c $(HDR) $(EXT
8370: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL
8380: 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  E) -DSQLITE_CORE
8390: 20 2d 63 20 24 28 54 4f 50 29 2f 65 78 74 2f 72   -c $(TOP)/ext/r
83a0: 74 72 65 65 2f 72 74 72 65 65 2e 63 0a 0a 73 71  tree/rtree.c..sq
83b0: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a  lite3session.lo:
83c0: 09 24 28 54 4f 50 29 2f 65 78 74 2f 73 65 73 73  .$(TOP)/ext/sess
83d0: 69 6f 6e 2f 73 71 6c 69 74 65 33 73 65 73 73 69  ion/sqlite3sessi
83e0: 6f 6e 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  on.c $(HDR) $(EX
83f0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
8400: 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  LE) -DSQLITE_COR
8410: 45 20 2d 63 20 24 28 54 4f 50 29 2f 65 78 74 2f  E -c $(TOP)/ext/
8420: 73 65 73 73 69 6f 6e 2f 73 71 6c 69 74 65 33 73  session/sqlite3s
8430: 65 73 73 69 6f 6e 2e 63 0a 0a 6a 73 6f 6e 31 2e  ession.c..json1.
8440: 6c 6f 3a 09 24 28 54 4f 50 29 2f 65 78 74 2f 6d  lo:.$(TOP)/ext/m
8450: 69 73 63 2f 6a 73 6f 6e 31 2e 63 0a 09 24 28 4c  isc/json1.c..$(L
8460: 54 43 4f 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49  TCOMPILE) -DSQLI
8470: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP
8480: 29 2f 65 78 74 2f 6d 69 73 63 2f 6a 73 6f 6e 31  )/ext/misc/json1
8490: 2e 63 0a 0a 73 74 6d 74 2e 6c 6f 3a 09 24 28 54  .c..stmt.lo:.$(T
84a0: 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f 73 74 6d  OP)/ext/misc/stm
84b0: 74 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  t.c..$(LTCOMPILE
84c0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE 
84d0: 2d 63 20 24 28 54 4f 50 29 2f 65 78 74 2f 6d 69  -c $(TOP)/ext/mi
84e0: 73 63 2f 73 74 6d 74 2e 63 0a 0a 23 20 46 54 53  sc/stmt.c..# FTS
84f0: 35 20 74 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f  5 things.#.FTS5_
8500: 53 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50  SRC = \.   $(TOP
8510: 29 2f 65 78 74 2f 66 74 73 35 2f 66 74 73 35 2e  )/ext/fts5/fts5.
8520: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 2f 65 78  h \.   $(TOP)/ex
8530: 74 2f 66 74 73 35 2f 66 74 73 35 49 6e 74 2e 68  t/fts5/fts5Int.h
8540: 20 5c 0a 20 20 20 24 28 54 4f 50 29 2f 65 78 74   \.   $(TOP)/ext
8550: 2f 66 74 73 35 2f 66 74 73 35 5f 61 75 78 2e 63  /fts5/fts5_aux.c
8560: 20 5c 0a 20 20 20 24 28 54 4f 50 29 2f 65 78 74   \.   $(TOP)/ext
8570: 2f 66 74 73 35 2f 66 74 73 35 5f 62 75 66 66 65  /fts5/fts5_buffe
8580: 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 2f  r.c \.   $(TOP)/
8590: 65 78 74 2f 66 74 73 35 2f 66 74 73 35 5f 6d 61  ext/fts5/fts5_ma
85a0: 69 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  in.c \.   $(TOP)
85b0: 2f 65 78 74 2f 66 74 73 35 2f 66 74 73 35 5f 63  /ext/fts5/fts5_c
85c0: 6f 6e 66 69 67 2e 63 20 5c 0a 20 20 20 24 28 54  onfig.c \.   $(T
85d0: 4f 50 29 2f 65 78 74 2f 66 74 73 35 2f 66 74 73  OP)/ext/fts5/fts
85e0: 35 5f 65 78 70 72 2e 63 20 5c 0a 20 20 20 24 28  5_expr.c \.   $(
85f0: 54 4f 50 29 2f 65 78 74 2f 66 74 73 35 2f 66 74  TOP)/ext/fts5/ft
8600: 73 35 5f 68 61 73 68 2e 63 20 5c 0a 20 20 20 24  s5_hash.c \.   $
8610: 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 35 2f 66  (TOP)/ext/fts5/f
8620: 74 73 35 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20  ts5_index.c \.  
8630: 20 66 74 73 35 70 61 72 73 65 2e 63 20 66 74 73   fts5parse.c fts
8640: 35 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28  5parse.h \.   $(
8650: 54 4f 50 29 2f 65 78 74 2f 66 74 73 35 2f 66 74  TOP)/ext/fts5/ft
8660: 73 35 5f 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20  s5_storage.c \. 
8670: 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 66 74 73    $(TOP)/ext/fts
8680: 35 2f 66 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e  5/fts5_tokenize.
8690: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 2f 65 78  c \.   $(TOP)/ex
86a0: 74 2f 66 74 73 35 2f 66 74 73 35 5f 75 6e 69 63  t/fts5/fts5_unic
86b0: 6f 64 65 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f  ode2.c \.   $(TO
86c0: 50 29 2f 65 78 74 2f 66 74 73 35 2f 66 74 73 35  P)/ext/fts5/fts5
86d0: 5f 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24  _varint.c \.   $
86e0: 28 54 4f 50 29 2f 65 78 74 2f 66 74 73 35 2f 66  (TOP)/ext/fts5/f
86f0: 74 73 35 5f 76 6f 63 61 62 2e 63 20 20 5c 0a 0a  ts5_vocab.c  \..
8700: 66 74 73 35 70 61 72 73 65 2e 63 3a 09 24 28 54  fts5parse.c:.$(T
8710: 4f 50 29 2f 65 78 74 2f 66 74 73 35 2f 66 74 73  OP)/ext/fts5/fts
8720: 35 70 61 72 73 65 2e 79 20 6c 65 6d 6f 6e 20 0a  5parse.y lemon .
8730: 09 63 70 20 24 28 54 4f 50 29 2f 65 78 74 2f 66  .cp $(TOP)/ext/f
8740: 74 73 35 2f 66 74 73 35 70 61 72 73 65 2e 79 20  ts5/fts5parse.y 
8750: 2e 0a 09 72 6d 20 2d 66 20 66 74 73 35 70 61 72  ...rm -f fts5par
8760: 73 65 2e 68 0a 09 2e 2f 6c 65 6d 6f 6e 24 28 42  se.h.../lemon$(B
8770: 45 58 45 29 20 24 28 4f 50 54 53 29 20 66 74 73  EXE) $(OPTS) fts
8780: 35 70 61 72 73 65 2e 79 0a 0a 66 74 73 35 70 61  5parse.y..fts5pa
8790: 72 73 65 2e 68 3a 20 66 74 73 35 70 61 72 73 65  rse.h: fts5parse
87a0: 2e 63 0a 0a 66 74 73 35 2e 63 3a 20 24 28 46 54  .c..fts5.c: $(FT
87b0: 53 35 5f 53 52 43 29 0a 09 24 28 54 43 4c 53 48  S5_SRC)..$(TCLSH
87c0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 2f 65 78 74  _CMD) $(TOP)/ext
87d0: 2f 66 74 73 35 2f 74 6f 6f 6c 2f 6d 6b 66 74 73  /fts5/tool/mkfts
87e0: 35 63 2e 74 63 6c 0a 09 63 70 20 24 28 54 4f 50  5c.tcl..cp $(TOP
87f0: 29 2f 65 78 74 2f 66 74 73 35 2f 66 74 73 35 2e  )/ext/fts5/fts5.
8800: 68 20 2e 0a 0a 66 74 73 35 2e 6c 6f 3a 09 66 74  h ...fts5.lo:.ft
8810: 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  s5.c $(HDR) $(EX
8820: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI
8830: 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  LE) -DSQLITE_COR
8840: 45 20 2d 63 20 66 74 73 35 2e 63 0a 0a 73 71 6c  E -c fts5.c..sql
8850: 69 74 65 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f  ite3rbu.lo:.$(TO
8860: 50 29 2f 65 78 74 2f 72 62 75 2f 73 71 6c 69 74  P)/ext/rbu/sqlit
8870: 65 33 72 62 75 2e 63 20 24 28 48 44 52 29 20 24  e3rbu.c $(HDR) $
8880: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO
8890: 4d 50 49 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f  MPILE) -DSQLITE_
88a0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 2f 65  CORE -c $(TOP)/e
88b0: 78 74 2f 72 62 75 2f 73 71 6c 69 74 65 33 72 62  xt/rbu/sqlite3rb
88c0: 75 2e 63 0a 0a 0a 23 20 52 75 6c 65 73 20 74 6f  u.c...# Rules to
88d0: 20 62 75 69 6c 64 20 74 68 65 20 27 74 65 73 74   build the 'test
88e0: 66 69 78 74 75 72 65 27 20 61 70 70 6c 69 63 61  fixture' applica
88f0: 74 69 6f 6e 2e 0a 23 0a 23 20 49 66 20 75 73 69  tion..#.# If usi
8900: 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74  ng the amalgamat
8910: 69 6f 6e 2c 20 75 73 65 20 73 71 6c 69 74 65 33  ion, use sqlite3
8920: 2e 63 20 64 69 72 65 63 74 6c 79 20 74 6f 20 62  .c directly to b
8930: 75 69 6c 64 20 74 68 65 20 74 65 73 74 0a 23 20  uild the test.# 
8940: 66 69 78 74 75 72 65 2e 20 20 4f 74 68 65 72 77  fixture.  Otherw
8950: 69 73 65 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74  ise link against
8960: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 61 2e 20   libsqlite3.la. 
8970: 20 28 54 68 69 73 20 64 69 73 74 69 6e 63 74 69   (This distincti
8980: 6f 6e 20 69 73 0a 23 20 6e 65 63 65 73 73 61 72  on is.# necessar
8990: 79 20 62 65 63 61 75 73 65 20 74 68 65 20 74 65  y because the te
89a0: 73 74 20 66 69 78 74 75 72 65 20 72 65 71 75 69  st fixture requi
89b0: 72 65 73 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62  res non-API symb
89c0: 6f 6c 73 20 77 68 69 63 68 20 61 72 65 0a 23 20  ols which are.# 
89d0: 68 69 64 64 65 6e 20 77 68 65 6e 20 74 68 65 20  hidden when the 
89e0: 6c 69 62 72 61 72 79 20 69 73 20 62 75 69 6c 74  library is built
89f0: 20 76 69 61 20 74 68 65 20 61 6d 61 6c 67 61 6d   via the amalgam
8a00: 61 74 69 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49  ation)..#.TESTFI
8a10: 58 54 55 52 45 5f 46 4c 41 47 53 20 20 3d 20 2d  XTURE_FLAGS  = -
8a20: 44 53 51 4c 49 54 45 5f 54 45 53 54 3d 31 20 2d  DSQLITE_TEST=1 -
8a30: 44 53 51 4c 49 54 45 5f 43 52 41 53 48 5f 54 45  DSQLITE_CRASH_TE
8a40: 53 54 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45  ST=1.TESTFIXTURE
8a50: 5f 46 4c 41 47 53 20 2b 3d 20 2d 44 54 43 4c 53  _FLAGS += -DTCLS
8a60: 48 5f 49 4e 49 54 5f 50 52 4f 43 3d 73 71 6c 69  H_INIT_PROC=sqli
8a70: 74 65 33 54 65 73 74 49 6e 69 74 0a 54 45 53 54  te3TestInit.TEST
8a80: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 2b 3d  FIXTURE_FLAGS +=
8a90: 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 56 45 52   -DSQLITE_SERVER
8aa0: 3d 31 20 2d 44 53 51 4c 49 54 45 5f 50 52 49 56  =1 -DSQLITE_PRIV
8ab0: 41 54 45 3d 22 22 20 2d 44 53 51 4c 49 54 45 5f  ATE="" -DSQLITE_
8ac0: 43 4f 52 45 20 0a 54 45 53 54 46 49 58 54 55 52  CORE .TESTFIXTUR
8ad0: 45 5f 46 4c 41 47 53 20 2b 3d 20 2d 44 42 55 49  E_FLAGS += -DBUI
8ae0: 4c 44 5f 73 71 6c 69 74 65 0a 54 45 53 54 46 49  LD_sqlite.TESTFI
8af0: 58 54 55 52 45 5f 46 4c 41 47 53 20 2b 3d 20 2d  XTURE_FLAGS += -
8b00: 44 53 51 4c 49 54 45 5f 53 45 52 49 45 53 5f 43  DSQLITE_SERIES_C
8b10: 4f 4e 53 54 52 41 49 4e 54 5f 56 45 52 49 46 59  ONSTRAINT_VERIFY
8b20: 3d 31 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46  =1.TESTFIXTURE_F
8b30: 4c 41 47 53 20 2b 3d 20 2d 44 53 51 4c 49 54 45  LAGS += -DSQLITE
8b40: 5f 44 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 49  _DEFAULT_PAGE_SI
8b50: 5a 45 3d 31 30 32 34 0a 54 45 53 54 46 49 58 54  ZE=1024.TESTFIXT
8b60: 55 52 45 5f 46 4c 41 47 53 20 2b 3d 20 2d 44 53  URE_FLAGS += -DS
8b70: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d  QLITE_ENABLE_STM
8b80: 54 56 54 41 42 0a 54 45 53 54 46 49 58 54 55 52  TVTAB.TESTFIXTUR
8b90: 45 5f 46 4c 41 47 53 20 2b 3d 20 2d 44 53 51 4c  E_FLAGS += -DSQL
8ba0: 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47  ITE_ENABLE_DBPAG
8bb0: 45 5f 56 54 41 42 0a 0a 54 45 53 54 46 49 58 54  E_VTAB..TESTFIXT
8bc0: 55 52 45 5f 53 52 43 30 20 3d 20 24 28 54 45 53  URE_SRC0 = $(TES
8bd0: 54 53 52 43 32 29 20 6c 69 62 73 71 6c 69 74 65  TSRC2) libsqlite
8be0: 33 2e 6c 61 0a 54 45 53 54 46 49 58 54 55 52 45  3.la.TESTFIXTURE
8bf0: 5f 53 52 43 31 20 3d 20 73 71 6c 69 74 65 33 2e  _SRC1 = sqlite3.
8c00: 63 0a 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  c.TESTFIXTURE_SR
8c10: 43 20 3d 20 24 28 54 45 53 54 53 52 43 29 20 24  C = $(TESTSRC) $
8c20: 28 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c  (TOP)/src/tclsql
8c30: 69 74 65 2e 63 0a 54 45 53 54 46 49 58 54 55 52  ite.c.TESTFIXTUR
8c40: 45 5f 53 52 43 20 2b 3d 20 24 28 54 45 53 54 46  E_SRC += $(TESTF
8c50: 49 58 54 55 52 45 5f 53 52 43 24 28 55 53 45 5f  IXTURE_SRC$(USE_
8c60: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 29 0a 0a  AMALGAMATION))..
8c70: 74 65 73 74 66 69 78 74 75 72 65 24 28 54 45 58  testfixture$(TEX
8c80: 45 29 3a 09 24 28 54 45 53 54 46 49 58 54 55 52  E):.$(TESTFIXTUR
8c90: 45 5f 53 52 43 29 0a 09 24 28 4c 54 4c 49 4e 4b  E_SRC)..$(LTLINK
8ca0: 29 20 2d 44 53 51 4c 49 54 45 5f 4e 4f 5f 53 59  ) -DSQLITE_NO_SY
8cb0: 4e 43 3d 31 20 24 28 54 45 4d 50 5f 53 54 4f 52  NC=1 $(TEMP_STOR
8cc0: 45 29 20 24 28 54 45 53 54 46 49 58 54 55 52 45  E) $(TESTFIXTURE
8cd0: 5f 46 4c 41 47 53 29 20 5c 0a 09 09 2d 6f 20 24  _FLAGS) \...-o $
8ce0: 40 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f  @ $(TESTFIXTURE_
8cf0: 53 52 43 29 20 24 28 4c 49 42 54 43 4c 29 20 24  SRC) $(LIBTCL) $
8d00: 28 54 4c 49 42 53 29 0a 0a 23 20 41 20 76 65 72  (TLIBS)..# A ver
8d10: 79 20 64 65 74 61 69 6c 65 64 20 74 65 73 74 20  y detailed test 
8d20: 72 75 6e 6e 69 6e 67 20 6d 6f 73 74 20 6f 72 20  running most or 
8d30: 61 6c 6c 20 74 65 73 74 20 63 61 73 65 73 0a 66  all test cases.f
8d40: 75 6c 6c 74 65 73 74 3a 09 24 28 54 45 53 54 50  ulltest:.$(TESTP
8d50: 52 4f 47 53 29 20 66 75 7a 7a 74 65 73 74 0a 09  ROGS) fuzztest..
8d60: 2e 2f 74 65 73 74 66 69 78 74 75 72 65 24 28 54  ./testfixture$(T
8d70: 45 58 45 29 20 24 28 54 4f 50 29 2f 74 65 73 74  EXE) $(TOP)/test
8d80: 2f 61 6c 6c 2e 74 65 73 74 20 24 28 54 45 53 54  /all.test $(TEST
8d90: 4f 50 54 53 29 0a 0a 23 20 52 65 61 6c 6c 79 20  OPTS)..# Really 
8da0: 72 65 61 6c 6c 79 20 6c 6f 6e 67 20 74 65 73 74  really long test
8db0: 69 6e 67 0a 73 6f 61 6b 74 65 73 74 3a 09 24 28  ing.soaktest:.$(
8dc0: 54 45 53 54 50 52 4f 47 53 29 0a 09 2e 2f 74 65  TESTPROGS).../te
8dd0: 73 74 66 69 78 74 75 72 65 24 28 54 45 58 45 29  stfixture$(TEXE)
8de0: 20 24 28 54 4f 50 29 2f 74 65 73 74 2f 61 6c 6c   $(TOP)/test/all
8df0: 2e 74 65 73 74 20 2d 73 6f 61 6b 3d 31 20 24 28  .test -soak=1 $(
8e00: 54 45 53 54 4f 50 54 53 29 0a 0a 23 20 44 6f 20  TESTOPTS)..# Do 
8e10: 65 78 74 72 61 20 74 65 73 74 69 6e 67 20 62 75  extra testing bu
8e20: 74 20 6e 6f 74 20 65 76 65 72 79 74 68 69 6e 67  t not everything
8e30: 2e 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a 09  ..fulltestonly:.
8e40: 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 7a  $(TESTPROGS) fuz
8e50: 7a 74 65 73 74 0a 09 2e 2f 74 65 73 74 66 69 78  ztest.../testfix
8e60: 74 75 72 65 24 28 54 45 58 45 29 20 24 28 54 4f  ture$(TEXE) $(TO
8e70: 50 29 2f 74 65 73 74 2f 66 75 6c 6c 2e 74 65 73  P)/test/full.tes
8e80: 74 0a 0a 23 20 46 75 7a 7a 20 74 65 73 74 69 6e  t..# Fuzz testin
8e90: 67 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a 7a  g.fuzztest:.fuzz
8ea0: 63 68 65 63 6b 24 28 54 45 58 45 29 20 24 28 46  check$(TEXE) $(F
8eb0: 55 5a 5a 44 41 54 41 29 20 73 65 73 73 69 6f 6e  UZZDATA) session
8ec0: 66 75 7a 7a 24 28 54 45 58 45 29 20 24 28 54 4f  fuzz$(TEXE) $(TO
8ed0: 50 29 2f 74 65 73 74 2f 73 65 73 73 69 6f 6e 66  P)/test/sessionf
8ee0: 75 7a 7a 2d 64 61 74 61 31 2e 64 62 0a 09 2e 2f  uzz-data1.db.../
8ef0: 66 75 7a 7a 63 68 65 63 6b 24 28 54 45 58 45 29  fuzzcheck$(TEXE)
8f00: 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 09 2e 2f   $(FUZZDATA).../
8f10: 73 65 73 73 69 6f 6e 66 75 7a 7a 24 28 54 45 58  sessionfuzz$(TEX
8f20: 45 29 20 72 75 6e 20 24 28 54 4f 50 29 2f 74 65  E) run $(TOP)/te
8f30: 73 74 2f 73 65 73 73 69 6f 6e 66 75 7a 7a 2d 64  st/sessionfuzz-d
8f40: 61 74 61 31 2e 64 62 0a 0a 66 61 73 74 66 75 7a  ata1.db..fastfuz
8f50: 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b  ztest:.fuzzcheck
8f60: 24 28 54 45 58 45 29 20 24 28 46 55 5a 5a 44 41  $(TEXE) $(FUZZDA
8f70: 54 41 29 20 73 65 73 73 69 6f 6e 66 75 7a 7a 24  TA) sessionfuzz$
8f80: 28 54 45 58 45 29 20 24 28 54 4f 50 29 2f 74 65  (TEXE) $(TOP)/te
8f90: 73 74 2f 73 65 73 73 69 6f 6e 66 75 7a 7a 2d 64  st/sessionfuzz-d
8fa0: 61 74 61 31 2e 64 62 0a 09 2e 2f 66 75 7a 7a 63  ata1.db.../fuzzc
8fb0: 68 65 63 6b 24 28 54 45 58 45 29 20 2d 2d 6c 69  heck$(TEXE) --li
8fc0: 6d 69 74 2d 6d 65 6d 20 31 30 30 4d 20 24 28 46  mit-mem 100M $(F
8fd0: 55 5a 5a 44 41 54 41 29 0a 09 2e 2f 73 65 73 73  UZZDATA).../sess
8fe0: 69 6f 6e 66 75 7a 7a 24 28 54 45 58 45 29 20 72  ionfuzz$(TEXE) r
8ff0: 75 6e 20 24 28 54 4f 50 29 2f 74 65 73 74 2f 73  un $(TOP)/test/s
9000: 65 73 73 69 6f 6e 66 75 7a 7a 2d 64 61 74 61 31  essionfuzz-data1
9010: 2e 64 62 0a 0a 76 61 6c 67 72 69 6e 64 66 75 7a  .db..valgrindfuz
9020: 7a 3a 09 66 75 7a 7a 63 68 65 63 6b 24 28 54 45  z:.fuzzcheck$(TE
9030: 58 54 29 20 24 28 46 55 5a 5a 44 41 54 41 29 20  XT) $(FUZZDATA) 
9040: 73 65 73 73 69 6f 6e 66 75 7a 7a 24 28 54 45 58  sessionfuzz$(TEX
9050: 45 29 20 24 28 54 4f 50 29 2f 74 65 73 74 2f 73  E) $(TOP)/test/s
9060: 65 73 73 69 6f 6e 66 75 7a 7a 2d 64 61 74 61 31  essionfuzz-data1
9070: 2e 64 62 0a 09 76 61 6c 67 72 69 6e 64 20 2e 2f  .db..valgrind ./
9080: 66 75 7a 7a 63 68 65 63 6b 24 28 54 45 58 45 29  fuzzcheck$(TEXE)
9090: 20 2d 2d 63 65 6c 6c 2d 73 69 7a 65 2d 63 68 65   --cell-size-che
90a0: 63 6b 20 2d 2d 6c 69 6d 69 74 2d 6d 65 6d 20 31  ck --limit-mem 1
90b0: 30 4d 20 2d 2d 74 69 6d 65 6f 75 74 20 36 30 30  0M --timeout 600
90c0: 20 24 28 46 55 5a 5a 44 41 54 41 29 0a 09 76 61   $(FUZZDATA)..va
90d0: 6c 67 72 69 6e 64 20 2e 2f 73 65 73 73 69 6f 6e  lgrind ./session
90e0: 66 75 7a 7a 24 28 54 45 58 45 29 20 72 75 6e 20  fuzz$(TEXE) run 
90f0: 24 28 54 4f 50 29 2f 74 65 73 74 2f 73 65 73 73  $(TOP)/test/sess
9100: 69 6f 6e 66 75 7a 7a 2d 64 61 74 61 31 2e 64 62  ionfuzz-data1.db
9110: 0a 0a 23 20 54 68 65 20 76 65 72 79 71 75 69 63  ..# The veryquic
9120: 6b 2e 74 65 73 74 20 54 43 4c 20 74 65 73 74 73  k.test TCL tests
9130: 2e 0a 23 0a 74 63 6c 74 65 73 74 3a 09 2e 2f 74  ..#.tcltest:../t
9140: 65 73 74 66 69 78 74 75 72 65 24 28 54 45 58 45  estfixture$(TEXE
9150: 29 0a 09 2e 2f 74 65 73 74 66 69 78 74 75 72 65  ).../testfixture
9160: 24 28 54 45 58 45 29 20 24 28 54 4f 50 29 2f 74  $(TEXE) $(TOP)/t
9170: 65 73 74 2f 76 65 72 79 71 75 69 63 6b 2e 74 65  est/veryquick.te
9180: 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS)..
9190: 23 20 4d 69 6e 69 6d 61 6c 20 74 65 73 74 69 6e  # Minimal testin
91a0: 67 20 74 68 61 74 20 72 75 6e 73 20 69 6e 20 6c  g that runs in l
91b0: 65 73 73 20 74 68 61 6e 20 33 20 6d 69 6e 75 74  ess than 3 minut
91c0: 65 73 0a 23 0a 71 75 69 63 6b 74 65 73 74 3a 09  es.#.quicktest:.
91d0: 2e 2f 74 65 73 74 66 69 78 74 75 72 65 24 28 54  ./testfixture$(T
91e0: 45 58 45 29 0a 09 2e 2f 74 65 73 74 66 69 78 74  EXE).../testfixt
91f0: 75 72 65 24 28 54 45 58 45 29 20 24 28 54 4f 50  ure$(TEXE) $(TOP
9200: 29 2f 74 65 73 74 2f 65 78 74 72 61 71 75 69 63  )/test/extraquic
9210: 6b 2e 74 65 73 74 20 24 28 54 45 53 54 4f 50 54  k.test $(TESTOPT
9220: 53 29 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68  S)..# This is th
9230: 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20  e common case.  
9240: 52 75 6e 20 6d 61 6e 79 20 74 65 73 74 73 20 74  Run many tests t
9250: 68 61 74 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20  hat do not take 
9260: 74 6f 6f 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c  too long,.# incl
9270: 75 64 69 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c  uding fuzzcheck,
9280: 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65   sqlite3_analyze
9290: 72 2c 20 61 6e 64 20 73 71 6c 64 69 66 66 20 74  r, and sqldiff t
92a0: 65 73 74 73 2e 0a 23 0a 74 65 73 74 3a 09 66 61  ests..#.test:.fa
92b0: 73 74 66 75 7a 7a 74 65 73 74 20 73 6f 75 72 63  stfuzztest sourc
92c0: 65 74 65 73 74 20 24 28 54 45 53 54 50 52 4f 47  etest $(TESTPROG
92d0: 53 29 20 74 63 6c 74 65 73 74 0a 0a 23 20 52 75  S) tcltest..# Ru
92e0: 6e 20 61 20 74 65 73 74 20 75 73 69 6e 67 20 76  n a test using v
92f0: 61 6c 67 72 69 6e 64 2e 20 20 54 68 69 73 20 63  algrind.  This c
9300: 61 6e 20 74 61 6b 65 20 61 20 72 65 61 6c 6c 79  an take a really
9310: 20 6c 6f 6e 67 20 74 69 6d 65 0a 23 20 62 65 63   long time.# bec
9320: 61 75 73 65 20 76 61 6c 67 72 69 6e 64 20 69 73  ause valgrind is
9330: 20 73 6f 20 6d 75 63 68 20 73 6c 6f 77 65 72 20   so much slower 
9340: 74 68 61 6e 20 61 20 6e 61 74 69 76 65 20 6d 61  than a native ma
9350: 63 68 69 6e 65 2e 0a 23 0a 76 61 6c 67 72 69 6e  chine..#.valgrin
9360: 64 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f  dtest:.$(TESTPRO
9370: 47 53 29 20 76 61 6c 67 72 69 6e 64 66 75 7a 7a  GS) valgrindfuzz
9380: 0a 09 4f 4d 49 54 5f 4d 49 53 55 53 45 3d 31 20  ..OMIT_MISUSE=1 
9390: 76 61 6c 67 72 69 6e 64 20 2d 76 20 2e 2f 74 65  valgrind -v ./te
93a0: 73 74 66 69 78 74 75 72 65 24 28 54 45 58 45 29  stfixture$(TEXE)
93b0: 20 24 28 54 4f 50 29 2f 74 65 73 74 2f 70 65 72   $(TOP)/test/per
93c0: 6d 75 74 61 74 69 6f 6e 73 2e 74 65 73 74 20 76  mutations.test v
93d0: 61 6c 67 72 69 6e 64 20 24 28 54 45 53 54 4f 50  algrind $(TESTOP
93e0: 54 53 29 0a 0a 23 20 41 20 76 65 72 79 20 66 61  TS)..# A very fa
93f0: 73 74 20 74 65 73 74 20 74 68 61 74 20 63 68 65  st test that che
9400: 63 6b 73 20 62 61 73 69 63 20 73 61 6e 69 74 79  cks basic sanity
9410: 2e 20 20 54 68 65 20 6e 61 6d 65 20 63 6f 6d 65  .  The name come
9420: 73 20 66 72 6f 6d 0a 23 20 74 68 65 20 36 30 73  s from.# the 60s
9430: 2d 65 72 61 20 65 6c 65 63 74 72 6f 6e 69 63 73  -era electronics
9440: 20 74 65 73 74 69 6e 67 3a 20 20 22 54 75 72 6e   testing:  "Turn
9450: 20 69 74 20 6f 6e 20 61 6e 64 20 73 65 65 20 69   it on and see i
9460: 66 20 73 6d 6f 6b 65 0a 23 20 63 6f 6d 65 73 20  f smoke.# comes 
9470: 6f 75 74 2e 22 0a 23 0a 73 6d 6f 6b 65 74 65 73  out.".#.smoketes
9480: 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20  t:.$(TESTPROGS) 
9490: 66 75 7a 7a 63 68 65 63 6b 24 28 54 45 58 45 29  fuzzcheck$(TEXE)
94a0: 0a 09 2e 2f 74 65 73 74 66 69 78 74 75 72 65 24  .../testfixture$
94b0: 28 54 45 58 45 29 20 24 28 54 4f 50 29 2f 74 65  (TEXE) $(TOP)/te
94c0: 73 74 2f 6d 61 69 6e 2e 74 65 73 74 20 24 28 54  st/main.test $(T
94d0: 45 53 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65  ESTOPTS)..sqlite
94e0: 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 20 73 71  3_analyzer.c: sq
94f0: 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29 2f 73  lite3.c $(TOP)/s
9500: 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc/tclsqlite.c $
9510: 28 54 4f 50 29 2f 74 6f 6f 6c 2f 73 70 61 63 65  (TOP)/tool/space
9520: 61 6e 61 6c 2e 74 63 6c 20 24 28 54 4f 50 29 2f  anal.tcl $(TOP)/
9530: 74 6f 6f 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c  tool/mkccode.tcl
9540: 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 73 71 6c   $(TOP)/tool/sql
9550: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 2e  ite3_analyzer.c.
9560: 69 6e 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  in..$(TCLSH_CMD)
9570: 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 63   $(TOP)/tool/mkc
9580: 63 6f 64 65 2e 74 63 6c 20 24 28 54 4f 50 29 2f  code.tcl $(TOP)/
9590: 74 6f 6f 6c 2f 73 71 6c 69 74 65 33 5f 61 6e 61  tool/sqlite3_ana
95a0: 6c 79 7a 65 72 2e 63 2e 69 6e 20 3e 73 71 6c 69  lyzer.c.in >sqli
95b0: 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 0a 0a  te3_analyzer.c..
95c0: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
95d0: 24 28 54 45 58 45 29 3a 20 73 71 6c 69 74 65 33  $(TEXE): sqlite3
95e0: 5f 61 6e 61 6c 79 7a 65 72 2e 63 0a 09 24 28 4c  _analyzer.c..$(L
95f0: 54 4c 49 4e 4b 29 20 73 71 6c 69 74 65 33 5f 61  TLINK) sqlite3_a
9600: 6e 61 6c 79 7a 65 72 2e 63 20 2d 6f 20 24 40 20  nalyzer.c -o $@ 
9610: 24 28 4c 49 42 54 43 4c 29 20 24 28 54 4c 49 42  $(LIBTCL) $(TLIB
9620: 53 29 0a 0a 73 71 6c 74 63 6c 73 68 2e 63 3a 20  S)..sqltclsh.c: 
9630: 73 71 6c 69 74 65 33 2e 63 20 24 28 54 4f 50 29  sqlite3.c $(TOP)
9640: 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e 63  /src/tclsqlite.c
9650: 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 73 71 6c   $(TOP)/tool/sql
9660: 74 63 6c 73 68 2e 74 63 6c 20 24 28 54 4f 50 29  tclsh.tcl $(TOP)
9670: 2f 65 78 74 2f 6d 69 73 63 2f 61 70 70 65 6e 64  /ext/misc/append
9680: 76 66 73 2e 63 20 24 28 54 4f 50 29 2f 74 6f 6f  vfs.c $(TOP)/too
9690: 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28  l/mkccode.tcl $(
96a0: 54 4f 50 29 2f 74 6f 6f 6c 2f 73 71 6c 74 63 6c  TOP)/tool/sqltcl
96b0: 73 68 2e 63 2e 69 6e 09 0a 09 24 28 54 43 4c 53  sh.c.in...$(TCLS
96c0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 2f 74 6f  H_CMD) $(TOP)/to
96d0: 6f 6c 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24  ol/mkccode.tcl $
96e0: 28 54 4f 50 29 2f 74 6f 6f 6c 2f 73 71 6c 74 63  (TOP)/tool/sqltc
96f0: 6c 73 68 2e 63 2e 69 6e 20 3e 73 71 6c 74 63 6c  lsh.c.in >sqltcl
9700: 73 68 2e 63 0a 0a 73 71 6c 74 63 6c 73 68 24 28  sh.c..sqltclsh$(
9710: 54 45 58 45 29 3a 20 73 71 6c 74 63 6c 73 68 2e  TEXE): sqltclsh.
9720: 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 73 71 6c  c..$(LTLINK) sql
9730: 74 63 6c 73 68 2e 63 20 2d 6f 20 24 40 20 24 28  tclsh.c -o $@ $(
9740: 4c 49 42 54 43 4c 29 20 24 28 54 4c 49 42 53 29  LIBTCL) $(TLIBS)
9750: 0a 0a 73 71 6c 69 74 65 33 5f 65 78 70 65 72 74  ..sqlite3_expert
9760: 24 28 54 45 58 45 29 3a 20 24 28 54 4f 50 29 2f  $(TEXE): $(TOP)/
9770: 65 78 74 2f 65 78 70 65 72 74 2f 73 71 6c 69 74  ext/expert/sqlit
9780: 65 33 65 78 70 65 72 74 2e 68 20 24 28 54 4f 50  e3expert.h $(TOP
9790: 29 2f 65 78 74 2f 65 78 70 65 72 74 2f 73 71 6c  )/ext/expert/sql
97a0: 69 74 65 33 65 78 70 65 72 74 2e 63 20 24 28 54  ite3expert.c $(T
97b0: 4f 50 29 2f 65 78 74 2f 65 78 70 65 72 74 2f 65  OP)/ext/expert/e
97c0: 78 70 65 72 74 2e 63 20 73 71 6c 69 74 65 33 2e  xpert.c sqlite3.
97d0: 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 09 24 28 54  c..$(LTLINK).$(T
97e0: 4f 50 29 2f 65 78 74 2f 65 78 70 65 72 74 2f 73  OP)/ext/expert/s
97f0: 71 6c 69 74 65 33 65 78 70 65 72 74 2e 68 20 24  qlite3expert.h $
9800: 28 54 4f 50 29 2f 65 78 74 2f 65 78 70 65 72 74  (TOP)/ext/expert
9810: 2f 73 71 6c 69 74 65 33 65 78 70 65 72 74 2e 63  /sqlite3expert.c
9820: 20 24 28 54 4f 50 29 2f 65 78 74 2f 65 78 70 65   $(TOP)/ext/expe
9830: 72 74 2f 65 78 70 65 72 74 2e 63 20 73 71 6c 69  rt/expert.c sqli
9840: 74 65 33 2e 63 20 2d 6f 20 73 71 6c 69 74 65 33  te3.c -o sqlite3
9850: 5f 65 78 70 65 72 74 20 24 28 54 4c 49 42 53 29  _expert $(TLIBS)
9860: 0a 0a 43 48 45 43 4b 45 52 5f 44 45 50 53 20 3d  ..CHECKER_DEPS =
9870: 5c 0a 20 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f  \.  $(TOP)/tool/
9880: 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 5c 0a 20 20  mkccode.tcl \.  
9890: 73 71 6c 69 74 65 33 2e 63 20 5c 0a 20 20 24 28  sqlite3.c \.  $(
98a0: 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69  TOP)/src/tclsqli
98b0: 74 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  te.c \.  $(TOP)/
98c0: 65 78 74 2f 72 65 70 61 69 72 2f 73 71 6c 69 74  ext/repair/sqlit
98d0: 65 33 5f 63 68 65 63 6b 65 72 2e 74 63 6c 20 5c  e3_checker.tcl \
98e0: 0a 20 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 65  .  $(TOP)/ext/re
98f0: 70 61 69 72 2f 63 68 65 63 6b 69 6e 64 65 78 2e  pair/checkindex.
9900: 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 65 78 74  c \.  $(TOP)/ext
9910: 2f 72 65 70 61 69 72 2f 63 68 65 63 6b 66 72 65  /repair/checkfre
9920: 65 6c 69 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f  elist.c \.  $(TO
9930: 50 29 2f 65 78 74 2f 6d 69 73 63 2f 62 74 72 65  P)/ext/misc/btre
9940: 65 69 6e 66 6f 2e 63 20 5c 0a 20 20 24 28 54 4f  einfo.c \.  $(TO
9950: 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 73 71  P)/ext/repair/sq
9960: 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 2e  lite3_checker.c.
9970: 69 6e 0a 0a 73 71 6c 69 74 65 33 5f 63 68 65 63  in..sqlite3_chec
9980: 6b 65 72 2e 63 3a 09 24 28 43 48 45 43 4b 45 52  ker.c:.$(CHECKER
9990: 5f 44 45 50 53 29 0a 09 24 28 54 43 4c 53 48 5f  _DEPS)..$(TCLSH_
99a0: 43 4d 44 29 20 24 28 54 4f 50 29 2f 74 6f 6f 6c  CMD) $(TOP)/tool
99b0: 2f 6d 6b 63 63 6f 64 65 2e 74 63 6c 20 24 28 54  /mkccode.tcl $(T
99c0: 4f 50 29 2f 65 78 74 2f 72 65 70 61 69 72 2f 73  OP)/ext/repair/s
99d0: 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63  qlite3_checker.c
99e0: 2e 69 6e 20 3e 24 40 0a 0a 73 71 6c 69 74 65 33  .in >$@..sqlite3
99f0: 5f 63 68 65 63 6b 65 72 24 28 54 45 58 45 29 3a  _checker$(TEXE):
9a00: 09 73 71 6c 69 74 65 33 5f 63 68 65 63 6b 65 72  .sqlite3_checker
9a10: 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 73 71  .c..$(LTLINK) sq
9a20: 6c 69 74 65 33 5f 63 68 65 63 6b 65 72 2e 63 20  lite3_checker.c 
9a30: 2d 6f 20 24 40 20 24 28 4c 49 42 54 43 4c 29 20  -o $@ $(LIBTCL) 
9a40: 24 28 54 4c 49 42 53 29 0a 0a 64 62 64 75 6d 70  $(TLIBS)..dbdump
9a50: 24 28 54 45 58 45 29 3a 20 24 28 54 4f 50 29 2f  $(TEXE): $(TOP)/
9a60: 65 78 74 2f 6d 69 73 63 2f 64 62 64 75 6d 70 2e  ext/misc/dbdump.
9a70: 63 20 73 71 6c 69 74 65 33 2e 6c 6f 0a 09 24 28  c sqlite3.lo..$(
9a80: 4c 54 4c 49 4e 4b 29 20 2d 44 44 42 44 55 4d 50  LTLINK) -DDBDUMP
9a90: 5f 53 54 41 4e 44 41 4c 4f 4e 45 20 2d 6f 20 24  _STANDALONE -o $
9aa0: 40 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 24  @ \.           $
9ab0: 28 54 4f 50 29 2f 65 78 74 2f 6d 69 73 63 2f 64  (TOP)/ext/misc/d
9ac0: 62 64 75 6d 70 2e 63 20 73 71 6c 69 74 65 33 2e  bdump.c sqlite3.
9ad0: 6c 6f 20 24 28 54 4c 49 42 53 29 0a 0a 73 68 6f  lo $(TLIBS)..sho
9ae0: 77 64 62 24 28 54 45 58 45 29 3a 09 24 28 54 4f  wdb$(TEXE):.$(TO
9af0: 50 29 2f 74 6f 6f 6c 2f 73 68 6f 77 64 62 2e 63  P)/tool/showdb.c
9b00: 20 73 71 6c 69 74 65 33 2e 6c 6f 0a 09 24 28 4c   sqlite3.lo..$(L
9b10: 54 4c 49 4e 4b 29 20 2d 6f 20 24 40 20 24 28 54  TLINK) -o $@ $(T
9b20: 4f 50 29 2f 74 6f 6f 6c 2f 73 68 6f 77 64 62 2e  OP)/tool/showdb.
9b30: 63 20 73 71 6c 69 74 65 33 2e 6c 6f 20 24 28 54  c sqlite3.lo $(T
9b40: 4c 49 42 53 29 0a 0a 73 68 6f 77 73 74 61 74 34  LIBS)..showstat4
9b50: 24 28 54 45 58 45 29 3a 09 24 28 54 4f 50 29 2f  $(TEXE):.$(TOP)/
9b60: 74 6f 6f 6c 2f 73 68 6f 77 73 74 61 74 34 2e 63  tool/showstat4.c
9b70: 20 73 71 6c 69 74 65 33 2e 6c 6f 0a 09 24 28 4c   sqlite3.lo..$(L
9b80: 54 4c 49 4e 4b 29 20 2d 6f 20 24 40 20 24 28 54  TLINK) -o $@ $(T
9b90: 4f 50 29 2f 74 6f 6f 6c 2f 73 68 6f 77 73 74 61  OP)/tool/showsta
9ba0: 74 34 2e 63 20 73 71 6c 69 74 65 33 2e 6c 6f 20  t4.c sqlite3.lo 
9bb0: 24 28 54 4c 49 42 53 29 0a 0a 73 68 6f 77 6a 6f  $(TLIBS)..showjo
9bc0: 75 72 6e 61 6c 24 28 54 45 58 45 29 3a 09 24 28  urnal$(TEXE):.$(
9bd0: 54 4f 50 29 2f 74 6f 6f 6c 2f 73 68 6f 77 6a 6f  TOP)/tool/showjo
9be0: 75 72 6e 61 6c 2e 63 20 73 71 6c 69 74 65 33 2e  urnal.c sqlite3.
9bf0: 6c 6f 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 6f  lo..$(LTLINK) -o
9c00: 20 24 40 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f   $@ $(TOP)/tool/
9c10: 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 73 71  showjournal.c sq
9c20: 6c 69 74 65 33 2e 6c 6f 20 24 28 54 4c 49 42 53  lite3.lo $(TLIBS
9c30: 29 0a 0a 73 68 6f 77 77 61 6c 24 28 54 45 58 45  )..showwal$(TEXE
9c40: 29 3a 09 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 73  ):.$(TOP)/tool/s
9c50: 68 6f 77 77 61 6c 2e 63 20 73 71 6c 69 74 65 33  howwal.c sqlite3
9c60: 2e 6c 6f 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d  .lo..$(LTLINK) -
9c70: 6f 20 24 40 20 24 28 54 4f 50 29 2f 74 6f 6f 6c  o $@ $(TOP)/tool
9c80: 2f 73 68 6f 77 77 61 6c 2e 63 20 73 71 6c 69 74  /showwal.c sqlit
9c90: 65 33 2e 6c 6f 20 24 28 54 4c 49 42 53 29 0a 0a  e3.lo $(TLIBS)..
9ca0: 73 68 6f 77 73 68 6d 24 28 54 45 58 45 29 3a 09  showshm$(TEXE):.
9cb0: 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 73 68 6f 77  $(TOP)/tool/show
9cc0: 73 68 6d 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29  shm.c..$(LTLINK)
9cd0: 20 2d 6f 20 24 40 20 24 28 54 4f 50 29 2f 74 6f   -o $@ $(TOP)/to
9ce0: 6f 6c 2f 73 68 6f 77 73 68 6d 2e 63 0a 0a 63 68  ol/showshm.c..ch
9cf0: 61 6e 67 65 73 65 74 24 28 54 45 58 45 29 3a 09  angeset$(TEXE):.
9d00: 24 28 54 4f 50 29 2f 65 78 74 2f 73 65 73 73 69  $(TOP)/ext/sessi
9d10: 6f 6e 2f 63 68 61 6e 67 65 73 65 74 2e 63 20 73  on/changeset.c s
9d20: 71 6c 69 74 65 33 2e 6c 6f 0a 09 24 28 4c 54 4c  qlite3.lo..$(LTL
9d30: 49 4e 4b 29 20 2d 6f 20 24 40 20 24 28 54 4f 50  INK) -o $@ $(TOP
9d40: 29 2f 65 78 74 2f 73 65 73 73 69 6f 6e 2f 63 68  )/ext/session/ch
9d50: 61 6e 67 65 73 65 74 2e 63 20 73 71 6c 69 74 65  angeset.c sqlite
9d60: 33 2e 6c 6f 20 24 28 54 4c 49 42 53 29 0a 0a 72  3.lo $(TLIBS)..r
9d70: 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 24 28 54 45  ollback-test$(TE
9d80: 58 45 29 3a 09 24 28 54 4f 50 29 2f 74 6f 6f 6c  XE):.$(TOP)/tool
9d90: 2f 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63  /rollback-test.c
9da0: 20 73 71 6c 69 74 65 33 2e 6c 6f 0a 09 24 28 4c   sqlite3.lo..$(L
9db0: 54 4c 49 4e 4b 29 20 2d 6f 20 24 40 20 24 28 54  TLINK) -o $@ $(T
9dc0: 4f 50 29 2f 74 6f 6f 6c 2f 72 6f 6c 6c 62 61 63  OP)/tool/rollbac
9dd0: 6b 2d 74 65 73 74 2e 63 20 73 71 6c 69 74 65 33  k-test.c sqlite3
9de0: 2e 6c 6f 20 24 28 54 4c 49 42 53 29 0a 0a 61 74  .lo $(TLIBS)..at
9df0: 72 63 24 28 54 45 58 58 29 3a 20 24 28 54 4f 50  rc$(TEXX): $(TOP
9e00: 29 2f 74 65 73 74 2f 61 74 72 63 2e 63 20 73 71  )/test/atrc.c sq
9e10: 6c 69 74 65 33 2e 6c 6f 0a 09 24 28 4c 54 4c 49  lite3.lo..$(LTLI
9e20: 4e 4b 29 20 2d 6f 20 24 40 20 24 28 54 4f 50 29  NK) -o $@ $(TOP)
9e30: 2f 74 65 73 74 2f 61 74 72 63 2e 63 20 73 71 6c  /test/atrc.c sql
9e40: 69 74 65 33 2e 6c 6f 20 24 28 54 4c 49 42 53 29  ite3.lo $(TLIBS)
9e50: 0a 0a 4c 6f 67 45 73 74 24 28 54 45 58 45 29 3a  ..LogEst$(TEXE):
9e60: 09 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6c 6f 67  .$(TOP)/tool/log
9e70: 65 73 74 2e 63 20 73 71 6c 69 74 65 33 2e 68 0a  est.c sqlite3.h.
9e80: 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 49 2e 20 2d  .$(LTLINK) -I. -
9e90: 6f 20 24 40 20 24 28 54 4f 50 29 2f 74 6f 6f 6c  o $@ $(TOP)/tool
9ea0: 2f 6c 6f 67 65 73 74 2e 63 0a 0a 77 6f 72 64 63  /logest.c..wordc
9eb0: 6f 75 6e 74 24 28 54 45 58 45 29 3a 09 24 28 54  ount$(TEXE):.$(T
9ec0: 4f 50 29 2f 74 65 73 74 2f 77 6f 72 64 63 6f 75  OP)/test/wordcou
9ed0: 6e 74 2e 63 20 73 71 6c 69 74 65 33 2e 6c 6f 0a  nt.c sqlite3.lo.
9ee0: 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 6f 20 24 40  .$(LTLINK) -o $@
9ef0: 20 24 28 54 4f 50 29 2f 74 65 73 74 2f 77 6f 72   $(TOP)/test/wor
9f00: 64 63 6f 75 6e 74 2e 63 20 73 71 6c 69 74 65 33  dcount.c sqlite3
9f10: 2e 6c 6f 20 24 28 54 4c 49 42 53 29 0a 0a 73 70  .lo $(TLIBS)..sp
9f20: 65 65 64 74 65 73 74 31 24 28 54 45 58 45 29 3a  eedtest1$(TEXE):
9f30: 09 24 28 54 4f 50 29 2f 74 65 73 74 2f 73 70 65  .$(TOP)/test/spe
9f40: 65 64 74 65 73 74 31 2e 63 20 73 71 6c 69 74 65  edtest1.c sqlite
9f50: 33 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24  3.c..$(LTLINK) $
9f60: 28 53 54 5f 4f 50 54 29 20 2d 6f 20 24 40 20 24  (ST_OPT) -o $@ $
9f70: 28 54 4f 50 29 2f 74 65 73 74 2f 73 70 65 65 64  (TOP)/test/speed
9f80: 74 65 73 74 31 2e 63 20 73 71 6c 69 74 65 33 2e  test1.c sqlite3.
9f90: 63 20 24 28 54 4c 49 42 53 29 0a 0a 4b 56 5f 4f  c $(TLIBS)..KV_O
9fa0: 50 54 20 2b 3d 20 2d 44 53 51 4c 49 54 45 5f 44  PT += -DSQLITE_D
9fb0: 49 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f 52  IRECT_OVERFLOW_R
9fc0: 45 41 44 0a 0a 6b 76 74 65 73 74 24 28 54 45 58  EAD..kvtest$(TEX
9fd0: 45 29 3a 09 24 28 54 4f 50 29 2f 74 65 73 74 2f  E):.$(TOP)/test/
9fe0: 6b 76 74 65 73 74 2e 63 20 73 71 6c 69 74 65 33  kvtest.c sqlite3
9ff0: 2e 63 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28  .c..$(LTLINK) $(
a000: 4b 56 5f 4f 50 54 29 20 2d 6f 20 24 40 20 24 28  KV_OPT) -o $@ $(
a010: 54 4f 50 29 2f 74 65 73 74 2f 6b 76 74 65 73 74  TOP)/test/kvtest
a020: 2e 63 20 73 71 6c 69 74 65 33 2e 63 20 24 28 54  .c sqlite3.c $(T
a030: 4c 49 42 53 29 0a 0a 72 62 75 24 28 45 58 45 29  LIBS)..rbu$(EXE)
a040: 3a 20 24 28 54 4f 50 29 2f 65 78 74 2f 72 62 75  : $(TOP)/ext/rbu
a050: 2f 72 62 75 2e 63 20 24 28 54 4f 50 29 2f 65 78  /rbu.c $(TOP)/ex
a060: 74 2f 72 62 75 2f 73 71 6c 69 74 65 33 72 62 75  t/rbu/sqlite3rbu
a070: 2e 63 20 73 71 6c 69 74 65 33 2e 6c 6f 20 0a 09  .c sqlite3.lo ..
a080: 24 28 4c 54 4c 49 4e 4b 29 20 2d 49 2e 20 2d 6f  $(LTLINK) -I. -o
a090: 20 24 40 20 24 28 54 4f 50 29 2f 65 78 74 2f 72   $@ $(TOP)/ext/r
a0a0: 62 75 2f 72 62 75 2e 63 20 73 71 6c 69 74 65 33  bu/rbu.c sqlite3
a0b0: 2e 6c 6f 20 24 28 54 4c 49 42 53 29 0a 0a 6c 6f  .lo $(TLIBS)..lo
a0c0: 61 64 66 74 73 24 28 45 58 45 29 3a 20 24 28 54  adfts$(EXE): $(T
a0d0: 4f 50 29 2f 74 6f 6f 6c 2f 6c 6f 61 64 66 74 73  OP)/tool/loadfts
a0e0: 2e 63 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 61  .c libsqlite3.la
a0f0: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 54 4f  ..$(LTLINK) $(TO
a100: 50 29 2f 74 6f 6f 6c 2f 6c 6f 61 64 66 74 73 2e  P)/tool/loadfts.
a110: 63 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 61 20  c libsqlite3.la 
a120: 2d 6f 20 24 40 20 24 28 54 4c 49 42 53 29 0a 0a  -o $@ $(TLIBS)..
a130: 23 20 54 68 69 73 20 74 61 72 67 65 74 20 77 69  # This target wi
a140: 6c 6c 20 66 61 69 6c 20 69 66 20 74 68 65 20 53  ll fail if the S
a150: 51 4c 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69  QLite amalgamati
a160: 6f 6e 20 63 6f 6e 74 61 69 6e 73 20 61 6e 79 20  on contains any 
a170: 65 78 70 6f 72 74 65 64 0a 23 20 73 79 6d 62 6f  exported.# symbo
a180: 6c 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 62  ls that do not b
a190: 65 67 69 6e 20 77 69 74 68 20 22 73 71 6c 69 74  egin with "sqlit
a1a0: 65 33 5f 22 2e 20 49 74 20 69 73 20 72 75 6e 20  e3_". It is run 
a1b0: 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 0a 23  as part of the.#
a1c0: 20 72 65 6c 65 61 73 65 74 65 73 74 2e 74 63 6c   releasetest.tcl
a1d0: 20 73 63 72 69 70 74 2e 0a 23 0a 56 41 4c 49 44   script..#.VALID
a1e0: 49 44 53 3d 27 20 73 71 6c 69 74 65 33 28 63 68  IDS=' sqlite3(ch
a1f0: 61 6e 67 65 73 65 74 7c 63 68 61 6e 67 65 67 72  angeset|changegr
a200: 6f 75 70 7c 73 65 73 73 69 6f 6e 29 3f 5f 27 0a  oup|session)?_'.
a210: 63 68 65 63 6b 73 79 6d 62 6f 6c 73 3a 20 73 71  checksymbols: sq
a220: 6c 69 74 65 33 2e 6c 6f 0a 09 6e 6d 20 2d 67 20  lite3.lo..nm -g 
a230: 2d 2d 64 65 66 69 6e 65 64 2d 6f 6e 6c 79 20 73  --defined-only s
a240: 71 6c 69 74 65 33 2e 6c 6f 20 7c 20 65 67 72 65  qlite3.lo | egre
a250: 70 20 2d 76 20 24 28 56 41 4c 49 44 49 44 53 29  p -v $(VALIDIDS)
a260: 3b 20 74 65 73 74 20 24 24 3f 20 2d 6e 65 20 30  ; test $$? -ne 0
a270: 0a 09 65 63 68 6f 20 27 30 20 65 72 72 6f 72 73  ..echo '0 errors
a280: 20 6f 75 74 20 6f 66 20 31 20 74 65 73 74 73 27   out of 1 tests'
a290: 0a 0a 23 20 42 75 69 6c 64 20 74 68 65 20 61 6d  ..# Build the am
a2a0: 61 6c 67 61 6d 61 74 69 6f 6e 2d 61 75 74 6f 63  algamation-autoc
a2b0: 6f 6e 66 20 70 61 63 6b 61 67 65 2e 20 20 54 68  onf package.  Th
a2c0: 65 20 61 6d 61 6c 61 6d 67 61 74 69 6f 6e 2d 74  e amalamgation-t
a2d0: 61 72 62 61 6c 6c 20 74 61 72 67 65 74 20 62 75  arball target bu
a2e0: 69 6c 64 73 0a 23 20 61 20 74 61 72 62 61 6c 6c  ilds.# a tarball
a2f0: 20 6e 61 6d 65 64 20 66 6f 72 20 74 68 65 20 76   named for the v
a300: 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20  ersion number.  
a310: 45 78 3a 20 20 73 71 6c 69 74 65 2d 61 75 74 6f  Ex:  sqlite-auto
a320: 63 6f 6e 66 2d 33 31 31 30 30 30 30 2e 74 61 72  conf-3110000.tar
a330: 2e 67 7a 2e 0a 23 20 54 68 65 20 73 6e 61 70 73  .gz..# The snaps
a340: 68 6f 74 2d 74 61 72 62 61 6c 6c 20 74 61 72 67  hot-tarball targ
a350: 65 74 20 62 75 69 6c 64 73 20 61 20 74 61 72 62  et builds a tarb
a360: 61 6c 6c 20 6e 61 6d 65 64 20 62 79 20 74 68 65  all named by the
a370: 20 53 48 41 31 20 68 61 73 68 0a 23 0a 61 6d 61   SHA1 hash.#.ama
a380: 6c 67 61 6d 61 74 69 6f 6e 2d 74 61 72 62 61 6c  lgamation-tarbal
a390: 6c 3a 20 73 71 6c 69 74 65 33 2e 63 0a 09 54 4f  l: sqlite3.c..TO
a3a0: 50 3d 24 28 54 4f 50 29 20 73 68 20 24 28 54 4f  P=$(TOP) sh $(TO
a3b0: 50 29 2f 74 6f 6f 6c 2f 6d 6b 61 75 74 6f 63 6f  P)/tool/mkautoco
a3c0: 6e 66 61 6d 61 6c 2e 73 68 20 2d 2d 6e 6f 72 6d  nfamal.sh --norm
a3d0: 61 6c 0a 0a 73 6e 61 70 73 68 6f 74 2d 74 61 72  al..snapshot-tar
a3e0: 62 61 6c 6c 3a 20 73 71 6c 69 74 65 33 2e 63 0a  ball: sqlite3.c.
a3f0: 09 54 4f 50 3d 24 28 54 4f 50 29 20 73 68 20 24  .TOP=$(TOP) sh $
a400: 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6d 6b 61 75 74  (TOP)/tool/mkaut
a410: 6f 63 6f 6e 66 61 6d 61 6c 2e 73 68 20 2d 2d 73  oconfamal.sh --s
a420: 6e 61 70 73 68 6f 74 0a 0a 23 20 54 68 65 20 6e  napshot..# The n
a430: 65 78 74 20 74 77 6f 20 72 75 6c 65 73 20 61 72  ext two rules ar
a440: 65 20 75 73 65 64 20 74 6f 20 73 75 70 70 6f 72  e used to suppor
a450: 74 20 74 68 65 20 22 74 68 72 65 61 64 74 65 73  t the "threadtes
a460: 74 22 20 74 61 72 67 65 74 2e 20 42 75 69 6c 64  t" target. Build
a470: 69 6e 67 0a 23 20 74 68 72 65 61 64 74 65 73 74  ing.# threadtest
a480: 20 72 75 6e 73 20 61 20 66 65 77 20 74 68 72 65   runs a few thre
a490: 61 64 2d 73 61 66 65 74 79 20 74 65 73 74 73 20  ad-safety tests 
a4a0: 74 68 61 74 20 61 72 65 20 69 6d 70 6c 65 6d 65  that are impleme
a4b0: 6e 74 65 64 20 69 6e 20 43 2e 20 54 68 69 73 0a  nted in C. This.
a4c0: 23 20 74 61 72 67 65 74 20 69 73 20 69 6e 76 6f  # target is invo
a4d0: 6b 65 64 20 62 79 20 74 68 65 20 72 65 6c 65 61  ked by the relea
a4e0: 73 65 74 65 73 74 2e 74 63 6c 20 73 63 72 69 70  setest.tcl scrip
a4f0: 74 2e 0a 23 20 0a 54 48 52 45 41 44 54 45 53 54  t..# .THREADTEST
a500: 33 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 2f 74  3_SRC = $(TOP)/t
a510: 65 73 74 2f 74 68 72 65 61 64 74 65 73 74 33 2e  est/threadtest3.
a520: 63 20 20 20 20 5c 0a 20 20 20 20 20 20 20 20 20  c    \.         
a530: 20 20 20 20 20 20 20 20 20 24 28 54 4f 50 29 2f           $(TOP)/
a540: 74 65 73 74 2f 74 74 33 5f 63 68 65 63 6b 70 6f  test/tt3_checkpo
a550: 69 6e 74 2e 63 20 5c 0a 20 20 20 20 20 20 20 20  int.c \.        
a560: 20 20 20 20 20 20 20 20 20 20 24 28 54 4f 50 29            $(TOP)
a570: 2f 74 65 73 74 2f 74 74 33 5f 69 6e 64 65 78 2e  /test/tt3_index.
a580: 63 20 20 20 20 20 20 5c 0a 20 20 20 20 20 20 20  c      \.       
a590: 20 20 20 20 20 20 20 20 20 20 20 24 28 54 4f 50             $(TOP
a5a0: 29 2f 74 65 73 74 2f 74 74 33 5f 76 61 63 75 75  )/test/tt3_vacuu
a5b0: 6d 2e 63 20 20 20 20 20 20 5c 0a 20 20 20 20 20  m.c      \.     
a5c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 24 28 54               $(T
a5d0: 4f 50 29 2f 74 65 73 74 2f 74 74 33 5f 73 74 72  OP)/test/tt3_str
a5e0: 65 73 73 2e 63 20 20 20 20 20 20 5c 0a 20 20 20  ess.c      \.   
a5f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24                 $
a600: 28 54 4f 50 29 2f 74 65 73 74 2f 74 74 33 5f 6c  (TOP)/test/tt3_l
a610: 6f 6f 6b 61 73 69 64 65 31 2e 63 0a 0a 74 68 72  ookaside1.c..thr
a620: 65 61 64 74 65 73 74 33 24 28 54 45 58 45 29 3a  eadtest3$(TEXE):
a630: 20 73 71 6c 69 74 65 33 2e 6c 6f 20 24 28 54 48   sqlite3.lo $(TH
a640: 52 45 41 44 54 45 53 54 33 5f 53 52 43 29 0a 09  READTEST3_SRC)..
a650: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 54 4f 50 29  $(LTLINK) $(TOP)
a660: 2f 74 65 73 74 2f 74 68 72 65 61 64 74 65 73 74  /test/threadtest
a670: 33 2e 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 74  3.c $(TOP)/src/t
a680: 65 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20  est_multiplex.c 
a690: 73 71 6c 69 74 65 33 2e 6c 6f 20 2d 6f 20 24 40  sqlite3.lo -o $@
a6a0: 20 24 28 54 4c 49 42 53 29 0a 0a 74 68 72 65 61   $(TLIBS)..threa
a6b0: 64 74 65 73 74 3a 20 74 68 72 65 61 64 74 65 73  dtest: threadtes
a6c0: 74 33 24 28 54 45 58 45 29 0a 09 2e 2f 74 68 72  t3$(TEXE).../thr
a6d0: 65 61 64 74 65 73 74 33 24 28 54 45 58 45 29 0a  eadtest3$(TEXE).
a6e0: 0a 72 65 6c 65 61 73 65 74 65 73 74 3a 09 0a 09  .releasetest:...
a6f0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54  $(TCLSH_CMD) $(T
a700: 4f 50 29 2f 74 65 73 74 2f 72 65 6c 65 61 73 65  OP)/test/release
a710: 74 65 73 74 2e 74 63 6c 0a 0a 23 20 53 74 61 6e  test.tcl..# Stan
a720: 64 61 72 64 20 69 6e 73 74 61 6c 6c 20 61 6e 64  dard install and
a730: 20 63 6c 65 61 6e 75 70 20 74 61 72 67 65 74 73   cleanup targets
a740: 0a 23 0a 6c 69 62 5f 69 6e 73 74 61 6c 6c 3a 09  .#.lib_install:.
a750: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 61 0a 09 24  libsqlite3.la..$
a760: 28 49 4e 53 54 41 4c 4c 29 20 2d 64 20 24 28 44  (INSTALL) -d $(D
a770: 45 53 54 44 49 52 29 24 28 6c 69 62 64 69 72 29  ESTDIR)$(libdir)
a780: 0a 09 24 28 4c 54 49 4e 53 54 41 4c 4c 29 20 6c  ..$(LTINSTALL) l
a790: 69 62 73 71 6c 69 74 65 33 2e 6c 61 20 24 28 44  ibsqlite3.la $(D
a7a0: 45 53 54 44 49 52 29 24 28 6c 69 62 64 69 72 29  ESTDIR)$(libdir)
a7b0: 0a 09 0a 69 6e 73 74 61 6c 6c 3a 09 73 71 6c 69  ...install:.sqli
a7c0: 74 65 33 24 28 54 45 58 45 29 20 6c 69 62 5f 69  te3$(TEXE) lib_i
a7d0: 6e 73 74 61 6c 6c 20 73 71 6c 69 74 65 33 2e 68  nstall sqlite3.h
a7e0: 20 73 71 6c 69 74 65 33 2e 70 63 20 24 7b 48 41   sqlite3.pc ${HA
a7f0: 56 45 5f 54 43 4c 3a 31 3d 74 63 6c 5f 69 6e 73  VE_TCL:1=tcl_ins
a800: 74 61 6c 6c 7d 0a 09 24 28 49 4e 53 54 41 4c 4c  tall}..$(INSTALL
a810: 29 20 2d 64 20 24 28 44 45 53 54 44 49 52 29 24  ) -d $(DESTDIR)$
a820: 28 62 69 6e 64 69 72 29 0a 09 24 28 4c 54 49 4e  (bindir)..$(LTIN
a830: 53 54 41 4c 4c 29 20 73 71 6c 69 74 65 33 24 28  STALL) sqlite3$(
a840: 54 45 58 45 29 20 24 28 44 45 53 54 44 49 52 29  TEXE) $(DESTDIR)
a850: 24 28 62 69 6e 64 69 72 29 0a 09 24 28 49 4e 53  $(bindir)..$(INS
a860: 54 41 4c 4c 29 20 2d 64 20 24 28 44 45 53 54 44  TALL) -d $(DESTD
a870: 49 52 29 24 28 69 6e 63 6c 75 64 65 64 69 72 29  IR)$(includedir)
a880: 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 2d 6d 20  ..$(INSTALL) -m 
a890: 30 36 34 34 20 73 71 6c 69 74 65 33 2e 68 20 24  0644 sqlite3.h $
a8a0: 28 44 45 53 54 44 49 52 29 24 28 69 6e 63 6c 75  (DESTDIR)$(inclu
a8b0: 64 65 64 69 72 29 0a 09 24 28 49 4e 53 54 41 4c  dedir)..$(INSTAL
a8c0: 4c 29 20 2d 6d 20 30 36 34 34 20 24 28 54 4f 50  L) -m 0644 $(TOP
a8d0: 29 2f 73 72 63 2f 73 71 6c 69 74 65 33 65 78 74  )/src/sqlite3ext
a8e0: 2e 68 20 24 28 44 45 53 54 44 49 52 29 24 28 69  .h $(DESTDIR)$(i
a8f0: 6e 63 6c 75 64 65 64 69 72 29 0a 09 24 28 49 4e  ncludedir)..$(IN
a900: 53 54 41 4c 4c 29 20 2d 64 20 24 28 44 45 53 54  STALL) -d $(DEST
a910: 44 49 52 29 24 28 70 6b 67 63 6f 6e 66 69 67 64  DIR)$(pkgconfigd
a920: 69 72 29 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20  ir)..$(INSTALL) 
a930: 2d 6d 20 30 36 34 34 20 73 71 6c 69 74 65 33 2e  -m 0644 sqlite3.
a940: 70 63 20 24 28 44 45 53 54 44 49 52 29 24 28 70  pc $(DESTDIR)$(p
a950: 6b 67 63 6f 6e 66 69 67 64 69 72 29 0a 0a 70 6b  kgconfigdir)..pk
a960: 67 49 6e 64 65 78 2e 74 63 6c 3a 0a 09 65 63 68  gIndex.tcl:..ech
a970: 6f 20 27 70 61 63 6b 61 67 65 20 69 66 6e 65 65  o 'package ifnee
a980: 64 65 64 20 73 71 6c 69 74 65 33 20 24 28 52 45  ded sqlite3 $(RE
a990: 4c 45 41 53 45 29 20 5b 6c 69 73 74 20 6c 6f 61  LEASE) [list loa
a9a0: 64 20 24 28 54 43 4c 4c 49 42 44 49 52 29 2f 6c  d $(TCLLIBDIR)/l
a9b0: 69 62 74 63 6c 73 71 6c 69 74 65 33 24 28 53 48  ibtclsqlite3$(SH
a9c0: 4c 49 42 5f 53 55 46 46 49 58 29 20 73 71 6c 69  LIB_SUFFIX) sqli
a9d0: 74 65 33 5d 27 20 3e 20 24 40 0a 74 63 6c 5f 69  te3]' > $@.tcl_i
a9e0: 6e 73 74 61 6c 6c 3a 09 6c 69 62 5f 69 6e 73 74  nstall:.lib_inst
a9f0: 61 6c 6c 20 6c 69 62 74 63 6c 73 71 6c 69 74 65  all libtclsqlite
aa00: 33 2e 6c 61 20 70 6b 67 49 6e 64 65 78 2e 74 63  3.la pkgIndex.tc
aa10: 6c 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 2d 64  l..$(INSTALL) -d
aa20: 20 24 28 44 45 53 54 44 49 52 29 24 28 54 43 4c   $(DESTDIR)$(TCL
aa30: 4c 49 42 44 49 52 29 2f 73 71 6c 69 74 65 33 0a  LIBDIR)/sqlite3.
aa40: 09 24 28 4c 54 49 4e 53 54 41 4c 4c 29 20 6c 69  .$(LTINSTALL) li
aa50: 62 74 63 6c 73 71 6c 69 74 65 33 2e 6c 61 20 24  btclsqlite3.la $
aa60: 28 44 45 53 54 44 49 52 29 24 28 54 43 4c 4c 49  (DESTDIR)$(TCLLI
aa70: 42 44 49 52 29 2f 73 71 6c 69 74 65 33 0a 09 72  BDIR)/sqlite3..r
aa80: 6d 20 2d 66 20 24 28 44 45 53 54 44 49 52 29 24  m -f $(DESTDIR)$
aa90: 28 54 43 4c 4c 49 42 44 49 52 29 2f 73 71 6c 69  (TCLLIBDIR)/sqli
aaa0: 74 65 33 2f 6c 69 62 74 63 6c 73 71 6c 69 74 65  te3/libtclsqlite
aab0: 33 2e 6c 61 20 24 28 44 45 53 54 44 49 52 29 24  3.la $(DESTDIR)$
aac0: 28 54 43 4c 4c 49 42 44 49 52 29 2f 73 71 6c 69  (TCLLIBDIR)/sqli
aad0: 74 65 33 2f 6c 69 62 74 63 6c 73 71 6c 69 74 65  te3/libtclsqlite
aae0: 33 2e 61 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20  3.a..$(INSTALL) 
aaf0: 2d 6d 20 30 36 34 34 20 70 6b 67 49 6e 64 65 78  -m 0644 pkgIndex
ab00: 2e 74 63 6c 20 24 28 44 45 53 54 44 49 52 29 24  .tcl $(DESTDIR)$
ab10: 28 54 43 4c 4c 49 42 44 49 52 29 2f 73 71 6c 69  (TCLLIBDIR)/sqli
ab20: 74 65 33 0a 0a 63 6c 65 61 6e 3a 09 0a 09 72 6d  te3..clean:...rm
ab30: 20 2d 66 20 2a 2e 6c 6f 20 2a 2e 6c 61 20 2a 2e   -f *.lo *.la *.
ab40: 6f 20 73 71 6c 69 74 65 33 24 28 54 45 58 45 29  o sqlite3$(TEXE)
ab50: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 61 0a 09   libsqlite3.la..
ab60: 72 6d 20 2d 66 20 73 71 6c 69 74 65 33 2e 68 20  rm -f sqlite3.h 
ab70: 6f 70 63 6f 64 65 73 2e 2a 0a 09 72 6d 20 2d 72  opcodes.*..rm -r
ab80: 66 20 2e 6c 69 62 73 20 2e 64 65 70 73 0a 09 72  f .libs .deps..r
ab90: 6d 20 2d 66 20 6c 65 6d 6f 6e 24 28 42 45 58 45  m -f lemon$(BEXE
aba0: 29 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73 65  ) lempar.c parse
abb0: 2e 2a 20 73 71 6c 69 74 65 2a 2e 74 61 72 2e 67  .* sqlite*.tar.g
abc0: 7a 0a 09 72 6d 20 2d 66 20 6d 6b 6b 65 79 77 6f  z..rm -f mkkeywo
abd0: 72 64 68 61 73 68 24 28 42 45 58 45 29 20 6b 65  rdhash$(BEXE) ke
abe0: 79 77 6f 72 64 68 61 73 68 2e 68 0a 09 72 6d 20  ywordhash.h..rm 
abf0: 2d 66 20 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62  -f *.da *.bb *.b
ac00: 62 67 20 67 6d 6f 6e 2e 6f 75 74 0a 09 72 6d 20  bg gmon.out..rm 
ac10: 2d 72 66 20 74 73 72 63 20 2e 74 61 72 67 65 74  -rf tsrc .target
ac20: 5f 73 6f 75 72 63 65 0a 09 72 6d 20 2d 66 20 74  _source..rm -f t
ac30: 63 6c 73 71 6c 69 74 65 33 24 28 54 45 58 45 29  clsqlite3$(TEXE)
ac40: 0a 09 72 6d 20 2d 66 20 74 65 73 74 66 69 78 74  ..rm -f testfixt
ac50: 75 72 65 24 28 54 45 58 45 29 20 74 65 73 74 2e  ure$(TEXE) test.
ac60: 64 62 0a 09 72 6d 20 2d 66 20 4c 6f 67 45 73 74  db..rm -f LogEst
ac70: 24 28 54 45 58 45 29 20 66 74 73 33 76 69 65 77  $(TEXE) fts3view
ac80: 24 28 54 45 58 45 29 20 72 6f 6c 6c 62 61 63 6b  $(TEXE) rollback
ac90: 2d 74 65 73 74 24 28 54 45 58 45 29 20 73 68 6f  -test$(TEXE) sho
aca0: 77 64 62 24 28 54 45 58 45 29 0a 09 72 6d 20 2d  wdb$(TEXE)..rm -
acb0: 66 20 73 68 6f 77 6a 6f 75 72 6e 61 6c 24 28 54  f showjournal$(T
acc0: 45 58 45 29 20 73 68 6f 77 73 74 61 74 34 24 28  EXE) showstat4$(
acd0: 54 45 58 45 29 20 73 68 6f 77 77 61 6c 24 28 54  TEXE) showwal$(T
ace0: 45 58 45 29 20 73 70 65 65 64 74 65 73 74 31 24  EXE) speedtest1$
acf0: 28 54 45 58 45 29 0a 09 72 6d 20 2d 66 20 77 6f  (TEXE)..rm -f wo
ad00: 72 64 63 6f 75 6e 74 24 28 54 45 58 45 29 20 63  rdcount$(TEXE) c
ad10: 68 61 6e 67 65 73 65 74 24 28 54 45 58 45 29 0a  hangeset$(TEXE).
ad20: 09 72 6d 20 2d 66 20 73 71 6c 69 74 65 33 2e 64  .rm -f sqlite3.d
ad30: 6c 6c 20 73 71 6c 69 74 65 33 2e 6c 69 62 20 73  ll sqlite3.lib s
ad40: 71 6c 69 74 65 33 2e 65 78 70 20 73 71 6c 69 74  qlite3.exp sqlit
ad50: 65 33 2e 64 65 66 0a 09 72 6d 20 2d 66 20 73 71  e3.def..rm -f sq
ad60: 6c 69 74 65 33 2e 63 0a 09 72 6d 20 2d 66 20 73  lite3.c..rm -f s
ad70: 71 6c 69 74 65 33 72 63 2e 68 0a 09 72 6d 20 2d  qlite3rc.h..rm -
ad80: 66 20 73 68 65 6c 6c 2e 63 20 73 71 6c 69 74 65  f shell.c sqlite
ad90: 33 65 78 74 2e 68 0a 09 72 6d 20 2d 66 20 73 71  3ext.h..rm -f sq
ada0: 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 24 28  lite3_analyzer$(
adb0: 54 45 58 45 29 20 73 71 6c 69 74 65 33 5f 61 6e  TEXE) sqlite3_an
adc0: 61 6c 79 7a 65 72 2e 63 0a 09 72 6d 20 2d 66 20  alyzer.c..rm -f 
add0: 73 71 6c 69 74 65 2d 2a 2d 6f 75 74 70 75 74 2e  sqlite-*-output.
ade0: 76 73 69 78 0a 09 72 6d 20 2d 66 20 6d 70 74 65  vsix..rm -f mpte
adf0: 73 74 65 72 20 6d 70 74 65 73 74 65 72 2e 65 78  ster mptester.ex
ae00: 65 0a 09 72 6d 20 2d 66 20 72 62 75 20 72 62 75  e..rm -f rbu rbu
ae10: 2e 65 78 65 0a 09 72 6d 20 2d 66 20 73 72 63 63  .exe..rm -f srcc
ae20: 6b 31 20 73 72 63 63 6b 31 2e 65 78 65 0a 09 72  k1 srcck1.exe..r
ae30: 6d 20 2d 66 20 66 75 7a 7a 65 72 73 68 65 6c 6c  m -f fuzzershell
ae40: 20 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65   fuzzershell.exe
ae50: 0a 09 72 6d 20 2d 66 20 66 75 7a 7a 63 68 65 63  ..rm -f fuzzchec
ae60: 6b 20 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 0a  k fuzzcheck.exe.
ae70: 09 72 6d 20 2d 66 20 73 71 6c 64 69 66 66 20 73  .rm -f sqldiff s
ae80: 71 6c 64 69 66 66 2e 65 78 65 0a 09 72 6d 20 2d  qldiff.exe..rm -
ae90: 66 20 64 62 68 61 73 68 20 64 62 68 61 73 68 2e  f dbhash dbhash.
aea0: 65 78 65 0a 09 72 6d 20 2d 66 20 66 74 73 35 2e  exe..rm -f fts5.
aeb0: 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 0a 0a 64  * fts5parse.*..d
aec0: 69 73 74 63 6c 65 61 6e 3a 09 63 6c 65 61 6e 0a  istclean:.clean.
aed0: 09 72 6d 20 2d 66 20 63 6f 6e 66 69 67 2e 68 20  .rm -f config.h 
aee0: 63 6f 6e 66 69 67 2e 6c 6f 67 20 63 6f 6e 66 69  config.log confi
aef0: 67 2e 73 74 61 74 75 73 20 6c 69 62 74 6f 6f 6c  g.status libtool
af00: 20 4d 61 6b 65 66 69 6c 65 20 73 71 6c 69 74 65   Makefile sqlite
af10: 33 2e 70 63 0a 0a 23 0a 23 20 57 69 6e 64 6f 77  3.pc..#.# Window
af20: 73 20 73 65 63 74 69 6f 6e 0a 23 0a 64 6c 6c 3a  s section.#.dll:
af30: 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 0a 52 45   sqlite3.dll..RE
af40: 41 4c 5f 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49  AL_LIBOBJ = $(LI
af50: 42 4f 42 4a 3a 25 2e 6c 6f 3d 2e 6c 69 62 73 2f  BOBJ:%.lo=.libs/
af60: 25 2e 6f 29 0a 0a 24 28 52 45 41 4c 5f 4c 49 42  %.o)..$(REAL_LIB
af70: 4f 42 4a 29 3a 20 24 28 4c 49 42 4f 42 4a 29 0a  OBJ): $(LIBOBJ).
af80: 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a 20 24 28  .sqlite3.def: $(
af90: 52 45 41 4c 5f 4c 49 42 4f 42 4a 29 0a 09 65 63  REAL_LIBOBJ)..ec
afa0: 68 6f 20 27 45 58 50 4f 52 54 53 27 20 3e 73 71  ho 'EXPORTS' >sq
afb0: 6c 69 74 65 33 2e 64 65 66 0a 09 6e 6d 20 24 28  lite3.def..nm $(
afc0: 52 45 41 4c 5f 4c 49 42 4f 42 4a 29 20 7c 20 67  REAL_LIBOBJ) | g
afd0: 72 65 70 20 27 20 54 20 27 20 7c 20 67 72 65 70  rep ' T ' | grep
afe0: 20 27 20 5f 73 71 6c 69 74 65 33 5f 27 20 5c 0a   ' _sqlite3_' \.
aff0: 09 09 7c 20 73 65 64 20 27 73 2f 5e 2e 2a 20 5f  ..| sed 's/^.* _
b000: 2f 2f 27 20 3e 3e 73 71 6c 69 74 65 33 2e 64 65  //' >>sqlite3.de
b010: 66 0a 0a 73 71 6c 69 74 65 33 2e 64 6c 6c 3a 20  f..sqlite3.dll: 
b020: 24 28 52 45 41 4c 5f 4c 49 42 4f 42 4a 29 20 73  $(REAL_LIBOBJ) s
b030: 71 6c 69 74 65 33 2e 64 65 66 0a 09 24 28 54 43  qlite3.def..$(TC
b040: 43 29 20 2d 73 68 61 72 65 64 20 2d 6f 20 24 40  C) -shared -o $@
b050: 20 73 71 6c 69 74 65 33 2e 64 65 66 20 5c 0a 09   sqlite3.def \..
b060: 09 2d 57 6c 2c 22 2d 2d 73 74 72 69 70 2d 61 6c  .-Wl,"--strip-al
b070: 6c 22 20 24 28 52 45 41 4c 5f 4c 49 42 4f 42 4a  l" $(REAL_LIBOBJ
b080: 29 0a                                            ).