/ Hex Artifact Content
Login

Artifact 036bce328b963f48dbaadbec8cc4144a1fd9e50a:


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 0a 23 20 54 68 65 20 74 6f 70 6c 65  ITE..# The tople
0030: 76 65 6c 20 64 69 72 65 63 74 6f 72 79 20 6f 66  vel directory of
0040: 20 74 68 65 20 73 6f 75 72 63 65 20 74 72 65 65   the source tree
0050: 0a 23 0a 54 4f 50 20 3d 20 40 73 72 63 64 69 72  .#.TOP = @srcdir
0060: 40 0a 0a 23 20 43 20 43 6f 6d 70 69 6c 65 72 20  @..# C Compiler 
0070: 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20  and options for 
0080: 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20  use in building 
0090: 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74  executables that
00a0: 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74  .# will run on t
00b0: 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 61 74  he platform that
00c0: 20 69 73 20 64 6f 69 6e 67 20 74 68 65 20 62 75   is doing the bu
00d0: 69 6c 64 2e 0a 23 0a 42 43 43 20 3d 20 40 42 55  ild..#.BCC = @BU
00e0: 49 4c 44 5f 43 43 40 20 40 42 55 49 4c 44 5f 43  ILD_CC@ @BUILD_C
00f0: 46 4c 41 47 53 40 0a 0a 23 20 43 20 43 6f 6d 70  FLAGS@..# C Comp
0100: 69 6c 65 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20  ile and options 
0110: 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64  for use in build
0120: 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20  ing executables 
0130: 74 68 61 74 20 0a 23 20 77 69 6c 6c 20 72 75 6e  that .# will run
0140: 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 70   on the target p
0150: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 54 43 43 20 3d  latform..#.TCC =
0160: 20 40 54 41 52 47 45 54 5f 43 43 40 20 40 54 41   @TARGET_CC@ @TA
0170: 52 47 45 54 5f 43 46 4c 41 47 53 40 20 2d 49 2e  RGET_CFLAGS@ -I.
0180: 20 2d 49 24 7b 54 4f 50 7d 2f 73 72 63 0a 0a 23   -I${TOP}/src..#
0190: 20 54 6f 6f 6c 73 20 75 73 65 64 20 74 6f 20 62   Tools used to b
01a0: 75 69 6c 64 20 61 20 73 74 61 74 69 63 20 6c 69  uild a static li
01b0: 62 72 61 72 79 2e 0a 23 0a 41 52 20 3d 20 40 54  brary..#.AR = @T
01c0: 41 52 47 45 54 5f 41 52 40 0a 52 41 4e 4c 49 42  ARGET_AR@.RANLIB
01d0: 20 3d 20 40 54 41 52 47 45 54 5f 52 41 4e 4c 49   = @TARGET_RANLI
01e0: 42 40 0a 0a 23 20 43 6f 6d 70 69 6c 65 72 20 6f  B@..# Compiler o
01f0: 70 74 69 6f 6e 73 20 6e 65 65 64 65 64 20 66 6f  ptions needed fo
0200: 72 20 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20  r programs that 
0210: 75 73 65 20 74 68 65 20 47 44 42 4d 20 6c 69 62  use the GDBM lib
0220: 72 61 72 79 2e 0a 23 0a 47 44 42 4d 5f 46 4c 41  rary..#.GDBM_FLA
0230: 47 53 20 3d 20 40 54 41 52 47 45 54 5f 47 44 42  GS = @TARGET_GDB
0240: 4d 5f 49 4e 43 40 0a 0a 23 20 54 68 65 20 6c 69  M_INC@..# The li
0250: 62 72 61 72 79 20 74 68 61 74 20 70 72 6f 67 72  brary that progr
0260: 61 6d 73 20 75 73 69 6e 67 20 47 44 42 4d 20 6d  ams using GDBM m
0270: 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74  ust link against
0280: 2e 0a 23 0a 4c 49 42 47 44 42 4d 20 3d 20 40 54  ..#.LIBGDBM = @T
0290: 41 52 47 45 54 5f 47 44 42 4d 5f 4c 49 42 53 40  ARGET_GDBM_LIBS@
02a0: 0a 0a 23 20 43 6f 6d 70 69 6c 65 72 20 6f 70 74  ..# Compiler opt
02b0: 69 6f 6e 73 20 6e 65 65 64 65 64 20 66 6f 72 20  ions needed for 
02c0: 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 75 73  programs that us
02d0: 65 20 74 68 65 20 54 43 4c 20 6c 69 62 72 61 72  e the TCL librar
02e0: 79 2e 0a 23 0a 54 43 4c 5f 46 4c 41 47 53 20 3d  y..#.TCL_FLAGS =
02f0: 20 40 54 41 52 47 45 54 5f 54 43 4c 5f 49 4e 43   @TARGET_TCL_INC
0300: 40 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79  @..# The library
0310: 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75   that programs u
0320: 73 69 6e 67 20 54 43 4c 20 6d 75 73 74 20 6c 69  sing TCL must li
0330: 6e 6b 20 61 67 61 69 6e 73 74 2e 0a 23 0a 4c 49  nk against..#.LI
0340: 42 54 43 4c 20 3d 20 40 54 41 52 47 45 54 5f 54  BTCL = @TARGET_T
0350: 43 4c 5f 4c 49 42 53 40 0a 0a 23 20 43 6f 6d 70  CL_LIBS@..# Comp
0360: 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65  iler options nee
0370: 64 65 64 20 66 6f 72 20 70 72 6f 67 72 61 6d 73  ded for programs
0380: 20 74 68 61 74 20 75 73 65 20 74 68 65 20 72 65   that use the re
0390: 61 64 6c 69 6e 65 28 29 20 6c 69 62 72 61 72 79  adline() library
03a0: 2e 0a 23 0a 52 45 41 44 4c 49 4e 45 5f 46 4c 41  ..#.READLINE_FLA
03b0: 47 53 20 3d 20 2d 44 48 41 56 45 5f 52 45 41 44  GS = -DHAVE_READ
03c0: 4c 49 4e 45 3d 40 54 41 52 47 45 54 5f 48 41 56  LINE=@TARGET_HAV
03d0: 45 5f 52 45 41 44 4c 49 4e 45 40 20 40 54 41 52  E_READLINE@ @TAR
03e0: 47 45 54 5f 52 45 41 44 4c 49 4e 45 5f 49 4e 43  GET_READLINE_INC
03f0: 40 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72 79  @..# The library
0400: 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20 75   that programs u
0410: 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29 20  sing readline() 
0420: 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73  must link agains
0430: 74 2e 0a 23 0a 4c 49 42 52 45 41 44 4c 49 4e 45  t..#.LIBREADLINE
0440: 20 3d 20 40 54 41 52 47 45 54 5f 52 45 41 44 4c   = @TARGET_READL
0450: 49 4e 45 5f 4c 49 42 53 40 0a 0a 23 20 4f 62 6a  INE_LIBS@..# Obj
0460: 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68  ect files for th
0470: 65 20 53 51 4c 69 74 65 20 6c 69 62 72 61 72 79  e SQLite library
0480: 2e 0a 23 0a 4c 49 42 4f 42 4a 20 3d 20 62 75 69  ..#.LIBOBJ = bui
0490: 6c 64 2e 6f 20 64 62 62 65 2e 6f 20 64 65 6c 65  ld.o dbbe.o dele
04a0: 74 65 2e 6f 20 65 78 70 72 2e 6f 20 69 6e 73 65  te.o expr.o inse
04b0: 72 74 2e 6f 20 5c 0a 20 20 20 20 20 20 20 20 20  rt.o \.         
04c0: 6d 61 69 6e 2e 6f 20 70 61 72 73 65 2e 6f 20 73  main.o parse.o s
04d0: 65 6c 65 63 74 2e 6f 20 74 6f 6b 65 6e 69 7a 65  elect.o tokenize
04e0: 2e 6f 20 75 70 64 61 74 65 2e 6f 20 5c 0a 20 20  .o update.o \.  
04f0: 20 20 20 20 20 20 20 75 74 69 6c 2e 6f 20 76 64         util.o vd
0500: 62 65 2e 6f 20 77 68 65 72 65 2e 6f 0a 0a 23 20  be.o where.o..# 
0510: 41 6c 6c 20 6f 66 20 74 68 65 20 73 6f 75 72 63  All of the sourc
0520: 65 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a  e code files..#.
0530: 53 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  SRC = \.  $(TOP)
0540: 2f 73 72 63 2f 62 75 69 6c 64 2e 63 20 5c 0a 20  /src/build.c \. 
0550: 20 24 28 54 4f 50 29 2f 73 72 63 2f 64 62 62 65   $(TOP)/src/dbbe
0560: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72  .c \.  $(TOP)/sr
0570: 63 2f 64 62 62 65 2e 68 20 5c 0a 20 20 24 28 54  c/dbbe.h \.  $(T
0580: 4f 50 29 2f 73 72 63 2f 64 65 6c 65 74 65 2e 63  OP)/src/delete.c
0590: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
05a0: 65 78 70 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  expr.c \.  $(TOP
05b0: 29 2f 73 72 63 2f 69 6e 73 65 72 74 2e 63 20 5c  )/src/insert.c \
05c0: 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 6d 61  .  $(TOP)/src/ma
05d0: 69 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f  in.c \.  $(TOP)/
05e0: 73 72 63 2f 70 61 72 73 65 2e 79 20 5c 0a 20 20  src/parse.y \.  
05f0: 24 28 54 4f 50 29 2f 73 72 63 2f 73 65 6c 65 63  $(TOP)/src/selec
0600: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  t.c \.  $(TOP)/s
0610: 72 63 2f 73 68 65 6c 6c 2e 63 20 5c 0a 20 20 24  rc/shell.c \.  $
0620: 28 54 4f 50 29 2f 73 72 63 2f 73 71 6c 69 74 65  (TOP)/src/sqlite
0630: 2e 68 2e 69 6e 20 5c 0a 20 20 24 28 54 4f 50 29  .h.in \.  $(TOP)
0640: 2f 73 72 63 2f 73 71 6c 69 74 65 49 6e 74 2e 68  /src/sqliteInt.h
0650: 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f   \.  $(TOP)/src/
0660: 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20  tclsqlite.c \.  
0670: 24 28 54 4f 50 29 2f 73 72 63 2f 74 6f 6b 65 6e  $(TOP)/src/token
0680: 69 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ize.c \.  $(TOP)
0690: 2f 73 72 63 2f 75 70 64 61 74 65 2e 63 20 5c 0a  /src/update.c \.
06a0: 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 75 74 69    $(TOP)/src/uti
06b0: 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 2f 73  l.c \.  $(TOP)/s
06c0: 72 63 2f 76 64 62 65 2e 63 20 5c 0a 20 20 24 28  rc/vdbe.c \.  $(
06d0: 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 2e 68 20  TOP)/src/vdbe.h 
06e0: 5c 0a 20 20 24 28 54 4f 50 29 2f 73 72 63 2f 77  \.  $(TOP)/src/w
06f0: 68 65 72 65 2e 63 0a 0a 23 20 54 68 69 73 20 69  here.c..# This i
0700: 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 4d 61  s the default Ma
0710: 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e 20 20  kefile target.  
0720: 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69 73 74  The objects list
0730: 65 64 20 68 65 72 65 0a 23 20 61 72 65 20 77 68  ed here.# are wh
0740: 61 74 20 67 65 74 20 62 75 69 6c 64 20 77 68 65  at get build whe
0750: 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73 74 20  n you type just 
0760: 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f 20 61  "make" with no a
0770: 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c 6c 3a  rguments..#.all:
0780: 09 73 71 6c 69 74 65 2e 68 20 6c 69 62 73 71 6c  .sqlite.h libsql
0790: 69 74 65 2e 61 20 73 71 6c 69 74 65 20 0a 0a 23  ite.a sqlite ..#
07a0: 20 47 65 6e 65 72 61 74 65 20 74 68 65 20 66 69   Generate the fi
07b0: 6c 65 20 22 6c 61 73 74 5f 63 68 61 6e 67 65 22  le "last_change"
07c0: 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20   which contains 
07d0: 74 68 65 20 64 61 74 65 20 6f 66 20 63 68 61 6e  the date of chan
07e0: 67 65 0a 23 20 6f 66 20 74 68 65 20 6d 6f 73 74  ge.# of the most
07f0: 20 72 65 63 65 6e 74 6c 79 20 6d 6f 64 69 66 69   recently modifi
0800: 65 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ed source code f
0810: 69 6c 65 0a 23 0a 6c 61 73 74 5f 63 68 61 6e 67  ile.#.last_chang
0820: 65 3a 09 24 28 53 52 43 29 0a 09 63 61 74 20 24  e:.$(SRC)..cat $
0830: 28 53 52 43 29 20 7c 20 67 72 65 70 20 27 24 24  (SRC) | grep '$$
0840: 49 64 3a 20 27 20 7c 20 73 6f 72 74 20 2b 34 20  Id: ' | sort +4 
0850: 7c 20 74 61 69 6c 20 2d 31 20 5c 0a 20 20 20 20  | tail -1 \.    
0860: 20 20 20 20 20 20 7c 20 61 77 6b 20 27 7b 70 72        | awk '{pr
0870: 69 6e 74 20 24 24 35 2c 24 24 36 7d 27 20 3e 6c  int $$5,$$6}' >l
0880: 61 73 74 5f 63 68 61 6e 67 65 0a 0a 6c 69 62 73  ast_change..libs
0890: 71 6c 69 74 65 2e 61 3a 09 24 28 4c 49 42 4f 42  qlite.a:.$(LIBOB
08a0: 4a 29 0a 09 24 28 41 52 29 20 6c 69 62 73 71 6c  J)..$(AR) libsql
08b0: 69 74 65 2e 61 20 24 28 4c 49 42 4f 42 4a 29 0a  ite.a $(LIBOBJ).
08c0: 09 24 28 52 41 4e 4c 49 42 29 20 6c 69 62 73 71  .$(RANLIB) libsq
08d0: 6c 69 74 65 2e 61 0a 0a 73 71 6c 69 74 65 3a 09  lite.a..sqlite:.
08e0: 24 28 54 4f 50 29 2f 73 72 63 2f 73 68 65 6c 6c  $(TOP)/src/shell
08f0: 2e 63 20 6c 69 62 73 71 6c 69 74 65 2e 61 20 73  .c libsqlite.a s
0900: 71 6c 69 74 65 2e 68 0a 09 24 28 54 43 43 29 20  qlite.h..$(TCC) 
0910: 24 28 52 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53  $(READLINE_FLAGS
0920: 29 20 2d 6f 20 73 71 6c 69 74 65 20 24 28 54 4f  ) -o sqlite $(TO
0930: 50 29 2f 73 72 63 2f 73 68 65 6c 6c 2e 63 20 5c  P)/src/shell.c \
0940: 0a 09 09 6c 69 62 73 71 6c 69 74 65 2e 61 20 24  ...libsqlite.a $
0950: 28 4c 49 42 47 44 42 4d 29 20 24 28 4c 49 42 52  (LIBGDBM) $(LIBR
0960: 45 41 44 4c 49 4e 45 29 0a 0a 23 20 52 75 6c 65  EADLINE)..# Rule
0970: 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 4c  s to build the L
0980: 45 4d 4f 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65  EMON compiler ge
0990: 6e 65 72 61 74 6f 72 0a 23 0a 6c 65 6d 6f 6e 3a  nerator.#.lemon:
09a0: 09 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6c 65 6d  .$(TOP)/tool/lem
09b0: 6f 6e 2e 63 20 24 28 54 4f 50 29 2f 74 6f 6f 6c  on.c $(TOP)/tool
09c0: 2f 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42 43 43  /lempar.c..$(BCC
09d0: 29 20 2d 6f 20 6c 65 6d 6f 6e 20 24 28 54 4f 50  ) -o lemon $(TOP
09e0: 29 2f 74 6f 6f 6c 2f 6c 65 6d 6f 6e 2e 63 0a 09  )/tool/lemon.c..
09f0: 63 70 20 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f 6c  cp $(TOP)/tool/l
0a00: 65 6d 70 61 72 2e 63 20 2e 0a 0a 23 20 48 65 61  empar.c ...# Hea
0a10: 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62  der files used b
0a20: 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f  y all library so
0a30: 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44  urce files..#.HD
0a40: 52 20 3d 20 5c 0a 20 20 20 73 71 6c 69 74 65 2e  R = \.   sqlite.
0a50: 68 20 20 5c 0a 20 20 20 24 28 54 4f 50 29 2f 73  h  \.   $(TOP)/s
0a60: 72 63 2f 73 71 6c 69 74 65 49 6e 74 2e 68 20 20  rc/sqliteInt.h  
0a70: 5c 0a 20 20 20 24 28 54 4f 50 29 2f 73 72 63 2f  \.   $(TOP)/src/
0a80: 64 62 62 65 2e 68 20 20 5c 0a 20 20 20 24 28 54  dbbe.h  \.   $(T
0a90: 4f 50 29 2f 73 72 63 2f 76 64 62 65 2e 68 20 20  OP)/src/vdbe.h  
0aa0: 5c 0a 20 20 20 70 61 72 73 65 2e 68 0a 0a 62 75  \.   parse.h..bu
0ab0: 69 6c 64 2e 6f 3a 09 24 28 54 4f 50 29 2f 73 72  ild.o:.$(TOP)/sr
0ac0: 63 2f 62 75 69 6c 64 2e 63 20 24 28 48 44 52 29  c/build.c $(HDR)
0ad0: 0a 09 24 28 54 43 43 29 20 24 28 47 44 42 4d 5f  ..$(TCC) $(GDBM_
0ae0: 46 4c 41 47 53 29 20 2d 63 20 24 28 54 4f 50 29  FLAGS) -c $(TOP)
0af0: 2f 73 72 63 2f 62 75 69 6c 64 2e 63 0a 0a 64 62  /src/build.c..db
0b00: 62 65 2e 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63  be.o:.$(TOP)/src
0b10: 2f 64 62 62 65 2e 63 20 24 28 48 44 52 29 0a 09  /dbbe.c $(HDR)..
0b20: 24 28 54 43 43 29 20 24 28 47 44 42 4d 5f 46 4c  $(TCC) $(GDBM_FL
0b30: 41 47 53 29 20 2d 63 20 24 28 54 4f 50 29 2f 73  AGS) -c $(TOP)/s
0b40: 72 63 2f 64 62 62 65 2e 63 0a 0a 6d 61 69 6e 2e  rc/dbbe.c..main.
0b50: 6f 3a 09 24 28 54 4f 50 29 2f 73 72 63 2f 6d 61  o:.$(TOP)/src/ma
0b60: 69 6e 2e 63 20 24 28 48 44 52 29 0a 09 24 28 54  in.c $(HDR)..$(T
0b70: 43 43 29 20 24 28 47 44 42 4d 5f 46 4c 41 47 53  CC) $(GDBM_FLAGS
0b80: 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f  ) -c $(TOP)/src/
0b90: 6d 61 69 6e 2e 63 0a 0a 70 61 72 73 65 2e 6f 3a  main.c..parse.o:
0ba0: 09 70 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a  .parse.c $(HDR).
0bb0: 09 24 28 54 43 43 29 20 24 28 47 44 42 4d 5f 46  .$(TCC) $(GDBM_F
0bc0: 4c 41 47 53 29 20 2d 63 20 70 61 72 73 65 2e 63  LAGS) -c parse.c
0bd0: 0a 0a 70 61 72 73 65 2e 68 3a 09 70 61 72 73 65  ..parse.h:.parse
0be0: 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28 54  .c..parse.c:.$(T
0bf0: 4f 50 29 2f 73 72 63 2f 70 61 72 73 65 2e 79 20  OP)/src/parse.y 
0c00: 6c 65 6d 6f 6e 0a 09 63 70 20 24 28 54 4f 50 29  lemon..cp $(TOP)
0c10: 2f 73 72 63 2f 70 61 72 73 65 2e 79 20 2e 0a 09  /src/parse.y ...
0c20: 2e 2f 6c 65 6d 6f 6e 20 70 61 72 73 65 2e 79 0a  ./lemon parse.y.
0c30: 0a 73 71 6c 69 74 65 2e 68 3a 09 24 28 54 4f 50  .sqlite.h:.$(TOP
0c40: 29 2f 73 72 63 2f 73 71 6c 69 74 65 2e 68 2e 69  )/src/sqlite.h.i
0c50: 6e 20 0a 09 73 65 64 20 2d 65 20 73 2f 2d 2d 56  n ..sed -e s/--V
0c60: 45 52 53 2d 2d 2f 60 63 61 74 20 24 7b 54 4f 50  ERS--/`cat ${TOP
0c70: 7d 2f 56 45 52 53 49 4f 4e 60 2f 20 24 28 54 4f  }/VERSION`/ $(TO
0c80: 50 29 2f 73 72 63 2f 73 71 6c 69 74 65 2e 68 2e  P)/src/sqlite.h.
0c90: 69 6e 20 3e 73 71 6c 69 74 65 2e 68 0a 0a 74 6f  in >sqlite.h..to
0ca0: 6b 65 6e 69 7a 65 2e 6f 3a 09 24 28 54 4f 50 29  kenize.o:.$(TOP)
0cb0: 2f 73 72 63 2f 74 6f 6b 65 6e 69 7a 65 2e 63 20  /src/tokenize.c 
0cc0: 24 28 48 44 52 29 0a 09 24 28 54 43 43 29 20 24  $(HDR)..$(TCC) $
0cd0: 28 47 44 42 4d 5f 46 4c 41 47 53 29 20 2d 63 20  (GDBM_FLAGS) -c 
0ce0: 24 28 54 4f 50 29 2f 73 72 63 2f 74 6f 6b 65 6e  $(TOP)/src/token
0cf0: 69 7a 65 2e 63 0a 0a 75 74 69 6c 2e 6f 3a 09 24  ize.c..util.o:.$
0d00: 28 54 4f 50 29 2f 73 72 63 2f 75 74 69 6c 2e 63  (TOP)/src/util.c
0d10: 20 24 28 48 44 52 29 0a 09 24 28 54 43 43 29 20   $(HDR)..$(TCC) 
0d20: 24 28 47 44 42 4d 5f 46 4c 41 47 53 29 20 2d 63  $(GDBM_FLAGS) -c
0d30: 20 24 28 54 4f 50 29 2f 73 72 63 2f 75 74 69 6c   $(TOP)/src/util
0d40: 2e 63 0a 0a 76 64 62 65 2e 6f 3a 09 24 28 54 4f  .c..vdbe.o:.$(TO
0d50: 50 29 2f 73 72 63 2f 76 64 62 65 2e 63 20 24 28  P)/src/vdbe.c $(
0d60: 48 44 52 29 0a 09 24 28 54 43 43 29 20 24 28 47  HDR)..$(TCC) $(G
0d70: 44 42 4d 5f 46 4c 41 47 53 29 20 2d 63 20 24 28  DBM_FLAGS) -c $(
0d80: 54 4f 50 29 2f 73 72 63 2f 76 64 62 65 2e 63 0a  TOP)/src/vdbe.c.
0d90: 0a 77 68 65 72 65 2e 6f 3a 09 24 28 54 4f 50 29  .where.o:.$(TOP)
0da0: 2f 73 72 63 2f 77 68 65 72 65 2e 63 20 24 28 48  /src/where.c $(H
0db0: 44 52 29 0a 09 24 28 54 43 43 29 20 24 28 47 44  DR)..$(TCC) $(GD
0dc0: 42 4d 5f 46 4c 41 47 53 29 20 2d 63 20 24 28 54  BM_FLAGS) -c $(T
0dd0: 4f 50 29 2f 73 72 63 2f 77 68 65 72 65 2e 63 0a  OP)/src/where.c.
0de0: 0a 64 65 6c 65 74 65 2e 6f 3a 09 24 28 54 4f 50  .delete.o:.$(TOP
0df0: 29 2f 73 72 63 2f 64 65 6c 65 74 65 2e 63 20 24  )/src/delete.c $
0e00: 28 48 44 52 29 0a 09 24 28 54 43 43 29 20 24 28  (HDR)..$(TCC) $(
0e10: 47 44 42 4d 5f 46 4c 41 47 53 29 20 2d 63 20 24  GDBM_FLAGS) -c $
0e20: 28 54 4f 50 29 2f 73 72 63 2f 64 65 6c 65 74 65  (TOP)/src/delete
0e30: 2e 63 0a 0a 65 78 70 72 2e 6f 3a 09 24 28 54 4f  .c..expr.o:.$(TO
0e40: 50 29 2f 73 72 63 2f 65 78 70 72 2e 63 20 24 28  P)/src/expr.c $(
0e50: 48 44 52 29 0a 09 24 28 54 43 43 29 20 24 28 47  HDR)..$(TCC) $(G
0e60: 44 42 4d 5f 46 4c 41 47 53 29 20 2d 63 20 24 28  DBM_FLAGS) -c $(
0e70: 54 4f 50 29 2f 73 72 63 2f 65 78 70 72 2e 63 0a  TOP)/src/expr.c.
0e80: 0a 69 6e 73 65 72 74 2e 6f 3a 09 24 28 54 4f 50  .insert.o:.$(TOP
0e90: 29 2f 73 72 63 2f 69 6e 73 65 72 74 2e 63 20 24  )/src/insert.c $
0ea0: 28 48 44 52 29 0a 09 24 28 54 43 43 29 20 24 28  (HDR)..$(TCC) $(
0eb0: 47 44 42 4d 5f 46 4c 41 47 53 29 20 2d 63 20 24  GDBM_FLAGS) -c $
0ec0: 28 54 4f 50 29 2f 73 72 63 2f 69 6e 73 65 72 74  (TOP)/src/insert
0ed0: 2e 63 0a 0a 73 65 6c 65 63 74 2e 6f 3a 09 24 28  .c..select.o:.$(
0ee0: 54 4f 50 29 2f 73 72 63 2f 73 65 6c 65 63 74 2e  TOP)/src/select.
0ef0: 63 20 24 28 48 44 52 29 0a 09 24 28 54 43 43 29  c $(HDR)..$(TCC)
0f00: 20 24 28 47 44 42 4d 5f 46 4c 41 47 53 29 20 2d   $(GDBM_FLAGS) -
0f10: 63 20 24 28 54 4f 50 29 2f 73 72 63 2f 73 65 6c  c $(TOP)/src/sel
0f20: 65 63 74 2e 63 0a 0a 75 70 64 61 74 65 2e 6f 3a  ect.c..update.o:
0f30: 09 24 28 54 4f 50 29 2f 73 72 63 2f 75 70 64 61  .$(TOP)/src/upda
0f40: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 54  te.c $(HDR)..$(T
0f50: 43 43 29 20 24 28 47 44 42 4d 5f 46 4c 41 47 53  CC) $(GDBM_FLAGS
0f60: 29 20 2d 63 20 24 28 54 4f 50 29 2f 73 72 63 2f  ) -c $(TOP)/src/
0f70: 75 70 64 61 74 65 2e 63 0a 0a 67 64 62 6d 64 75  update.c..gdbmdu
0f80: 6d 70 3a 09 24 28 54 4f 50 29 2f 74 6f 6f 6c 2f  mp:.$(TOP)/tool/
0f90: 67 64 62 6d 64 75 6d 70 2e 63 0a 09 24 28 54 43  gdbmdump.c..$(TC
0fa0: 43 29 20 24 28 47 44 42 4d 5f 46 4c 41 47 53 29  C) $(GDBM_FLAGS)
0fb0: 20 2d 6f 20 67 64 62 6d 64 75 6d 70 20 24 28 54   -o gdbmdump $(T
0fc0: 4f 50 29 2f 74 6f 6f 6c 2f 67 64 62 6d 64 75 6d  OP)/tool/gdbmdum
0fd0: 70 2e 63 20 24 28 4c 49 42 47 44 42 4d 29 0a 0a  p.c $(LIBGDBM)..
0fe0: 74 63 6c 73 71 6c 69 74 65 3a 09 24 28 54 4f 50  tclsqlite:.$(TOP
0ff0: 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69 74 65 2e  )/src/tclsqlite.
1000: 63 20 6c 69 62 73 71 6c 69 74 65 2e 61 0a 09 24  c libsqlite.a..$
1010: 28 54 43 43 29 20 24 28 54 43 4c 5f 46 4c 41 47  (TCC) $(TCL_FLAG
1020: 53 29 20 2d 44 54 43 4c 53 48 3d 31 20 2d 6f 20  S) -DTCLSH=1 -o 
1030: 74 63 6c 73 71 6c 69 74 65 20 5c 0a 09 09 24 28  tclsqlite \...$(
1040: 54 4f 50 29 2f 73 72 63 2f 74 63 6c 73 71 6c 69  TOP)/src/tclsqli
1050: 74 65 2e 63 20 6c 69 62 73 71 6c 69 74 65 2e 61  te.c libsqlite.a
1060: 20 24 28 4c 49 42 47 44 42 4d 29 20 24 28 4c 49   $(LIBGDBM) $(LI
1070: 42 54 43 4c 29 0a 0a 74 65 73 74 3a 09 74 63 6c  BTCL)..test:.tcl
1080: 73 71 6c 69 74 65 20 73 71 6c 69 74 65 0a 09 2e  sqlite sqlite...
1090: 2f 74 63 6c 73 71 6c 69 74 65 20 24 28 54 4f 50  /tclsqlite $(TOP
10a0: 29 2f 74 65 73 74 2f 61 6c 6c 2e 74 65 73 74 0a  )/test/all.test.
10b0: 0a 73 71 6c 69 74 65 2e 74 61 72 2e 67 7a 3a 09  .sqlite.tar.gz:.
10c0: 0a 09 70 77 64 3d 60 70 77 64 60 3b 20 63 64 20  ..pwd=`pwd`; cd 
10d0: 24 28 54 4f 50 29 2f 2e 2e 3b 20 74 61 72 20 63  $(TOP)/..; tar c
10e0: 7a 66 20 24 24 70 77 64 2f 73 71 6c 69 74 65 2e  zf $$pwd/sqlite.
10f0: 74 61 72 2e 67 7a 20 73 71 6c 69 74 65 0a 0a 69  tar.gz sqlite..i
1100: 6e 64 65 78 2e 68 74 6d 6c 3a 09 24 28 54 4f 50  ndex.html:.$(TOP
1110: 29 2f 77 77 77 2f 69 6e 64 65 78 2e 74 63 6c 20  )/www/index.tcl 
1120: 73 71 6c 69 74 65 2e 74 61 72 2e 67 7a 20 6c 61  sqlite.tar.gz la
1130: 73 74 5f 63 68 61 6e 67 65 0a 09 74 63 6c 73 68  st_change..tclsh
1140: 20 24 28 54 4f 50 29 2f 77 77 77 2f 69 6e 64 65   $(TOP)/www/inde
1150: 78 2e 74 63 6c 20 60 63 61 74 20 24 28 54 4f 50  x.tcl `cat $(TOP
1160: 29 2f 56 45 52 53 49 4f 4e 60 20 3e 69 6e 64 65  )/VERSION` >inde
1170: 78 2e 68 74 6d 6c 0a 0a 73 71 6c 69 74 65 2e 68  x.html..sqlite.h
1180: 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f  tml:.$(TOP)/www/
1190: 73 71 6c 69 74 65 2e 74 63 6c 0a 09 74 63 6c 73  sqlite.tcl..tcls
11a0: 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 73 71 6c  h $(TOP)/www/sql
11b0: 69 74 65 2e 74 63 6c 20 3e 73 71 6c 69 74 65 2e  ite.tcl >sqlite.
11c0: 68 74 6d 6c 0a 0a 63 5f 69 6e 74 65 72 66 61 63  html..c_interfac
11d0: 65 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77  e.html:.$(TOP)/w
11e0: 77 77 2f 63 5f 69 6e 74 65 72 66 61 63 65 2e 74  ww/c_interface.t
11f0: 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50 29  cl..tclsh $(TOP)
1200: 2f 77 77 77 2f 63 5f 69 6e 74 65 72 66 61 63 65  /www/c_interface
1210: 2e 74 63 6c 20 3e 63 5f 69 6e 74 65 72 66 61 63  .tcl >c_interfac
1220: 65 2e 68 74 6d 6c 0a 0a 63 68 61 6e 67 65 73 2e  e.html..changes.
1230: 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77  html:.$(TOP)/www
1240: 2f 63 68 61 6e 67 65 73 2e 74 63 6c 0a 09 74 63  /changes.tcl..tc
1250: 6c 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 63  lsh $(TOP)/www/c
1260: 68 61 6e 67 65 73 2e 74 63 6c 20 3e 63 68 61 6e  hanges.tcl >chan
1270: 67 65 73 2e 68 74 6d 6c 0a 0a 66 69 6c 65 66 6f  ges.html..filefo
1280: 72 6d 61 74 2e 68 74 6d 6c 3a 09 24 28 54 4f 50  rmat.html:.$(TOP
1290: 29 2f 77 77 77 2f 66 69 6c 65 66 6f 72 6d 61 74  )/www/fileformat
12a0: 2e 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f  .tcl..tclsh $(TO
12b0: 50 29 2f 77 77 77 2f 66 69 6c 65 66 6f 72 6d 61  P)/www/fileforma
12c0: 74 2e 74 63 6c 20 3e 66 69 6c 65 66 6f 72 6d 61  t.tcl >fileforma
12d0: 74 2e 68 74 6d 6c 0a 0a 6c 61 6e 67 2e 68 74 6d  t.html..lang.htm
12e0: 6c 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 6c 61  l:.$(TOP)/www/la
12f0: 6e 67 2e 74 63 6c 0a 09 74 63 6c 73 68 20 24 28  ng.tcl..tclsh $(
1300: 54 4f 50 29 2f 77 77 77 2f 6c 61 6e 67 2e 74 63  TOP)/www/lang.tc
1310: 6c 20 3e 6c 61 6e 67 2e 68 74 6d 6c 0a 0a 76 64  l >lang.html..vd
1320: 62 65 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f  be.html:.$(TOP)/
1330: 77 77 77 2f 76 64 62 65 2e 74 63 6c 0a 09 74 63  www/vdbe.tcl..tc
1340: 6c 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 76  lsh $(TOP)/www/v
1350: 64 62 65 2e 74 63 6c 20 3e 76 64 62 65 2e 68 74  dbe.tcl >vdbe.ht
1360: 6d 6c 0a 0a 61 72 63 68 2e 68 74 6d 6c 3a 09 24  ml..arch.html:.$
1370: 28 54 4f 50 29 2f 77 77 77 2f 61 72 63 68 2e 74  (TOP)/www/arch.t
1380: 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50 29  cl..tclsh $(TOP)
1390: 2f 77 77 77 2f 61 72 63 68 2e 74 63 6c 20 3e 61  /www/arch.tcl >a
13a0: 72 63 68 2e 68 74 6d 6c 0a 0a 61 72 63 68 2e 70  rch.html..arch.p
13b0: 6e 67 3a 09 24 28 54 4f 50 29 2f 77 77 77 2f 61  ng:.$(TOP)/www/a
13c0: 72 63 68 2e 70 6e 67 0a 09 63 70 20 24 28 54 4f  rch.png..cp $(TO
13d0: 50 29 2f 77 77 77 2f 61 72 63 68 2e 70 6e 67 20  P)/www/arch.png 
13e0: 2e 0a 0a 6f 70 63 6f 64 65 2e 68 74 6d 6c 3a 09  ...opcode.html:.
13f0: 24 28 54 4f 50 29 2f 77 77 77 2f 6f 70 63 6f 64  $(TOP)/www/opcod
1400: 65 2e 74 63 6c 20 24 28 54 4f 50 29 2f 73 72 63  e.tcl $(TOP)/src
1410: 2f 76 64 62 65 2e 63 0a 09 74 63 6c 73 68 20 24  /vdbe.c..tclsh $
1420: 28 54 4f 50 29 2f 77 77 77 2f 6f 70 63 6f 64 65  (TOP)/www/opcode
1430: 2e 74 63 6c 20 24 28 54 4f 50 29 2f 73 72 63 2f  .tcl $(TOP)/src/
1440: 76 64 62 65 2e 63 20 3e 6f 70 63 6f 64 65 2e 68  vdbe.c >opcode.h
1450: 74 6d 6c 0a 0a 63 72 6f 73 73 63 6f 6d 70 69 6c  tml..crosscompil
1460: 65 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77  e.html:.$(TOP)/w
1470: 77 77 2f 63 72 6f 73 73 63 6f 6d 70 69 6c 65 2e  ww/crosscompile.
1480: 74 63 6c 0a 09 74 63 6c 73 68 20 24 28 54 4f 50  tcl..tclsh $(TOP
1490: 29 2f 77 77 77 2f 63 72 6f 73 73 63 6f 6d 70 69  )/www/crosscompi
14a0: 6c 65 2e 74 63 6c 20 3e 63 72 6f 73 73 63 6f 6d  le.tcl >crosscom
14b0: 70 69 6c 65 2e 68 74 6d 6c 0a 0a 6d 69 6e 67 77  pile.html..mingw
14c0: 2e 68 74 6d 6c 3a 09 24 28 54 4f 50 29 2f 77 77  .html:.$(TOP)/ww
14d0: 77 2f 6d 69 6e 67 77 2e 74 63 6c 0a 09 74 63 6c  w/mingw.tcl..tcl
14e0: 73 68 20 24 28 54 4f 50 29 2f 77 77 77 2f 6d 69  sh $(TOP)/www/mi
14f0: 6e 67 77 2e 74 63 6c 20 3e 6d 69 6e 67 77 2e 68  ngw.tcl >mingw.h
1500: 74 6d 6c 0a 0a 0a 23 20 46 69 6c 65 73 20 74 6f  tml...# Files to
1510: 20 62 65 20 70 75 62 6c 69 73 68 65 64 20 6f 6e   be published on
1520: 20 74 68 65 20 77 65 62 73 69 74 65 2e 0a 23 0a   the website..#.
1530: 50 55 42 4c 49 53 48 20 3d 20 5c 0a 20 20 73 71  PUBLISH = \.  sq
1540: 6c 69 74 65 2e 74 61 72 2e 67 7a 20 5c 0a 20 20  lite.tar.gz \.  
1550: 69 6e 64 65 78 2e 68 74 6d 6c 20 5c 0a 20 20 73  index.html \.  s
1560: 71 6c 69 74 65 2e 68 74 6d 6c 20 5c 0a 20 20 63  qlite.html \.  c
1570: 68 61 6e 67 65 73 2e 68 74 6d 6c 20 5c 0a 20 20  hanges.html \.  
1580: 66 69 6c 65 66 6f 72 6d 61 74 2e 68 74 6d 6c 20  fileformat.html 
1590: 5c 0a 20 20 6c 61 6e 67 2e 68 74 6d 6c 20 5c 0a  \.  lang.html \.
15a0: 20 20 6f 70 63 6f 64 65 2e 68 74 6d 6c 20 5c 0a    opcode.html \.
15b0: 20 20 61 72 63 68 2e 68 74 6d 6c 20 5c 0a 20 20    arch.html \.  
15c0: 61 72 63 68 2e 70 6e 67 20 5c 0a 20 20 76 64 62  arch.png \.  vdb
15d0: 65 2e 68 74 6d 6c 20 5c 0a 20 20 63 5f 69 6e 74  e.html \.  c_int
15e0: 65 72 66 61 63 65 2e 68 74 6d 6c 20 5c 0a 20 20  erface.html \.  
15f0: 63 72 6f 73 73 63 6f 6d 70 69 6c 65 2e 68 74 6d  crosscompile.htm
1600: 6c 20 5c 0a 20 20 6d 69 6e 67 77 2e 68 74 6d 6c  l \.  mingw.html
1610: 0a 0a 77 65 62 73 69 74 65 3a 09 24 28 50 55 42  ..website:.$(PUB
1620: 4c 49 53 48 29 0a 0a 70 75 62 6c 69 73 68 3a 09  LISH)..publish:.
1630: 24 28 50 55 42 4c 49 53 48 29 0a 09 63 68 6d 6f  $(PUBLISH)..chmo
1640: 64 20 30 36 34 34 20 24 28 50 55 42 4c 49 53 48  d 0644 $(PUBLISH
1650: 29 0a 09 73 63 70 20 24 28 50 55 42 4c 49 53 48  )..scp $(PUBLISH
1660: 29 20 68 77 61 63 69 40 6f 61 6b 2e 68 65 2e 6e  ) hwaci@oak.he.n
1670: 65 74 3a 70 75 62 6c 69 63 5f 68 74 6d 6c 2f 73  et:public_html/s
1680: 77 2f 73 71 6c 69 74 65 0a 0a 69 6e 73 74 61 6c  w/sqlite..instal
1690: 6c 3a 09 73 71 6c 69 74 65 20 6c 69 62 73 71 6c  l:.sqlite libsql
16a0: 69 74 65 2e 61 20 73 71 6c 69 74 65 2e 68 0a 09  ite.a sqlite.h..
16b0: 6d 76 20 73 71 6c 69 74 65 20 2f 75 73 72 2f 62  mv sqlite /usr/b
16c0: 69 6e 0a 09 6d 76 20 6c 69 62 73 71 6c 69 74 65  in..mv libsqlite
16d0: 2e 61 20 2f 75 73 72 2f 6c 69 62 0a 09 6d 76 20  .a /usr/lib..mv 
16e0: 73 71 6c 69 74 65 2e 68 20 2f 75 73 72 2f 69 6e  sqlite.h /usr/in
16f0: 63 6c 75 64 65 0a 0a 63 6c 65 61 6e 3a 09 0a 09  clude..clean:...
1700: 72 6d 20 2d 66 20 2a 2e 6f 20 73 71 6c 69 74 65  rm -f *.o sqlite
1710: 20 6c 69 62 73 71 6c 69 74 65 2e 61 20 73 71 6c   libsqlite.a sql
1720: 69 74 65 2e 68 0a 09 72 6d 20 2d 66 20 6c 65 6d  ite.h..rm -f lem
1730: 6f 6e 20 6c 65 6d 70 61 72 2e 63 20 70 61 72 73  on lempar.c pars
1740: 65 2e 2a 20 73 71 6c 69 74 65 2e 74 61 72 2e 67  e.* sqlite.tar.g
1750: 7a 0a 09 72 6d 20 2d 66 20 24 28 50 55 42 4c 49  z..rm -f $(PUBLI
1760: 53 48 29 0a 09 72 6d 20 2d 66 20 2a 2e 64 61 20  SH)..rm -f *.da 
1770: 2a 2e 62 62 20 2a 2e 62 62 67 20 67 6d 6f 6e 2e  *.bb *.bbg gmon.
1780: 6f 75 74 0a                                      out.