123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847 |
- #
- # 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.
- #
- !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 $(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>>
|