OLD | NEW |
(Empty) | |
| 1 # |
| 2 # nmake Makefile for SQLite |
| 3 # |
| 4 ############################################################################### |
| 5 ############################## START OF OPTIONS ############################### |
| 6 ############################################################################### |
| 7 |
| 8 # The toplevel directory of the source tree. This is the directory |
| 9 # that contains this "Makefile.msc". |
| 10 # |
| 11 TOP = . |
| 12 |
| 13 # <<mark>> |
| 14 # Set this non-0 to create and use the SQLite amalgamation file. |
| 15 # |
| 16 !IFNDEF USE_AMALGAMATION |
| 17 USE_AMALGAMATION = 1 |
| 18 !ENDIF |
| 19 # <</mark>> |
| 20 |
| 21 # Set this non-0 to enable full warnings (-W4, etc) when compiling. |
| 22 # |
| 23 !IFNDEF USE_FULLWARN |
| 24 USE_FULLWARN = 0 |
| 25 !ENDIF |
| 26 |
| 27 # Set this non-0 to enable treating warnings as errors (-WX, etc) when |
| 28 # compiling. |
| 29 # |
| 30 !IFNDEF USE_FATAL_WARN |
| 31 USE_FATAL_WARN = 0 |
| 32 !ENDIF |
| 33 |
| 34 # Set this non-0 to enable full runtime error checks (-RTC1, etc). This |
| 35 # has no effect if (any) optimizations are enabled. |
| 36 # |
| 37 !IFNDEF USE_RUNTIME_CHECKS |
| 38 USE_RUNTIME_CHECKS = 0 |
| 39 !ENDIF |
| 40 |
| 41 # Set this non-0 to create a SQLite amalgamation file that excludes the |
| 42 # various built-in extensions. |
| 43 # |
| 44 !IFNDEF MINIMAL_AMALGAMATION |
| 45 MINIMAL_AMALGAMATION = 0 |
| 46 !ENDIF |
| 47 |
| 48 # Set this non-0 to use "stdcall" calling convention for the core library |
| 49 # and shell executable. |
| 50 # |
| 51 !IFNDEF USE_STDCALL |
| 52 USE_STDCALL = 0 |
| 53 !ENDIF |
| 54 |
| 55 # Set this non-0 to have the shell executable link against the core dynamic |
| 56 # link library. |
| 57 # |
| 58 !IFNDEF DYNAMIC_SHELL |
| 59 DYNAMIC_SHELL = 0 |
| 60 !ENDIF |
| 61 |
| 62 # Set this non-0 to enable extra code that attempts to detect misuse of the |
| 63 # SQLite API. |
| 64 # |
| 65 !IFNDEF API_ARMOR |
| 66 API_ARMOR = 0 |
| 67 !ENDIF |
| 68 |
| 69 # If necessary, create a list of harmless compiler warnings to disable when |
| 70 # compiling the various tools. For the SQLite source code itself, warnings, |
| 71 # if any, will be disabled from within it. |
| 72 # |
| 73 !IFNDEF NO_WARN |
| 74 !IF $(USE_FULLWARN)!=0 |
| 75 NO_WARN = -wd4054 -wd4055 -wd4100 -wd4127 -wd4130 -wd4152 -wd4189 -wd4206 |
| 76 NO_WARN = $(NO_WARN) -wd4210 -wd4232 -wd4305 -wd4306 -wd4702 -wd4706 |
| 77 !ENDIF |
| 78 !ENDIF |
| 79 |
| 80 # Set this non-0 to use the library paths and other options necessary for |
| 81 # Windows Phone 8.1. |
| 82 # |
| 83 !IFNDEF USE_WP81_OPTS |
| 84 USE_WP81_OPTS = 0 |
| 85 !ENDIF |
| 86 |
| 87 # Set this non-0 to split the SQLite amalgamation file into chunks to |
| 88 # be used for debugging with Visual Studio. |
| 89 # |
| 90 !IFNDEF SPLIT_AMALGAMATION |
| 91 SPLIT_AMALGAMATION = 0 |
| 92 !ENDIF |
| 93 |
| 94 # <<mark>> |
| 95 # Set this non-0 to use the International Components for Unicode (ICU). |
| 96 # |
| 97 !IFNDEF USE_ICU |
| 98 USE_ICU = 0 |
| 99 !ENDIF |
| 100 # <</mark>> |
| 101 |
| 102 # Set this non-0 to dynamically link to the MSVC runtime library. |
| 103 # |
| 104 !IFNDEF USE_CRT_DLL |
| 105 USE_CRT_DLL = 0 |
| 106 !ENDIF |
| 107 |
| 108 # Set this non-0 to link to the RPCRT4 library. |
| 109 # |
| 110 !IFNDEF USE_RPCRT4_LIB |
| 111 USE_RPCRT4_LIB = 0 |
| 112 !ENDIF |
| 113 |
| 114 # Set this non-0 to generate assembly code listings for the source code |
| 115 # files. |
| 116 # |
| 117 !IFNDEF USE_LISTINGS |
| 118 USE_LISTINGS = 0 |
| 119 !ENDIF |
| 120 |
| 121 # Set this non-0 to attempt setting the native compiler automatically |
| 122 # for cross-compiling the command line tools needed during the compilation |
| 123 # process. |
| 124 # |
| 125 !IFNDEF XCOMPILE |
| 126 XCOMPILE = 0 |
| 127 !ENDIF |
| 128 |
| 129 # Set this non-0 to use the native libraries paths for cross-compiling |
| 130 # the command line tools needed during the compilation process. |
| 131 # |
| 132 !IFNDEF USE_NATIVE_LIBPATHS |
| 133 USE_NATIVE_LIBPATHS = 0 |
| 134 !ENDIF |
| 135 |
| 136 # Set this 0 to skip the compiling and embedding of version resources. |
| 137 # |
| 138 !IFNDEF USE_RC |
| 139 USE_RC = 1 |
| 140 !ENDIF |
| 141 |
| 142 # Set this non-0 to compile binaries suitable for the WinRT environment. |
| 143 # This setting does not apply to any binaries that require Tcl to operate |
| 144 # properly (i.e. the text fixture, etc). |
| 145 # |
| 146 !IFNDEF FOR_WINRT |
| 147 FOR_WINRT = 0 |
| 148 !ENDIF |
| 149 |
| 150 # Set this non-0 to compile binaries suitable for the UWP environment. |
| 151 # This setting does not apply to any binaries that require Tcl to operate |
| 152 # properly (i.e. the text fixture, etc). |
| 153 # |
| 154 !IFNDEF FOR_UWP |
| 155 FOR_UWP = 0 |
| 156 !ENDIF |
| 157 |
| 158 # Set this non-0 to compile binaries suitable for the Windows 10 platform. |
| 159 # |
| 160 !IFNDEF FOR_WIN10 |
| 161 FOR_WIN10 = 0 |
| 162 !ENDIF |
| 163 |
| 164 # <<mark>> |
| 165 # Set this non-0 to skip attempting to look for and/or link with the Tcl |
| 166 # runtime library. |
| 167 # |
| 168 !IFNDEF NO_TCL |
| 169 NO_TCL = 0 |
| 170 !ENDIF |
| 171 # <</mark>> |
| 172 |
| 173 # Set this to non-0 to create and use PDBs. |
| 174 # |
| 175 !IFNDEF SYMBOLS |
| 176 SYMBOLS = 1 |
| 177 !ENDIF |
| 178 |
| 179 # Set this to non-0 to use the SQLite debugging heap subsystem. |
| 180 # |
| 181 !IFNDEF MEMDEBUG |
| 182 MEMDEBUG = 0 |
| 183 !ENDIF |
| 184 |
| 185 # Set this to non-0 to use the Win32 native heap subsystem. |
| 186 # |
| 187 !IFNDEF WIN32HEAP |
| 188 WIN32HEAP = 0 |
| 189 !ENDIF |
| 190 |
| 191 # Set this to non-0 to enable OSTRACE() macros, which can be useful when |
| 192 # debugging. |
| 193 # |
| 194 !IFNDEF OSTRACE |
| 195 OSTRACE = 0 |
| 196 !ENDIF |
| 197 |
| 198 # Set this to one of the following values to enable various debugging |
| 199 # features. Each level includes the debugging options from the previous |
| 200 # levels. Currently, the recognized values for DEBUG are: |
| 201 # |
| 202 # 0 == NDEBUG: Disables assert() and other runtime diagnostics. |
| 203 # 1 == SQLITE_ENABLE_API_ARMOR: extra attempts to detect misuse of the API. |
| 204 # 2 == Disables NDEBUG and all optimizations and then enables PDBs. |
| 205 # 3 == SQLITE_DEBUG: Enables various diagnostics messages and code. |
| 206 # 4 == SQLITE_WIN32_MALLOC_VALIDATE: Validate the Win32 native heap per call. |
| 207 # 5 == SQLITE_DEBUG_OS_TRACE: Enables output from the OSTRACE() macros. |
| 208 # 6 == SQLITE_ENABLE_IOTRACE: Enables output from the IOTRACE() macros. |
| 209 # |
| 210 !IFNDEF DEBUG |
| 211 DEBUG = 0 |
| 212 !ENDIF |
| 213 |
| 214 # Enable use of available compiler optimizations? Normally, this should be |
| 215 # non-zero. Setting this to zero, thus disabling all compiler optimizations, |
| 216 # can be useful for testing. |
| 217 # |
| 218 !IFNDEF OPTIMIZATIONS |
| 219 OPTIMIZATIONS = 2 |
| 220 !ENDIF |
| 221 |
| 222 # Set this to non-0 to enable support for the session extension. |
| 223 # |
| 224 !IFNDEF SESSION |
| 225 SESSION = 0 |
| 226 !ENDIF |
| 227 |
| 228 # Set the source code file to be used by executables and libraries when |
| 229 # they need the amalgamation. |
| 230 # |
| 231 !IFNDEF SQLITE3C |
| 232 !IF $(SPLIT_AMALGAMATION)!=0 |
| 233 SQLITE3C = sqlite3-all.c |
| 234 !ELSE |
| 235 SQLITE3C = sqlite3.c |
| 236 !ENDIF |
| 237 !ENDIF |
| 238 |
| 239 # Set the include code file to be used by executables and libraries when |
| 240 # they need SQLite. |
| 241 # |
| 242 !IFNDEF SQLITE3H |
| 243 SQLITE3H = sqlite3.h |
| 244 !ENDIF |
| 245 |
| 246 # This is the name to use for the SQLite dynamic link library (DLL). |
| 247 # |
| 248 !IFNDEF SQLITE3DLL |
| 249 !IF $(FOR_WIN10)!=0 |
| 250 SQLITE3DLL = winsqlite3.dll |
| 251 !ELSE |
| 252 SQLITE3DLL = sqlite3.dll |
| 253 !ENDIF |
| 254 !ENDIF |
| 255 |
| 256 # This is the name to use for the SQLite import library (LIB). |
| 257 # |
| 258 !IFNDEF SQLITE3LIB |
| 259 !IF $(FOR_WIN10)!=0 |
| 260 SQLITE3LIB = winsqlite3.lib |
| 261 !ELSE |
| 262 SQLITE3LIB = sqlite3.lib |
| 263 !ENDIF |
| 264 !ENDIF |
| 265 |
| 266 # This is the name to use for the SQLite shell executable (EXE). |
| 267 # |
| 268 !IFNDEF SQLITE3EXE |
| 269 !IF $(FOR_WIN10)!=0 |
| 270 SQLITE3EXE = winsqlite3shell.exe |
| 271 !ELSE |
| 272 SQLITE3EXE = sqlite3.exe |
| 273 !ENDIF |
| 274 !ENDIF |
| 275 |
| 276 # This is the argument used to set the program database (PDB) file for the |
| 277 # SQLite shell executable (EXE). |
| 278 # |
| 279 !IFNDEF SQLITE3EXEPDB |
| 280 !IF $(FOR_WIN10)!=0 |
| 281 SQLITE3EXEPDB = |
| 282 !ELSE |
| 283 SQLITE3EXEPDB = /pdb:sqlite3sh.pdb |
| 284 !ENDIF |
| 285 !ENDIF |
| 286 |
| 287 # <<mark>> |
| 288 # These are the names of the customized Tcl header files used by various parts |
| 289 # of this makefile when the stdcall calling convention is in use. It is not |
| 290 # used for any other purpose. |
| 291 # |
| 292 !IFNDEF SQLITETCLH |
| 293 SQLITETCLH = sqlite_tcl.h |
| 294 !ENDIF |
| 295 |
| 296 !IFNDEF SQLITETCLDECLSH |
| 297 SQLITETCLDECLSH = sqlite_tclDecls.h |
| 298 !ENDIF |
| 299 |
| 300 # These are the additional targets that the targets that integrate with the |
| 301 # Tcl library should depend on when compiling, etc. |
| 302 # |
| 303 !IFNDEF SQLITE_TCL_DEP |
| 304 !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0 |
| 305 SQLITE_TCL_DEP = $(SQLITETCLDECLSH) $(SQLITETCLH) |
| 306 !ELSE |
| 307 SQLITE_TCL_DEP = |
| 308 !ENDIF |
| 309 !ENDIF |
| 310 # <</mark>> |
| 311 |
| 312 # These are the "standard" SQLite compilation options used when compiling for |
| 313 # the Windows platform. |
| 314 # |
| 315 !IFNDEF OPT_FEATURE_FLAGS |
| 316 !IF $(MINIMAL_AMALGAMATION)==0 |
| 317 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_FTS3=1 |
| 318 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_RTREE=1 |
| 319 !ENDIF |
| 320 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_COLUMN_METADATA=1 |
| 321 !ENDIF |
| 322 |
| 323 # Should the session extension be enabled? If so, add compilation options |
| 324 # to enable it. |
| 325 # |
| 326 !IF $(SESSION)!=0 |
| 327 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_SESSION=1 |
| 328 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_PREUPDATE_HOOK=1 |
| 329 !ENDIF |
| 330 |
| 331 # These are the "extended" SQLite compilation options used when compiling for |
| 332 # the Windows 10 platform. |
| 333 # |
| 334 !IFNDEF EXT_FEATURE_FLAGS |
| 335 !IF $(FOR_WIN10)!=0 |
| 336 EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_ENABLE_FTS4=1 |
| 337 EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_SYSTEM_MALLOC=1 |
| 338 EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_OMIT_LOCALTIME=1 |
| 339 !ELSE |
| 340 EXT_FEATURE_FLAGS = |
| 341 !ENDIF |
| 342 !ENDIF |
| 343 |
| 344 ############################################################################### |
| 345 ############################### END OF OPTIONS ################################ |
| 346 ############################################################################### |
| 347 |
| 348 # When compiling for the Windows 10 platform, the PLATFORM macro must be set |
| 349 # to an appropriate value (e.g. x86, x64, arm, arm64, etc). |
| 350 # |
| 351 !IF $(FOR_WIN10)!=0 |
| 352 !IFNDEF PLATFORM |
| 353 !ERROR Using the FOR_WIN10 option requires a value for PLATFORM. |
| 354 !ENDIF |
| 355 !ENDIF |
| 356 |
| 357 # This assumes that MSVC is always installed in 32-bit Program Files directory |
| 358 # and sets the variable for use in locating other 32-bit installs accordingly. |
| 359 # |
| 360 PROGRAMFILES_X86 = $(VCINSTALLDIR)\..\.. |
| 361 PROGRAMFILES_X86 = $(PROGRAMFILES_X86:\\=\) |
| 362 |
| 363 # Check for the predefined command macro CC. This should point to the compiler |
| 364 # binary for the target platform. If it is not defined, simply define it to |
| 365 # the legacy default value 'cl.exe'. |
| 366 # |
| 367 !IFNDEF CC |
| 368 CC = cl.exe |
| 369 !ENDIF |
| 370 |
| 371 # Check for the predefined command macro CSC. This should point to a working |
| 372 # C Sharp compiler binary. If it is not defined, simply define it to the |
| 373 # legacy default value 'csc.exe'. |
| 374 # |
| 375 !IFNDEF CSC |
| 376 CSC = csc.exe |
| 377 !ENDIF |
| 378 |
| 379 # Check for the command macro LD. This should point to the linker binary for |
| 380 # the target platform. If it is not defined, simply define it to the legacy |
| 381 # default value 'link.exe'. |
| 382 # |
| 383 !IFNDEF LD |
| 384 LD = link.exe |
| 385 !ENDIF |
| 386 |
| 387 # Check for the predefined command macro RC. This should point to the resource |
| 388 # compiler binary for the target platform. If it is not defined, simply define |
| 389 # it to the legacy default value 'rc.exe'. |
| 390 # |
| 391 !IFNDEF RC |
| 392 RC = rc.exe |
| 393 !ENDIF |
| 394 |
| 395 # Check for the MSVC runtime library path macro. Otherwise, this value will |
| 396 # default to the 'lib' directory underneath the MSVC installation directory. |
| 397 # |
| 398 !IFNDEF CRTLIBPATH |
| 399 CRTLIBPATH = $(VCINSTALLDIR)\lib |
| 400 !ENDIF |
| 401 |
| 402 CRTLIBPATH = $(CRTLIBPATH:\\=\) |
| 403 |
| 404 # Check for the command macro NCC. This should point to the compiler binary |
| 405 # for the platform the compilation process is taking place on. If it is not |
| 406 # defined, simply define it to have the same value as the CC macro. When |
| 407 # cross-compiling, it is suggested that this macro be modified via the command |
| 408 # line (since nmake itself does not provide a built-in method to guess it). |
| 409 # For example, to use the x86 compiler when cross-compiling for x64, a command |
| 410 # line similar to the following could be used (all on one line): |
| 411 # |
| 412 # nmake /f Makefile.msc sqlite3.dll |
| 413 # XCOMPILE=1 USE_NATIVE_LIBPATHS=1 |
| 414 # |
| 415 # Alternatively, the full path and file name to the compiler binary for the |
| 416 # platform the compilation process is taking place may be specified (all on |
| 417 # one line): |
| 418 # |
| 419 # nmake /f Makefile.msc sqlite3.dll |
| 420 # "NCC=""%VCINSTALLDIR%\bin\cl.exe""" |
| 421 # USE_NATIVE_LIBPATHS=1 |
| 422 # |
| 423 !IFDEF NCC |
| 424 NCC = $(NCC:\\=\) |
| 425 !ELSEIF $(XCOMPILE)!=0 |
| 426 NCC = "$(VCINSTALLDIR)\bin\$(CC)" |
| 427 NCC = $(NCC:\\=\) |
| 428 !ELSE |
| 429 NCC = $(CC) |
| 430 !ENDIF |
| 431 |
| 432 # Check for the MSVC native runtime library path macro. Otherwise, |
| 433 # this value will default to the 'lib' directory underneath the MSVC |
| 434 # installation directory. |
| 435 # |
| 436 !IFNDEF NCRTLIBPATH |
| 437 NCRTLIBPATH = $(VCINSTALLDIR)\lib |
| 438 !ENDIF |
| 439 |
| 440 NCRTLIBPATH = $(NCRTLIBPATH:\\=\) |
| 441 |
| 442 # Check for the Platform SDK library path macro. Otherwise, this |
| 443 # value will default to the 'lib' directory underneath the Windows |
| 444 # SDK installation directory (the environment variable used appears |
| 445 # to be available when using Visual C++ 2008 or later via the |
| 446 # command line). |
| 447 # |
| 448 !IFNDEF NSDKLIBPATH |
| 449 NSDKLIBPATH = $(WINDOWSSDKDIR)\lib |
| 450 !ENDIF |
| 451 |
| 452 NSDKLIBPATH = $(NSDKLIBPATH:\\=\) |
| 453 |
| 454 # Check for the UCRT library path macro. Otherwise, this value will |
| 455 # default to the version-specific, platform-specific 'lib' directory |
| 456 # underneath the Windows SDK installation directory. |
| 457 # |
| 458 !IFNDEF UCRTLIBPATH |
| 459 UCRTLIBPATH = $(WINDOWSSDKDIR)\lib\$(WINDOWSSDKLIBVERSION)\ucrt\$(PLATFORM) |
| 460 !ENDIF |
| 461 |
| 462 UCRTLIBPATH = $(UCRTLIBPATH:\\=\) |
| 463 |
| 464 # C compiler and options for use in building executables that |
| 465 # will run on the platform that is doing the build. |
| 466 # |
| 467 !IF $(USE_FULLWARN)!=0 |
| 468 BCC = $(NCC) -nologo -W4 $(CCOPTS) $(BCCOPTS) |
| 469 !ELSE |
| 470 BCC = $(NCC) -nologo -W3 $(CCOPTS) $(BCCOPTS) |
| 471 !ENDIF |
| 472 |
| 473 # Check if assembly code listings should be generated for the source |
| 474 # code files to be compiled. |
| 475 # |
| 476 !IF $(USE_LISTINGS)!=0 |
| 477 BCC = $(BCC) -FAcs |
| 478 !ENDIF |
| 479 |
| 480 # Check if the native library paths should be used when compiling |
| 481 # the command line tools used during the compilation process. If |
| 482 # so, set the necessary macro now. |
| 483 # |
| 484 !IF $(USE_NATIVE_LIBPATHS)!=0 |
| 485 NLTLIBPATHS = "/LIBPATH:$(NCRTLIBPATH)" "/LIBPATH:$(NSDKLIBPATH)" |
| 486 |
| 487 !IFDEF NUCRTLIBPATH |
| 488 NUCRTLIBPATH = $(NUCRTLIBPATH:\\=\) |
| 489 NLTLIBPATHS = $(NLTLIBPATHS) "/LIBPATH:$(NUCRTLIBPATH)" |
| 490 !ENDIF |
| 491 !ENDIF |
| 492 |
| 493 # C compiler and options for use in building executables that |
| 494 # will run on the target platform. (BCC and TCC are usually the |
| 495 # same unless your are cross-compiling.) |
| 496 # |
| 497 !IF $(USE_FULLWARN)!=0 |
| 498 TCC = $(CC) -nologo -W4 -DINCLUDE_MSVC_H=1 $(CCOPTS) $(TCCOPTS) |
| 499 !ELSE |
| 500 TCC = $(CC) -nologo -W3 $(CCOPTS) $(TCCOPTS) |
| 501 !ENDIF |
| 502 |
| 503 # Check if warnings should be treated as errors when compiling. |
| 504 # |
| 505 !IF $(USE_FATAL_WARN)!=0 |
| 506 TCC = $(TCC) -WX |
| 507 !ENDIF |
| 508 |
| 509 TCC = $(TCC) -DSQLITE_OS_WIN=1 -I. -I$(TOP) -I$(TOP)\src -fp:precise |
| 510 RCC = $(RC) -DSQLITE_OS_WIN=1 -I. -I$(TOP) -I$(TOP)\src $(RCOPTS) $(RCCOPTS) |
| 511 |
| 512 # Check if we want to use the "stdcall" calling convention when compiling. |
| 513 # This is not supported by the compilers for non-x86 platforms. It should |
| 514 # also be noted here that building any target with these "stdcall" options |
| 515 # will most likely fail if the Tcl library is also required. This is due |
| 516 # to how the Tcl library functions are declared and exported (i.e. without |
| 517 # an explicit calling convention, which results in "cdecl"). |
| 518 # |
| 519 !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0 |
| 520 !IF "$(PLATFORM)"=="x86" |
| 521 CORE_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE
_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall |
| 522 SHELL_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLIT
E_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall |
| 523 # <<mark>> |
| 524 TEST_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE
_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall -DINCLUDE_SQLITE_TCL_H=1 -DSQLITE_
TCLAPI=__cdecl |
| 525 # <</mark>> |
| 526 !ELSE |
| 527 !IFNDEF PLATFORM |
| 528 CORE_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE
_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall |
| 529 SHELL_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLIT
E_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall |
| 530 # <<mark>> |
| 531 TEST_CCONV_OPTS = -Gz -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE
_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall -DINCLUDE_SQLITE_TCL_H=1 -DSQLITE_
TCLAPI=__cdecl |
| 532 # <</mark>> |
| 533 !ELSE |
| 534 CORE_CCONV_OPTS = |
| 535 SHELL_CCONV_OPTS = |
| 536 # <<mark>> |
| 537 TEST_CCONV_OPTS = |
| 538 # <</mark>> |
| 539 !ENDIF |
| 540 !ENDIF |
| 541 !ELSE |
| 542 CORE_CCONV_OPTS = |
| 543 SHELL_CCONV_OPTS = |
| 544 # <<mark>> |
| 545 TEST_CCONV_OPTS = |
| 546 # <</mark>> |
| 547 !ENDIF |
| 548 |
| 549 # These are additional compiler options used for the core library. |
| 550 # |
| 551 !IFNDEF CORE_COMPILE_OPTS |
| 552 !IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0 |
| 553 CORE_COMPILE_OPTS = $(CORE_CCONV_OPTS) -DSQLITE_API=__declspec(dllexport) |
| 554 !ELSE |
| 555 CORE_COMPILE_OPTS = $(CORE_CCONV_OPTS) |
| 556 !ENDIF |
| 557 !ENDIF |
| 558 |
| 559 # These are the additional targets that the core library should depend on |
| 560 # when linking. |
| 561 # |
| 562 !IFNDEF CORE_LINK_DEP |
| 563 !IF $(DYNAMIC_SHELL)!=0 |
| 564 CORE_LINK_DEP = |
| 565 !ELSEIF $(FOR_WIN10)==0 || "$(PLATFORM)"=="x86" |
| 566 CORE_LINK_DEP = sqlite3.def |
| 567 !ELSE |
| 568 CORE_LINK_DEP = |
| 569 !ENDIF |
| 570 !ENDIF |
| 571 |
| 572 # These are additional linker options used for the core library. |
| 573 # |
| 574 !IFNDEF CORE_LINK_OPTS |
| 575 !IF $(DYNAMIC_SHELL)!=0 |
| 576 CORE_LINK_OPTS = |
| 577 !ELSEIF $(FOR_WIN10)==0 || "$(PLATFORM)"=="x86" |
| 578 CORE_LINK_OPTS = /DEF:sqlite3.def |
| 579 !ELSE |
| 580 CORE_LINK_OPTS = |
| 581 !ENDIF |
| 582 !ENDIF |
| 583 |
| 584 # These are additional compiler options used for the shell executable. |
| 585 # |
| 586 !IFNDEF SHELL_COMPILE_OPTS |
| 587 !IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0 |
| 588 SHELL_COMPILE_OPTS = $(SHELL_CCONV_OPTS) -DSQLITE_API=__declspec(dllimport) |
| 589 !ELSE |
| 590 SHELL_COMPILE_OPTS = $(SHELL_CCONV_OPTS) |
| 591 !ENDIF |
| 592 !ENDIF |
| 593 |
| 594 # This is the source code that the shell executable should be compiled |
| 595 # with. |
| 596 # |
| 597 !IFNDEF SHELL_CORE_SRC |
| 598 !IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0 |
| 599 SHELL_CORE_SRC = |
| 600 !ELSE |
| 601 SHELL_CORE_SRC = $(SQLITE3C) |
| 602 !ENDIF |
| 603 !ENDIF |
| 604 |
| 605 # This is the core library that the shell executable should depend on. |
| 606 # |
| 607 !IFNDEF SHELL_CORE_DEP |
| 608 !IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0 |
| 609 SHELL_CORE_DEP = $(SQLITE3DLL) |
| 610 !ELSE |
| 611 SHELL_CORE_DEP = |
| 612 !ENDIF |
| 613 !ENDIF |
| 614 |
| 615 # This is the core library that the shell executable should link with. |
| 616 # |
| 617 !IFNDEF SHELL_CORE_LIB |
| 618 !IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0 |
| 619 SHELL_CORE_LIB = $(SQLITE3LIB) |
| 620 !ELSE |
| 621 SHELL_CORE_LIB = |
| 622 !ENDIF |
| 623 !ENDIF |
| 624 |
| 625 # These are additional linker options used for the shell executable. |
| 626 # |
| 627 !IFNDEF SHELL_LINK_OPTS |
| 628 SHELL_LINK_OPTS = $(SHELL_CORE_LIB) |
| 629 !ENDIF |
| 630 |
| 631 # Check if assembly code listings should be generated for the source |
| 632 # code files to be compiled. |
| 633 # |
| 634 !IF $(USE_LISTINGS)!=0 |
| 635 TCC = $(TCC) -FAcs |
| 636 !ENDIF |
| 637 |
| 638 # When compiling the library for use in the WinRT environment, |
| 639 # the following compile-time options must be used as well to |
| 640 # disable use of Win32 APIs that are not available and to enable |
| 641 # use of Win32 APIs that are specific to Windows 8 and/or WinRT. |
| 642 # |
| 643 !IF $(FOR_WINRT)!=0 |
| 644 TCC = $(TCC) -DSQLITE_OS_WINRT=1 |
| 645 RCC = $(RCC) -DSQLITE_OS_WINRT=1 |
| 646 TCC = $(TCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP |
| 647 RCC = $(RCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP |
| 648 !ENDIF |
| 649 |
| 650 # C compiler options for the Windows 10 platform (needs MSVC 2015). |
| 651 # |
| 652 !IF $(FOR_WIN10)!=0 |
| 653 TCC = $(TCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE |
| 654 BCC = $(BCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE |
| 655 !ENDIF |
| 656 |
| 657 # Also, we need to dynamically link to the correct MSVC runtime |
| 658 # when compiling for WinRT (e.g. debug or release) OR if the |
| 659 # USE_CRT_DLL option is set to force dynamically linking to the |
| 660 # MSVC runtime library. |
| 661 # |
| 662 !IF $(FOR_WINRT)!=0 || $(USE_CRT_DLL)!=0 |
| 663 !IF $(DEBUG)>1 |
| 664 TCC = $(TCC) -MDd |
| 665 BCC = $(BCC) -MDd |
| 666 !ELSE |
| 667 TCC = $(TCC) -MD |
| 668 BCC = $(BCC) -MD |
| 669 !ENDIF |
| 670 !ELSE |
| 671 !IF $(DEBUG)>1 |
| 672 TCC = $(TCC) -MTd |
| 673 BCC = $(BCC) -MTd |
| 674 !ELSE |
| 675 TCC = $(TCC) -MT |
| 676 BCC = $(BCC) -MT |
| 677 !ENDIF |
| 678 !ENDIF |
| 679 |
| 680 # <<mark>> |
| 681 # The mksqlite3c.tcl and mksqlite3h.tcl scripts will pull in |
| 682 # any extension header files by default. For non-amalgamation |
| 683 # builds, we need to make sure the compiler can find these. |
| 684 # |
| 685 !IF $(USE_AMALGAMATION)==0 |
| 686 TCC = $(TCC) -I$(TOP)\ext\fts3 |
| 687 RCC = $(RCC) -I$(TOP)\ext\fts3 |
| 688 TCC = $(TCC) -I$(TOP)\ext\rtree |
| 689 RCC = $(RCC) -I$(TOP)\ext\rtree |
| 690 TCC = $(TCC) -I$(TOP)\ext\session |
| 691 RCC = $(RCC) -I$(TOP)\ext\session |
| 692 !ENDIF |
| 693 |
| 694 # The mksqlite3c.tcl script accepts some options on the command |
| 695 # line. When compiling with debugging enabled, some of these |
| 696 # options are necessary in order to allow debugging symbols to |
| 697 # work correctly with Visual Studio when using the amalgamation. |
| 698 # |
| 699 !IFNDEF MKSQLITE3C_TOOL |
| 700 !IF $(MINIMAL_AMALGAMATION)!=0 |
| 701 MKSQLITE3C_TOOL = $(TOP)\tool\mksqlite3c-noext.tcl |
| 702 !ELSE |
| 703 MKSQLITE3C_TOOL = $(TOP)\tool\mksqlite3c.tcl |
| 704 !ENDIF |
| 705 !ENDIF |
| 706 |
| 707 !IFNDEF MKSQLITE3C_ARGS |
| 708 !IF $(DEBUG)>1 |
| 709 MKSQLITE3C_ARGS = --linemacros |
| 710 !ELSE |
| 711 MKSQLITE3C_ARGS = |
| 712 !ENDIF |
| 713 !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0 |
| 714 MKSQLITE3C_ARGS = $(MKSQLITE3C_ARGS) --useapicall |
| 715 !ENDIF |
| 716 !ENDIF |
| 717 |
| 718 # The mksqlite3h.tcl script accepts some options on the command line. |
| 719 # When compiling with stdcall support, some of these options are |
| 720 # necessary. |
| 721 # |
| 722 !IFNDEF MKSQLITE3H_ARGS |
| 723 !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0 |
| 724 MKSQLITE3H_ARGS = --useapicall |
| 725 !ELSE |
| 726 MKSQLITE3H_ARGS = |
| 727 !ENDIF |
| 728 !ENDIF |
| 729 # <</mark>> |
| 730 |
| 731 # Define -DNDEBUG to compile without debugging (i.e., for production usage) |
| 732 # Omitting the define will cause extra debugging code to be inserted and |
| 733 # includes extra comments when "EXPLAIN stmt" is used. |
| 734 # |
| 735 !IF $(DEBUG)==0 |
| 736 TCC = $(TCC) -DNDEBUG |
| 737 BCC = $(BCC) -DNDEBUG |
| 738 RCC = $(RCC) -DNDEBUG |
| 739 !ENDIF |
| 740 |
| 741 !IF $(DEBUG)>0 || $(API_ARMOR)!=0 || $(FOR_WIN10)!=0 |
| 742 TCC = $(TCC) -DSQLITE_ENABLE_API_ARMOR=1 |
| 743 RCC = $(RCC) -DSQLITE_ENABLE_API_ARMOR=1 |
| 744 !ENDIF |
| 745 |
| 746 !IF $(DEBUG)>2 |
| 747 TCC = $(TCC) -DSQLITE_DEBUG=1 |
| 748 RCC = $(RCC) -DSQLITE_DEBUG=1 |
| 749 !ENDIF |
| 750 |
| 751 !IF $(DEBUG)>4 || $(OSTRACE)!=0 |
| 752 TCC = $(TCC) -DSQLITE_FORCE_OS_TRACE=1 -DSQLITE_DEBUG_OS_TRACE=1 |
| 753 RCC = $(RCC) -DSQLITE_FORCE_OS_TRACE=1 -DSQLITE_DEBUG_OS_TRACE=1 |
| 754 !ENDIF |
| 755 |
| 756 !IF $(DEBUG)>5 |
| 757 TCC = $(TCC) -DSQLITE_ENABLE_IOTRACE=1 |
| 758 RCC = $(RCC) -DSQLITE_ENABLE_IOTRACE=1 |
| 759 !ENDIF |
| 760 |
| 761 # Prevent warnings about "insecure" MSVC runtime library functions |
| 762 # being used. |
| 763 # |
| 764 TCC = $(TCC) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS |
| 765 BCC = $(BCC) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS |
| 766 RCC = $(RCC) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS |
| 767 |
| 768 # Prevent warnings about "deprecated" POSIX functions being used. |
| 769 # |
| 770 TCC = $(TCC) -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS |
| 771 BCC = $(BCC) -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS |
| 772 RCC = $(RCC) -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS |
| 773 |
| 774 # Use the SQLite debugging heap subsystem? |
| 775 # |
| 776 !IF $(MEMDEBUG)!=0 |
| 777 TCC = $(TCC) -DSQLITE_MEMDEBUG=1 |
| 778 RCC = $(RCC) -DSQLITE_MEMDEBUG=1 |
| 779 |
| 780 # Use native Win32 heap subsystem instead of malloc/free? |
| 781 # |
| 782 !ELSEIF $(WIN32HEAP)!=0 |
| 783 TCC = $(TCC) -DSQLITE_WIN32_MALLOC=1 |
| 784 RCC = $(RCC) -DSQLITE_WIN32_MALLOC=1 |
| 785 |
| 786 # Validate the heap on every call into the native Win32 heap subsystem? |
| 787 # |
| 788 !IF $(DEBUG)>3 |
| 789 TCC = $(TCC) -DSQLITE_WIN32_MALLOC_VALIDATE=1 |
| 790 RCC = $(RCC) -DSQLITE_WIN32_MALLOC_VALIDATE=1 |
| 791 !ENDIF |
| 792 !ENDIF |
| 793 |
| 794 # <<mark>> |
| 795 # The locations of the Tcl header and library files. Also, the library that |
| 796 # non-stubs enabled programs using Tcl must link against. These variables |
| 797 # (TCLINCDIR, TCLLIBDIR, and LIBTCL) may be overridden via the environment |
| 798 # prior to running nmake in order to match the actual installed location and |
| 799 # version on this machine. |
| 800 # |
| 801 !IFNDEF TCLINCDIR |
| 802 TCLINCDIR = c:\tcl\include |
| 803 !ENDIF |
| 804 |
| 805 !IFNDEF TCLLIBDIR |
| 806 TCLLIBDIR = c:\tcl\lib |
| 807 !ENDIF |
| 808 |
| 809 !IFNDEF LIBTCL |
| 810 LIBTCL = tcl86.lib |
| 811 !ENDIF |
| 812 |
| 813 !IFNDEF LIBTCLSTUB |
| 814 LIBTCLSTUB = tclstub86.lib |
| 815 !ENDIF |
| 816 |
| 817 !IFNDEF LIBTCLPATH |
| 818 LIBTCLPATH = c:\tcl\bin |
| 819 !ENDIF |
| 820 |
| 821 # The locations of the ICU header and library files. These variables |
| 822 # (ICUINCDIR, ICULIBDIR, and LIBICU) may be overridden via the environment |
| 823 # prior to running nmake in order to match the actual installed location on |
| 824 # this machine. |
| 825 # |
| 826 !IFNDEF ICUINCDIR |
| 827 ICUINCDIR = c:\icu\include |
| 828 !ENDIF |
| 829 |
| 830 !IFNDEF ICULIBDIR |
| 831 ICULIBDIR = c:\icu\lib |
| 832 !ENDIF |
| 833 |
| 834 !IFNDEF LIBICU |
| 835 LIBICU = icuuc.lib icuin.lib |
| 836 !ENDIF |
| 837 |
| 838 # This is the command to use for tclsh - normally just "tclsh", but we may |
| 839 # know the specific version we want to use. This variable (TCLSH_CMD) may be |
| 840 # overridden via the environment prior to running nmake in order to select a |
| 841 # specific Tcl shell to use. |
| 842 # |
| 843 !IFNDEF TCLSH_CMD |
| 844 TCLSH_CMD = tclsh |
| 845 !ENDIF |
| 846 # <</mark>> |
| 847 |
| 848 # Compiler options needed for programs that use the readline() library. |
| 849 # |
| 850 !IFNDEF READLINE_FLAGS |
| 851 READLINE_FLAGS = -DHAVE_READLINE=0 |
| 852 !ENDIF |
| 853 |
| 854 # The library that programs using readline() must link against. |
| 855 # |
| 856 !IFNDEF LIBREADLINE |
| 857 LIBREADLINE = |
| 858 !ENDIF |
| 859 |
| 860 # Should the database engine be compiled threadsafe |
| 861 # |
| 862 TCC = $(TCC) -DSQLITE_THREADSAFE=1 |
| 863 RCC = $(RCC) -DSQLITE_THREADSAFE=1 |
| 864 |
| 865 # Do threads override each others locks by default (1), or do we test (-1) |
| 866 # |
| 867 TCC = $(TCC) -DSQLITE_THREAD_OVERRIDE_LOCK=-1 |
| 868 RCC = $(RCC) -DSQLITE_THREAD_OVERRIDE_LOCK=-1 |
| 869 |
| 870 # Any target libraries which libsqlite must be linked against |
| 871 # |
| 872 !IFNDEF TLIBS |
| 873 TLIBS = |
| 874 !ENDIF |
| 875 |
| 876 # Flags controlling use of the in memory btree implementation |
| 877 # |
| 878 # SQLITE_TEMP_STORE is 0 to force temporary tables to be in a file, 1 to |
| 879 # default to file, 2 to default to memory, and 3 to force temporary |
| 880 # tables to always be in memory. |
| 881 # |
| 882 TCC = $(TCC) -DSQLITE_TEMP_STORE=1 |
| 883 RCC = $(RCC) -DSQLITE_TEMP_STORE=1 |
| 884 |
| 885 # Enable/disable loadable extensions, and other optional features |
| 886 # based on configuration. (-DSQLITE_OMIT*, -DSQLITE_ENABLE*). |
| 887 # The same set of OMIT and ENABLE flags should be passed to the |
| 888 # LEMON parser generator and the mkkeywordhash tool as well. |
| 889 |
| 890 # These are the required SQLite compilation options used when compiling for |
| 891 # the Windows platform. |
| 892 # |
| 893 REQ_FEATURE_FLAGS = $(REQ_FEATURE_FLAGS) -DSQLITE_MAX_TRIGGER_DEPTH=100 |
| 894 |
| 895 # If we are linking to the RPCRT4 library, enable features that need it. |
| 896 # |
| 897 !IF $(USE_RPCRT4_LIB)!=0 |
| 898 REQ_FEATURE_FLAGS = $(REQ_FEATURE_FLAGS) -DSQLITE_WIN32_USE_UUID=1 |
| 899 !ENDIF |
| 900 |
| 901 # Add the required and optional SQLite compilation options into the command |
| 902 # lines used to invoke the MSVC code and resource compilers. |
| 903 # |
| 904 TCC = $(TCC) $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) |
| 905 RCC = $(RCC) $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) |
| 906 |
| 907 # Add in any optional parameters specified on the commane line, e.g. |
| 908 # nmake /f Makefile.msc all "OPTS=-DSQLITE_ENABLE_FOO=1 -DSQLITE_OMIT_FOO=1" |
| 909 # |
| 910 TCC = $(TCC) $(OPTS) |
| 911 RCC = $(RCC) $(OPTS) |
| 912 |
| 913 # If compiling for debugging, add some defines. |
| 914 # |
| 915 !IF $(DEBUG)>1 |
| 916 TCC = $(TCC) -D_DEBUG |
| 917 BCC = $(BCC) -D_DEBUG |
| 918 RCC = $(RCC) -D_DEBUG |
| 919 !ENDIF |
| 920 |
| 921 # If optimizations are enabled or disabled (either implicitly or |
| 922 # explicitly), add the necessary flags. |
| 923 # |
| 924 !IF $(DEBUG)>1 || $(OPTIMIZATIONS)==0 |
| 925 TCC = $(TCC) -Od |
| 926 BCC = $(BCC) -Od |
| 927 !IF $(USE_RUNTIME_CHECKS)!=0 |
| 928 TCC = $(TCC) -RTC1 |
| 929 BCC = $(BCC) -RTC1 |
| 930 !ENDIF |
| 931 !ELSEIF $(OPTIMIZATIONS)>=3 |
| 932 TCC = $(TCC) -Ox |
| 933 BCC = $(BCC) -Ox |
| 934 !ELSEIF $(OPTIMIZATIONS)==2 |
| 935 TCC = $(TCC) -O2 |
| 936 BCC = $(BCC) -O2 |
| 937 !ELSEIF $(OPTIMIZATIONS)==1 |
| 938 TCC = $(TCC) -O1 |
| 939 BCC = $(BCC) -O1 |
| 940 !ENDIF |
| 941 |
| 942 # If symbols are enabled (or compiling for debugging), enable PDBs. |
| 943 # |
| 944 !IF $(DEBUG)>1 || $(SYMBOLS)!=0 |
| 945 TCC = $(TCC) -Zi |
| 946 BCC = $(BCC) -Zi |
| 947 !ENDIF |
| 948 |
| 949 # <<mark>> |
| 950 # If ICU support is enabled, add the compiler options for it. |
| 951 # |
| 952 !IF $(USE_ICU)!=0 |
| 953 TCC = $(TCC) -DSQLITE_ENABLE_ICU=1 |
| 954 RCC = $(RCC) -DSQLITE_ENABLE_ICU=1 |
| 955 TCC = $(TCC) -I$(TOP)\ext\icu |
| 956 RCC = $(RCC) -I$(TOP)\ext\icu |
| 957 TCC = $(TCC) -I$(ICUINCDIR) |
| 958 RCC = $(RCC) -I$(ICUINCDIR) |
| 959 !ENDIF |
| 960 # <</mark>> |
| 961 |
| 962 # Command line prefixes for compiling code, compiling resources, |
| 963 # linking, etc. |
| 964 # |
| 965 LTCOMPILE = $(TCC) -Fo$@ |
| 966 LTRCOMPILE = $(RCC) -r |
| 967 LTLIB = lib.exe |
| 968 LTLINK = $(TCC) -Fe$@ |
| 969 |
| 970 # If requested, link to the RPCRT4 library. |
| 971 # |
| 972 !IF $(USE_RPCRT4_LIB)!=0 |
| 973 LTLINK = $(LTLINK) rpcrt4.lib |
| 974 !ENDIF |
| 975 |
| 976 # If a platform was set, force the linker to target that. |
| 977 # Note that the vcvars*.bat family of batch files typically |
| 978 # set this for you. Otherwise, the linker will attempt |
| 979 # to deduce the binary type based on the object files. |
| 980 !IFDEF PLATFORM |
| 981 LTLINKOPTS = /NOLOGO /MACHINE:$(PLATFORM) |
| 982 LTLIBOPTS = /NOLOGO /MACHINE:$(PLATFORM) |
| 983 !ELSE |
| 984 LTLINKOPTS = /NOLOGO |
| 985 LTLIBOPTS = /NOLOGO |
| 986 !ENDIF |
| 987 |
| 988 # When compiling for use in the WinRT environment, the following |
| 989 # linker option must be used to mark the executable as runnable |
| 990 # only in the context of an application container. |
| 991 # |
| 992 !IF $(FOR_WINRT)!=0 |
| 993 LTLINKOPTS = $(LTLINKOPTS) /APPCONTAINER |
| 994 !IF "$(VISUALSTUDIOVERSION)"=="12.0" || "$(VISUALSTUDIOVERSION)"=="14.0" |
| 995 !IFNDEF STORELIBPATH |
| 996 !IF "$(PLATFORM)"=="x86" |
| 997 STORELIBPATH = $(CRTLIBPATH)\store |
| 998 !ELSEIF "$(PLATFORM)"=="x64" |
| 999 STORELIBPATH = $(CRTLIBPATH)\store\amd64 |
| 1000 !ELSEIF "$(PLATFORM)"=="ARM" |
| 1001 STORELIBPATH = $(CRTLIBPATH)\store\arm |
| 1002 !ELSE |
| 1003 STORELIBPATH = $(CRTLIBPATH)\store |
| 1004 !ENDIF |
| 1005 !ENDIF |
| 1006 STORELIBPATH = $(STORELIBPATH:\\=\) |
| 1007 LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(STORELIBPATH)" |
| 1008 !ENDIF |
| 1009 !ENDIF |
| 1010 |
| 1011 # When compiling for Windows Phone 8.1, an extra library path is |
| 1012 # required. |
| 1013 # |
| 1014 !IF $(USE_WP81_OPTS)!=0 |
| 1015 !IFNDEF WP81LIBPATH |
| 1016 !IF "$(PLATFORM)"=="x86" |
| 1017 WP81LIBPATH = $(PROGRAMFILES_X86)\Windows Phone Kits\8.1\lib\x86 |
| 1018 !ELSEIF "$(PLATFORM)"=="ARM" |
| 1019 WP81LIBPATH = $(PROGRAMFILES_X86)\Windows Phone Kits\8.1\lib\ARM |
| 1020 !ELSE |
| 1021 WP81LIBPATH = $(PROGRAMFILES_X86)\Windows Phone Kits\8.1\lib\x86 |
| 1022 !ENDIF |
| 1023 !ENDIF |
| 1024 !ENDIF |
| 1025 |
| 1026 # When compiling for Windows Phone 8.1, some extra linker options |
| 1027 # are also required. |
| 1028 # |
| 1029 !IF $(USE_WP81_OPTS)!=0 |
| 1030 !IFDEF WP81LIBPATH |
| 1031 LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(WP81LIBPATH)" |
| 1032 !ENDIF |
| 1033 LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE |
| 1034 LTLINKOPTS = $(LTLINKOPTS) WindowsPhoneCore.lib RuntimeObject.lib PhoneAppModelH
ost.lib |
| 1035 LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:ole32.lib |
| 1036 !ENDIF |
| 1037 |
| 1038 # When compiling for UWP or the Windows 10 platform, some extra linker |
| 1039 # options are also required. |
| 1040 # |
| 1041 !IF $(FOR_UWP)!=0 || $(FOR_WIN10)!=0 |
| 1042 LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE /NODEFAULTLIB:kernel32.lib |
| 1043 LTLINKOPTS = $(LTLINKOPTS) mincore.lib |
| 1044 !IFDEF PSDKLIBPATH |
| 1045 LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(PSDKLIBPATH)" |
| 1046 !ENDIF |
| 1047 !ENDIF |
| 1048 |
| 1049 !IF $(FOR_WIN10)!=0 |
| 1050 LTLINKOPTS = $(LTLINKOPTS) /guard:cf "/LIBPATH:$(UCRTLIBPATH)" |
| 1051 !IF $(DEBUG)>1 |
| 1052 LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:libucrtd.lib /DEFAULTLIB:ucrtd.lib |
| 1053 !ELSE |
| 1054 LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib |
| 1055 !ENDIF |
| 1056 !ENDIF |
| 1057 |
| 1058 # If either debugging or symbols are enabled, enable PDBs. |
| 1059 # |
| 1060 !IF $(DEBUG)>1 || $(SYMBOLS)!=0 |
| 1061 LDFLAGS = /DEBUG $(LDOPTS) |
| 1062 !ELSE |
| 1063 LDFLAGS = $(LDOPTS) |
| 1064 !ENDIF |
| 1065 |
| 1066 # <<mark>> |
| 1067 # Start with the Tcl related linker options. |
| 1068 # |
| 1069 !IF $(NO_TCL)==0 |
| 1070 LTLIBPATHS = /LIBPATH:$(TCLLIBDIR) |
| 1071 LTLIBS = $(LIBTCL) |
| 1072 !ENDIF |
| 1073 |
| 1074 # If ICU support is enabled, add the linker options for it. |
| 1075 # |
| 1076 !IF $(USE_ICU)!=0 |
| 1077 LTLIBPATHS = $(LTLIBPATHS) /LIBPATH:$(ICULIBDIR) |
| 1078 LTLIBS = $(LTLIBS) $(LIBICU) |
| 1079 !ENDIF |
| 1080 # <</mark>> |
| 1081 |
| 1082 # You should not have to change anything below this line |
| 1083 ############################################################################### |
| 1084 |
| 1085 # <<mark>> |
| 1086 # Object files for the SQLite library (non-amalgamation). |
| 1087 # |
| 1088 LIBOBJS0 = vdbe.lo parse.lo alter.lo analyze.lo attach.lo auth.lo \ |
| 1089 backup.lo bitvec.lo btmutex.lo btree.lo build.lo \ |
| 1090 callback.lo complete.lo ctime.lo date.lo dbstat.lo delete.lo \ |
| 1091 expr.lo fault.lo fkey.lo \ |
| 1092 fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo \ |
| 1093 fts3_porter.lo fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo \ |
| 1094 fts3_tokenize_vtab.lo fts3_unicode.lo fts3_unicode2.lo fts3_write.lo \ |
| 1095 fts5.lo \ |
| 1096 func.lo global.lo hash.lo \ |
| 1097 icu.lo insert.lo legacy.lo loadext.lo \ |
| 1098 main.lo malloc.lo mem0.lo mem1.lo mem2.lo mem3.lo mem5.lo \ |
| 1099 memjournal.lo \ |
| 1100 mutex.lo mutex_noop.lo mutex_unix.lo mutex_w32.lo \ |
| 1101 notify.lo opcodes.lo os.lo os_unix.lo os_win.lo \ |
| 1102 pager.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \ |
| 1103 random.lo resolve.lo rowset.lo rtree.lo \ |
| 1104 sqlite3session.lo select.lo sqlite3rbu.lo status.lo \ |
| 1105 table.lo threads.lo tokenize.lo treeview.lo trigger.lo \ |
| 1106 update.lo util.lo vacuum.lo \ |
| 1107 vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \ |
| 1108 vdbetrace.lo wal.lo walker.lo where.lo wherecode.lo whereexpr.lo \ |
| 1109 utf.lo vtab.lo |
| 1110 # <</mark>> |
| 1111 |
| 1112 # Object files for the amalgamation. |
| 1113 # |
| 1114 LIBOBJS1 = sqlite3.lo |
| 1115 |
| 1116 # Determine the real value of LIBOBJ based on the 'configure' script |
| 1117 # |
| 1118 # <<mark>> |
| 1119 !IF $(USE_AMALGAMATION)==0 |
| 1120 LIBOBJ = $(LIBOBJS0) |
| 1121 !ELSE |
| 1122 # <</mark>> |
| 1123 LIBOBJ = $(LIBOBJS1) |
| 1124 # <<mark>> |
| 1125 !ENDIF |
| 1126 # <</mark>> |
| 1127 |
| 1128 # Determine if embedded resource compilation and usage are enabled. |
| 1129 # |
| 1130 !IF $(USE_RC)!=0 |
| 1131 LIBRESOBJS = sqlite3res.lo |
| 1132 !ELSE |
| 1133 LIBRESOBJS = |
| 1134 !ENDIF |
| 1135 |
| 1136 # <<mark>> |
| 1137 # Core source code files, part 1. |
| 1138 # |
| 1139 SRC00 = \ |
| 1140 $(TOP)\src\alter.c \ |
| 1141 $(TOP)\src\analyze.c \ |
| 1142 $(TOP)\src\attach.c \ |
| 1143 $(TOP)\src\auth.c \ |
| 1144 $(TOP)\src\backup.c \ |
| 1145 $(TOP)\src\bitvec.c \ |
| 1146 $(TOP)\src\btmutex.c \ |
| 1147 $(TOP)\src\btree.c \ |
| 1148 $(TOP)\src\build.c \ |
| 1149 $(TOP)\src\callback.c \ |
| 1150 $(TOP)\src\complete.c \ |
| 1151 $(TOP)\src\ctime.c \ |
| 1152 $(TOP)\src\date.c \ |
| 1153 $(TOP)\src\dbstat.c \ |
| 1154 $(TOP)\src\delete.c \ |
| 1155 $(TOP)\src\expr.c \ |
| 1156 $(TOP)\src\fault.c \ |
| 1157 $(TOP)\src\fkey.c \ |
| 1158 $(TOP)\src\func.c \ |
| 1159 $(TOP)\src\global.c \ |
| 1160 $(TOP)\src\hash.c \ |
| 1161 $(TOP)\src\insert.c \ |
| 1162 $(TOP)\src\legacy.c \ |
| 1163 $(TOP)\src\loadext.c \ |
| 1164 $(TOP)\src\main.c \ |
| 1165 $(TOP)\src\malloc.c \ |
| 1166 $(TOP)\src\mem0.c \ |
| 1167 $(TOP)\src\mem1.c \ |
| 1168 $(TOP)\src\mem2.c \ |
| 1169 $(TOP)\src\mem3.c \ |
| 1170 $(TOP)\src\mem5.c \ |
| 1171 $(TOP)\src\memjournal.c \ |
| 1172 $(TOP)\src\mutex.c \ |
| 1173 $(TOP)\src\mutex_noop.c \ |
| 1174 $(TOP)\src\mutex_unix.c \ |
| 1175 $(TOP)\src\mutex_w32.c \ |
| 1176 $(TOP)\src\notify.c \ |
| 1177 $(TOP)\src\os.c \ |
| 1178 $(TOP)\src\os_unix.c \ |
| 1179 $(TOP)\src\os_win.c |
| 1180 |
| 1181 # Core source code files, part 2. |
| 1182 # |
| 1183 SRC01 = \ |
| 1184 $(TOP)\src\pager.c \ |
| 1185 $(TOP)\src\pcache.c \ |
| 1186 $(TOP)\src\pcache1.c \ |
| 1187 $(TOP)\src\pragma.c \ |
| 1188 $(TOP)\src\prepare.c \ |
| 1189 $(TOP)\src\printf.c \ |
| 1190 $(TOP)\src\random.c \ |
| 1191 $(TOP)\src\resolve.c \ |
| 1192 $(TOP)\src\rowset.c \ |
| 1193 $(TOP)\src\select.c \ |
| 1194 $(TOP)\src\status.c \ |
| 1195 $(TOP)\src\table.c \ |
| 1196 $(TOP)\src\threads.c \ |
| 1197 $(TOP)\src\tclsqlite.c \ |
| 1198 $(TOP)\src\tokenize.c \ |
| 1199 $(TOP)\src\treeview.c \ |
| 1200 $(TOP)\src\trigger.c \ |
| 1201 $(TOP)\src\utf.c \ |
| 1202 $(TOP)\src\update.c \ |
| 1203 $(TOP)\src\util.c \ |
| 1204 $(TOP)\src\vacuum.c \ |
| 1205 $(TOP)\src\vdbe.c \ |
| 1206 $(TOP)\src\vdbeapi.c \ |
| 1207 $(TOP)\src\vdbeaux.c \ |
| 1208 $(TOP)\src\vdbeblob.c \ |
| 1209 $(TOP)\src\vdbemem.c \ |
| 1210 $(TOP)\src\vdbesort.c \ |
| 1211 $(TOP)\src\vdbetrace.c \ |
| 1212 $(TOP)\src\vtab.c \ |
| 1213 $(TOP)\src\wal.c \ |
| 1214 $(TOP)\src\walker.c \ |
| 1215 $(TOP)\src\where.c \ |
| 1216 $(TOP)\src\wherecode.c \ |
| 1217 $(TOP)\src\whereexpr.c |
| 1218 |
| 1219 # Shell source code files. |
| 1220 # |
| 1221 SRC02 = \ |
| 1222 $(TOP)\src\shell.c |
| 1223 |
| 1224 # Core miscellaneous files. |
| 1225 # |
| 1226 SRC03 = \ |
| 1227 $(TOP)\src\parse.y |
| 1228 |
| 1229 # Core header files, part 1. |
| 1230 # |
| 1231 SRC04 = \ |
| 1232 $(TOP)\src\btree.h \ |
| 1233 $(TOP)\src\btreeInt.h \ |
| 1234 $(TOP)\src\hash.h \ |
| 1235 $(TOP)\src\hwtime.h \ |
| 1236 $(TOP)\src\msvc.h \ |
| 1237 $(TOP)\src\mutex.h \ |
| 1238 $(TOP)\src\os.h \ |
| 1239 $(TOP)\src\os_common.h \ |
| 1240 $(TOP)\src\os_setup.h \ |
| 1241 $(TOP)\src\os_win.h |
| 1242 |
| 1243 # Core header files, part 2. |
| 1244 # |
| 1245 SRC05 = \ |
| 1246 $(TOP)\src\pager.h \ |
| 1247 $(TOP)\src\pcache.h \ |
| 1248 $(TOP)\src\pragma.h \ |
| 1249 $(TOP)\src\sqlite.h.in \ |
| 1250 $(TOP)\src\sqlite3ext.h \ |
| 1251 $(TOP)\src\sqliteInt.h \ |
| 1252 $(TOP)\src\sqliteLimit.h \ |
| 1253 $(TOP)\src\vdbe.h \ |
| 1254 $(TOP)\src\vdbeInt.h \ |
| 1255 $(TOP)\src\vxworks.h \ |
| 1256 $(TOP)\src\wal.h \ |
| 1257 $(TOP)\src\whereInt.h |
| 1258 |
| 1259 # Extension source code files, part 1. |
| 1260 # |
| 1261 SRC06 = \ |
| 1262 $(TOP)\ext\fts1\fts1.c \ |
| 1263 $(TOP)\ext\fts1\fts1_hash.c \ |
| 1264 $(TOP)\ext\fts1\fts1_porter.c \ |
| 1265 $(TOP)\ext\fts1\fts1_tokenizer1.c \ |
| 1266 $(TOP)\ext\fts2\fts2.c \ |
| 1267 $(TOP)\ext\fts2\fts2_hash.c \ |
| 1268 $(TOP)\ext\fts2\fts2_icu.c \ |
| 1269 $(TOP)\ext\fts2\fts2_porter.c \ |
| 1270 $(TOP)\ext\fts2\fts2_tokenizer.c \ |
| 1271 $(TOP)\ext\fts2\fts2_tokenizer1.c |
| 1272 |
| 1273 # Extension source code files, part 2. |
| 1274 # |
| 1275 SRC07 = \ |
| 1276 $(TOP)\ext\fts3\fts3.c \ |
| 1277 $(TOP)\ext\fts3\fts3_aux.c \ |
| 1278 $(TOP)\ext\fts3\fts3_expr.c \ |
| 1279 $(TOP)\ext\fts3\fts3_hash.c \ |
| 1280 $(TOP)\ext\fts3\fts3_icu.c \ |
| 1281 $(TOP)\ext\fts3\fts3_porter.c \ |
| 1282 $(TOP)\ext\fts3\fts3_snippet.c \ |
| 1283 $(TOP)\ext\fts3\fts3_tokenizer.c \ |
| 1284 $(TOP)\ext\fts3\fts3_tokenizer1.c \ |
| 1285 $(TOP)\ext\fts3\fts3_tokenize_vtab.c \ |
| 1286 $(TOP)\ext\fts3\fts3_unicode.c \ |
| 1287 $(TOP)\ext\fts3\fts3_unicode2.c \ |
| 1288 $(TOP)\ext\fts3\fts3_write.c \ |
| 1289 $(TOP)\ext\icu\icu.c \ |
| 1290 $(TOP)\ext\rtree\rtree.c \ |
| 1291 $(TOP)\ext\session\sqlite3session.c \ |
| 1292 $(TOP)\ext\rbu\sqlite3rbu.c \ |
| 1293 $(TOP)\ext\misc\json1.c |
| 1294 |
| 1295 # Extension header files, part 1. |
| 1296 # |
| 1297 SRC08 = \ |
| 1298 $(TOP)\ext\fts1\fts1.h \ |
| 1299 $(TOP)\ext\fts1\fts1_hash.h \ |
| 1300 $(TOP)\ext\fts1\fts1_tokenizer.h \ |
| 1301 $(TOP)\ext\fts2\fts2.h \ |
| 1302 $(TOP)\ext\fts2\fts2_hash.h \ |
| 1303 $(TOP)\ext\fts2\fts2_tokenizer.h |
| 1304 |
| 1305 # Extension header files, part 2. |
| 1306 # |
| 1307 SRC09 = \ |
| 1308 $(TOP)\ext\fts3\fts3.h \ |
| 1309 $(TOP)\ext\fts3\fts3Int.h \ |
| 1310 $(TOP)\ext\fts3\fts3_hash.h \ |
| 1311 $(TOP)\ext\fts3\fts3_tokenizer.h \ |
| 1312 $(TOP)\ext\icu\sqliteicu.h \ |
| 1313 $(TOP)\ext\rtree\rtree.h \ |
| 1314 $(TOP)\ext\rbu\sqlite3rbu.h \ |
| 1315 $(TOP)\ext\session\sqlite3session.h |
| 1316 |
| 1317 # Generated source code files |
| 1318 # |
| 1319 SRC10 = \ |
| 1320 opcodes.c \ |
| 1321 parse.c |
| 1322 |
| 1323 # Generated header files |
| 1324 # |
| 1325 SRC11 = \ |
| 1326 keywordhash.h \ |
| 1327 opcodes.h \ |
| 1328 parse.h \ |
| 1329 $(SQLITE3H) |
| 1330 |
| 1331 # Generated Tcl header files |
| 1332 # |
| 1333 !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0 |
| 1334 SRC12 = \ |
| 1335 $(SQLITETCLH) \ |
| 1336 $(SQLITETCLDECLSH) |
| 1337 !ELSE |
| 1338 SRC12 = |
| 1339 !ENDIF |
| 1340 |
| 1341 # All source code files. |
| 1342 # |
| 1343 SRC = $(SRC00) $(SRC01) $(SRC02) $(SRC03) $(SRC04) $(SRC05) $(SRC06) $(SRC07) $(
SRC08) $(SRC09) $(SRC10) $(SRC11) |
| 1344 |
| 1345 # Source code to the test files. |
| 1346 # |
| 1347 TESTSRC = \ |
| 1348 $(TOP)\src\test1.c \ |
| 1349 $(TOP)\src\test2.c \ |
| 1350 $(TOP)\src\test3.c \ |
| 1351 $(TOP)\src\test4.c \ |
| 1352 $(TOP)\src\test5.c \ |
| 1353 $(TOP)\src\test6.c \ |
| 1354 $(TOP)\src\test7.c \ |
| 1355 $(TOP)\src\test8.c \ |
| 1356 $(TOP)\src\test9.c \ |
| 1357 $(TOP)\src\test_autoext.c \ |
| 1358 $(TOP)\src\test_async.c \ |
| 1359 $(TOP)\src\test_backup.c \ |
| 1360 $(TOP)\src\test_bestindex.c \ |
| 1361 $(TOP)\src\test_blob.c \ |
| 1362 $(TOP)\src\test_btree.c \ |
| 1363 $(TOP)\src\test_config.c \ |
| 1364 $(TOP)\src\test_delete.c \ |
| 1365 $(TOP)\src\test_demovfs.c \ |
| 1366 $(TOP)\src\test_devsym.c \ |
| 1367 $(TOP)\src\test_fs.c \ |
| 1368 $(TOP)\src\test_func.c \ |
| 1369 $(TOP)\src\test_hexio.c \ |
| 1370 $(TOP)\src\test_init.c \ |
| 1371 $(TOP)\src\test_intarray.c \ |
| 1372 $(TOP)\src\test_journal.c \ |
| 1373 $(TOP)\src\test_malloc.c \ |
| 1374 $(TOP)\src\test_multiplex.c \ |
| 1375 $(TOP)\src\test_mutex.c \ |
| 1376 $(TOP)\src\test_onefile.c \ |
| 1377 $(TOP)\src\test_osinst.c \ |
| 1378 $(TOP)\src\test_pcache.c \ |
| 1379 $(TOP)\src\test_quota.c \ |
| 1380 $(TOP)\src\test_rtree.c \ |
| 1381 $(TOP)\src\test_schema.c \ |
| 1382 $(TOP)\src\test_server.c \ |
| 1383 $(TOP)\src\test_superlock.c \ |
| 1384 $(TOP)\src\test_syscall.c \ |
| 1385 $(TOP)\src\test_tclvar.c \ |
| 1386 $(TOP)\src\test_thread.c \ |
| 1387 $(TOP)\src\test_vfs.c \ |
| 1388 $(TOP)\src\test_windirent.c \ |
| 1389 $(TOP)\src\test_wsd.c \ |
| 1390 $(TOP)\ext\fts3\fts3_term.c \ |
| 1391 $(TOP)\ext\fts3\fts3_test.c \ |
| 1392 $(TOP)\ext\rbu\test_rbu.c \ |
| 1393 $(TOP)\ext\session\test_session.c |
| 1394 |
| 1395 # Statically linked extensions. |
| 1396 # |
| 1397 TESTEXT = \ |
| 1398 $(TOP)\ext\misc\amatch.c \ |
| 1399 $(TOP)\ext\misc\carray.c \ |
| 1400 $(TOP)\ext\misc\closure.c \ |
| 1401 $(TOP)\ext\misc\csv.c \ |
| 1402 $(TOP)\ext\misc\eval.c \ |
| 1403 $(TOP)\ext\misc\fileio.c \ |
| 1404 $(TOP)\ext\misc\fuzzer.c \ |
| 1405 $(TOP)\ext\fts5\fts5_tcl.c \ |
| 1406 $(TOP)\ext\fts5\fts5_test_mi.c \ |
| 1407 $(TOP)\ext\fts5\fts5_test_tok.c \ |
| 1408 $(TOP)\ext\misc\ieee754.c \ |
| 1409 $(TOP)\ext\misc\nextchar.c \ |
| 1410 $(TOP)\ext\misc\percentile.c \ |
| 1411 $(TOP)\ext\misc\regexp.c \ |
| 1412 $(TOP)\ext\misc\remember.c \ |
| 1413 $(TOP)\ext\misc\series.c \ |
| 1414 $(TOP)\ext\misc\spellfix.c \ |
| 1415 $(TOP)\ext\misc\totype.c \ |
| 1416 $(TOP)\ext\misc\wholenumber.c |
| 1417 |
| 1418 # Source code to the library files needed by the test fixture |
| 1419 # (non-amalgamation) |
| 1420 # |
| 1421 TESTSRC2 = \ |
| 1422 $(SRC00) \ |
| 1423 $(SRC01) \ |
| 1424 $(SRC06) \ |
| 1425 $(SRC07) \ |
| 1426 $(SRC10) \ |
| 1427 $(TOP)\ext\async\sqlite3async.c |
| 1428 |
| 1429 # Header files used by all library source files. |
| 1430 # |
| 1431 HDR = \ |
| 1432 $(TOP)\src\btree.h \ |
| 1433 $(TOP)\src\btreeInt.h \ |
| 1434 $(TOP)\src\hash.h \ |
| 1435 $(TOP)\src\hwtime.h \ |
| 1436 keywordhash.h \ |
| 1437 $(TOP)\src\msvc.h \ |
| 1438 $(TOP)\src\mutex.h \ |
| 1439 opcodes.h \ |
| 1440 $(TOP)\src\os.h \ |
| 1441 $(TOP)\src\os_common.h \ |
| 1442 $(TOP)\src\os_setup.h \ |
| 1443 $(TOP)\src\os_win.h \ |
| 1444 $(TOP)\src\pager.h \ |
| 1445 $(TOP)\src\pcache.h \ |
| 1446 parse.h \ |
| 1447 $(TOP)\src\pragma.h \ |
| 1448 $(SQLITE3H) \ |
| 1449 sqlite3ext.h \ |
| 1450 $(TOP)\src\sqliteInt.h \ |
| 1451 $(TOP)\src\sqliteLimit.h \ |
| 1452 $(TOP)\src\vdbe.h \ |
| 1453 $(TOP)\src\vdbeInt.h \ |
| 1454 $(TOP)\src\vxworks.h \ |
| 1455 $(TOP)\src\whereInt.h |
| 1456 |
| 1457 # Header files used by extensions |
| 1458 # |
| 1459 EXTHDR = $(EXTHDR) \ |
| 1460 $(TOP)\ext\fts1\fts1.h \ |
| 1461 $(TOP)\ext\fts1\fts1_hash.h \ |
| 1462 $(TOP)\ext\fts1\fts1_tokenizer.h |
| 1463 EXTHDR = $(EXTHDR) \ |
| 1464 $(TOP)\ext\fts2\fts2.h \ |
| 1465 $(TOP)\ext\fts2\fts2_hash.h \ |
| 1466 $(TOP)\ext\fts2\fts2_tokenizer.h |
| 1467 EXTHDR = $(EXTHDR) \ |
| 1468 $(TOP)\ext\fts3\fts3.h \ |
| 1469 $(TOP)\ext\fts3\fts3Int.h \ |
| 1470 $(TOP)\ext\fts3\fts3_hash.h \ |
| 1471 $(TOP)\ext\fts3\fts3_tokenizer.h |
| 1472 EXTHDR = $(EXTHDR) \ |
| 1473 $(TOP)\ext\rtree\rtree.h |
| 1474 EXTHDR = $(EXTHDR) \ |
| 1475 $(TOP)\ext\icu\sqliteicu.h |
| 1476 EXTHDR = $(EXTHDR) \ |
| 1477 $(TOP)\ext\rtree\sqlite3rtree.h |
| 1478 EXTHDR = $(EXTHDR) \ |
| 1479 $(TOP)\ext\session\sqlite3session.h |
| 1480 |
| 1481 # executables needed for testing |
| 1482 # |
| 1483 TESTPROGS = \ |
| 1484 testfixture.exe \ |
| 1485 $(SQLITE3EXE) \ |
| 1486 sqlite3_analyzer.exe \ |
| 1487 sqldiff.exe \ |
| 1488 dbhash.exe |
| 1489 |
| 1490 # Databases containing fuzzer test cases |
| 1491 # |
| 1492 FUZZDATA = \ |
| 1493 $(TOP)\test\fuzzdata1.db \ |
| 1494 $(TOP)\test\fuzzdata2.db \ |
| 1495 $(TOP)\test\fuzzdata3.db \ |
| 1496 $(TOP)\test\fuzzdata4.db \ |
| 1497 $(TOP)\test\fuzzdata5.db |
| 1498 # <</mark>> |
| 1499 |
| 1500 # Additional compiler options for the shell. These are only effective |
| 1501 # when the shell is not being dynamically linked. |
| 1502 # |
| 1503 !IF $(DYNAMIC_SHELL)==0 && $(FOR_WIN10)==0 |
| 1504 SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_SHELL_JSON1 -DSQLITE_ENABLE_
FTS4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS |
| 1505 !ENDIF |
| 1506 |
| 1507 # <<mark>> |
| 1508 # Extra compiler options for various test tools. |
| 1509 # |
| 1510 MPTESTER_COMPILE_OPTS = -DSQLITE_SHELL_JSON1 -DSQLITE_ENABLE_FTS5 |
| 1511 FUZZERSHELL_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 |
| 1512 FUZZCHECK_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_
OSS_FUZZ |
| 1513 FUZZCHECK_SRC = $(TOP)\test\fuzzcheck.c $(TOP)\test\ossfuzz.c |
| 1514 OSSSHELL_SRC = $(TOP)\test\ossshell.c $(TOP)\test\ossfuzz.c |
| 1515 DBFUZZ_COMPILE_OPTS = -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION |
| 1516 KV_COMPILE_OPTS = -DSQLITE_THREADSAFE=0 -DSQLITE_DIRECT_OVERFLOW_READ |
| 1517 DBSELFTEST_COMPILE_OPTS = -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -DS
QLITE_ENABLE_RTREE -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 |
| 1518 ST_COMPILE_OPTS = -DSQLITE_THREADSAFE=0 |
| 1519 |
| 1520 # Standard options to testfixture. |
| 1521 # |
| 1522 TESTOPTS = --verbose=file --output=test-out.txt |
| 1523 |
| 1524 # Extra targets for the "all" target that require Tcl. |
| 1525 # |
| 1526 !IF $(NO_TCL)==0 |
| 1527 ALL_TCL_TARGETS = libtclsqlite3.lib |
| 1528 !ELSE |
| 1529 ALL_TCL_TARGETS = |
| 1530 !ENDIF |
| 1531 # <</mark>> |
| 1532 |
| 1533 # This is the default Makefile target. The objects listed here |
| 1534 # are what get build when you type just "make" with no arguments. |
| 1535 # |
| 1536 all: dll libsqlite3.lib shell $(ALL_TCL_TARGETS) |
| 1537 |
| 1538 # Dynamic link library section. |
| 1539 # |
| 1540 dll: $(SQLITE3DLL) |
| 1541 |
| 1542 # Shell executable. |
| 1543 # |
| 1544 shell: $(SQLITE3EXE) |
| 1545 |
| 1546 # <<mark>> |
| 1547 libsqlite3.lib: $(LIBOBJ) |
| 1548 $(LTLIB) $(LTLIBOPTS) /OUT:$@ $(LIBOBJ) $(TLIBS) |
| 1549 |
| 1550 libtclsqlite3.lib: tclsqlite.lo libsqlite3.lib |
| 1551 $(LTLIB) $(LTLIBOPTS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo libsqlite3.lib
$(LIBTCLSTUB) $(TLIBS) |
| 1552 # <</mark>> |
| 1553 |
| 1554 $(SQLITE3DLL): $(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP) |
| 1555 $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL $(CORE_LINK_OPTS) /OUT
:$@ $(LIBOBJ) $(LIBRESOBJS) $(LTLIBS) $(TLIBS) |
| 1556 |
| 1557 # <<block2>> |
| 1558 sqlite3.def: libsqlite3.lib |
| 1559 echo EXPORTS > sqlite3.def |
| 1560 dumpbin /all libsqlite3.lib \ |
| 1561 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl include "^\s+1 _?(sqlite3
(?:session|changeset)?_[^@]*)(?:@\d+)?$$" \1 \ |
| 1562 | sort >> sqlite3.def |
| 1563 # <</block2>> |
| 1564 |
| 1565 $(SQLITE3EXE): $(TOP)\src\shell.c $(SHELL_CORE_DEP) $(LIBRESOBJS) $(SHELL_CORE_
SRC) $(SQLITE3H) |
| 1566 $(LTLINK) $(SHELL_COMPILE_OPTS) $(READLINE_FLAGS) $(TOP)\src\shell.c $(S
HELL_CORE_SRC) \ |
| 1567 /link $(SQLITE3EXEPDB) $(LDFLAGS) $(LTLINKOPTS) $(SHELL_LINK_OPT
S) $(LTLIBPATHS) $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS) |
| 1568 |
| 1569 # <<mark>> |
| 1570 sqldiff.exe: $(TOP)\tool\sqldiff.c $(SQLITE3C) $(SQLITE3H) |
| 1571 $(LTLINK) $(NO_WARN) $(TOP)\tool\sqldiff.c $(SQLITE3C) /link $(LDFLAGS)
$(LTLINKOPTS) |
| 1572 |
| 1573 dbhash.exe: $(TOP)\tool\dbhash.c $(SQLITE3C) $(SQLITE3H) |
| 1574 $(LTLINK) $(NO_WARN) $(TOP)\tool\dbhash.c $(SQLITE3C) /link $(LDFLAGS) $
(LTLINKOPTS) |
| 1575 |
| 1576 scrub.exe: $(TOP)\ext\misc\scrub.c $(SQLITE3C) $(SQLITE3H) |
| 1577 $(LTLINK) $(NO_WARN) $(TOP)\ext\misc\scrub.c $(SQLITE3C) /link $(LDFLAGS
) $(LTLINKOPTS) |
| 1578 |
| 1579 srcck1.exe: $(TOP)\tool\srcck1.c |
| 1580 $(BCC) $(NO_WARN) -Fe$@ $(TOP)\tool\srcck1.c |
| 1581 |
| 1582 sourcetest: srcck1.exe sqlite3.c |
| 1583 srcck1.exe sqlite3.c |
| 1584 |
| 1585 fuzzershell.exe: $(TOP)\tool\fuzzershell.c $(SQLITE3C) $(SQLITE3H) |
| 1586 $(LTLINK) $(NO_WARN) $(FUZZERSHELL_COMPILE_OPTS) $(TOP)\tool\fuzzershell
.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) |
| 1587 |
| 1588 dbfuzz.exe: $(TOP)\test\dbfuzz.c $(SQLITE3C) $(SQLITE3H) |
| 1589 $(LTLINK) $(NO_WARN) $(DBFUZZ_COMPILE_OPTS) $(TOP)\test\dbfuzz.c $(SQLIT
E3C) /link $(LDFLAGS) $(LTLINKOPTS) |
| 1590 |
| 1591 fuzzcheck.exe: $(FUZZCHECK_SRC) $(SQLITE3C) $(SQLITE3H) |
| 1592 $(LTLINK) $(NO_WARN) $(FUZZCHECK_COMPILE_OPTS) $(FUZZCHECK_SRC) $(SQLITE
3C) /link $(LDFLAGS) $(LTLINKOPTS) |
| 1593 |
| 1594 ossshell.exe: $(OSSSHELL_SRC) $(SQLITE3C) $(SQLITE3H) |
| 1595 $(LTLINK) $(NO_WARN) $(FUZZCHECK_COMPILE_OPTS) $(OSSSHELL_SRC) $(SQLITE3
C) /link $(LDFLAGS) $(LTLINKOPTS) |
| 1596 |
| 1597 mptester.exe: $(TOP)\mptest\mptest.c $(SQLITE3C) $(SQLITE3H) |
| 1598 $(LTLINK) $(NO_WARN) $(MPTESTER_COMPILE_OPTS) $(TOP)\mptest\mptest.c $(S
QLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) |
| 1599 |
| 1600 MPTEST1 = mptester mptest.db $(TOP)\mptest\crash01.test --repeat 20 |
| 1601 MPTEST2 = mptester mptest.db $(TOP)\mptest\multiwrite01.test --repeat 20 |
| 1602 |
| 1603 mptest: mptester.exe |
| 1604 del /Q mptest.db 2>NUL |
| 1605 $(MPTEST1) --journalmode DELETE |
| 1606 $(MPTEST2) --journalmode WAL |
| 1607 $(MPTEST1) --journalmode WAL |
| 1608 $(MPTEST2) --journalmode PERSIST |
| 1609 $(MPTEST1) --journalmode PERSIST |
| 1610 $(MPTEST2) --journalmode TRUNCATE |
| 1611 $(MPTEST1) --journalmode TRUNCATE |
| 1612 $(MPTEST2) --journalmode DELETE |
| 1613 |
| 1614 # This target creates a directory named "tsrc" and fills it with |
| 1615 # copies of all of the C source code and header files needed to |
| 1616 # build on the target system. Some of the C source code and header |
| 1617 # files are automatically generated. This target takes care of |
| 1618 # all that automatic generation. |
| 1619 # |
| 1620 .target_source: $(SRC) $(TOP)\tool\vdbe-compress.tcl fts5.c $(SQLITE_TCL_DEP) |
| 1621 -rmdir /Q/S tsrc 2>NUL |
| 1622 -mkdir tsrc |
| 1623 for %i in ($(SRC00)) do copy /Y %i tsrc |
| 1624 for %i in ($(SRC01)) do copy /Y %i tsrc |
| 1625 for %i in ($(SRC02)) do copy /Y %i tsrc |
| 1626 for %i in ($(SRC03)) do copy /Y %i tsrc |
| 1627 for %i in ($(SRC04)) do copy /Y %i tsrc |
| 1628 for %i in ($(SRC05)) do copy /Y %i tsrc |
| 1629 for %i in ($(SRC06)) do copy /Y %i tsrc |
| 1630 for %i in ($(SRC07)) do copy /Y %i tsrc |
| 1631 for %i in ($(SRC08)) do copy /Y %i tsrc |
| 1632 for %i in ($(SRC09)) do copy /Y %i tsrc |
| 1633 for %i in ($(SRC10)) do copy /Y %i tsrc |
| 1634 for %i in ($(SRC11)) do copy /Y %i tsrc |
| 1635 for %i in ($(SRC12)) do copy /Y %i tsrc |
| 1636 copy /Y fts5.c tsrc |
| 1637 copy /Y fts5.h tsrc |
| 1638 del /Q tsrc\sqlite.h.in tsrc\parse.y 2>NUL |
| 1639 $(TCLSH_CMD) $(TOP)\tool\vdbe-compress.tcl $(OPTS) < tsrc\vdbe.c > vdbe.
new |
| 1640 move vdbe.new tsrc\vdbe.c |
| 1641 echo > .target_source |
| 1642 |
| 1643 sqlite3.c: .target_source sqlite3ext.h $(MKSQLITE3C_TOOL) |
| 1644 $(TCLSH_CMD) $(MKSQLITE3C_TOOL) $(MKSQLITE3C_ARGS) |
| 1645 copy tsrc\shell.c . |
| 1646 copy $(TOP)\ext\session\sqlite3session.h . |
| 1647 |
| 1648 sqlite3-all.c: sqlite3.c $(TOP)\tool\split-sqlite3c.tcl |
| 1649 $(TCLSH_CMD) $(TOP)\tool\split-sqlite3c.tcl |
| 1650 # <</mark>> |
| 1651 |
| 1652 # Rule to build the amalgamation |
| 1653 # |
| 1654 sqlite3.lo: $(SQLITE3C) |
| 1655 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(SQLITE3C) |
| 1656 |
| 1657 # <<mark>> |
| 1658 # Rules to build the LEMON compiler generator |
| 1659 # |
| 1660 lempar.c: $(TOP)\tool\lempar.c |
| 1661 copy $(TOP)\tool\lempar.c . |
| 1662 |
| 1663 lemon.exe: $(TOP)\tool\lemon.c lempar.c |
| 1664 $(BCC) $(NO_WARN) -Daccess=_access \ |
| 1665 -Fe$@ $(TOP)\tool\lemon.c /link $(LDFLAGS) $(NLTLINKOPTS) $(NLTL
IBPATHS) |
| 1666 |
| 1667 # Rules to build individual *.lo files from generated *.c files. This |
| 1668 # applies to: |
| 1669 # |
| 1670 # parse.lo |
| 1671 # opcodes.lo |
| 1672 # |
| 1673 parse.lo: parse.c $(HDR) |
| 1674 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c parse.c |
| 1675 |
| 1676 opcodes.lo: opcodes.c |
| 1677 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c opcodes.c |
| 1678 # <</mark>> |
| 1679 |
| 1680 # Rule to build the Win32 resources object file. |
| 1681 # |
| 1682 !IF $(USE_RC)!=0 |
| 1683 # <<block1>> |
| 1684 $(LIBRESOBJS): $(TOP)\src\sqlite3.rc $(SQLITE3H) |
| 1685 echo #ifndef SQLITE_RESOURCE_VERSION > sqlite3rc.h |
| 1686 for /F %%V in ('type "$(TOP)\VERSION"') do ( \ |
| 1687 echo #define SQLITE_RESOURCE_VERSION %%V \ |
| 1688 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact . ^, >> sql
ite3rc.h \ |
| 1689 ) |
| 1690 echo #endif >> sqlite3rc.h |
| 1691 $(LTRCOMPILE) -fo $(LIBRESOBJS) $(TOP)\src\sqlite3.rc |
| 1692 # <</block1>> |
| 1693 !ENDIF |
| 1694 |
| 1695 # <<mark>> |
| 1696 # Rules to build individual *.lo files from files in the src directory. |
| 1697 # |
| 1698 alter.lo: $(TOP)\src\alter.c $(HDR) |
| 1699 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\alter.c |
| 1700 |
| 1701 analyze.lo: $(TOP)\src\analyze.c $(HDR) |
| 1702 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\analyze.c |
| 1703 |
| 1704 attach.lo: $(TOP)\src\attach.c $(HDR) |
| 1705 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\attach.c |
| 1706 |
| 1707 auth.lo: $(TOP)\src\auth.c $(HDR) |
| 1708 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\auth.c |
| 1709 |
| 1710 backup.lo: $(TOP)\src\backup.c $(HDR) |
| 1711 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\backup.c |
| 1712 |
| 1713 bitvec.lo: $(TOP)\src\bitvec.c $(HDR) |
| 1714 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\bitvec.c |
| 1715 |
| 1716 btmutex.lo: $(TOP)\src\btmutex.c $(HDR) |
| 1717 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\btmutex.c |
| 1718 |
| 1719 btree.lo: $(TOP)\src\btree.c $(HDR) $(TOP)\src\pager.h |
| 1720 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\btree.c |
| 1721 |
| 1722 build.lo: $(TOP)\src\build.c $(HDR) |
| 1723 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\build.c |
| 1724 |
| 1725 callback.lo: $(TOP)\src\callback.c $(HDR) |
| 1726 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\callback.c |
| 1727 |
| 1728 complete.lo: $(TOP)\src\complete.c $(HDR) |
| 1729 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\complete.c |
| 1730 |
| 1731 ctime.lo: $(TOP)\src\ctime.c $(HDR) |
| 1732 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\ctime.c |
| 1733 |
| 1734 date.lo: $(TOP)\src\date.c $(HDR) |
| 1735 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\date.c |
| 1736 |
| 1737 dbstat.lo: $(TOP)\src\date.c $(HDR) |
| 1738 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\dbstat.c |
| 1739 |
| 1740 delete.lo: $(TOP)\src\delete.c $(HDR) |
| 1741 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\delete.c |
| 1742 |
| 1743 expr.lo: $(TOP)\src\expr.c $(HDR) |
| 1744 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\expr.c |
| 1745 |
| 1746 fault.lo: $(TOP)\src\fault.c $(HDR) |
| 1747 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\fault.c |
| 1748 |
| 1749 fkey.lo: $(TOP)\src\fkey.c $(HDR) |
| 1750 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\fkey.c |
| 1751 |
| 1752 func.lo: $(TOP)\src\func.c $(HDR) |
| 1753 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\func.c |
| 1754 |
| 1755 global.lo: $(TOP)\src\global.c $(HDR) |
| 1756 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\global.c |
| 1757 |
| 1758 hash.lo: $(TOP)\src\hash.c $(HDR) |
| 1759 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\hash.c |
| 1760 |
| 1761 insert.lo: $(TOP)\src\insert.c $(HDR) |
| 1762 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\insert.c |
| 1763 |
| 1764 legacy.lo: $(TOP)\src\legacy.c $(HDR) |
| 1765 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\legacy.c |
| 1766 |
| 1767 loadext.lo: $(TOP)\src\loadext.c $(HDR) |
| 1768 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\loadext.c |
| 1769 |
| 1770 main.lo: $(TOP)\src\main.c $(HDR) |
| 1771 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\main.c |
| 1772 |
| 1773 malloc.lo: $(TOP)\src\malloc.c $(HDR) |
| 1774 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\malloc.c |
| 1775 |
| 1776 mem0.lo: $(TOP)\src\mem0.c $(HDR) |
| 1777 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mem0.c |
| 1778 |
| 1779 mem1.lo: $(TOP)\src\mem1.c $(HDR) |
| 1780 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mem1.c |
| 1781 |
| 1782 mem2.lo: $(TOP)\src\mem2.c $(HDR) |
| 1783 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mem2.c |
| 1784 |
| 1785 mem3.lo: $(TOP)\src\mem3.c $(HDR) |
| 1786 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mem3.c |
| 1787 |
| 1788 mem5.lo: $(TOP)\src\mem5.c $(HDR) |
| 1789 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mem5.c |
| 1790 |
| 1791 memjournal.lo: $(TOP)\src\memjournal.c $(HDR) |
| 1792 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\memjournal.c |
| 1793 |
| 1794 mutex.lo: $(TOP)\src\mutex.c $(HDR) |
| 1795 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mutex.c |
| 1796 |
| 1797 mutex_noop.lo: $(TOP)\src\mutex_noop.c $(HDR) |
| 1798 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mutex_noop.c |
| 1799 |
| 1800 mutex_unix.lo: $(TOP)\src\mutex_unix.c $(HDR) |
| 1801 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mutex_unix.c |
| 1802 |
| 1803 mutex_w32.lo: $(TOP)\src\mutex_w32.c $(HDR) |
| 1804 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mutex_w32.c |
| 1805 |
| 1806 notify.lo: $(TOP)\src\notify.c $(HDR) |
| 1807 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\notify.c |
| 1808 |
| 1809 pager.lo: $(TOP)\src\pager.c $(HDR) $(TOP)\src\pager.h |
| 1810 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\pager.c |
| 1811 |
| 1812 pcache.lo: $(TOP)\src\pcache.c $(HDR) $(TOP)\src\pcache.h |
| 1813 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\pcache.c |
| 1814 |
| 1815 pcache1.lo: $(TOP)\src\pcache1.c $(HDR) $(TOP)\src\pcache.h |
| 1816 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\pcache1.c |
| 1817 |
| 1818 os.lo: $(TOP)\src\os.c $(HDR) |
| 1819 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\os.c |
| 1820 |
| 1821 os_unix.lo: $(TOP)\src\os_unix.c $(HDR) |
| 1822 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\os_unix.c |
| 1823 |
| 1824 os_win.lo: $(TOP)\src\os_win.c $(HDR) |
| 1825 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\os_win.c |
| 1826 |
| 1827 pragma.lo: $(TOP)\src\pragma.c $(HDR) |
| 1828 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\pragma.c |
| 1829 |
| 1830 prepare.lo: $(TOP)\src\prepare.c $(HDR) |
| 1831 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\prepare.c |
| 1832 |
| 1833 printf.lo: $(TOP)\src\printf.c $(HDR) |
| 1834 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\printf.c |
| 1835 |
| 1836 random.lo: $(TOP)\src\random.c $(HDR) |
| 1837 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\random.c |
| 1838 |
| 1839 resolve.lo: $(TOP)\src\resolve.c $(HDR) |
| 1840 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\resolve.c |
| 1841 |
| 1842 rowset.lo: $(TOP)\src\rowset.c $(HDR) |
| 1843 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\rowset.c |
| 1844 |
| 1845 select.lo: $(TOP)\src\select.c $(HDR) |
| 1846 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\select.c |
| 1847 |
| 1848 status.lo: $(TOP)\src\status.c $(HDR) |
| 1849 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\status.c |
| 1850 |
| 1851 table.lo: $(TOP)\src\table.c $(HDR) |
| 1852 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\table.c |
| 1853 |
| 1854 threads.lo: $(TOP)\src\threads.c $(HDR) |
| 1855 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\threads.c |
| 1856 |
| 1857 tokenize.lo: $(TOP)\src\tokenize.c keywordhash.h $(HDR) |
| 1858 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\tokenize.c |
| 1859 |
| 1860 treeview.lo: $(TOP)\src\treeview.c $(HDR) |
| 1861 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\treeview.c |
| 1862 |
| 1863 trigger.lo: $(TOP)\src\trigger.c $(HDR) |
| 1864 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\trigger.c |
| 1865 |
| 1866 update.lo: $(TOP)\src\update.c $(HDR) |
| 1867 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\update.c |
| 1868 |
| 1869 utf.lo: $(TOP)\src\utf.c $(HDR) |
| 1870 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\utf.c |
| 1871 |
| 1872 util.lo: $(TOP)\src\util.c $(HDR) |
| 1873 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\util.c |
| 1874 |
| 1875 vacuum.lo: $(TOP)\src\vacuum.c $(HDR) |
| 1876 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vacuum.c |
| 1877 |
| 1878 vdbe.lo: $(TOP)\src\vdbe.c $(HDR) |
| 1879 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbe.c |
| 1880 |
| 1881 vdbeapi.lo: $(TOP)\src\vdbeapi.c $(HDR) |
| 1882 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbeapi.c |
| 1883 |
| 1884 vdbeaux.lo: $(TOP)\src\vdbeaux.c $(HDR) |
| 1885 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbeaux.c |
| 1886 |
| 1887 vdbeblob.lo: $(TOP)\src\vdbeblob.c $(HDR) |
| 1888 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbeblob.c |
| 1889 |
| 1890 vdbemem.lo: $(TOP)\src\vdbemem.c $(HDR) |
| 1891 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbemem.c |
| 1892 |
| 1893 vdbesort.lo: $(TOP)\src\vdbesort.c $(HDR) |
| 1894 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbesort.c |
| 1895 |
| 1896 vdbetrace.lo: $(TOP)\src\vdbetrace.c $(HDR) |
| 1897 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbetrace.c |
| 1898 |
| 1899 vtab.lo: $(TOP)\src\vtab.c $(HDR) |
| 1900 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vtab.c |
| 1901 |
| 1902 wal.lo: $(TOP)\src\wal.c $(HDR) |
| 1903 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\wal.c |
| 1904 |
| 1905 walker.lo: $(TOP)\src\walker.c $(HDR) |
| 1906 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\walker.c |
| 1907 |
| 1908 where.lo: $(TOP)\src\where.c $(HDR) |
| 1909 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\where.c |
| 1910 |
| 1911 wherecode.lo: $(TOP)\src\wherecode.c $(HDR) |
| 1912 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\wherecode.c |
| 1913 |
| 1914 whereexpr.lo: $(TOP)\src\whereexpr.c $(HDR) |
| 1915 $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\whereexpr.c |
| 1916 |
| 1917 tclsqlite.lo: $(TOP)\src\tclsqlite.c $(HDR) $(SQLITE_TCL_DEP) |
| 1918 $(LTCOMPILE) $(NO_WARN) -DUSE_TCL_STUBS=1 -DBUILD_sqlite -I$(TCLINCDIR)
-c $(TOP)\src\tclsqlite.c |
| 1919 |
| 1920 tclsqlite-shell.lo: $(TOP)\src\tclsqlite.c $(HDR) $(SQLITE_TCL_DEP) |
| 1921 $(LTCOMPILE) $(NO_WARN) -DTCLSH=1 -DBUILD_sqlite -I$(TCLINCDIR) -c $(TOP
)\src\tclsqlite.c |
| 1922 |
| 1923 tclsqlite3.exe: tclsqlite-shell.lo $(SQLITE3C) $(SQLITE3H) $(LIBRESOBJS) |
| 1924 $(LTLINK) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /OUT:
$@ tclsqlite-shell.lo $(LIBRESOBJS) $(LTLIBS) $(TLIBS) |
| 1925 |
| 1926 # Rules to build opcodes.c and opcodes.h |
| 1927 # |
| 1928 opcodes.c: opcodes.h $(TOP)\tool\mkopcodec.tcl |
| 1929 $(TCLSH_CMD) $(TOP)\tool\mkopcodec.tcl opcodes.h > opcodes.c |
| 1930 |
| 1931 opcodes.h: parse.h $(TOP)\src\vdbe.c $(TOP)\tool\mkopcodeh.tcl |
| 1932 type parse.h $(TOP)\src\vdbe.c | $(TCLSH_CMD) $(TOP)\tool\mkopcodeh.tcl
> opcodes.h |
| 1933 |
| 1934 # Rules to build parse.c and parse.h - the outputs of lemon. |
| 1935 # |
| 1936 parse.h: parse.c |
| 1937 |
| 1938 parse.c: $(TOP)\src\parse.y lemon.exe $(TOP)\tool\addopcodes.tcl |
| 1939 del /Q parse.y parse.h parse.h.temp 2>NUL |
| 1940 copy $(TOP)\src\parse.y . |
| 1941 .\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAG
S) $(OPTS) parse.y |
| 1942 move parse.h parse.h.temp |
| 1943 $(TCLSH_CMD) $(TOP)\tool\addopcodes.tcl parse.h.temp > parse.h |
| 1944 |
| 1945 $(SQLITE3H): $(TOP)\src\sqlite.h.in $(TOP)\manifest.uuid $(TOP)\VERSION |
| 1946 $(TCLSH_CMD) $(TOP)\tool\mksqlite3h.tcl $(TOP:\=/) > $(SQLITE3H) $(MKSQL
ITE3H_ARGS) |
| 1947 |
| 1948 sqlite3ext.h: .target_source |
| 1949 !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0 |
| 1950 type tsrc\sqlite3ext.h | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "\(
\*\)" "(SQLITE_CALLBACK *)" \ |
| 1951 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "\(\*" "(SQLITE_AP
ICALL *" > sqlite3ext.h |
| 1952 copy /Y sqlite3ext.h tsrc\sqlite3ext.h |
| 1953 !ELSE |
| 1954 copy /Y tsrc\sqlite3ext.h sqlite3ext.h |
| 1955 !ENDIF |
| 1956 |
| 1957 mkkeywordhash.exe: $(TOP)\tool\mkkeywordhash.c |
| 1958 $(BCC) $(NO_WARN) -Fe$@ $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_
FEATURE_FLAGS) $(OPTS) \ |
| 1959 $(TOP)\tool\mkkeywordhash.c /link $(LDFLAGS) $(NLTLINKOPTS) $(NL
TLIBPATHS) |
| 1960 |
| 1961 keywordhash.h: $(TOP)\tool\mkkeywordhash.c mkkeywordhash.exe |
| 1962 .\mkkeywordhash.exe > keywordhash.h |
| 1963 |
| 1964 |
| 1965 |
| 1966 # Rules to build the extension objects. |
| 1967 # |
| 1968 icu.lo: $(TOP)\ext\icu\icu.c $(HDR) $(EXTHDR) |
| 1969 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\icu\icu.c |
| 1970 |
| 1971 fts2.lo: $(TOP)\ext\fts2\fts2.c $(HDR) $(EXTHDR) |
| 1972 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts2\fts2.c |
| 1973 |
| 1974 fts2_hash.lo: $(TOP)\ext\fts2\fts2_hash.c $(HDR) $(EXTHDR) |
| 1975 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts2\fts2_hash.c |
| 1976 |
| 1977 fts2_icu.lo: $(TOP)\ext\fts2\fts2_icu.c $(HDR) $(EXTHDR) |
| 1978 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts2\fts2_icu.c |
| 1979 |
| 1980 fts2_porter.lo: $(TOP)\ext\fts2\fts2_porter.c $(HDR) $(EXTHDR) |
| 1981 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts2\fts2_porter.c |
| 1982 |
| 1983 fts2_tokenizer.lo: $(TOP)\ext\fts2\fts2_tokenizer.c $(HDR) $(EXTHDR) |
| 1984 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts2\fts2_tokenizer.c |
| 1985 |
| 1986 fts2_tokenizer1.lo: $(TOP)\ext\fts2\fts2_tokenizer1.c $(HDR) $(EXTHDR) |
| 1987 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts2\fts2_tokenizer1.c |
| 1988 |
| 1989 fts3.lo: $(TOP)\ext\fts3\fts3.c $(HDR) $(EXTHDR) |
| 1990 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3.c |
| 1991 |
| 1992 fts3_aux.lo: $(TOP)\ext\fts3\fts3_aux.c $(HDR) $(EXTHDR) |
| 1993 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_aux.c |
| 1994 |
| 1995 fts3_expr.lo: $(TOP)\ext\fts3\fts3_expr.c $(HDR) $(EXTHDR) |
| 1996 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_expr.c |
| 1997 |
| 1998 fts3_hash.lo: $(TOP)\ext\fts3\fts3_hash.c $(HDR) $(EXTHDR) |
| 1999 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_hash.c |
| 2000 |
| 2001 fts3_icu.lo: $(TOP)\ext\fts3\fts3_icu.c $(HDR) $(EXTHDR) |
| 2002 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_icu.c |
| 2003 |
| 2004 fts3_snippet.lo: $(TOP)\ext\fts3\fts3_snippet.c $(HDR) $(EXTHDR) |
| 2005 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_snippet.c |
| 2006 |
| 2007 fts3_porter.lo: $(TOP)\ext\fts3\fts3_porter.c $(HDR) $(EXTHDR) |
| 2008 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_porter.c |
| 2009 |
| 2010 fts3_tokenizer.lo: $(TOP)\ext\fts3\fts3_tokenizer.c $(HDR) $(EXTHDR) |
| 2011 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_tokenizer.c |
| 2012 |
| 2013 fts3_tokenizer1.lo: $(TOP)\ext\fts3\fts3_tokenizer1.c $(HDR) $(EXTHDR) |
| 2014 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_tokenizer1.c |
| 2015 |
| 2016 fts3_tokenize_vtab.lo: $(TOP)\ext\fts3\fts3_tokenize_vtab.c $(HDR) $(EXTHDR) |
| 2017 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_tokenize_vtab.c |
| 2018 |
| 2019 fts3_unicode.lo: $(TOP)\ext\fts3\fts3_unicode.c $(HDR) $(EXTHDR) |
| 2020 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_unicode.c |
| 2021 |
| 2022 fts3_unicode2.lo: $(TOP)\ext\fts3\fts3_unicode2.c $(HDR) $(EXTHDR) |
| 2023 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_unicode2.c |
| 2024 |
| 2025 fts3_write.lo: $(TOP)\ext\fts3\fts3_write.c $(HDR) $(EXTHDR) |
| 2026 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\fts3\fts3_write.c |
| 2027 |
| 2028 rtree.lo: $(TOP)\ext\rtree\rtree.c $(HDR) $(EXTHDR) |
| 2029 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\rtree\rtree.c |
| 2030 |
| 2031 sqlite3session.lo: $(TOP)\ext\session\sqlite3session.c $(HDR) $(EXTHDR) |
| 2032 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext
\session\sqlite3session.c |
| 2033 |
| 2034 # FTS5 things |
| 2035 # |
| 2036 FTS5_SRC = \ |
| 2037 $(TOP)\ext\fts5\fts5.h \ |
| 2038 $(TOP)\ext\fts5\fts5Int.h \ |
| 2039 $(TOP)\ext\fts5\fts5_aux.c \ |
| 2040 $(TOP)\ext\fts5\fts5_buffer.c \ |
| 2041 $(TOP)\ext\fts5\fts5_main.c \ |
| 2042 $(TOP)\ext\fts5\fts5_config.c \ |
| 2043 $(TOP)\ext\fts5\fts5_expr.c \ |
| 2044 $(TOP)\ext\fts5\fts5_hash.c \ |
| 2045 $(TOP)\ext\fts5\fts5_index.c \ |
| 2046 fts5parse.c fts5parse.h \ |
| 2047 $(TOP)\ext\fts5\fts5_storage.c \ |
| 2048 $(TOP)\ext\fts5\fts5_tokenize.c \ |
| 2049 $(TOP)\ext\fts5\fts5_unicode2.c \ |
| 2050 $(TOP)\ext\fts5\fts5_varint.c \ |
| 2051 $(TOP)\ext\fts5\fts5_vocab.c |
| 2052 |
| 2053 fts5parse.c: $(TOP)\ext\fts5\fts5parse.y lemon.exe |
| 2054 copy $(TOP)\ext\fts5\fts5parse.y . |
| 2055 del /Q fts5parse.h 2>NUL |
| 2056 .\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAG
S) $(OPTS) fts5parse.y |
| 2057 |
| 2058 fts5parse.h: fts5parse.c |
| 2059 |
| 2060 fts5.c: $(FTS5_SRC) |
| 2061 $(TCLSH_CMD) $(TOP)\ext\fts5\tool\mkfts5c.tcl |
| 2062 copy $(TOP)\ext\fts5\fts5.h . |
| 2063 |
| 2064 fts5.lo: fts5.c $(HDR) $(EXTHDR) |
| 2065 $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c fts5.c |
| 2066 |
| 2067 fts5_ext.lo: fts5.c $(HDR) $(EXTHDR) |
| 2068 $(LTCOMPILE) $(NO_WARN) -c fts5.c |
| 2069 |
| 2070 fts5.dll: fts5_ext.lo |
| 2071 $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /OUT:$@ fts5_ext.lo |
| 2072 |
| 2073 sqlite3rbu.lo: $(TOP)\ext\rbu\sqlite3rbu.c $(HDR) $(EXTHDR) |
| 2074 $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\rbu\sqlite3rbu.c |
| 2075 |
| 2076 # Rules to build the 'testfixture' application. |
| 2077 # |
| 2078 # If using the amalgamation, use sqlite3.c directly to build the test |
| 2079 # fixture. Otherwise link against libsqlite3.lib. (This distinction is |
| 2080 # necessary because the test fixture requires non-API symbols which are |
| 2081 # hidden when the library is built via the amalgamation). |
| 2082 # |
| 2083 TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 |
| 2084 TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" |
| 2085 TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_CORE $(NO_WARN) |
| 2086 TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 |
| 2087 TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_DEFAULT_PAGE_SIZE=1024 |
| 2088 TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) $(TEST_CCONV_OPTS) |
| 2089 |
| 2090 TESTFIXTURE_SRC0 = $(TESTEXT) $(TESTSRC2) |
| 2091 TESTFIXTURE_SRC1 = $(TESTEXT) $(SQLITE3C) |
| 2092 !IF $(USE_AMALGAMATION)==0 |
| 2093 TESTFIXTURE_SRC = $(TESTSRC) $(TOP)\src\tclsqlite.c $(TESTFIXTURE_SRC0) |
| 2094 !ELSE |
| 2095 TESTFIXTURE_SRC = $(TESTSRC) $(TOP)\src\tclsqlite.c $(TESTFIXTURE_SRC1) |
| 2096 !ENDIF |
| 2097 |
| 2098 !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0 |
| 2099 sqlite_tclDecls.h: |
| 2100 echo #ifndef SQLITE_TCLAPI > $(SQLITETCLDECLSH) |
| 2101 echo # define SQLITE_TCLAPI >> $(SQLITETCLDECLSH) |
| 2102 echo #endif >> $(SQLITETCLDECLSH) |
| 2103 type "$(TCLINCDIR)\tclDecls.h" \ |
| 2104 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "^(EXTERN(?: CONST
\d+?)?\s+?[^\(]*?\s+?)Tcl_" "\1 SQLITE_TCLAPI Tcl_" \ |
| 2105 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "^(EXTERN\s+?(?:vo
id|VOID)\s+?)TclFreeObj" "\1 SQLITE_TCLAPI TclFreeObj" \ |
| 2106 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "\(\*tcl_" "(SQLIT
E_TCLAPI *tcl_" \ |
| 2107 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "\(\*tclFreeObj" "
(SQLITE_TCLAPI *tclFreeObj" \ |
| 2108 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "\(\*" "(SQLITE_TC
LAPI *" >> $(SQLITETCLDECLSH) |
| 2109 |
| 2110 sqlite_tcl.h: |
| 2111 type "$(TCLINCDIR)\tcl.h" | $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact t
clDecls.h sqlite_tclDecls.h \ |
| 2112 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "typedef (.*?)\(Tc
l_" "typedef \1 (SQLITE_TCLAPI Tcl_" \ |
| 2113 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact "void (*freeProc)"
"void (SQLITE_TCLAPI *freeProc)" \ |
| 2114 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact "Tcl_HashEntry *(*f
indProc)" "Tcl_HashEntry *(SQLITE_TCLAPI *findProc)" \ |
| 2115 | $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact "Tcl_HashEntry *(*c
reateProc)" "Tcl_HashEntry *(SQLITE_TCLAPI *createProc)" >> $(SQLITETCLH) |
| 2116 !ENDIF |
| 2117 |
| 2118 testfixture.exe: $(TESTFIXTURE_SRC) $(SQLITE3H) $(LIBRESOBJS) $(HDR) $(SQ
LITE_TCL_DEP) |
| 2119 $(LTLINK) -DSQLITE_NO_SYNC=1 $(TESTFIXTURE_FLAGS) \ |
| 2120 -DBUILD_sqlite -I$(TCLINCDIR) \ |
| 2121 $(TESTFIXTURE_SRC) \ |
| 2122 /link $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LTL
IBS) $(TLIBS) |
| 2123 |
| 2124 extensiontest: testfixture.exe testloadext.dll |
| 2125 @set PATH=$(LIBTCLPATH);$(PATH) |
| 2126 .\testfixture.exe $(TOP)\test\loadext.test $(TESTOPTS) |
| 2127 |
| 2128 fulltest: $(TESTPROGS) fuzztest |
| 2129 @set PATH=$(LIBTCLPATH);$(PATH) |
| 2130 .\testfixture.exe $(TOP)\test\all.test $(TESTOPTS) |
| 2131 |
| 2132 soaktest: $(TESTPROGS) |
| 2133 @set PATH=$(LIBTCLPATH);$(PATH) |
| 2134 .\testfixture.exe $(TOP)\test\all.test -soak=1 $(TESTOPTS) |
| 2135 |
| 2136 fulltestonly: $(TESTPROGS) fuzztest |
| 2137 @set PATH=$(LIBTCLPATH);$(PATH) |
| 2138 .\testfixture.exe $(TOP)\test\full.test |
| 2139 |
| 2140 queryplantest: testfixture.exe shell |
| 2141 @set PATH=$(LIBTCLPATH);$(PATH) |
| 2142 .\testfixture.exe $(TOP)\test\permutations.test queryplanner $(TESTOPTS) |
| 2143 |
| 2144 fuzztest: fuzzcheck.exe |
| 2145 .\fuzzcheck.exe $(FUZZDATA) |
| 2146 |
| 2147 fastfuzztest: fuzzcheck.exe |
| 2148 .\fuzzcheck.exe --limit-mem 100M $(FUZZDATA) |
| 2149 |
| 2150 # Minimal testing that runs in less than 3 minutes (on a fast machine) |
| 2151 # |
| 2152 quicktest: testfixture.exe sourcetest |
| 2153 @set PATH=$(LIBTCLPATH);$(PATH) |
| 2154 .\testfixture.exe $(TOP)\test\extraquick.test $(TESTOPTS) |
| 2155 |
| 2156 # This is the common case. Run many tests that do not take too long, |
| 2157 # including fuzzcheck, sqlite3_analyzer, and sqldiff tests. |
| 2158 # |
| 2159 test: $(TESTPROGS) sourcetest fastfuzztest |
| 2160 @set PATH=$(LIBTCLPATH);$(PATH) |
| 2161 .\testfixture.exe $(TOP)\test\veryquick.test $(TESTOPTS) |
| 2162 |
| 2163 smoketest: $(TESTPROGS) |
| 2164 @set PATH=$(LIBTCLPATH);$(PATH) |
| 2165 .\testfixture.exe $(TOP)\test\main.test $(TESTOPTS) |
| 2166 |
| 2167 sqlite3_analyzer.c: $(SQLITE3C) $(SQLITE3H) $(TOP)\src\tclsqlite.c $(TOP)\to
ol\spaceanal.tcl $(SQLITE_TCL_DEP) |
| 2168 echo #define TCLSH 2 > $@ |
| 2169 echo #define SQLITE_ENABLE_DBSTAT_VTAB 1 >> $@ |
| 2170 copy $@ + $(SQLITE3C) + $(TOP)\src\tclsqlite.c $@ |
| 2171 echo static const char *tclsh_main_loop(void){ >> $@ |
| 2172 echo static const char *zMainloop = >> $@ |
| 2173 $(TCLSH_CMD) $(TOP)\tool\tostr.tcl $(TOP)\tool\spaceanal.tcl >> $@ |
| 2174 echo ; return zMainloop; } >> $@ |
| 2175 |
| 2176 sqlite3_analyzer.exe: sqlite3_analyzer.c $(LIBRESOBJS) |
| 2177 $(LTLINK) $(NO_WARN) -DBUILD_sqlite -I$(TCLINCDIR) sqlite3_analyzer.c \ |
| 2178 /link $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LTL
IBS) $(TLIBS) |
| 2179 |
| 2180 testloadext.lo: $(TOP)\src\test_loadext.c |
| 2181 $(LTCOMPILE) $(NO_WARN) -c $(TOP)\src\test_loadext.c |
| 2182 |
| 2183 testloadext.dll: testloadext.lo |
| 2184 $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /OUT:$@ testloadext.lo |
| 2185 |
| 2186 showdb.exe: $(TOP)\tool\showdb.c $(SQLITE3C) $(SQLITE3H) |
| 2187 $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
\ |
| 2188 $(TOP)\tool\showdb.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) |
| 2189 |
| 2190 showstat4.exe: $(TOP)\tool\showstat4.c $(SQLITE3C) $(SQLITE3H) |
| 2191 $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
\ |
| 2192 $(TOP)\tool\showstat4.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPT
S) |
| 2193 |
| 2194 showjournal.exe: $(TOP)\tool\showjournal.c $(SQLITE3C) $(SQLITE3H) |
| 2195 $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
\ |
| 2196 $(TOP)\tool\showjournal.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKO
PTS) |
| 2197 |
| 2198 showwal.exe: $(TOP)\tool\showwal.c $(SQLITE3C) $(SQLITE3H) |
| 2199 $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
\ |
| 2200 $(TOP)\tool\showwal.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) |
| 2201 |
| 2202 changeset.exe: $(TOP)\ext\session\changeset.c $(SQLITE3C) $(SQLITE3H) |
| 2203 $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
\ |
| 2204 -DSQLITE_ENABLE_SESSION=1 -DSQLITE_ENABLE_PREUPDATE_HOOK=1 \ |
| 2205 $(TOP)\ext\session\changeset.c $(SQLITE3C) /link $(LDFLAGS) $(LT
LINKOPTS) |
| 2206 |
| 2207 fts3view.exe: $(TOP)\ext\fts3\tool\fts3view.c $(SQLITE3C) $(SQLITE3H) |
| 2208 $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
\ |
| 2209 $(TOP)\ext\fts3\tool\fts3view.c $(SQLITE3C) /link $(LDFLAGS) $(L
TLINKOPTS) |
| 2210 |
| 2211 rollback-test.exe: $(TOP)\tool\rollback-test.c $(SQLITE3C) $(SQLITE3H) |
| 2212 $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
\ |
| 2213 $(TOP)\tool\rollback-test.c $(SQLITE3C) /link $(LDFLAGS) $(LTLIN
KOPTS) |
| 2214 |
| 2215 LogEst.exe: $(TOP)\tool\logest.c $(SQLITE3H) |
| 2216 $(LTLINK) $(NO_WARN) $(TOP)\tool\LogEst.c /link $(LDFLAGS) $(LTLINKOPTS) |
| 2217 |
| 2218 wordcount.exe: $(TOP)\test\wordcount.c $(SQLITE3C) $(SQLITE3H) |
| 2219 $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
\ |
| 2220 $(TOP)\test\wordcount.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPT
S) |
| 2221 |
| 2222 speedtest1.exe: $(TOP)\test\speedtest1.c $(SQLITE3C) $(SQLITE3H) |
| 2223 $(LTLINK) $(NO_WARN) $(ST_COMPILE_OPTS) -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2224 $(TOP)\test\speedtest1.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOP
TS) |
| 2225 |
| 2226 kvtest.exe: $(TOP)\test\kvtest.c $(SQLITE3C) $(SQLITE3H) |
| 2227 $(LTLINK) $(NO_WARN) $(KV_COMPILE_OPTS) \ |
| 2228 $(TOP)\test\kvtest.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) |
| 2229 |
| 2230 dbselftest.exe: $(TOP)\test\dbselftest.c $(SQLITE3C) $(SQLITE3H) |
| 2231 $(LTLINK) $(NO_WARN) $(DBSELFTEST_COMPILE_OPTS) $(TOP)\test\dbselftest.c
$(SQLITE3C) |
| 2232 |
| 2233 rbu.exe: $(TOP)\ext\rbu\rbu.c $(TOP)\ext\rbu\sqlite3rbu.c $(SQLITE3C) $(S
QLITE3H) |
| 2234 $(LTLINK) $(NO_WARN) -DSQLITE_ENABLE_RBU \ |
| 2235 $(TOP)\ext\rbu\rbu.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) |
| 2236 |
| 2237 moreclean: clean |
| 2238 del /Q $(SQLITE3C) $(SQLITE3H) 2>NUL |
| 2239 # <</mark>> |
| 2240 |
| 2241 clean: |
| 2242 del /Q *.exp *.lo *.ilk *.lib *.obj *.ncb *.pdb *.sdf *.suo 2>NUL |
| 2243 del /Q *.bsc *.def *.cod *.da *.bb *.bbg *.vc gmon.out 2>NUL |
| 2244 del /Q $(SQLITE3EXE) $(SQLITE3DLL) Replace.exe 2>NUL |
| 2245 # <<mark>> |
| 2246 del /Q sqlite3.c sqlite3.h 2>NUL |
| 2247 del /Q opcodes.c opcodes.h 2>NUL |
| 2248 del /Q lemon.* lempar.c parse.* 2>NUL |
| 2249 del /Q mkkeywordhash.* keywordhash.h 2>NUL |
| 2250 del /Q notasharedlib.* 2>NUL |
| 2251 -rmdir /Q/S .deps 2>NUL |
| 2252 -rmdir /Q/S .libs 2>NUL |
| 2253 -rmdir /Q/S tsrc 2>NUL |
| 2254 del /Q .target_source 2>NUL |
| 2255 del /Q tclsqlite3.exe $(SQLITETCLH) $(SQLITETCLDECLSH) 2>NUL |
| 2256 del /Q testloadext.dll 2>NUL |
| 2257 del /Q testfixture.exe test.db 2>NUL |
| 2258 del /Q LogEst.exe fts3view.exe rollback-test.exe showdb.exe 2>NUL |
| 2259 del /Q changeset.exe 2>NUL |
| 2260 del /Q showjournal.exe showstat4.exe showwal.exe speedtest1.exe 2>NUL |
| 2261 del /Q mptester.exe wordcount.exe rbu.exe srcck1.exe 2>NUL |
| 2262 del /Q sqlite3.c sqlite3-*.c 2>NUL |
| 2263 del /Q sqlite3rc.h 2>NUL |
| 2264 del /Q shell.c sqlite3ext.h sqlite3session.h 2>NUL |
| 2265 del /Q sqlite3_analyzer.exe sqlite3_analyzer.c 2>NUL |
| 2266 del /Q sqlite-*-output.vsix 2>NUL |
| 2267 del /Q fuzzershell.exe fuzzcheck.exe sqldiff.exe dbhash.exe 2>NUL |
| 2268 del /Q fts5.* fts5parse.* 2>NUL |
| 2269 # <</mark>> |
OLD | NEW |