CoolFace
Modelpublic

AryaWu/sqlite

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
main.mk2557 linesDownload Raw Back to root
1#!/do/not/make2# ^^^^ help out editors which guess this file's type.3###############################################################################4# This is the main makefile for sqlite. It expects to be included from5# a higher-level makefile which configures any dynamic state needed by6# this one (as documented below).7#8# Maintenance reminders:9#10#  - This file must remain devoid of GNU Make-isms.  i.e. it must be11#  POSIX Make compatible. "bmake" (BSD make) is available on most12#  Linux systems, so compatibility is relatively easy to test.  As a13#  harmless exception, this file sometimes uses $(MAKEFILE_LIST) as a14#  dependency. That var, in GNU Make, holds a list of all of the15#  makefiles currently loaded.16#17# The variables listed below must be defined before this script is18# invoked. This file will use defaults, very possibly invalid, for any19# which are not defined.20########################################################################21all:22#23# $(TOP) =24#25# The top-level directory of the source tree.  For canonical builds26# this is the directory that contains this "Makefile.in" and the27# "auto.def" script. For out-of-tree builds, this will differ from28# $(PWD).29#30TOP ?= $(PWD)31#32# $(PACKAGE_VERSION) =33#34# The MAJOR.MINOR.PATCH version number of this build.35#36PACKAGE_VERSION ?=37#38# $(B.cc) =39#40# C Compiler and options for use in building executables that will run41# on the platform that is doing the build.42#43B.cc ?= $(CC)44#45# $(T.cc) =46#47# C Compiler and options for use in building executables that will run48# on the target platform.  This is usually the same as B.cc, unless you49# are cross-compiling. Note that it should only contain flags which50# are used by _all_ build targets.  Flags needed only by specific51# targets are defined elsewhere and applied on a per-target basis.52#53T.cc ?= $(B.cc)54#55# $(AR) =56#57# Tool used to build a static library from object files, without its58# arguments. $(AR.flags) are its flags for creating a lib.59#60AR       ?= ar61AR.flags ?= cr62#63# $(B.exe) =64#65# File extension for executables on the build platform:. .exe for66# Windows and empty everywhere else.67#68B.exe ?=69#70# $(B.dll) and $(B.lib) =71#72# The DLL resp. static library counterparts of $(B.exe).73#74B.dll ?= .so75B.lib ?= .a76#77# $(T.exe) =78#79# File extension for executables on the target platform: .exe for80# Windows and empty everywhere else.81#82T.exe ?= $(B.exe)83#84# $(T.dll) and $(T.lib) =85#86# The DLL resp. static library counterparts of $(T.exe).87#88T.dll ?= $(B.dll)89T.lib ?= $(B.lib)90#91# HAVE_TCL = 1 to enable full tcl support, else 0.92#93HAVE_TCL ?= 094#95# $(TCLSH_CMD) =96#97# The canonical tclsh.98#99TCLSH_CMD ?= tclsh100#101# JimTCL is part of the autosetup suite and is suitable for all102# current in-tree code-generation TCL jobs, but it requires that we103# build it with non-default flags. The canonical build tree will, if104# no system-level tclsh is found, also have a ./jimsh0 binary. That105# one is a bare-bones build for the configure process, whereas we need106# to build it with another option enabled for use with the various107# code generators.108#109# JIMSH requires a leading path component, even if it's ./, so that it110# can be used as a shell command.111#112# On Windows platforms, if -DHAVE_REALPATH does not work then try113# -DHAVE__FULLPATH (note the double-underscore).114#115CFLAGS.jimsh ?= -DHAVE_REALPATH116JIMSH ?= ./jimsh$(T.exe)117#118# $(B.tclsh) =119#120# The TCL interpreter for in-tree code generation. May be either the121# in-tree JimTCL ($(JIMSH)) or the canonical TCL ($(TCLSH_CMD)). If122# it's JimTCL, it must be compiled with -DHAVE_REALPATH (Unix) or123# -DHAVE__FULLPATH (Windows) so that the Tcl function [file normalize]124# can work.125#126B.tclsh ?= $(JIMSH)127 128#129# Autotools-conventional vars which are (in this tree) used only by130# package installation rules and for generating sqlite3.pc (pkg-config131# data file).132#133# The following ${XYZdir} vars are provided for the sake of clients134# who expect to be able to override these using autotools-conventional135# dir name vars.136#137prefix      ?= /usr/local138datadir     ?= $(prefix)/share139mandir      ?= $(datadir)/man140includedir  ?= $(prefix)/include141exec_prefix ?= $(prefix)142bindir      ?= $(exec_prefix)/bin143libdir      ?= $(exec_prefix)/lib144# This makefile does not use any of:145# sbindir        ?= $(exec_prefix)/sbin146# sysconfdir     ?= /etc147# sharedstatedir ?= $(prefix)/com148# localstatedir  ?= /var149# runstatedir    ?= /run150# infodir        ?= $(datadir)/info151# libexecdir     ?= $(exec_prefix)/libexec152### end of autotools-compatible install dir vars153 154 155#156# $(LDFLAGS.{feature}) and $(CFLAGS.{feature}) =157#158# Linker resp. C/CPP flags required by a specific feature, e.g.159# $(LDFLAGS.pthread) or $(CFLAGS.readline).160#161# Rather that stuffing all CFLAGS and LDFLAGS into a single set, we162# break them down on a per-feature basis and expect the build targets163# to use the one(s) it needs.164#165LDFLAGS.zlib ?= -lz166LDFLAGS.math ?= -lm167LDFLAGS.rpath ?= -Wl,-rpath -Wl,$(prefix)/lib168LDFLAGS.pthread ?= -lpthread169LDFLAGS.dlopen ?= -ldl170LDFLAGS.shlib ?= -shared171LDFLAGS.rt ?= # nanosleep on some platforms172LDFLAGS.icu ?= # -licui18n -licuuc -licudata173CFLAGS.icu ?=174LDFLAGS.libsqlite3.soname ?= # see https://sqlite.org/src/forumpost/5a3b44f510df8ded175LDFLAGS.libsqlite3.os-specific ?= # see https://sqlite.org/forum/forumpost/9dfd5b8fd525a5d7176# libreadline (or a workalike):177# To activate readline in the shell: SHELL_OPT = -DHAVE_READLINE=1178LDFLAGS.readline ?= -lreadline # these vary across platforms179CFLAGS.readline ?= -I$(prefix)/include180# ^^^ When using linenoise instead of readline, do something like:181# SHELL_OPT += -DHAVE_LINENOISE=1182# CFLAGS.readline = -I$(HOME)/linenoise $(HOME)/linenoise/linenoise.c183# LDFLAGS.readline = # empty184 185#186#187# $(INSTALL) =188#189# Tool for installing files and directories. It must be compatible190# with conventional Unix /usr/bin/install. Note that libtool's191# install-sh is _not_ compatible with this because it _moves_ targets192# during installation, which may break the build of targets which are193# built after others are installed.194#195# Maintenance reminder: we specifically do not strip binaries, as196# discussed in https://sqlite.org/forum/forumpost/9a67df63eda9925c.197#198INSTALL ?= install199#200# $(ENABLE_LIB_SHARED) =201#202# 1 if libsqlite3$(T.dll) should be built.203#204ENABLE_LIB_SHARED ?= 1205#206# $(ENABLE_LIB_STATIC) =207#208# 1 if libsqlite3$(T.lib) should be built. Some components,209# e.g. libtclsqlite3 and some test apps, implicitly require the static210# library and will ignore this preference.211#212ENABLE_LIB_STATIC ?= 1213#214# $(USE_AMALGAMATION)215#216# 1 if the amalgamation (sqlite3.c/h) should be built/used, otherwise217# the library is built from all of its original source files.218# Certain tools, like sqlite3$(T.exe), require the amalgamation and219# will ignore this preference.220#221USE_AMALGAMATION ?= 1222#223# $(LINK_TOOLS_DYNAMICALLY)224#225# If 1, certain binaries which typically statically link against226# libsqlite3 or its component object files will instead link against227# the DLL. The caveat is that running such builds from the source tree228# may require that the user specifically prepend "." to their229# $LD_LIBRARY_PATH so that the dynamic linker does not pick up a230# libsqlite3.so from outside the source tree. Alternately, symlinking231# the in-build-tree $(libsqlite3.DLL) to some dir in the system's232# library path will work for giving the apps access to the in-tree233# DLL.234#235LINK_TOOLS_DYNAMICALLY ?= 0236#237# $(AMALGAMATION_GEN_FLAGS) =238#239# Optional flags for the amalgamation generator.240#241AMALGAMATION_GEN_FLAGS ?= --linemacros=0242#243# EXTRA_SRC = list of C files to append as-is to the generated244# amalgamation. It should arguably be called AMALGAMATION_EXTRA_SRC245# but this older name is already in use by clients.246#247EXTRA_SRC ?=248 249#250# $(OPT_FEATURE_FLAGS) =251#252# Preprocessor flags for enabling and disabling specific libsqlite3253# features (-DSQLITE_OMIT*, -DSQLITE_ENABLE*). The same set of OMIT254# and ENABLE flags must be passed to the LEMON parser generator and255# the mkkeywordhash tool as well. This is normally set by the256# configure process, and passing a custom value to a257# configure-filtered Makefile may not work.258#259# When using the canonical makefile, add $(OPTIONS)=... on the make260# command line to append additional options to the261# $(OPT_FEATURE_FLAGS). Some flags, because they influence generation262# of the SQL parser, only work if the build is specifically configured263# to account for them. Adding them later, when compiling the264# amalgamation separately, may or may not work.265#266# $(OPTS)=... is another way of influencing C compilation. It is267# distinctly separate from $(OPTIONS) and $(OPT_FEATURE_FLAGS) but,268# like those, $(OPTS) applies to all invocations of $(T.cc) (and some269# invocations of $(B.cc)). The configure process does not set either270# of $(OPTIONS) or $(OPTS).271#272OPT_FEATURE_FLAGS ?=273#274# $(SHELL_OPT) =275#276# CFLAGS specific to the sqlite3 CLI shell app and its close cousins.277#278SHELL_OPT ?=279#280# TCL_CONFIG_SH must, for some of the build targets, refer to a valid281# tclConfig.sh. That script will be used to populate most of the other282# TCL-related vars the build needs. The core library does not require283# TCL, but TCL is needed for running tests and certain tools, e.g.284# sqlite3_analyzer.285#286TCL_CONFIG_SH ?=287#288# $(HAVE_WASI_SDK) =289#290# Set to 1 when building with the WASI SDK. This disables certain291# build targets. It is expected that the invoker sets $(CC), $(LD),292# and $(AR) to their counterparts from the wasi-sdk.293#294HAVE_WASI_SDK ?= 0295#296# ... and many, many more. Sane defaults are selected where possible.297#298# With the above-described defined, the rest of this make script will299# build the project's deliverables and testing tools.300################################################################################301all:	sqlite3.h sqlite3.c302 303########################################################################304########################################################################305# Modifying anything after this point should not be necessary for most306# builds.307########################################################################308########################################################################309 310#311# $(CFLAGS.env) holds the any $(CFLAGS) provided at configure- or312# make-time (the latter overriding the former).313#314# $(CFLAGS) should ideally only contain flags which are relevant for315# all binaries built for the target platform. However, many people316# like to pass it to "make" without realizing that it applies to317# dozens of deliverables, and they override core flags (like -fPIC)318# when doing so. To help work around that, we expect all core-most319# CFLAGS, e.g. -fPIC, to be set in $(CFLAGS.core). That enables people320# to pass their other CFLAGS without triggering, e.g., "recompile with321# -fPIC" errors.322#323# Historical note: the pre-3.48 build does not honor CPPFLAGS passed324# to make, so we do not do so here. Both the legacy and 3.48+ builds325# support CPPFLAGS passed at configure-time, and combines them with326# the configure-time CFLAGS.327#328CFLAGS.core ?=329CFLAGS.env  = $(CFLAGS)330T.cc += $(CFLAGS.core) $(CFLAGS.env)331 332#333# $(LDFLAGS.configure) represents any LDFLAGS=... the client passes to334# the configure process.  The historical build enabled passing-on of335# user-provided LDFLAGS at configure-time but not make-time. That336# behavior is not possible to fully emulate here because this makefile337# is not filtered by the configure script, so we instead338# "soft-enforce" it by using a level of indirection, which clients who339# read this can (but are not advised to!) bypass by passing340# LDFLAGS.configure=... to this makefile. (We do not guaranty this341# variable name to be stable, so do not rely on that capability!)342#343# A significant difference from the legacy build:344#345# The legacy build applied such LDFLAGS to all link operations for all346# deliverables. The 3.48+ build applies them (as of this writing) more347# selectively: search this file LDFLAGS.configure to see where they're348# set.349#350LDFLAGS.configure ?=351 352#353# The difference between $(OPT_FEATURE_FLAGS) and $(OPTS) is that the354# former is historically provided by the configure script, whereas355# $(OPTS) is intended to be provided as arguments to the make356# invocation.357#358T.cc += $(OPT_FEATURE_FLAGS)359 360#361# Add in any optional global compilation flags on the make command362# line i.e.  make "OPTS=-DSQLITE_ENABLE_FOO=1 -DSQLITE_OMIT_FOO=1".363#364T.cc += $(OPTS)365 366#367# $(INSTALL) invocation for use with non-executable files.368#369INSTALL.noexec = $(INSTALL) -m 0644370# ^^^ do not use GNU-specific flags to $(INSTALL), e.g. --mode=...371 372#373# T.compile.gcov = gcov-specific compilation flags for the target374# platform.375#376T.compile.gcov ?=377#378# T.link.gcov = gcov-specific link flags for the target platform.379#380T.link.gcov ?=381 382#383# $(T.compile) = generic target platform compiler invocation,384# differing only from $(T.cc) in that it appends $(T.compile.gcov),385# which is intended for use with gcov-related flags.386#387T.compile = $(T.cc) $(T.compile.gcov)388 389#390# Optionally set by the configure script to include -DSQLITE_DEBUG=1391# and other debug-related flags.392#393T.cc.TARGET_DEBUG ?=394 395#396# Extra CFLAGS for both the core sqlite3 components and extensions.397#398# Define -D_HAVE_SQLITE_CONFIG_H so that the code knows it399# can include the generated sqlite_cfg.h.400#401T.cc.sqlite.extras = -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite $(T.cc.TARGET_DEBUG)402 403#404# $(T.cc.sqlite) is $(T.cc) plus any flags which are desired for the405# library as a whole, but not necessarily needed for every binary. It406# will normally get initially populated with flags by the407# configure-generated makefile.408#409T.cc.sqlite ?= $(T.compile) $(T.cc.sqlite.extras)410 411#412# $(CFLAGS.intree_includes) = -I... flags relevant specifically to413# this tree, including any subdirectories commonly needed for building414# various tools.415#416CFLAGS.intree_includes = \417    -I. -I$(TOP)/src -I$(TOP)/ext/rtree -I$(TOP)/ext/icu \418    -I$(TOP)/ext/fts3 -I$(TOP)/ext/session \419    -I$(TOP)/ext/misc420T.cc.sqlite += $(CFLAGS.intree_includes)421 422#423# $(T.cc.extension) = compiler invocation for loadable extensions.424#425T.cc.extension = $(T.compile) -I. -I$(TOP)/src $(T.cc.sqlite.extras) -DSQLITE_CORE426 427#428# $(T.link) = compiler invocation for when the target will be an429# executable.430#431# $(T.link.gcov) = optional config-specific flags for $(T.link),432# intended for use with gcov-related flags.433#434T.link = $(T.cc.sqlite) $(T.link.gcov)435#436# $(T.link.shared) = $(T.link) invocation specifically for shared libraries437#438T.link.shared = $(T.link) $(LDFLAGS.shlib)439 440#441# $(LDFLAGS.libsqlite3) should be used with any deliverable for which442# any of the following apply:443#444#  - Results in building libsqlite3.so445#  - Compiles sqlite3.c in to an application446#  - Links with libsqlite3.a447#  - Links in either of $(LIBOBJSO) or $(LIBOBJS1)448#449# Note that these flags are for the target build platform, not450# necessarily localhost.  i.e. it should be used with $(T.cc.sqlite)451# or $(T.link) but not $(B.cc).452#453LDFLAGS.libsqlite3 = \454  $(LDFLAGS.rpath) $(LDFLAGS.pthread) \455  $(LDFLAGS.math) $(LDFLAGS.dlopen) \456  $(LDFLAGS.zlib) $(LDFLAGS.icu) \457  $(LDFLAGS.rt) $(LDFLAGS.configure)458 459#460# $(install-dir.XYZ) = dirs for installation.461#462# Design note: these should arguably all be defined with surrounding463# double-quotes so that targets which have spaces in their paths will464# work, but that leads to Make treating the quotes as part of the dir465# name, which in turn leads to it never finding a matching name in the466# filesystem and always invoking ($(INSTALL) -d ...) for them. The467# moral of this story is that spaces in installation paths will break468# the install process.469#470install-dir.bin = $(DESTDIR)$(bindir)471install-dir.lib = $(DESTDIR)$(libdir)472install-dir.include = $(DESTDIR)$(includedir)473install-dir.pkgconfig = $(DESTDIR)$(libdir)/pkgconfig474install-dir.man1 = $(DESTDIR)$(mandir)/man1475install-dir.all = $(install-dir.bin) $(install-dir.include) \476  $(install-dir.lib) $(install-dir.man1) \477  $(install-dir.pkgconfig)478$(install-dir.all):479	@if [ ! -d "$@" ]; then set -x; $(INSTALL) -d "$@"; fi480# ^^^^ on some platforms, install -d fails if the target already exists.481 482#483# After jimsh is compiled, we run some sanity checks to ensure that484# it was built in a way compatible with this project's scripts:485#486# 1) Ensure that it was built with realpath() or _fullpath() support.487# Without that flag the [file normalize] command will always resolve488# to an empty string.489#490# 2) Ensure that it is built with -DJIM_COMPAT (which may be491# hard-coded into jimsh0.c). Without this, the [expr] command accepts492# only a single argument. (That said: the real fix for that is to493# update any scripts which still pass multiple arguments to [expr].)494#495$(JIMSH): $(TOP)/autosetup/jimsh0.c496	$(B.cc) -o $@ $(CFLAGS.jimsh) $(TOP)/autosetup/jimsh0.c497	@if [ x = "x$$($(JIMSH) -e 'file normalize $(JIMSH)' 2>/dev/null)" ]; then \498		echo "$(JIMSH) was built without -DHAVE_REALPATH or -DHAVE__FULLPATH." 1>&2; \499		exit 1; \500	fi501	@if [ x3 != "x$$($(JIMSH) -e 'expr 1 + 2' 2>/dev/null)" ]; then \502		echo "$(JIMSH) was built without -DJIM_COMPAT." 1>&2; \503		exit 1; \504	fi505distclean-jimsh:506	rm -f $(JIMSH)507distclean: distclean-jimsh508 509#510# $(MAKE_SANITY_CHECK) = a set of checks for various make vars which511# must be provided to this file before including it. If any are512# missing, this target fails. It does (almost) no semantic validation,513# only checks to see that appropriate vars are not empty.514#515# Note that $(MAKEFILE_LIST) is a GNU-make-ism but its use is harmless516# in other flavors of Make.517#518MAKE_SANITY_CHECK = .main.mk.checks519$(MAKE_SANITY_CHECK): $(MAKEFILE_LIST) $(TOP)/auto.def520	@if [ x = "x$(TOP)" ]; then echo "Missing TOP var" 1>&2; exit 1; fi521	@if [ ! -d "$(TOP)" ]; then echo "$(TOP) is not a directory" 1>&2; exit 1; fi522	@if [ ! -f "$(TOP)/auto.def" ]; then echo "$(TOP) does not appear to be the top-most source dir" 1>&2; exit 1; fi523	@if [ x = "x$(PACKAGE_VERSION)" ]; then echo "PACKAGE_VERSION must be set to the library's X.Y.Z-format version number" 1>&2; exit 1; fi524	@if [ x = "x$(B.cc)" ]; then echo "Missing B.cc var" 1>&2; exit 1; fi525	@if [ x = "x$(T.cc)" ]; then echo "Missing T.cc var" 1>&2; exit 1; fi526	@if [ x = "x$(B.tclsh)" ]; then echo "Missing B.tclsh var" 1>&2; exit 1; fi527	@if [ x = "x$(AR)" ]; then echo "Missing AR var" 1>&2; exit 1; fi528	touch $@529clean-sanity-check:530	rm -f $(MAKE_SANITY_CHECK)531clean: clean-sanity-check532 533#534# Object files for the SQLite library (non-amalgamation).535#536LIBOBJS0 = alter.o analyze.o attach.o auth.o \537         backup.o bitvec.o btmutex.o btree.o build.o \538         callback.o carray.o complete.o ctime.o \539         date.o dbpage.o dbstat.o delete.o \540         expr.o fault.o fkey.o \541         fts3.o fts3_aux.o fts3_expr.o fts3_hash.o fts3_icu.o \542         fts3_porter.o fts3_snippet.o fts3_tokenizer.o fts3_tokenizer1.o \543         fts3_tokenize_vtab.o \544         fts3_unicode.o fts3_unicode2.o fts3_write.o \545         fts5.o \546         func.o global.o hash.o \547         icu.o insert.o json.o legacy.o loadext.o \548         main.o malloc.o mem0.o mem1.o mem2.o mem3.o mem5.o \549         memdb.o memjournal.o \550         mutex.o mutex_noop.o mutex_unix.o mutex_w32.o \551         notify.o opcodes.o os.o os_kv.o os_unix.o os_win.o \552         pager.o parse.o pcache.o pcache1.o pragma.o prepare.o printf.o \553         random.o resolve.o rowset.o rtree.o \554         sqlite3session.o select.o sqlite3rbu.o status.o stmt.o \555         table.o threads.o tokenize.o treeview.o trigger.o \556         update.o upsert.o utf.o util.o vacuum.o \557         vdbe.o vdbeapi.o vdbeaux.o vdbeblob.o vdbemem.o vdbesort.o \558         vdbetrace.o vdbevtab.o vtab.o \559         wal.o walker.o where.o wherecode.o whereexpr.o \560         window.o561LIBOBJS = $(LIBOBJS0)562 563#564# Object files for the amalgamation.565#566LIBOBJS1 = sqlite3.o567 568#569# Determine the real value of LIBOBJ based on whether the amalgamation570# is enabled or not.571#572LIBOBJ = $(LIBOBJS$(USE_AMALGAMATION))573$(LIBOBJ): $(MAKE_SANITY_CHECK)574 575#576# All of the source code files.577#578SRC = \579  $(TOP)/src/alter.c \580  $(TOP)/src/analyze.c \581  $(TOP)/src/attach.c \582  $(TOP)/src/auth.c \583  $(TOP)/src/backup.c \584  $(TOP)/src/bitvec.c \585  $(TOP)/src/btmutex.c \586  $(TOP)/src/btree.c \587  $(TOP)/src/btree.h \588  $(TOP)/src/btreeInt.h \589  $(TOP)/src/build.c \590  $(TOP)/src/callback.c \591  $(TOP)/src/carray.c \592  $(TOP)/src/complete.c \593  ctime.c \594  $(TOP)/src/date.c \595  $(TOP)/src/dbpage.c \596  $(TOP)/src/dbstat.c \597  $(TOP)/src/delete.c \598  $(TOP)/src/expr.c \599  $(TOP)/src/fault.c \600  $(TOP)/src/fkey.c \601  $(TOP)/src/func.c \602  $(TOP)/src/global.c \603  $(TOP)/src/hash.c \604  $(TOP)/src/hash.h \605  $(TOP)/src/hwtime.h \606  $(TOP)/src/insert.c \607  $(TOP)/src/json.c \608  $(TOP)/src/legacy.c \609  $(TOP)/src/loadext.c \610  $(TOP)/src/main.c \611  $(TOP)/src/malloc.c \612  $(TOP)/src/mem0.c \613  $(TOP)/src/mem1.c \614  $(TOP)/src/mem2.c \615  $(TOP)/src/mem3.c \616  $(TOP)/src/mem5.c \617  $(TOP)/src/memdb.c \618  $(TOP)/src/memjournal.c \619  $(TOP)/src/msvc.h \620  $(TOP)/src/mutex.c \621  $(TOP)/src/mutex.h \622  $(TOP)/src/mutex_noop.c \623  $(TOP)/src/mutex_unix.c \624  $(TOP)/src/mutex_w32.c \625  $(TOP)/src/notify.c \626  $(TOP)/src/os.c \627  $(TOP)/src/os.h \628  $(TOP)/src/os_common.h \629  $(TOP)/src/os_setup.h \630  $(TOP)/src/os_kv.c \631  $(TOP)/src/os_unix.c \632  $(TOP)/src/os_win.c \633  $(TOP)/src/os_win.h \634  $(TOP)/src/pager.c \635  $(TOP)/src/pager.h \636  $(TOP)/src/parse.y \637  $(TOP)/src/pcache.c \638  $(TOP)/src/pcache.h \639  $(TOP)/src/pcache1.c \640  $(TOP)/src/pragma.c \641  pragma.h \642  $(TOP)/src/prepare.c \643  $(TOP)/src/printf.c \644  $(TOP)/src/random.c \645  $(TOP)/src/resolve.c \646  $(TOP)/src/rowset.c \647  $(TOP)/src/select.c \648  $(TOP)/src/status.c \649  $(TOP)/src/shell.c.in \650  $(TOP)/src/sqlite.h.in \651  $(TOP)/src/sqlite3ext.h \652  $(TOP)/src/sqliteInt.h \653  $(TOP)/src/sqliteLimit.h \654  $(TOP)/src/table.c \655  tclsqlite-ex.c \656  $(TOP)/src/threads.c \657  $(TOP)/src/tokenize.c \658  $(TOP)/src/treeview.c \659  $(TOP)/src/trigger.c \660  $(TOP)/src/utf.c \661  $(TOP)/src/update.c \662  $(TOP)/src/upsert.c \663  $(TOP)/src/util.c \664  $(TOP)/src/vacuum.c \665  $(TOP)/src/vdbe.c \666  $(TOP)/src/vdbe.h \667  $(TOP)/src/vdbeapi.c \668  $(TOP)/src/vdbeaux.c \669  $(TOP)/src/vdbeblob.c \670  $(TOP)/src/vdbemem.c \671  $(TOP)/src/vdbesort.c \672  $(TOP)/src/vdbetrace.c \673  $(TOP)/src/vdbevtab.c \674  $(TOP)/src/vdbeInt.h \675  $(TOP)/src/vtab.c \676  $(TOP)/src/vxworks.h \677  $(TOP)/src/wal.c \678  $(TOP)/src/wal.h \679  $(TOP)/src/walker.c \680  $(TOP)/src/where.c \681  $(TOP)/src/wherecode.c \682  $(TOP)/src/whereexpr.c \683  $(TOP)/src/whereInt.h \684  $(TOP)/src/window.c685 686# Source code for extensions687#688SRC += \689  $(TOP)/ext/fts3/fts3.c \690  $(TOP)/ext/fts3/fts3.h \691  $(TOP)/ext/fts3/fts3Int.h \692  $(TOP)/ext/fts3/fts3_aux.c \693  $(TOP)/ext/fts3/fts3_expr.c \694  $(TOP)/ext/fts3/fts3_hash.c \695  $(TOP)/ext/fts3/fts3_hash.h \696  $(TOP)/ext/fts3/fts3_icu.c \697  $(TOP)/ext/fts3/fts3_porter.c \698  $(TOP)/ext/fts3/fts3_snippet.c \699  $(TOP)/ext/fts3/fts3_tokenizer.h \700  $(TOP)/ext/fts3/fts3_tokenizer.c \701  $(TOP)/ext/fts3/fts3_tokenizer1.c \702  $(TOP)/ext/fts3/fts3_tokenize_vtab.c \703  $(TOP)/ext/fts3/fts3_unicode.c \704  $(TOP)/ext/fts3/fts3_unicode2.c \705  $(TOP)/ext/fts3/fts3_write.c706SRC += \707  $(TOP)/ext/icu/sqliteicu.h \708  $(TOP)/ext/icu/icu.c709SRC += \710  $(TOP)/ext/rtree/rtree.h \711  $(TOP)/ext/rtree/rtree.c \712  $(TOP)/ext/rtree/geopoly.c713SRC += \714  $(TOP)/ext/session/sqlite3session.c \715  $(TOP)/ext/session/sqlite3session.h716SRC += \717  $(TOP)/ext/rbu/sqlite3rbu.h \718  $(TOP)/ext/rbu/sqlite3rbu.c719SRC += \720  $(TOP)/ext/misc/stmt.c721 722# Generated source code files723#724SRC += \725  keywordhash.h \726  opcodes.c \727  opcodes.h \728  parse.c \729  parse.h \730  sqlite_cfg.h \731  shell.c \732  sqlite3.h733 734# Source code to the test files.735#736TESTSRC = \737  $(TOP)/src/test1.c \738  $(TOP)/src/test2.c \739  $(TOP)/src/test3.c \740  $(TOP)/src/test4.c \741  $(TOP)/src/test5.c \742  $(TOP)/src/test6.c \743  $(TOP)/src/test8.c \744  $(TOP)/src/test9.c \745  $(TOP)/src/test_autoext.c \746  $(TOP)/src/test_backup.c \747  $(TOP)/src/test_bestindex.c \748  $(TOP)/src/test_blob.c \749  $(TOP)/src/test_btree.c \750  $(TOP)/src/test_config.c \751  $(TOP)/src/test_delete.c \752  $(TOP)/src/test_demovfs.c \753  $(TOP)/src/test_devsym.c \754  $(TOP)/src/test_fs.c \755  $(TOP)/src/test_func.c \756  $(TOP)/src/test_hexio.c \757  $(TOP)/src/test_init.c \758  $(TOP)/src/test_intarray.c \759  $(TOP)/src/test_journal.c \760  $(TOP)/src/test_malloc.c \761  $(TOP)/src/test_md5.c \762  $(TOP)/src/test_multiplex.c \763  $(TOP)/src/test_mutex.c \764  $(TOP)/src/test_onefile.c \765  $(TOP)/src/test_osinst.c \766  $(TOP)/src/test_pcache.c \767  $(TOP)/src/test_quota.c \768  $(TOP)/src/test_rtree.c \769  $(TOP)/src/test_schema.c \770  $(TOP)/src/test_superlock.c \771  $(TOP)/src/test_syscall.c \772  $(TOP)/src/test_tclsh.c \773  $(TOP)/src/test_tclvar.c \774  $(TOP)/src/test_thread.c \775  $(TOP)/src/test_vdbecov.c \776  $(TOP)/src/test_vfs.c \777  $(TOP)/src/test_window.c \778  $(TOP)/src/test_wsd.c       \779  $(TOP)/ext/fts3/fts3_term.c \780  $(TOP)/ext/fts3/fts3_test.c  \781  $(TOP)/ext/session/test_session.c \782  $(TOP)/ext/recover/sqlite3recover.c \783  $(TOP)/ext/recover/dbdata.c \784  $(TOP)/ext/recover/test_recover.c \785  $(TOP)/ext/intck/test_intck.c  \786  $(TOP)/ext/intck/sqlite3intck.c \787  $(TOP)/ext/rbu/test_rbu.c788 789# Statically linked extensions790#791TESTSRC += \792  $(TOP)/ext/expert/sqlite3expert.c \793  $(TOP)/ext/expert/test_expert.c \794  $(TOP)/ext/misc/amatch.c \795  $(TOP)/ext/misc/appendvfs.c \796  $(TOP)/ext/misc/basexx.c \797  $(TOP)/ext/misc/cksumvfs.c \798  $(TOP)/ext/misc/closure.c \799  $(TOP)/ext/misc/csv.c \800  $(TOP)/ext/misc/decimal.c \801  $(TOP)/ext/misc/eval.c \802  $(TOP)/ext/misc/explain.c \803  $(TOP)/ext/misc/fileio.c \804  $(TOP)/ext/misc/fuzzer.c \805  $(TOP)/ext/fts5/fts5_tcl.c \806  $(TOP)/ext/fts5/fts5_test_mi.c \807  $(TOP)/ext/fts5/fts5_test_tok.c \808  $(TOP)/ext/misc/ieee754.c \809  $(TOP)/ext/misc/mmapwarm.c \810  $(TOP)/ext/misc/nextchar.c \811  $(TOP)/ext/misc/normalize.c \812  $(TOP)/ext/misc/prefixes.c \813  $(TOP)/ext/misc/qpvtab.c \814  $(TOP)/ext/misc/randomjson.c \815  $(TOP)/ext/misc/regexp.c \816  $(TOP)/ext/misc/remember.c \817  $(TOP)/ext/misc/series.c \818  $(TOP)/ext/misc/spellfix.c \819  $(TOP)/ext/misc/stmtrand.c \820  $(TOP)/ext/misc/totype.c \821  $(TOP)/ext/misc/unionvtab.c \822  $(TOP)/ext/misc/wholenumber.c \823  $(TOP)/ext/misc/zipfile.c \824  $(TOP)/ext/rtree/test_rtreedoc.c825 826# Source code to the library files needed by the test fixture827#828TESTSRC2 = \829  $(TOP)/src/attach.c \830  $(TOP)/src/backup.c \831  $(TOP)/src/bitvec.c \832  $(TOP)/src/btree.c \833  $(TOP)/src/build.c \834  $(TOP)/src/carray.c \835  ctime.c \836  $(TOP)/src/date.c \837  $(TOP)/src/dbpage.c \838  $(TOP)/src/dbstat.c \839  $(TOP)/src/expr.c \840  $(TOP)/src/func.c \841  $(TOP)/src/global.c \842  $(TOP)/src/insert.c \843  $(TOP)/src/wal.c \844  $(TOP)/src/main.c \845  $(TOP)/src/mem5.c \846  $(TOP)/src/os.c \847  $(TOP)/src/os_kv.c \848  $(TOP)/src/os_unix.c \849  $(TOP)/src/os_win.c \850  $(TOP)/src/pager.c \851  $(TOP)/src/pragma.c \852  $(TOP)/src/prepare.c \853  $(TOP)/src/printf.c \854  $(TOP)/src/random.c \855  $(TOP)/src/pcache.c \856  $(TOP)/src/pcache1.c \857  $(TOP)/src/select.c \858  $(TOP)/src/tokenize.c \859  $(TOP)/src/treeview.c \860  $(TOP)/src/utf.c \861  $(TOP)/src/util.c \862  $(TOP)/src/vdbeapi.c \863  $(TOP)/src/vdbeaux.c \864  $(TOP)/src/vdbe.c \865  $(TOP)/src/vdbemem.c \866  $(TOP)/src/vdbetrace.c \867  $(TOP)/src/vdbevtab.c \868  $(TOP)/src/where.c \869  $(TOP)/src/wherecode.c \870  $(TOP)/src/whereexpr.c \871  $(TOP)/src/window.c \872  parse.c \873  $(TOP)/ext/fts3/fts3.c \874  $(TOP)/ext/fts3/fts3_aux.c \875  $(TOP)/ext/fts3/fts3_expr.c \876  $(TOP)/ext/fts3/fts3_tokenizer.c \877  $(TOP)/ext/fts3/fts3_write.c \878  $(TOP)/ext/session/sqlite3session.c \879  $(TOP)/ext/misc/stmt.c \880  fts5.c881 882# Header files used by all library source files.883#884HDR = \885   $(TOP)/src/btree.h \886   $(TOP)/src/btreeInt.h \887   $(TOP)/src/hash.h \888   $(TOP)/src/hwtime.h \889   keywordhash.h \890   $(TOP)/src/msvc.h \891   $(TOP)/src/mutex.h \892   opcodes.h \893   $(TOP)/src/os.h \894   $(TOP)/src/os_common.h \895   $(TOP)/src/os_setup.h \896   $(TOP)/src/os_win.h \897   $(TOP)/src/pager.h \898   $(TOP)/src/pcache.h \899   parse.h  \900   pragma.h \901   sqlite3.h  \902   $(TOP)/src/sqlite3ext.h \903   $(TOP)/src/sqliteInt.h  \904   $(TOP)/src/sqliteLimit.h \905   $(TOP)/src/vdbe.h \906   $(TOP)/src/vdbeInt.h \907   $(TOP)/src/vxworks.h \908   $(TOP)/src/whereInt.h \909   sqlite_cfg.h910# Reminder: sqlite_cfg.h is typically created by the configure script911 912# Header files used by extensions913#914EXTHDR += \915  $(TOP)/ext/fts3/fts3.h \916  $(TOP)/ext/fts3/fts3Int.h \917  $(TOP)/ext/fts3/fts3_hash.h \918  $(TOP)/ext/fts3/fts3_tokenizer.h919EXTHDR += \920  $(TOP)/ext/rtree/rtree.h \921  $(TOP)/ext/rtree/geopoly.c922EXTHDR += \923  $(TOP)/ext/icu/sqliteicu.h924EXTHDR += \925  $(TOP)/ext/rtree/sqlite3rtree.h926 927#928# Executables needed for testing929#930TESTPROGS = \931  testfixture$(T.exe) \932  sqlite3$(T.exe) \933  sqlite3_analyzer$(T.exe) \934  sqldiff$(T.exe) \935  dbhash$(T.exe) \936  sqltclsh$(T.exe)937 938# Databases containing fuzzer test cases939#940FUZZDATA = \941  $(TOP)/test/fuzzdata1.db \942  $(TOP)/test/fuzzdata2.db \943  $(TOP)/test/fuzzdata3.db \944  $(TOP)/test/fuzzdata4.db \945  $(TOP)/test/fuzzdata5.db \946  $(TOP)/test/fuzzdata6.db \947  $(TOP)/test/fuzzdata7.db \948  $(TOP)/test/fuzzdata8.db949 950#951# Standard options to testfixture952#953TESTOPTS = --verbose=file --output=test-out.txt954 955FUZZERSHELL_OPT =956FUZZCHECK_OPT += -I$(TOP)/test957FUZZCHECK_OPT += -I$(TOP)/ext/recover958FUZZCHECK_OPT += \959  -DSQLITE_OSS_FUZZ \960  -DSQLITE_ENABLE_BYTECODE_VTAB \961  -DSQLITE_ENABLE_CARRAY \962  -DSQLITE_ENABLE_DBPAGE_VTAB \963  -DSQLITE_ENABLE_DBSTAT_VTAB \964  -DSQLITE_ENABLE_DESERIALIZE \965  -DSQLITE_ENABLE_EXPLAIN_COMMENTS \966  -DSQLITE_ENABLE_FTS3_PARENTHESIS \967  -DSQLITE_ENABLE_FTS4 \968  -DSQLITE_ENABLE_FTS5 \969  -DSQLITE_ENABLE_GEOPOLY \970  -DSQLITE_ENABLE_MATH_FUNCTIONS \971  -DSQLITE_ENABLE_MEMSYS5 \972  -DSQLITE_ENABLE_NORMALIZE \973  -DSQLITE_ENABLE_OFFSET_SQL_FUNC \974  -DSQLITE_ENABLE_PERCENTILE \975  -DSQLITE_ENABLE_PREUPDATE_HOOK \976  -DSQLITE_ENABLE_RTREE \977  -DSQLITE_ENABLE_SESSION \978  -DSQLITE_ENABLE_STMTVTAB \979  -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION \980  -DSQLITE_ENABLE_STAT4 \981  -DSQLITE_ENABLE_STMT_SCANSTATUS \982  -DSQLITE_JSON_MAX_DEPTH=500 \983  -DSQLITE_MAX_MEMORY=50000000 \984  -DSQLITE_MAX_MMAP_SIZE=0 \985  -DSQLITE_OMIT_LOAD_EXTENSION \986  -DSQLITE_PRINTF_PRECISION_LIMIT=1000 \987  -DSQLITE_PRIVATE="" \988  -DSQLITE_STRICT_SUBTYPE=1 \989  -DSQLITE_STATIC_RANDOMJSON990 991FUZZCHECK_SRC += $(TOP)/test/fuzzcheck.c992FUZZCHECK_SRC += $(TOP)/test/ossfuzz.c993FUZZCHECK_SRC += $(TOP)/test/fuzzinvariants.c994FUZZCHECK_SRC += $(TOP)/ext/recover/dbdata.c995FUZZCHECK_SRC += $(TOP)/ext/recover/sqlite3recover.c996FUZZCHECK_SRC += $(TOP)/test/vt02.c997FUZZCHECK_SRC += $(TOP)/ext/misc/randomjson.c998DBFUZZ_OPT =999ST_OPT = -DSQLITE_OS_KV_OPTIONAL1000 1001$(TCLSH_CMD):1002has_tclsh84:1003	sh $(TOP)/tool/cktclsh.sh 8.4 $(TCLSH_CMD)1004	touch has_tclsh841005 1006has_tclsh85:1007	sh $(TOP)/tool/cktclsh.sh 8.5 $(TCLSH_CMD)1008	touch has_tclsh851009 1010#1011# $(T.tcl.env.sh) is a shell script intended for source'ing to set1012# various TCL config info in the current shell context:1013#1014# - All info exported by tclConfig.sh1015#1016# - TCLLIBDIR = the first entry from TCL's $auto_path which refers to1017#   an existing dir, then append /sqlite3 to it. If TCLLIBDIR is1018#   provided via the environment, that value is used instead.1019#1020# Maintenance reminder: the ./ at the start of the name is required or /bin/sh1021# refuses to source it:1022#1023#   . .tclenv.sh    ==> .tclenv.sh: not found1024#   . ./.tclenv.sh  ==> fine1025#1026# It took half an hour to figure that out.1027#1028T.tcl.env.sh = ./.tclenv.sh1029$(T.tcl.env.sh): $(TCLSH_CMD) $(TCL_CONFIG_SH) $(MAKEFILE_LIST)1030	@if [ x = "x$(TCL_CONFIG_SH)" ]; then \1031		echo 'TCL_CONFIG_SH must be set to point to a "tclConfig.sh"' 1>&2; exit 1; \1032	fi; \1033	if [ x != "x$(TCLLIBDIR)" ]; then \1034		echo "# generated by main.mk"; \1035		echo TCLLIBDIR="$(TCLLIBDIR)"; \1036	else \1037		ld= ; \1038		for d in `echo "puts stdout \\$$auto_path" | $(TCLSH_CMD)`; do \1039			if [ -d "$$d" ]; then ld=$$d; break; fi; \1040		done; \1041		if [ x = "x$$ld" ]; then echo "Cannot determine TCLLIBDIR" 1>&2; exit 1; fi; \1042		echo "# generated by main.mk"; \1043		echo "TCLLIBDIR=$$ld/sqlite3$(PACKAGE_VERSION)"; \1044	fi > $@; \1045	echo ". \"$(TCL_CONFIG_SH)\" || exit \$$?" >> $@; \1046	echo "Created $@"1047 1048#1049# $(T.tcl.env.source) is shell code to be run as part of any1050# compilation or link step which requires vars from1051# $(TCL_CONFIG_SH). All targets which use this should also have a1052# dependency on $(T.tcl.env.sh).1053#1054T.tcl.env.source = . $(T.tcl.env.sh) || exit $$?1055 1056#1057# $(T.compile.tcl) and $(T.link.tcl) are TCL-specific counterparts for $(T.compile)1058# and $(T.link) which first invoke $(T.tcl.env.source). Any targets which used them1059# must have a dependency on $(T.tcl.env.sh)1060#1061T.compile.tcl = $(T.tcl.env.source); $(T.compile) $(CFLAGS.intree_includes)1062T.link.tcl = $(T.tcl.env.source); $(T.link)1063 1064#1065# This target creates a directory named "tsrc" and fills it with1066# copies of all of the C source code and header files needed to1067# build on the target system.  Some of the C source code and header1068# files are automatically generated.  This target takes care of1069# all that automatic generation.1070#1071.target_source: $(MAKE_SANITY_CHECK) $(SRC) $(TOP)/tool/vdbe-compress.tcl \1072    fts5.c $(B.tclsh)1073	rm -rf tsrc1074	mkdir tsrc1075	cp -f $(SRC) tsrc1076	rm -f tsrc/sqlite.h.in tsrc/parse.y1077	$(B.tclsh) $(TOP)/tool/vdbe-compress.tcl $(OPTS) <tsrc/vdbe.c >vdbe.new1078	mv -f vdbe.new tsrc/vdbe.c1079	cp fts5.c fts5.h tsrc1080	touch .target_source1081 1082#1083# libsqlite3.DLL.basename = the base name of the resulting DLL. This1084# is typically libsqlite3 but varies wildly on Unix-like Windows1085# environments (msys, cygwin, and friends). Conversely, the base name1086# of the static library ($(libsqlite3.LIB)) is constant on all tested1087# platforms.1088#1089libsqlite3.DLL.basename ?= libsqlite31090#1091# libsqlite3.DLL => the DLL library1092#1093libsqlite3.DLL = $(libsqlite3.DLL.basename)$(T.dll)1094#1095# libsqlite3.out.implib => "import library" file generated by the1096# --out-implib linker flag. Not commonly used on Unix systems but is1097# on the Windows-side Unix-esque environments and typically as a value1098# of "libsqlite3.dll.a". It is expected to match the filename, if any,1099# provided by the -Wl,--out-implib,FILENAME flag.1100#1101libsqlite3.out.implib ?=1102#1103# libsqlite3.LIB => the static library1104#1105libsqlite3.LIB = libsqlite3$(T.lib)1106 1107#1108# libsqlite3.DLL.install-rules => the suffix of the symoblic name of1109# the makefile rules for installing the DLL. Must be one of1110# (unix-generic, msys, mingw, cygwin, darwin) and a target named1111# install-dll-THATNAME is responsible for DLL installation.1112libsqlite3.DLL.install-rules ?= unix-generic1113 1114# Rules to build the LEMON compiler generator1115#1116lemon$(B.exe): $(MAKE_SANITY_CHECK) $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c1117	$(B.cc) -o $@ $(TOP)/tool/lemon.c1118	cp $(TOP)/tool/lempar.c .1119 1120# Rules to build the program that generates the source-id1121#1122mksourceid$(B.exe): $(MAKE_SANITY_CHECK) $(TOP)/tool/mksourceid.c1123	$(B.cc) -o $@ $(TOP)/tool/mksourceid.c1124 1125sqlite3.h: $(MAKE_SANITY_CHECK) $(TOP)/src/sqlite.h.in \1126    $(TOP)/manifest mksourceid$(B.exe) \1127		$(TOP)/VERSION $(B.tclsh)1128	$(B.tclsh) $(TOP)/tool/mksqlite3h.tcl $(TOP) -o sqlite3.h1129 1130sqlite3.c:	.target_source sqlite3.h $(TOP)/tool/mksqlite3c.tcl src-verify$(B.exe) \1131		$(B.tclsh) $(EXTRA_SRC)1132	$(B.tclsh) $(TOP)/tool/mksqlite3c.tcl $(AMALGAMATION_GEN_FLAGS) $(EXTRA_SRC)1133	cp tsrc/sqlite3ext.h .1134	cp $(TOP)/ext/session/sqlite3session.h .1135 1136sqlite3r.h: sqlite3.h $(B.tclsh)1137	$(B.tclsh) $(TOP)/tool/mksqlite3h.tcl $(TOP) --enable-recover -o sqlite3r.h1138 1139sqlite3r.c: sqlite3.c sqlite3r.h $(B.tclsh)1140	cp $(TOP)/ext/recover/sqlite3recover.c tsrc/1141	cp $(TOP)/ext/recover/sqlite3recover.h tsrc/1142	cp $(TOP)/ext/recover/dbdata.c tsrc/1143	$(B.tclsh) $(TOP)/tool/mksqlite3c.tcl --enable-recover $(AMALGAMATION_GEN_FLAGS) $(EXTRA_SRC)1144 1145sqlite3ext.h: .target_source1146	cp tsrc/sqlite3ext.h .1147 1148# Rules to build individual *.o files from generated *.c files. This1149# applies to:1150#1151#     parse.o1152#     opcodes.o1153#1154DEPS_OBJ_COMMON = $(MAKE_SANITY_CHECK) $(HDR)1155parse.o:	parse.c $(DEPS_OBJ_COMMON)1156	$(T.cc.sqlite) -c parse.c1157 1158opcodes.o:	opcodes.c1159	$(T.cc.sqlite) -c opcodes.c1160 1161# Rules to build individual *.o files from files in the src directory.1162#1163alter.o:	$(TOP)/src/alter.c $(DEPS_OBJ_COMMON)1164	$(T.cc.sqlite) -c $(TOP)/src/alter.c1165 1166analyze.o:	$(TOP)/src/analyze.c $(DEPS_OBJ_COMMON)1167	$(T.cc.sqlite) -c $(TOP)/src/analyze.c1168 1169attach.o:	$(TOP)/src/attach.c $(DEPS_OBJ_COMMON)1170	$(T.cc.sqlite) -c $(TOP)/src/attach.c1171 1172auth.o:	$(TOP)/src/auth.c $(DEPS_OBJ_COMMON)1173	$(T.cc.sqlite) -c $(TOP)/src/auth.c1174 1175backup.o:	$(TOP)/src/backup.c $(DEPS_OBJ_COMMON)1176	$(T.cc.sqlite) -c $(TOP)/src/backup.c1177 1178bitvec.o:	$(TOP)/src/bitvec.c $(DEPS_OBJ_COMMON)1179	$(T.cc.sqlite) -c $(TOP)/src/bitvec.c1180 1181btmutex.o:	$(TOP)/src/btmutex.c $(DEPS_OBJ_COMMON)1182	$(T.cc.sqlite) -c $(TOP)/src/btmutex.c1183 1184btree.o:	$(TOP)/src/btree.c $(DEPS_OBJ_COMMON) $(TOP)/src/pager.h1185	$(T.cc.sqlite) -c $(TOP)/src/btree.c1186 1187build.o:	$(TOP)/src/build.c $(DEPS_OBJ_COMMON)1188	$(T.cc.sqlite) -c $(TOP)/src/build.c1189 1190callback.o:	$(TOP)/src/callback.c $(DEPS_OBJ_COMMON)1191	$(T.cc.sqlite) -c $(TOP)/src/callback.c1192 1193carray.o:	$(TOP)/src/carray.c $(DEPS_OBJ_COMMON)1194	$(T.cc.sqlite) -c $(TOP)/src/carray.c1195 1196complete.o:	$(TOP)/src/complete.c $(DEPS_OBJ_COMMON)1197	$(T.cc.sqlite) -c $(TOP)/src/complete.c1198 1199ctime.c:	$(TOP)/tool/mkctimec.tcl $(B.tclsh)1200	$(B.tclsh) $(TOP)/tool/mkctimec.tcl

Showing the first 1,200 of 2557 lines. Download the file for the rest.