1#!/usr/make
2#
3# Makefile for SQLITE
4#
5# This is a template makefile for SQLite.  Most people prefer to
6# use the autoconf generated "configure" script to generate the
7# makefile automatically.  But that does not work for everybody
8# and in every situation.  If you are having problems with the
9# "configure" script, you might want to try this makefile as an
10# alternative.  Create a copy of this file, edit the parameters
11# below and type "make".
12#
13
14#### The toplevel directory of the source tree.  This is the directory
15#    that contains this "Makefile.in" and the "configure.in" script.
16#
17TOP = ..
18
19#### C Compiler and options for use in building executables that
20#    will run on the platform that is doing the build.
21#
22BCC = gcc -g -O2
23#BCC = /opt/ancic/bin/c89 -0
24
25#### If the target operating system supports the "usleep()" system
26#    call, then define the HAVE_USLEEP macro for all C modules.
27#
28#USLEEP = 
29USLEEP = -DHAVE_USLEEP=1
30
31#### If you want the SQLite library to be safe for use within a 
32#    multi-threaded program, then define the following macro
33#    appropriately:
34#
35#THREADSAFE = -DTHREADSAFE=1
36THREADSAFE = -DTHREADSAFE=1
37
38#### Specify any extra linker options needed to make the library
39#    thread safe
40#
41#THREADLIB = -lpthread
42THREADLIB = -lpthread
43
44#### Specify any extra libraries needed to access required functions.
45#
46#TLIBS = -lrt    # fdatasync on Solaris 8
47TLIBS = 
48
49#### Leave SQLITE_DEBUG undefined for maximum speed.  Use SQLITE_DEBUG=1
50#    to check for memory leaks.  Use SQLITE_DEBUG=2 to print a log of all
51#    malloc()s and free()s in order to track down memory leaks.
52#    
53#    SQLite uses some expensive assert() statements in the inner loop.
54#    You can make the library go almost twice as fast if you compile
55#    with -DNDEBUG=1
56#
57#OPTS = -DSQLITE_DEBUG=2
58#OPTS = -DSQLITE_DEBUG=1
59#OPTS = 
60
61# These flags match those for SQLITE_CFLAGS in config.mk.  
62
63OPTS += -DNDEBUG
64OPTS += -DSQLITE_CORE
65OPTS += -DSQLITE_ENABLE_FTS2 -DSQLITE_ENABLE_BROKEN_FTS2
66OPTS += -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
67OPTS += -DHAVE_USLEEP=1
68
69# Additional SQLite tests.
70OPTS += -DSQLITE_MEMDEBUG=1
71
72# Don't include these ones, they break the SQLite tests.
73#  -DSQLITE_OMIT_ATTACH=1 \
74#  -DSQLITE_OMIT_LOAD_EXTENSION=1 \
75#  -DSQLITE_OMIT_VACUUM=1 \
76#  -DSQLITE_TRANSACTION_DEFAULT_IMMEDIATE=1 \
77
78SHELL_ICU = $(TOP)/src/shell_icu_linux.c -licuuc
79
80# TODO(shess) I can't see why I need this setting.
81OPTS += -DOS_UNIX=1
82
83#### The suffix to add to executable files.  ".exe" for windows.
84#    Nothing for unix.
85#
86#EXE = .exe
87EXE =
88
89#### C Compile and options for use in building executables that 
90#    will run on the target platform.  This is usually the same
91#    as BCC, unless you are cross-compiling.
92#
93TCC = gcc -O6
94#TCC = gcc -g -O0 -Wall
95#TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage
96#TCC = /opt/mingw/bin/i386-mingw32-gcc -O6
97#TCC = /opt/ansic/bin/c89 -O +z -Wl,-a,archive
98
99#### Tools used to build a static library.
100#
101AR = ar cr
102#AR = /opt/mingw/bin/i386-mingw32-ar cr
103RANLIB = ranlib
104#RANLIB = /opt/mingw/bin/i386-mingw32-ranlib
105
106MKSHLIB = gcc -shared
107SO = so
108SHPREFIX = lib
109# SO = dll
110# SHPREFIX =
111
112#### Extra compiler options needed for programs that use the TCL library.
113#
114TCL_FLAGS = -I/usr/include/tcl8.5
115#TCL_FLAGS = -DSTATIC_BUILD=1
116#TCL_FLAGS = -I/home/drh/tcltk/8.5linux
117#TCL_FLAGS = -I/home/drh/tcltk/8.5win -DSTATIC_BUILD=1
118#TCL_FLAGS = -I/home/drh/tcltk/8.3hpux
119
120#### Linker options needed to link against the TCL library.
121#
122LIBTCL = -ltcl8.5 -lm -ldl
123#LIBTCL = /home/drh/tcltk/8.5linux/libtcl8.5g.a -lm -ldl
124#LIBTCL = /home/drh/tcltk/8.5win/libtcl85s.a -lmsvcrt
125#LIBTCL = /home/drh/tcltk/8.3hpux/libtcl8.3.a -ldld -lm -lc
126
127#### Additional objects for SQLite library when TCL support is enabled.
128#TCLOBJ =
129TCLOBJ = tclsqlite.o
130
131#### Compiler options needed for programs that use the readline() library.
132#
133READLINE_FLAGS =
134#READLINE_FLAGS = -DHAVE_READLINE=1 -I/usr/include/readline
135
136#### Linker options needed by programs using readline() must link against.
137#
138LIBREADLINE =
139#LIBREADLINE = -static -lreadline -ltermcap
140
141#### Which "awk" program provides nawk compatibilty
142#
143# NAWK = nawk
144NAWK = awk
145
146# You should not have to change anything below this line
147###############################################################################
148include $(TOP)/main.mk
149