xref: /sqlite-3.40.0/Makefile.linux-gcc (revision 06ae6792)
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 = ../sqlite
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=0
37
38#### Specify any extra linker options needed to make the library
39#    thread safe
40#
41#THREADLIB = -lpthread
42THREADLIB =
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 =
60OPTS = -DNDEBUG=1
61OPTS += -DHAVE_FDATASYNC=1
62
63#### The suffix to add to executable files.  ".exe" for windows.
64#    Nothing for unix.
65#
66#EXE = .exe
67EXE =
68
69#### C Compile and options for use in building executables that
70#    will run on the target platform.  This is usually the same
71#    as BCC, unless you are cross-compiling.
72#
73TCC = gcc -O6
74#TCC = gcc -g -O0 -Wall
75#TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage
76#TCC = /opt/mingw/bin/i386-mingw32-gcc -O6
77#TCC = /opt/ansic/bin/c89 -O +z -Wl,-a,archive
78
79#### Tools used to build a static library.
80#
81AR = ar cr
82#AR = /opt/mingw/bin/i386-mingw32-ar cr
83RANLIB = ranlib
84#RANLIB = /opt/mingw/bin/i386-mingw32-ranlib
85
86MKSHLIB = gcc -shared
87SO = so
88SHPREFIX = lib
89# SO = dll
90# SHPREFIX =
91
92#### Extra compiler options needed for programs that use the TCL library.
93#
94#TCL_FLAGS =
95#TCL_FLAGS = -DSTATIC_BUILD=1
96TCL_FLAGS = -I/home/drh/tcltk/8.5linux
97#TCL_FLAGS = -I/home/drh/tcltk/8.5win -DSTATIC_BUILD=1
98#TCL_FLAGS = -I/home/drh/tcltk/8.3hpux
99
100#### Linker options needed to link against the TCL library.
101#
102#LIBTCL = -ltcl -lm -ldl
103LIBTCL = /home/drh/tcltk/8.5linux/libtcl8.5g.a -lm -ldl
104#LIBTCL = /home/drh/tcltk/8.5win/libtcl85s.a -lmsvcrt
105#LIBTCL = /home/drh/tcltk/8.3hpux/libtcl8.3.a -ldld -lm -lc
106
107#### Additional objects for SQLite library when TCL support is enabled.
108#TCLOBJ =
109TCLOBJ = tclsqlite.o
110
111#### Compiler options needed for programs that use the readline() library.
112#
113READLINE_FLAGS =
114#READLINE_FLAGS = -DHAVE_READLINE=1 -I/usr/include/readline
115
116#### Linker options needed by programs using readline() must link against.
117#
118LIBREADLINE =
119#LIBREADLINE = -static -lreadline -ltermcap
120
121#### Which "awk" program provides nawk compatibilty
122#
123# NAWK = nawk
124NAWK = awk
125
126# You should not have to change anything below this line
127###############################################################################
128include $(TOP)/main.mk
129