15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#!/usr/make 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Makefile for SQLITE 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# This is a template makefile for SQLite. Most people prefer to 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# use the autoconf generated "configure" script to generate the 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# makefile automatically. But that does not work for everybody 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# and in every situation. If you are having problems with the 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# "configure" script, you might want to try this makefile as an 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# alternative. Create a copy of this file, edit the parameters 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# below and type "make". 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### The directory where to find the mingw32ce tools 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MINGW32CE = /opt/mingw32ce/bin 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### The target prefix of the mingw32ce tools 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TARGET = arm-wince-mingw32ce 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### The toplevel directory of the source tree. This is the directory 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# that contains this "Makefile.in" and the "configure.in" script. 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TOP = ../sqlite 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### C Compiler and options for use in building executables that 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# will run on the platform that is doing the build. 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)BCC = gcc -g -O2 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#BCC = /opt/ancic/bin/c89 -0 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### If the target operating system supports the "usleep()" system 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# call, then define the HAVE_USLEEP macro for all C modules. 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)USLEEP = 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#USLEEP = -DHAVE_USLEEP=1 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### If you want the SQLite library to be safe for use within a 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# multi-threaded program, then define the following macro 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# appropriately: 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)THREADSAFE = -DTHREADSAFE=1 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#THREADSAFE = -DTHREADSAFE=0 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### Specify any extra linker options needed to make the library 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# thread safe 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#THREADLIB = -lpthread 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)THREADLIB = 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### Specify any extra libraries needed to access required functions. 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#TLIBS = -lrt # fdatasync on Solaris 8 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TLIBS = 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### Leave SQLITE_DEBUG undefined for maximum speed. Use SQLITE_DEBUG=1 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# to check for memory leaks. Use SQLITE_DEBUG=2 to print a log of all 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# malloc()s and free()s in order to track down memory leaks. 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# SQLite uses some expensive assert() statements in the inner loop. 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# You can make the library go almost twice as fast if you compile 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# with -DNDEBUG=1 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#OPTS = -DSQLITE_DEBUG=2 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#OPTS = -DSQLITE_DEBUG=1 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#OPTS = 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)OPTS = -DNDEBUG=1 -DSQLITE_OS_WIN=1 -D_WIN32_WCE=1 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#OPTS += -DHAVE_FDATASYNC=1 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### The suffix to add to executable files. ".exe" for windows. 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Nothing for unix. 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EXE = .exe 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#EXE = 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### C Compile and options for use in building executables that 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# will run on the target platform. This is usually the same 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# as BCC, unless you are cross-compiling. 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#TCC = gcc -O6 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#TCC = gcc -g -O0 -Wall 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#TCC = /opt/mingw/bin/i386-mingw32-gcc -O6 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TCC = $(MINGW32CE)/$(TARGET)-gcc -O2 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#TCC = /opt/ansic/bin/c89 -O +z -Wl,-a,archive 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### Tools used to build a static library. 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#AR = ar cr 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#AR = /opt/mingw/bin/i386-mingw32-ar cr 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)AR = $(MINGW32CE)/$(TARGET)-ar cr 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#RANLIB = ranlib 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#RANLIB = /opt/mingw/bin/i386-mingw32-ranlib 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RANLIB = $(MINGW32CE)/$(TARGET)-ranlib 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#MKSHLIB = gcc -shared 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#SO = so 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#SHPREFIX = lib 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MKSHLIB = $(MINGW32CE)/$(TARGET)-gcc -shared 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SO = dll 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SHPREFIX = 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### Extra compiler options needed for programs that use the TCL library. 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#TCL_FLAGS = 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#TCL_FLAGS = -DSTATIC_BUILD=1 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TCL_FLAGS = -I/home/drh/tcltk/8.5linux 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#TCL_FLAGS = -I/home/drh/tcltk/8.5win -DSTATIC_BUILD=1 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#TCL_FLAGS = -I/home/drh/tcltk/8.3hpux 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### Linker options needed to link against the TCL library. 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#LIBTCL = -ltcl -lm -ldl 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)LIBTCL = /home/drh/tcltk/8.5linux/libtcl8.5g.a -lm -ldl 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#LIBTCL = /home/drh/tcltk/8.5win/libtcl85s.a -lmsvcrt 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#LIBTCL = /home/drh/tcltk/8.3hpux/libtcl8.3.a -ldld -lm -lc 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### Additional objects for SQLite library when TCL support is enabled. 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TCLOBJ = 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#TCLOBJ = tclsqlite.o 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### Compiler options needed for programs that use the readline() library. 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)READLINE_FLAGS = 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#READLINE_FLAGS = -DHAVE_READLINE=1 -I/usr/include/readline 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### Linker options needed by programs using readline() must link against. 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)LIBREADLINE = 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#LIBREADLINE = -static -lreadline -ltermcap 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#### Which "awk" program provides nawk compatibilty 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# NAWK = nawk 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NAWK = awk 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# You should not have to change anything below this line 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)############################################################################### 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)include $(TOP)/main.mk 139