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