# Optional flags for the amalgamation generator.
AMALGAMATION_GEN_FLAGS ?= --linemacros=0
#
-# $(HAVE_WASI_SDK) =
-#
-# 1 when building with the WASI SDK. This disables certain build
-# targets.
-HAVE_WASI_SDK ?= 0
-#
# $(OPT_FEATURE_FLAGS) =
#
# Preprocessor flags for enabling and disabling specific libsqlite3
# when compiling the amalgamation, may or may not work.
OPT_FEATURE_FLAGS ?=
#
+# $(SHELL_OPT) =
+#
+# CFLAGS specific to the sqlite3 CLI shell app and its close cousins.
+#
+SHELL_OPT ?=
+#
# The following TCL_vars come from tclConfig.sh
#
# Potential TODO: a shell script, similar tool/tclConfigShToTcl.sh,
# libsqlite3, and will usually differ from $(LDFLAGS_RPATH).
TCLLIB_RPATH ?=
#
+# $(HAVE_WASI_SDK) =
+#
+# 1 when building with the WASI SDK. This disables certain build
+# targets.
+HAVE_WASI_SDK ?= 0
+#
# ... and many, many more. Sane defaults are selected where possible.
#
# With the above-described defined, the rest of this make script will
keywordhash.h: mkkeywordhash$(BEXE)
./mkkeywordhash$(BEXE) > $@
+#
+# sqlite3.c split into many smaller files.
+#
+sqlite3-all.c: sqlite3.c $(TOP)/tool/split-sqlite3c.tcl $(BTCLSH) # has_tclsh84
+ $(BTCLSH) $(TOP)/tool/split-sqlite3c.tcl
+
+#
# Static libsqlite3
#
$(libsqlite3.LIB): $(LIBOBJ)
lib: $(libsqlite3.LIB)
all: lib
+#
# Dynamic libsqlite3
#
$(libsqlite3.SO): $(LIBOBJ)
$(TLINK_shared) -o $@ $(LIBOBJ) $(LDFLAGS_libsqlite3)
-target_libsqlite3_so_1 = $(libsqlite3.SO)
-target_libsqlite3_so = $(target_libsqlite3_so_$(ENABLE_SHARED))
-so: $(target_libsqlite3_so)
+$(libsqlite3.SO)-1: $(libsqlite3.SO)
+$(libsqlite3.SO)-0 $(libsqlite3.SO)-:
+so: $(libsqlite3.SO)-$(ENABLE_SHARED)
all: so
-sqlite3-all.c: sqlite3.c $(TOP)/tool/split-sqlite3c.tcl $(BTCLSH) # has_tclsh84
- $(BTCLSH) $(TOP)/tool/split-sqlite3c.tcl
-
#
# Install the $(libsqlite3.SO) as $(libsqlite3.SO).$(RELEASE) and
# create symlinks which point to it. Do we really need all of this
pkgIndex.tcl:
echo 'package ifneeded sqlite3 $(RELEASE) [list load [file join $$dir libtclsqlite3[info sharedlibextension]] sqlite3]' > $@
libtclsqlite3.SO = libtclsqlite3$(TDLL)
-target_libtclsqlite3_1 = $(libtclsqlite3.SO)
-target_libtclsqlite3 = $(target_libtclsqlite3_$(HAVE_TCL))
$(libtclsqlite3.SO): tclsqlite.o $(libsqlite3.LIB)
$(TLINK_shared) -o $@ tclsqlite.o \
$(TCL_INCLUDE_SPEC) $(TCL_STUB_LIB_SPEC) $(LDFLAGS_libsqlite3) \
$(libsqlite3.LIB) $(TCLLIB_RPATH)
-libtcl: $(target_libtclsqlite3)
-all: libtcl
+$(libtclsqlite3.SO)-1: $(libtclsqlite3.SO)
+$(libtclsqlite3.SO)-0 $(libtclsqlite3.SO)-:
+libtcl: $(libtclsqlite3.SO)-$(HAVE_TCL)
+all: libtcl
install.tcldir = $(DESTDIR)$(TCLLIBDIR)
-install-tcl-1: install-lib $(target_libtclsqlite3) pkgIndex.tcl
+install-tcl-1: install-lib $(libtclsqlite3.SO) pkgIndex.tcl
@if [ "x$(DESTDIR)" = "x$(install.tcldir)" ]; then echo "TCLLIBDIR is not set." 1>&2; exit 1; fi
$(INSTALL) -d $(install.tcldir)
$(INSTALL) $(libtclsqlite3.SO) $(install.tcldir)
$(TLINK) $(TOP)/test/threadtest5.c sqlite3.c -o $@ $(LDFLAGS_libsqlite3)
sqlite3$(TEXE): shell.c sqlite3.c
- $(TCCX) $(CFLAGS_READLINE) $(SHELL_OPT) -o $@ \
+ $(TLINK) $(CFLAGS_READLINE) $(SHELL_OPT) -o $@ \
shell.c sqlite3.c \
$(LDFLAGS_libsqlite3) $(LDFLAGS_READLINE)
#
# Build sqlite3$(TEXE) by default except in wasi-sdk builds. Yes, the
# semantics of 0 and 1 are confusingly swapped here.
#
-target_sqlite3_shell_1 =
-target_sqlite3_shell_0 = sqlite3$(TEXE)
-all: $(target_sqlite3_shell_$(HAVE_WASI_SDK))
+sqlite3$(TEXE)-1:
+sqlite3$(TEXE)-0 sqlite3$(TEXE)-: sqlite3$(TEXE)
+all: sqlite3$(TEXE)-$(HAVE_WASI_SDK)
install-shell-0: sqlite3$(TEXT) $(install-dir.bin)
$(INSTALL) -s sqlite3$(TEXT) $(install-dir.bin)
-C More\sbuild\sdoc\stweaks\sand\sget\s./startup\sbuilding.
-D 2024-10-21T19:51:32.121
+C Simplify\show\sthe\stargets\swhich\smay\sor\smay\snot\sbe\senabled,\sdepending\son\sconfig\sflags,\sare\sformulated\sin\smain.mk.
+D 2024-10-21T20:12:03.749
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
-F Makefile.in cc4a99cf1a47782713206d07ab1ddd18b21e2ba44406696bed649523561f97e5
+F Makefile.in fe28490b3f7a785623b7ad6852c2b2069ee685d6dcf654730829827db65d66d1
F Makefile.linux-gcc f3842a0b1efbfbb74ac0ef60e56b301836d05b4d867d014f714fa750048f1ab6
F Makefile.msc 58b69eda1faad5d475092b8aeffab9156ee4901a82db089b166607f2ec907ee4
F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
-F main.mk 24bd22f0842104f6087eba735c346b232547b83200fd00a0af376c0a38cad554
+F main.mk ca16a0ccaeefd27b882f5d9dbf7d21d94c0ecd3334f6012e6cc14fbc967dea37
F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 5b154e08ab5e8a8fd1ac1b28debd46824ef55b533a60ca5711c55b5a59a871cd
-R a48807d1193f2982a4a8c8a20649c7aa
+P cee285029c7225a2457062eb2b4ea7c6a17a3a5ba5fb776ebbb4ea8be62b9fff
+R 711c4e9e2bfbd6aa9dec039b634bf530
U stephan
-Z 65a54bc5359adb6f88f5fee08eab16c3
+Z a23261a16f21cdb759a93ef73201f9de
# Remove this line to create a well-formed Fossil manifest.