1*c5c4113dSnw141292#ident "%Z%%M% %I% %E% SMI" 2*c5c4113dSnw141292# 3*c5c4113dSnw141292############################################################################### 4*c5c4113dSnw141292# The following macros should be defined before this script is 5*c5c4113dSnw141292# invoked: 6*c5c4113dSnw141292# 7*c5c4113dSnw141292# TOP The toplevel directory of the source tree. This is the 8*c5c4113dSnw141292# directory that contains this "Makefile.in" and the 9*c5c4113dSnw141292# "configure.in" script. 10*c5c4113dSnw141292# 11*c5c4113dSnw141292# BCC C Compiler and options for use in building executables that 12*c5c4113dSnw141292# will run on the platform that is doing the build. 13*c5c4113dSnw141292# 14*c5c4113dSnw141292# USLEEP If the target operating system supports the "usleep()" system 15*c5c4113dSnw141292# call, then define the HAVE_USLEEP macro for all C modules. 16*c5c4113dSnw141292# 17*c5c4113dSnw141292# THREADSAFE If you want the SQLite library to be safe for use within a 18*c5c4113dSnw141292# multi-threaded program, then define the following macro 19*c5c4113dSnw141292# appropriately: 20*c5c4113dSnw141292# 21*c5c4113dSnw141292# THREADLIB Specify any extra linker options needed to make the library 22*c5c4113dSnw141292# thread safe 23*c5c4113dSnw141292# 24*c5c4113dSnw141292# OPTS Extra compiler command-line options. 25*c5c4113dSnw141292# 26*c5c4113dSnw141292# EXE The suffix to add to executable files. ".exe" for windows 27*c5c4113dSnw141292# and "" for Unix. 28*c5c4113dSnw141292# 29*c5c4113dSnw141292# TCC C Compiler and options for use in building executables that 30*c5c4113dSnw141292# will run on the target platform. This is usually the same 31*c5c4113dSnw141292# as BCC, unless you are cross-compiling. 32*c5c4113dSnw141292# 33*c5c4113dSnw141292# AR Tools used to build a static library. 34*c5c4113dSnw141292# RANLIB 35*c5c4113dSnw141292# 36*c5c4113dSnw141292# TCL_FLAGS Extra compiler options needed for programs that use the 37*c5c4113dSnw141292# TCL library. 38*c5c4113dSnw141292# 39*c5c4113dSnw141292# LIBTCL Linker options needed to link against the TCL library. 40*c5c4113dSnw141292# 41*c5c4113dSnw141292# READLINE_FLAGS Compiler options needed for programs that use the 42*c5c4113dSnw141292# readline() library. 43*c5c4113dSnw141292# 44*c5c4113dSnw141292# LIBREADLINE Linker options needed by programs using readline() must 45*c5c4113dSnw141292# link against. 46*c5c4113dSnw141292# 47*c5c4113dSnw141292# ENCODING "UTF8" or "ISO8859" 48*c5c4113dSnw141292# 49*c5c4113dSnw141292# Once the macros above are defined, the rest of this make script will 50*c5c4113dSnw141292# build the SQLite library and testing tools. 51*c5c4113dSnw141292################################################################################ 52*c5c4113dSnw141292 53*c5c4113dSnw141292# This is how we compile 54*c5c4113dSnw141292# 55*c5c4113dSnw141292TCCX = $(TCC) $(OPTS) $(THREADSAFE) $(USLEEP) -I. -I$(TOP)/src 56*c5c4113dSnw141292 57*c5c4113dSnw141292# Object files for the SQLite library. 58*c5c4113dSnw141292# 59*c5c4113dSnw141292LIBOBJ = attach.o auth.o btree.o btree_rb.o build.o copy.o date.o delete.o \ 60*c5c4113dSnw141292 expr.o func.o hash.o insert.o \ 61*c5c4113dSnw141292 main.o opcodes.o os.o pager.o parse.o pragma.o printf.o random.o \ 62*c5c4113dSnw141292 select.o table.o tokenize.o trigger.o update.o util.o \ 63*c5c4113dSnw141292 vacuum.o vdbe.o vdbeaux.o where.o tclsqlite.o 64*c5c4113dSnw141292 65*c5c4113dSnw141292# All of the source code files. 66*c5c4113dSnw141292# 67*c5c4113dSnw141292SRC = \ 68*c5c4113dSnw141292 $(TOP)/src/attach.c \ 69*c5c4113dSnw141292 $(TOP)/src/auth.c \ 70*c5c4113dSnw141292 $(TOP)/src/btree.c \ 71*c5c4113dSnw141292 $(TOP)/src/btree.h \ 72*c5c4113dSnw141292 $(TOP)/src/btree_rb.c \ 73*c5c4113dSnw141292 $(TOP)/src/build.c \ 74*c5c4113dSnw141292 $(TOP)/src/copy.c \ 75*c5c4113dSnw141292 $(TOP)/src/date.c \ 76*c5c4113dSnw141292 $(TOP)/src/delete.c \ 77*c5c4113dSnw141292 $(TOP)/src/encode.c \ 78*c5c4113dSnw141292 $(TOP)/src/expr.c \ 79*c5c4113dSnw141292 $(TOP)/src/func.c \ 80*c5c4113dSnw141292 $(TOP)/src/hash.c \ 81*c5c4113dSnw141292 $(TOP)/src/hash.h \ 82*c5c4113dSnw141292 $(TOP)/src/insert.c \ 83*c5c4113dSnw141292 $(TOP)/src/main.c \ 84*c5c4113dSnw141292 $(TOP)/src/os.c \ 85*c5c4113dSnw141292 $(TOP)/src/pager.c \ 86*c5c4113dSnw141292 $(TOP)/src/pager.h \ 87*c5c4113dSnw141292 $(TOP)/src/parse.y \ 88*c5c4113dSnw141292 $(TOP)/src/pragma.c \ 89*c5c4113dSnw141292 $(TOP)/src/printf.c \ 90*c5c4113dSnw141292 $(TOP)/src/random.c \ 91*c5c4113dSnw141292 $(TOP)/src/select.c \ 92*c5c4113dSnw141292 $(TOP)/src/shell.c \ 93*c5c4113dSnw141292 $(TOP)/src/sqlite.h.in \ 94*c5c4113dSnw141292 $(TOP)/src/sqliteInt.h \ 95*c5c4113dSnw141292 $(TOP)/src/table.c \ 96*c5c4113dSnw141292 $(TOP)/src/tclsqlite.c \ 97*c5c4113dSnw141292 $(TOP)/src/tokenize.c \ 98*c5c4113dSnw141292 $(TOP)/src/trigger.c \ 99*c5c4113dSnw141292 $(TOP)/src/update.c \ 100*c5c4113dSnw141292 $(TOP)/src/util.c \ 101*c5c4113dSnw141292 $(TOP)/src/vacuum.c \ 102*c5c4113dSnw141292 $(TOP)/src/vdbe.c \ 103*c5c4113dSnw141292 $(TOP)/src/vdbe.h \ 104*c5c4113dSnw141292 $(TOP)/src/vdbeaux.c \ 105*c5c4113dSnw141292 $(TOP)/src/vdbeInt.h \ 106*c5c4113dSnw141292 $(TOP)/src/where.c 107*c5c4113dSnw141292 108*c5c4113dSnw141292# Source code to the test files. 109*c5c4113dSnw141292# 110*c5c4113dSnw141292TESTSRC = \ 111*c5c4113dSnw141292 $(TOP)/src/btree.c \ 112*c5c4113dSnw141292 $(TOP)/src/func.c \ 113*c5c4113dSnw141292 $(TOP)/src/os.c \ 114*c5c4113dSnw141292 $(TOP)/src/pager.c \ 115*c5c4113dSnw141292 $(TOP)/src/test1.c \ 116*c5c4113dSnw141292 $(TOP)/src/test2.c \ 117*c5c4113dSnw141292 $(TOP)/src/test3.c \ 118*c5c4113dSnw141292 $(TOP)/src/test4.c \ 119*c5c4113dSnw141292 $(TOP)/src/vdbe.c \ 120*c5c4113dSnw141292 $(TOP)/src/md5.c 121*c5c4113dSnw141292 122*c5c4113dSnw141292# Header files used by all library source files. 123*c5c4113dSnw141292# 124*c5c4113dSnw141292HDR = \ 125*c5c4113dSnw141292 sqlite.h \ 126*c5c4113dSnw141292 $(TOP)/src/btree.h \ 127*c5c4113dSnw141292 config.h \ 128*c5c4113dSnw141292 $(TOP)/src/hash.h \ 129*c5c4113dSnw141292 opcodes.h \ 130*c5c4113dSnw141292 $(TOP)/src/os.h \ 131*c5c4113dSnw141292 $(TOP)/src/sqliteInt.h \ 132*c5c4113dSnw141292 $(TOP)/src/vdbe.h \ 133*c5c4113dSnw141292 parse.h 134*c5c4113dSnw141292 135*c5c4113dSnw141292# Header files used by the VDBE submodule 136*c5c4113dSnw141292# 137*c5c4113dSnw141292VDBEHDR = \ 138*c5c4113dSnw141292 $(HDR) \ 139*c5c4113dSnw141292 $(TOP)/src/vdbeInt.h 140*c5c4113dSnw141292 141*c5c4113dSnw141292# This is the default Makefile target. The objects listed here 142*c5c4113dSnw141292# are what get build when you type just "make" with no arguments. 143*c5c4113dSnw141292# 144*c5c4113dSnw141292all: sqlite.h config.h libsqlite.a sqlite$(EXE) 145*c5c4113dSnw141292 146*c5c4113dSnw141292# Generate the file "last_change" which contains the date of change 147*c5c4113dSnw141292# of the most recently modified source code file 148*c5c4113dSnw141292# 149*c5c4113dSnw141292last_change: $(SRC) 150*c5c4113dSnw141292 cat $(SRC) | grep '$$Id: ' | sort +4 | tail -1 \ 151*c5c4113dSnw141292 | awk '{print $$5,$$6}' >last_change 152*c5c4113dSnw141292 153*c5c4113dSnw141292libsqlite.a: $(LIBOBJ) 154*c5c4113dSnw141292 $(AR) libsqlite.a $(LIBOBJ) 155*c5c4113dSnw141292 $(RANLIB) libsqlite.a 156*c5c4113dSnw141292 157*c5c4113dSnw141292sqlite$(EXE): $(TOP)/src/shell.c libsqlite.a sqlite.h 158*c5c4113dSnw141292 $(TCCX) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \ 159*c5c4113dSnw141292 libsqlite.a $(LIBREADLINE) $(THREADLIB) 160*c5c4113dSnw141292 161*c5c4113dSnw141292sqlite_analyzer$(EXE): $(TOP)/src/tclsqlite.c libsqlite.a $(TESTSRC) \ 162*c5c4113dSnw141292 $(TOP)/tool/spaceanal.tcl 163*c5c4113dSnw141292 sed \ 164*c5c4113dSnw141292 -e '/^#/d' \ 165*c5c4113dSnw141292 -e 's,\\,\\\\,g' \ 166*c5c4113dSnw141292 -e 's,",\\",g' \ 167*c5c4113dSnw141292 -e 's,^,",' \ 168*c5c4113dSnw141292 -e 's,$$,\\n",' \ 169*c5c4113dSnw141292 $(TOP)/tool/spaceanal.tcl >spaceanal_tcl.h 170*c5c4113dSnw141292 $(TCCX) $(TCL_FLAGS) -DTCLSH=2 -DSQLITE_TEST=1 -static -o \ 171*c5c4113dSnw141292 sqlite_analyzer$(EXE) $(TESTSRC) $(TOP)/src/tclsqlite.c \ 172*c5c4113dSnw141292 libsqlite.a $(LIBTCL) 173*c5c4113dSnw141292 174*c5c4113dSnw141292 175*c5c4113dSnw141292# This target creates a directory named "tsrc" and fills it with 176*c5c4113dSnw141292# copies of all of the C source code and header files needed to 177*c5c4113dSnw141292# build on the target system. Some of the C source code and header 178*c5c4113dSnw141292# files are automatically generated. This target takes care of 179*c5c4113dSnw141292# all that automatic generation. 180*c5c4113dSnw141292# 181*c5c4113dSnw141292target_source: $(SRC) $(VDBEHDR) opcodes.c 182*c5c4113dSnw141292 rm -rf tsrc 183*c5c4113dSnw141292 mkdir tsrc 184*c5c4113dSnw141292 cp $(SRC) $(VDBEHDR) tsrc 185*c5c4113dSnw141292 rm tsrc/sqlite.h.in tsrc/parse.y 186*c5c4113dSnw141292 cp parse.c opcodes.c tsrc 187*c5c4113dSnw141292 188*c5c4113dSnw141292# Rules to build the LEMON compiler generator 189*c5c4113dSnw141292# 190*c5c4113dSnw141292lemon: $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c 191*c5c4113dSnw141292 $(BCC) -o lemon $(TOP)/tool/lemon.c 192*c5c4113dSnw141292 cp $(TOP)/tool/lempar.c . 193*c5c4113dSnw141292 194*c5c4113dSnw141292btree.o: $(TOP)/src/btree.c $(HDR) $(TOP)/src/pager.h 195*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/btree.c 196*c5c4113dSnw141292 197*c5c4113dSnw141292btree_rb.o: $(TOP)/src/btree_rb.c $(HDR) 198*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/btree_rb.c 199*c5c4113dSnw141292 200*c5c4113dSnw141292build.o: $(TOP)/src/build.c $(HDR) 201*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/build.c 202*c5c4113dSnw141292 203*c5c4113dSnw141292main.o: $(TOP)/src/main.c $(HDR) 204*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/main.c 205*c5c4113dSnw141292 206*c5c4113dSnw141292pager.o: $(TOP)/src/pager.c $(HDR) $(TOP)/src/pager.h 207*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/pager.c 208*c5c4113dSnw141292 209*c5c4113dSnw141292opcodes.o: opcodes.c 210*c5c4113dSnw141292 $(TCCX) -c opcodes.c 211*c5c4113dSnw141292 212*c5c4113dSnw141292opcodes.c: $(TOP)/src/vdbe.c 213*c5c4113dSnw141292 echo '/* Automatically generated file. Do not edit */' >opcodes.c 214*c5c4113dSnw141292 echo 'char *sqliteOpcodeNames[] = { "???", ' >>opcodes.c 215*c5c4113dSnw141292 grep '^case OP_' $(TOP)/src/vdbe.c | \ 216*c5c4113dSnw141292 sed -e 's/^.*OP_/ "/' -e 's/:.*$$/", /' >>opcodes.c 217*c5c4113dSnw141292 echo '};' >>opcodes.c 218*c5c4113dSnw141292 219*c5c4113dSnw141292opcodes.h: $(TOP)/src/vdbe.h 220*c5c4113dSnw141292 echo '/* Automatically generated file. Do not edit */' >opcodes.h 221*c5c4113dSnw141292 grep '^case OP_' $(TOP)/src/vdbe.c | \ 222*c5c4113dSnw141292 sed -e 's/://' | \ 223*c5c4113dSnw141292 awk '{printf "#define %-30s %3d\n", $$2, ++cnt}' >>opcodes.h 224*c5c4113dSnw141292 225*c5c4113dSnw141292os.o: $(TOP)/src/os.c $(HDR) 226*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/os.c 227*c5c4113dSnw141292 228*c5c4113dSnw141292parse.o: parse.c $(HDR) 229*c5c4113dSnw141292 $(TCCX) -c parse.c 230*c5c4113dSnw141292 231*c5c4113dSnw141292parse.h: parse.c 232*c5c4113dSnw141292 233*c5c4113dSnw141292parse.c: $(TOP)/src/parse.y lemon 234*c5c4113dSnw141292 cp $(TOP)/src/parse.y . 235*c5c4113dSnw141292 ./lemon parse.y 236*c5c4113dSnw141292 237*c5c4113dSnw141292# The config.h file will contain a single #define that tells us how 238*c5c4113dSnw141292# many bytes are in a pointer. This only works if a pointer is the 239*c5c4113dSnw141292# same size on the host as it is on the target. If you are cross-compiling 240*c5c4113dSnw141292# to a target with a different pointer size, you'll need to manually 241*c5c4113dSnw141292# configure the config.h file. 242*c5c4113dSnw141292# 243*c5c4113dSnw141292config.h: 244*c5c4113dSnw141292 echo '#include <stdio.h>' >temp.c 245*c5c4113dSnw141292 echo 'int main(){printf(' >>temp.c 246*c5c4113dSnw141292 echo '"#define SQLITE_PTR_SZ %d",sizeof(char*));' >>temp.c 247*c5c4113dSnw141292 echo 'exit(0);}' >>temp.c 248*c5c4113dSnw141292 $(BCC) -o temp temp.c 249*c5c4113dSnw141292 ./temp >config.h 250*c5c4113dSnw141292 echo >>config.h 251*c5c4113dSnw141292 rm -f temp.c temp 252*c5c4113dSnw141292 253*c5c4113dSnw141292sqlite.h: $(TOP)/src/sqlite.h.in 254*c5c4113dSnw141292 sed -e s/--VERS--/`cat ${TOP}/VERSION`/ \ 255*c5c4113dSnw141292 -e s/--ENCODING--/$(ENCODING)/ \ 256*c5c4113dSnw141292 $(TOP)/src/sqlite.h.in >sqlite.h 257*c5c4113dSnw141292 258*c5c4113dSnw141292tokenize.o: $(TOP)/src/tokenize.c $(HDR) 259*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/tokenize.c 260*c5c4113dSnw141292 261*c5c4113dSnw141292trigger.o: $(TOP)/src/trigger.c $(HDR) 262*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/trigger.c 263*c5c4113dSnw141292 264*c5c4113dSnw141292util.o: $(TOP)/src/util.c $(HDR) 265*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/util.c 266*c5c4113dSnw141292 267*c5c4113dSnw141292vacuum.o: $(TOP)/src/vacuum.c $(HDR) 268*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/vacuum.c 269*c5c4113dSnw141292 270*c5c4113dSnw141292vdbe.o: $(TOP)/src/vdbe.c $(VDBEHDR) 271*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/vdbe.c 272*c5c4113dSnw141292 273*c5c4113dSnw141292vdbeaux.o: $(TOP)/src/vdbeaux.c $(VDBEHDR) 274*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/vdbeaux.c 275*c5c4113dSnw141292 276*c5c4113dSnw141292where.o: $(TOP)/src/where.c $(HDR) 277*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/where.c 278*c5c4113dSnw141292 279*c5c4113dSnw141292copy.o: $(TOP)/src/copy.c $(HDR) 280*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/copy.c 281*c5c4113dSnw141292 282*c5c4113dSnw141292date.o: $(TOP)/src/date.c $(HDR) 283*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/date.c 284*c5c4113dSnw141292 285*c5c4113dSnw141292delete.o: $(TOP)/src/delete.c $(HDR) 286*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/delete.c 287*c5c4113dSnw141292 288*c5c4113dSnw141292encode.o: $(TOP)/src/encode.c 289*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/encode.c 290*c5c4113dSnw141292 291*c5c4113dSnw141292expr.o: $(TOP)/src/expr.c $(HDR) 292*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/expr.c 293*c5c4113dSnw141292 294*c5c4113dSnw141292func.o: $(TOP)/src/func.c $(HDR) 295*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/func.c 296*c5c4113dSnw141292 297*c5c4113dSnw141292hash.o: $(TOP)/src/hash.c $(HDR) 298*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/hash.c 299*c5c4113dSnw141292 300*c5c4113dSnw141292insert.o: $(TOP)/src/insert.c $(HDR) 301*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/insert.c 302*c5c4113dSnw141292 303*c5c4113dSnw141292random.o: $(TOP)/src/random.c $(HDR) 304*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/random.c 305*c5c4113dSnw141292 306*c5c4113dSnw141292select.o: $(TOP)/src/select.c $(HDR) 307*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/select.c 308*c5c4113dSnw141292 309*c5c4113dSnw141292table.o: $(TOP)/src/table.c $(HDR) 310*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/table.c 311*c5c4113dSnw141292 312*c5c4113dSnw141292update.o: $(TOP)/src/update.c $(HDR) 313*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/update.c 314*c5c4113dSnw141292 315*c5c4113dSnw141292tclsqlite.o: $(TOP)/src/tclsqlite.c $(HDR) 316*c5c4113dSnw141292 $(TCCX) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c 317*c5c4113dSnw141292 318*c5c4113dSnw141292pragma.o: $(TOP)/src/pragma.c $(HDR) 319*c5c4113dSnw141292 $(TCCX) $(TCL_FLAGS) -c $(TOP)/src/pragma.c 320*c5c4113dSnw141292 321*c5c4113dSnw141292printf.o: $(TOP)/src/printf.c $(HDR) 322*c5c4113dSnw141292 $(TCCX) $(TCL_FLAGS) -c $(TOP)/src/printf.c 323*c5c4113dSnw141292 324*c5c4113dSnw141292attach.o: $(TOP)/src/attach.c $(HDR) 325*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/attach.c 326*c5c4113dSnw141292 327*c5c4113dSnw141292auth.o: $(TOP)/src/auth.c $(HDR) 328*c5c4113dSnw141292 $(TCCX) -c $(TOP)/src/auth.c 329*c5c4113dSnw141292 330*c5c4113dSnw141292tclsqlite: $(TOP)/src/tclsqlite.c libsqlite.a 331*c5c4113dSnw141292 $(TCCX) $(TCL_FLAGS) -DTCLSH=1 -o tclsqlite \ 332*c5c4113dSnw141292 $(TOP)/src/tclsqlite.c libsqlite.a $(LIBTCL) 333*c5c4113dSnw141292 334*c5c4113dSnw141292testfixture$(EXE): $(TOP)/src/tclsqlite.c libsqlite.a $(TESTSRC) 335*c5c4113dSnw141292 $(TCCX) $(TCL_FLAGS) -DTCLSH=1 -DSQLITE_TEST=1 -o testfixture$(EXE) \ 336*c5c4113dSnw141292 $(TESTSRC) $(TOP)/src/tclsqlite.c \ 337*c5c4113dSnw141292 libsqlite.a $(LIBTCL) $(THREADLIB) 338*c5c4113dSnw141292 339*c5c4113dSnw141292fulltest: testfixture$(EXE) sqlite$(EXE) 340*c5c4113dSnw141292 ./testfixture$(EXE) $(TOP)/test/all.test 341*c5c4113dSnw141292 342*c5c4113dSnw141292test: testfixture$(EXE) sqlite$(EXE) 343*c5c4113dSnw141292 ./testfixture$(EXE) $(TOP)/test/quick.test 344*c5c4113dSnw141292 345*c5c4113dSnw141292index.html: $(TOP)/www/index.tcl last_change 346*c5c4113dSnw141292 tclsh $(TOP)/www/index.tcl `cat $(TOP)/VERSION` >index.html 347*c5c4113dSnw141292 348*c5c4113dSnw141292sqlite.html: $(TOP)/www/sqlite.tcl 349*c5c4113dSnw141292 tclsh $(TOP)/www/sqlite.tcl >sqlite.html 350*c5c4113dSnw141292 351*c5c4113dSnw141292c_interface.html: $(TOP)/www/c_interface.tcl 352*c5c4113dSnw141292 tclsh $(TOP)/www/c_interface.tcl >c_interface.html 353*c5c4113dSnw141292 354*c5c4113dSnw141292changes.html: $(TOP)/www/changes.tcl 355*c5c4113dSnw141292 tclsh $(TOP)/www/changes.tcl >changes.html 356*c5c4113dSnw141292 357*c5c4113dSnw141292lang.html: $(TOP)/www/lang.tcl 358*c5c4113dSnw141292 tclsh $(TOP)/www/lang.tcl >lang.html 359*c5c4113dSnw141292 360*c5c4113dSnw141292vdbe.html: $(TOP)/www/vdbe.tcl 361*c5c4113dSnw141292 tclsh $(TOP)/www/vdbe.tcl >vdbe.html 362*c5c4113dSnw141292 363*c5c4113dSnw141292arch.html: $(TOP)/www/arch.tcl 364*c5c4113dSnw141292 tclsh $(TOP)/www/arch.tcl >arch.html 365*c5c4113dSnw141292 366*c5c4113dSnw141292arch.png: $(TOP)/www/arch.png 367*c5c4113dSnw141292 cp $(TOP)/www/arch.png . 368*c5c4113dSnw141292 369*c5c4113dSnw141292opcode.html: $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c 370*c5c4113dSnw141292 tclsh $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c >opcode.html 371*c5c4113dSnw141292 372*c5c4113dSnw141292mingw.html: $(TOP)/www/mingw.tcl 373*c5c4113dSnw141292 tclsh $(TOP)/www/mingw.tcl >mingw.html 374*c5c4113dSnw141292 375*c5c4113dSnw141292tclsqlite.html: $(TOP)/www/tclsqlite.tcl 376*c5c4113dSnw141292 tclsh $(TOP)/www/tclsqlite.tcl >tclsqlite.html 377*c5c4113dSnw141292 378*c5c4113dSnw141292speed.html: $(TOP)/www/speed.tcl 379*c5c4113dSnw141292 tclsh $(TOP)/www/speed.tcl >speed.html 380*c5c4113dSnw141292 381*c5c4113dSnw141292faq.html: $(TOP)/www/faq.tcl 382*c5c4113dSnw141292 tclsh $(TOP)/www/faq.tcl >faq.html 383*c5c4113dSnw141292 384*c5c4113dSnw141292formatchng.html: $(TOP)/www/formatchng.tcl 385*c5c4113dSnw141292 tclsh $(TOP)/www/formatchng.tcl >formatchng.html 386*c5c4113dSnw141292 387*c5c4113dSnw141292conflict.html: $(TOP)/www/conflict.tcl 388*c5c4113dSnw141292 tclsh $(TOP)/www/conflict.tcl >conflict.html 389*c5c4113dSnw141292 390*c5c4113dSnw141292download.html: $(TOP)/www/download.tcl 391*c5c4113dSnw141292 tclsh $(TOP)/www/download.tcl >download.html 392*c5c4113dSnw141292 393*c5c4113dSnw141292omitted.html: $(TOP)/www/omitted.tcl 394*c5c4113dSnw141292 tclsh $(TOP)/www/omitted.tcl >omitted.html 395*c5c4113dSnw141292 396*c5c4113dSnw141292datatypes.html: $(TOP)/www/datatypes.tcl 397*c5c4113dSnw141292 tclsh $(TOP)/www/datatypes.tcl >datatypes.html 398*c5c4113dSnw141292 399*c5c4113dSnw141292quickstart.html: $(TOP)/www/quickstart.tcl 400*c5c4113dSnw141292 tclsh $(TOP)/www/quickstart.tcl >quickstart.html 401*c5c4113dSnw141292 402*c5c4113dSnw141292fileformat.html: $(TOP)/www/fileformat.tcl 403*c5c4113dSnw141292 tclsh $(TOP)/www/fileformat.tcl >fileformat.html 404*c5c4113dSnw141292 405*c5c4113dSnw141292nulls.html: $(TOP)/www/nulls.tcl 406*c5c4113dSnw141292 tclsh $(TOP)/www/nulls.tcl >nulls.html 407*c5c4113dSnw141292 408*c5c4113dSnw141292 409*c5c4113dSnw141292# Files to be published on the website. 410*c5c4113dSnw141292# 411*c5c4113dSnw141292DOC = \ 412*c5c4113dSnw141292 index.html \ 413*c5c4113dSnw141292 sqlite.html \ 414*c5c4113dSnw141292 changes.html \ 415*c5c4113dSnw141292 lang.html \ 416*c5c4113dSnw141292 opcode.html \ 417*c5c4113dSnw141292 arch.html \ 418*c5c4113dSnw141292 arch.png \ 419*c5c4113dSnw141292 vdbe.html \ 420*c5c4113dSnw141292 c_interface.html \ 421*c5c4113dSnw141292 mingw.html \ 422*c5c4113dSnw141292 tclsqlite.html \ 423*c5c4113dSnw141292 download.html \ 424*c5c4113dSnw141292 speed.html \ 425*c5c4113dSnw141292 faq.html \ 426*c5c4113dSnw141292 formatchng.html \ 427*c5c4113dSnw141292 conflict.html \ 428*c5c4113dSnw141292 omitted.html \ 429*c5c4113dSnw141292 datatypes.html \ 430*c5c4113dSnw141292 quickstart.html \ 431*c5c4113dSnw141292 fileformat.html \ 432*c5c4113dSnw141292 nulls.html 433*c5c4113dSnw141292 434*c5c4113dSnw141292doc: $(DOC) 435*c5c4113dSnw141292 mkdir -p doc 436*c5c4113dSnw141292 mv $(DOC) doc 437*c5c4113dSnw141292 438*c5c4113dSnw141292install: sqlite libsqlite.a sqlite.h 439*c5c4113dSnw141292 mv sqlite /usr/bin 440*c5c4113dSnw141292 mv libsqlite.a /usr/lib 441*c5c4113dSnw141292 mv sqlite.h /usr/include 442*c5c4113dSnw141292 443*c5c4113dSnw141292clean: 444*c5c4113dSnw141292 rm -f *.o sqlite libsqlite.a sqlite.h opcodes.* 445*c5c4113dSnw141292 rm -f lemon lempar.c parse.* sqlite*.tar.gz 446*c5c4113dSnw141292 rm -f $(PUBLISH) 447*c5c4113dSnw141292 rm -f *.da *.bb *.bbg gmon.out 448*c5c4113dSnw141292 rm -rf tsrc 449