mirror of
https://github.com/sqlite/sqlite.git
synced 2024-11-28 07:51:10 +01:00
4f5eba199a
using hints from Jan Nijtmans. FossilOrigin-Name: ad9d7bdef95a8da76da0f6db358b6ffb0a0aa9097df2ff52f042e16e62afa8f5
62 lines
2.8 KiB
Makefile
62 lines
2.8 KiB
Makefile
#------------------------------------------------------------- -*- makefile -*-
|
|
#
|
|
# Sample makefile for building Tcl extensions.
|
|
#
|
|
# Basic build, test and install
|
|
# nmake /s /nologo /f makefile.vc INSTALLDIR=c:\path\to\tcl
|
|
# nmake /s /nologo /f makefile.vc INSTALLDIR=c:\path\to\tcl test
|
|
# nmake /s /nologo /f makefile.vc INSTALLDIR=c:\path\to\tcl install
|
|
#
|
|
# For other build options (debug, static etc.)
|
|
# See TIP 477 (https://core.tcl.tk/tips/doc/trunk/tip/477.md) for
|
|
# detailed documentation.
|
|
#
|
|
# See the file "license.terms" for information on usage and redistribution
|
|
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
|
|
# PROJECT is sqlite, not sqlite3 to match TEA AC_INIT definition.
|
|
# This makes the generated DLL name also consistent between the two
|
|
# except for the "t" suffix which is the convention for nmake builds.
|
|
PROJECT = sqlite
|
|
PRJ_PACKAGE_TCLNAME = sqlite3
|
|
|
|
!include "rules-ext.vc"
|
|
|
|
PRJ_OBJS = $(TMP_DIR)\tclsqlite3.obj
|
|
|
|
# Preprocessor macros specific to sqlite3.
|
|
PRJ_DEFINES = -I"$(ROOT)\.." -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
|
|
-DSQLITE_ENABLE_DBPAGE_VTAB=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 \
|
|
-DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 \
|
|
-DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 \
|
|
-DSQLITE_ENABLE_JSON1=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1 \
|
|
-DSQLITE_3_SUFFIX_ONLY=1 -DSQLITE_ENABLE_RTREE=1 \
|
|
-DSQLITE_UNTESTABLE=1 -DSQLITE_OMIT_LOOKASIDE=1 \
|
|
-DSQLITE_SECURE_DELETE=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_GEOPOLY=1 \
|
|
-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 \
|
|
-DSQLITE_ENABLE_MATH_FUNCTIONS=1 -DDSQLITE_USE_ALLOCA=1 \
|
|
-DSQLITE_ENABLE_STAT4=1 -DSQLITE_OMIT_DEPRECATED=1 \
|
|
-DSQLITE_WIN32_GETVERSIONEX=0 -DSQLITE_WIN32_NO_ANSI=1
|
|
PRJ_DEFINES = $(PRJ_DEFINES) -I$(TMP_DIR)
|
|
|
|
# Standard targets to build, install, test etc.
|
|
!include "$(_RULESDIR)\targets.vc"
|
|
|
|
# The built-in pkgindex does no suffice for our extension as
|
|
# the PROJECT name (sqlite) is not same as init function name (Sqlite3)
|
|
pkgindex:
|
|
@echo if {[package vsatisfies [package provide Tcl] 9.0-]} { > $(OUT_DIR)\pkgIndex.tcl
|
|
@echo package ifneeded $(PRJ_PACKAGE_TCLNAME) $(DOTVERSION) \
|
|
[list load [file join $$dir $(PRJLIBNAME9)] [string totitle $(PRJ_PACKAGE_TCLNAME)]] >> $(OUT_DIR)\pkgIndex.tcl
|
|
@echo } else { >> $(OUT_DIR)\pkgIndex.tcl
|
|
@echo package ifneeded $(PRJ_PACKAGE_TCLNAME) $(DOTVERSION) \
|
|
[list load [file join $$dir $(PRJLIBNAME8)] [string totitle $(PRJ_PACKAGE_TCLNAME)]] >> $(OUT_DIR)\pkgIndex.tcl
|
|
@echo } >> $(OUT_DIR)\pkgIndex.tcl
|
|
|
|
# Install the manpage though on Windows, doubt it does much good
|
|
install: default-install-docs-n
|
|
|
|
# Explicit dependency rules
|