xref: /onnv-gate/usr/src/lib/libsqlite/main.mk (revision 4520:7dbeadedd7fe)
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