12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849 |
- #
- # nmake Makefile for SQLite
- #
- ###############################################################################
- ############################## START OF OPTIONS ###############################
- ###############################################################################
- # The toplevel directory of the source tree. This is the directory
- # that contains this "Makefile.msc".
- #
- TOP = .
- # <<mark>>
- # Set this non-0 to create and use the SQLite amalgamation file.
- #
- !IFNDEF USE_AMALGAMATION
- USE_AMALGAMATION = 1
- !ENDIF
- # <</mark>>
- # Optionally set EXTRA_SRC to a list of C files to append to
- # the generated sqlite3.c. Any sqlite3 extensions added this
- # way may require manual editing, as described in
- # https://sqlite.org/forum/forumpost/903f721f3e7c0d25
- #
- !IFNDEF EXTRA_SRC
- EXTRA_SRC =
- !ENDIF
- # Set this non-0 to enable full warnings (-W4, etc) when compiling.
- #
- !IFNDEF USE_FULLWARN
- USE_FULLWARN = 1
- !ENDIF
- # Set this non-0 to enable treating warnings as errors (-WX, etc) when
- # compiling.
- #
- !IFNDEF USE_FATAL_WARN
- USE_FATAL_WARN = 0
- !ENDIF
- # Set this non-0 to enable full runtime error checks (-RTC1, etc). This
- # has no effect if (any) optimizations are enabled.
- #
- !IFNDEF USE_RUNTIME_CHECKS
- USE_RUNTIME_CHECKS = 0
- !ENDIF
- # Set this non-0 to create a SQLite amalgamation file that excludes the
- # various built-in extensions.
- #
- !IFNDEF MINIMAL_AMALGAMATION
- MINIMAL_AMALGAMATION = 0
- !ENDIF
- # Set this non-0 to use "stdcall" calling convention for the core library
- # and shell executable.
- #
- !IFNDEF USE_STDCALL
- USE_STDCALL = 0
- !ENDIF
- # Use the USE_SEH=0 option on the nmake command line to omit structured
- # exception handling (SEH) support. SEH is on by default.
- #
- !IFNDEF USE_SEH
- USE_SEH = 1
- !ENDIF
- # Use STATICALLY_LINK_TCL=1 to statically link against TCL
- #
- !IFNDEF STATICALLY_LINK_TCL
- STATICALLY_LINK_TCL = 0
- !ELSEIF $(STATICALLY_LINK_TCL)!=0
- CCOPTS = $(CCOPTS) -DSTATIC_BUILD
- !ENDIF
- # Set this non-0 to have the shell executable link against the core dynamic
- # link library.
- #
- !IFNDEF DYNAMIC_SHELL
- DYNAMIC_SHELL = 0
- !ENDIF
- # Set this non-0 to enable extra code that attempts to detect misuse of the
- # SQLite API.
- #
- !IFNDEF API_ARMOR
- API_ARMOR = 0
- !ENDIF
- # If necessary, create a list of harmless compiler warnings to disable when
- # compiling the various tools. For the SQLite source code itself, warnings,
- # if any, will be disabled from within it.
- #
- !IFNDEF NO_WARN
- !IF $(USE_FULLWARN)!=0
- NO_WARN = -wd4054 -wd4055 -wd4100 -wd4127 -wd4130 -wd4152 -wd4189 -wd4206
- NO_WARN = $(NO_WARN) -wd4210 -wd4232 -wd4244 -wd4305 -wd4306 -wd4702 -wd4706
- !ENDIF
- !ENDIF
- # Set this non-0 to use the library paths and other options necessary for
- # Windows Phone 8.1.
- #
- !IFNDEF USE_WP81_OPTS
- USE_WP81_OPTS = 0
- !ENDIF
- # Set this non-0 to split the SQLite amalgamation file into chunks to
- # be used for debugging with Visual Studio.
- #
- !IFNDEF SPLIT_AMALGAMATION
- SPLIT_AMALGAMATION = 0
- !ENDIF
- # <<mark>>
- # Set this non-0 to have this makefile assume the Tcl shell executable
- # (tclsh*.exe) is available in the PATH. By default, this is disabled
- # for compatibility with older build environments. This setting only
- # applies if TCLSH_CMD is not set manually.
- #
- !IFNDEF USE_TCLSH_IN_PATH
- USE_TCLSH_IN_PATH = 0
- !ENDIF
- # Set this non-0 to use zlib, possibly compiling it from source code.
- #
- !IFNDEF USE_ZLIB
- USE_ZLIB = 0
- !ENDIF
- # Set this non-0 to build zlib from source code. This is enabled by
- # default and in that case it will be assumed that the ZLIBDIR macro
- # points to the top-level source code directory for zlib.
- #
- !IFNDEF BUILD_ZLIB
- BUILD_ZLIB = 1
- !ENDIF
- # Set this non-0 to use the International Components for Unicode (ICU).
- #
- !IFNDEF USE_ICU
- USE_ICU = 0
- !ENDIF
- # <</mark>>
- # Set this non-0 to dynamically link to the MSVC runtime library.
- #
- !IFNDEF USE_CRT_DLL
- USE_CRT_DLL = 0
- !ENDIF
- # Set this non-0 to link to the RPCRT4 library.
- #
- !IFNDEF USE_RPCRT4_LIB
- USE_RPCRT4_LIB = 0
- !ENDIF
- # Set this non-0 to generate assembly code listings for the source code
- # files.
- #
- !IFNDEF USE_LISTINGS
- USE_LISTINGS = 0
- !ENDIF
- # Set this non-0 to attempt setting the native compiler automatically
- # for cross-compiling the command line tools needed during the compilation
- # process.
- #
- !IFNDEF XCOMPILE
- XCOMPILE = 0
- !ENDIF
- # Set this non-0 to use the native libraries paths for cross-compiling
- # the command line tools needed during the compilation process.
- #
- !IFNDEF USE_NATIVE_LIBPATHS
- USE_NATIVE_LIBPATHS = 0
- !ENDIF
- # Set this 0 to skip the compiling and embedding of version resources.
- #
- !IFNDEF USE_RC
- USE_RC = 1
- !ENDIF
- # Set this non-0 to compile binaries suitable for the WinRT environment.
- # This setting does not apply to any binaries that require Tcl to operate
- # properly (i.e. the text fixture, etc).
- #
- !IFNDEF FOR_WINRT
- FOR_WINRT = 0
- !ENDIF
- # Set this non-0 to compile binaries suitable for the UWP environment.
- # This setting does not apply to any binaries that require Tcl to operate
- # properly (i.e. the text fixture, etc).
- #
- !IFNDEF FOR_UWP
- FOR_UWP = 0
- !ENDIF
- # Set this non-0 to compile binaries suitable for the Windows 10 platform.
- #
- !IFNDEF FOR_WIN10
- FOR_WIN10 = 0
- !ENDIF
- # <<mark>>
- # Set this non-0 to skip attempting to look for and/or link with the Tcl
- # runtime library.
- #
- !IFNDEF NO_TCL
- NO_TCL = 0
- !ENDIF
- # <</mark>>
- # Set this to non-0 to create and use PDBs.
- #
- !IFNDEF SYMBOLS
- SYMBOLS = 1
- !ENDIF
- # Set this to non-0 to use the SQLite debugging heap subsystem.
- #
- !IFNDEF MEMDEBUG
- MEMDEBUG = 0
- !ENDIF
- # Set this to non-0 to use the Win32 native heap subsystem.
- #
- !IFNDEF WIN32HEAP
- WIN32HEAP = 0
- !ENDIF
- # Set this to non-0 to enable OSTRACE() macros, which can be useful when
- # debugging.
- #
- !IFNDEF OSTRACE
- OSTRACE = 0
- !ENDIF
- # enable address sanitizer using ASAN=1 on the command-line.
- #
- !IFNDEF ASAN
- ASAN = 0
- !ENDIF
- # Set this to one of the following values to enable various debugging
- # features. Each level includes the debugging options from the previous
- # levels. Currently, the recognized values for DEBUG are:
- #
- # 0 == NDEBUG: Disables assert() and other runtime diagnostics.
- # 1 == SQLITE_ENABLE_API_ARMOR: extra attempts to detect misuse of the API.
- # 2 == Disables NDEBUG and all optimizations and then enables PDBs.
- # 3 == SQLITE_DEBUG: Enables various diagnostics messages and code.
- # 4 == SQLITE_WIN32_MALLOC_VALIDATE: Validate the Win32 native heap per call.
- # 5 == SQLITE_DEBUG_OS_TRACE: Enables output from the OSTRACE() macros.
- # 6 == SQLITE_ENABLE_IOTRACE: Enables output from the IOTRACE() macros.
- #
- !IFNDEF DEBUG
- DEBUG = 0
- !ENDIF
- # <<mark>>
- # By default, use --linemacros=1 argument to the mksqlite3c.tcl tool, which
- # is used to build the amalgamation. This can be turned off to ease debug
- # of the amalgamation away from the source tree.
- #
- !IFNDEF NO_LINEMACROS
- NO_LINEMACROS = 0
- !ENDIF
- # <</mark>>
- # Enable use of available compiler optimizations? Normally, this should be
- # non-zero. Setting this to zero, thus disabling all compiler optimizations,
- # can be useful for testing.
- #
- !IFNDEF OPTIMIZATIONS
- OPTIMIZATIONS = 2
- !ENDIF
- # Set this to non-0 to enable support for the session extension.
- #
- !IFNDEF SESSION
- SESSION = 0
- !ENDIF
- # Set this to non-0 to enable support for the rbu extension.
- #
- !IFNDEF RBU
- RBU = 0
- !ENDIF
- # Set the source code file to be used by executables and libraries when
- # they need the amalgamation.
- #
- !IFNDEF SQLITE3C
- !IF $(SPLIT_AMALGAMATION)!=0
- SQLITE3C = sqlite3-all.c
- !ELSE
- SQLITE3C = sqlite3.c
- !ENDIF
- !ENDIF
- # Set the include code file to be used by executables and libraries when
- # they need SQLite.
- #
- !IFNDEF SQLITE3H
- SQLITE3H = sqlite3.h
- !ENDIF
- # This is the name to use for the SQLite dynamic link library (DLL).
- #
- !IFNDEF SQLITE3DLL
- !IF $(FOR_WIN10)!=0
- SQLITE3DLL = winsqlite3.dll
- !ELSE
- SQLITE3DLL = sqlite3.dll
- !ENDIF
- !ENDIF
- # This is the name to use for the SQLite import library (LIB).
- #
- !IFNDEF SQLITE3LIB
- !IF $(FOR_WIN10)!=0
- SQLITE3LIB = winsqlite3.lib
- !ELSE
- SQLITE3LIB = sqlite3.lib
- !ENDIF
- !ENDIF
- # This is the name to use for the SQLite shell executable (EXE).
- #
- !IFNDEF SQLITE3EXE
- !IF $(FOR_WIN10)!=0
- SQLITE3EXE = winsqlite3shell.exe
- !ELSE
- SQLITE3EXE = sqlite3.exe
- !ENDIF
- !ENDIF
- # This is the argument used to set the program database (PDB) file for the
- # SQLite shell executable (EXE).
- #
- !IFNDEF SQLITE3EXEPDB
- !IF $(FOR_WIN10)!=0
- SQLITE3EXEPDB =
- !ELSE
- SQLITE3EXEPDB = /pdb:sqlite3sh.pdb
- !ENDIF
- !ENDIF
- # <<mark>>
- # These are the names of the customized Tcl header files used by various parts
- # of this makefile when the stdcall calling convention is in use. It is not
- # used for any other purpose.
- #
- !IFNDEF SQLITETCLH
- SQLITETCLH = sqlite_tcl.h
- !ENDIF
- !IFNDEF SQLITETCLDECLSH
- SQLITETCLDECLSH = sqlite_tclDecls.h
- !ENDIF
- # This is the name to use for the dynamic link library (DLL) containing the
- # Tcl bindings for SQLite.
- #
- !IFNDEF SQLITE3TCLDLL
- SQLITE3TCLDLL = tclsqlite3.dll
- !ENDIF
- # These are the additional targets that the targets that integrate with the
- # Tcl library should depend on when compiling, etc.
- #
- !IFNDEF SQLITE_TCL_DEP
- !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0
- SQLITE_TCL_DEP = $(SQLITETCLDECLSH) $(SQLITETCLH)
- !ELSE
- SQLITE_TCL_DEP =
- !ENDIF
- !ENDIF
- # <</mark>>
- # These are the "standard" SQLite compilation options used when compiling for
- # the Windows platform.
- #
- !IFNDEF OPT_FEATURE_FLAGS
- OPT_FEATURE_FLAGS = $(OPT_XTRA)
- !IF $(MINIMAL_AMALGAMATION)==0
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_FTS3=1
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_FTS5=1
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_RTREE=1
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_GEOPOLY=1
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_STMTVTAB=1
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DBPAGE_VTAB=1
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DBSTAT_VTAB=1
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_BYTECODE_VTAB=1
- !ENDIF
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_COLUMN_METADATA=1
- !ENDIF
- # Additional feature-options above and beyond what are normally used can be
- # be added using OPTIONS=.... on the command-line. These values are
- # appended to the OPT_FEATURE_FLAGS variable.
- #
- !IFDEF OPTIONS
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) $(OPTIONS)
- !ENDIF
- # Should the session extension be enabled? If so, add compilation options
- # to enable it.
- #
- !IF $(SESSION)!=0
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_SESSION=1
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_PREUPDATE_HOOK=1
- !ENDIF
- # Always enable math functions on Windows
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_MATH_FUNCTIONS
- # Should the rbu extension be enabled? If so, add compilation options
- # to enable it.
- #
- !IF $(RBU)!=0
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_RBU=1
- !ENDIF
- # Should structured exception handling (SEH) be enabled for WAL mode in
- # the core library? It is on by default. Only omit it if the
- # USE_SEH=0 option is provided on the nmake command-line.
- #
- !IF $(USE_SEH)==0
- OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_OMIT_SEH=1
- !ENDIF
- # These are the "extended" SQLite compilation options used when compiling for
- # the Windows 10 platform.
- #
- !IFNDEF EXT_FEATURE_FLAGS
- !IF $(FOR_WIN10)!=0
- EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_ENABLE_FTS4=1
- EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_SYSTEM_MALLOC=1
- EXT_FEATURE_FLAGS = $(EXT_FEATURE_FLAGS) -DSQLITE_OMIT_LOCALTIME=1
- !ELSE
- EXT_FEATURE_FLAGS =
- !ENDIF
- !ENDIF
- ###############################################################################
- ############################### END OF OPTIONS ################################
- ###############################################################################
- # When compiling for the Windows 10 platform, the PLATFORM macro must be set
- # to an appropriate value (e.g. x86, x64, arm, arm64, etc).
- #
- !IF $(FOR_WIN10)!=0
- !IFNDEF PLATFORM
- !ERROR Using the FOR_WIN10 option requires a value for PLATFORM.
- !ENDIF
- !ENDIF
- # This assumes that MSVC is always installed in 32-bit Program Files directory
- # and sets the variable for use in locating other 32-bit installs accordingly.
- #
- PROGRAMFILES_X86 = $(VCINSTALLDIR)\..\..
- PROGRAMFILES_X86 = $(PROGRAMFILES_X86:\\=\)
- # Check for the predefined command macro CC. This should point to the compiler
- # binary for the target platform. If it is not defined, simply define it to
- # the legacy default value 'cl.exe'.
- #
- !IFNDEF CC
- CC = cl.exe
- !ENDIF
- # Check for the predefined command macro CSC. This should point to a working
- # C Sharp compiler binary. If it is not defined, simply define it to the
- # legacy default value 'csc.exe'.
- #
- !IFNDEF CSC
- CSC = csc.exe
- !ENDIF
- # Check for the command macro LD. This should point to the linker binary for
- # the target platform. If it is not defined, simply define it to the legacy
- # default value 'link.exe'.
- #
- !IFNDEF LD
- LD = link.exe
- !ENDIF
- # Check for the predefined command macro RC. This should point to the resource
- # compiler binary for the target platform. If it is not defined, simply define
- # it to the legacy default value 'rc.exe'.
- #
- !IFNDEF RC
- RC = rc.exe
- !ENDIF
- # Check for the MSVC runtime library path macro. Otherwise, this value will
- # default to the 'lib' directory underneath the MSVC installation directory.
- #
- !IFNDEF CRTLIBPATH
- CRTLIBPATH = $(VCINSTALLDIR)\lib
- !ENDIF
- CRTLIBPATH = $(CRTLIBPATH:\\=\)
- # Check for the command macro NCC. This should point to the compiler binary
- # for the platform the compilation process is taking place on. If it is not
- # defined, simply define it to have the same value as the CC macro. When
- # cross-compiling, it is suggested that this macro be modified via the command
- # line (since nmake itself does not provide a built-in method to guess it).
- # For example, to use the x86 compiler when cross-compiling for x64, a command
- # line similar to the following could be used (all on one line):
- #
- # nmake /f Makefile.msc sqlite3.dll
- # XCOMPILE=1 USE_NATIVE_LIBPATHS=1
- #
- # Alternatively, the full path and file name to the compiler binary for the
- # platform the compilation process is taking place may be specified (all on
- # one line):
- #
- # nmake /f Makefile.msc sqlite3.dll
- # "NCC=""%VCINSTALLDIR%\bin\cl.exe"""
- # USE_NATIVE_LIBPATHS=1
- #
- !IFDEF NCC
- NCC = $(NCC:\\=\)
- !ELSEIF $(XCOMPILE)!=0
- NCC = "$(VCINSTALLDIR)\bin\$(CC)"
- NCC = $(NCC:\\=\)
- !ELSE
- NCC = $(CC)
- !ENDIF
- # Check for the MSVC native runtime library path macro. Otherwise,
- # this value will default to the 'lib' directory underneath the MSVC
- # installation directory.
- #
- !IFNDEF NCRTLIBPATH
- NCRTLIBPATH = $(VCINSTALLDIR)\lib
- !ENDIF
- NCRTLIBPATH = $(NCRTLIBPATH:\\=\)
- # Check for the Platform SDK library path macro. Otherwise, this
- # value will default to the 'lib' directory underneath the Windows
- # SDK installation directory (the environment variable used appears
- # to be available when using Visual C++ 2008 or later via the
- # command line).
- #
- !IFNDEF NSDKLIBPATH
- NSDKLIBPATH = $(WINDOWSSDKDIR)\lib
- !ENDIF
- NSDKLIBPATH = $(NSDKLIBPATH:\\=\)
- # Check for the UCRT library path macro. Otherwise, this value will
- # default to the version-specific, platform-specific 'lib' directory
- # underneath the Windows SDK installation directory.
- #
- !IFNDEF UCRTLIBPATH
- UCRTLIBPATH = $(WINDOWSSDKDIR)\lib\$(WINDOWSSDKLIBVERSION)\ucrt\$(PLATFORM)
- !ENDIF
- UCRTLIBPATH = $(UCRTLIBPATH:\\=\)
- # C compiler and options for use in building executables that
- # will run on the platform that is doing the build.
- #
- !IF $(USE_FULLWARN)!=0
- BCC = $(NCC) -nologo -W4 -Fd$*.pdb $(CCOPTS) $(BCCOPTS)
- !ELSE
- BCC = $(NCC) -nologo -W3 -Fd$*.pdb $(CCOPTS) $(BCCOPTS)
- !ENDIF
- # Check if assembly code listings should be generated for the source
- # code files to be compiled.
- #
- !IF $(USE_LISTINGS)!=0
- BCC = $(BCC) -FAcs
- !ENDIF
- # Check if the native library paths should be used when compiling
- # the command line tools used during the compilation process. If
- # so, set the necessary macro now.
- #
- !IF $(USE_NATIVE_LIBPATHS)!=0
- NLTLIBPATHS = "/LIBPATH:$(NCRTLIBPATH)" "/LIBPATH:$(NSDKLIBPATH)"
- !IFDEF NUCRTLIBPATH
- NUCRTLIBPATH = $(NUCRTLIBPATH:\\=\)
- NLTLIBPATHS = $(NLTLIBPATHS) "/LIBPATH:$(NUCRTLIBPATH)"
- !ENDIF
- !ENDIF
- # C compiler and options for use in building executables that
- # will run on the target platform. (BCC and TCC are usually the
- # same unless your are cross-compiling.)
- #
- !IF $(USE_FULLWARN)!=0
- TCC = $(CC) -nologo -W4 -DINCLUDE_MSVC_H=1 $(CCOPTS) $(TCCOPTS)
- !ELSE
- TCC = $(CC) -nologo -W3 $(CCOPTS) $(TCCOPTS)
- !ENDIF
- # Check if warnings should be treated as errors when compiling.
- #
- !IF $(USE_FATAL_WARN)!=0
- TCC = $(TCC) -WX
- !ENDIF
- TCC = $(TCC) -DSQLITE_OS_WIN=1 -I. -I$(TOP) -I$(TOP)\src -fp:precise
- RCC = $(RC) -DSQLITE_OS_WIN=1 -I. -I$(TOP) -I$(TOP)\src $(RCOPTS) $(RCCOPTS)
- # Check if we want to use the "stdcall" calling convention when compiling.
- # This is not supported by the compilers for non-x86 platforms. It should
- # also be noted here that building any target with these "stdcall" options
- # will most likely fail if the Tcl library is also required. This is due
- # to how the Tcl library functions are declared and exported (i.e. without
- # an explicit calling convention, which results in "cdecl").
- #
- !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0
- !IF "$(PLATFORM)"=="x86"
- CORE_CCONV_OPTS = -Gz -guard:cf -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall
- SHELL_CCONV_OPTS = -Gz -guard:cf -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall
- # <<mark>>
- TEST_CCONV_OPTS = -Gz -guard:cf -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall -DINCLUDE_SQLITE_TCL_H=1 -DSQLITE_TCLAPI=__cdecl
- # <</mark>>
- !ELSE
- !IFNDEF PLATFORM
- CORE_CCONV_OPTS = -Gz -guard:cf -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall
- SHELL_CCONV_OPTS = -Gz -guard:cf -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall
- # <<mark>>
- TEST_CCONV_OPTS = -Gz -guard:cf -DSQLITE_CDECL=__cdecl -DSQLITE_APICALL=__stdcall -DSQLITE_CALLBACK=__stdcall -DSQLITE_SYSAPI=__stdcall -DINCLUDE_SQLITE_TCL_H=1 -DSQLITE_TCLAPI=__cdecl
- # <</mark>>
- !ELSE
- CORE_CCONV_OPTS =
- SHELL_CCONV_OPTS =
- # <<mark>>
- TEST_CCONV_OPTS =
- # <</mark>>
- !ENDIF
- !ENDIF
- !ELSE
- CORE_CCONV_OPTS =
- SHELL_CCONV_OPTS =
- # <<mark>>
- TEST_CCONV_OPTS =
- # <</mark>>
- !ENDIF
- # These are additional compiler options used for the core library.
- #
- !IFNDEF CORE_COMPILE_OPTS
- !IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
- CORE_COMPILE_OPTS = $(CORE_CCONV_OPTS) -DSQLITE_API=__declspec(dllexport)
- !ELSE
- CORE_COMPILE_OPTS = $(CORE_CCONV_OPTS)
- !ENDIF
- !ENDIF
- # These are the additional targets that the core library should depend on
- # when linking.
- #
- !IFNDEF CORE_LINK_DEP
- !IF $(DYNAMIC_SHELL)!=0
- CORE_LINK_DEP =
- !ELSEIF $(FOR_WIN10)==0 || "$(PLATFORM)"=="x86"
- CORE_LINK_DEP = sqlite3.def
- !ELSE
- CORE_LINK_DEP =
- !ENDIF
- !ENDIF
- # These are additional linker options used for the core library.
- #
- !IFNDEF CORE_LINK_OPTS
- !IF $(DYNAMIC_SHELL)!=0
- CORE_LINK_OPTS =
- !ELSEIF $(FOR_WIN10)==0 || "$(PLATFORM)"=="x86"
- CORE_LINK_OPTS = /DEF:sqlite3.def
- !ELSE
- CORE_LINK_OPTS =
- !ENDIF
- !ENDIF
- # These are additional compiler options used for the shell executable.
- #
- !IFNDEF SHELL_COMPILE_OPTS
- !IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
- SHELL_COMPILE_OPTS = $(SHELL_CCONV_OPTS) -DSQLITE_API=__declspec(dllimport)
- !ELSE
- SHELL_COMPILE_OPTS = $(SHELL_CCONV_OPTS)
- !ENDIF
- !ENDIF
- # This is the source code that the shell executable should be compiled
- # with.
- #
- !IFNDEF SHELL_CORE_SRC
- !IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
- SHELL_CORE_SRC =
- # <<mark>>
- !ELSEIF $(USE_AMALGAMATION)==0
- SHELL_CORE_SRC =
- # <</mark>>
- !ELSE
- SHELL_CORE_SRC = $(SQLITE3C)
- !ENDIF
- !ENDIF
- # This is the core library that the shell executable should depend on.
- #
- !IFNDEF SHELL_CORE_DEP
- !IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
- SHELL_CORE_DEP = $(SQLITE3DLL)
- # <<mark>>
- !ELSEIF $(USE_AMALGAMATION)==0
- SHELL_CORE_DEP = libsqlite3.lib
- # <</mark>>
- !ELSE
- SHELL_CORE_DEP =
- !ENDIF
- !ENDIF
- # <<mark>>
- # If zlib support is enabled, add the dependencies for it.
- #
- !IF $(USE_ZLIB)!=0 && $(BUILD_ZLIB)!=0
- SHELL_CORE_DEP = zlib $(SHELL_CORE_DEP)
- TESTFIXTURE_DEP = zlib $(TESTFIXTURE_DEP)
- !ENDIF
- # <</mark>>
- # This is the core library that the shell executable should link with.
- #
- !IFNDEF SHELL_CORE_LIB
- !IF $(DYNAMIC_SHELL)!=0 || $(FOR_WIN10)!=0
- SHELL_CORE_LIB = $(SQLITE3LIB)
- # <<mark>>
- !ELSEIF $(USE_AMALGAMATION)==0
- SHELL_CORE_LIB = libsqlite3.lib
- # <</mark>>
- !ELSE
- SHELL_CORE_LIB =
- !ENDIF
- !ENDIF
- # These are additional linker options used for the shell executable.
- #
- !IFNDEF SHELL_LINK_OPTS
- SHELL_LINK_OPTS = $(SHELL_CORE_LIB)
- !ENDIF
- # Check if assembly code listings should be generated for the source
- # code files to be compiled.
- #
- !IF $(USE_LISTINGS)!=0
- TCC = $(TCC) -FAcs
- !ENDIF
- # When compiling the library for use in the WinRT environment,
- # the following compile-time options must be used as well to
- # disable use of Win32 APIs that are not available and to enable
- # use of Win32 APIs that are specific to Windows 8 and/or WinRT.
- #
- !IF $(FOR_WINRT)!=0
- TCC = $(TCC) -DSQLITE_OS_WINRT=1
- RCC = $(RCC) -DSQLITE_OS_WINRT=1
- TCC = $(TCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP
- RCC = $(RCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP
- !ENDIF
- # C compiler options for the Windows 10 platform (needs MSVC 2015).
- #
- !IF $(FOR_WIN10)!=0
- TCC = $(TCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
- BCC = $(BCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
- !ENDIF
- # Also, we need to dynamically link to the correct MSVC runtime
- # when compiling for WinRT (e.g. debug or release) OR if the
- # USE_CRT_DLL option is set to force dynamically linking to the
- # MSVC runtime library.
- #
- !IF $(FOR_WINRT)!=0 || $(USE_CRT_DLL)!=0
- !IF $(DEBUG)>1
- TCC = $(TCC) -MDd
- BCC = $(BCC) -MDd
- !ELSE
- TCC = $(TCC) -MD
- BCC = $(BCC) -MD
- !ENDIF
- !ELSE
- !IF $(DEBUG)>1
- TCC = $(TCC) -MTd
- BCC = $(BCC) -MTd
- !ELSE
- TCC = $(TCC) -MT
- BCC = $(BCC) -MT
- !ENDIF
- !ENDIF
- # <<mark>>
- # The mksqlite3c.tcl and mksqlite3h.tcl scripts will pull in
- # any extension header files by default. For non-amalgamation
- # builds, we need to make sure the compiler can find these.
- #
- !IF $(USE_AMALGAMATION)==0
- TCC = $(TCC) -I$(TOP)\ext\fts3
- RCC = $(RCC) -I$(TOP)\ext\fts3
- TCC = $(TCC) -I$(TOP)\ext\rtree
- RCC = $(RCC) -I$(TOP)\ext\rtree
- TCC = $(TCC) -I$(TOP)\ext\session
- RCC = $(RCC) -I$(TOP)\ext\session
- !ENDIF
- # The mksqlite3c.tcl script accepts some options on the command
- # line. When compiling with debugging enabled, some of these
- # options are necessary in order to allow debugging symbols to
- # work correctly with Visual Studio when using the amalgamation.
- #
- !IFNDEF MKSQLITE3C_TOOL
- !IF $(MINIMAL_AMALGAMATION)!=0
- MKSQLITE3C_TOOL = $(TOP)\tool\mksqlite3c-noext.tcl
- !ELSE
- MKSQLITE3C_TOOL = $(TOP)\tool\mksqlite3c.tcl
- !ENDIF
- !ENDIF
- !IFNDEF MKSQLITE3C_ARGS
- !IF $(DEBUG)>1 && $(NO_LINEMACROS)==0
- MKSQLITE3C_ARGS = --linemacros=1
- !ELSE
- MKSQLITE3C_ARGS = --linemacros=0
- !ENDIF
- !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0
- MKSQLITE3C_ARGS = $(MKSQLITE3C_ARGS) --useapicall
- !ENDIF
- !ENDIF
- # The mksqlite3h.tcl script accepts some options on the command line.
- # When compiling with stdcall support, some of these options are
- # necessary.
- #
- !IFNDEF MKSQLITE3H_ARGS
- !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0
- MKSQLITE3H_ARGS = --useapicall
- !ELSE
- MKSQLITE3H_ARGS =
- !ENDIF
- !ENDIF
- # <</mark>>
- # Define -DNDEBUG to compile without debugging (i.e., for production usage)
- # Omitting the define will cause extra debugging code to be inserted and
- # includes extra comments when "EXPLAIN stmt" is used.
- #
- !IF $(DEBUG)==0
- TCC = $(TCC) -DNDEBUG
- BCC = $(BCC) -DNDEBUG
- RCC = $(RCC) -DNDEBUG
- !ENDIF
- !IF $(DEBUG)>0 || $(API_ARMOR)!=0 || $(FOR_WIN10)!=0
- TCC = $(TCC) -DSQLITE_ENABLE_API_ARMOR=1
- RCC = $(RCC) -DSQLITE_ENABLE_API_ARMOR=1
- !ENDIF
- !IF $(DEBUG)>2
- TCC = $(TCC) -DSQLITE_DEBUG=1
- RCC = $(RCC) -DSQLITE_DEBUG=1
- !IF $(DYNAMIC_SHELL)==0
- TCC = $(TCC) -DSQLITE_ENABLE_WHERETRACE -DSQLITE_ENABLE_SELECTTRACE
- RCC = $(RCC) -DSQLITE_ENABLE_WHERETRACE -DSQLITE_ENABLE_SELECTTRACE
- !ENDIF
- !ENDIF
- !IF $(DEBUG)>4 || $(OSTRACE)!=0
- TCC = $(TCC) -DSQLITE_FORCE_OS_TRACE=1 -DSQLITE_DEBUG_OS_TRACE=1
- RCC = $(RCC) -DSQLITE_FORCE_OS_TRACE=1 -DSQLITE_DEBUG_OS_TRACE=1
- !ENDIF
- !IF $(DEBUG)>5
- TCC = $(TCC) -DSQLITE_ENABLE_IOTRACE=1
- RCC = $(RCC) -DSQLITE_ENABLE_IOTRACE=1
- !ENDIF
- # Prevent warnings about "insecure" MSVC runtime library functions
- # being used.
- #
- TCC = $(TCC) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS
- BCC = $(BCC) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS
- RCC = $(RCC) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS
- # Prevent warnings about "deprecated" POSIX functions being used.
- #
- TCC = $(TCC) -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS
- BCC = $(BCC) -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS
- RCC = $(RCC) -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS
- # Use the SQLite debugging heap subsystem?
- #
- !IF $(MEMDEBUG)!=0
- TCC = $(TCC) -DSQLITE_MEMDEBUG=1
- RCC = $(RCC) -DSQLITE_MEMDEBUG=1
- # Use native Win32 heap subsystem instead of malloc/free?
- #
- !ELSEIF $(WIN32HEAP)!=0
- TCC = $(TCC) -DSQLITE_WIN32_MALLOC=1
- RCC = $(RCC) -DSQLITE_WIN32_MALLOC=1
- # Validate the heap on every call into the native Win32 heap subsystem?
- #
- !IF $(DEBUG)>3
- TCC = $(TCC) -DSQLITE_WIN32_MALLOC_VALIDATE=1
- RCC = $(RCC) -DSQLITE_WIN32_MALLOC_VALIDATE=1
- !ENDIF
- !ENDIF
- # Address sanitizer if ASAN=1
- #
- !IF $(ASAN)>0
- TCC = $(TCC) /fsanitize=address
- !ENDIF
- # <<mark>>
- # The locations of the Tcl header and library files. Also, the library that
- # non-stubs enabled programs using Tcl must link against. These variables
- # (TCLINCDIR, TCLLIBDIR, and LIBTCL) may be overridden via the environment
- # prior to running nmake in order to match the actual installed location and
- # version on this machine.
- #
- !IF $(STATICALLY_LINK_TCL)!=0
- TCLSUFFIX = s
- !ENDIF
- !IFNDEF TCLSUFFIX
- TCLSUFFIX =
- !ENDIF
- !IFNDEF TCLDIR
- TCLDIR = C:\Tcl
- !ENDIF
- !IFNDEF TCLVERSION
- !IF EXISTS("$(TCLDIR)\lib\tcl90$(TCLSUFFIX).lib")
- TCLVERSION = 90
- !ELSEIF EXISTS("$(TCLDIR)\lib\tcl86$(TCLSUFFIX).lib")
- TCLVERSION = 86
- !ELSEIF EXISTS("$(TCLDIR)\lib\tcl86t.lib")
- TCLSUFFIX = t
- TCLVERSION = 86
- !ELSE
- TCLVERSION = 90
- !ENDIF
- !ENDIF
- !IFNDEF TCLINCDIR
- TCLINCDIR = $(TCLDIR)\include
- !ENDIF
- !IFNDEF TCLLIBDIR
- TCLLIBDIR = $(TCLDIR)\lib
- !ENDIF
- !IFNDEF LIBTCL
- LIBTCL = tcl$(TCLVERSION)$(TCLSUFFIX).lib
- !ENDIF
- !IFNDEF TCLLIBS
- !IF $(STATICALLY_LINK_TCL)!=0
- TCLLIBS = /NODEFAULTLIB:libucrt.lib netapi32.lib user32.lib ucrt.lib
- !ELSE
- TCLLIBS =
- !ENDIF
- !ENDIF
- !IFNDEF LIBTCLSTUB
- !IF EXISTS("$(TCLLIBDIR)\tclstub$(TCLSUFFIX).lib")
- LIBTCLSTUB = tclstub$(TCLSUFFIX).lib
- !ELSE
- LIBTCLSTUB = tclstub$(TCLVERSION)$(TCLSUFFIX).lib
- !ENDIF
- !ENDIF
- !IFNDEF LIBTCLPATH
- LIBTCLPATH = $(TCLDIR)\bin
- !ENDIF
- # The locations of the zlib header and library files. These variables
- # (ZLIBINCDIR, ZLIBLIBDIR, and ZLIBLIB) may be overridden via the environment
- # prior to running nmake in order to match the actual installed (or source
- # code) location on this machine.
- #
- !IFNDEF ZLIBDIR
- ZLIBDIR = $(TOP)\compat\zlib
- !ENDIF
- !IFNDEF ZLIBINCDIR
- ZLIBINCDIR = $(ZLIBDIR)
- !ENDIF
- !IFNDEF ZLIBLIBDIR
- ZLIBLIBDIR = $(ZLIBDIR)
- !ENDIF
- !IFNDEF ZLIBLIB
- !IF $(DYNAMIC_SHELL)!=0
- ZLIBLIB = zdll.lib
- !ELSE
- ZLIBLIB = zlib.lib
- !ENDIF
- !ENDIF
- # The locations of the ICU header and library files. These variables
- # (ICUINCDIR, ICULIBDIR, and LIBICU) may be overridden via the environment
- # prior to running nmake in order to match the actual installed location on
- # this machine.
- #
- !IFNDEF ICUDIR
- ICUDIR = $(TOP)\compat\icu
- !ENDIF
- !IFNDEF ICUINCDIR
- ICUINCDIR = $(ICUDIR)\include
- !ENDIF
- !IFNDEF ICULIBDIR
- ICULIBDIR = $(ICUDIR)\lib
- !ENDIF
- !IFNDEF LIBICU
- LIBICU = icuuc.lib icuin.lib
- !ENDIF
- # This is the command to use for tclsh - normally just "tclsh", but we may
- # know the specific version we want to use. This variable (TCLSH_CMD) may be
- # overridden via the environment prior to running nmake in order to select a
- # specific Tcl shell to use.
- #
- !IFNDEF TCLSH_CMD
- !IF EXISTS("$(TCLDIR)\bin\tclsh$(TCLVERSION).exe")
- TCLSH_CMD = $(TCLDIR)\bin\tclsh$(TCLVERSION).exe
- !ELSEIF EXISTS("$(TCLDIR)\bin\tclsh90.exe")
- TCLSH_CMD = $(TCLDIR)\bin\tclsh90.exe
- !ELSEIF EXISTS("$(TCLDIR)\bin\tclsh86.exe")
- TCLSH_CMD = $(TCLDIR)\bin\tclsh86.exe
- !ELSEIF EXISTS("$(TCLDIR)\bin\tclsh86t.exe")
- TCLSH_CMD = $(TCLDIR)\bin\tclsh86t.exe
- !ELSEIF EXISTS("$(TCLDIR)\bin\tclsh.exe")
- TCLSH_CMD = $(TCLDIR)\bin\tclsh.exe
- !ELSE
- TCLSH_CMD = tclsh
- !ENDIF
- !ENDIF
- # A light-weight TCLSH replacement that can be used for code generation
- # but which is not adequate for testing. This is "jimsh0" by default,
- # with source code in the repository. To force the whole build to use
- # the full, official tclsh, add WITHOUT_JIMSH=1 to the nmake command line.
- #
- !IFDEF WITHOUT_JIMSH
- JIM_TCLSH = $(TCLSH_CMD)
- !ENDIF
- !IFNDEF JIM_TCLSH
- JIM_TCLSH = jimsh0.exe
- !ENDIF
- # <</mark>>
- # Compiler options needed for programs that use the readline() library.
- #
- !IFNDEF READLINE_FLAGS
- READLINE_FLAGS = -DHAVE_READLINE=0
- !ENDIF
- # The library that programs using readline() must link against.
- #
- !IFNDEF LIBREADLINE
- LIBREADLINE =
- !ENDIF
- # Should the database engine be compiled threadsafe
- #
- TCC = $(TCC) -DSQLITE_THREADSAFE=1
- RCC = $(RCC) -DSQLITE_THREADSAFE=1
- # Do threads override each others locks by default (1), or do we test (-1)
- #
- TCC = $(TCC) -DSQLITE_THREAD_OVERRIDE_LOCK=-1
- RCC = $(RCC) -DSQLITE_THREAD_OVERRIDE_LOCK=-1
- # Any target libraries which libsqlite must be linked against
- #
- !IFNDEF TLIBS
- TLIBS =
- !ENDIF
- # Flags controlling use of the in memory btree implementation
- #
- # SQLITE_TEMP_STORE is 0 to force temporary tables to be in a file, 1 to
- # default to file, 2 to default to memory, and 3 to force temporary
- # tables to always be in memory.
- #
- TCC = $(TCC) -DSQLITE_TEMP_STORE=1
- RCC = $(RCC) -DSQLITE_TEMP_STORE=1
- # Enable/disable loadable extensions, and other optional features
- # based on configuration. (-DSQLITE_OMIT*, -DSQLITE_ENABLE*).
- # The same set of OMIT and ENABLE flags should be passed to the
- # LEMON parser generator and the mkkeywordhash tool as well.
- # These are the required SQLite compilation options used when compiling for
- # the Windows platform.
- #
- REQ_FEATURE_FLAGS = $(REQ_FEATURE_FLAGS) -DSQLITE_MAX_TRIGGER_DEPTH=100
- # If we are linking to the RPCRT4 library, enable features that need it.
- #
- !IF $(USE_RPCRT4_LIB)!=0
- REQ_FEATURE_FLAGS = $(REQ_FEATURE_FLAGS) -DSQLITE_WIN32_USE_UUID=1
- !ENDIF
- # Add the required and optional SQLite compilation options into the command
- # lines used to invoke the MSVC code and resource compilers.
- #
- TCC = $(TCC) $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS)
- RCC = $(RCC) $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS)
- # Add in any optional parameters specified on the commane line, e.g.
- # nmake /f Makefile.msc all "OPTS=-DSQLITE_ENABLE_FOO=1 -DSQLITE_OMIT_FOO=1"
- #
- TCC = $(TCC) $(OPTS)
- RCC = $(RCC) $(OPTS)
- # If compiling for debugging, add some defines.
- #
- !IF $(DEBUG)>1
- TCC = $(TCC) -D_DEBUG
- BCC = $(BCC) -D_DEBUG
- RCC = $(RCC) -D_DEBUG
- !ENDIF
- # If optimizations are enabled or disabled (either implicitly or
- # explicitly), add the necessary flags.
- #
- !IF $(DEBUG)>1 || $(OPTIMIZATIONS)==0
- TCC = $(TCC) -Od
- BCC = $(BCC) -Od
- !IF $(USE_RUNTIME_CHECKS)!=0
- TCC = $(TCC) -RTC1
- BCC = $(BCC) -RTC1
- !ENDIF
- !ELSEIF $(OPTIMIZATIONS)>=3
- TCC = $(TCC) -Ox
- BCC = $(BCC) -Ox
- !ELSEIF $(OPTIMIZATIONS)==2
- TCC = $(TCC) -O2
- BCC = $(BCC) -O2
- !ELSEIF $(OPTIMIZATIONS)==1
- TCC = $(TCC) -O1
- BCC = $(BCC) -O1
- !ENDIF
- # If symbols are enabled (or compiling for debugging), enable PDBs.
- #
- !IF $(DEBUG)>1 || $(SYMBOLS)!=0
- TCC = $(TCC) -Zi
- BCC = $(BCC) -Zi
- !ENDIF
- # <<mark>>
- # If zlib support is enabled, add the compiler options for it.
- #
- !IF $(USE_ZLIB)!=0
- TCC = $(TCC) -DSQLITE_HAVE_ZLIB=1
- RCC = $(RCC) -DSQLITE_HAVE_ZLIB=1
- TCC = $(TCC) -I$(ZLIBINCDIR)
- RCC = $(RCC) -I$(ZLIBINCDIR)
- !ENDIF
- # If ICU support is enabled, add the compiler options for it.
- #
- !IF $(USE_ICU)!=0
- TCC = $(TCC) -DSQLITE_ENABLE_ICU=1
- RCC = $(RCC) -DSQLITE_ENABLE_ICU=1
- TCC = $(TCC) -I$(TOP)\ext\icu
- RCC = $(RCC) -I$(TOP)\ext\icu
- TCC = $(TCC) -I$(ICUINCDIR)
- RCC = $(RCC) -I$(ICUINCDIR)
- !ENDIF
- # <</mark>>
- # Command line prefixes for compiling code, compiling resources,
- # linking, etc.
- #
- LTCOMPILE = $(TCC) -Fo$@ -Fd$*.pdb
- LTRCOMPILE = $(RCC) -r
- LTLIB = lib.exe
- LTLINK = $(TCC) -Fe$@
- # If requested, link to the RPCRT4 library.
- #
- !IF $(USE_RPCRT4_LIB)!=0
- LTLIBS = $(LTLIBS) rpcrt4.lib
- !ENDIF
- # If a platform was set, force the linker to target that.
- # Note that the vcvars*.bat family of batch files typically
- # set this for you. Otherwise, the linker will attempt
- # to deduce the binary type based on the object files.
- !IFDEF PLATFORM
- LTLINKOPTS = /NOLOGO /MACHINE:$(PLATFORM)
- LTLIBOPTS = /NOLOGO /MACHINE:$(PLATFORM)
- !ELSEIF "$(VISUALSTUDIOVERSION)"=="12.0" || \
- "$(VISUALSTUDIOVERSION)"=="14.0" || \
- "$(VISUALSTUDIOVERSION)"=="15.0"
- LTLINKOPTS = /NOLOGO /MACHINE:x86
- LTLIBOPTS = /NOLOGO /MACHINE:x86
- !ELSE
- LTLINKOPTS = /NOLOGO
- LTLIBOPTS = /NOLOGO
- !ENDIF
- # When compiling for use in the WinRT environment, the following
- # linker option must be used to mark the executable as runnable
- # only in the context of an application container.
- #
- !IF $(FOR_WINRT)!=0
- LTLINKOPTS = $(LTLINKOPTS) /APPCONTAINER
- !IF "$(VISUALSTUDIOVERSION)"=="12.0" || "$(VISUALSTUDIOVERSION)"=="14.0"
- !IFNDEF STORELIBPATH
- !IF "$(PLATFORM)"=="x86"
- STORELIBPATH = $(CRTLIBPATH)\store
- !ELSEIF "$(PLATFORM)"=="x64"
- STORELIBPATH = $(CRTLIBPATH)\store\amd64
- !ELSEIF "$(PLATFORM)"=="ARM"
- STORELIBPATH = $(CRTLIBPATH)\store\arm
- !ELSE
- STORELIBPATH = $(CRTLIBPATH)\store
- !ENDIF
- !ENDIF
- STORELIBPATH = $(STORELIBPATH:\\=\)
- LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(STORELIBPATH)"
- !ENDIF
- !ENDIF
- # When compiling for Windows Phone 8.1, an extra library path is
- # required.
- #
- !IF $(USE_WP81_OPTS)!=0
- !IFNDEF WP81LIBPATH
- !IF "$(PLATFORM)"=="x86"
- WP81LIBPATH = $(PROGRAMFILES_X86)\Windows Phone Kits\8.1\lib\x86
- !ELSEIF "$(PLATFORM)"=="ARM"
- WP81LIBPATH = $(PROGRAMFILES_X86)\Windows Phone Kits\8.1\lib\ARM
- !ELSE
- WP81LIBPATH = $(PROGRAMFILES_X86)\Windows Phone Kits\8.1\lib\x86
- !ENDIF
- !ENDIF
- !ENDIF
- # When compiling for Windows Phone 8.1, some extra linker options
- # are also required.
- #
- !IF $(USE_WP81_OPTS)!=0
- !IFDEF WP81LIBPATH
- LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(WP81LIBPATH)"
- !ENDIF
- LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE
- LTLINKOPTS = $(LTLINKOPTS) WindowsPhoneCore.lib RuntimeObject.lib PhoneAppModelHost.lib
- LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:ole32.lib
- !ENDIF
- # When compiling for UWP or the Windows 10 platform, some extra linker
- # options are also required.
- #
- !IF $(FOR_UWP)!=0 || $(FOR_WIN10)!=0
- LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE /NODEFAULTLIB:kernel32.lib
- LTLINKOPTS = $(LTLINKOPTS) mincore.lib
- !IFDEF PSDKLIBPATH
- LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(PSDKLIBPATH)"
- !ENDIF
- !ENDIF
- !IF $(FOR_WIN10)!=0
- LTLINKOPTS = $(LTLINKOPTS) /guard:cf "/LIBPATH:$(UCRTLIBPATH)"
- !IF $(DEBUG)>1
- LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:libucrtd.lib /DEFAULTLIB:ucrtd.lib
- !ELSE
- LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib
- !ENDIF
- !ENDIF
- # If either debugging or symbols are enabled, enable PDBs.
- #
- !IF $(DEBUG)>1 || $(SYMBOLS)!=0
- LDFLAGS = /DEBUG $(LDOPTS)
- !ELSE
- LDFLAGS = $(LDOPTS)
- !ENDIF
- # <<mark>>
- # Start with the Tcl related linker options.
- #
- !IF $(NO_TCL)==0
- TCLLIBPATHS = $(TCLLIBPATHS) /LIBPATH:$(TCLLIBDIR)
- TCLLIBS = $(TCLLIBS) $(LIBTCL)
- !ENDIF
- # If zlib support is enabled, add the linker options for it.
- #
- !IF $(USE_ZLIB)!=0
- LTLIBPATHS = $(LTLIBPATHS) /LIBPATH:$(ZLIBLIBDIR)
- LTLIBS = $(LTLIBS) $(ZLIBLIB)
- !ENDIF
- # If ICU support is enabled, add the linker options for it.
- #
- !IF $(USE_ICU)!=0
- LTLIBPATHS = $(LTLIBPATHS) /LIBPATH:$(ICULIBDIR)
- LTLIBS = $(LTLIBS) $(LIBICU)
- !ENDIF
- # <</mark>>
- # You should not have to change anything below this line
- ###############################################################################
- # <<mark>>
- # Object files for the SQLite library (non-amalgamation).
- #
- LIBOBJS0 = vdbe.lo parse.lo alter.lo analyze.lo attach.lo auth.lo \
- backup.lo bitvec.lo btmutex.lo btree.lo build.lo \
- callback.lo complete.lo ctime.lo \
- date.lo dbpage.lo dbstat.lo delete.lo \
- expr.lo fault.lo fkey.lo \
- fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo \
- fts3_porter.lo fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo \
- fts3_tokenize_vtab.lo fts3_unicode.lo fts3_unicode2.lo fts3_write.lo \
- fts5.lo \
- func.lo global.lo hash.lo \
- icu.lo insert.lo json.lo legacy.lo loadext.lo \
- main.lo malloc.lo mem0.lo mem1.lo mem2.lo mem3.lo mem5.lo \
- memdb.lo memjournal.lo \
- mutex.lo mutex_noop.lo mutex_unix.lo mutex_w32.lo \
- notify.lo opcodes.lo os.lo os_kv.lo os_unix.lo os_win.lo \
- pager.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \
- random.lo resolve.lo rowset.lo rtree.lo \
- sqlite3session.lo select.lo sqlite3rbu.lo status.lo stmt.lo \
- table.lo threads.lo tokenize.lo treeview.lo trigger.lo \
- update.lo upsert.lo util.lo vacuum.lo \
- vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
- vdbetrace.lo vdbevtab.lo wal.lo walker.lo where.lo wherecode.lo \
- whereexpr.lo \
- window.lo utf.lo vtab.lo
- # <</mark>>
- # Object files for the amalgamation.
- #
- LIBOBJS1 = sqlite3.lo
- # Determine the real value of LIBOBJ based on the 'configure' script
- #
- # <<mark>>
- !IF $(USE_AMALGAMATION)==0
- LIBOBJ = $(LIBOBJS0)
- !ELSE
- # <</mark>>
- LIBOBJ = $(LIBOBJS1)
- # <<mark>>
- !ENDIF
- # <</mark>>
- # Determine if embedded resource compilation and usage are enabled.
- #
- !IF $(USE_RC)!=0
- LIBRESOBJS = sqlite3res.lo
- !ELSE
- LIBRESOBJS =
- !ENDIF
- # <<mark>>
- # Core source code files, part 1.
- #
- SRC00 = \
- $(TOP)\src\alter.c \
- $(TOP)\src\analyze.c \
- $(TOP)\src\attach.c \
- $(TOP)\src\auth.c \
- $(TOP)\src\backup.c \
- $(TOP)\src\bitvec.c \
- $(TOP)\src\btmutex.c \
- $(TOP)\src\btree.c \
- $(TOP)\src\build.c \
- $(TOP)\src\callback.c \
- $(TOP)\src\complete.c \
- $(TOP)\src\ctime.c \
- $(TOP)\src\date.c \
- $(TOP)\src\dbpage.c \
- $(TOP)\src\dbstat.c \
- $(TOP)\src\delete.c \
- $(TOP)\src\expr.c \
- $(TOP)\src\fault.c \
- $(TOP)\src\fkey.c \
- $(TOP)\src\func.c \
- $(TOP)\src\global.c \
- $(TOP)\src\hash.c \
- $(TOP)\src\insert.c \
- $(TOP)\src\json.c \
- $(TOP)\src\legacy.c \
- $(TOP)\src\loadext.c \
- $(TOP)\src\main.c \
- $(TOP)\src\malloc.c \
- $(TOP)\src\mem0.c \
- $(TOP)\src\mem1.c \
- $(TOP)\src\mem2.c \
- $(TOP)\src\mem3.c \
- $(TOP)\src\mem5.c \
- $(TOP)\src\memdb.c \
- $(TOP)\src\memjournal.c \
- $(TOP)\src\mutex.c \
- $(TOP)\src\mutex_noop.c \
- $(TOP)\src\mutex_unix.c \
- $(TOP)\src\mutex_w32.c \
- $(TOP)\src\notify.c \
- $(TOP)\src\os.c \
- $(TOP)\src\os_kv.c \
- $(TOP)\src\os_unix.c \
- $(TOP)\src\os_win.c
- # Core source code files, part 2.
- #
- SRC01 = \
- $(TOP)\src\pager.c \
- $(TOP)\src\pcache.c \
- $(TOP)\src\pcache1.c \
- $(TOP)\src\pragma.c \
- $(TOP)\src\prepare.c \
- $(TOP)\src\printf.c \
- $(TOP)\src\random.c \
- $(TOP)\src\resolve.c \
- $(TOP)\src\rowset.c \
- $(TOP)\src\select.c \
- $(TOP)\src\status.c \
- $(TOP)\src\table.c \
- $(TOP)\src\threads.c \
- $(TOP)\src\tclsqlite.c \
- $(TOP)\src\tokenize.c \
- $(TOP)\src\treeview.c \
- $(TOP)\src\trigger.c \
- $(TOP)\src\utf.c \
- $(TOP)\src\update.c \
- $(TOP)\src\upsert.c \
- $(TOP)\src\util.c \
- $(TOP)\src\vacuum.c \
- $(TOP)\src\vdbe.c \
- $(TOP)\src\vdbeapi.c \
- $(TOP)\src\vdbeaux.c \
- $(TOP)\src\vdbeblob.c \
- $(TOP)\src\vdbemem.c \
- $(TOP)\src\vdbesort.c \
- $(TOP)\src\vdbetrace.c \
- $(TOP)\src\vdbevtab.c \
- $(TOP)\src\vtab.c \
- $(TOP)\src\wal.c \
- $(TOP)\src\walker.c \
- $(TOP)\src\where.c \
- $(TOP)\src\wherecode.c \
- $(TOP)\src\whereexpr.c \
- $(TOP)\src\window.c
- # Core miscellaneous files.
- #
- SRC03 = \
- $(TOP)\src\parse.y
- # Core header files, part 1.
- #
- SRC04 = \
- $(TOP)\src\btree.h \
- $(TOP)\src\btreeInt.h \
- $(TOP)\src\hash.h \
- $(TOP)\src\hwtime.h \
- $(TOP)\src\msvc.h \
- $(TOP)\src\mutex.h \
- $(TOP)\src\os.h \
- $(TOP)\src\os_common.h \
- $(TOP)\src\os_setup.h \
- $(TOP)\src\os_win.h
- # Core header files, part 2.
- #
- SRC05 = \
- $(TOP)\src\pager.h \
- $(TOP)\src\pcache.h \
- $(TOP)\src\pragma.h \
- $(TOP)\src\sqlite.h.in \
- $(TOP)\src\sqlite3ext.h \
- $(TOP)\src\sqliteInt.h \
- $(TOP)\src\sqliteLimit.h \
- $(TOP)\src\vdbe.h \
- $(TOP)\src\vdbeInt.h \
- $(TOP)\src\vxworks.h \
- $(TOP)\src\wal.h \
- $(TOP)\src\whereInt.h
- # Extension source code files, part 2.
- #
- SRC07 = \
- $(TOP)\ext\fts3\fts3.c \
- $(TOP)\ext\fts3\fts3_aux.c \
- $(TOP)\ext\fts3\fts3_expr.c \
- $(TOP)\ext\fts3\fts3_hash.c \
- $(TOP)\ext\fts3\fts3_icu.c \
- $(TOP)\ext\fts3\fts3_porter.c \
- $(TOP)\ext\fts3\fts3_snippet.c \
- $(TOP)\ext\fts3\fts3_tokenizer.c \
- $(TOP)\ext\fts3\fts3_tokenizer1.c \
- $(TOP)\ext\fts3\fts3_tokenize_vtab.c \
- $(TOP)\ext\fts3\fts3_unicode.c \
- $(TOP)\ext\fts3\fts3_unicode2.c \
- $(TOP)\ext\fts3\fts3_write.c \
- $(TOP)\ext\icu\icu.c \
- $(TOP)\ext\rtree\rtree.c \
- $(TOP)\ext\session\sqlite3session.c \
- $(TOP)\ext\rbu\sqlite3rbu.c \
- $(TOP)\ext\misc\stmt.c
- # Extension header files, part 2.
- #
- SRC09 = \
- $(TOP)\ext\fts3\fts3.h \
- $(TOP)\ext\fts3\fts3Int.h \
- $(TOP)\ext\fts3\fts3_hash.h \
- $(TOP)\ext\fts3\fts3_tokenizer.h \
- $(TOP)\ext\icu\sqliteicu.h \
- $(TOP)\ext\rtree\rtree.h \
- $(TOP)\ext\rtree\geopoly.c \
- $(TOP)\ext\rbu\sqlite3rbu.h \
- $(TOP)\ext\session\sqlite3session.h
- # Generated source code files
- #
- SRC10 = \
- opcodes.c \
- parse.c
- # Generated header files
- #
- SRC11 = \
- keywordhash.h \
- opcodes.h \
- parse.h \
- shell.c \
- $(SQLITE3H)
- # Generated Tcl header files
- #
- !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0
- SRC12 = \
- $(SQLITETCLH) \
- $(SQLITETCLDECLSH)
- !ELSE
- SRC12 =
- !ENDIF
- # All source code files.
- #
- SRC = $(SRC00) $(SRC01) $(SRC03) $(SRC04) $(SRC05) $(SRC07) $(SRC09) $(SRC10) $(SRC11) $(SRC12)
- # Source code to the test files.
- #
- TESTSRC = \
- $(TOP)\src\test1.c \
- $(TOP)\src\test2.c \
- $(TOP)\src\test3.c \
- $(TOP)\src\test4.c \
- $(TOP)\src\test5.c \
- $(TOP)\src\test6.c \
- $(TOP)\src\test8.c \
- $(TOP)\src\test9.c \
- $(TOP)\src\test_autoext.c \
- $(TOP)\src\test_backup.c \
- $(TOP)\src\test_bestindex.c \
- $(TOP)\src\test_blob.c \
- $(TOP)\src\test_btree.c \
- $(TOP)\src\test_config.c \
- $(TOP)\src\test_delete.c \
- $(TOP)\src\test_demovfs.c \
- $(TOP)\src\test_devsym.c \
- $(TOP)\src\test_fs.c \
- $(TOP)\src\test_func.c \
- $(TOP)\src\test_hexio.c \
- $(TOP)\src\test_init.c \
- $(TOP)\src\test_intarray.c \
- $(TOP)\src\test_journal.c \
- $(TOP)\src\test_malloc.c \
- $(TOP)\src\test_md5.c \
- $(TOP)\src\test_multiplex.c \
- $(TOP)\src\test_mutex.c \
- $(TOP)\src\test_onefile.c \
- $(TOP)\src\test_osinst.c \
- $(TOP)\src\test_pcache.c \
- $(TOP)\src\test_quota.c \
- $(TOP)\src\test_rtree.c \
- $(TOP)\src\test_schema.c \
- $(TOP)\src\test_superlock.c \
- $(TOP)\src\test_syscall.c \
- $(TOP)\src\test_tclsh.c \
- $(TOP)\src\test_tclvar.c \
- $(TOP)\src\test_thread.c \
- $(TOP)\src\test_vdbecov.c \
- $(TOP)\src\test_vfs.c \
- $(TOP)\src\test_windirent.c \
- $(TOP)\src\test_window.c \
- $(TOP)\src\test_wsd.c \
- $(TOP)\ext\fts3\fts3_term.c \
- $(TOP)\ext\fts3\fts3_test.c \
- $(TOP)\ext\rbu\test_rbu.c \
- $(TOP)\ext\session\test_session.c
- # Statically linked extensions.
- #
- TESTEXT = \
- $(TOP)\ext\expert\sqlite3expert.c \
- $(TOP)\ext\expert\test_expert.c \
- $(TOP)\ext\misc\amatch.c \
- $(TOP)\ext\misc\appendvfs.c \
- $(TOP)\ext\misc\basexx.c \
- $(TOP)\ext\misc\carray.c \
- $(TOP)\ext\misc\cksumvfs.c \
- $(TOP)\ext\misc\closure.c \
- $(TOP)\ext\misc\csv.c \
- $(TOP)\ext\misc\decimal.c \
- $(TOP)\ext\misc\eval.c \
- $(TOP)\ext\misc\explain.c \
- $(TOP)\ext\misc\fileio.c \
- $(TOP)\ext\misc\fuzzer.c \
- $(TOP)\ext\fts5\fts5_tcl.c \
- $(TOP)\ext\fts5\fts5_test_mi.c \
- $(TOP)\ext\fts5\fts5_test_tok.c \
- $(TOP)\ext\misc\ieee754.c \
- $(TOP)\ext\misc\mmapwarm.c \
- $(TOP)\ext\misc\nextchar.c \
- $(TOP)\ext\misc\normalize.c \
- $(TOP)\ext\misc\percentile.c \
- $(TOP)\ext\misc\prefixes.c \
- $(TOP)\ext\misc\qpvtab.c \
- $(TOP)\ext\misc\randomjson.c \
- $(TOP)\ext\misc\regexp.c \
- $(TOP)\ext\misc\remember.c \
- $(TOP)\ext\misc\series.c \
- $(TOP)\ext\misc\spellfix.c \
- $(TOP)\ext\misc\stmtrand.c \
- $(TOP)\ext\misc\totype.c \
- $(TOP)\ext\misc\unionvtab.c \
- $(TOP)\ext\misc\wholenumber.c \
- $(TOP)\ext\rtree\test_rtreedoc.c \
- $(TOP)\ext\recover\sqlite3recover.c \
- $(TOP)\ext\recover\test_recover.c \
- $(TOP)\ext\intck\test_intck.c \
- $(TOP)\ext\intck\sqlite3intck.c \
- $(TOP)\ext\recover\dbdata.c
- # If use of zlib is enabled, add the "zipfile.c" source file.
- #
- !IF $(USE_ZLIB)!=0
- TESTEXT = $(TESTEXT) $(TOP)\ext\misc\zipfile.c
- !ENDIF
- # Source code to the library files needed by the test fixture
- # (non-amalgamation)
- #
- TESTSRC2 = \
- $(SRC00) \
- $(SRC01) \
- $(SRC07) \
- $(SRC10) \
- fts5.c
- # Header files used by all library source files.
- #
- HDR = \
- $(TOP)\src\btree.h \
- $(TOP)\src\btreeInt.h \
- $(TOP)\src\hash.h \
- $(TOP)\src\hwtime.h \
- keywordhash.h \
- $(TOP)\src\msvc.h \
- $(TOP)\src\mutex.h \
- opcodes.h \
- $(TOP)\src\os.h \
- $(TOP)\src\os_common.h \
- $(TOP)\src\os_setup.h \
- $(TOP)\src\os_win.h \
- $(TOP)\src\pager.h \
- $(TOP)\src\pcache.h \
- parse.h \
- $(TOP)\src\pragma.h \
- $(SQLITE3H) \
- sqlite3ext.h \
- $(TOP)\src\sqliteInt.h \
- $(TOP)\src\sqliteLimit.h \
- $(TOP)\src\vdbe.h \
- $(TOP)\src\vdbeInt.h \
- $(TOP)\src\vxworks.h \
- $(TOP)\src\whereInt.h
- # Header files used by extensions
- #
- EXTHDR = $(EXTHDR) \
- $(TOP)\ext\fts3\fts3.h \
- $(TOP)\ext\fts3\fts3Int.h \
- $(TOP)\ext\fts3\fts3_hash.h \
- $(TOP)\ext\fts3\fts3_tokenizer.h
- EXTHDR = $(EXTHDR) \
- $(TOP)\ext\rtree\rtree.h \
- $(TOP)\ext\rtree\geopoly.c
- EXTHDR = $(EXTHDR) \
- $(TOP)\ext\icu\sqliteicu.h
- EXTHDR = $(EXTHDR) \
- $(TOP)\ext\rtree\sqlite3rtree.h
- EXTHDR = $(EXTHDR) \
- $(TOP)\ext\session\sqlite3session.h
- # executables needed for testing
- #
- TESTPROGS = \
- testfixture.exe \
- $(SQLITE3EXE) \
- sqlite3_analyzer.exe \
- sqlite3_checker.exe \
- sqldiff.exe \
- dbhash.exe \
- sqltclsh.exe
- # Databases containing fuzzer test cases
- #
- FUZZDATA = \
- $(TOP)\test\fuzzdata1.db \
- $(TOP)\test\fuzzdata2.db \
- $(TOP)\test\fuzzdata3.db \
- $(TOP)\test\fuzzdata4.db \
- $(TOP)\test\fuzzdata5.db \
- $(TOP)\test\fuzzdata6.db \
- $(TOP)\test\fuzzdata7.db \
- $(TOP)\test\fuzzdata8.db
- # <</mark>>
- # Additional compiler options for the shell. These are only effective
- # when the shell is not being dynamically linked.
- #
- !IF $(DYNAMIC_SHELL)==0 && $(FOR_WIN10)==0
- SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_DQS=0
- SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_FTS4=1
- SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1
- SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_OFFSET_SQL_FUNC=1
- SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION=1
- SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_STMT_SCANSTATUS=1
- SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_STRICT_SUBTYPE=1
- !ENDIF
- # <<mark>>
- # Extra compiler options for various test tools.
- #
- MPTESTER_COMPILE_OPTS = -DSQLITE_ENABLE_FTS5
- FUZZERSHELL_COMPILE_OPTS =
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -I$(TOP)\test -I$(TOP)\ext\recover
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_MEMSYS5
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_OSS_FUZZ
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_BYTECODE_VTAB
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DBPAGE_VTAB
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DBSTAT_VTAB
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_BYTECODE_VTAB
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DESERIALIZE
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS3_PARENTHESIS
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS4
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS5
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_GEOPOLY
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_MATH_FUNCTIONS
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_MEMSYS5
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_NORMALIZE
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_OFFSET_SQL_FUNC
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_PREUPDATE_HOOK
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_RTREE
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_SESSION
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_STMTVTAB
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_STAT4
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_STMT_SCANSTATUS
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_MAX_MEMORY=50000000
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_MAX_MMAP_SIZE=0
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_OMIT_LOAD_EXTENSION
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_PRINTF_PRECISION_LIMIT=1000
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_PRIVATE=""
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_STRICT_SUBTYPE=1
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_STATIC_RANDOMJSON
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_MAX_MEMORY=50000000
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_PRINTF_PRECISION_LIMIT=1000
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_OMIT_LOAD_EXTENSION
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS4
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS5
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_RTREE
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_GEOPOLY
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DBSTAT_VTAB
- FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_BYTECODE_VTAB
- FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\test\fuzzcheck.c
- FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\test\ossfuzz.c
- FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\test\fuzzinvariants.c
- FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\test\vt02.c
- FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\recover\dbdata.c
- FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\recover\sqlite3recover.c
- FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\percentile.c
- FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\randomjson.c
- OSSSHELL_SRC = $(TOP)\test\ossshell.c $(TOP)\test\ossfuzz.c
- DBFUZZ_COMPILE_OPTS = -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
- KV_COMPILE_OPTS = -DSQLITE_THREADSAFE=0 -DSQLITE_DIRECT_OVERFLOW_READ
- ST_COMPILE_OPTS = -DSQLITE_THREADSAFE=0
- # Standard options to testfixture.
- #
- TESTOPTS = --verbose=file --output=test-out.txt
- # Extra targets for the "all" target that require Tcl.
- #
- !IF $(NO_TCL)==0
- ALL_TCL_TARGETS = $(SQLITE3TCLDLL)
- !ELSE
- ALL_TCL_TARGETS =
- !ENDIF
- # <</mark>>
- # This is the default Makefile target. The objects listed here
- # are what get build when you type just "make" with no arguments.
- #
- core: dll libsqlite3.lib shell
- # Targets that require the Tcl library.
- #
- tcl: $(ALL_TCL_TARGETS)
- # This Makefile target builds all of the standard binaries.
- #
- all: core tcl
- # Dynamic link library section.
- #
- dll: $(SQLITE3DLL)
- # Shell executable.
- #
- shell: $(SQLITE3EXE)
- # jimsh0 - replacement for tclsh
- #
- jimsh0.exe: $(TOP)\autosetup\jimsh0.c
- cl -DHAVE__FULLPATH=1 $(TOP)\autosetup\jimsh0.c
- # <<mark>>
- libsqlite3.lib: $(LIBOBJ)
- $(LTLIB) $(LTLIBOPTS) /OUT:$@ $(LIBOBJ) $(TLIBS)
- libtclsqlite3.lib: tclsqlite.lo libsqlite3.lib
- $(LTLIB) $(LTLIBOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo libsqlite3.lib $(LIBTCLSTUB) $(TLIBS)
- tclsqlite3.def: tclsqlite.lo
- echo EXPORTS > tclsqlite3.def
- dumpbin /all tclsqlite.lo \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl include "^\s+/EXPORT:_?((?:Sqlite3|Tclsqlite3)_[^@]*)(?:@\d+)?$$" \1 \
- | sort >> tclsqlite3.def
- pkgIndex.tcl: $(TOP)\VERSION
- for /F %%V in ('type "$(TOP)\VERSION"') do ( \
- echo package ifneeded sqlite3 @version@ [list load [file join $$dir $(SQLITE3TCLDLL)] Sqlite3] \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact @version@ %%V > pkgIndex.tcl \
- )
- $(SQLITE3TCLDLL): libtclsqlite3.lib $(LIBRESOBJS) tclsqlite3.def pkgIndex.tcl
- $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /DEF:tclsqlite3.def /OUT:$@ libtclsqlite3.lib $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
- tclextension: $(SQLITE3TCLDLL)
- tclextension-install: $(SQLITE3TCLDLL)
- $(TCLSH_CMD) $(TOP)\tool\buildtclext.tcl --install-only
- tclextension-uninstall:
- $(TCLSH_CMD) $(TOP)\tool\buildtclext.tcl --uninstall
- tclextension-list:
- $(TCLSH_CMD) $(TOP)\tool\buildtclext.tcl --info
- # <</mark>>
- $(SQLITE3DLL): $(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP)
- $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL $(CORE_LINK_OPTS) /OUT:$@ $(LIBOBJ) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
- # <<block2>>
- sqlite3.def: libsqlite3.lib $(JIM_TCLSH)
- echo EXPORTS > sqlite3.def
- dumpbin /all libsqlite3.lib \
- | $(JIM_TCLSH) $(TOP)\tool\replace.tcl include "^\s+1 _?(sqlite3(?:session|changeset|changegroup|rebaser|rbu)?_[^@]*)(?:@\d+)?$$" \1 \
- | sort >> sqlite3.def
- # <</block2>>
- $(SQLITE3EXE): shell.c $(SHELL_CORE_DEP) $(LIBRESOBJS) $(SHELL_CORE_SRC) $(SQLITE3H)
- $(LTLINK) $(SHELL_COMPILE_OPTS) $(READLINE_FLAGS) shell.c $(SHELL_CORE_SRC) \
- /link $(SQLITE3EXEPDB) $(LDFLAGS) $(LTLINKOPTS) $(SHELL_LINK_OPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS)
- # <<mark>>
- sqldiff.exe: $(TOP)\tool\sqldiff.c $(TOP)\ext\misc\sqlite3_stdio.h $(TOP)\ext\misc\sqlite3_stdio.c $(SQLITE3C) $(SQLITE3H) $(LIBRESOBJS)
- $(LTLINK) $(NO_WARN) -I$(TOP)\ext\misc $(TOP)\tool\sqldiff.c $(TOP)\ext\misc\sqlite3_stdio.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) $(LIBRESOBJS)
- dbhash.exe: $(TOP)\tool\dbhash.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) $(TOP)\tool\dbhash.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- RSYNC_SRC = \
- $(TOP)\tool\sqlite3_rsync.c \
- $(SQLITE3C)
- RSYNC_OPT = \
- -DSQLITE_ENABLE_DBPAGE_VTAB \
- -DSQLITE_THREADSAFE=0 \
- -DSQLITE_OMIT_LOAD_EXTENSION \
- -DSQLITE_OMIT_DEPRECATED
- sqlite3_rsync.exe: $(RSYNC_SRC) $(LIBRESOBJS)
- $(LTLINK) $(RSYNC_OPT) $(NO_WARN) $(RSYNC_SRC) /link $(LDFLAGS) $(LTLINKOPTS) $(LIBRESOBJS)
- scrub.exe: $(TOP)\ext\misc\scrub.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSCRUB_STANDALONE=1 $(TOP)\ext\misc\scrub.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- srcck1.exe: $(TOP)\tool\srcck1.c
- $(BCC) $(NO_WARN) -Fe$@ $(TOP)\tool\srcck1.c
- sourcetest: srcck1.exe $(SQLITE3C)
- srcck1.exe $(SQLITE3C)
- src-verify.exe: $(TOP)\tool\src-verify.c
- $(LTLINK) $(NO_WARN) $(TOP)\tool\src-verify.c
- verify-source: src-verify.exe
- src-verify.exe $(TOP)
- fuzzershell.exe: $(TOP)\tool\fuzzershell.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) $(FUZZERSHELL_COMPILE_OPTS) $(TOP)\tool\fuzzershell.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- dbfuzz.exe: $(TOP)\test\dbfuzz.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) $(DBFUZZ_COMPILE_OPTS) $(TOP)\test\dbfuzz.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- fuzzcheck.exe: $(FUZZCHECK_SRC) $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) /F 8388608 $(NO_WARN) $(FUZZCHECK_OPTS) $(FUZZCHECK_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- fuzzcheck-asan.exe: $(FUZZCHECK_SRC) $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) /fsanitize=address $(FUZZCHECK_OPTS) $(FUZZCHECK_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- run-fuzzcheck: fuzzcheck.exe fuzzcheck-asan.exe
- fuzzcheck --spinner $(FUZZDB)
- fuzzcheck-asan --spinner $(FUZZDB)
- ossshell.exe: $(OSSSHELL_SRC) $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) $(FUZZCHECK_OPTS) $(OSSSHELL_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- sessionfuzz.exe: zlib $(TOP)\test\sessionfuzz.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -I$(ZLIBINCDIR) $(TOP)\test\sessionfuzz.c /link $(LDFLAGS) $(LTLINKOPTS) /LIBPATH:$(ZLIBLIBDIR) $(ZLIBLIB)
- mptester.exe: $(TOP)\mptest\mptest.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) $(MPTESTER_COMPILE_OPTS) $(TOP)\mptest\mptest.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- MPTEST1 = mptester mptest.db $(TOP)\mptest\crash01.test --repeat 20
- MPTEST2 = mptester mptest.db $(TOP)\mptest\multiwrite01.test --repeat 20
- mptest: mptester.exe
- del /Q mptest.db 2>NUL
- $(MPTEST1) --journalmode DELETE
- $(MPTEST2) --journalmode WAL
- $(MPTEST1) --journalmode WAL
- $(MPTEST2) --journalmode PERSIST
- $(MPTEST1) --journalmode PERSIST
- $(MPTEST2) --journalmode TRUNCATE
- $(MPTEST1) --journalmode TRUNCATE
- $(MPTEST2) --journalmode DELETE
- # This target creates a directory named "tsrc" and fills it with
- # copies of all of the C source code and header files needed to
- # build on the target system. Some of the C source code and header
- # files are automatically generated. This target takes care of
- # all that automatic generation.
- #
- .target_source: $(SRC) $(TOP)\tool\vdbe-compress.tcl fts5.c $(SQLITE_TCL_DEP) $(JIM_TCLSH)
- -rmdir /Q/S tsrc 2>NUL
- -mkdir tsrc
- $(JIM_TCLSH) $(TOP)\tool\cp.tcl $(SRC00) $(SRC01) $(SRC03) $(SRC04) $(SRC05) $(SRC07) $(SRC09) $(SRC10) $(SRC11) $(SRC12) fts5.c fts5.h tsrc
- copy /B tsrc\fts5.c +,,
- copy /B tsrc\fts5.h +,,
- del /Q tsrc\sqlite.h.in tsrc\parse.y 2>NUL
- $(JIM_TCLSH) $(TOP)\tool\vdbe-compress.tcl $(OPTS) < tsrc\vdbe.c > vdbe.new
- move vdbe.new tsrc\vdbe.c
- echo > .target_source
- sqlite3.c: .target_source sqlite3ext.h sqlite3session.h $(MKSQLITE3C_TOOL) src-verify.exe $(JIM_TCLSH)
- $(JIM_TCLSH) $(MKSQLITE3C_TOOL) $(MKSQLITE3C_ARGS) $(EXTRA_SRC)
- sqlite3-all.c: sqlite3.c $(TOP)\tool\split-sqlite3c.tcl $(JIM_TCLSH)
- $(JIM_TCLSH) $(TOP)\tool\split-sqlite3c.tcl
- # <</mark>>
- # Rule to build the amalgamation
- #
- sqlite3.lo: $(SQLITE3C)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(SQLITE3C)
- # <<mark>>
- # Rules to build the LEMON compiler generator
- #
- lempar.c: $(TOP)\tool\lempar.c
- copy /Y $(TOP)\tool\lempar.c .
- copy /B lempar.c +,,
- lemon.exe: $(TOP)\tool\lemon.c lempar.c
- $(BCC) $(NO_WARN) -Daccess=_access \
- -Fe$@ $(TOP)\tool\lemon.c /link $(LDFLAGS) $(NLTLINKOPTS) $(NLTLIBPATHS)
- # <<mark>>
- # Rules to build the source-id generator tool
- #
- mksourceid.exe: $(TOP)\tool\mksourceid.c
- $(BCC) $(NO_WARN) -Fe$@ $(TOP)\tool\mksourceid.c /link $(LDFLAGS) $(NLTLINKOPTS) $(NLTLIBPATHS)
- # Rules to build individual *.lo files from generated *.c files. This
- # applies to:
- #
- # parse.lo
- # opcodes.lo
- #
- parse.lo: parse.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c parse.c
- opcodes.lo: opcodes.c
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c opcodes.c
- # <</mark>>
- # Rule to build the Win32 resources object file.
- #
- !IF $(USE_RC)!=0
- # <<block1>>
- $(LIBRESOBJS): $(TOP)\src\sqlite3.rc $(SQLITE3H) $(TOP)\VERSION $(JIM_TCLSH)
- echo #ifndef SQLITE_RESOURCE_VERSION > sqlite3rc.h
- for /F %%V in ('type "$(TOP)\VERSION"') do ( \
- echo #define SQLITE_RESOURCE_VERSION %%V \
- | $(JIM_TCLSH) $(TOP)\tool\replace.tcl exact . ^, >> sqlite3rc.h \
- )
- echo #endif >> sqlite3rc.h
- $(LTRCOMPILE) -fo $(LIBRESOBJS) $(TOP)\src\sqlite3.rc
- # <</block1>>
- !ENDIF
- # <<mark>>
- # Rules to build individual *.lo files from files in the src directory.
- #
- alter.lo: $(TOP)\src\alter.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\alter.c
- analyze.lo: $(TOP)\src\analyze.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\analyze.c
- attach.lo: $(TOP)\src\attach.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\attach.c
- auth.lo: $(TOP)\src\auth.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\auth.c
- backup.lo: $(TOP)\src\backup.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\backup.c
- bitvec.lo: $(TOP)\src\bitvec.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\bitvec.c
- btmutex.lo: $(TOP)\src\btmutex.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\btmutex.c
- btree.lo: $(TOP)\src\btree.c $(HDR) $(TOP)\src\pager.h
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\btree.c
- build.lo: $(TOP)\src\build.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\build.c
- callback.lo: $(TOP)\src\callback.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\callback.c
- complete.lo: $(TOP)\src\complete.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\complete.c
- ctime.lo: $(TOP)\src\ctime.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\ctime.c
- date.lo: $(TOP)\src\date.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\date.c
- dbpage.lo: $(TOP)\src\dbpage.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\dbpage.c
- dbstat.lo: $(TOP)\src\dbstat.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\dbstat.c
- delete.lo: $(TOP)\src\delete.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\delete.c
- expr.lo: $(TOP)\src\expr.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\expr.c
- fault.lo: $(TOP)\src\fault.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\fault.c
- fkey.lo: $(TOP)\src\fkey.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\fkey.c
- func.lo: $(TOP)\src\func.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\func.c
- global.lo: $(TOP)\src\global.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\global.c
- hash.lo: $(TOP)\src\hash.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\hash.c
- insert.lo: $(TOP)\src\insert.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\insert.c
- json.lo: $(TOP)\src\json.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\json.c
- legacy.lo: $(TOP)\src\legacy.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\legacy.c
- loadext.lo: $(TOP)\src\loadext.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\loadext.c
- main.lo: $(TOP)\src\main.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\main.c
- malloc.lo: $(TOP)\src\malloc.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\malloc.c
- mem0.lo: $(TOP)\src\mem0.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mem0.c
- mem1.lo: $(TOP)\src\mem1.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mem1.c
- mem2.lo: $(TOP)\src\mem2.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mem2.c
- mem3.lo: $(TOP)\src\mem3.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mem3.c
- mem5.lo: $(TOP)\src\mem5.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mem5.c
- memdb.lo: $(TOP)\src\memdb.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\memdb.c
- memjournal.lo: $(TOP)\src\memjournal.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\memjournal.c
- mutex.lo: $(TOP)\src\mutex.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mutex.c
- mutex_noop.lo: $(TOP)\src\mutex_noop.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mutex_noop.c
- mutex_unix.lo: $(TOP)\src\mutex_unix.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mutex_unix.c
- mutex_w32.lo: $(TOP)\src\mutex_w32.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\mutex_w32.c
- notify.lo: $(TOP)\src\notify.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\notify.c
- pager.lo: $(TOP)\src\pager.c $(HDR) $(TOP)\src\pager.h
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\pager.c
- pcache.lo: $(TOP)\src\pcache.c $(HDR) $(TOP)\src\pcache.h
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\pcache.c
- pcache1.lo: $(TOP)\src\pcache1.c $(HDR) $(TOP)\src\pcache.h
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\pcache1.c
- os.lo: $(TOP)\src\os.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\os.c
- os_kv.lo: $(TOP)\src\os_kv.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\os_kv.c
- os_unix.lo: $(TOP)\src\os_unix.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\os_unix.c
- os_win.lo: $(TOP)\src\os_win.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\os_win.c
- pragma.lo: $(TOP)\src\pragma.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\pragma.c
- prepare.lo: $(TOP)\src\prepare.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\prepare.c
- printf.lo: $(TOP)\src\printf.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\printf.c
- random.lo: $(TOP)\src\random.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\random.c
- resolve.lo: $(TOP)\src\resolve.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\resolve.c
- rowset.lo: $(TOP)\src\rowset.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\rowset.c
- select.lo: $(TOP)\src\select.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\select.c
- status.lo: $(TOP)\src\status.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\status.c
- table.lo: $(TOP)\src\table.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\table.c
- threads.lo: $(TOP)\src\threads.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\threads.c
- tokenize.lo: $(TOP)\src\tokenize.c keywordhash.h $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\tokenize.c
- treeview.lo: $(TOP)\src\treeview.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\treeview.c
- trigger.lo: $(TOP)\src\trigger.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\trigger.c
- update.lo: $(TOP)\src\update.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\update.c
- upsert.lo: $(TOP)\src\upsert.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\upsert.c
- utf.lo: $(TOP)\src\utf.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\utf.c
- util.lo: $(TOP)\src\util.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\util.c
- vacuum.lo: $(TOP)\src\vacuum.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vacuum.c
- vdbe.lo: $(TOP)\src\vdbe.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbe.c
- vdbeapi.lo: $(TOP)\src\vdbeapi.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbeapi.c
- vdbeaux.lo: $(TOP)\src\vdbeaux.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbeaux.c
- vdbeblob.lo: $(TOP)\src\vdbeblob.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbeblob.c
- vdbemem.lo: $(TOP)\src\vdbemem.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbemem.c
- vdbesort.lo: $(TOP)\src\vdbesort.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbesort.c
- vdbetrace.lo: $(TOP)\src\vdbetrace.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbetrace.c
- vdbevtab.lo: $(TOP)\src\vdbevtab.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vdbevtab.c
- vtab.lo: $(TOP)\src\vtab.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\vtab.c
- wal.lo: $(TOP)\src\wal.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\wal.c
- walker.lo: $(TOP)\src\walker.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\walker.c
- where.lo: $(TOP)\src\where.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\where.c
- wherecode.lo: $(TOP)\src\wherecode.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\wherecode.c
- whereexpr.lo: $(TOP)\src\whereexpr.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\whereexpr.c
- window.lo: $(TOP)\src\window.c $(HDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\window.c
- tclsqlite.lo: $(TOP)\src\tclsqlite.c $(HDR) $(SQLITE_TCL_DEP)
- $(LTCOMPILE) $(NO_WARN) -DUSE_TCL_STUBS=1 -DBUILD_sqlite -I$(TCLINCDIR) -c $(TOP)\src\tclsqlite.c
- tclsqlite-shell.lo: $(TOP)\src\tclsqlite.c $(HDR) $(SQLITE_TCL_DEP)
- $(LTCOMPILE) $(NO_WARN) -DTCLSH -DBUILD_sqlite -I$(TCLINCDIR) -c $(TOP)\src\tclsqlite.c
- tclsqlite3.exe: tclsqlite-shell.lo $(SQLITE3C) $(SQLITE3H) $(LIBRESOBJS)
- $(LTLINK) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) /OUT:$@ tclsqlite-shell.lo $(LIBRESOBJS) $(TCLLIBS) $(LTLIBS) $(TLIBS)
- # Rules to build opcodes.c and opcodes.h
- #
- opcodes.c: opcodes.h $(TOP)\tool\mkopcodec.tcl $(JIM_TCLSH)
- $(JIM_TCLSH) $(TOP)\tool\mkopcodec.tcl opcodes.h > opcodes.c
- opcodes.h: parse.h $(TOP)\src\vdbe.c $(TOP)\tool\mkopcodeh.tcl $(JIM_TCLSH)
- type parse.h $(TOP)\src\vdbe.c | $(JIM_TCLSH) $(TOP)\tool\mkopcodeh.tcl > opcodes.h
- # Rules to build parse.c and parse.h - the outputs of lemon.
- #
- parse.h: parse.c
- parse.c: $(TOP)\src\parse.y lemon.exe
- del /Q parse.y parse.h parse.h.temp 2>NUL
- copy /Y $(TOP)\src\parse.y .
- copy /B parse.y +,,
- .\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) -S parse.y
- $(SQLITE3H): $(TOP)\src\sqlite.h.in $(TOP)\manifest mksourceid.exe $(TOP)\VERSION $(JIM_TCLSH)
- $(JIM_TCLSH) $(TOP)\tool\mksqlite3h.tcl "$(TOP:\=/)" > $(SQLITE3H) $(MKSQLITE3H_ARGS)
- sqlite3ext.h: .target_source
- !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0
- type tsrc\sqlite3ext.h | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "\(\*\)" "(SQLITE_CALLBACK *)" \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "\(\*" "(SQLITE_APICALL *" > sqlite3ext.h
- copy /Y sqlite3ext.h tsrc\sqlite3ext.h
- !ELSE
- copy /Y tsrc\sqlite3ext.h sqlite3ext.h
- copy /B sqlite3ext.h +,,
- !ENDIF
- sqlite3session.h: $(TOP)\ext\session\sqlite3session.h
- copy /Y $(TOP)\ext\session\sqlite3session.h .
- copy /B sqlite3session.h +,,
- mkkeywordhash.exe: $(TOP)\tool\mkkeywordhash.c
- $(BCC) $(NO_WARN) -Fe$@ $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) \
- $(TOP)\tool\mkkeywordhash.c /link $(LDFLAGS) $(NLTLINKOPTS) $(NLTLIBPATHS)
- keywordhash.h: $(TOP)\tool\mkkeywordhash.c mkkeywordhash.exe
- .\mkkeywordhash.exe > keywordhash.h
- # Source and header files that shell.c depends on
- SHELL_DEP = \
- $(TOP)\src\shell.c.in \
- $(TOP)\ext\expert\sqlite3expert.c \
- $(TOP)\ext\expert\sqlite3expert.h \
- $(TOP)\ext\intck\sqlite3intck.c \
- $(TOP)\ext\intck\sqlite3intck.h \
- $(TOP)\ext\misc\appendvfs.c \
- $(TOP)\ext\misc\base64.c \
- $(TOP)\ext\misc\base85.c \
- $(TOP)\ext\misc\completion.c \
- $(TOP)\ext\misc\decimal.c \
- $(TOP)\ext\misc\fileio.c \
- $(TOP)\ext\misc\ieee754.c \
- $(TOP)\ext\misc\memtrace.c \
- $(TOP)\ext\misc\pcachetrace.c \
- $(TOP)\ext\misc\percentile.c \
- $(TOP)\ext\misc\regexp.c \
- $(TOP)\ext\misc\series.c \
- $(TOP)\ext\misc\sha1.c \
- $(TOP)\ext\misc\shathree.c \
- $(TOP)\ext\misc\sqlar.c \
- $(TOP)\ext\misc\sqlite3_stdio.c \
- $(TOP)\ext\misc\sqlite3_stdio.h \
- $(TOP)\ext\misc\uint.c \
- $(TOP)\ext\misc\vfstrace.c \
- $(TOP)\ext\misc\zipfile.c \
- $(TOP)\ext\recover\dbdata.c \
- $(TOP)\ext\recover\sqlite3recover.c \
- $(TOP)\ext\recover\sqlite3recover.h \
- $(TOP)\src\test_windirent.c \
- $(TOP)\src\test_windirent.h
- # If use of zlib is enabled, add the "zipfile.c" source file.
- #
- !IF $(USE_ZLIB)!=0
- SHELL_DEP = $(SHELL_DEP) $(TOP)\ext\misc\sqlar.c
- SHELL_DEP = $(SHELL_DEP) $(TOP)\ext\misc\zipfile.c
- !ENDIF
- shell.c: $(SHELL_DEP) $(TOP)\tool\mkshellc.tcl $(JIM_TCLSH)
- $(JIM_TCLSH) $(TOP)\tool\mkshellc.tcl > shell.c
- zlib:
- pushd $(ZLIBDIR) && $(MAKE) /f win32\Makefile.msc clean $(ZLIBLIB) && popd
- # Rules to build the extension objects.
- #
- icu.lo: $(TOP)\ext\icu\icu.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\icu\icu.c
- fts3.lo: $(TOP)\ext\fts3\fts3.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3.c
- fts3_aux.lo: $(TOP)\ext\fts3\fts3_aux.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_aux.c
- fts3_expr.lo: $(TOP)\ext\fts3\fts3_expr.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_expr.c
- fts3_hash.lo: $(TOP)\ext\fts3\fts3_hash.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_hash.c
- fts3_icu.lo: $(TOP)\ext\fts3\fts3_icu.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_icu.c
- fts3_snippet.lo: $(TOP)\ext\fts3\fts3_snippet.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_snippet.c
- fts3_porter.lo: $(TOP)\ext\fts3\fts3_porter.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_porter.c
- fts3_tokenizer.lo: $(TOP)\ext\fts3\fts3_tokenizer.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_tokenizer.c
- fts3_tokenizer1.lo: $(TOP)\ext\fts3\fts3_tokenizer1.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_tokenizer1.c
- fts3_tokenize_vtab.lo: $(TOP)\ext\fts3\fts3_tokenize_vtab.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_tokenize_vtab.c
- fts3_unicode.lo: $(TOP)\ext\fts3\fts3_unicode.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_unicode.c
- fts3_unicode2.lo: $(TOP)\ext\fts3\fts3_unicode2.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_unicode2.c
- fts3_write.lo: $(TOP)\ext\fts3\fts3_write.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_write.c
- stmt.lo: $(TOP)\ext\misc\stmt.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\misc\stmt.c
- rtree.lo: $(TOP)\ext\rtree\rtree.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\rtree\rtree.c
- sqlite3session.lo: $(TOP)\ext\session\sqlite3session.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\session\sqlite3session.c
- # FTS5 things
- #
- FTS5_SRC = \
- $(TOP)\ext\fts5\fts5.h \
- $(TOP)\ext\fts5\fts5Int.h \
- $(TOP)\ext\fts5\fts5_aux.c \
- $(TOP)\ext\fts5\fts5_buffer.c \
- $(TOP)\ext\fts5\fts5_main.c \
- $(TOP)\ext\fts5\fts5_config.c \
- $(TOP)\ext\fts5\fts5_expr.c \
- $(TOP)\ext\fts5\fts5_hash.c \
- $(TOP)\ext\fts5\fts5_index.c \
- fts5parse.c fts5parse.h \
- $(TOP)\ext\fts5\fts5_storage.c \
- $(TOP)\ext\fts5\fts5_tokenize.c \
- $(TOP)\ext\fts5\fts5_unicode2.c \
- $(TOP)\ext\fts5\fts5_varint.c \
- $(TOP)\ext\fts5\fts5_vocab.c
- LSM1_SRC = \
- $(TOP)\ext\lsm1\lsm.h \
- $(TOP)\ext\lsm1\lsmInt.h \
- $(TOP)\ext\lsm1\lsm_ckpt.c \
- $(TOP)\ext\lsm1\lsm_file.c \
- $(TOP)\ext\lsm1\lsm_log.c \
- $(TOP)\ext\lsm1\lsm_main.c \
- $(TOP)\ext\lsm1\lsm_mem.c \
- $(TOP)\ext\lsm1\lsm_mutex.c \
- $(TOP)\ext\lsm1\lsm_shared.c \
- $(TOP)\ext\lsm1\lsm_sorted.c \
- $(TOP)\ext\lsm1\lsm_str.c \
- $(TOP)\ext\lsm1\lsm_tree.c \
- $(TOP)\ext\lsm1\lsm_unix.c \
- $(TOP)\ext\lsm1\lsm_varint.c \
- $(TOP)\ext\lsm1\lsm_vtab.c \
- $(TOP)\ext\lsm1\lsm_win32.c
- fts5parse.c: $(TOP)\ext\fts5\fts5parse.y lemon.exe
- copy /Y $(TOP)\ext\fts5\fts5parse.y .
- copy /B fts5parse.y +,,
- del /Q fts5parse.h 2>NUL
- .\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(EXT_FEATURE_FLAGS) $(OPTS) -S fts5parse.y
- fts5parse.h: fts5parse.c
- fts5.c: $(FTS5_SRC) $(JIM_TCLSH)
- $(JIM_TCLSH) $(TOP)\ext\fts5\tool\mkfts5c.tcl
- copy /Y $(TOP)\ext\fts5\fts5.h .
- copy /B fts5.h +,,
- lsm1.c: $(LSM1_SRC) $(JIM_TCLSH)
- $(JIM_TCLSH) $(TOP)\ext\lsm1\tool\mklsm1c.tcl
- copy /Y $(TOP)\ext\lsm1\lsm.h .
- copy /B lsm.h +,,
- fts5.lo: fts5.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c fts5.c
- fts5_ext.lo: fts5.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) $(NO_WARN) -c fts5.c
- fts5.dll: fts5_ext.lo
- $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /OUT:$@ fts5_ext.lo
- sqlite3rbu.lo: $(TOP)\ext\rbu\sqlite3rbu.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\rbu\sqlite3rbu.c
- # Rules to build the 'testfixture' application.
- #
- # If using the amalgamation, use sqlite3.c directly to build the test
- # fixture. Otherwise link against libsqlite3.lib. (This distinction is
- # necessary because the test fixture requires non-API symbols which are
- # hidden when the library is built via the amalgamation).
- #
- TESTFIXTURE_FLAGS = -DTCLSH_INIT_PROC=sqlite3TestInit -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
- TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_SERVER=1 -DSQLITE_PRIVATE=""
- TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_CORE $(NO_WARN)
- TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_SERIES_CONSTRAINT_VERIFY=1
- TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_DEFAULT_PAGE_SIZE=1024
- TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_STMTVTAB=1
- TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_DBPAGE_VTAB=1
- TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_BYTECODE_VTAB=1
- TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_CKSUMVFS_STATIC=1
- TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) $(TEST_CCONV_OPTS)
- TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_STATIC_RANDOMJSON
- TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_STRICT_SUBTYPE=1
- TESTFIXTURE_SRC0 = $(TESTEXT) $(TESTSRC2)
- TESTFIXTURE_SRC1 = $(TESTEXT) $(SQLITE3C)
- !IF $(USE_AMALGAMATION)==0
- TESTFIXTURE_SRC = $(TESTSRC) $(TOP)\src\tclsqlite.c $(TESTFIXTURE_SRC0)
- !ELSE
- TESTFIXTURE_SRC = $(TESTSRC) $(TOP)\src\tclsqlite.c $(TESTFIXTURE_SRC1)
- !ENDIF
- !IF $(USE_STDCALL)!=0 || $(FOR_WIN10)!=0
- sqlite_tclDecls.h:
- echo #ifndef SQLITE_TCLAPI > $(SQLITETCLDECLSH)
- echo # define SQLITE_TCLAPI >> $(SQLITETCLDECLSH)
- echo #endif >> $(SQLITETCLDECLSH)
- type "$(TCLINCDIR)\tclDecls.h" \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "^(EXTERN(?: CONST\d+?)?\s+?[^\(]*?\s+?)Tcl_" "\1 SQLITE_TCLAPI Tcl_" \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "^(EXTERN\s+?(?:void|VOID)\s+?)TclFreeObj" "\1 SQLITE_TCLAPI TclFreeObj" \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "\(\*tcl_" "(SQLITE_TCLAPI *tcl_" \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "\(\*tclFreeObj" "(SQLITE_TCLAPI *tclFreeObj" \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "\(\*" "(SQLITE_TCLAPI *" >> $(SQLITETCLDECLSH)
- sqlite_tcl.h:
- type "$(TCLINCDIR)\tcl.h" | $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact tclDecls.h sqlite_tclDecls.h \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl regsub "typedef (.*?)\(Tcl_" "typedef \1 (SQLITE_TCLAPI Tcl_" \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact "void (*freeProc)" "void (SQLITE_TCLAPI *freeProc)" \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact "Tcl_HashEntry *(*findProc)" "Tcl_HashEntry *(SQLITE_TCLAPI *findProc)" \
- | $(TCLSH_CMD) $(TOP)\tool\replace.tcl exact "Tcl_HashEntry *(*createProc)" "Tcl_HashEntry *(SQLITE_TCLAPI *createProc)" >> $(SQLITETCLH)
- !ENDIF
- testfixture.exe: $(TESTFIXTURE_SRC) $(TESTFIXTURE_DEP) $(SQLITE3H) $(LIBRESOBJS) $(HDR) $(SQLITE_TCL_DEP)
- $(LTLINK) -DSQLITE_NO_SYNC=1 $(TESTFIXTURE_FLAGS) \
- -DBUILD_sqlite -I$(TCLINCDIR) \
- $(TESTFIXTURE_SRC) \
- /link $(LDFLAGS) $(LTLINKOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) $(LIBRESOBJS) $(TCLLIBS) $(LTLIBS) $(TLIBS)
- extensiontest: testfixture.exe testloadext.dll
- @set PATH=$(LIBTCLPATH);$(PATH)
- .\testfixture.exe $(TOP)\test\loadext.test $(TESTOPTS)
- tool-zip: testfixture.exe sqlite3.exe sqldiff.exe sqlite3_analyzer.exe sqlite3_rsync.exe $(TOP)\tool\mktoolzip.tcl
- .\testfixture.exe $(TOP)\tool\mktoolzip.tcl
- coretestprogs: testfixture.exe sqlite3.exe
- testprogs: $(TESTPROGS) srcck1.exe fuzzcheck.exe sessionfuzz.exe
- fulltest: alltest fuzztest
- alltest: $(TESTPROGS)
- @set PATH=$(LIBTCLPATH);$(PATH)
- .\testfixture.exe $(TOP)\test\all.test $(TESTOPTS)
- soaktest: $(TESTPROGS)
- @set PATH=$(LIBTCLPATH);$(PATH)
- .\testfixture.exe $(TOP)\test\all.test -soak=1 $(TESTOPTS)
- fulltestonly: $(TESTPROGS) fuzztest
- @set PATH=$(LIBTCLPATH);$(PATH)
- .\testfixture.exe $(TOP)\test\full.test
- queryplantest: testfixture.exe shell
- @set PATH=$(LIBTCLPATH);$(PATH)
- .\testfixture.exe $(TOP)\test\permutations.test queryplanner $(TESTOPTS)
- fuzztest: fuzzcheck.exe
- .\fuzzcheck.exe $(FUZZDATA)
- # Legacy testing target for third-party integrators. The SQLite
- # developers seldom use this target themselves. Instead
- # they use "nmake /f Makefile.msc devtest" which runs tests on
- # a standard set of options
- #
- test: $(TESTPROGS) sourcetest fuzztest tcltest
- # Minimal testing that runs in less than 3 minutes (on a fast machine)
- #
- quicktest: testfixture.exe sourcetest
- @set PATH=$(LIBTCLPATH);$(PATH)
- .\testfixture.exe $(TOP)\test\extraquick.test $(TESTOPTS)
- # This is the common case. Run many tests that do not take too long,
- # including fuzzcheck, sqlite3_analyzer, and sqldiff tests.
- #
- # The veryquick.test TCL tests.
- #
- tcltest: testfixture.exe
- @set PATH=$(LIBTCLPATH);$(PATH)
- .\testfixture.exe $(TOP)\test\veryquick.test $(TESTOPTS)
- # Runs all the same tests cases as the "tcltest" target but uses
- # the testrunner.tcl script to run them in multiple cores
- # concurrently.
- testrunner: testfixture.exe
- .\testfixture.exe $(TOP)\test\testrunner.tcl
- # This is the testing target preferred by the core SQLite developers.
- # It runs tests under a standard configuration. The devs run
- # "nmake /f Makefile.msc devtest" prior to each check-in, at a minimum.
- # Probably other tests too, but at least this one.
- #
- devtest: srctree-check sourcetest
- $(TCLSH_CMD) $(TOP)\test\testrunner.tcl mdevtest
- mdevtest:
- $(TCLSH_CMD) $(TOP)\test\testrunner.tcl mdevtest
- # Validate that various generated files in the source tree
- # are up-to-date.
- #
- srctree-check: $(TOP)\tool\srctree-check.tcl
- $(TCLSH_CMD) $(TOP)\tool\srctree-check.tcl
- # Testing for a release
- #
- releasetest:
- $(TCLSH_CMD) $(TOP)\test\testrunner.tcl release
- smoketest: $(TESTPROGS)
- @set PATH=$(LIBTCLPATH);$(PATH)
- .\testfixture.exe $(TOP)\test\main.test $(TESTOPTS)
- shelltest: $(TESTPROGS)
- .\testfixture.exe $(TOP)\test\permutations.test shell
- sqlite3_analyzer.c: $(SQLITE3C) $(SQLITE3H) $(TOP)\src\tclsqlite.c $(TOP)\tool\spaceanal.tcl $(TOP)\tool\mkccode.tcl $(TOP)\tool\sqlite3_analyzer.c.in $(TOP)\ext\misc\sqlite3_stdio.h $(TOP)\ext\misc\sqlite3_stdio.c $(SQLITE_TCL_DEP)
- $(TCLSH_CMD) $(TOP)\tool\mkccode.tcl -DINCLUDE_SQLITE3_C $(TOP)\tool\sqlite3_analyzer.c.in > $@
- sqlite3_analyzer.exe: sqlite3_analyzer.c $(LIBRESOBJS)
- $(LTLINK) $(NO_WARN) -DBUILD_sqlite -I$(TCLINCDIR) sqlite3_analyzer.c \
- /link $(LDFLAGS) $(LTLINKOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) $(LIBRESOBJS) $(TCLLIBS) $(LTLIBS) $(TLIBS)
- sqltclsh.c: sqlite3.c $(TOP)\src\tclsqlite.c $(TOP)\tool\sqltclsh.tcl $(TOP)\ext\misc\appendvfs.c $(TOP)\tool\mkccode.tcl $(TOP)\tool\sqltclsh.c.in
- $(TCLSH_CMD) $(TOP)\tool\mkccode.tcl $(TOP)\tool\sqltclsh.c.in >sqltclsh.c
- sqltclsh.exe: sqltclsh.c $(SHELL_CORE_DEP) $(LIBRESOBJS)
- $(LTLINK) $(NO_WARN) -DBUILD_sqlite -I$(TCLINCDIR) sqltclsh.c \
- /link $(LDFLAGS) $(LTLINKOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) $(LIBRESOBJS) $(TCLLIBS) $(LTLIBS) $(TLIBS)
- sqlite3_expert.exe: $(SQLITE3C) $(TOP)\ext\expert\sqlite3expert.h $(TOP)\ext\expert\sqlite3expert.c $(TOP)\ext\expert\expert.c
- $(LTLINK) $(NO_WARN) $(TOP)\ext\expert\sqlite3expert.c $(TOP)\ext\expert\expert.c $(SQLITE3C) $(TLIBS)
- CHECKER_DEPS =\
- $(TOP)\tool\mkccode.tcl \
- sqlite3.c \
- $(TOP)\src\tclsqlite.c \
- $(TOP)\ext\repair\sqlite3_checker.tcl \
- $(TOP)\ext\repair\checkindex.c \
- $(TOP)\ext\repair\checkfreelist.c \
- $(TOP)\ext\misc\btreeinfo.c \
- $(TOP)\ext\repair\sqlite3_checker.c.in
- sqlite3_checker.c: $(CHECKER_DEPS)
- $(TCLSH_CMD) $(TOP)\tool\mkccode.tcl $(TOP)\ext\repair\sqlite3_checker.c.in > $@
- sqlite3_checker.exe: sqlite3_checker.c $(LIBRESOBJS)
- $(LTLINK) $(NO_WARN) -DBUILD_sqlite -I$(TCLINCDIR) sqlite3_checker.c \
- /link $(LDFLAGS) $(LTLINKOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) $(LIBRESOBJS) $(TCLLIBS) $(LTLIBS) $(TLIBS)
- dbdump.exe: $(TOP)\ext\misc\dbdump.c $(SQLITE3C) $(SQLITE3H) $(LIBRESOBJS)
- $(LTLINK) $(NO_WARN) -DDBDUMP_STANDALONE $(TOP)\ext\misc\dbdump.c $(SQLITE3C) \
- /link $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LTLIBS)
- testloadext.lo: $(TOP)\src\test_loadext.c $(SQLITE3H)
- $(LTCOMPILE) $(NO_WARN) -c $(TOP)\src\test_loadext.c
- testloadext.dll: testloadext.lo
- $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /OUT:$@ testloadext.lo
- dbtotxt.exe: $(TOP)\tool\dbtotxt.c
- $(LTLINK) $(NO_WARN) $(TOP)\tool\dbtotxt.c /link $(LDFLAGS) $(LTLINKOPTS)
- showdb.exe: $(TOP)\tool\showdb.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
- $(TOP)\tool\showdb.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- showstat4.exe: $(TOP)\tool\showstat4.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
- $(TOP)\tool\showstat4.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- showjournal.exe: $(TOP)\tool\showjournal.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
- $(TOP)\tool\showjournal.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- showwal.exe: $(TOP)\tool\showwal.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
- $(TOP)\tool\showwal.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- showshm.exe: $(TOP)\tool\showshm.c
- $(LTLINK) $(NO_WARN) $(TOP)\tool\showshm.c /link $(LDFLAGS) $(LTLINKOPTS)
- index_usage.exe: $(TOP)\tool\index_usage.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
- $(TOP)\tool\index_usage.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- changeset.exe: $(TOP)\ext\session\changeset.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
- -DSQLITE_ENABLE_SESSION=1 -DSQLITE_ENABLE_PREUPDATE_HOOK=1 \
- $(TOP)\ext\session\changeset.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- changesetfuzz.exe: $(TOP)\ext\session\changesetfuzz.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
- -DSQLITE_ENABLE_SESSION=1 -DSQLITE_ENABLE_PREUPDATE_HOOK=1 \
- $(TOP)\ext\session\changesetfuzz.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- fts3view.exe: $(TOP)\ext\fts3\tool\fts3view.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
- $(TOP)\ext\fts3\tool\fts3view.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- rollback-test.exe: $(TOP)\tool\rollback-test.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
- $(TOP)\tool\rollback-test.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- atrc.exe: $(TOP)\test\atrc.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
- $(TOP)\test\atrc.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- LogEst.exe: $(TOP)\tool\logest.c $(SQLITE3H)
- $(LTLINK) $(NO_WARN) $(TOP)\tool\LogEst.c /link $(LDFLAGS) $(LTLINKOPTS)
- wordcount.exe: $(TOP)\test\wordcount.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
- $(TOP)\test\wordcount.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- speedtest1.exe: $(TOP)\test\speedtest1.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) $(ST_COMPILE_OPTS) -DSQLITE_OMIT_LOAD_EXTENSION \
- $(TOP)\test\speedtest1.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- kvtest.exe: $(TOP)\test\kvtest.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) $(KV_COMPILE_OPTS) \
- $(TOP)\test\kvtest.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- rbu.exe: $(TOP)\ext\rbu\rbu.c $(TOP)\ext\rbu\sqlite3rbu.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) -DSQLITE_ENABLE_RBU \
- $(TOP)\ext\rbu\rbu.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- THREADTEST3_SRC = \
- $(TOP)\test\threadtest3.c \
- $(TOP)\test\tt3_checkpoint.c \
- $(TOP)\test\tt3_index.c \
- $(TOP)\test\tt3_vacuum.c \
- $(TOP)\test\tt3_stress.c \
- $(TOP)\test\tt3_lookaside1.c
- threadtest3.exe: $(THREADTEST3_SRC) $(TOP)\src\test_multiplex.c $(SQLITE3C) $(SQLITE3H)
- $(LTLINK) $(NO_WARN) $(TOP)\test\threadtest3.c $(TOP)\src\test_multiplex.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
- # Display key variables that control which version of TCL is to be used.
- #
- tcl-env:
- @echo TCLDIR = $(TCLDIR)
- @echo TCLVERSION = $(TCLVERSION)
- @echo TCLSUFFIX = $(TCLSUFFIX)
- @echo LIBTCL = $(LIBTCL)
- @echo LIBTCLSTUB = $(LIBTCLSTUB)
- @echo TCLSH_CMD = $(TCLSH_CMD)
- LSMDIR=$(TOP)\ext\lsm1
- !INCLUDE $(LSMDIR)\Makefile.msc
- moreclean: clean
- del /Q $(SQLITE3C) $(SQLITE3H) 2>NUL
- # <</mark>>
- clean:
- del /Q *.exp *.lo *.ilk *.lib *.obj *.ncb *.pdb *.sdf *.suo 2>NUL
- del /Q *.bsc *.def *.cod *.da *.bb *.bbg *.vc gmon.out 2>NUL
- del /Q $(SQLITE3EXE) $(SQLITE3DLL) Replace.exe 2>NUL
- # <<mark>>
- del /Q $(SQLITE3TCLDLL) pkgIndex.tcl 2>NUL
- del /Q opcodes.c opcodes.h 2>NUL
- del /Q lemon.* lempar.c parse.* 2>NUL
- del /Q mksourceid.* mkkeywordhash.* keywordhash.h 2>NUL
- del /Q notasharedlib.* 2>NUL
- -rmdir /Q/S .deps 2>NUL
- -rmdir /Q/S .libs 2>NUL
- -rmdir /Q/S tsrc 2>NUL
- del /Q .target_source 2>NUL
- del /Q tclsqlite3.exe $(SQLITETCLH) $(SQLITETCLDECLSH) 2>NUL
- del /Q lsm.dll lsmtest.exe 2>NUL
- del /Q atrc.exe changesetfuzz.exe dbtotxt.exe index_usage.exe 2>NUL
- del /Q testloadext.dll 2>NUL
- del /Q testfixture.exe test.db 2>NUL
- del /Q LogEst.exe fts3view.exe rollback-test.exe showdb.exe dbdump.exe 2>NUL
- del /Q changeset.exe 2>NUL
- del /Q showjournal.exe showstat4.exe showwal.exe speedtest1.exe 2>NUL
- del /Q mptester.exe wordcount.exe rbu.exe srcck1.exe 2>NUL
- del /Q sqlite3.c sqlite3-*.c sqlite3.h 2>NUL
- del /Q sqlite3rc.h 2>NUL
- del /Q shell.c sqlite3ext.h sqlite3session.h 2>NUL
- del /Q sqlite3_analyzer.exe sqlite3_analyzer.c sqlite3_rsync.exe 2>NUL
- del /Q sqlite-*-output.vsix 2>NUL
- del /Q fuzzershell.exe fuzzcheck.exe sqldiff.exe dbhash.exe 2>NUL
- del /Q sqltclsh.* 2>NUL
- del /Q dbfuzz.exe sessionfuzz.exe threadtest3.exe 2>NUL
- del /Q kvtest.exe ossshell.exe scrub.exe 2>NUL
- del /Q showshm.exe sqlite3_checker.* sqlite3_expert.exe 2>NUL
- del /Q fts5.* fts5parse.* 2>NUL
- del /Q lsm.h lsm1.c 2>NUL
- del /q src-verify.exe 2>NUL
- # <</mark>>
|