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".
14 #### The toplevel directory of the source tree. This is the directory
15 # that contains this "Makefile.in" and the "configure.in" script.
19 #### C Compiler and options for use in building executables that
20 # will run on the platform that is doing the build.
23 #BCC = /opt/ancic/bin/c89 -0
25 #### If the target operating system supports the "usleep()" system
26 # call, then define the HAVE_USLEEP macro for all C modules.
29 USLEEP
= -DHAVE_USLEEP
=1
31 #### If you want the SQLite library to be safe for use within a
32 # multi-threaded program, then define the following macro
35 THREADSAFE
= -DTHREADSAFE
=1
36 #THREADSAFE = -DTHREADSAFE=0
38 #### Specify any extra linker options needed to make the library
44 #### Specify any extra libraries needed to access required functions.
46 #TLIBS = -lrt # fdatasync on Solaris 8
47 ifeq ($(shell uname
-s
),Darwin
)
48 TLIBS
= -framework CoreServices
53 #### Leave SQLITE_DEBUG undefined for maximum speed. Use SQLITE_DEBUG=1
54 # to check for memory leaks. Use SQLITE_DEBUG=2 to print a log of all
55 # malloc()s and free()s in order to track down memory leaks.
57 # SQLite uses some expensive assert() statements in the inner loop.
58 # You can make the library go almost twice as fast if you compile
61 #OPTS = -DSQLITE_DEBUG=2
62 #OPTS = -DSQLITE_DEBUG=1
65 #OPTS += -DHAVE_FDATASYNC=1
67 # These flags match those for SQLITE_CFLAGS in config.mk.
69 OPTS
+= -DSQLITE_DEFAULT_FILE_PERMISSIONS
=0600
70 OPTS
+= -DHAVE_USLEEP
=1
72 # Additional SQLite tests.
73 OPTS
+= -DSQLITE_MEMDEBUG
=1
75 # Don't include these ones, they break the SQLite tests.
76 # -DSQLITE_OMIT_ATTACH=1 \
77 # -DSQLITE_OMIT_LOAD_EXTENSION=1 \
78 # -DSQLITE_OMIT_VACUUM=1 \
79 # -DSQLITE_TRANSACTION_DEFAULT_IMMEDIATE=1 \
81 # TODO(shess) I can't see why I need this setting.
84 # The recover virtual table is not generally enabled. Enable it for testing
86 OPTS
+= -DDEFAULT_ENABLE_RECOVER
=1
88 # Support for loading Chromium ICU data in sqlite3.
89 ifeq ($(shell uname
-s
),Darwin
)
92 SHELL_ICU
= $(TOP
)/src
/shell_icu_linux.c
-licuuc
95 #### The suffix to add to executable files. ".exe" for windows.
101 #### C Compile and options for use in building executables that
102 # will run on the target platform. This is usually the same
103 # as BCC, unless you are cross-compiling.
106 #TCC = gcc -g -O0 -Wall
107 #TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage
108 #TCC = /opt/mingw/bin/i386-mingw32-gcc -O6
109 #TCC = /opt/ansic/bin/c89 -O +z -Wl,-a,archive
111 #### Tools used to build a static library.
114 #AR = /opt/mingw/bin/i386-mingw32-ar cr
116 #RANLIB = /opt/mingw/bin/i386-mingw32-ranlib
118 MKSHLIB
= gcc
-shared
124 #### Extra compiler options needed for programs that use the TCL library.
126 TCL_FLAGS
= -I
/usr
/include/tcl8.5
127 #TCL_FLAGS = -DSTATIC_BUILD=1
128 #TCL_FLAGS = -I/home/drh/tcltk/8.5linux
129 #TCL_FLAGS = -I/home/drh/tcltk/8.5win -DSTATIC_BUILD=1
130 #TCL_FLAGS = -I/home/drh/tcltk/8.3hpux
132 #### Linker options needed to link against the TCL library.
134 LIBTCL
= -ltcl8.5
-lm
-ldl
135 #LIBTCL = /home/drh/tcltk/8.5linux/libtcl8.5g.a -lm -ldl
136 #LIBTCL = /home/drh/tcltk/8.5win/libtcl85s.a -lmsvcrt
137 #LIBTCL = /home/drh/tcltk/8.3hpux/libtcl8.3.a -ldld -lm -lc
139 #### Additional objects for SQLite library when TCL support is enabled.
143 #### Compiler options needed for programs that use the readline() library.
146 #READLINE_FLAGS = -DHAVE_READLINE=1 -I/usr/include/readline
148 #### Linker options needed by programs using readline() must link against.
151 #LIBREADLINE = -static -lreadline -ltermcap
153 #### Which "awk" program provides nawk compatibilty
158 # You should not have to change anything below this line
159 ###############################################################################
160 include $(TOP
)/main.mk