Home | History | Annotate | Download | only in src
      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 #
     17 TOP = ..
     18 
     19 #### C Compiler and options for use in building executables that
     20 #    will run on the platform that is doing the build.
     21 #
     22 BCC = 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 = 
     29 USLEEP = -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
     36 THREADSAFE = -DTHREADSAFE=1
     37 
     38 #### Specify any extra linker options needed to make the library
     39 #    thread safe
     40 #
     41 #THREADLIB = -lpthread
     42 THREADLIB = -lpthread
     43 
     44 #### Specify any extra libraries needed to access required functions.
     45 #
     46 #TLIBS = -lrt    # fdatasync on Solaris 8
     47 TLIBS = 
     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 
     63 OPTS += -DNDEBUG
     64 OPTS += -DSQLITE_CORE
     65 OPTS += -DSQLITE_ENABLE_FTS2 -DSQLITE_ENABLE_BROKEN_FTS2
     66 OPTS += -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
     67 OPTS += -DHAVE_USLEEP=1
     68 
     69 # Additional SQLite tests.
     70 OPTS += -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 
     78 SHELL_ICU = $(TOP)/src/shell_icu_linux.c -licuuc
     79 
     80 # TODO(shess) I can't see why I need this setting.
     81 OPTS += -DOS_UNIX=1
     82 
     83 #### The suffix to add to executable files.  ".exe" for windows.
     84 #    Nothing for unix.
     85 #
     86 #EXE = .exe
     87 EXE =
     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 #
     93 TCC = 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 #
    101 AR = ar cr
    102 #AR = /opt/mingw/bin/i386-mingw32-ar cr
    103 RANLIB = ranlib
    104 #RANLIB = /opt/mingw/bin/i386-mingw32-ranlib
    105 
    106 MKSHLIB = gcc -shared
    107 SO = so
    108 SHPREFIX = lib
    109 # SO = dll
    110 # SHPREFIX =
    111 
    112 #### Extra compiler options needed for programs that use the TCL library.
    113 #
    114 TCL_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 #
    122 LIBTCL = -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 =
    129 TCLOBJ = tclsqlite.o
    130 
    131 #### Compiler options needed for programs that use the readline() library.
    132 #
    133 READLINE_FLAGS =
    134 #READLINE_FLAGS = -DHAVE_READLINE=1 -I/usr/include/readline
    135 
    136 #### Linker options needed by programs using readline() must link against.
    137 #
    138 LIBREADLINE =
    139 #LIBREADLINE = -static -lreadline -ltermcap
    140 
    141 #### Which "awk" program provides nawk compatibilty
    142 #
    143 # NAWK = nawk
    144 NAWK = awk
    145 
    146 # You should not have to change anything below this line
    147 ###############################################################################
    148 include $(TOP)/main.mk
    149