/ Hex Artifact Content

Artifact 2a8f135e10f383a31f1106cf42edabf3a18a3d08:

• File Makefile.msc — part of check-in [e4a56197] at 2016-08-24 19:58:46 on branch callbackConv — Modularize all use of the calling convention macros based on the USE_STDCALL nmake macro. (user: mistachkin size: 67441)

0000: 23 0a 23 20 6e 6d 61 6b 65 20 4d 61 6b 65 66 69  #.# nmake Makefi
0010: 6c 65 20 66 6f 72 20 53 51 4c 69 74 65 0a 23 0a  le for SQLite.#.
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20 53  ############## S
0090: 54 41 52 54 20 4f 46 20 4f 50 54 49 4f 4e 53 20  TART OF OPTIONS
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
0110: 0a 23 20 54 68 65 20 74 6f 70 6c 65 76 65 6c 20  .# The toplevel
0120: 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
0130: 20 73 6f 75 72 63 65 20 74 72 65 65 2e 20 20 54   source tree.  T
0140: 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63  his is the direc
0150: 74 6f 72 79 0a 23 20 74 68 61 74 20 63 6f 6e 74  tory.# that cont
0160: 61 69 6e 73 20 74 68 69 73 20 22 4d 61 6b 65 66  ains this "Makef
0170: 69 6c 65 2e 6d 73 63 22 2e 0a 23 0a 54 4f 50 20  ile.msc"..#.TOP
0180: 3d 20 2e 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  = ...# <<mark>>.
0190: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
01a0: 20 74 6f 20 63 72 65 61 74 65 20 61 6e 64 20 75   to create and u
01b0: 73 65 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d  se the SQLite am
01c0: 61 6c 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 2e  algamation file.
01d0: 0a 23 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 41  .#.!IFNDEF USE_A
01e0: 4d 41 4c 47 41 4d 41 54 49 4f 4e 0a 55 53 45 5f  MALGAMATION.USE_
01f0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 31  AMALGAMATION = 1
0200: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0210: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0220: 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c 65 20  non-0 to enable
0230: 66 75 6c 6c 20 77 61 72 6e 69 6e 67 73 20 28 2d  full warnings (-
0240: 57 34 2c 20 65 74 63 29 20 77 68 65 6e 20 63 6f  W4, etc) when co
0250: 6d 70 69 6c 69 6e 67 2e 0a 23 0a 21 49 46 4e 44  mpiling..#.!IFND
0260: 45 46 20 55 53 45 5f 46 55 4c 4c 57 41 52 4e 0a  EF USE_FULLWARN.
0270: 55 53 45 5f 46 55 4c 4c 57 41 52 4e 20 3d 20 30  USE_FULLWARN = 0
0280: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0290: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61  his non-0 to ena
02a0: 62 6c 65 20 66 75 6c 6c 20 72 75 6e 74 69 6d 65  ble full runtime
02b0: 20 65 72 72 6f 72 20 63 68 65 63 6b 73 20 28 2d   error checks (-
02c0: 52 54 43 31 2c 20 65 74 63 29 2e 20 20 54 68 69  RTC1, etc).  Thi
02d0: 73 0a 23 20 68 61 73 20 6e 6f 20 65 66 66 65 63  s.# has no effec
02e0: 74 20 69 66 20 28 61 6e 79 29 20 6f 70 74 69 6d  t if (any) optim
02f0: 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61  izations are ena
0300: 62 6c 65 64 2e 0a 23 0a 21 49 46 4e 44 45 46 20  bled..#.!IFNDEF
0310: 55 53 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43  USE_RUNTIME_CHEC
0320: 4b 53 0a 55 53 45 5f 52 55 4e 54 49 4d 45 5f 43  KS.USE_RUNTIME_C
0330: 48 45 43 4b 53 20 3d 20 30 0a 21 45 4e 44 49 46  HECKS = 0.!ENDIF
0340: 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e  ..# Set this non
0350: 2d 30 20 74 6f 20 63 72 65 61 74 65 20 61 20 53  -0 to create a S
0360: 51 4c 69 74 65 20 61 6d 61 6c 67 61 6d 61 74 69  QLite amalgamati
0370: 6f 6e 20 66 69 6c 65 20 74 68 61 74 20 65 78 63  on file that exc
0380: 6c 75 64 65 73 20 74 68 65 0a 23 20 76 61 72 69  ludes the.# vari
0390: 6f 75 73 20 62 75 69 6c 74 2d 69 6e 20 65 78 74  ous built-in ext
03a0: 65 6e 73 69 6f 6e 73 2e 0a 23 0a 21 49 46 4e 44  ensions..#.!IFND
03b0: 45 46 20 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47  EF MINIMAL_AMALG
03c0: 41 4d 41 54 49 4f 4e 0a 4d 49 4e 49 4d 41 4c 5f  AMATION.MINIMAL_
03d0: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 20 3d 20 30  AMALGAMATION = 0
03e0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
03f0: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65  his non-0 to use
0400: 20 22 73 74 64 63 61 6c 6c 22 20 63 61 6c 6c 69   "stdcall" calli
0410: 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 66 6f  ng convention fo
0420: 72 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61  r the core libra
0430: 72 79 0a 23 20 61 6e 64 20 73 68 65 6c 6c 20 65  ry.# and shell e
0440: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46  xecutable..#.!IF
0450: 4e 44 45 46 20 55 53 45 5f 53 54 44 43 41 4c 4c  NDEF USE_STDCALL
0460: 0a 55 53 45 5f 53 54 44 43 41 4c 4c 20 3d 20 30  .USE_STDCALL = 0
0470: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0480: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 68 61 76  his non-0 to hav
0490: 65 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63  e the shell exec
04a0: 75 74 61 62 6c 65 20 6c 69 6e 6b 20 61 67 61 69  utable link agai
04b0: 6e 73 74 20 74 68 65 20 63 6f 72 65 20 64 79 6e  nst the core dyn
04c0: 61 6d 69 63 0a 23 20 6c 69 6e 6b 20 6c 69 62 72  amic.# link libr
04d0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 44  ary..#.!IFNDEF D
04e0: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 0a 44 59 4e  YNAMIC_SHELL.DYN
04f0: 41 4d 49 43 5f 53 48 45 4c 4c 20 3d 20 30 0a 21  AMIC_SHELL = 0.!
0500: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0510: 73 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62 6c  s non-0 to enabl
0520: 65 20 65 78 74 72 61 20 63 6f 64 65 20 74 68 61  e extra code tha
0530: 74 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64 65  t attempts to de
0540: 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20 74  tect misuse of t
0550: 68 65 0a 23 20 53 51 4c 69 74 65 20 41 50 49 2e  he.# SQLite API.
0560: 0a 23 0a 21 49 46 4e 44 45 46 20 41 50 49 5f 41  .#.!IFNDEF API_A
0570: 52 4d 4f 52 0a 41 50 49 5f 41 52 4d 4f 52 20 3d  RMOR.API_ARMOR =
0580: 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20   0.!ENDIF..# If
0590: 6e 65 63 65 73 73 61 72 79 2c 20 63 72 65 61 74  necessary, creat
05a0: 65 20 61 20 6c 69 73 74 20 6f 66 20 68 61 72 6d  e a list of harm
05b0: 6c 65 73 73 20 63 6f 6d 70 69 6c 65 72 20 77 61  less compiler wa
05c0: 72 6e 69 6e 67 73 20 74 6f 20 64 69 73 61 62 6c  rnings to disabl
05d0: 65 20 77 68 65 6e 0a 23 20 63 6f 6d 70 69 6c 69  e when.# compili
05e0: 6e 67 20 74 68 65 20 76 61 72 69 6f 75 73 20 74  ng the various t
05f0: 6f 6f 6c 73 2e 20 20 46 6f 72 20 74 68 65 20 53  ools.  For the S
0600: 51 4c 69 74 65 20 73 6f 75 72 63 65 20 63 6f 64  QLite source cod
0610: 65 20 69 74 73 65 6c 66 2c 20 77 61 72 6e 69 6e  e itself, warnin
0620: 67 73 2c 0a 23 20 69 66 20 61 6e 79 2c 20 77 69  gs,.# if any, wi
0630: 6c 6c 20 62 65 20 64 69 73 61 62 6c 65 64 20 66  ll be disabled f
0640: 72 6f 6d 20 77 69 74 68 69 6e 20 69 74 2e 0a 23  rom within it..#
0650: 0a 21 49 46 4e 44 45 46 20 4e 4f 5f 57 41 52 4e  .!IFNDEF NO_WARN
0660: 0a 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57  .!IF $(USE_FULLW 0670: 41 52 4e 29 21 3d 30 0a 4e 4f 5f 57 41 52 4e 20 ARN)!=0.NO_WARN 0680: 3d 20 2d 77 64 34 30 35 34 20 2d 77 64 34 30 35 = -wd4054 -wd405 0690: 35 20 2d 77 64 34 31 30 30 20 2d 77 64 34 31 32 5 -wd4100 -wd412 06a0: 37 20 2d 77 64 34 31 33 30 20 2d 77 64 34 31 35 7 -wd4130 -wd415 06b0: 32 20 2d 77 64 34 31 38 39 20 2d 77 64 34 32 30 2 -wd4189 -wd420 06c0: 36 0a 4e 4f 5f 57 41 52 4e 20 3d 20 24 28 4e 4f 6.NO_WARN =$(NO
06d0: 5f 57 41 52 4e 29 20 2d 77 64 34 32 31 30 20 2d  _WARN) -wd4210 -
06e0: 77 64 34 32 33 32 20 2d 77 64 34 33 30 35 20 2d  wd4232 -wd4305 -
06f0: 77 64 34 33 30 36 20 2d 77 64 34 37 30 32 20 2d  wd4306 -wd4702 -
0700: 77 64 34 37 30 36 0a 21 45 4e 44 49 46 0a 21 45  wd4706.!ENDIF.!E
0710: 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73  NDIF..# Set this
0720: 20 6e 6f 6e 2d 30 20 74 6f 20 75 73 65 20 74 68   non-0 to use th
0730: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73 20  e library paths
0740: 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69 6f 6e  and other option
0750: 73 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 0a  s necessary for.
0760: 23 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20  # Windows Phone
0770: 38 2e 31 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55  8.1..#.!IFNDEF U
0780: 53 45 5f 57 50 38 31 5f 4f 50 54 53 0a 55 53 45  SE_WP81_OPTS.USE
0790: 5f 57 50 38 31 5f 4f 50 54 53 20 3d 20 30 0a 21  _WP81_OPTS = 0.!
07a0: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
07b0: 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 70 6c 69 74  s non-0 to split
07c0: 20 74 68 65 20 53 51 4c 69 74 65 20 61 6d 61 6c   the SQLite amal
07d0: 67 61 6d 61 74 69 6f 6e 20 66 69 6c 65 20 69 6e  gamation file in
07e0: 74 6f 20 63 68 75 6e 6b 73 20 74 6f 0a 23 20 62  to chunks to.# b
07f0: 65 20 75 73 65 64 20 66 6f 72 20 64 65 62 75 67  e used for debug
0800: 67 69 6e 67 20 77 69 74 68 20 56 69 73 75 61 6c  ging with Visual
0810: 20 53 74 75 64 69 6f 2e 0a 23 0a 21 49 46 4e 44   Studio..#.!IFND
0820: 45 46 20 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d  EF SPLIT_AMALGAM
0830: 41 54 49 4f 4e 0a 53 50 4c 49 54 5f 41 4d 41 4c  ATION.SPLIT_AMAL
0840: 47 41 4d 41 54 49 4f 4e 20 3d 20 30 0a 21 45 4e  GAMATION = 0.!EN
0850: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
0860: 23 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30  # Set this non-0
0870: 20 74 6f 20 75 73 65 20 74 68 65 20 49 6e 74 65   to use the Inte
0880: 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6d 70 6f 6e  rnational Compon
0890: 65 6e 74 73 20 66 6f 72 20 55 6e 69 63 6f 64 65  ents for Unicode
08a0: 20 28 49 43 55 29 2e 0a 23 0a 21 49 46 4e 44 45   (ICU)..#.!IFNDE
08b0: 46 20 55 53 45 5f 49 43 55 0a 55 53 45 5f 49 43  F USE_ICU.USE_IC
08c0: 55 20 3d 20 30 0a 21 45 4e 44 49 46 0a 23 20 3c  U = 0.!ENDIF.# <
08d0: 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 53 65 74 20  </mark>>..# Set
08e0: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 64 79  this non-0 to dy
08f0: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 74  namically link t
0900: 6f 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69  o the MSVC runti
0910: 6d 65 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49  me library..#.!I
0920: 46 4e 44 45 46 20 55 53 45 5f 43 52 54 5f 44 4c  FNDEF USE_CRT_DL
0930: 4c 0a 55 53 45 5f 43 52 54 5f 44 4c 4c 20 3d 20  L.USE_CRT_DLL =
0940: 30 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  0.!ENDIF..# Set
0950: 74 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 6c 69  this non-0 to li
0960: 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 34  nk to the RPCRT4
0970: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
0980: 44 45 46 20 55 53 45 5f 52 50 43 52 54 34 5f 4c  DEF USE_RPCRT4_L
0990: 49 42 0a 55 53 45 5f 52 50 43 52 54 34 5f 4c 49  IB.USE_RPCRT4_LI
09a0: 42 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  B = 0.!ENDIF..#
09b0: 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20 74  Set this non-0 t
09c0: 6f 20 67 65 6e 65 72 61 74 65 20 61 73 73 65 6d  o generate assem
09d0: 62 6c 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67  bly code listing
09e0: 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65  s for the source
09f0: 20 63 6f 64 65 0a 23 20 66 69 6c 65 73 2e 0a 23   code.# files..#
0a00: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 4c 49 53  .!IFNDEF USE_LIS
0a10: 54 49 4e 47 53 0a 55 53 45 5f 4c 49 53 54 49 4e  TINGS.USE_LISTIN
0a20: 47 53 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  GS = 0.!ENDIF..#
0a30: 20 53 65 74 20 74 68 69 73 20 6e 6f 6e 2d 30 20   Set this non-0
0a40: 74 6f 20 61 74 74 65 6d 70 74 20 73 65 74 74 69  to attempt setti
0a50: 6e 67 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  ng the native co
0a60: 6d 70 69 6c 65 72 20 61 75 74 6f 6d 61 74 69 63  mpiler automatic
0a70: 61 6c 6c 79 0a 23 20 66 6f 72 20 63 72 6f 73 73  ally.# for cross
0a80: 2d 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 63  -compiling the c
0a90: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c  ommand line tool
0aa0: 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67 20  s needed during
0ab0: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0ac0: 23 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46  # process..#.!IF
0ad0: 4e 44 45 46 20 58 43 4f 4d 50 49 4c 45 0a 58 43  NDEF XCOMPILE.XC
0ae0: 4f 4d 50 49 4c 45 20 3d 20 30 0a 21 45 4e 44 49  OMPILE = 0.!ENDI
0af0: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0b00: 6e 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 6e  n-0 to use the n
0b10: 61 74 69 76 65 20 6c 69 62 72 61 72 69 65 73 20  ative libraries
0b20: 70 61 74 68 73 20 66 6f 72 20 63 72 6f 73 73 2d  paths for cross-
0b30: 63 6f 6d 70 69 6c 69 6e 67 0a 23 20 74 68 65 20  compiling.# the
0b40: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 74 6f 6f  command line too
0b50: 6c 73 20 6e 65 65 64 65 64 20 64 75 72 69 6e 67  ls needed during
0b60: 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   the compilation
0b70: 20 70 72 6f 63 65 73 73 2e 0a 23 0a 21 49 46 4e   process..#.!IFN
0b80: 44 45 46 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c  DEF USE_NATIVE_L
0b90: 49 42 50 41 54 48 53 0a 55 53 45 5f 4e 41 54 49  IBPATHS.USE_NATI
0ba0: 56 45 5f 4c 49 42 50 41 54 48 53 20 3d 20 30 0a  VE_LIBPATHS = 0.
0bb0: 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68  !ENDIF..# Set th
0bc0: 69 73 20 30 20 74 6f 20 73 6b 69 70 20 74 68 65  is 0 to skip the
0bd0: 20 63 6f 6d 70 69 6c 69 6e 67 20 61 6e 64 20 65   compiling and e
0be0: 6d 62 65 64 64 69 6e 67 20 6f 66 20 76 65 72 73  mbedding of vers
0bf0: 69 6f 6e 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  ion resources..#
0c00: 0a 21 49 46 4e 44 45 46 20 55 53 45 5f 52 43 0a  .!IFNDEF USE_RC.
0c10: 55 53 45 5f 52 43 20 3d 20 31 0a 21 45 4e 44 49  USE_RC = 1.!ENDI
0c20: 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20 6e 6f  F..# Set this no
0c30: 6e 2d 30 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62  n-0 to compile b
0c40: 69 6e 61 72 69 65 73 20 73 75 69 74 61 62 6c 65  inaries suitable
0c50: 20 66 6f 72 20 74 68 65 20 57 69 6e 52 54 20 65   for the WinRT e
0c60: 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 23 20 54 68  nvironment..# Th
0c70: 69 73 20 73 65 74 74 69 6e 67 20 64 6f 65 73 20  is setting does
0c80: 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 61 6e 79  not apply to any
0c90: 20 62 69 6e 61 72 69 65 73 20 74 68 61 74 20 72   binaries that r
0ca0: 65 71 75 69 72 65 20 54 63 6c 20 74 6f 20 6f 70  equire Tcl to op
0cb0: 65 72 61 74 65 0a 23 20 70 72 6f 70 65 72 6c 79  erate.# properly
0cc0: 20 28 69 2e 65 2e 20 74 68 65 20 74 65 78 74 20   (i.e. the text
0cd0: 66 69 78 74 75 72 65 2c 20 65 74 63 29 2e 0a 23  fixture, etc)..#
0ce0: 0a 21 49 46 4e 44 45 46 20 46 4f 52 5f 57 49 4e  .!IFNDEF FOR_WIN
0cf0: 52 54 0a 46 4f 52 5f 57 49 4e 52 54 20 3d 20 30  RT.FOR_WINRT = 0
0d00: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0d10: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
0d20: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
0d30: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 55  itable for the U
0d40: 57 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a  WP environment..
0d50: 23 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 64  # This setting d
0d60: 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f  oes not apply to
0d70: 20 61 6e 79 20 62 69 6e 61 72 69 65 73 20 74 68   any binaries th
0d80: 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 20 74  at require Tcl t
0d90: 6f 20 6f 70 65 72 61 74 65 0a 23 20 70 72 6f 70  o operate.# prop
0da0: 65 72 6c 79 20 28 69 2e 65 2e 20 74 68 65 20 74  erly (i.e. the t
0db0: 65 78 74 20 66 69 78 74 75 72 65 2c 20 65 74 63  ext fixture, etc
0dc0: 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f 52  )..#.!IFNDEF FOR
0dd0: 5f 55 57 50 0a 46 4f 52 5f 55 57 50 20 3d 20 30  _UWP.FOR_UWP = 0
0de0: 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74  .!ENDIF..# Set t
0df0: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 63 6f 6d  his non-0 to com
0e00: 70 69 6c 65 20 62 69 6e 61 72 69 65 73 20 73 75  pile binaries su
0e10: 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 57  itable for the W
0e20: 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f  indows 10 platfo
0e30: 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 46 4f  rm..#.!IFNDEF FO
0e40: 52 5f 57 49 4e 31 30 0a 46 4f 52 5f 57 49 4e 31  R_WIN10.FOR_WIN1
0e50: 30 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23 20  0 = 0.!ENDIF..#
0e60: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 53 65 74 20 74  <<mark>>.# Set t
0e70: 68 69 73 20 6e 6f 6e 2d 30 20 74 6f 20 73 6b 69  his non-0 to ski
0e80: 70 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  p attempting to
0e90: 6c 6f 6f 6b 20 66 6f 72 20 61 6e 64 2f 6f 72 20  look for and/or
0ea0: 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 54 63  link with the Tc
0eb0: 6c 0a 23 20 72 75 6e 74 69 6d 65 20 6c 69 62 72  l.# runtime libr
0ec0: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e  ary..#.!IFNDEF N
0ed0: 4f 5f 54 43 4c 0a 4e 4f 5f 54 43 4c 20 3d 20 30  O_TCL.NO_TCL = 0
0ee0: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
0ef0: 6b 3e 3e 0a 0a 23 20 53 65 74 20 74 68 69 73 20  k>>..# Set this
0f00: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 63 72 65 61  to non-0 to crea
0f10: 74 65 20 61 6e 64 20 75 73 65 20 50 44 42 73 2e  te and use PDBs.
0f20: 0a 23 0a 21 49 46 4e 44 45 46 20 53 59 4d 42 4f  .#.!IFNDEF SYMBO
0f30: 4c 53 0a 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 21  LS.SYMBOLS = 1.!
0f40: 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69  ENDIF..# Set thi
0f50: 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 75 73  s to non-0 to us
0f60: 65 20 74 68 65 20 53 51 4c 69 74 65 20 64 65 62  e the SQLite deb
0f70: 75 67 67 69 6e 67 20 68 65 61 70 20 73 75 62 73  ugging heap subs
0f80: 79 73 74 65 6d 2e 0a 23 0a 21 49 46 4e 44 45 46  ystem..#.!IFNDEF
0f90: 20 4d 45 4d 44 45 42 55 47 0a 4d 45 4d 44 45 42   MEMDEBUG.MEMDEB
0fa0: 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a 0a 23  UG = 0.!ENDIF..#
0fb0: 20 53 65 74 20 74 68 69 73 20 74 6f 20 6e 6f 6e   Set this to non
0fc0: 2d 30 20 74 6f 20 75 73 65 20 74 68 65 20 57 69  -0 to use the Wi
0fd0: 6e 33 32 20 6e 61 74 69 76 65 20 68 65 61 70 20  n32 native heap
0fe0: 73 75 62 73 79 73 74 65 6d 2e 0a 23 0a 21 49 46  subsystem..#.!IF
0ff0: 4e 44 45 46 20 57 49 4e 33 32 48 45 41 50 0a 57  NDEF WIN32HEAP.W
1000: 49 4e 33 32 48 45 41 50 20 3d 20 30 0a 21 45 4e  IN32HEAP = 0.!EN
1010: 44 49 46 0a 0a 23 20 53 65 74 20 74 68 69 73 20  DIF..# Set this
1020: 74 6f 20 6e 6f 6e 2d 30 20 74 6f 20 65 6e 61 62  to non-0 to enab
1030: 6c 65 20 4f 53 54 52 41 43 45 28 29 20 6d 61 63  le OSTRACE() mac
1040: 72 6f 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62  ros, which can b
1050: 65 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 23 20  e useful when.#
1060: 64 65 62 75 67 67 69 6e 67 2e 0a 23 0a 21 49 46  debugging..#.!IF
1070: 4e 44 45 46 20 4f 53 54 52 41 43 45 0a 4f 53 54  NDEF OSTRACE.OST
1080: 52 41 43 45 20 3d 20 30 0a 21 45 4e 44 49 46 0a  RACE = 0.!ENDIF.
1090: 0a 23 20 53 65 74 20 74 68 69 73 20 74 6f 20 6f  .# Set this to o
10a0: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77  ne of the follow
10b0: 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 65 6e  ing values to en
10c0: 61 62 6c 65 20 76 61 72 69 6f 75 73 20 64 65 62  able various deb
10d0: 75 67 67 69 6e 67 0a 23 20 66 65 61 74 75 72 65  ugging.# feature
10e0: 73 2e 20 20 45 61 63 68 20 6c 65 76 65 6c 20 69  s.  Each level i
10f0: 6e 63 6c 75 64 65 73 20 74 68 65 20 64 65 62 75  ncludes the debu
1100: 67 67 69 6e 67 20 6f 70 74 69 6f 6e 73 20 66 72  gging options fr
1110: 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a  om the previous.
1120: 23 20 6c 65 76 65 6c 73 2e 20 20 43 75 72 72 65  # levels.  Curre
1130: 6e 74 6c 79 2c 20 74 68 65 20 72 65 63 6f 67 6e  ntly, the recogn
1140: 69 7a 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20  ized values for
1150: 44 45 42 55 47 20 61 72 65 3a 0a 23 0a 23 20 30  DEBUG are:.#.# 0
1160: 20 3d 3d 20 4e 44 45 42 55 47 3a 20 44 69 73 61   == NDEBUG: Disa
1170: 62 6c 65 73 20 61 73 73 65 72 74 28 29 20 61 6e  bles assert() an
1180: 64 20 6f 74 68 65 72 20 72 75 6e 74 69 6d 65 20  d other runtime
1190: 64 69 61 67 6e 6f 73 74 69 63 73 2e 0a 23 20 31  diagnostics..# 1
11a0: 20 3d 3d 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c   == SQLITE_ENABL
11b0: 45 5f 41 50 49 5f 41 52 4d 4f 52 3a 20 65 78 74  E_API_ARMOR: ext
11c0: 72 61 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64  ra attempts to d
11d0: 65 74 65 63 74 20 6d 69 73 75 73 65 20 6f 66 20  etect misuse of
11e0: 74 68 65 20 41 50 49 2e 0a 23 20 32 20 3d 3d 20  the API..# 2 ==
11f0: 44 69 73 61 62 6c 65 73 20 4e 44 45 42 55 47 20  Disables NDEBUG
1200: 61 6e 64 20 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  and all optimiza
1210: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 6e 20 65  tions and then e
1220: 6e 61 62 6c 65 73 20 50 44 42 73 2e 0a 23 20 33  nables PDBs..# 3
1230: 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42 55 47   == SQLITE_DEBUG
1240: 3a 20 45 6e 61 62 6c 65 73 20 76 61 72 69 6f 75  : Enables variou
1250: 73 20 64 69 61 67 6e 6f 73 74 69 63 73 20 6d 65  s diagnostics me
1260: 73 73 61 67 65 73 20 61 6e 64 20 63 6f 64 65 2e  ssages and code.
1270: 0a 23 20 34 20 3d 3d 20 53 51 4c 49 54 45 5f 57  .# 4 == SQLITE_W
1280: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
1290: 44 41 54 45 3a 20 56 61 6c 69 64 61 74 65 20 74  DATE: Validate t
12a0: 68 65 20 57 69 6e 33 32 20 6e 61 74 69 76 65 20  he Win32 native
12b0: 68 65 61 70 20 70 65 72 20 63 61 6c 6c 2e 0a 23  heap per call..#
12c0: 20 35 20 3d 3d 20 53 51 4c 49 54 45 5f 44 45 42   5 == SQLITE_DEB
12d0: 55 47 5f 4f 53 5f 54 52 41 43 45 3a 20 45 6e 61  UG_OS_TRACE: Ena
12e0: 62 6c 65 73 20 6f 75 74 70 75 74 20 66 72 6f 6d  bles output from
12f0: 20 74 68 65 20 4f 53 54 52 41 43 45 28 29 20 6d   the OSTRACE() m
1300: 61 63 72 6f 73 2e 0a 23 20 36 20 3d 3d 20 53 51  acros..# 6 == SQ
1310: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
1320: 41 43 45 3a 20 45 6e 61 62 6c 65 73 20 6f 75 74  ACE: Enables out
1330: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 49 4f 54  put from the IOT
1340: 52 41 43 45 28 29 20 6d 61 63 72 6f 73 2e 0a 23  RACE() macros..#
1350: 0a 21 49 46 4e 44 45 46 20 44 45 42 55 47 0a 44  .!IFNDEF DEBUG.D
1360: 45 42 55 47 20 3d 20 30 0a 21 45 4e 44 49 46 0a  EBUG = 0.!ENDIF.
1370: 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f 66  .# Enable use of
1380: 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 70 69   available compi
1390: 6c 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  ler optimization
13a0: 73 3f 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 68  s?  Normally, th
13b0: 69 73 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 6e  is should be.# n
13c0: 6f 6e 2d 7a 65 72 6f 2e 20 20 53 65 74 74 69 6e  on-zero.  Settin
13d0: 67 20 74 68 69 73 20 74 6f 20 7a 65 72 6f 2c 20  g this to zero,
13e0: 74 68 75 73 20 64 69 73 61 62 6c 69 6e 67 20 61  thus disabling a
13f0: 6c 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ll compiler opti
1400: 6d 69 7a 61 74 69 6f 6e 73 2c 0a 23 20 63 61 6e  mizations,.# can
1410: 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 74   be useful for t
1420: 65 73 74 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  esting..#.!IFNDE
1430: 46 20 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 0a  F OPTIMIZATIONS.
1440: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 20 3d 20  OPTIMIZATIONS =
1450: 32 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20  2.!ENDIF..# Set
1460: 74 68 69 73 20 74 6f 20 6e 6f 6e 2d 30 20 74 6f  this to non-0 to
1470: 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20   enable support
1480: 66 6f 72 20 74 68 65 20 73 65 73 73 69 6f 6e 20  for the session
1490: 65 78 74 65 6e 73 69 6f 6e 2e 0a 23 0a 21 49 46  extension..#.!IF
14a0: 4e 44 45 46 20 53 45 53 53 49 4f 4e 0a 53 45 53  NDEF SESSION.SES
14b0: 53 49 4f 4e 20 3d 20 30 0a 21 45 4e 44 49 46 0a  SION = 0.!ENDIF.
14c0: 0a 23 20 53 65 74 20 74 68 65 20 73 6f 75 72 63  .# Set the sourc
14d0: 65 20 63 6f 64 65 20 66 69 6c 65 20 74 6f 20 62  e code file to b
14e0: 65 20 75 73 65 64 20 62 79 20 65 78 65 63 75 74  e used by execut
14f0: 61 62 6c 65 73 20 61 6e 64 20 6c 69 62 72 61 72  ables and librar
1500: 69 65 73 20 77 68 65 6e 0a 23 20 74 68 65 79 20  ies when.# they
1510: 6e 65 65 64 20 74 68 65 20 61 6d 61 6c 67 61 6d  need the amalgam
1520: 61 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46  ation..#.!IFNDEF
1530: 20 53 51 4c 49 54 45 33 43 0a 21 49 46 20 24 28   SQLITE3C.!IF $( 1540: 53 50 4c 49 54 5f 41 4d 41 4c 47 41 4d 41 54 49 SPLIT_AMALGAMATI 1550: 4f 4e 29 21 3d 30 0a 53 51 4c 49 54 45 33 43 20 ON)!=0.SQLITE3C 1560: 3d 20 73 71 6c 69 74 65 33 2d 61 6c 6c 2e 63 0a = sqlite3-all.c. 1570: 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 43 20 3d !ELSE.SQLITE3C = 1580: 20 73 71 6c 69 74 65 33 2e 63 0a 21 45 4e 44 49 sqlite3.c.!ENDI 1590: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 53 65 74 20 F.!ENDIF..# Set 15a0: 74 68 65 20 69 6e 63 6c 75 64 65 20 63 6f 64 65 the include code 15b0: 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 file to be used 15c0: 20 62 79 20 65 78 65 63 75 74 61 62 6c 65 73 20 by executables 15d0: 61 6e 64 20 6c 69 62 72 61 72 69 65 73 20 77 68 and libraries wh 15e0: 65 6e 0a 23 20 74 68 65 79 20 6e 65 65 64 20 53 en.# they need S 15f0: 51 4c 69 74 65 2e 0a 23 0a 21 49 46 4e 44 45 46 QLite..#.!IFNDEF 1600: 20 53 51 4c 49 54 45 33 48 0a 53 51 4c 49 54 45 SQLITE3H.SQLITE 1610: 33 48 20 3d 20 73 71 6c 69 74 65 33 2e 68 0a 21 3H = sqlite3.h.! 1620: 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 ENDIF..# This is 1630: 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 the name to use 1640: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20 for the SQLite 1650: 64 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 dynamic link lib 1660: 72 61 72 79 20 28 44 4c 4c 29 2e 0a 23 0a 21 49 rary (DLL)..#.!I 1670: 46 4e 44 45 46 20 53 51 4c 49 54 45 33 44 4c 4c FNDEF SQLITE3DLL 1680: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 .!IF$(FOR_WIN10
1690: 29 21 3d 30 0a 53 51 4c 49 54 45 33 44 4c 4c 20  )!=0.SQLITE3DLL
16a0: 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 64 6c 6c  = winsqlite3.dll
16b0: 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 44 4c  .!ELSE.SQLITE3DL
16c0: 4c 20 3d 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a  L = sqlite3.dll.
16d0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
16e0: 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d   This is the nam
16f0: 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65  e to use for the
1700: 20 53 51 4c 69 74 65 20 69 6d 70 6f 72 74 20 6c   SQLite import l
1710: 69 62 72 61 72 79 20 28 4c 49 42 29 2e 0a 23 0a  ibrary (LIB)..#.
1720: 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 33 4c  !IFNDEF SQLITE3L
1730: 49 42 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  IB.!IF $(FOR_WIN 1740: 31 30 29 21 3d 30 0a 53 51 4c 49 54 45 33 4c 49 10)!=0.SQLITE3LI 1750: 42 20 3d 20 77 69 6e 73 71 6c 69 74 65 33 2e 6c B = winsqlite3.l 1760: 69 62 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 ib.!ELSE.SQLITE3 1770: 4c 49 42 20 3d 20 73 71 6c 69 74 65 33 2e 6c 69 LIB = sqlite3.li 1780: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a b.!ENDIF.!ENDIF. 1790: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 6e .# This is the n 17a0: 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 ame to use for t 17b0: 68 65 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 he SQLite shell 17c0: 65 78 65 63 75 74 61 62 6c 65 20 28 45 58 45 29 executable (EXE) 17d0: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 ..#.!IFNDEF SQLI 17e0: 54 45 33 45 58 45 0a 21 49 46 20 24 28 46 4f 52 TE3EXE.!IF$(FOR
17f0: 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 54  _WIN10)!=0.SQLIT
1800: 45 33 45 58 45 20 3d 20 77 69 6e 73 71 6c 69 74  E3EXE = winsqlit
1810: 65 33 73 68 65 6c 6c 2e 65 78 65 0a 21 45 4c 53  e3shell.exe.!ELS
1820: 45 0a 53 51 4c 49 54 45 33 45 58 45 20 3d 20 73  E.SQLITE3EXE = s
1830: 71 6c 69 74 65 33 2e 65 78 65 0a 21 45 4e 44 49  qlite3.exe.!ENDI
1840: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73  F.!ENDIF..# This
1850: 20 69 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74   is the argument
1860: 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65   used to set the
1870: 20 70 72 6f 67 72 61 6d 20 64 61 74 61 62 61 73   program databas
1880: 65 20 28 50 44 42 29 20 66 69 6c 65 20 66 6f 72  e (PDB) file for
1890: 20 74 68 65 0a 23 20 53 51 4c 69 74 65 20 73 68   the.# SQLite sh
18a0: 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 20 28  ell executable (
18b0: 45 58 45 29 2e 0a 23 0a 21 49 46 4e 44 45 46 20  EXE)..#.!IFNDEF
18c0: 53 51 4c 49 54 45 33 45 58 45 50 44 42 0a 21 49  SQLITE3EXEPDB.!I
18d0: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!= 18e0: 30 0a 53 51 4c 49 54 45 33 45 58 45 50 44 42 20 0.SQLITE3EXEPDB 18f0: 3d 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 33 45 =.!ELSE.SQLITE3E 1900: 58 45 50 44 42 20 3d 20 2f 70 64 62 3a 73 71 6c XEPDB = /pdb:sql 1910: 69 74 65 33 73 68 2e 70 64 62 0a 21 45 4e 44 49 ite3sh.pdb.!ENDI 1920: 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 F.!ENDIF..# Thes 1930: 65 20 61 72 65 20 74 68 65 20 6e 61 6d 65 73 20 e are the names 1940: 6f 66 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 65 of the customize 1950: 64 20 54 63 6c 20 68 65 61 64 65 72 20 66 69 6c d Tcl header fil 1960: 65 73 20 75 73 65 64 20 62 79 20 76 61 72 69 6f es used by vario 1970: 75 73 20 70 61 72 74 73 0a 23 20 6f 66 20 74 68 us parts.# of th 1980: 69 73 20 6d 61 6b 65 66 69 6c 65 20 77 68 65 6e is makefile when 1990: 20 74 68 65 20 73 74 64 63 61 6c 6c 20 63 61 6c the stdcall cal 19a0: 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 ling convention 19b0: 69 73 20 69 6e 20 75 73 65 2e 20 20 49 74 20 69 is in use. It i 19c0: 73 20 6e 6f 74 0a 23 20 75 73 65 64 20 66 6f 72 s not.# used for 19d0: 20 61 6e 79 20 6f 74 68 65 72 20 70 75 72 70 6f any other purpo 19e0: 73 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 51 se..#.!IFNDEF SQ 19f0: 4c 49 54 45 54 43 4c 48 0a 53 51 4c 49 54 45 54 LITETCLH.SQLITET 1a00: 43 4c 48 20 3d 20 73 71 6c 69 74 65 5f 74 63 6c CLH = sqlite_tcl 1a10: 2e 68 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44 .h.!ENDIF..!IFND 1a20: 45 46 20 53 51 4c 49 54 45 54 43 4c 44 45 43 4c EF SQLITETCLDECL 1a30: 53 48 0a 53 51 4c 49 54 45 54 43 4c 44 45 43 4c SH.SQLITETCLDECL 1a40: 53 48 20 3d 20 73 71 6c 69 74 65 5f 74 63 6c 44 SH = sqlite_tclD 1a50: 65 63 6c 73 2e 68 0a 21 45 4e 44 49 46 0a 0a 23 ecls.h.!ENDIF..# 1a60: 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 61 These are the a 1a70: 64 64 69 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 dditional target 1a80: 73 20 74 68 61 74 20 74 68 65 20 74 61 72 67 65 s that the targe 1a90: 74 73 20 74 68 61 74 20 69 6e 74 65 67 72 61 74 ts that integrat 1aa0: 65 20 77 69 74 68 20 74 68 65 0a 23 20 54 63 6c e with the.# Tcl 1ab0: 20 6c 69 62 72 61 72 79 20 73 68 6f 75 6c 64 20 library should 1ac0: 64 65 70 65 6e 64 20 6f 6e 20 77 68 65 6e 20 63 depend on when c 1ad0: 6f 6d 70 69 6c 69 6e 67 2c 20 65 74 63 2e 0a 23 ompiling, etc..# 1ae0: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 5f .!IFNDEF SQLITE_ 1af0: 54 43 4c 5f 44 45 50 0a 21 49 46 20 24 28 55 53 TCL_DEP.!IF$(US
1b00: 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c  E_STDCALL)!=0 ||
1b10: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30   $(FOR_WIN10)!=0 1b20: 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 20 .SQLITE_TCL_DEP 1b30: 3d 20 24 28 53 51 4c 49 54 45 54 43 4c 44 45 43 =$(SQLITETCLDEC
1b40: 4c 53 48 29 20 24 28 53 51 4c 49 54 45 54 43 4c  LSH) $(SQLITETCL 1b50: 48 29 0a 21 45 4c 53 45 0a 53 51 4c 49 54 45 5f H).!ELSE.SQLITE_ 1b60: 54 43 4c 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 TCL_DEP =.!ENDIF 1b70: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 .!ENDIF..# These 1b80: 20 61 72 65 20 74 68 65 20 22 73 74 61 6e 64 61 are the "standa 1b90: 72 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 rd" SQLite compi 1ba0: 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 lation options u 1bb0: 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 sed when compili 1bc0: 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e ng for.# the Win 1bd0: 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 dows platform..# 1be0: 0a 21 49 46 4e 44 45 46 20 4f 50 54 5f 46 45 41 .!IFNDEF OPT_FEA 1bf0: 54 55 52 45 5f 46 4c 41 47 53 0a 21 49 46 20 24 TURE_FLAGS.!IF$
1c00: 28 4d 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d  (MINIMAL_AMALGAM
1c10: 41 54 49 4f 4e 29 3d 3d 30 0a 4f 50 54 5f 46 45  ATION)==0.OPT_FE
1c20: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  ATURE_FLAGS = $( 1c30: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG 1c40: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 S) -DSQLITE_ENAB 1c50: 4c 45 5f 46 54 53 33 3d 31 0a 4f 50 54 5f 46 45 LE_FTS3=1.OPT_FE 1c60: 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 ATURE_FLAGS =$(
1c70: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
1c80: 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42  S) -DSQLITE_ENAB
1c90: 4c 45 5f 52 54 52 45 45 3d 31 0a 21 45 4e 44 49  LE_RTREE=1.!ENDI
1ca0: 46 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c  F.OPT_FEATURE_FL
1cb0: 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54  AGS = $(OPT_FEAT 1cc0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c URE_FLAGS) -DSQL 1cd0: 49 54 45 5f 45 4e 41 42 4c 45 5f 43 4f 4c 55 4d ITE_ENABLE_COLUM 1ce0: 4e 5f 4d 45 54 41 44 41 54 41 3d 31 0a 21 45 4e N_METADATA=1.!EN 1cf0: 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 74 68 DIF..# Should th 1d00: 65 20 73 65 73 73 69 6f 6e 20 65 78 74 65 6e 73 e session extens 1d10: 69 6f 6e 20 62 65 20 65 6e 61 62 6c 65 64 3f 20 ion be enabled? 1d20: 20 49 66 20 73 6f 2c 20 61 64 64 20 63 6f 6d 70 If so, add comp 1d30: 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 0a ilation options. 1d40: 23 20 74 6f 20 65 6e 61 62 6c 65 20 69 74 2e 0a # to enable it.. 1d50: 23 0a 21 49 46 20 24 28 53 45 53 53 49 4f 4e 29 #.!IF$(SESSION)
1d60: 21 3d 30 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f  !=0.OPT_FEATURE_
1d70: 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 5f 46 45  FLAGS = $(OPT_FE 1d80: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 ATURE_FLAGS) -DS 1d90: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 45 53 QLITE_ENABLE_SES 1da0: 53 49 4f 4e 3d 31 0a 4f 50 54 5f 46 45 41 54 55 SION=1.OPT_FEATU 1db0: 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f 50 54 RE_FLAGS =$(OPT
1dc0: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20  _FEATURE_FLAGS)
1dd0: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
1de0: 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b 3d 31  PREUPDATE_HOOK=1
1df0: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65  .!ENDIF..# These
1e00: 20 61 72 65 20 74 68 65 20 22 65 78 74 65 6e 64   are the "extend
1e10: 65 64 22 20 53 51 4c 69 74 65 20 63 6f 6d 70 69  ed" SQLite compi
1e20: 6c 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75  lation options u
1e30: 73 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69  sed when compili
1e40: 6e 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e  ng for.# the Win
1e50: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d  dows 10 platform
1e60: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 45 58 54 5f  ..#.!IFNDEF EXT_
1e70: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 0a 21 49  FEATURE_FLAGS.!I
1e80: 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  F $(FOR_WIN10)!= 1e90: 30 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 0.EXT_FEATURE_FL 1ea0: 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54 AGS =$(EXT_FEAT
1eb0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c  URE_FLAGS) -DSQL
1ec0: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 34 3d  ITE_ENABLE_FTS4=
1ed0: 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c  1.EXT_FEATURE_FL
1ee0: 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 41 54  AGS = $(EXT_FEAT 1ef0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c URE_FLAGS) -DSQL 1f00: 49 54 45 5f 53 59 53 54 45 4d 5f 4d 41 4c 4c 4f ITE_SYSTEM_MALLO 1f10: 43 3d 31 0a 45 58 54 5f 46 45 41 54 55 52 45 5f C=1.EXT_FEATURE_ 1f20: 46 4c 41 47 53 20 3d 20 24 28 45 58 54 5f 46 45 FLAGS =$(EXT_FE
1f30: 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53  ATURE_FLAGS) -DS
1f40: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c  QLITE_OMIT_LOCAL
1f50: 54 49 4d 45 3d 31 0a 21 45 4c 53 45 0a 45 58 54  TIME=1.!ELSE.EXT
1f60: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
1f70: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a  .!ENDIF.!ENDIF..
1f80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1f90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fa0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fc0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
1fd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fe0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20  ###############
1ff0: 45 4e 44 20 4f 46 20 4f 50 54 49 4f 4e 53 20 23  END OF OPTIONS #
2000: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2010: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
2020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
2070: 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  .# When compilin
2080: 67 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77  g for the Window
2090: 73 20 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 74  s 10 platform, t
20a0: 68 65 20 50 4c 41 54 46 4f 52 4d 20 6d 61 63 72  he PLATFORM macr
20b0: 6f 20 6d 75 73 74 20 62 65 20 73 65 74 0a 23 20  o must be set.#
20c0: 74 6f 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74  to an appropriat
20d0: 65 20 76 61 6c 75 65 20 28 65 2e 67 2e 20 78 38  e value (e.g. x8
20e0: 36 2c 20 78 36 34 2c 20 61 72 6d 2c 20 61 72 6d  6, x64, arm, arm
20f0: 36 34 2c 20 65 74 63 29 2e 0a 23 0a 21 49 46 20  64, etc)..#.!IF
2100: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a  $(FOR_WIN10)!=0. 2110: 21 49 46 4e 44 45 46 20 50 4c 41 54 46 4f 52 4d !IFNDEF PLATFORM 2120: 0a 21 45 52 52 4f 52 20 55 73 69 6e 67 20 74 68 .!ERROR Using th 2130: 65 20 46 4f 52 5f 57 49 4e 31 30 20 6f 70 74 69 e FOR_WIN10 opti 2140: 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 61 on requires a va 2150: 6c 75 65 20 66 6f 72 20 50 4c 41 54 46 4f 52 4d lue for PLATFORM 2160: 2e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a ..!ENDIF.!ENDIF. 2170: 0a 23 20 54 68 69 73 20 61 73 73 75 6d 65 73 20 .# This assumes 2180: 74 68 61 74 20 4d 53 56 43 20 69 73 20 61 6c 77 that MSVC is alw 2190: 61 79 73 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e ays installed in 21a0: 20 33 32 2d 62 69 74 20 50 72 6f 67 72 61 6d 20 32-bit Program 21b0: 46 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 0a Files directory. 21c0: 23 20 61 6e 64 20 73 65 74 73 20 74 68 65 20 76 # and sets the v 21d0: 61 72 69 61 62 6c 65 20 66 6f 72 20 75 73 65 20 ariable for use 21e0: 69 6e 20 6c 6f 63 61 74 69 6e 67 20 6f 74 68 65 in locating othe 21f0: 72 20 33 32 2d 62 69 74 20 69 6e 73 74 61 6c 6c r 32-bit install 2200: 73 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0a 23 s accordingly..# 2210: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 .PROGRAMFILES_X8 2220: 36 20 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 6 =$(VCINSTALLD
2230: 49 52 29 5c 2e 2e 5c 2e 2e 0a 50 52 4f 47 52 41  IR)\..\...PROGRA
2240: 4d 46 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 50  MFILES_X86 = $(P 2250: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 3a ROGRAMFILES_X86: 2260: 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 \\=\)..# Check f 2270: 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 or the predefine 2280: 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 d command macro 2290: 43 43 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 CC. This should 22a0: 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63 6f point to the co 22b0: 6d 70 69 6c 65 72 0a 23 20 62 69 6e 61 72 79 20 mpiler.# binary 22c0: 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 70 for the target p 22d0: 6c 61 74 66 6f 72 6d 2e 20 20 49 66 20 69 74 20 latform. If it 22e0: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 is not defined, 22f0: 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 74 simply define it 2300: 20 74 6f 0a 23 20 74 68 65 20 6c 65 67 61 63 79 to.# the legacy 2310: 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 27 default value ' 2320: 63 6c 2e 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 cl.exe'..#.!IFND 2330: 45 46 20 43 43 0a 43 43 20 3d 20 63 6c 2e 65 78 EF CC.CC = cl.ex 2340: 65 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 e.!ENDIF..# Chec 2350: 6b 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 k for the predef 2360: 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 ined command mac 2370: 72 6f 20 43 53 43 2e 20 20 54 68 69 73 20 73 68 ro CSC. This sh 2380: 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 61 20 ould point to a 2390: 77 6f 72 6b 69 6e 67 0a 23 20 43 20 53 68 61 72 working.# C Shar 23a0: 70 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 72 p compiler binar 23b0: 79 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 y. If it is not 23c0: 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 defined, simply 23d0: 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 68 define it to th 23e0: 65 0a 23 20 6c 65 67 61 63 79 20 64 65 66 61 75 e.# legacy defau 23f0: 6c 74 20 76 61 6c 75 65 20 27 63 73 63 2e 65 78 lt value 'csc.ex 2400: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 53 e'..#.!IFNDEF CS 2410: 43 0a 43 53 43 20 3d 20 63 73 63 2e 65 78 65 0a C.CSC = csc.exe. 2420: 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 !ENDIF..# Check 2430: 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 for the command 2440: 6d 61 63 72 6f 20 4c 44 2e 20 20 54 68 69 73 20 macro LD. This 2450: 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 should point to 2460: 74 68 65 20 6c 69 6e 6b 65 72 20 62 69 6e 61 72 the linker binar 2470: 79 20 66 6f 72 0a 23 20 74 68 65 20 74 61 72 67 y for.# the targ 2480: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 et platform. If 2490: 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e it is not defin 24a0: 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e ed, simply defin 24b0: 65 20 69 74 20 74 6f 20 74 68 65 20 6c 65 67 61 e it to the lega 24c0: 63 79 0a 23 20 64 65 66 61 75 6c 74 20 76 61 6c cy.# default val 24d0: 75 65 20 27 6c 69 6e 6b 2e 65 78 65 27 2e 0a 23 ue 'link.exe'..# 24e0: 0a 21 49 46 4e 44 45 46 20 4c 44 0a 4c 44 20 3d .!IFNDEF LD.LD = 24f0: 20 6c 69 6e 6b 2e 65 78 65 0a 21 45 4e 44 49 46 link.exe.!ENDIF 2500: 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 ..# Check for th 2510: 65 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d e predefined com 2520: 6d 61 6e 64 20 6d 61 63 72 6f 20 52 43 2e 20 20 mand macro RC. 2530: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e This should poin 2540: 74 20 74 6f 20 74 68 65 20 72 65 73 6f 75 72 63 t to the resourc 2550: 65 0a 23 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e e.# compiler bin 2560: 61 72 79 20 66 6f 72 20 74 68 65 20 74 61 72 67 ary for the targ 2570: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 49 66 et platform. If 2580: 20 69 74 20 69 73 20 6e 6f 74 20 64 65 66 69 6e it is not defin 2590: 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e ed, simply defin 25a0: 65 0a 23 20 69 74 20 74 6f 20 74 68 65 20 6c 65 e.# it to the le 25b0: 67 61 63 79 20 64 65 66 61 75 6c 74 20 76 61 6c gacy default val 25c0: 75 65 20 27 72 63 2e 65 78 65 27 2e 0a 23 0a 21 ue 'rc.exe'..#.! 25d0: 49 46 4e 44 45 46 20 52 43 0a 52 43 20 3d 20 72 IFNDEF RC.RC = r 25e0: 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 20 c.exe.!ENDIF..# 25f0: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 Check for the MS 2600: 56 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 VC runtime libra 2610: 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 ry path macro. 2620: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 20 Otherwise, this 2630: 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 value will.# def 2640: 61 75 6c 74 20 74 6f 20 74 68 65 20 27 6c 69 62 ault to the 'lib 2650: 27 20 64 69 72 65 63 74 6f 72 79 20 75 6e 64 65 ' directory unde 2660: 72 6e 65 61 74 68 20 74 68 65 20 4d 53 56 43 20 rneath the MSVC 2670: 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 installation dir 2680: 65 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 ectory..#.!IFNDE 2690: 46 20 43 52 54 4c 49 42 50 41 54 48 0a 43 52 54 F CRTLIBPATH.CRT 26a0: 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43 49 4e LIBPATH =$(VCIN
26b0: 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21 45  STALLDIR)\lib.!E
26c0: 4e 44 49 46 0a 0a 43 52 54 4c 49 42 50 41 54 48  NDIF..CRTLIBPATH
26d0: 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 3a   = $(CRTLIBPATH: 26e0: 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 \\=\)..# Check f 26f0: 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6d or the command m 2700: 61 63 72 6f 20 4e 43 43 2e 20 20 54 68 69 73 20 acro NCC. This 2710: 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 should point to 2720: 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e the compiler bin 2730: 61 72 79 0a 23 20 66 6f 72 20 74 68 65 20 70 6c ary.# for the pl 2740: 61 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 atform the compi 2750: 6c 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 lation process i 2760: 73 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 6f s taking place o 2770: 6e 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 74 n. If it is not 2780: 0a 23 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 .# defined, simp 2790: 6c 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 ly define it to 27a0: 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 76 61 have the same va 27b0: 6c 75 65 20 61 73 20 74 68 65 20 43 43 20 6d 61 lue as the CC ma 27c0: 63 72 6f 2e 20 20 57 68 65 6e 0a 23 20 63 72 6f cro. When.# cro 27d0: 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2c 20 69 74 ss-compiling, it 27e0: 20 69 73 20 73 75 67 67 65 73 74 65 64 20 74 68 is suggested th 27f0: 61 74 20 74 68 69 73 20 6d 61 63 72 6f 20 62 65 at this macro be 2800: 20 6d 6f 64 69 66 69 65 64 20 76 69 61 20 74 68 modified via th 2810: 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 e command.# line 2820: 20 28 73 69 6e 63 65 20 6e 6d 61 6b 65 20 69 74 (since nmake it 2830: 73 65 6c 66 20 64 6f 65 73 20 6e 6f 74 20 70 72 self does not pr 2840: 6f 76 69 64 65 20 61 20 62 75 69 6c 74 2d 69 6e ovide a built-in 2850: 20 6d 65 74 68 6f 64 20 74 6f 20 67 75 65 73 73 method to guess 2860: 20 69 74 29 2e 0a 23 20 46 6f 72 20 65 78 61 6d it)..# For exam 2870: 70 6c 65 2c 20 74 6f 20 75 73 65 20 74 68 65 20 ple, to use the 2880: 78 38 36 20 63 6f 6d 70 69 6c 65 72 20 77 68 65 x86 compiler whe 2890: 6e 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e n cross-compilin 28a0: 67 20 66 6f 72 20 78 36 34 2c 20 61 20 63 6f 6d g for x64, a com 28b0: 6d 61 6e 64 0a 23 20 6c 69 6e 65 20 73 69 6d 69 mand.# line simi 28c0: 6c 61 72 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f lar to the follo 28d0: 77 69 6e 67 20 63 6f 75 6c 64 20 62 65 20 75 73 wing could be us 28e0: 65 64 20 28 61 6c 6c 20 6f 6e 20 6f 6e 65 20 6c ed (all on one l 28f0: 69 6e 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d ine):.#.# nm 2900: 61 6b 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e ake /f Makefile. 2910: 6d 73 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a msc sqlite3.dll. 2920: 23 20 20 20 20 20 20 20 20 20 20 20 58 43 4f 4d # XCOM 2930: 50 49 4c 45 3d 31 20 55 53 45 5f 4e 41 54 49 56 PILE=1 USE_NATIV 2940: 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a 23 0a 23 E_LIBPATHS=1.#.# 2950: 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 Alternatively, 2960: 74 68 65 20 66 75 6c 6c 20 70 61 74 68 20 61 6e the full path an 2970: 64 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 74 d file name to t 2980: 68 65 20 63 6f 6d 70 69 6c 65 72 20 62 69 6e 61 he compiler bina 2990: 72 79 20 66 6f 72 20 74 68 65 0a 23 20 70 6c 61 ry for the.# pla 29a0: 74 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c tform the compil 29b0: 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 20 69 73 ation process is 29c0: 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 20 6d 61 taking place ma 29d0: 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20 28 y be specified ( 29e0: 61 6c 6c 20 6f 6e 0a 23 20 6f 6e 65 20 6c 69 6e all on.# one lin 29f0: 65 29 3a 0a 23 0a 23 20 20 20 20 20 6e 6d 61 6b e):.#.# nmak 2a00: 65 20 2f 66 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 e /f Makefile.ms 2a10: 63 20 73 71 6c 69 74 65 33 2e 64 6c 6c 0a 23 20 c sqlite3.dll.# 2a20: 20 20 20 20 20 20 20 20 20 20 22 4e 43 43 3d 22 "NCC=" 2a30: 22 25 56 43 49 4e 53 54 41 4c 4c 44 49 52 25 5c "%VCINSTALLDIR%\ 2a40: 62 69 6e 5c 63 6c 2e 65 78 65 22 22 22 0a 23 20 bin\cl.exe""".# 2a50: 20 20 20 20 20 20 20 20 20 20 55 53 45 5f 4e 41 USE_NA 2a60: 54 49 56 45 5f 4c 49 42 50 41 54 48 53 3d 31 0a TIVE_LIBPATHS=1. 2a70: 23 0a 21 49 46 44 45 46 20 4e 43 43 0a 4e 43 43 #.!IFDEF NCC.NCC 2a80: 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 =$(NCC:\\=\).!
2a90: 45 4c 53 45 49 46 20 24 28 58 43 4f 4d 50 49 4c  ELSEIF $(XCOMPIL 2aa0: 45 29 21 3d 30 0a 4e 43 43 20 3d 20 22 24 28 56 E)!=0.NCC = "$(V
2ab0: 43 49 4e 53 54 41 4c 4c 44 49 52 29 5c 62 69 6e  CINSTALLDIR)\bin
2ac0: 5c 24 28 43 43 29 22 0a 4e 43 43 20 3d 20 24 28  \$(CC)".NCC =$(
2ad0: 4e 43 43 3a 5c 5c 3d 5c 29 0a 21 45 4c 53 45 0a  NCC:\\=\).!ELSE.
2ae0: 4e 43 43 20 3d 20 24 28 43 43 29 0a 21 45 4e 44  NCC = $(CC).!END 2af0: 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 IF..# Check for 2b00: 74 68 65 20 4d 53 56 43 20 6e 61 74 69 76 65 20 the MSVC native 2b10: 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 runtime library 2b20: 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 path macro. Oth 2b30: 65 72 77 69 73 65 2c 0a 23 20 74 68 69 73 20 76 erwise,.# this v 2b40: 61 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75 6c alue will defaul 2b50: 74 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 t to the 'lib' d 2b60: 69 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 irectory underne 2b70: 61 74 68 20 74 68 65 20 4d 53 56 43 0a 23 20 69 ath the MSVC.# i 2b80: 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 nstallation dire 2b90: 63 74 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 ctory..#.!IFNDEF 2ba0: 20 4e 43 52 54 4c 49 42 50 41 54 48 0a 4e 43 52 NCRTLIBPATH.NCR 2bb0: 54 4c 49 42 50 41 54 48 20 3d 20 24 28 56 43 49 TLIBPATH =$(VCI
2bc0: 4e 53 54 41 4c 4c 44 49 52 29 5c 6c 69 62 0a 21  NSTALLDIR)\lib.!
2bd0: 45 4e 44 49 46 0a 0a 4e 43 52 54 4c 49 42 50 41  ENDIF..NCRTLIBPA
2be0: 54 48 20 3d 20 24 28 4e 43 52 54 4c 49 42 50 41  TH = $(NCRTLIBPA 2bf0: 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 TH:\\=\)..# Chec 2c00: 6b 20 66 6f 72 20 74 68 65 20 50 6c 61 74 66 6f k for the Platfo 2c10: 72 6d 20 53 44 4b 20 6c 69 62 72 61 72 79 20 70 rm SDK library p 2c20: 61 74 68 20 6d 61 63 72 6f 2e 20 20 4f 74 68 65 ath macro. Othe 2c30: 72 77 69 73 65 2c 20 74 68 69 73 0a 23 20 76 61 rwise, this.# va 2c40: 6c 75 65 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 lue will default 2c50: 20 74 6f 20 74 68 65 20 27 6c 69 62 27 20 64 69 to the 'lib' di 2c60: 72 65 63 74 6f 72 79 20 75 6e 64 65 72 6e 65 61 rectory undernea 2c70: 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 0a 23 th the Windows.# 2c80: 20 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f SDK installatio 2c90: 6e 20 64 69 72 65 63 74 6f 72 79 20 28 74 68 65 n directory (the 2ca0: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 environment var 2cb0: 69 61 62 6c 65 20 75 73 65 64 20 61 70 70 65 61 iable used appea 2cc0: 72 73 0a 23 20 74 6f 20 62 65 20 61 76 61 69 6c rs.# to be avail 2cd0: 61 62 6c 65 20 77 68 65 6e 20 75 73 69 6e 67 20 able when using 2ce0: 56 69 73 75 61 6c 20 43 2b 2b 20 32 30 30 38 20 Visual C++ 2008 2cf0: 6f 72 20 6c 61 74 65 72 20 76 69 61 20 74 68 65 or later via the 2d00: 0a 23 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 29 .# command line) 2d10: 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4e 53 44 4b ..#.!IFNDEF NSDK 2d20: 4c 49 42 50 41 54 48 0a 4e 53 44 4b 4c 49 42 50 LIBPATH.NSDKLIBP 2d30: 41 54 48 20 3d 20 24 28 57 49 4e 44 4f 57 53 53 ATH =$(WINDOWSS
2d40: 44 4b 44 49 52 29 5c 6c 69 62 0a 21 45 4e 44 49  DKDIR)\lib.!ENDI
2d50: 46 0a 0a 4e 53 44 4b 4c 49 42 50 41 54 48 20 3d  F..NSDKLIBPATH =
2d60: 20 24 28 4e 53 44 4b 4c 49 42 50 41 54 48 3a 5c   $(NSDKLIBPATH:\ 2d70: 5c 3d 5c 29 0a 0a 23 20 43 68 65 63 6b 20 66 6f \=\)..# Check fo 2d80: 72 20 74 68 65 20 55 43 52 54 20 6c 69 62 72 61 r the UCRT libra 2d90: 72 79 20 70 61 74 68 20 6d 61 63 72 6f 2e 20 20 ry path macro. 2da0: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 20 Otherwise, this 2db0: 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 64 65 66 value will.# def 2dc0: 61 75 6c 74 20 74 6f 20 74 68 65 20 76 65 72 73 ault to the vers 2dd0: 69 6f 6e 2d 73 70 65 63 69 66 69 63 2c 20 70 6c ion-specific, pl 2de0: 61 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 63 20 atform-specific 2df0: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 0a 'lib' directory. 2e00: 23 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 # underneath the 2e10: 20 57 69 6e 64 6f 77 73 20 53 44 4b 20 69 6e 73 Windows SDK ins 2e20: 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 tallation direct 2e30: 6f 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 55 ory..#.!IFNDEF U 2e40: 43 52 54 4c 49 42 50 41 54 48 0a 55 43 52 54 4c CRTLIBPATH.UCRTL 2e50: 49 42 50 41 54 48 20 3d 20 24 28 57 49 4e 44 4f IBPATH =$(WINDO
2e60: 57 53 53 44 4b 44 49 52 29 5c 6c 69 62 5c 24 28  WSSDKDIR)\lib\$( 2e70: 57 49 4e 44 4f 57 53 53 44 4b 4c 49 42 56 45 52 WINDOWSSDKLIBVER 2e80: 53 49 4f 4e 29 5c 75 63 72 74 5c 24 28 50 4c 41 SION)\ucrt\$(PLA
2e90: 54 46 4f 52 4d 29 0a 21 45 4e 44 49 46 0a 0a 55  TFORM).!ENDIF..U
2ea0: 43 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 55  CRTLIBPATH = $(U 2eb0: 43 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 CRTLIBPATH:\\=\) 2ec0: 0a 0a 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 61 ..# C compiler a 2ed0: 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 nd options for u 2ee0: 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 se in building e 2ef0: 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74 0a xecutables that. 2f00: 23 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 # will run on th 2f10: 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 61 74 20 e platform that 2f20: 69 73 20 64 6f 69 6e 67 20 74 68 65 20 62 75 69 is doing the bui 2f30: 6c 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f ld..#.!IF$(USE_
2f40: 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 42 43 43  FULLWARN)!=0.BCC
2f50: 20 3d 20 24 28 4e 43 43 29 20 2d 6e 6f 6c 6f 67   = $(NCC) -nolog 2f60: 6f 20 2d 57 34 20 24 28 43 43 4f 50 54 53 29 20 o -W4$(CCOPTS)
2f70: 24 28 42 43 43 4f 50 54 53 29 0a 21 45 4c 53 45  $(BCCOPTS).!ELSE 2f80: 0a 42 43 43 20 3d 20 24 28 4e 43 43 29 20 2d 6e .BCC =$(NCC) -n
2f90: 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 4f 50  ologo -W3 $(CCOP 2fa0: 54 53 29 20 24 28 42 43 43 4f 50 54 53 29 0a 21 TS)$(BCCOPTS).!
2fb0: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69  ENDIF..# Check i
2fc0: 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20  f assembly code
2fd0: 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20  listings should
2fe0: 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72  be generated for
2ff0: 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f   the source.# co
3000: 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63  de files to be c
3010: 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24  ompiled..#.!IF $3020: 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d (USE_LISTINGS)!= 3030: 30 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 0.BCC =$(BCC) -
3040: 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 43  FAcs.!ENDIF..# C
3050: 68 65 63 6b 20 69 66 20 74 68 65 20 6e 61 74 69  heck if the nati
3060: 76 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 73  ve library paths
3070: 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20   should be used
3080: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a 23  when compiling.#
3090: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e   the command lin
30a0: 65 20 74 6f 6f 6c 73 20 75 73 65 64 20 64 75 72  e tools used dur
30b0: 69 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 61 74  ing the compilat
30c0: 69 6f 6e 20 70 72 6f 63 65 73 73 2e 20 20 49 66  ion process.  If
30d0: 0a 23 20 73 6f 2c 20 73 65 74 20 74 68 65 20 6e  .# so, set the n
30e0: 65 63 65 73 73 61 72 79 20 6d 61 63 72 6f 20 6e  ecessary macro n
30f0: 6f 77 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f  ow..#.!IF $(USE_ 3100: 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 53 29 NATIVE_LIBPATHS) 3110: 21 3d 30 0a 4e 4c 54 4c 49 42 50 41 54 48 53 20 !=0.NLTLIBPATHS 3120: 3d 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e 43 = "/LIBPATH:$(NC
3130: 52 54 4c 49 42 50 41 54 48 29 22 20 22 2f 4c 49  RTLIBPATH)" "/LI
3140: 42 50 41 54 48 3a 24 28 4e 53 44 4b 4c 49 42 50  BPATH:$(NSDKLIBP 3150: 41 54 48 29 22 0a 0a 21 49 46 44 45 46 20 4e 55 ATH)"..!IFDEF NU 3160: 43 52 54 4c 49 42 50 41 54 48 0a 4e 55 43 52 54 CRTLIBPATH.NUCRT 3170: 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 55 43 52 LIBPATH =$(NUCR
3180: 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4e  TLIBPATH:\\=\).N
3190: 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4e  LTLIBPATHS = $(N 31a0: 4c 54 4c 49 42 50 41 54 48 53 29 20 22 2f 4c 49 LTLIBPATHS) "/LI 31b0: 42 50 41 54 48 3a 24 28 4e 55 43 52 54 4c 49 42 BPATH:$(NUCRTLIB
31c0: 50 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45  PATH)".!ENDIF.!E
31d0: 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d 70 69 6c  NDIF..# C compil
31e0: 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66  er and options f
31f0: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
3200: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
3210: 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 6e 20 6f  hat.# will run o
3220: 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61  n the target pla
3230: 74 66 6f 72 6d 2e 20 20 28 42 43 43 20 61 6e 64  tform.  (BCC and
3240: 20 54 43 43 20 61 72 65 20 75 73 75 61 6c 6c 79   TCC are usually
3250: 20 74 68 65 0a 23 20 73 61 6d 65 20 75 6e 6c 65   the.# same unle
3260: 73 73 20 79 6f 75 72 20 61 72 65 20 63 72 6f 73  ss your are cros
3270: 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 29 0a 23 0a  s-compiling.).#.
3280: 21 49 46 20 24 28 55 53 45 5f 46 55 4c 4c 57 41  !IF $(USE_FULLWA 3290: 52 4e 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 43 RN)!=0.TCC =$(C
32a0: 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 2d  C) -nologo -W4 -
32b0: 44 49 4e 43 4c 55 44 45 5f 4d 53 56 43 5f 48 3d  DINCLUDE_MSVC_H=
32c0: 31 20 24 28 43 43 4f 50 54 53 29 20 24 28 54 43  1 $(CCOPTS)$(TC
32d0: 43 4f 50 54 53 29 0a 21 45 4c 53 45 0a 54 43 43  COPTS).!ELSE.TCC
32e0: 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 6f   = $(CC) -nologo 32f0: 20 2d 57 33 20 24 28 43 43 4f 50 54 53 29 20 24 -W3$(CCOPTS) $3300: 28 54 43 43 4f 50 54 53 29 0a 21 45 4e 44 49 46 (TCCOPTS).!ENDIF 3310: 0a 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d ..TCC =$(TCC) -
3320: 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 3d 31  DSQLITE_OS_WIN=1
3330: 20 2d 49 2e 20 2d 49 24 28 54 4f 50 29 20 2d 49   -I. -I$(TOP) -I 3340: 24 28 54 4f 50 29 5c 73 72 63 20 2d 66 70 3a 70$(TOP)\src -fp:p
3350: 72 65 63 69 73 65 0a 52 43 43 20 3d 20 24 28 52  recise.RCC = $(R 3360: 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53 5f 57 C) -DSQLITE_OS_W 3370: 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28 54 4f 50 IN=1 -I. -I$(TOP
3380: 29 20 2d 49 24 28 54 4f 50 29 5c 73 72 63 20 24  ) -I$(TOP)\src$
3390: 28 52 43 4f 50 54 53 29 20 24 28 52 43 43 4f 50  (RCOPTS) $(RCCOP 33a0: 54 53 29 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 TS)..# Check if 33b0: 77 65 20 77 61 6e 74 20 74 6f 20 75 73 65 20 74 we want to use t 33c0: 68 65 20 22 73 74 64 63 61 6c 6c 22 20 63 61 6c he "stdcall" cal 33d0: 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 ling convention 33e0: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 2e 0a when compiling.. 33f0: 23 20 54 68 69 73 20 69 73 20 6e 6f 74 20 73 75 # This is not su 3400: 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 63 pported by the c 3410: 6f 6d 70 69 6c 65 72 73 20 66 6f 72 20 6e 6f 6e ompilers for non 3420: 2d 78 38 36 20 70 6c 61 74 66 6f 72 6d 73 2e 20 -x86 platforms. 3430: 20 49 74 20 73 68 6f 75 6c 64 0a 23 20 61 6c 73 It should.# als 3440: 6f 20 62 65 20 6e 6f 74 65 64 20 68 65 72 65 20 o be noted here 3450: 74 68 61 74 20 62 75 69 6c 64 69 6e 67 20 61 6e that building an 3460: 79 20 74 61 72 67 65 74 20 77 69 74 68 20 74 68 y target with th 3470: 65 73 65 20 22 73 74 64 63 61 6c 6c 22 20 6f 70 ese "stdcall" op 3480: 74 69 6f 6e 73 0a 23 20 77 69 6c 6c 20 6d 6f 73 tions.# will mos 3490: 74 20 6c 69 6b 65 6c 79 20 66 61 69 6c 20 69 66 t likely fail if 34a0: 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 the Tcl library 34b0: 20 69 73 20 61 6c 73 6f 20 72 65 71 75 69 72 65 is also require 34c0: 64 2e 20 20 54 68 69 73 20 69 73 20 64 75 65 0a d. This is due. 34d0: 23 20 74 6f 20 68 6f 77 20 74 68 65 20 54 63 6c # to how the Tcl 34e0: 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f library functio 34f0: 6e 73 20 61 72 65 20 64 65 63 6c 61 72 65 64 20 ns are declared 3500: 61 6e 64 20 65 78 70 6f 72 74 65 64 20 28 69 2e and exported (i. 3510: 65 2e 20 77 69 74 68 6f 75 74 0a 23 20 61 6e 20 e. without.# an 3520: 65 78 70 6c 69 63 69 74 20 63 61 6c 6c 69 6e 67 explicit calling 3530: 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 77 68 69 convention, whi 3540: 63 68 20 72 65 73 75 6c 74 73 20 69 6e 20 22 63 ch results in "c 3550: 64 65 63 6c 22 29 2e 0a 23 0a 21 49 46 20 24 28 decl")..#.!IF$(
3560: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20  USE_STDCALL)!=0
3570: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)! 3580: 3d 30 0a 21 49 46 20 22 24 28 50 4c 41 54 46 4f =0.!IF "$(PLATFO
3590: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
35a0: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47  _CCONV_OPTS = -G
35b0: 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c  z -DSQLITE_CDECL
35c0: 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54  =__cdecl -DSQLIT
35d0: 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63  E_APICALL=__stdc
35e0: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c  all -DSQLITE_CAL
35f0: 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20  LBACK=__stdcall
3600: 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d  -DSQLITE_SYSAPI=
3610: 5f 5f 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c 5f  __stdcall.SHELL_
3620: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a  CCONV_OPTS = -Gz
3630: 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d   -DSQLITE_CDECL=
3640: 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45  __cdecl -DSQLITE
3650: 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61  _APICALL=__stdca
3660: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c  ll -DSQLITE_CALL
3670: 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  BACK=__stdcall -
3680: 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f  DSQLITE_SYSAPI=_
3690: 5f 73 74 64 63 61 6c 6c 0a 23 20 3c 3c 6d 61 72  _stdcall.# <<mar
36a0: 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f  k>>.TEST_CCONV_O
36b0: 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49  PTS = -Gz -DSQLI
36c0: 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c  TE_CDECL=__cdecl
36d0: 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c   -DSQLITE_APICAL
36e0: 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51  L=__stdcall -DSQ
36f0: 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f  LITE_CALLBACK=__
3700: 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45  stdcall -DSQLITE
3710: 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c  _SYSAPI=__stdcal
3720: 6c 20 2d 44 49 4e 43 4c 55 44 45 5f 53 51 4c 49  l -DINCLUDE_SQLI
3730: 54 45 5f 54 43 4c 5f 48 3d 31 20 2d 44 53 51 4c  TE_TCL_H=1 -DSQL
3740: 49 54 45 5f 54 43 4c 41 50 49 3d 5f 5f 63 64 65  ITE_TCLAPI=__cde
3750: 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21  cl.# <</mark>>.!
3760: 45 4c 53 45 0a 21 49 46 4e 44 45 46 20 50 4c 41  ELSE.!IFNDEF PLA
3770: 54 46 4f 52 4d 0a 43 4f 52 45 5f 43 43 4f 4e 56  TFORM.CORE_CCONV
3780: 5f 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51  _OPTS = -Gz -DSQ
3790: 4c 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65  LITE_CDECL=__cde
37a0: 63 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43  cl -DSQLITE_APIC
37b0: 41 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44  ALL=__stdcall -D
37c0: 53 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d  SQLITE_CALLBACK=
37d0: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
37e0: 54 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63  TE_SYSAPI=__stdc
37f0: 61 6c 6c 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f  all.SHELL_CCONV_
3800: 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c  OPTS = -Gz -DSQL
3810: 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63  ITE_CDECL=__cdec
3820: 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41  l -DSQLITE_APICA
3830: 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  LL=__stdcall -DS
3840: 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f  QLITE_CALLBACK=_
3850: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3860: 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61  E_SYSAPI=__stdca
3870: 6c 6c 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45  ll.# <<mark>>.TE
3880: 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20  ST_CCONV_OPTS =
3890: 2d 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45  -Gz -DSQLITE_CDE
38a0: 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c  CL=__cdecl -DSQL
38b0: 49 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74  ITE_APICALL=__st
38c0: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43  dcall -DSQLITE_C
38d0: 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c  ALLBACK=__stdcal
38e0: 6c 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50  l -DSQLITE_SYSAP
38f0: 49 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 49 4e  I=__stdcall -DIN
3900: 43 4c 55 44 45 5f 53 51 4c 49 54 45 5f 54 43 4c  CLUDE_SQLITE_TCL
3910: 5f 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54 43  _H=1 -DSQLITE_TC
3920: 4c 41 50 49 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c  LAPI=__cdecl.# <
3930: 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 43  </mark>>.!ELSE.C
3940: 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  ORE_CCONV_OPTS =
3950: 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54  .SHELL_CCONV_OPT
3960: 53 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54  S =.# <<mark>>.T
3970: 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d  EST_CCONV_OPTS =
3980: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21 45 4e  .# <</mark>>.!EN
3990: 44 49 46 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45  DIF.!ENDIF.!ELSE
39a0: 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53  .CORE_CCONV_OPTS
39b0: 20 3d 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f   =.SHELL_CCONV_O
39c0: 50 54 53 20 3d 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  PTS =.# <<mark>>
39d0: 0a 54 45 53 54 5f 43 43 4f 4e 56 5f 4f 50 54 53  .TEST_CCONV_OPTS
39e0: 20 3d 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 21   =.# <</mark>>.!
39f0: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
3a00: 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f  re additional co
3a10: 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75  mpiler options u
3a20: 73 65 64 20 66 6f 72 20 74 68 65 20 63 6f 72 65  sed for the core
3a30: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e   library..#.!IFN
3a40: 44 45 46 20 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  DEF CORE_COMPILE
3a50: 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59 4e 41  _OPTS.!IF $(DYNA 3a60: 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c MIC_SHELL)!=0 || 3a70: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30$(FOR_WIN10)!=0
3a80: 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  .CORE_COMPILE_OP
3a90: 54 53 20 3d 20 24 28 43 4f 52 45 5f 43 43 4f 4e  TS = $(CORE_CCON 3aa0: 56 5f 4f 50 54 53 29 20 2d 44 53 51 4c 49 54 45 V_OPTS) -DSQLITE 3ab0: 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 70 65 63 28 _API=__declspec( 3ac0: 64 6c 6c 65 78 70 6f 72 74 29 0a 21 45 4c 53 45 dllexport).!ELSE 3ad0: 0a 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 .CORE_COMPILE_OP 3ae0: 54 53 20 3d 20 24 28 43 4f 52 45 5f 43 43 4f 4e TS =$(CORE_CCON
3af0: 56 5f 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 21  V_OPTS).!ENDIF.!
3b00: 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 20 61  ENDIF..# These a
3b10: 72 65 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61  re the additiona
3b20: 6c 20 74 61 72 67 65 74 73 20 74 68 61 74 20 74  l targets that t
3b30: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20  he core library
3b40: 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 20 6f 6e  should depend on
3b50: 0a 23 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 2e  .# when linking.
3b60: 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f  .#.!IFNDEF CORE_
3b70: 4c 49 4e 4b 5f 44 45 50 0a 21 49 46 20 24 28 44  LINK_DEP.!IF $(D 3b80: 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 YNAMIC_SHELL)!=0 3b90: 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d .CORE_LINK_DEP = 3ba0: 0a 21 45 4c 53 45 49 46 20 24 28 46 4f 52 5f 57 .!ELSEIF$(FOR_W
3bb0: 49 4e 31 30 29 3d 3d 30 20 7c 7c 20 22 24 28 50  IN10)==0 || "$(P 3bc0: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 LATFORM)"=="x86" 3bd0: 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 20 3d .CORE_LINK_DEP = 3be0: 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 21 45 4c sqlite3.def.!EL 3bf0: 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 SE.CORE_LINK_DEP 3c00: 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 =.!ENDIF.!ENDIF 3c10: 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 64 ..# These are ad 3c20: 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 20 ditional linker 3c30: 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 options used for 3c40: 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 the core librar 3c50: 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f 52 y..#.!IFNDEF COR 3c60: 45 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 21 49 46 20 E_LINK_OPTS.!IF 3c70: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29$(DYNAMIC_SHELL)
3c80: 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50  !=0.CORE_LINK_OP
3c90: 54 53 20 3d 0a 21 45 4c 53 45 49 46 20 24 28 46  TS =.!ELSEIF $(F 3ca0: 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20 7c 7c 20 OR_WIN10)==0 || 3cb0: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 "$(PLATFORM)"=="
3cc0: 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f  x86".CORE_LINK_O
3cd0: 50 54 53 20 3d 20 2f 44 45 46 3a 73 71 6c 69 74  PTS = /DEF:sqlit
3ce0: 65 33 2e 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52  e3.def.!ELSE.COR
3cf0: 45 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45  E_LINK_OPTS =.!E
3d00: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
3d10: 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f  hese are additio
3d20: 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74  nal compiler opt
3d30: 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68  ions used for th
3d40: 65 20 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62  e shell executab
3d50: 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48  le..#.!IFNDEF SH
3d60: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ELL_COMPILE_OPTS
3d70: 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53  .!IF $(DYNAMIC_S 3d80: 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f HELL)!=0 ||$(FO
3d90: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c  R_WIN10)!=0.SHEL
3da0: 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 20 3d  L_COMPILE_OPTS =
3db0: 20 24 28 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f   $(SHELL_CCONV_O 3dc0: 50 54 53 29 20 2d 44 53 51 4c 49 54 45 5f 41 50 PTS) -DSQLITE_AP 3dd0: 49 3d 5f 5f 64 65 63 6c 73 70 65 63 28 64 6c 6c I=__declspec(dll 3de0: 69 6d 70 6f 72 74 29 0a 21 45 4c 53 45 0a 53 48 import).!ELSE.SH 3df0: 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ELL_COMPILE_OPTS 3e00: 20 3d 20 24 28 53 48 45 4c 4c 5f 43 43 4f 4e 56 =$(SHELL_CCONV
3e10: 5f 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 21 45  _OPTS).!ENDIF.!E
3e20: 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 69 73 20  NDIF..# This is
3e30: 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20  the source code
3e40: 74 68 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65  that the shell e
3e50: 78 65 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64  xecutable should
3e60: 20 62 65 20 63 6f 6d 70 69 6c 65 64 0a 23 20 77   be compiled.# w
3e70: 69 74 68 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53  ith..#.!IFNDEF S
3e80: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 0a 21 49  HELL_CORE_SRC.!I
3e90: 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c  F $(DYNAMIC_SHEL 3ea0: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 L)!=0 ||$(FOR_W
3eb0: 49 4e 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43  IN10)!=0.SHELL_C
3ec0: 4f 52 45 5f 53 52 43 20 3d 0a 21 45 4c 53 45 0a  ORE_SRC =.!ELSE.
3ed0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d  SHELL_CORE_SRC =
3ee0: 20 24 28 53 51 4c 49 54 45 33 43 29 0a 21 45 4e   $(SQLITE3C).!EN 3ef0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 DIF.!ENDIF..# Th 3f00: 69 73 20 69 73 20 74 68 65 20 63 6f 72 65 20 6c is is the core l 3f10: 69 62 72 61 72 79 20 74 68 61 74 20 74 68 65 20 ibrary that the 3f20: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 shell executable 3f30: 20 73 68 6f 75 6c 64 20 64 65 70 65 6e 64 20 6f should depend o 3f40: 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 n..#.!IFNDEF SHE 3f50: 4c 4c 5f 43 4f 52 45 5f 44 45 50 0a 21 49 46 20 LL_CORE_DEP.!IF 3f60: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29$(DYNAMIC_SHELL)
3f70: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e  !=0 || $(FOR_WIN 3f80: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52 10)!=0.SHELL_COR 3f90: 45 5f 44 45 50 20 3d 20 24 28 53 51 4c 49 54 45 E_DEP =$(SQLITE
3fa0: 33 44 4c 4c 29 0a 21 45 4c 53 45 0a 53 48 45 4c  3DLL).!ELSE.SHEL
3fb0: 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 0a 21 45 4e  L_CORE_DEP =.!EN
3fc0: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
3fd0: 69 73 20 69 73 20 74 68 65 20 63 6f 72 65 20 6c  is is the core l
3fe0: 69 62 72 61 72 79 20 74 68 61 74 20 74 68 65 20  ibrary that the
3ff0: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  shell executable
4000: 20 73 68 6f 75 6c 64 20 6c 69 6e 6b 20 77 69 74   should link wit
4010: 68 2e 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45  h..#.!IFNDEF SHE
4020: 4c 4c 5f 43 4f 52 45 5f 4c 49 42 0a 21 49 46 20  LL_CORE_LIB.!IF
4030: 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c 29  $(DYNAMIC_SHELL) 4040: 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e !=0 ||$(FOR_WIN
4050: 31 30 29 21 3d 30 0a 53 48 45 4c 4c 5f 43 4f 52  10)!=0.SHELL_COR
4060: 45 5f 4c 49 42 20 3d 20 24 28 53 51 4c 49 54 45  E_LIB = $(SQLITE 4070: 33 4c 49 42 29 0a 21 45 4c 53 45 0a 53 48 45 4c 3LIB).!ELSE.SHEL 4080: 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 0a 21 45 4e L_CORE_LIB =.!EN 4090: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 DIF.!ENDIF..# Th 40a0: 65 73 65 20 61 72 65 20 61 64 64 69 74 69 6f 6e ese are addition 40b0: 61 6c 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e al linker option 40c0: 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 73 s used for the s 40d0: 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2e hell executable. 40e0: 0a 23 0a 21 49 46 4e 44 45 46 20 53 48 45 4c 4c .#.!IFNDEF SHELL 40f0: 5f 4c 49 4e 4b 5f 4f 50 54 53 0a 53 48 45 4c 4c _LINK_OPTS.SHELL 4100: 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 24 28 53 _LINK_OPTS =$(S
4110: 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 29 0a 21  HELL_CORE_LIB).!
4120: 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 69  ENDIF..# Check i
4130: 66 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20  f assembly code
4140: 6c 69 73 74 69 6e 67 73 20 73 68 6f 75 6c 64 20  listings should
4150: 62 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72  be generated for
4160: 20 74 68 65 20 73 6f 75 72 63 65 0a 23 20 63 6f   the source.# co
4170: 64 65 20 66 69 6c 65 73 20 74 6f 20 62 65 20 63  de files to be c
4180: 6f 6d 70 69 6c 65 64 2e 0a 23 0a 21 49 46 20 24  ompiled..#.!IF $4190: 28 55 53 45 5f 4c 49 53 54 49 4e 47 53 29 21 3d (USE_LISTINGS)!= 41a0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 0.TCC =$(TCC) -
41b0: 46 41 63 73 0a 21 45 4e 44 49 46 0a 0a 23 20 57  FAcs.!ENDIF..# W
41c0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68  hen compiling th
41d0: 65 20 6c 69 62 72 61 72 79 20 66 6f 72 20 75 73  e library for us
41e0: 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 20 65  e in the WinRT e
41f0: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0a 23 20 74 68  nvironment,.# th
4200: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 70  e following comp
4210: 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 6f 6e 73  ile-time options
4220: 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 61 73   must be used as
4230: 20 77 65 6c 6c 20 74 6f 0a 23 20 64 69 73 61 62   well to.# disab
4240: 6c 65 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20  le use of Win32
4250: 41 50 49 73 20 74 68 61 74 20 61 72 65 20 6e 6f  APIs that are no
4260: 74 20 61 76 61 69 6c 61 62 6c 65 20 61 6e 64 20  t available and
4270: 74 6f 20 65 6e 61 62 6c 65 0a 23 20 75 73 65 20  to enable.# use
4280: 6f 66 20 57 69 6e 33 32 20 41 50 49 73 20 74 68  of Win32 APIs th
4290: 61 74 20 61 72 65 20 73 70 65 63 69 66 69 63 20  at are specific
42a0: 74 6f 20 57 69 6e 64 6f 77 73 20 38 20 61 6e 64  to Windows 8 and
42b0: 2f 6f 72 20 57 69 6e 52 54 2e 0a 23 0a 21 49 46  /or WinRT..#.!IF
42c0: 20 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30   $(FOR_WINRT)!=0 42d0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 .TCC =$(TCC) -D
42e0: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54 3d  SQLITE_OS_WINRT=
42f0: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) - 4300: 44 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54 DSQLITE_OS_WINRT 4310: 3d 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 =1.TCC =$(TCC)
4320: 2d 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d  -DWINAPI_FAMILY=
4330: 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50  WINAPI_FAMILY_AP
4340: 50 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  P.RCC = $(RCC) - 4350: 44 57 49 4e 41 50 49 5f 46 41 4d 49 4c 59 3d 57 DWINAPI_FAMILY=W 4360: 49 4e 41 50 49 5f 46 41 4d 49 4c 59 5f 41 50 50 INAPI_FAMILY_APP 4370: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 20 63 6f 6d .!ENDIF..# C com 4380: 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f piler options fo 4390: 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 r the Windows 10 43a0: 20 70 6c 61 74 66 6f 72 6d 20 28 6e 65 65 64 73 platform (needs 43b0: 20 4d 53 56 43 20 32 30 31 35 29 2e 0a 23 0a 21 MSVC 2015)..#.! 43c0: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 IF$(FOR_WIN10)!
43d0: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  =0.TCC = $(TCC) 43e0: 2f 64 32 67 75 61 72 64 34 20 2d 44 5f 41 52 4d /d2guard4 -D_ARM 43f0: 5f 57 49 4e 41 50 49 5f 50 41 52 54 49 54 49 4f _WINAPI_PARTITIO 4400: 4e 5f 44 45 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 N_DESKTOP_SDK_AV 4410: 41 49 4c 41 42 4c 45 0a 42 43 43 20 3d 20 24 28 AILABLE.BCC =$(
4420: 42 43 43 29 20 2f 64 32 67 75 61 72 64 34 20 2d  BCC) /d2guard4 -
4430: 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 41 52  D_ARM_WINAPI_PAR
4440: 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 5f 53  TITION_DESKTOP_S
4450: 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 21 45 4e  DK_AVAILABLE.!EN
4460: 44 49 46 0a 0a 23 20 41 6c 73 6f 2c 20 77 65 20  DIF..# Also, we
4470: 6e 65 65 64 20 74 6f 20 64 79 6e 61 6d 69 63 61  need to dynamica
4480: 6c 6c 79 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20  lly link to the
4490: 63 6f 72 72 65 63 74 20 4d 53 56 43 20 72 75 6e  correct MSVC run
44a0: 74 69 6d 65 0a 23 20 77 68 65 6e 20 63 6f 6d 70  time.# when comp
44b0: 69 6c 69 6e 67 20 66 6f 72 20 57 69 6e 52 54 20  iling for WinRT
44c0: 28 65 2e 67 2e 20 64 65 62 75 67 20 6f 72 20 72  (e.g. debug or r
44d0: 65 6c 65 61 73 65 29 20 4f 52 20 69 66 20 74 68  elease) OR if th
44e0: 65 0a 23 20 55 53 45 5f 43 52 54 5f 44 4c 4c 20  e.# USE_CRT_DLL
44f0: 6f 70 74 69 6f 6e 20 69 73 20 73 65 74 20 74 6f  option is set to
4500: 20 66 6f 72 63 65 20 64 79 6e 61 6d 69 63 61 6c   force dynamical
4510: 6c 79 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 74 68  ly linking to th
4520: 65 0a 23 20 4d 53 56 43 20 72 75 6e 74 69 6d 65  e.# MSVC runtime
4530: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 20   library..#.!IF
4540: 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 20  $(FOR_WINRT)!=0 4550: 7c 7c 20 24 28 55 53 45 5f 43 52 54 5f 44 4c 4c ||$(USE_CRT_DLL
4560: 29 21 3d 30 0a 21 49 46 20 24 28 44 45 42 55 47  )!=0.!IF $(DEBUG 4570: 29 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 )>1.TCC =$(TCC)
4580: 20 2d 4d 44 64 0a 42 43 43 20 3d 20 24 28 42 43   -MDd.BCC = $(BC 4590: 43 29 20 2d 4d 44 64 0a 21 45 4c 53 45 0a 54 43 C) -MDd.!ELSE.TC 45a0: 43 20 3d 20 24 28 54 43 43 29 20 2d 4d 44 0a 42 C =$(TCC) -MD.B
45b0: 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 0a  CC = $(BCC) -MD. 45c0: 21 45 4e 44 49 46 0a 21 45 4c 53 45 0a 21 49 46 !ENDIF.!ELSE.!IF 45d0: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20$(DEBUG)>1.TCC
45e0: 3d 20 24 28 54 43 43 29 20 2d 4d 54 64 0a 42 43  = $(TCC) -MTd.BC 45f0: 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54 64 0a C =$(BCC) -MTd.
4600: 21 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54 43  !ELSE.TCC = $(TC 4610: 43 29 20 2d 4d 54 0a 42 43 43 20 3d 20 24 28 42 C) -MT.BCC =$(B
4620: 43 43 29 20 2d 4d 54 0a 21 45 4e 44 49 46 0a 21  CC) -MT.!ENDIF.!
4630: 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e  ENDIF..# <<mark>
4640: 3e 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65  >.# The mksqlite
4650: 33 63 2e 74 63 6c 20 61 6e 64 20 6d 6b 73 71 6c  3c.tcl and mksql
4660: 69 74 65 33 68 2e 74 63 6c 20 73 63 72 69 70 74  ite3h.tcl script
4670: 73 20 77 69 6c 6c 20 70 75 6c 6c 20 69 6e 0a 23  s will pull in.#
4680: 20 61 6e 79 20 65 78 74 65 6e 73 69 6f 6e 20 68   any extension h
4690: 65 61 64 65 72 20 66 69 6c 65 73 20 62 79 20 64  eader files by d
46a0: 65 66 61 75 6c 74 2e 20 20 46 6f 72 20 6e 6f 6e  efault.  For non
46b0: 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 20  -amalgamation.#
46c0: 62 75 69 6c 64 73 2c 20 77 65 20 6e 65 65 64 20  builds, we need
46d0: 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65  to make sure the
46e0: 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 20 66 69   compiler can fi
46f0: 6e 64 20 74 68 65 73 65 2e 0a 23 0a 21 49 46 20  nd these..#.!IF
4700: 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49  $(USE_AMALGAMATI 4710: 4f 4e 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 ON)==0.TCC =$(T
4720: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext 4730: 5c 66 74 73 33 0a 52 43 43 20 3d 20 24 28 52 43 \fts3.RCC =$(RC
4740: 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c  C) -I$(TOP)\ext\ 4750: 66 74 73 33 0a 54 43 43 20 3d 20 24 28 54 43 43 fts3.TCC =$(TCC
4760: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 72  ) -I$(TOP)\ext\r 4770: 74 72 65 65 0a 52 43 43 20 3d 20 24 28 52 43 43 tree.RCC =$(RCC
4780: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 72  ) -I$(TOP)\ext\r 4790: 74 72 65 65 0a 54 43 43 20 3d 20 24 28 54 43 43 tree.TCC =$(TCC
47a0: 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c 73  ) -I$(TOP)\ext\s 47b0: 65 73 73 69 6f 6e 0a 52 43 43 20 3d 20 24 28 52 ession.RCC =$(R
47c0: 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74  CC) -I$(TOP)\ext 47d0: 5c 73 65 73 73 69 6f 6e 0a 21 45 4e 44 49 46 0a \session.!ENDIF. 47e0: 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74 65 33 .# The mksqlite3 47f0: 63 2e 74 63 6c 20 73 63 72 69 70 74 20 61 63 63 c.tcl script acc 4800: 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 69 6f 6e epts some option 4810: 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 s on the command 4820: 0a 23 20 6c 69 6e 65 2e 20 20 57 68 65 6e 20 63 .# line. When c 4830: 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20 64 65 ompiling with de 4840: 62 75 67 67 69 6e 67 20 65 6e 61 62 6c 65 64 2c bugging enabled, 4850: 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 0a 23 some of these.# 4860: 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 6e 65 63 options are nec 4870: 65 73 73 61 72 79 20 69 6e 20 6f 72 64 65 72 20 essary in order 4880: 74 6f 20 61 6c 6c 6f 77 20 64 65 62 75 67 67 69 to allow debuggi 4890: 6e 67 20 73 79 6d 62 6f 6c 73 20 74 6f 0a 23 20 ng symbols to.# 48a0: 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20 77 work correctly w 48b0: 69 74 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 ith Visual Studi 48c0: 6f 20 77 68 65 6e 20 75 73 69 6e 67 20 74 68 65 o when using the 48d0: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 amalgamation..# 48e0: 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49 54 .!IFNDEF MKSQLIT 48f0: 45 33 43 5f 54 4f 4f 4c 0a 21 49 46 20 24 28 4d E3C_TOOL.!IF$(M
4900: 49 4e 49 4d 41 4c 5f 41 4d 41 4c 47 41 4d 41 54  INIMAL_AMALGAMAT
4910: 49 4f 4e 29 21 3d 30 0a 4d 4b 53 51 4c 49 54 45  ION)!=0.MKSQLITE
4920: 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29  3C_TOOL = $(TOP) 4930: 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63 \tool\mksqlite3c 4940: 2d 6e 6f 65 78 74 2e 74 63 6c 0a 21 45 4c 53 45 -noext.tcl.!ELSE 4950: 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c .MKSQLITE3C_TOOL 4960: 20 3d 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d =$(TOP)\tool\m
4970: 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a 21 45  ksqlite3c.tcl.!E
4980: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 49 46  NDIF.!ENDIF..!IF
4990: 4e 44 45 46 20 4d 4b 53 51 4c 49 54 45 33 43 5f  NDEF MKSQLITE3C_
49a0: 41 52 47 53 0a 21 49 46 20 24 28 44 45 42 55 47  ARGS.!IF $(DEBUG 49b0: 29 3e 31 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 )>1.MKSQLITE3C_A 49c0: 52 47 53 20 3d 20 2d 2d 6c 69 6e 65 6d 61 63 72 RGS = --linemacr 49d0: 6f 73 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 os.!ELSE.MKSQLIT 49e0: 45 33 43 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49 E3C_ARGS =.!ENDI 49f0: 46 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 F.!IF$(USE_STDC
4a00: 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52  ALL)!=0 || $(FOR 4a10: 5f 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53 51 4c _WIN10)!=0.MKSQL 4a20: 49 54 45 33 43 5f 41 52 47 53 20 3d 20 24 28 4d ITE3C_ARGS =$(M
4a30: 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 29 20  KSQLITE3C_ARGS)
4a40: 2d 2d 75 73 65 61 70 69 63 61 6c 6c 0a 21 45 4e  --useapicall.!EN
4a50: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68  DIF.!ENDIF..# Th
4a60: 65 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  e mksqlite3h.tcl
4a70: 20 73 63 72 69 70 74 20 61 63 63 65 70 74 73 20   script accepts
4a80: 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 20 6f 6e 20  some options on
4a90: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  the command line
4aa0: 2e 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69  ..# When compili
4ab0: 6e 67 20 77 69 74 68 20 73 74 64 63 61 6c 6c 20  ng with stdcall
4ac0: 73 75 70 70 6f 72 74 2c 20 73 6f 6d 65 20 6f 66  support, some of
4ad0: 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 61   these options a
4ae0: 72 65 0a 23 20 6e 65 63 65 73 73 61 72 79 2e 0a  re.# necessary..
4af0: 23 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51 4c 49  #.!IFNDEF MKSQLI
4b00: 54 45 33 48 5f 41 52 47 53 0a 21 49 46 20 24 28  TE3H_ARGS.!IF $( 4b10: 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 USE_STDCALL)!=0 4b20: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 ||$(FOR_WIN10)!
4b30: 3d 30 0a 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52  =0.MKSQLITE3H_AR
4b40: 47 53 20 3d 20 2d 2d 75 73 65 61 70 69 63 61 6c  GS = --useapical
4b50: 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45  l.!ELSE.MKSQLITE
4b60: 33 48 5f 41 52 47 53 20 3d 0a 21 45 4e 44 49 46  3H_ARGS =.!ENDIF
4b70: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
4b80: 6b 3e 3e 0a 0a 23 20 44 65 66 69 6e 65 20 2d 44  k>>..# Define -D
4b90: 4e 44 45 42 55 47 20 74 6f 20 63 6f 6d 70 69 6c  NDEBUG to compil
4ba0: 65 20 77 69 74 68 6f 75 74 20 64 65 62 75 67 67  e without debugg
4bb0: 69 6e 67 20 28 69 2e 65 2e 2c 20 66 6f 72 20 70  ing (i.e., for p
4bc0: 72 6f 64 75 63 74 69 6f 6e 20 75 73 61 67 65 29  roduction usage)
4bd0: 0a 23 20 4f 6d 69 74 74 69 6e 67 20 74 68 65 20  .# Omitting the
4be0: 64 65 66 69 6e 65 20 77 69 6c 6c 20 63 61 75 73  define will caus
4bf0: 65 20 65 78 74 72 61 20 64 65 62 75 67 67 69 6e  e extra debuggin
4c00: 67 20 63 6f 64 65 20 74 6f 20 62 65 20 69 6e 73  g code to be ins
4c10: 65 72 74 65 64 20 61 6e 64 0a 23 20 69 6e 63 6c  erted and.# incl
4c20: 75 64 65 73 20 65 78 74 72 61 20 63 6f 6d 6d 65  udes extra comme
4c30: 6e 74 73 20 77 68 65 6e 20 22 45 58 50 4c 41 49  nts when "EXPLAI
4c40: 4e 20 73 74 6d 74 22 20 69 73 20 75 73 65 64 2e  N stmt" is used.
4c50: 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3d  .#.!IF $(DEBUG)= 4c60: 3d 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 =0.TCC =$(TCC)
4c70: 2d 44 4e 44 45 42 55 47 0a 42 43 43 20 3d 20 24  -DNDEBUG.BCC = $4c80: 28 42 43 43 29 20 2d 44 4e 44 45 42 55 47 0a 52 (BCC) -DNDEBUG.R 4c90: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 4e 44 CC =$(RCC) -DND
4ca0: 45 42 55 47 0a 21 45 4e 44 49 46 0a 0a 21 49 46  EBUG.!ENDIF..!IF
4cb0: 20 24 28 44 45 42 55 47 29 3e 30 20 7c 7c 20 24   $(DEBUG)>0 ||$
4cc0: 28 41 50 49 5f 41 52 4d 4f 52 29 21 3d 30 20 7c  (API_ARMOR)!=0 |
4cd0: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!= 4ce0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 0.TCC =$(TCC) -
4cf0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41  DSQLITE_ENABLE_A
4d00: 50 49 5f 41 52 4d 4f 52 3d 31 0a 52 43 43 20 3d  PI_ARMOR=1.RCC =
4d10: 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45   $(RCC) -DSQLITE 4d20: 5f 45 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f _ENABLE_API_ARMO 4d30: 52 3d 31 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 R=1.!ENDIF..!IF 4d40: 24 28 44 45 42 55 47 29 3e 32 0a 54 43 43 20 3d$(DEBUG)>2.TCC =
4d50: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE 4d60: 5f 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20 24 _DEBUG=1.RCC =$
4d70: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 44  (RCC) -DSQLITE_D
4d80: 45 42 55 47 3d 31 0a 21 45 4e 44 49 46 0a 0a 21  EBUG=1.!ENDIF..!
4d90: 49 46 20 24 28 44 45 42 55 47 29 3e 34 20 7c 7c  IF $(DEBUG)>4 || 4da0: 20 24 28 4f 53 54 52 41 43 45 29 21 3d 30 0a 54$(OSTRACE)!=0.T
4db0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ 4dc0: 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54 52 LITE_FORCE_OS_TR 4dd0: 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f 44 ACE=1 -DSQLITE_D 4de0: 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31 0a EBUG_OS_TRACE=1. 4df0: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 RCC =$(RCC) -DS
4e00: 51 4c 49 54 45 5f 46 4f 52 43 45 5f 4f 53 5f 54  QLITE_FORCE_OS_T
4e10: 52 41 43 45 3d 31 20 2d 44 53 51 4c 49 54 45 5f  RACE=1 -DSQLITE_
4e20: 44 45 42 55 47 5f 4f 53 5f 54 52 41 43 45 3d 31  DEBUG_OS_TRACE=1
4e30: 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 28 44  .!ENDIF..!IF $(D 4e40: 45 42 55 47 29 3e 35 0a 54 43 43 20 3d 20 24 28 EBUG)>5.TCC =$(
4e50: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e  TCC) -DSQLITE_EN
4e60: 41 42 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 52  ABLE_IOTRACE=1.R
4e70: 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51  CC = $(RCC) -DSQ 4e80: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52 LITE_ENABLE_IOTR 4e90: 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 ACE=1.!ENDIF..# 4ea0: 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67 73 Prevent warnings 4eb0: 20 61 62 6f 75 74 20 22 69 6e 73 65 63 75 72 65 about "insecure 4ec0: 22 20 4d 53 56 43 20 72 75 6e 74 69 6d 65 20 6c " MSVC runtime l 4ed0: 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 ibrary functions 4ee0: 0a 23 20 62 65 69 6e 67 20 75 73 65 64 2e 0a 23 .# being used..# 4ef0: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 .TCC =$(TCC) -D
4f00: 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 44  _CRT_SECURE_NO_D
4f10: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
4f20: 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e 49 4e  SECURE_NO_WARNIN
4f30: 47 53 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20  GS.BCC = $(BCC) 4f40: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f -D_CRT_SECURE_NO 4f50: 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 _DEPRECATE -D_CR 4f60: 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41 52 4e T_SECURE_NO_WARN 4f70: 49 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43 INGS.RCC =$(RCC
4f80: 29 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f  ) -D_CRT_SECURE_
4f90: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f  NO_DEPRECATE -D_
4fa0: 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f 5f 57 41  CRT_SECURE_NO_WA
4fb0: 52 4e 49 4e 47 53 0a 0a 23 20 50 72 65 76 65 6e  RNINGS..# Preven
4fc0: 74 20 77 61 72 6e 69 6e 67 73 20 61 62 6f 75 74  t warnings about
4fd0: 20 22 64 65 70 72 65 63 61 74 65 64 22 20 50 4f   "deprecated" PO
4fe0: 53 49 58 20 66 75 6e 63 74 69 6f 6e 73 20 62 65  SIX functions be
4ff0: 69 6e 67 20 75 73 65 64 2e 0a 23 0a 54 43 43 20  ing used..#.TCC
5000: 3d 20 24 28 54 43 43 29 20 2d 44 5f 43 52 54 5f  = $(TCC) -D_CRT_ 5010: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 NONSTDC_NO_DEPRE 5020: 43 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 CATE -D_CRT_NONS 5030: 54 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a TDC_NO_WARNINGS. 5040: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 5f BCC =$(BCC) -D_
5050: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 44  CRT_NONSTDC_NO_D
5060: 45 50 52 45 43 41 54 45 20 2d 44 5f 43 52 54 5f  EPRECATE -D_CRT_
5070: 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 52 4e 49  NONSTDC_NO_WARNI
5080: 4e 47 53 0a 52 43 43 20 3d 20 24 28 52 43 43 29  NGS.RCC = $(RCC) 5090: 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f -D_CRT_NONSTDC_ 50a0: 4e 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f NO_DEPRECATE -D_ 50b0: 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 CRT_NONSTDC_NO_W 50c0: 41 52 4e 49 4e 47 53 0a 0a 23 20 55 73 65 20 74 ARNINGS..# Use t 50d0: 68 65 20 53 51 4c 69 74 65 20 64 65 62 75 67 67 he SQLite debugg 50e0: 69 6e 67 20 68 65 61 70 20 73 75 62 73 79 73 74 ing heap subsyst 50f0: 65 6d 3f 0a 23 0a 21 49 46 20 24 28 4d 45 4d 44 em?.#.!IF$(MEMD
5100: 45 42 55 47 29 21 3d 30 0a 54 43 43 20 3d 20 24  EBUG)!=0.TCC = $5110: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4d (TCC) -DSQLITE_M 5120: 45 4d 44 45 42 55 47 3d 31 0a 52 43 43 20 3d 20 EMDEBUG=1.RCC = 5130: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(RCC) -DSQLITE_
5140: 4d 45 4d 44 45 42 55 47 3d 31 0a 0a 23 20 55 73  MEMDEBUG=1..# Us
5150: 65 20 6e 61 74 69 76 65 20 57 69 6e 33 32 20 68  e native Win32 h
5160: 65 61 70 20 73 75 62 73 79 73 74 65 6d 20 69 6e  eap subsystem in
5170: 73 74 65 61 64 20 6f 66 20 6d 61 6c 6c 6f 63 2f  stead of malloc/
5180: 66 72 65 65 3f 0a 23 0a 21 45 4c 53 45 49 46 20  free?.#.!ELSEIF
5190: 24 28 57 49 4e 33 32 48 45 41 50 29 21 3d 30 0a  $(WIN32HEAP)!=0. 51a0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 TCC =$(TCC) -DS
51b0: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c  QLITE_WIN32_MALL
51c0: 4f 43 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43  OC=1.RCC = $(RCC 51d0: 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 ) -DSQLITE_WIN32 51e0: 5f 4d 41 4c 4c 4f 43 3d 31 0a 0a 23 20 56 61 6c _MALLOC=1..# Val 51f0: 69 64 61 74 65 20 74 68 65 20 68 65 61 70 20 6f idate the heap o 5200: 6e 20 65 76 65 72 79 20 63 61 6c 6c 20 69 6e 74 n every call int 5210: 6f 20 74 68 65 20 6e 61 74 69 76 65 20 57 69 6e o the native Win 5220: 33 32 20 68 65 61 70 20 73 75 62 73 79 73 74 65 32 heap subsyste 5230: 6d 3f 0a 23 0a 21 49 46 20 24 28 44 45 42 55 47 m?.#.!IF$(DEBUG
5240: 29 3e 33 0a 54 43 43 20 3d 20 24 28 54 43 43 29  )>3.TCC = $(TCC) 5250: 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f -DSQLITE_WIN32_ 5260: 4d 41 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d MALLOC_VALIDATE= 5270: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 1.RCC =$(RCC) -
5280: 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41  DSQLITE_WIN32_MA
5290: 4c 4c 4f 43 5f 56 41 4c 49 44 41 54 45 3d 31 0a  LLOC_VALIDATE=1.
52a0: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23  !ENDIF.!ENDIF..#
52b0: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20   <<mark>>.# The
52c0: 6c 6f 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 65  locations of the
52d0: 20 54 63 6c 20 68 65 61 64 65 72 20 61 6e 64 20   Tcl header and
52e0: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 20  library files.
52f0: 41 6c 73 6f 2c 20 74 68 65 20 6c 69 62 72 61 72  Also, the librar
5300: 79 20 74 68 61 74 0a 23 20 6e 6f 6e 2d 73 74 75  y that.# non-stu
5310: 62 73 20 65 6e 61 62 6c 65 64 20 70 72 6f 67 72  bs enabled progr
5320: 61 6d 73 20 75 73 69 6e 67 20 54 63 6c 20 6d 75  ams using Tcl mu
5330: 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 2e  st link against.
5340: 20 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65    These variable
5350: 73 0a 23 20 28 54 43 4c 49 4e 43 44 49 52 2c 20  s.# (TCLINCDIR,
5360: 54 43 4c 4c 49 42 44 49 52 2c 20 61 6e 64 20 4c  TCLLIBDIR, and L
5370: 49 42 54 43 4c 29 20 6d 61 79 20 62 65 20 6f 76  IBTCL) may be ov
5380: 65 72 72 69 64 64 65 6e 20 76 69 61 20 74 68 65  erridden via the
5390: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 23 20 70   environment.# p
53a0: 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20  rior to running
53b0: 6e 6d 61 6b 65 20 69 6e 20 6f 72 64 65 72 20 74  nmake in order t
53c0: 6f 20 6d 61 74 63 68 20 74 68 65 20 61 63 74 75  o match the actu
53d0: 61 6c 20 69 6e 73 74 61 6c 6c 65 64 20 6c 6f 63  al installed loc
53e0: 61 74 69 6f 6e 20 61 6e 64 0a 23 20 76 65 72 73  ation and.# vers
53f0: 69 6f 6e 20 6f 6e 20 74 68 69 73 20 6d 61 63 68  ion on this mach
5400: 69 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54  ine..#.!IFNDEF T
5410: 43 4c 49 4e 43 44 49 52 0a 54 43 4c 49 4e 43 44  CLINCDIR.TCLINCD
5420: 49 52 20 3d 20 63 3a 5c 74 63 6c 5c 69 6e 63 6c  IR = c:\tcl\incl
5430: 75 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  ude.!ENDIF..!IFN
5440: 44 45 46 20 54 43 4c 4c 49 42 44 49 52 0a 54 43  DEF TCLLIBDIR.TC
5450: 4c 4c 49 42 44 49 52 20 3d 20 63 3a 5c 74 63 6c  LLIBDIR = c:\tcl
5460: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46  \lib.!ENDIF..!IF
5470: 4e 44 45 46 20 4c 49 42 54 43 4c 0a 4c 49 42 54  NDEF LIBTCL.LIBT
5480: 43 4c 20 3d 20 74 63 6c 38 35 2e 6c 69 62 0a 21  CL = tcl85.lib.!
5490: 45 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c  ENDIF..!IFNDEF L
54a0: 49 42 54 43 4c 53 54 55 42 0a 4c 49 42 54 43 4c  IBTCLSTUB.LIBTCL
54b0: 53 54 55 42 20 3d 20 74 63 6c 73 74 75 62 38 35  STUB = tclstub85
54c0: 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46  .lib.!ENDIF..!IF
54d0: 4e 44 45 46 20 4c 49 42 54 43 4c 50 41 54 48 0a  NDEF LIBTCLPATH.
54e0: 4c 49 42 54 43 4c 50 41 54 48 20 3d 20 63 3a 5c  LIBTCLPATH = c:\
54f0: 74 63 6c 5c 62 69 6e 0a 21 45 4e 44 49 46 0a 0a  tcl\bin.!ENDIF..
5500: 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20  # The locations
5510: 6f 66 20 74 68 65 20 49 43 55 20 68 65 61 64 65  of the ICU heade
5520: 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69  r and library fi
5530: 6c 65 73 2e 20 20 54 68 65 73 65 20 76 61 72 69  les.  These vari
5540: 61 62 6c 65 73 0a 23 20 28 49 43 55 49 4e 43 44  ables.# (ICUINCD
5550: 49 52 2c 20 49 43 55 4c 49 42 44 49 52 2c 20 61  IR, ICULIBDIR, a
5560: 6e 64 20 4c 49 42 49 43 55 29 20 6d 61 79 20 62  nd LIBICU) may b
5570: 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61  e overridden via
5580: 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74   the environment
5590: 0a 23 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e  .# prior to runn
55a0: 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64  ing nmake in ord
55b0: 65 72 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20  er to match the
55c0: 61 63 74 75 61 6c 20 69 6e 73 74 61 6c 6c 65 64  actual installed
55d0: 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e 0a 23 20 74   location on.# t
55e0: 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21  his machine..#.!
55f0: 49 46 4e 44 45 46 20 49 43 55 49 4e 43 44 49 52  IFNDEF ICUINCDIR
5600: 0a 49 43 55 49 4e 43 44 49 52 20 3d 20 63 3a 5c  .ICUINCDIR = c:\
5610: 69 63 75 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44  icu\include.!END
5620: 49 46 0a 0a 21 49 46 4e 44 45 46 20 49 43 55 4c  IF..!IFNDEF ICUL
5630: 49 42 44 49 52 0a 49 43 55 4c 49 42 44 49 52 20  IBDIR.ICULIBDIR
5640: 3d 20 63 3a 5c 69 63 75 5c 6c 69 62 0a 21 45 4e  = c:\icu\lib.!EN
5650: 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42  DIF..!IFNDEF LIB
5660: 49 43 55 0a 4c 49 42 49 43 55 20 3d 20 69 63 75  ICU.LIBICU = icu
5670: 75 63 2e 6c 69 62 20 69 63 75 69 6e 2e 6c 69 62  uc.lib icuin.lib
5680: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20  .!ENDIF..# This
5690: 69 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74  is the command t
56a0: 6f 20 75 73 65 20 66 6f 72 20 74 63 6c 73 68 20  o use for tclsh
56b0: 2d 20 6e 6f 72 6d 61 6c 6c 79 20 6a 75 73 74 20  - normally just
56c0: 22 74 63 6c 73 68 22 2c 20 62 75 74 20 77 65 20  "tclsh", but we
56d0: 6d 61 79 0a 23 20 6b 6e 6f 77 20 74 68 65 20 73  may.# know the s
56e0: 70 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20  pecific version
56f0: 77 65 20 77 61 6e 74 20 74 6f 20 75 73 65 2e 20  we want to use.
5700: 20 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 28   This variable (
5710: 54 43 4c 53 48 5f 43 4d 44 29 20 6d 61 79 20 62  TCLSH_CMD) may b
5720: 65 0a 23 20 6f 76 65 72 72 69 64 64 65 6e 20 76  e.# overridden v
5730: 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65  ia the environme
5740: 6e 74 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e  nt prior to runn
5750: 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20 6f 72 64  ing nmake in ord
5760: 65 72 20 74 6f 20 73 65 6c 65 63 74 20 61 0a 23  er to select a.#
5770: 20 73 70 65 63 69 66 69 63 20 54 63 6c 20 73 68   specific Tcl sh
5780: 65 6c 6c 20 74 6f 20 75 73 65 2e 0a 23 0a 21 49  ell to use..#.!I
5790: 46 4e 44 45 46 20 54 43 4c 53 48 5f 43 4d 44 0a  FNDEF TCLSH_CMD.
57a0: 54 43 4c 53 48 5f 43 4d 44 20 3d 20 74 63 6c 73  TCLSH_CMD = tcls
57b0: 68 38 35 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f  h85.!ENDIF.# <</
57c0: 6d 61 72 6b 3e 3e 0a 0a 23 20 43 6f 6d 70 69 6c  mark>>..# Compil
57d0: 65 72 20 6f 70 74 69 6f 6e 73 20 6e 65 65 64 65  er options neede
57e0: 64 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74  d for programs t
57f0: 68 61 74 20 75 73 65 20 74 68 65 20 72 65 61 64  hat use the read
5800: 6c 69 6e 65 28 29 20 6c 69 62 72 61 72 79 2e 0a  line() library..
5810: 23 0a 21 49 46 4e 44 45 46 20 52 45 41 44 4c 49  #.!IFNDEF READLI
5820: 4e 45 5f 46 4c 41 47 53 0a 52 45 41 44 4c 49 4e  NE_FLAGS.READLIN
5830: 45 5f 46 4c 41 47 53 20 3d 20 2d 44 48 41 56 45  E_FLAGS = -DHAVE
5840: 5f 52 45 41 44 4c 49 4e 45 3d 30 0a 21 45 4e 44  _READLINE=0.!END
5850: 49 46 0a 0a 23 20 54 68 65 20 6c 69 62 72 61 72  IF..# The librar
5860: 79 20 74 68 61 74 20 70 72 6f 67 72 61 6d 73 20  y that programs
5870: 75 73 69 6e 67 20 72 65 61 64 6c 69 6e 65 28 29  using readline()
5880: 20 6d 75 73 74 20 6c 69 6e 6b 20 61 67 61 69 6e   must link again
5890: 73 74 2e 0a 23 0a 21 49 46 4e 44 45 46 20 4c 49  st..#.!IFNDEF LI
58a0: 42 52 45 41 44 4c 49 4e 45 0a 4c 49 42 52 45 41  BREADLINE.LIBREA
58b0: 44 4c 49 4e 45 20 3d 0a 21 45 4e 44 49 46 0a 0a  DLINE =.!ENDIF..
58c0: 23 20 53 68 6f 75 6c 64 20 74 68 65 20 64 61 74  # Should the dat
58d0: 61 62 61 73 65 20 65 6e 67 69 6e 65 20 62 65 20  abase engine be
58e0: 63 6f 6d 70 69 6c 65 64 20 74 68 72 65 61 64 73  compiled threads
58f0: 61 66 65 0a 23 0a 54 43 43 20 3d 20 24 28 54 43  afe.#.TCC = $(TC 5900: 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 C) -DSQLITE_THRE 5910: 41 44 53 41 46 45 3d 31 0a 52 43 43 20 3d 20 24 ADSAFE=1.RCC =$
5920: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54  (RCC) -DSQLITE_T
5930: 48 52 45 41 44 53 41 46 45 3d 31 0a 0a 23 20 44  HREADSAFE=1..# D
5940: 6f 20 74 68 72 65 61 64 73 20 6f 76 65 72 72 69  o threads overri
5950: 64 65 20 65 61 63 68 20 6f 74 68 65 72 73 20 6c  de each others l
5960: 6f 63 6b 73 20 62 79 20 64 65 66 61 75 6c 74 20  ocks by default
5970: 28 31 29 2c 20 6f 72 20 64 6f 20 77 65 20 74 65  (1), or do we te
5980: 73 74 20 28 2d 31 29 0a 23 0a 54 43 43 20 3d 20  st (-1).#.TCC =
5990: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_ 59a0: 54 48 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f THREAD_OVERRIDE_ 59b0: 4c 4f 43 4b 3d 2d 31 0a 52 43 43 20 3d 20 24 28 LOCK=-1.RCC =$(
59c0: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  RCC) -DSQLITE_TH
59d0: 52 45 41 44 5f 4f 56 45 52 52 49 44 45 5f 4c 4f  READ_OVERRIDE_LO
59e0: 43 4b 3d 2d 31 0a 0a 23 20 41 6e 79 20 74 61 72  CK=-1..# Any tar
59f0: 67 65 74 20 6c 69 62 72 61 72 69 65 73 20 77 68  get libraries wh
5a00: 69 63 68 20 6c 69 62 73 71 6c 69 74 65 20 6d 75  ich libsqlite mu
5a10: 73 74 20 62 65 20 6c 69 6e 6b 65 64 20 61 67 61  st be linked aga
5a20: 69 6e 73 74 0a 23 0a 21 49 46 4e 44 45 46 20 54  inst.#.!IFNDEF T
5a30: 4c 49 42 53 0a 54 4c 49 42 53 20 3d 0a 21 45 4e  LIBS.TLIBS =.!EN
5a40: 44 49 46 0a 0a 23 20 46 6c 61 67 73 20 63 6f 6e  DIF..# Flags con
5a50: 74 72 6f 6c 6c 69 6e 67 20 75 73 65 20 6f 66 20  trolling use of
5a60: 74 68 65 20 69 6e 20 6d 65 6d 6f 72 79 20 62 74  the in memory bt
5a70: 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ree implementati
5a80: 6f 6e 0a 23 0a 23 20 53 51 4c 49 54 45 5f 54 45  on.#.# SQLITE_TE
5a90: 4d 50 5f 53 54 4f 52 45 20 69 73 20 30 20 74 6f  MP_STORE is 0 to
5aa0: 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72 79   force temporary
5ab0: 20 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6e   tables to be in
5ac0: 20 61 20 66 69 6c 65 2c 20 31 20 74 6f 0a 23 20   a file, 1 to.#
5ad0: 64 65 66 61 75 6c 74 20 74 6f 20 66 69 6c 65 2c  default to file,
5ae0: 20 32 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f   2 to default to
5af0: 20 6d 65 6d 6f 72 79 2c 20 61 6e 64 20 33 20 74   memory, and 3 t
5b00: 6f 20 66 6f 72 63 65 20 74 65 6d 70 6f 72 61 72  o force temporar
5b10: 79 0a 23 20 74 61 62 6c 65 73 20 74 6f 20 61 6c  y.# tables to al
5b20: 77 61 79 73 20 62 65 20 69 6e 20 6d 65 6d 6f 72  ways be in memor
5b30: 79 2e 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43  y..#.TCC = $(TCC 5b40: 29 20 2d 44 53 51 4c 49 54 45 5f 54 45 4d 50 5f ) -DSQLITE_TEMP_ 5b50: 53 54 4f 52 45 3d 31 0a 52 43 43 20 3d 20 24 28 STORE=1.RCC =$(
5b60: 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 54 45  RCC) -DSQLITE_TE
5b70: 4d 50 5f 53 54 4f 52 45 3d 31 0a 0a 23 20 45 6e  MP_STORE=1..# En
5b80: 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 6c 6f 61  able/disable loa
5b90: 64 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73  dable extensions
5ba0: 2c 20 61 6e 64 20 6f 74 68 65 72 20 6f 70 74 69  , and other opti
5bb0: 6f 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 23 20  onal features.#
5bc0: 62 61 73 65 64 20 6f 6e 20 63 6f 6e 66 69 67 75  based on configu
5bd0: 72 61 74 69 6f 6e 2e 20 28 2d 44 53 51 4c 49 54  ration. (-DSQLIT
5be0: 45 5f 4f 4d 49 54 2a 2c 20 2d 44 53 51 4c 49 54  E_OMIT*, -DSQLIT
5bf0: 45 5f 45 4e 41 42 4c 45 2a 29 2e 0a 23 20 54 68  E_ENABLE*)..# Th
5c00: 65 20 73 61 6d 65 20 73 65 74 20 6f 66 20 4f 4d  e same set of OM
5c10: 49 54 20 61 6e 64 20 45 4e 41 42 4c 45 20 66 6c  IT and ENABLE fl
5c20: 61 67 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61  ags should be pa
5c30: 73 73 65 64 20 74 6f 20 74 68 65 0a 23 20 4c 45  ssed to the.# LE
5c40: 4d 4f 4e 20 70 61 72 73 65 72 20 67 65 6e 65 72  MON parser gener
5c50: 61 74 6f 72 20 61 6e 64 20 74 68 65 20 6d 6b 6b  ator and the mkk
5c60: 65 79 77 6f 72 64 68 61 73 68 20 74 6f 6f 6c 20  eywordhash tool
5c70: 61 73 20 77 65 6c 6c 2e 0a 0a 23 20 54 68 65 73  as well...# Thes
5c80: 65 20 61 72 65 20 74 68 65 20 72 65 71 75 69 72  e are the requir
5c90: 65 64 20 53 51 4c 69 74 65 20 63 6f 6d 70 69 6c  ed SQLite compil
5ca0: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 75 73  ation options us
5cb0: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  ed when compilin
5cc0: 67 20 66 6f 72 0a 23 20 74 68 65 20 57 69 6e 64  g for.# the Wind
5cd0: 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a  ows platform..#.
5ce0: 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  REQ_FEATURE_FLAG
5cf0: 53 20 3d 20 24 28 52 45 51 5f 46 45 41 54 55 52  S = $(REQ_FEATUR 5d00: 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 E_FLAGS) -DSQLIT 5d10: 45 5f 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45 E_MAX_TRIGGER_DE 5d20: 50 54 48 3d 31 30 30 0a 0a 23 20 49 66 20 77 65 PTH=100..# If we 5d30: 20 61 72 65 20 6c 69 6e 6b 69 6e 67 20 74 6f 20 are linking to 5d40: 74 68 65 20 52 50 43 52 54 34 20 6c 69 62 72 61 the RPCRT4 libra 5d50: 72 79 2c 20 65 6e 61 62 6c 65 20 66 65 61 74 75 ry, enable featu 5d60: 72 65 73 20 74 68 61 74 20 6e 65 65 64 20 69 74 res that need it 5d70: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 50 ..#.!IF$(USE_RP
5d80: 43 52 54 34 5f 4c 49 42 29 21 3d 30 0a 52 45 51  CRT4_LIB)!=0.REQ
5d90: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d  _FEATURE_FLAGS =
5da0: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F 5db0: 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 57 LAGS) -DSQLITE_W 5dc0: 49 4e 33 32 5f 55 53 45 5f 55 55 49 44 3d 31 0a IN32_USE_UUID=1. 5dd0: 21 45 4e 44 49 46 0a 0a 23 20 41 64 64 20 74 68 !ENDIF..# Add th 5de0: 65 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 6f e required and o 5df0: 70 74 69 6f 6e 61 6c 20 53 51 4c 69 74 65 20 63 ptional SQLite c 5e00: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f ompilation optio 5e10: 6e 73 20 69 6e 74 6f 20 74 68 65 20 63 6f 6d 6d ns into the comm 5e20: 61 6e 64 0a 23 20 6c 69 6e 65 73 20 75 73 65 64 and.# lines used 5e30: 20 74 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 4d to invoke the M 5e40: 53 56 43 20 63 6f 64 65 20 61 6e 64 20 72 65 73 SVC code and res 5e50: 6f 75 72 63 65 20 63 6f 6d 70 69 6c 65 72 73 2e ource compilers. 5e60: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 .#.TCC =$(TCC)
5e70: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  $(REQ_FEATURE_FL 5e80: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 AGS)$(OPT_FEATU
5e90: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f  RE_FLAGS) $(EXT_ 5ea0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a 52 FEATURE_FLAGS).R 5eb0: 43 43 20 3d 20 24 28 52 43 43 29 20 24 28 52 45 CC =$(RCC) $(RE 5ec0: 51 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 Q_FEATURE_FLAGS) 5ed0: 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46$(OPT_FEATURE_F
5ee0: 4c 41 47 53 29 20 24 28 45 58 54 5f 46 45 41 54  LAGS) $(EXT_FEAT 5ef0: 55 52 45 5f 46 4c 41 47 53 29 0a 0a 23 20 41 64 URE_FLAGS)..# Ad 5f00: 64 20 69 6e 20 61 6e 79 20 6f 70 74 69 6f 6e 61 d in any optiona 5f10: 6c 20 70 61 72 61 6d 65 74 65 72 73 20 73 70 65 l parameters spe 5f20: 63 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f cified on the co 5f30: 6d 6d 61 6e 65 20 6c 69 6e 65 2c 20 65 2e 67 2e mmane line, e.g. 5f40: 0a 23 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 .# nmake /f Make 5f50: 66 69 6c 65 2e 6d 73 63 20 61 6c 6c 20 22 4f 50 file.msc all "OP 5f60: 54 53 3d 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 TS=-DSQLITE_ENAB 5f70: 4c 45 5f 46 4f 4f 3d 31 20 2d 44 53 51 4c 49 54 LE_FOO=1 -DSQLIT 5f80: 45 5f 4f 4d 49 54 5f 46 4f 4f 3d 31 22 0a 23 0a E_OMIT_FOO=1".#. 5f90: 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 4f TCC =$(TCC) $(O 5fa0: 50 54 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43 PTS).RCC =$(RCC
5fb0: 29 20 24 28 4f 50 54 53 29 0a 0a 23 20 49 66 20  ) $(OPTS)..# If 5fc0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 64 65 compiling for de 5fd0: 62 75 67 67 69 6e 67 2c 20 61 64 64 20 73 6f 6d bugging, add som 5fe0: 65 20 64 65 66 69 6e 65 73 2e 0a 23 0a 21 49 46 e defines..#.!IF 5ff0: 20 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20$(DEBUG)>1.TCC
6000: 3d 20 24 28 54 43 43 29 20 2d 44 5f 44 45 42 55  = $(TCC) -D_DEBU 6010: 47 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d G.BCC =$(BCC) -
6020: 44 5f 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28  D_DEBUG.RCC = $( 6030: 52 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 21 45 RCC) -D_DEBUG.!E 6040: 4e 44 49 46 0a 0a 23 20 49 66 20 6f 70 74 69 6d NDIF..# If optim 6050: 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 izations are ena 6060: 62 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 64 bled or disabled 6070: 20 28 65 69 74 68 65 72 20 69 6d 70 6c 69 63 69 (either implici 6080: 74 6c 79 20 6f 72 0a 23 20 65 78 70 6c 69 63 69 tly or.# explici 6090: 74 6c 79 29 2c 20 61 64 64 20 74 68 65 20 6e 65 tly), add the ne 60a0: 63 65 73 73 61 72 79 20 66 6c 61 67 73 2e 0a 23 cessary flags..# 60b0: 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 .!IF$(DEBUG)>1
60c0: 7c 7c 20 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f  || $(OPTIMIZATIO 60d0: 4e 53 29 3d 3d 30 0a 54 43 43 20 3d 20 24 28 54 NS)==0.TCC =$(T
60e0: 43 43 29 20 2d 4f 64 0a 42 43 43 20 3d 20 24 28  CC) -Od.BCC = $( 60f0: 42 43 43 29 20 2d 4f 64 0a 21 49 46 20 24 28 55 BCC) -Od.!IF$(U
6100: 53 45 5f 52 55 4e 54 49 4d 45 5f 43 48 45 43 4b  SE_RUNTIME_CHECK
6110: 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  S)!=0.TCC = $(TC 6120: 43 29 20 2d 52 54 43 31 0a 42 43 43 20 3d 20 24 C) -RTC1.BCC =$
6130: 28 42 43 43 29 20 2d 52 54 43 31 0a 21 45 4e 44  (BCC) -RTC1.!END
6140: 49 46 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54  IF.!ELSEIF $(OPT 6150: 49 4d 49 5a 41 54 49 4f 4e 53 29 3e 3d 33 0a 54 IMIZATIONS)>=3.T 6160: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 78 0a CC =$(TCC) -Ox.
6170: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 78  BCC = $(BCC) -Ox 6180: 0a 21 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d .!ELSEIF$(OPTIM
6190: 49 5a 41 54 49 4f 4e 53 29 3d 3d 32 0a 54 43 43  IZATIONS)==2.TCC
61a0: 20 3d 20 24 28 54 43 43 29 20 2d 4f 32 0a 42 43   = $(TCC) -O2.BC 61b0: 43 20 3d 20 24 28 42 43 43 29 20 2d 4f 32 0a 21 C =$(BCC) -O2.!
61c0: 45 4c 53 45 49 46 20 24 28 4f 50 54 49 4d 49 5a  ELSEIF $(OPTIMIZ 61d0: 41 54 49 4f 4e 53 29 3d 3d 31 0a 54 43 43 20 3d ATIONS)==1.TCC = 61e0: 20 24 28 54 43 43 29 20 2d 4f 31 0a 42 43 43 20$(TCC) -O1.BCC
61f0: 3d 20 24 28 42 43 43 29 20 2d 4f 31 0a 21 45 4e  = $(BCC) -O1.!EN 6200: 44 49 46 0a 0a 23 20 49 66 20 73 79 6d 62 6f 6c DIF..# If symbol 6210: 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 28 6f s are enabled (o 6220: 72 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 r compiling for 6230: 64 65 62 75 67 67 69 6e 67 29 2c 20 65 6e 61 62 debugging), enab 6240: 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 le PDBs..#.!IF$
6250: 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53  (DEBUG)>1 || $(S 6260: 59 4d 42 4f 4c 53 29 21 3d 30 0a 54 43 43 20 3d YMBOLS)!=0.TCC = 6270: 20 24 28 54 43 43 29 20 2d 5a 69 0a 42 43 43 20$(TCC) -Zi.BCC
6280: 3d 20 24 28 42 43 43 29 20 2d 5a 69 0a 21 45 4e  = $(BCC) -Zi.!EN 6290: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a DIF..# <<mark>>. 62a0: 23 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 # If ICU support 62b0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 is enabled, add 62c0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 70 the compiler op 62d0: 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a tions for it..#. 62e0: 21 49 46 20 24 28 55 53 45 5f 49 43 55 29 21 3d !IF$(USE_ICU)!=
62f0: 30 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  0.TCC = $(TCC) - 6300: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 DSQLITE_ENABLE_I 6310: 43 55 3d 31 0a 52 43 43 20 3d 20 24 28 52 43 43 CU=1.RCC =$(RCC
6320: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
6330: 45 5f 49 43 55 3d 31 0a 54 43 43 20 3d 20 24 28  E_ICU=1.TCC = $( 6340: 54 43 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 TCC) -I$(TOP)\ex
6350: 74 5c 69 63 75 0a 52 43 43 20 3d 20 24 28 52 43  t\icu.RCC = $(RC 6360: 43 29 20 2d 49 24 28 54 4f 50 29 5c 65 78 74 5c C) -I$(TOP)\ext\
6370: 69 63 75 0a 54 43 43 20 3d 20 24 28 54 43 43 29  icu.TCC = $(TCC) 6380: 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52 29 0a -I$(ICUINCDIR).
6390: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24  RCC = $(RCC) -I$
63a0: 28 49 43 55 49 4e 43 44 49 52 29 0a 21 45 4e 44  (ICUINCDIR).!END
63b0: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  IF.# <</mark>>..
63c0: 23 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70  # Command line p
63d0: 72 65 66 69 78 65 73 20 66 6f 72 20 63 6f 6d 70  refixes for comp
63e0: 69 6c 69 6e 67 20 63 6f 64 65 2c 20 63 6f 6d 70  iling code, comp
63f0: 69 6c 69 6e 67 20 72 65 73 6f 75 72 63 65 73 2c  iling resources,
6400: 0a 23 20 6c 69 6e 6b 69 6e 67 2c 20 65 74 63 2e  .# linking, etc.
6410: 0a 23 0a 4c 54 43 4f 4d 50 49 4c 45 20 3d 20 24  .#.LTCOMPILE = $6420: 28 54 43 43 29 20 2d 46 6f 24 40 0a 4c 54 52 43 (TCC) -Fo$@.LTRC
6430: 4f 4d 50 49 4c 45 20 3d 20 24 28 52 43 43 29 20  OMPILE = $(RCC) 6440: 2d 72 0a 4c 54 4c 49 42 20 3d 20 6c 69 62 2e 65 -r.LTLIB = lib.e 6450: 78 65 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28 54 43 xe.LTLINK =$(TC
6460: 43 29 20 2d 46 65 24 40 0a 0a 23 20 49 66 20 72  C) -Fe$@..# If r 6470: 65 71 75 65 73 74 65 64 2c 20 6c 69 6e 6b 20 74 equested, link t 6480: 6f 20 74 68 65 20 52 50 43 52 54 34 20 6c 69 62 o the RPCRT4 lib 6490: 72 61 72 79 2e 0a 23 0a 21 49 46 20 24 28 55 53 rary..#.!IF$(US
64a0: 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 21 3d 30  E_RPCRT4_LIB)!=0
64b0: 0a 4c 54 4c 49 4e 4b 20 3d 20 24 28 4c 54 4c 49  .LTLINK = $(LTLI 64c0: 4e 4b 29 20 72 70 63 72 74 34 2e 6c 69 62 0a 21 NK) rpcrt4.lib.! 64d0: 45 4e 44 49 46 0a 0a 23 20 49 66 20 61 20 70 6c ENDIF..# If a pl 64e0: 61 74 66 6f 72 6d 20 77 61 73 20 73 65 74 2c 20 atform was set, 64f0: 66 6f 72 63 65 20 74 68 65 20 6c 69 6e 6b 65 72 force the linker 6500: 20 74 6f 20 74 61 72 67 65 74 20 74 68 61 74 2e to target that. 6510: 0a 23 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 .# Note that the 6520: 20 76 63 76 61 72 73 2a 2e 62 61 74 20 66 61 6d vcvars*.bat fam 6530: 69 6c 79 20 6f 66 20 62 61 74 63 68 20 66 69 6c ily of batch fil 6540: 65 73 20 74 79 70 69 63 61 6c 6c 79 0a 23 20 73 es typically.# s 6550: 65 74 20 74 68 69 73 20 66 6f 72 20 79 6f 75 2e et this for you. 6560: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 Otherwise, the 6570: 20 6c 69 6e 6b 65 72 20 77 69 6c 6c 20 61 74 74 linker will att 6580: 65 6d 70 74 0a 23 20 74 6f 20 64 65 64 75 63 65 empt.# to deduce 6590: 20 74 68 65 20 62 69 6e 61 72 79 20 74 79 70 65 the binary type 65a0: 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6f 62 based on the ob 65b0: 6a 65 63 74 20 66 69 6c 65 73 2e 0a 21 49 46 44 ject files..!IFD 65c0: 45 46 20 50 4c 41 54 46 4f 52 4d 0a 4c 54 4c 49 EF PLATFORM.LTLI 65d0: 4e 4b 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f NKOPTS = /NOLOGO 65e0: 20 2f 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 /MACHINE:$(PLAT
65f0: 46 4f 52 4d 29 0a 4c 54 4c 49 42 4f 50 54 53 20  FORM).LTLIBOPTS
6600: 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49  = /NOLOGO /MACHI
6610: 4e 45 3a 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21  NE:$(PLATFORM).! 6620: 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 ELSE.LTLINKOPTS 6630: 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c 54 4c 49 42 4f = /NOLOGO.LTLIBO 6640: 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 21 45 PTS = /NOLOGO.!E 6650: 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d NDIF..# When com 6660: 70 69 6c 69 6e 67 20 66 6f 72 20 75 73 65 20 69 piling for use i 6670: 6e 20 74 68 65 20 57 69 6e 52 54 20 65 6e 76 69 n the WinRT envi 6680: 72 6f 6e 6d 65 6e 74 2c 20 74 68 65 20 66 6f 6c ronment, the fol 6690: 6c 6f 77 69 6e 67 0a 23 20 6c 69 6e 6b 65 72 20 lowing.# linker 66a0: 6f 70 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 75 option must be u 66b0: 73 65 64 20 74 6f 20 6d 61 72 6b 20 74 68 65 20 sed to mark the 66c0: 65 78 65 63 75 74 61 62 6c 65 20 61 73 20 72 75 executable as ru 66d0: 6e 6e 61 62 6c 65 0a 23 20 6f 6e 6c 79 20 69 6e nnable.# only in 66e0: 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6f 66 20 the context of 66f0: 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 63 an application c 6700: 6f 6e 74 61 69 6e 65 72 2e 0a 23 0a 21 49 46 20 ontainer..#.!IF 6710: 24 28 46 4f 52 5f 57 49 4e 52 54 29 21 3d 30 0a$(FOR_WINRT)!=0.
6720: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c  LTLINKOPTS = $(L 6730: 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 41 50 50 43 TLINKOPTS) /APPC 6740: 4f 4e 54 41 49 4e 45 52 0a 21 49 46 20 22 24 28 ONTAINER.!IF "$(
6750: 56 49 53 55 41 4c 53 54 55 44 49 4f 56 45 52 53  VISUALSTUDIOVERS
6760: 49 4f 4e 29 22 3d 3d 22 31 32 2e 30 22 20 7c 7c  ION)"=="12.0" ||
6770: 20 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 4f   "$(VISUALSTUDIO 6780: 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 34 2e 30 VERSION)"=="14.0 6790: 22 0a 21 49 46 4e 44 45 46 20 53 54 4f 52 45 4c ".!IFNDEF STOREL 67a0: 49 42 50 41 54 48 0a 21 49 46 20 22 24 28 50 4c IBPATH.!IF "$(PL
67b0: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 0a  ATFORM)"=="x86".
67c0: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $67d0: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f (CRTLIBPATH)\sto 67e0: 72 65 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c re.!ELSEIF "$(PL
67f0: 41 54 46 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a  ATFORM)"=="x64".
6800: 53 54 4f 52 45 4c 49 42 50 41 54 48 20 3d 20 24  STORELIBPATH = $6810: 28 43 52 54 4c 49 42 50 41 54 48 29 5c 73 74 6f (CRTLIBPATH)\sto 6820: 72 65 5c 61 6d 64 36 34 0a 21 45 4c 53 45 49 46 re\amd64.!ELSEIF 6830: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d "$(PLATFORM)"==
6840: 22 41 52 4d 22 0a 53 54 4f 52 45 4c 49 42 50 41  "ARM".STORELIBPA
6850: 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54  TH = $(CRTLIBPAT 6860: 48 29 5c 73 74 6f 72 65 5c 61 72 6d 0a 21 45 4c H)\store\arm.!EL 6870: 53 45 0a 53 54 4f 52 45 4c 49 42 50 41 54 48 20 SE.STORELIBPATH 6880: 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48 29 5c =$(CRTLIBPATH)\
6890: 73 74 6f 72 65 0a 21 45 4e 44 49 46 0a 21 45 4e  store.!ENDIF.!EN
68a0: 44 49 46 0a 53 54 4f 52 45 4c 49 42 50 41 54 48  DIF.STORELIBPATH
68b0: 20 3d 20 24 28 53 54 4f 52 45 4c 49 42 50 41 54   = $(STORELIBPAT 68c0: 48 3a 5c 5c 3d 5c 29 0a 4c 54 4c 49 4e 4b 4f 50 H:\\=\).LTLINKOP 68d0: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 TS =$(LTLINKOPT
68e0: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 53  S) "/LIBPATH:$(S 68f0: 54 4f 52 45 4c 49 42 50 41 54 48 29 22 0a 21 45 TORELIBPATH)".!E 6900: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 NDIF.!ENDIF..# W 6910: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f hen compiling fo 6920: 72 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 r Windows Phone 6930: 38 2e 31 2c 20 61 6e 20 65 78 74 72 61 20 6c 69 8.1, an extra li 6940: 62 72 61 72 79 20 70 61 74 68 20 69 73 0a 23 20 brary path is.# 6950: 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 required..#.!IF 6960: 24 28 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29$(USE_WP81_OPTS)
6970: 21 3d 30 0a 21 49 46 4e 44 45 46 20 57 50 38 31  !=0.!IFNDEF WP81
6980: 4c 49 42 50 41 54 48 0a 21 49 46 20 22 24 28 50  LIBPATH.!IF "$(P 6990: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38 36 22 LATFORM)"=="x86" 69a0: 0a 57 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 .WP81LIBPATH =$
69b0: 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  (PROGRAMFILES_X8
69c0: 36 29 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65  6)\Windows Phone
69d0: 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 78 38   Kits\8.1\lib\x8
69e0: 36 0a 21 45 4c 53 45 49 46 20 22 24 28 50 4c 41  6.!ELSEIF "$(PLA 69f0: 54 46 4f 52 4d 29 22 3d 3d 22 41 52 4d 22 0a 57 TFORM)"=="ARM".W 6a00: 50 38 31 4c 49 42 50 41 54 48 20 3d 20 24 28 50 P81LIBPATH =$(P
6a10: 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38 36 29  ROGRAMFILES_X86)
6a20: 5c 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 4b  \Windows Phone K
6a30: 69 74 73 5c 38 2e 31 5c 6c 69 62 5c 41 52 4d 0a  its\8.1\lib\ARM.
6a40: 21 45 4c 53 45 0a 57 50 38 31 4c 49 42 50 41 54  !ELSE.WP81LIBPAT
6a50: 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  H = $(PROGRAMFIL 6a60: 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 ES_X86)\Windows 6a70: 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c Phone Kits\8.1\l 6a80: 69 62 5c 78 38 36 0a 21 45 4e 44 49 46 0a 21 45 ib\x86.!ENDIF.!E 6a90: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 57 NDIF.!ENDIF..# W 6aa0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f hen compiling fo 6ab0: 72 20 57 69 6e 64 6f 77 73 20 50 68 6f 6e 65 20 r Windows Phone 6ac0: 38 2e 31 2c 20 73 6f 6d 65 20 65 78 74 72 61 20 8.1, some extra 6ad0: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 0a 23 linker options.# 6ae0: 20 61 72 65 20 61 6c 73 6f 20 72 65 71 75 69 72 are also requir 6af0: 65 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f ed..#.!IF$(USE_
6b00: 57 50 38 31 5f 4f 50 54 53 29 21 3d 30 0a 21 49  WP81_OPTS)!=0.!I
6b10: 46 44 45 46 20 57 50 38 31 4c 49 42 50 41 54 48  FDEF WP81LIBPATH
6b20: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $( 6b30: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 LTLINKOPTS) "/LI 6b40: 42 50 41 54 48 3a 24 28 57 50 38 31 4c 49 42 50 BPATH:$(WP81LIBP
6b50: 41 54 48 29 22 0a 21 45 4e 44 49 46 0a 4c 54 4c  ATH)".!ENDIF.LTL
6b60: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI 6b70: 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49 43 NKOPTS) /DYNAMIC 6b80: 42 41 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 BASE.LTLINKOPTS 6b90: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 =$(LTLINKOPTS)
6ba0: 57 69 6e 64 6f 77 73 50 68 6f 6e 65 43 6f 72 65  WindowsPhoneCore
6bb0: 2e 6c 69 62 20 52 75 6e 74 69 6d 65 4f 62 6a 65  .lib RuntimeObje
6bc0: 63 74 2e 6c 69 62 20 50 68 6f 6e 65 41 70 70 4d  ct.lib PhoneAppM
6bd0: 6f 64 65 6c 48 6f 73 74 2e 6c 69 62 0a 4c 54 4c  odelHost.lib.LTL
6be0: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49  INKOPTS = $(LTLI 6bf0: 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44 45 46 41 55 NKOPTS) /NODEFAU 6c00: 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c LTLIB:kernel32.l 6c10: 69 62 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 ib /NODEFAULTLIB 6c20: 3a 6f 6c 65 33 32 2e 6c 69 62 0a 21 45 4e 44 49 :ole32.lib.!ENDI 6c30: 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c F..# When compil 6c40: 69 6e 67 20 66 6f 72 20 55 57 50 20 6f 72 20 74 ing for UWP or t 6c50: 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c he Windows 10 pl 6c60: 61 74 66 6f 72 6d 2c 20 73 6f 6d 65 20 65 78 74 atform, some ext 6c70: 72 61 20 6c 69 6e 6b 65 72 0a 23 20 6f 70 74 69 ra linker.# opti 6c80: 6f 6e 73 20 61 72 65 20 61 6c 73 6f 20 72 65 71 ons are also req 6c90: 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 28 46 uired..#.!IF$(F
6ca0: 4f 52 5f 55 57 50 29 21 3d 30 20 7c 7c 20 24 28  OR_UWP)!=0 || $( 6cb0: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 4c 54 FOR_WIN10)!=0.LT 6cc0: 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c LINKOPTS =$(LTL
6cd0: 49 4e 4b 4f 50 54 53 29 20 2f 44 59 4e 41 4d 49  INKOPTS) /DYNAMI
6ce0: 43 42 41 53 45 20 2f 4e 4f 44 45 46 41 55 4c 54  CBASE /NODEFAULT
6cf0: 4c 49 42 3a 6b 65 72 6e 65 6c 33 32 2e 6c 69 62  LIB:kernel32.lib
6d00: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28  .LTLINKOPTS = $( 6d10: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 6d 69 6e 63 LTLINKOPTS) minc 6d20: 6f 72 65 2e 6c 69 62 0a 21 49 46 44 45 46 20 50 ore.lib.!IFDEF P 6d30: 53 44 4b 4c 49 42 50 41 54 48 0a 4c 54 4c 49 4e SDKLIBPATH.LTLIN 6d40: 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b KOPTS =$(LTLINK
6d50: 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54 48 3a  OPTS) "/LIBPATH:
6d60: 24 28 50 53 44 4b 4c 49 42 50 41 54 48 29 22 0a  $(PSDKLIBPATH)". 6d70: 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 21 !ENDIF.!ENDIF..! 6d80: 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 IF$(FOR_WIN10)!
6d90: 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  =0.LTLINKOPTS =
6da0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 67  $(LTLINKOPTS) /g 6db0: 75 61 72 64 3a 63 66 20 22 2f 4c 49 42 50 41 54 uard:cf "/LIBPAT 6dc0: 48 3a 24 28 55 43 52 54 4c 49 42 50 41 54 48 29 H:$(UCRTLIBPATH)
6dd0: 22 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31  ".!IF $(DEBUG)>1 6de0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 .LTLINKOPTS =$(
6df0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f 44  LTLINKOPTS) /NOD
6e00: 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62 75 63 72  EFAULTLIB:libucr
6e10: 74 64 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54 4c  td.lib /DEFAULTL
6e20: 49 42 3a 75 63 72 74 64 2e 6c 69 62 0a 21 45 4c  IB:ucrtd.lib.!EL
6e30: 53 45 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20  SE.LTLINKOPTS =
6e40: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e  $(LTLINKOPTS) /N 6e50: 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c 69 62 75 ODEFAULTLIB:libu 6e60: 63 72 74 2e 6c 69 62 20 2f 44 45 46 41 55 4c 54 crt.lib /DEFAULT 6e70: 4c 49 42 3a 75 63 72 74 2e 6c 69 62 0a 21 45 4e LIB:ucrt.lib.!EN 6e80: 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 DIF.!ENDIF..# If 6e90: 20 65 69 74 68 65 72 20 64 65 62 75 67 67 69 6e either debuggin 6ea0: 67 20 6f 72 20 73 79 6d 62 6f 6c 73 20 61 72 65 g or symbols are 6eb0: 20 65 6e 61 62 6c 65 64 2c 20 65 6e 61 62 6c 65 enabled, enable 6ec0: 20 50 44 42 73 2e 0a 23 0a 21 49 46 20 24 28 44 PDBs..#.!IF$(D
6ed0: 45 42 55 47 29 3e 31 20 7c 7c 20 24 28 53 59 4d  EBUG)>1 || $(SYM 6ee0: 42 4f 4c 53 29 21 3d 30 0a 4c 44 46 4c 41 47 53 BOLS)!=0.LDFLAGS 6ef0: 20 3d 20 2f 44 45 42 55 47 20 24 28 4c 44 4f 50 = /DEBUG$(LDOP
6f00: 54 53 29 0a 21 45 4c 53 45 0a 4c 44 46 4c 41 47  TS).!ELSE.LDFLAG
6f10: 53 20 3d 20 24 28 4c 44 4f 50 54 53 29 0a 21 45  S = $(LDOPTS).!E 6f20: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e NDIF..# <<mark>> 6f30: 0a 23 20 53 74 61 72 74 20 77 69 74 68 20 74 68 .# Start with th 6f40: 65 20 54 63 6c 20 72 65 6c 61 74 65 64 20 6c 69 e Tcl related li 6f50: 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 2e 0a 23 0a nker options..#. 6f60: 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29 3d 3d 30 !IF$(NO_TCL)==0
6f70: 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d 20 2f 4c  .LTLIBPATHS = /L
6f80: 49 42 50 41 54 48 3a 24 28 54 43 4c 4c 49 42 44  IBPATH:$(TCLLIBD 6f90: 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 4c IR).LTLIBS =$(L
6fa0: 49 42 54 43 4c 29 0a 21 45 4e 44 49 46 0a 0a 23  IBTCL).!ENDIF..#
6fb0: 20 49 66 20 49 43 55 20 73 75 70 70 6f 72 74 20   If ICU support
6fc0: 69 73 20 65 6e 61 62 6c 65 64 2c 20 61 64 64 20  is enabled, add
6fd0: 74 68 65 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f  the linker optio
6fe0: 6e 73 20 66 6f 72 20 69 74 2e 0a 23 0a 21 49 46  ns for it..#.!IF
6ff0: 20 24 28 55 53 45 5f 49 43 55 29 21 3d 30 0a 4c   $(USE_ICU)!=0.L 7000: 54 4c 49 42 50 41 54 48 53 20 3d 20 24 28 4c 54 TLIBPATHS =$(LT
7010: 4c 49 42 50 41 54 48 53 29 20 2f 4c 49 42 50 41  LIBPATHS) /LIBPA
7020: 54 48 3a 24 28 49 43 55 4c 49 42 44 49 52 29 0a  TH:$(ICULIBDIR). 7030: 4c 54 4c 49 42 53 20 3d 20 24 28 4c 54 4c 49 42 LTLIBS =$(LTLIB
7040: 53 29 20 24 28 4c 49 42 49 43 55 29 0a 21 45 4e  S) $(LIBICU).!EN 7050: 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a DIF.# <</mark>>. 7060: 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f .# You should no 7070: 74 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 t have to change 7080: 20 61 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 anything below 7090: 74 68 69 73 20 6c 69 6e 65 0a 23 23 23 23 23 23 this line.###### 70a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 70b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 70c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 70d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 70e0: 23 23 23 23 23 23 23 23 23 0a 0a 23 20 3c 3c 6d #########..# <<m 70f0: 61 72 6b 3e 3e 0a 23 20 4f 62 6a 65 63 74 20 66 ark>>.# Object f 7100: 69 6c 65 73 20 66 6f 72 20 74 68 65 20 53 51 4c iles for the SQL 7110: 69 74 65 20 6c 69 62 72 61 72 79 20 28 6e 6f 6e ite library (non 7120: 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 29 2e 0a -amalgamation).. 7130: 23 0a 4c 49 42 4f 42 4a 53 30 20 3d 20 76 64 62 #.LIBOBJS0 = vdb 7140: 65 2e 6c 6f 20 70 61 72 73 65 2e 6c 6f 20 61 6c e.lo parse.lo al 7150: 74 65 72 2e 6c 6f 20 61 6e 61 6c 79 7a 65 2e 6c ter.lo analyze.l 7160: 6f 20 61 74 74 61 63 68 2e 6c 6f 20 61 75 74 68 o attach.lo auth 7170: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 62 .lo \. b 7180: 61 63 6b 75 70 2e 6c 6f 20 62 69 74 76 65 63 2e ackup.lo bitvec. 7190: 6c 6f 20 62 74 6d 75 74 65 78 2e 6c 6f 20 62 74 lo btmutex.lo bt 71a0: 72 65 65 2e 6c 6f 20 62 75 69 6c 64 2e 6c 6f 20 ree.lo build.lo 71b0: 5c 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 62 \. callb 71c0: 61 63 6b 2e 6c 6f 20 63 6f 6d 70 6c 65 74 65 2e ack.lo complete. 71d0: 6c 6f 20 63 74 69 6d 65 2e 6c 6f 20 64 61 74 65 lo ctime.lo date 71e0: 2e 6c 6f 20 64 62 73 74 61 74 2e 6c 6f 20 64 65 .lo dbstat.lo de 71f0: 6c 65 74 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 lete.lo \. 7200: 20 20 20 65 78 70 72 2e 6c 6f 20 66 61 75 6c 74 expr.lo fault 7210: 2e 6c 6f 20 66 6b 65 79 2e 6c 6f 20 5c 0a 20 20 .lo fkey.lo \. 7220: 20 20 20 20 20 20 20 66 74 73 33 2e 6c 6f 20 66 fts3.lo f 7230: 74 73 33 5f 61 75 78 2e 6c 6f 20 66 74 73 33 5f ts3_aux.lo fts3_ 7240: 65 78 70 72 2e 6c 6f 20 66 74 73 33 5f 68 61 73 expr.lo fts3_has 7250: 68 2e 6c 6f 20 66 74 73 33 5f 69 63 75 2e 6c 6f h.lo fts3_icu.lo 7260: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 \. fts3 7270: 5f 70 6f 72 74 65 72 2e 6c 6f 20 66 74 73 33 5f _porter.lo fts3_ 7280: 73 6e 69 70 70 65 74 2e 6c 6f 20 66 74 73 33 5f snippet.lo fts3_ 7290: 74 6f 6b 65 6e 69 7a 65 72 2e 6c 6f 20 66 74 73 tokenizer.lo fts 72a0: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f 20 3_tokenizer1.lo 72b0: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 5f \. fts3_ 72c0: 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 6c 6f tokenize_vtab.lo 72d0: 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 6c 6f fts3_unicode.lo 72e0: 20 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 2e 6c fts3_unicode2.l 72f0: 6f 20 66 74 73 33 5f 77 72 69 74 65 2e 6c 6f 20 o fts3_write.lo 7300: 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 35 2e \. fts5. 7310: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 66 75 lo \. fu 7320: 6e 63 2e 6c 6f 20 67 6c 6f 62 61 6c 2e 6c 6f 20 nc.lo global.lo 7330: 68 61 73 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 hash.lo \. 7340: 20 20 20 69 63 75 2e 6c 6f 20 69 6e 73 65 72 74 icu.lo insert 7350: 2e 6c 6f 20 6c 65 67 61 63 79 2e 6c 6f 20 6c 6f .lo legacy.lo lo 7360: 61 64 65 78 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 adext.lo \. 7370: 20 20 20 20 6d 61 69 6e 2e 6c 6f 20 6d 61 6c 6c main.lo mall 7380: 6f 63 2e 6c 6f 20 6d 65 6d 30 2e 6c 6f 20 6d 65 oc.lo mem0.lo me 7390: 6d 31 2e 6c 6f 20 6d 65 6d 32 2e 6c 6f 20 6d 65 m1.lo mem2.lo me 73a0: 6d 33 2e 6c 6f 20 6d 65 6d 35 2e 6c 6f 20 5c 0a m3.lo mem5.lo \. 73b0: 20 20 20 20 20 20 20 20 20 6d 65 6d 6a 6f 75 72 memjour 73c0: 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 nal.lo \. 73d0: 20 20 6d 75 74 65 78 2e 6c 6f 20 6d 75 74 65 78 mutex.lo mutex 73e0: 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 74 65 78 5f 75 _noop.lo mutex_u 73f0: 6e 69 78 2e 6c 6f 20 6d 75 74 65 78 5f 77 33 32 nix.lo mutex_w32 7400: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6e .lo \. n 7410: 6f 74 69 66 79 2e 6c 6f 20 6f 70 63 6f 64 65 73 otify.lo opcodes 7420: 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f 73 5f 75 6e 69 .lo os.lo os_uni 7430: 78 2e 6c 6f 20 6f 73 5f 77 69 6e 2e 6c 6f 20 5c x.lo os_win.lo \ 7440: 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 72 2e . pager. 7450: 6c 6f 20 70 63 61 63 68 65 2e 6c 6f 20 70 63 61 lo pcache.lo pca 7460: 63 68 65 31 2e 6c 6f 20 70 72 61 67 6d 61 2e 6c che1.lo pragma.l 7470: 6f 20 70 72 65 70 61 72 65 2e 6c 6f 20 70 72 69 o prepare.lo pri 7480: 6e 74 66 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 ntf.lo \. 7490: 20 20 72 61 6e 64 6f 6d 2e 6c 6f 20 72 65 73 6f random.lo reso 74a0: 6c 76 65 2e 6c 6f 20 72 6f 77 73 65 74 2e 6c 6f lve.lo rowset.lo 74b0: 20 72 74 72 65 65 2e 6c 6f 20 5c 0a 20 20 20 20 rtree.lo \. 74c0: 20 20 20 20 20 73 71 6c 69 74 65 33 73 65 73 73 sqlite3sess 74d0: 69 6f 6e 2e 6c 6f 20 73 65 6c 65 63 74 2e 6c 6f ion.lo select.lo 74e0: 20 73 71 6c 69 74 65 33 72 62 75 2e 6c 6f 20 73 sqlite3rbu.lo s 74f0: 74 61 74 75 73 2e 6c 6f 20 5c 0a 20 20 20 20 20 tatus.lo \. 7500: 20 20 20 20 74 61 62 6c 65 2e 6c 6f 20 74 68 72 table.lo thr 7510: 65 61 64 73 2e 6c 6f 20 74 6f 6b 65 6e 69 7a 65 eads.lo tokenize 7520: 2e 6c 6f 20 74 72 65 65 76 69 65 77 2e 6c 6f 20 .lo treeview.lo 7530: 74 72 69 67 67 65 72 2e 6c 6f 20 5c 0a 20 20 20 trigger.lo \. 7540: 20 20 20 20 20 20 75 70 64 61 74 65 2e 6c 6f 20 update.lo 7550: 75 74 69 6c 2e 6c 6f 20 76 61 63 75 75 6d 2e 6c util.lo vacuum.l 7560: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 76 64 62 o \. vdb 7570: 65 61 70 69 2e 6c 6f 20 76 64 62 65 61 75 78 2e eapi.lo vdbeaux. 7580: 6c 6f 20 76 64 62 65 62 6c 6f 62 2e 6c 6f 20 76 lo vdbeblob.lo v 7590: 64 62 65 6d 65 6d 2e 6c 6f 20 76 64 62 65 73 6f dbemem.lo vdbeso 75a0: 72 74 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 rt.lo \. 75b0: 20 76 64 62 65 74 72 61 63 65 2e 6c 6f 20 77 61 vdbetrace.lo wa 75c0: 6c 2e 6c 6f 20 77 61 6c 6b 65 72 2e 6c 6f 20 77 l.lo walker.lo w 75d0: 68 65 72 65 2e 6c 6f 20 77 68 65 72 65 63 6f 64 here.lo wherecod 75e0: 65 2e 6c 6f 20 77 68 65 72 65 65 78 70 72 2e 6c e.lo whereexpr.l 75f0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 75 74 66 o \. utf 7600: 2e 6c 6f 20 76 74 61 62 2e 6c 6f 0a 23 20 3c 3c .lo vtab.lo.# << 7610: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 4f 62 6a 65 63 /mark>>..# Objec 7620: 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20 t files for the 7630: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 0a 23 0a amalgamation..#. 7640: 4c 49 42 4f 42 4a 53 31 20 3d 20 73 71 6c 69 74 LIBOBJS1 = sqlit 7650: 65 33 2e 6c 6f 0a 0a 23 20 44 65 74 65 72 6d 69 e3.lo..# Determi 7660: 6e 65 20 74 68 65 20 72 65 61 6c 20 76 61 6c 75 ne the real valu 7670: 65 20 6f 66 20 4c 49 42 4f 42 4a 20 62 61 73 65 e of LIBOBJ base 7680: 64 20 6f 6e 20 74 68 65 20 27 63 6f 6e 66 69 67 d on the 'config 7690: 75 72 65 27 20 73 63 72 69 70 74 0a 23 0a 23 20 ure' script.#.# 76a0: 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 46 20 24 28 55 <<mark>>.!IF$(U
76b0: 53 45 5f 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29  SE_AMALGAMATION)
76c0: 3d 3d 30 0a 4c 49 42 4f 42 4a 20 3d 20 24 28 4c  ==0.LIBOBJ = $(L 76d0: 49 42 4f 42 4a 53 30 29 0a 21 45 4c 53 45 0a 23 IBOBJS0).!ELSE.# 76e0: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 4c 49 42 4f 42 <</mark>>.LIBOB 76f0: 4a 20 3d 20 24 28 4c 49 42 4f 42 4a 53 31 29 0a J =$(LIBOBJS1).
7700: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 45 4e 44 49  # <<mark>>.!ENDI
7710: 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23  F.# <</mark>>..#
7720: 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20 65 6d   Determine if em
7730: 62 65 64 64 65 64 20 72 65 73 6f 75 72 63 65 20  bedded resource
7740: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20  compilation and
7750: 75 73 61 67 65 20 61 72 65 20 65 6e 61 62 6c 65  usage are enable
7760: 64 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52  d..#.!IF $(USE_R 7770: 43 29 21 3d 30 0a 4c 49 42 52 45 53 4f 42 4a 53 C)!=0.LIBRESOBJS 7780: 20 3d 20 73 71 6c 69 74 65 33 72 65 73 2e 6c 6f = sqlite3res.lo 7790: 0a 21 45 4c 53 45 0a 4c 49 42 52 45 53 4f 42 4a .!ELSE.LIBRESOBJ 77a0: 53 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c S =.!ENDIF..# << 77b0: 6d 61 72 6b 3e 3e 0a 23 20 43 6f 72 65 20 73 6f mark>>.# Core so 77c0: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2c urce code files, 77d0: 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 30 30 part 1..#.SRC00 77e0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 = \.$(TOP)\sr
77f0: 63 5c 61 6c 74 65 72 2e 63 20 5c 0a 20 20 24 28  c\alter.c \.  $( 7800: 54 4f 50 29 5c 73 72 63 5c 61 6e 61 6c 79 7a 65 TOP)\src\analyze 7810: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
7820: 63 5c 61 74 74 61 63 68 2e 63 20 5c 0a 20 20 24  c\attach.c \.  $7830: 28 54 4f 50 29 5c 73 72 63 5c 61 75 74 68 2e 63 (TOP)\src\auth.c 7840: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7850: 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54  backup.c \.  $(T 7860: 4f 50 29 5c 73 72 63 5c 62 69 74 76 65 63 2e 63 OP)\src\bitvec.c 7870: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7880: 62 74 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28  btmutex.c \.  $( 7890: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 TOP)\src\btree.c 78a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
78b0: 62 75 69 6c 64 2e 63 20 5c 0a 20 20 24 28 54 4f  build.c \.  $(TO 78c0: 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e P)\src\callback. 78d0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
78e0: 5c 63 6f 6d 70 6c 65 74 65 2e 63 20 5c 0a 20 20  \complete.c \.
78f0: 24 28 54 4f 50 29 5c 73 72 63 5c 63 74 69 6d 65  $(TOP)\src\ctime 7900: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
7910: 63 5c 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54  c\date.c \.  $(T 7920: 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e 63 OP)\src\dbstat.c 7930: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7940: 64 65 6c 65 74 65 2e 63 20 5c 0a 20 20 24 28 54  delete.c \.  $(T 7950: 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 5c OP)\src\expr.c \ 7960: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 61 .$(TOP)\src\fa
7970: 75 6c 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ult.c \.  $(TOP) 7980: 5c 73 72 63 5c 66 6b 65 79 2e 63 20 5c 0a 20 20 \src\fkey.c \. 7990: 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e$(TOP)\src\func.
79a0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 79b0: 5c 67 6c 6f 62 61 6c 2e 63 20 5c 0a 20 20 24 28 \global.c \.$(
79c0: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20  TOP)\src\hash.c
79d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 69  \.  $(TOP)\src\i 79e0: 6e 73 65 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f nsert.c \.$(TO
79f0: 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 20  P)\src\legacy.c
7a00: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c  \.  $(TOP)\src\l 7a10: 6f 61 64 65 78 74 2e 63 20 5c 0a 20 20 24 28 54 oadext.c \.$(T
7a20: 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20 5c  OP)\src\main.c \
7a30: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61  .  $(TOP)\src\ma 7a40: 6c 6c 6f 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 lloc.c \.$(TOP
7a50: 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 5c 0a 20  )\src\mem0.c \.
7a60: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 31   $(TOP)\src\mem1 7a70: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
7a80: 63 5c 6d 65 6d 32 2e 63 20 5c 0a 20 20 24 28 54  c\mem2.c \.  $(T 7a90: 4f 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 5c OP)\src\mem3.c \ 7aa0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 .$(TOP)\src\me
7ab0: 6d 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  m5.c \.  $(TOP)\ 7ac0: 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 src\memjournal.c 7ad0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7ae0: 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 4f  mutex.c \.  $(TO 7af0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f P)\src\mutex_noo 7b00: 70 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 p.c \.$(TOP)\s
7b10: 72 63 5c 6d 75 74 65 78 5f 75 6e 69 78 2e 63 20  rc\mutex_unix.c
7b20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d  \.  $(TOP)\src\m 7b30: 75 74 65 78 5f 77 33 32 2e 63 20 5c 0a 20 20 24 utex_w32.c \.$
7b40: 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 69 66 79  (TOP)\src\notify
7b50: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 7b60: 63 5c 6f 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 c\os.c \.$(TOP
7b70: 29 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20  )\src\os_unix.c
7b80: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f  \.  $(TOP)\src\o 7b90: 73 5f 77 69 6e 2e 63 0a 0a 23 20 43 6f 72 65 20 s_win.c..# Core 7ba0: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 source code file 7bb0: 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 s, part 2..#.SRC 7bc0: 30 31 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 01 = \.$(TOP)\
7bd0: 73 72 63 5c 70 61 67 65 72 2e 63 20 5c 0a 20 20  src\pager.c \.
7be0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach 7bf0: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.c \.$(TOP)\s
7c00: 72 63 5c 70 63 61 63 68 65 31 2e 63 20 5c 0a 20  rc\pcache1.c \.
7c10: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag 7c20: 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ma.c \.$(TOP)\
7c30: 73 72 63 5c 70 72 65 70 61 72 65 2e 63 20 5c 0a  src\prepare.c \.
7c40: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69    $(TOP)\src\pri 7c50: 6e 74 66 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ntf.c \.$(TOP)
7c60: 5c 73 72 63 5c 72 61 6e 64 6f 6d 2e 63 20 5c 0a  \src\random.c \.
7c70: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 73    $(TOP)\src\res 7c80: 6f 6c 76 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 olve.c \.$(TOP
7c90: 29 5c 73 72 63 5c 72 6f 77 73 65 74 2e 63 20 5c  )\src\rowset.c \
7ca0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 65  .  $(TOP)\src\se 7cb0: 6c 65 63 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 lect.c \.$(TOP
7cc0: 29 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 20 5c  )\src\status.c \
7cd0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 61  .  $(TOP)\src\ta 7ce0: 62 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ble.c \.$(TOP)
7cf0: 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 5c  \src\threads.c \
7d00: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 63  .  $(TOP)\src\tc 7d10: 6c 73 71 6c 69 74 65 2e 63 20 5c 0a 20 20 24 28 lsqlite.c \.$(
7d20: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a  TOP)\src\tokeniz
7d30: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 7d40: 72 63 5c 74 72 65 65 76 69 65 77 2e 63 20 5c 0a rc\treeview.c \. 7d50: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 69$(TOP)\src\tri
7d60: 67 67 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  gger.c \.  $(TOP 7d70: 29 5c 73 72 63 5c 75 74 66 2e 63 20 5c 0a 20 20 )\src\utf.c \. 7d80: 24 28 54 4f 50 29 5c 73 72 63 5c 75 70 64 61 74$(TOP)\src\updat
7d90: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  e.c \.  $(TOP)\s 7da0: 72 63 5c 75 74 69 6c 2e 63 20 5c 0a 20 20 24 28 rc\util.c \.$(
7db0: 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d 2e  TOP)\src\vacuum.
7dc0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7dd0: 5c 76 64 62 65 2e 63 20 5c 0a 20 20 24 28 54 4f \vdbe.c \.$(TO
7de0: 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63  P)\src\vdbeapi.c
7df0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7e00: 76 64 62 65 61 75 78 2e 63 20 5c 0a 20 20 24 28 vdbeaux.c \.$(
7e10: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 62 6c 6f  TOP)\src\vdbeblo
7e20: 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  b.c \.  $(TOP)\s 7e30: 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 5c 0a 20 rc\vdbemem.c \. 7e40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
7e50: 73 6f 72 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50  sort.c \.  $(TOP 7e60: 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e )\src\vdbetrace. 7e70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
7e80: 5c 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f  \vtab.c \.  $(TO 7e90: 50 29 5c 73 72 63 5c 77 61 6c 2e 63 20 5c 0a 20 P)\src\wal.c \. 7ea0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 6b$(TOP)\src\walk
7eb0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  er.c \.  $(TOP)\ 7ec0: 73 72 63 5c 77 68 65 72 65 2e 63 20 5c 0a 20 20 src\where.c \. 7ed0: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65$(TOP)\src\where
7ee0: 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  code.c \.  $(TOP 7ef0: 29 5c 73 72 63 5c 77 68 65 72 65 65 78 70 72 2e )\src\whereexpr. 7f00: 63 0a 0a 23 20 53 68 65 6c 6c 20 73 6f 75 72 63 c..# Shell sourc 7f10: 65 20 63 6f 64 65 20 66 69 6c 65 73 2e 0a 23 0a e code files..#. 7f20: 53 52 43 30 32 20 3d 20 5c 0a 20 20 24 28 54 4f SRC02 = \.$(TO
7f30: 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 0a 0a  P)\src\shell.c..
7f40: 23 20 43 6f 72 65 20 6d 69 73 63 65 6c 6c 61 6e  # Core miscellan
7f50: 65 6f 75 73 20 66 69 6c 65 73 2e 0a 23 0a 53 52  eous files..#.SR
7f60: 43 30 33 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29  C03 = \.  $(TOP) 7f70: 5c 73 72 63 5c 70 61 72 73 65 2e 79 0a 0a 23 20 \src\parse.y..# 7f80: 43 6f 72 65 20 68 65 61 64 65 72 20 66 69 6c 65 Core header file 7f90: 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 43 s, part 1..#.SRC 7fa0: 30 34 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 04 = \.$(TOP)\
7fb0: 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20  src\btree.h \.
7fc0: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree 7fd0: 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 Int.h \.$(TOP)
7fe0: 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20 20  \src\hash.h \.
7ff0: 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74 69 6d  $(TOP)\src\hwtim 8000: 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 e.h \.$(TOP)\s
8010: 72 63 5c 6d 73 76 63 2e 68 20 5c 0a 20 20 24 28  rc\msvc.h \.  $( 8020: 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e 68 TOP)\src\mutex.h 8030: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8040: 6f 73 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  os.h \.  $(TOP)\ 8050: 73 72 63 5c 6f 73 5f 63 6f 6d 6d 6f 6e 2e 68 20 src\os_common.h 8060: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f \.$(TOP)\src\o
8070: 73 5f 73 65 74 75 70 2e 68 20 5c 0a 20 20 24 28  s_setup.h \.  $( 8080: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e TOP)\src\os_win. 8090: 68 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 h..# Core header 80a0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a files, part 2.. 80b0: 23 0a 53 52 43 30 35 20 3d 20 5c 0a 20 20 24 28 #.SRC05 = \.$(
80c0: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68  TOP)\src\pager.h
80d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 80e0: 70 63 61 63 68 65 2e 68 20 5c 0a 20 20 24 28 54 pcache.h \.$(T
80f0: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 68  OP)\src\pragma.h
8100: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8110: 73 71 6c 69 74 65 2e 68 2e 69 6e 20 5c 0a 20 20 sqlite.h.in \. 8120: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74$(TOP)\src\sqlit
8130: 65 33 65 78 74 2e 68 20 5c 0a 20 20 24 28 54 4f  e3ext.h \.  $(TO 8140: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 P)\src\sqliteInt 8150: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .h \.$(TOP)\sr
8160: 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20  c\sqliteLimit.h
8170: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76  \.  $(TOP)\src\v 8180: 64 62 65 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 dbe.h \.$(TOP)
8190: 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 20 5c  \src\vdbeInt.h \
81a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 78  .  $(TOP)\src\vx 81b0: 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 24 28 54 4f works.h \.$(TO
81c0: 50 29 5c 73 72 63 5c 77 61 6c 2e 68 20 5c 0a 20  P)\src\wal.h \.
81d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72   $(TOP)\src\wher 81e0: 65 49 6e 74 2e 68 0a 0a 23 20 45 78 74 65 6e 73 eInt.h..# Extens 81f0: 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 ion source code 8200: 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 files, part 1..# 8210: 0a 53 52 43 30 36 20 3d 20 5c 0a 20 20 24 28 54 .SRC06 = \.$(T
8220: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
8230: 31 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  1.c \.  $(TOP)\e 8240: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 61 73 xt\fts1\fts1_has 8250: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 h.c \.$(TOP)\e
8260: 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 70 6f 72  xt\fts1\fts1_por
8270: 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  ter.c \.  $(TOP) 8280: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74 \ext\fts1\fts1_t 8290: 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a 20 20 okenizer1.c \. 82a0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
82b0: 66 74 73 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50  fts2.c \.  $(TOP 82c0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f )\ext\fts2\fts2_ 82d0: 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 hash.c \.$(TOP
82e0: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
82f0: 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  icu.c \.  $(TOP) 8300: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 \ext\fts2\fts2_p 8310: 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f orter.c \.$(TO
8320: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
8330: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20  _tokenizer.c \.
8340: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32   $(TOP)\ext\fts2 8350: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 \fts2_tokenizer1 8360: 2e 63 0a 0a 23 20 45 78 74 65 6e 73 69 6f 6e 20 .c..# Extension 8370: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 source code file 8380: 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 s, part 2..#.SRC 8390: 30 37 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 07 = \.$(TOP)\
83a0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 20  ext\fts3\fts3.c
83b0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  \.  $(TOP)\ext\f 83c0: 74 73 33 5c 66 74 73 33 5f 61 75 78 2e 63 20 5c ts3\fts3_aux.c \ 83d0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
83e0: 73 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 5c  s3\fts3_expr.c \
83f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 8400: 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 20 5c s3\fts3_hash.c \ 8410: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
8420: 73 33 5c 66 74 73 33 5f 69 63 75 2e 63 20 5c 0a  s3\fts3_icu.c \.
8430: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 8440: 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63 20 3\fts3_porter.c 8450: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
8460: 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 74  ts3\fts3_snippet
8470: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 8480: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 t\fts3\fts3_toke 8490: 6e 69 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f nizer.c \.$(TO
84a0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
84b0: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 5c 0a  _tokenizer1.c \.
84c0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 84d0: 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 3\fts3_tokenize_ 84e0: 76 74 61 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 vtab.c \.$(TOP
84f0: 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f  )\ext\fts3\fts3_
8500: 75 6e 69 63 6f 64 65 2e 63 20 5c 0a 20 20 24 28  unicode.c \.  $( 8510: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft 8520: 73 33 5f 75 6e 69 63 6f 64 65 32 2e 63 20 5c 0a s3_unicode2.c \. 8530: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
8540: 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 20 5c  3\fts3_write.c \
8550: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63  .  $(TOP)\ext\ic 8560: 75 5c 69 63 75 2e 63 20 5c 0a 20 20 24 28 54 4f u\icu.c \.$(TO
8570: 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72  P)\ext\rtree\rtr
8580: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ee.c \.  $(TOP)\ 8590: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 ext\session\sqli 85a0: 74 65 33 73 65 73 73 69 6f 6e 2e 63 20 5c 0a 20 te3session.c \. 85b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c$(TOP)\ext\rbu\
85c0: 73 71 6c 69 74 65 33 72 62 75 2e 63 20 5c 0a 20  sqlite3rbu.c \.
85d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 85e0: 5c 6a 73 6f 6e 31 2e 63 0a 0a 23 20 45 78 74 65 \json1.c..# Exte 85f0: 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c nsion header fil 8600: 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a 53 52 es, part 1..#.SR 8610: 43 30 38 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 C08 = \.$(TOP)
8620: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 2e 68  \ext\fts1\fts1.h
8630: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8640: 66 74 73 31 5c 66 74 73 31 5f 68 61 73 68 2e 68 fts1\fts1_hash.h 8650: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8660: 66 74 73 31 5c 66 74 73 31 5f 74 6f 6b 65 6e 69  fts1\fts1_tokeni
8670: 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  zer.h \.  $(TOP) 8680: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 \ext\fts2\fts2.h 8690: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
86a0: 66 74 73 32 5c 66 74 73 32 5f 68 61 73 68 2e 68  fts2\fts2_hash.h
86b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 86c0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 fts2\fts2_tokeni 86d0: 7a 65 72 2e 68 0a 0a 23 20 45 78 74 65 6e 73 69 zer.h..# Extensi 86e0: 6f 6e 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c on header files, 86f0: 20 70 61 72 74 20 32 2e 0a 23 0a 53 52 43 30 39 part 2..#.SRC09 8700: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 = \.$(TOP)\ex
8710: 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c 0a  t\fts3\fts3.h \.
8720: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 8730: 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20 20 3\fts3Int.h \. 8740: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
8750: 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 20  fts3_hash.h \.
8760: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c  $(TOP)\ext\fts3\ 8770: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 fts3_tokenizer.h 8780: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8790: 69 63 75 5c 73 71 6c 69 74 65 69 63 75 2e 68 20  icu\sqliteicu.h
87a0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72  \.  $(TOP)\ext\r 87b0: 74 72 65 65 5c 72 74 72 65 65 2e 68 20 5c 0a 20 tree\rtree.h \. 87c0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c$(TOP)\ext\rbu\
87d0: 73 71 6c 69 74 65 33 72 62 75 2e 68 20 5c 0a 20  sqlite3rbu.h \.
87e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess 87f0: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 ion\sqlite3sessi 8800: 6f 6e 2e 68 0a 0a 23 20 47 65 6e 65 72 61 74 65 on.h..# Generate 8810: 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 d source code fi 8820: 6c 65 73 0a 23 0a 53 52 43 31 30 20 3d 20 5c 0a les.#.SRC10 = \. 8830: 20 20 6f 70 63 6f 64 65 73 2e 63 20 5c 0a 20 20 opcodes.c \. 8840: 70 61 72 73 65 2e 63 0a 0a 23 20 47 65 6e 65 72 parse.c..# Gener 8850: 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 ated header file 8860: 73 0a 23 0a 53 52 43 31 31 20 3d 20 5c 0a 20 20 s.#.SRC11 = \. 8870: 6b 65 79 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a keywordhash.h \. 8880: 20 20 6f 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 opcodes.h \. 8890: 70 61 72 73 65 2e 68 20 5c 0a 20 20 24 28 53 51 parse.h \.$(SQ
88a0: 4c 49 54 45 33 48 29 0a 0a 23 20 47 65 6e 65 72  LITE3H)..# Gener
88b0: 61 74 65 64 20 54 63 6c 20 68 65 61 64 65 72 20  ated Tcl header
88c0: 66 69 6c 65 73 0a 23 0a 21 49 46 20 24 28 55 53  files.#.!IF $(US 88d0: 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c 7c E_STDCALL)!=0 || 88e0: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30$(FOR_WIN10)!=0
88f0: 0a 53 52 43 31 32 20 3d 20 5c 0a 20 20 24 28 53  .SRC12 = \.  $(S 8900: 51 4c 49 54 45 54 43 4c 48 29 20 5c 0a 20 20 24 QLITETCLH) \.$
8910: 28 53 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48  (SQLITETCLDECLSH
8920: 29 0a 21 45 4c 53 45 0a 53 52 43 31 32 20 3d 0a  ).!ELSE.SRC12 =.
8930: 21 45 4e 44 49 46 0a 0a 23 20 41 6c 6c 20 73 6f  !ENDIF..# All so
8940: 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 73 2e  urce code files.
8950: 0a 23 0a 53 52 43 20 3d 20 24 28 53 52 43 30 30  .#.SRC = $(SRC00 8960: 29 20 24 28 53 52 43 30 31 29 20 24 28 53 52 43 )$(SRC01) $(SRC 8970: 30 32 29 20 24 28 53 52 43 30 33 29 20 24 28 53 02)$(SRC03) $(S 8980: 52 43 30 34 29 20 24 28 53 52 43 30 35 29 20 24 RC04)$(SRC05) $8990: 28 53 52 43 30 36 29 20 24 28 53 52 43 30 37 29 (SRC06)$(SRC07)
89a0: 20 24 28 53 52 43 30 38 29 20 24 28 53 52 43 30   $(SRC08)$(SRC0
89b0: 39 29 20 24 28 53 52 43 31 30 29 20 24 28 53 52  9) $(SRC10)$(SR
89c0: 43 31 31 29 0a 0a 23 20 53 6f 75 72 63 65 20 63  C11)..# Source c
89d0: 6f 64 65 20 74 6f 20 74 68 65 20 74 65 73 74 20  ode to the test
89e0: 66 69 6c 65 73 2e 0a 23 0a 54 45 53 54 53 52 43  files..#.TESTSRC
89f0: 20 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72   = \.  $(TOP)\sr 8a00: 63 5c 74 65 73 74 31 2e 63 20 5c 0a 20 20 24 28 c\test1.c \.$(
8a10: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 32 2e 63  TOP)\src\test2.c
8a20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8a30: 74 65 73 74 33 2e 63 20 5c 0a 20 20 24 28 54 4f test3.c \.$(TO
8a40: 50 29 5c 73 72 63 5c 74 65 73 74 34 2e 63 20 5c  P)\src\test4.c \
8a50: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 8a60: 73 74 35 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 st5.c \.$(TOP)
8a70: 5c 73 72 63 5c 74 65 73 74 36 2e 63 20 5c 0a 20  \src\test6.c \.
8a80: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 8a90: 37 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 7.c \.$(TOP)\s
8aa0: 72 63 5c 74 65 73 74 38 2e 63 20 5c 0a 20 20 24  rc\test8.c \.  $8ab0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 39 2e (TOP)\src\test9. 8ac0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8ad0: 5c 74 65 73 74 5f 61 75 74 6f 65 78 74 2e 63 20  \test_autoext.c
8ae0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8af0: 65 73 74 5f 61 73 79 6e 63 2e 63 20 5c 0a 20 20 est_async.c \. 8b00: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
8b10: 62 61 63 6b 75 70 2e 63 20 5c 0a 20 20 24 28 54  backup.c \.  $(T 8b20: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 65 73 OP)\src\test_bes 8b30: 74 69 6e 64 65 78 2e 63 20 5c 0a 20 20 24 28 54 tindex.c \.$(T
8b40: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 6c 6f  OP)\src\test_blo
8b50: 62 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  b.c \.  $(TOP)\s 8b60: 72 63 5c 74 65 73 74 5f 62 74 72 65 65 2e 63 20 rc\test_btree.c 8b70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 \.$(TOP)\src\t
8b80: 65 73 74 5f 63 6f 6e 66 69 67 2e 63 20 5c 0a 20  est_config.c \.
8b90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 8ba0: 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20 20 24 _demovfs.c \.$
8bb0: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 64  (TOP)\src\test_d
8bc0: 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28 54 4f  evsym.c \.  $(TO 8bd0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 73 2e 63 P)\src\test_fs.c 8be0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8bf0: 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a 20 20  test_func.c \.
8c00: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f  $(TOP)\src\test_ 8c10: 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28 54 4f hexio.c \.$(TO
8c20: 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e 69 74  P)\src\test_init
8c30: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8c40: 63 5c 74 65 73 74 5f 69 6e 74 61 72 72 61 79 2e c\test_intarray. 8c50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8c60: 5c 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e 63 20  \test_journal.c
8c70: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8c80: 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 est_malloc.c \. 8c90: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
8ca0: 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c 0a 20  _multiplex.c \.
8cb0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 8cc0: 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24 28 54 _mutex.c \.$(T
8cd0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 6e 65  OP)\src\test_one
8ce0: 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50  file.c \.  $(TOP 8cf0: 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69 6e 73 )\src\test_osins 8d00: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 t.c \.$(TOP)\s
8d10: 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 2e 63  rc\test_pcache.c
8d20: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8d30: 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c 0a 20 test_quota.c \. 8d40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
8d50: 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28 54  _rtree.c \.  $(T 8d60: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 63 68 OP)\src\test_sch 8d70: 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ema.c \.$(TOP)
8d80: 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 65 72  \src\test_server
8d90: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8da0: 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f 63 6b c\test_superlock 8db0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8dc0: 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c 2e 63  c\test_syscall.c
8dd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8de0: 74 65 73 74 5f 74 63 6c 76 61 72 2e 63 20 5c 0a test_tclvar.c \. 8df0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
8e00: 74 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20 20 24  t_thread.c \.  $8e10: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 76 (TOP)\src\test_v 8e20: 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c fs.c \.$(TOP)\
8e30: 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 72 65  src\test_windire
8e40: 6e 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  nt.c \.  $(TOP)\ 8e50: 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63 20 5c src\test_wsd.c \ 8e60: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
8e70: 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 20 5c  s3\fts3_term.c \
8e80: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 8e90: 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63 20 5c s3\fts3_test.c \ 8ea0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 .$(TOP)\ext\rb
8eb0: 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c 0a 20  u\test_rbu.c \.
8ec0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73   $(TOP)\ext\sess 8ed0: 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69 6f 6e ion\test_session 8ee0: 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c 6c 79 .c..# Statically 8ef0: 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73 69 6f linked extensio 8f00: 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20 3d 20 ns..#.TESTEXT = 8f10: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d \.$(TOP)\ext\m
8f20: 69 73 63 5c 61 6d 61 74 63 68 2e 63 20 5c 0a 20  isc\amatch.c \.
8f30: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 8f40: 5c 63 61 72 72 61 79 2e 63 20 5c 0a 20 20 24 28 \carray.c \.$(
8f50: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 6c  TOP)\ext\misc\cl
8f60: 6f 73 75 72 65 2e 63 20 5c 0a 20 20 24 28 54 4f  osure.c \.  $(TO 8f70: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 73 76 2e P)\ext\misc\csv. 8f80: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
8f90: 5c 6d 69 73 63 5c 65 76 61 6c 2e 63 20 5c 0a 20  \misc\eval.c \.
8fa0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63   $(TOP)\ext\misc 8fb0: 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 20 20 24 28 \fileio.c \.$(
8fc0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 66 75  TOP)\ext\misc\fu
8fd0: 7a 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50  zzer.c \.  $(TOP 8fe0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ 8ff0: 74 63 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 tcl.c \.$(TOP)
9000: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 74  \ext\fts5\fts5_t
9010: 65 73 74 5f 6d 69 2e 63 20 5c 0a 20 20 24 28 54  est_mi.c \.  $(T 9020: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts 9030: 35 5f 74 65 73 74 5f 74 6f 6b 2e 63 20 5c 0a 20 5_test_tok.c \. 9040: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
9050: 5c 69 65 65 65 37 35 34 2e 63 20 5c 0a 20 20 24  \ieee754.c \.  $9060: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 6e (TOP)\ext\misc\n 9070: 65 78 74 63 68 61 72 2e 63 20 5c 0a 20 20 24 28 extchar.c \.$(
9080: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 70 65  TOP)\ext\misc\pe
9090: 72 63 65 6e 74 69 6c 65 2e 63 20 5c 0a 20 20 24  rcentile.c \.  $90a0: 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 72 (TOP)\ext\misc\r 90b0: 65 67 65 78 70 2e 63 20 5c 0a 20 20 24 28 54 4f egexp.c \.$(TO
90c0: 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 65 72 69  P)\ext\misc\seri
90d0: 65 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  es.c \.  $(TOP)\ 90e0: 65 78 74 5c 6d 69 73 63 5c 73 70 65 6c 6c 66 69 ext\misc\spellfi 90f0: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 x.c \.$(TOP)\e
9100: 78 74 5c 6d 69 73 63 5c 74 6f 74 79 70 65 2e 63  xt\misc\totype.c
9110: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 9120: 6d 69 73 63 5c 77 68 6f 6c 65 6e 75 6d 62 65 72 misc\wholenumber 9130: 2e 63 0a 0a 23 20 53 6f 75 72 63 65 20 63 6f 64 .c..# Source cod 9140: 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 e to the library 9150: 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20 62 79 files needed by 9160: 20 74 68 65 20 74 65 73 74 20 66 69 78 74 75 72 the test fixtur 9170: 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d e.# (non-amalgam 9180: 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53 52 43 ation).#.TESTSRC 9190: 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30 30 29 2 = \.$(SRC00)
91a0: 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 5c 0a   \.  $(SRC01) \. 91b0: 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20 20 24$(SRC06) \.  $91c0: 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28 53 52 (SRC07) \.$(SR
91d0: 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c  C10) \.  $(TOP)\ 91e0: 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69 74 65 ext\async\sqlite 91f0: 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65 61 64 3async.c..# Head 9200: 65 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 er files used by 9210: 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73 6f 75 all library sou 9220: 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48 44 52 rce files..#.HDR 9230: 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 = \.$(TOP)\s
9240: 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 20 20  rc\btree.h \.
9250: 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65  $(TOP)\src\btree 9260: 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 Int.h \.$(TOP
9270: 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c 0a 20  )\src\hash.h \.
9280: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 77 74    $(TOP)\src\hwt 9290: 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79 77 6f ime.h \. keywo 92a0: 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20 24 28 rdhash.h \.$(
92b0: 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20  TOP)\src\msvc.h
92c0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c  \.   $(TOP)\src\ 92d0: 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f 70 63 mutex.h \. opc 92e0: 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28 54 4f odes.h \.$(TO
92f0: 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20  P)\src\os.h \.
9300: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63   $(TOP)\src\os_c 9310: 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24 28 54 ommon.h \.$(T
9320: 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 75 70  OP)\src\os_setup
9330: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s 9340: 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a 20 20 rc\os_win.h \. 9350: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 65$(TOP)\src\page
9360: 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  r.h \.   $(TOP)\ 9370: 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a 20 src\pcache.h \. 9380: 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 parse.h \.$
9390: 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61  (TOP)\src\pragma
93a0: 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 54 45  .h \.   $(SQLITE 93b0: 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74 65 33 3H) \. sqlite3 93c0: 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 ext.h \.$(TOP
93d0: 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e 74 2e  )\src\sqliteInt.
93e0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr 93f0: 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e 68 20 c\sqliteLimit.h 9400: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
9410: 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f  vdbe.h \.   $(TO 9420: 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74 2e 68 P)\src\vdbeInt.h 9430: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 \.$(TOP)\src
9440: 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 20 20  \vxworks.h \.
9450: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where 9460: 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65 72 20 Int.h..# Header 9470: 66 69 6c 65 73 20 75 73 65 64 20 62 79 20 65 78 files used by ex 9480: 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54 48 44 tensions.#.EXTHD 9490: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a R =$(EXTHDR) \.
94a0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 94b0: 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 1\fts1.h \.$(T
94c0: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
94d0: 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 28 54  1_hash.h \.  $(T 94e0: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 OP)\ext\fts1\fts 94f0: 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a 45 58 1_tokenizer.h.EX 9500: 54 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 THDR =$(EXTHDR)
9510: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 9520: 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a 20 20 fts2\fts2.h \. 9530: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
9540: 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 20 20  fts2_hash.h \.
9550: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ 9560: 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 fts2_tokenizer.h 9570: 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 .EXTHDR =$(EXTH
9580: 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  DR) \.  $(TOP)\e 9590: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68 20 5c xt\fts3\fts3.h \ 95a0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
95b0: 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c 0a 20  s3\fts3Int.h \.
95c0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33   $(TOP)\ext\fts3 95d0: 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c 0a 20 \fts3_hash.h \. 95e0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
95f0: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts3_tokenizer.
9600: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT 9610: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c HDR) \.$(TOP)\
9620: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e  ext\rtree\rtree.
9630: 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58 54  h.EXTHDR = $(EXT 9640: 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c HDR) \.$(TOP)\
9650: 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69 63  ext\icu\sqliteic
9660: 75 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45  u.h.EXTHDR = $(E 9670: 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 XTHDR) \.$(TOP
9680: 29 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 6c 69  )\ext\rtree\sqli
9690: 74 65 33 72 74 72 65 65 2e 68 0a 45 58 54 48 44  te3rtree.h.EXTHD
96a0: 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 5c 0a  R = $(EXTHDR) \. 96b0: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73$(TOP)\ext\ses
96c0: 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73  sion\sqlite3sess
96d0: 69 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 74 61  ion.h..# executa
96e0: 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f 72 20  bles needed for
96f0: 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 50 52  testing.#.TESTPR
9700: 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 66 69  OGS = \.  testfi
9710: 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 24 28  xture.exe \.  $( 9720: 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a 20 20 SQLITE3EXE) \. 9730: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 sqlite3_analyzer 9740: 2e 65 78 65 20 5c 0a 20 20 73 71 6c 64 69 66 66 .exe \. sqldiff 9750: 2e 65 78 65 20 5c 0a 20 20 64 62 68 61 73 68 2e .exe \. dbhash. 9760: 65 78 65 0a 0a 23 20 44 61 74 61 62 61 73 65 73 exe..# Databases 9770: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 66 75 7a 7a containing fuzz 9780: 65 72 20 74 65 73 74 20 63 61 73 65 73 0a 23 0a er test cases.#. 9790: 46 55 5a 5a 44 41 54 41 20 3d 20 5c 0a 20 20 24 FUZZDATA = \.$
97a0: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64  (TOP)\test\fuzzd
97b0: 61 74 61 31 2e 64 62 20 5c 0a 20 20 24 28 54 4f  ata1.db \.  $(TO 97c0: 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 P)\test\fuzzdata 97d0: 32 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 2.db \.$(TOP)\
97e0: 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 33 2e 64  test\fuzzdata3.d
97f0: 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73  b \.  $(TOP)\tes 9800: 74 5c 66 75 7a 7a 64 61 74 61 34 2e 64 62 0a 23 t\fuzzdata4.db.# 9810: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 <</mark>>..# Ad 9820: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 ditional compile 9830: 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 r options for th 9840: 65 20 73 68 65 6c 6c 2e 20 20 54 68 65 73 65 20 e shell. These 9850: 61 72 65 20 6f 6e 6c 79 20 65 66 66 65 63 74 69 are only effecti 9860: 76 65 0a 23 20 77 68 65 6e 20 74 68 65 20 73 68 ve.# when the sh 9870: 65 6c 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e 67 ell is not being 9880: 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e dynamically lin 9890: 6b 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e ked..#.!IF$(DYN
98a0: 41 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26  AMIC_SHELL)==0 &
98b0: 26 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d  & $(FOR_WIN10)== 98c0: 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 0.SHELL_COMPILE_ 98d0: 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 OPTS =$(SHELL_C
98e0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53  OMPILE_OPTS) -DS
98f0: 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 4a 53 4f 4e  QLITE_SHELL_JSON
9900: 31 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  1 -DSQLITE_ENABL
9910: 45 5f 46 54 53 34 20 2d 44 53 51 4c 49 54 45 5f  E_FTS4 -DSQLITE_
9920: 45 4e 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43  ENABLE_EXPLAIN_C
9930: 4f 4d 4d 45 4e 54 53 0a 21 45 4e 44 49 46 0a 0a  OMMENTS.!ENDIF..
9940: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74  # <<mark>>.# Ext
9950: 72 61 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69  ra compiler opti
9960: 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f 75 73 20  ons for various
9970: 74 65 73 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50  test tools..#.MP
9980: 54 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f  TESTER_COMPILE_O
9990: 50 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 53  PTS = -DSQLITE_S
99a0: 48 45 4c 4c 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c  HELL_JSON1 -DSQL
99b0: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a  ITE_ENABLE_FTS5.
99c0: 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50  FUZZERSHELL_COMP
99d0: 49 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c  ILE_OPTS = -DSQL
99e0: 49 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31  ITE_ENABLE_JSON1
99f0: 0a 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49  .FUZZCHECK_COMPI
9a00: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  LE_OPTS = -DSQLI
9a10: 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20  TE_ENABLE_JSON1
9a20: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
9a30: 4d 45 4d 53 59 53 35 0a 0a 23 20 53 74 61 6e 64  MEMSYS5..# Stand
9a40: 61 72 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74  ard options to t
9a50: 65 73 74 66 69 78 74 75 72 65 2e 0a 23 0a 54 45  estfixture..#.TE
9a60: 53 54 4f 50 54 53 20 3d 20 2d 2d 76 65 72 62 6f  STOPTS = --verbo
9a70: 73 65 3d 66 69 6c 65 20 2d 2d 6f 75 74 70 75 74  se=file --output
9a80: 3d 74 65 73 74 2d 6f 75 74 2e 74 78 74 0a 0a 23  =test-out.txt..#
9a90: 20 45 78 74 72 61 20 74 61 72 67 65 74 73 20 66   Extra targets f
9aa0: 6f 72 20 74 68 65 20 22 61 6c 6c 22 20 74 61 72  or the "all" tar
9ab0: 67 65 74 20 74 68 61 74 20 72 65 71 75 69 72 65  get that require
9ac0: 20 54 63 6c 2e 0a 23 0a 21 49 46 20 24 28 4e 4f   Tcl..#.!IF $(NO 9ad0: 5f 54 43 4c 29 3d 3d 30 0a 41 4c 4c 5f 54 43 4c _TCL)==0.ALL_TCL 9ae0: 5f 54 41 52 47 45 54 53 20 3d 20 6c 69 62 74 63 _TARGETS = libtc 9af0: 6c 73 71 6c 69 74 65 33 2e 6c 69 62 0a 21 45 4c lsqlite3.lib.!EL 9b00: 53 45 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 45 SE.ALL_TCL_TARGE 9b10: 54 53 20 3d 0a 21 45 4e 44 49 46 0a 23 20 3c 3c TS =.!ENDIF.# << 9b20: 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 54 68 69 73 20 /mark>>..# This 9b30: 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 4d is the default M 9b40: 61 6b 65 66 69 6c 65 20 74 61 72 67 65 74 2e 20 akefile target. 9b50: 20 54 68 65 20 6f 62 6a 65 63 74 73 20 6c 69 73 The objects lis 9b60: 74 65 64 20 68 65 72 65 0a 23 20 61 72 65 20 77 ted here.# are w 9b70: 68 61 74 20 67 65 74 20 62 75 69 6c 64 20 77 68 hat get build wh 9b80: 65 6e 20 79 6f 75 20 74 79 70 65 20 6a 75 73 74 en you type just 9b90: 20 22 6d 61 6b 65 22 20 77 69 74 68 20 6e 6f 20 "make" with no 9ba0: 61 72 67 75 6d 65 6e 74 73 2e 0a 23 0a 61 6c 6c arguments..#.all 9bb0: 3a 09 64 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 :.dll libsqlite3 9bc0: 2e 6c 69 62 20 73 68 65 6c 6c 20 24 28 41 4c 4c .lib shell$(ALL
9bd0: 5f 54 43 4c 5f 54 41 52 47 45 54 53 29 0a 0a 23  _TCL_TARGETS)..#
9be0: 20 44 79 6e 61 6d 69 63 20 6c 69 6e 6b 20 6c 69   Dynamic link li
9bf0: 62 72 61 72 79 20 73 65 63 74 69 6f 6e 2e 0a 23  brary section..#
9c00: 0a 64 6c 6c 3a 09 24 28 53 51 4c 49 54 45 33 44  .dll:.$(SQLITE3D 9c10: 4c 4c 29 0a 0a 23 20 53 68 65 6c 6c 20 65 78 65 LL)..# Shell exe 9c20: 63 75 74 61 62 6c 65 2e 0a 23 0a 73 68 65 6c 6c cutable..#.shell 9c30: 3a 09 24 28 53 51 4c 49 54 45 33 45 58 45 29 0a :.$(SQLITE3EXE).
9c40: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 6c 69 62 73  .# <<mark>>.libs
9c50: 71 6c 69 74 65 33 2e 6c 69 62 3a 09 24 28 4c 49  qlite3.lib:.$(LI 9c60: 42 4f 42 4a 29 0a 09 24 28 4c 54 4c 49 42 29 20 BOBJ)..$(LTLIB)
9c70: 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 2f 4f 55  $(LTLIBOPTS) /OU 9c80: 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 T:$@ $(LIBOBJ)$
9c90: 28 54 4c 49 42 53 29 0a 0a 6c 69 62 74 63 6c 73  (TLIBS)..libtcls
9ca0: 71 6c 69 74 65 33 2e 6c 69 62 3a 09 74 63 6c 73  qlite3.lib:.tcls
9cb0: 71 6c 69 74 65 2e 6c 6f 20 6c 69 62 73 71 6c 69  qlite.lo libsqli
9cc0: 74 65 33 2e 6c 69 62 0a 09 24 28 4c 54 4c 49 42  te3.lib..$(LTLIB 9cd0: 29 20 24 28 4c 54 4c 49 42 4f 50 54 53 29 20 24 )$(LTLIBOPTS) $9ce0: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 (LTLIBPATHS) /OU 9cf0: 54 3a 24 40 20 74 63 6c 73 71 6c 69 74 65 2e 6c T:$@ tclsqlite.l
9d00: 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62  o libsqlite3.lib
9d10: 20 24 28 4c 49 42 54 43 4c 53 54 55 42 29 20 24   $(LIBTCLSTUB)$
9d20: 28 54 4c 49 42 53 29 0a 23 20 3c 3c 2f 6d 61 72  (TLIBS).# <</mar
9d30: 6b 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33 44 4c  k>>..$(SQLITE3DL 9d40: 4c 29 3a 09 24 28 4c 49 42 4f 42 4a 29 20 24 28 L):.$(LIBOBJ) $( 9d50: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 43 4f LIBRESOBJS)$(CO
9d60: 52 45 5f 4c 49 4e 4b 5f 44 45 50 29 0a 09 24 28  RE_LINK_DEP)..$( 9d70: 4c 44 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 LD)$(LDFLAGS) $9d80: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c (LTLINKOPTS)$(L
9d90: 54 4c 49 42 50 41 54 48 53 29 20 2f 44 4c 4c 20  TLIBPATHS) /DLL
9da0: 24 28 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 54 53  $(CORE_LINK_OPTS 9db0: 29 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 4f ) /OUT:$@ $(LIBO 9dc0: 42 4a 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53 BJ)$(LIBRESOBJS
9dd0: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c  ) $(LTLIBS)$(TL
9de0: 49 42 53 29 0a 0a 23 20 3c 3c 62 6c 6f 63 6b 32  IBS)..# <<block2
9df0: 3e 3e 0a 73 71 6c 69 74 65 33 2e 64 65 66 3a 09  >>.sqlite3.def:.
9e00: 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 0a 09  libsqlite3.lib..
9e10: 65 63 68 6f 20 45 58 50 4f 52 54 53 20 3e 20 73  echo EXPORTS > s
9e20: 71 6c 69 74 65 33 2e 64 65 66 0a 09 64 75 6d 70  qlite3.def..dump
9e30: 62 69 6e 20 2f 61 6c 6c 20 6c 69 62 73 71 6c 69  bin /all libsqli
9e40: 74 65 33 2e 6c 69 62 20 5c 0a 09 09 7c 20 24 28  te3.lib \...| $( 9e50: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
9e60: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74  )\tool\replace.t
9e70: 63 6c 20 69 6e 63 6c 75 64 65 20 22 5e 5c 73 2b  cl include "^\s+
9e80: 31 20 5f 3f 28 73 71 6c 69 74 65 33 5f 5b 5e 40  1 _?(sqlite3_[^@
9e90: 5d 2a 29 28 3f 3a 40 5c 64 2b 29 3f 24 24 22 20  ]*)(?:@\d+)?"
9ea0: 5c 31 20 5c 0a 09 09 7c 20 73 6f 72 74 20 3e 3e  \1 \...| sort >>
9eb0: 20 73 71 6c 69 74 65 33 2e 64 65 66 0a 23 20 3c   sqlite3.def.# <
9ec0: 3c 2f 62 6c 6f 63 6b 32 3e 3e 0a 0a 24 28 53 51  </block2>>..$(SQ 9ed0: 4c 49 54 45 33 45 58 45 29 3a 09 24 28 54 4f 50 LITE3EXE):.$(TOP
9ee0: 29 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 20 24 28  )\src\shell.c $( 9ef0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 29 20 SHELL_CORE_DEP) 9f00: 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28$(LIBRESOBJS) $( 9f10: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 SHELL_CORE_SRC) 9f20: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L 9f30: 54 4c 49 4e 4b 29 20 24 28 53 48 45 4c 4c 5f 43 TLINK)$(SHELL_C
9f40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 52  OMPILE_OPTS) $(R 9f50: 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 29 20 24 EADLINE_FLAGS)$
9f60: 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c 6c 2e  (TOP)\src\shell.
9f70: 63 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 5f 53  c $(SHELL_CORE_S 9f80: 52 43 29 20 5c 0a 09 09 2f 6c 69 6e 6b 20 24 28 RC) \.../link$(
9f90: 53 51 4c 49 54 45 33 45 58 45 50 44 42 29 20 24  SQLITE3EXEPDB) $9fa0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
9fb0: 4e 4b 4f 50 54 53 29 20 24 28 53 48 45 4c 4c 5f  NKOPTS) $(SHELL_ 9fc0: 4c 49 4e 4b 5f 4f 50 54 53 29 20 24 28 4c 54 4c LINK_OPTS)$(LTL
9fd0: 49 42 50 41 54 48 53 29 20 24 28 4c 49 42 52 45  IBPATHS) $(LIBRE 9fe0: 53 4f 42 4a 53 29 20 24 28 4c 49 42 52 45 41 44 SOBJS)$(LIBREAD
9ff0: 4c 49 4e 45 29 20 24 28 4c 54 4c 49 42 53 29 20  LINE) $(LTLIBS) a000: 24 28 54 4c 49 42 53 29 0a 0a 23 20 3c 3c 6d 61$(TLIBS)..# <<ma
a010: 72 6b 3e 3e 0a 73 71 6c 64 69 66 66 2e 65 78 65  rk>>.sqldiff.exe
a020: 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71  :.$(TOP)\tool\sq a030: 6c 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 ldiff.c$(SQLITE
a040: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H). a050: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ a060: 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f 6f WARN)$(TOP)\too
a070: 6c 5c 73 71 6c 64 69 66 66 2e 63 20 24 28 53 51  l\sqldiff.c $(SQ a080: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
a090: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN a0a0: 4b 4f 50 54 53 29 0a 0a 64 62 68 61 73 68 2e 65 KOPTS)..dbhash.e a0b0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c xe:.$(TOP)\tool\
a0c0: 64 62 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54  dbhash.c $(SQLIT a0d0: 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 E3C)$(SQLITE3H)
a0e0: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f  ..$(LTLINK)$(NO
a0f0: 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c 74 6f  _WARN) $(TOP)\to a100: 6f 6c 5c 64 62 68 61 73 68 2e 63 20 24 28 53 51 ol\dbhash.c$(SQ
a110: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( a120: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
a130: 4b 4f 50 54 53 29 0a 0a 73 63 72 75 62 2e 65 78  KOPTS)..scrub.ex
a140: 65 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  e:.$(TOP)\ext\mi a150: 73 63 5c 73 63 72 75 62 2e 63 20 24 28 53 51 4c sc\scrub.c$(SQL
a160: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 a170: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( a180: 4e 4f 5f 57 41 52 4e 29 20 24 28 54 4f 50 29 5c NO_WARN)$(TOP)\
a190: 65 78 74 5c 6d 69 73 63 5c 73 63 72 75 62 2e 63  ext\misc\scrub.c
a1a0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69   $(SQLITE3C) /li a1b0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 nk$(LDFLAGS) $( a1c0: 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 72 63 LTLINKOPTS)..src a1d0: 63 6b 31 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c ck1.exe:.$(TOP)\
a1e0: 74 6f 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 09 24  tool\srcck1.c..$a1f0: 28 42 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 (BCC)$(NO_WARN)
a200: 20 2d 46 65 24 40 20 24 28 54 4f 50 29 5c 74 6f   -Fe$@$(TOP)\to
a210: 6f 6c 5c 73 72 63 63 6b 31 2e 63 0a 0a 73 6f 75  ol\srcck1.c..sou
a220: 72 63 65 74 65 73 74 3a 09 73 72 63 63 6b 31 2e  rcetest:.srcck1.
a230: 65 78 65 20 73 71 6c 69 74 65 33 2e 63 0a 09 73  exe sqlite3.c..s
a240: 72 63 63 6b 31 2e 65 78 65 20 73 71 6c 69 74 65  rcck1.exe sqlite
a250: 33 2e 63 0a 0a 66 75 7a 7a 65 72 73 68 65 6c 6c  3.c..fuzzershell
a260: 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f  .exe:.$(TOP)\too a270: 6c 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 l\fuzzershell.c a280: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ a290: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e LITE3H)..$(LTLIN
a2a0: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28  K) $(NO_WARN)$(
a2b0: 46 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50  FUZZERSHELL_COMP
a2c0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 54 4f 50 29  ILE_OPTS) $(TOP) a2d0: 5c 74 6f 6f 6c 5c 66 75 7a 7a 65 72 73 68 65 6c \tool\fuzzershel a2e0: 6c 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 l.c$(SQLITE3C)
a2f0: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) a300: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
a310: 66 75 7a 7a 63 68 65 63 6b 2e 65 78 65 3a 09 24  fuzzcheck.exe:.$a320: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63 (TOP)\test\fuzzc a330: 68 65 63 6b 2e 63 20 24 28 53 51 4c 49 54 45 33 heck.c$(SQLITE3
a340: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. a350: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W a360: 41 52 4e 29 20 24 28 46 55 5a 5a 43 48 45 43 4b ARN)$(FUZZCHECK
a370: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $a380: 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 63 (TOP)\test\fuzzc a390: 68 65 63 6b 2e 63 20 24 28 53 51 4c 49 54 45 33 heck.c$(SQLITE3
a3a0: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA a3b0: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
a3c0: 29 0a 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a  )..mptester.exe:
a3d0: 09 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d  .$(TOP)\mptest\m a3e0: 70 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 ptest.c$(SQLITE
a3f0: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a  3C) $(SQLITE3H). a400: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f .$(LTLINK) $(NO_ a410: 57 41 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52 WARN)$(MPTESTER
a420: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $a430: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 (TOP)\mptest\mpt a440: 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 est.c$(SQLITE3C
a450: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG a460: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
a470: 0a 0a 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65  ..MPTEST1 = mpte
a480: 73 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24  ster mptest.db $a490: 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61 (TOP)\mptest\cra a4a0: 73 68 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 sh01.test --repe a4b0: 61 74 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20 at 20.MPTEST2 = a4c0: 6d 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e mptester mptest. a4d0: 64 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 db$(TOP)\mptest
a4e0: 5c 6d 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65  \multiwrite01.te
a4f0: 73 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a  st --repeat 20..
a500: 6d 70 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72  mptest:.mptester
a510: 2e 65 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74  .exe..del /Q mpt
a520: 65 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28  est.db 2>NUL..$( a530: 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e MPTEST1) --journ a540: 61 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24 almode DELETE..$
a550: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
a560: 6e 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d  nalmode WAL..$(M a570: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 PTEST1) --journa a580: 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 lmode WAL..$(MPT
a590: 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d  EST2) --journalm
a5a0: 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d  ode PERSIST..$(M a5b0: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 PTEST1) --journa a5c0: 6c 6d 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 lmode PERSIST..$
a5d0: 28 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72  (MPTEST2) --jour
a5e0: 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45  nalmode TRUNCATE
a5f0: 0a 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a  ..$(MPTEST1) --j a600: 6f 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 ournalmode TRUNC a610: 41 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 ATE..$(MPTEST2)
a620: 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45  --journalmode DE
a630: 4c 45 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72  LETE..# This tar
a640: 67 65 74 20 63 72 65 61 74 65 73 20 61 20 64 69  get creates a di
a650: 72 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74  rectory named "t
a660: 73 72 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69  src" and fills i
a670: 74 20 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20  t with.# copies
a680: 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20  of all of the C
a690: 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20  source code and
a6a0: 68 65 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65  header files nee
a6b0: 64 65 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f  ded to.# build o
a6c0: 6e 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73  n the target sys
a6d0: 74 65 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68  tem.  Some of th
a6e0: 65 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20  e C source code
a6f0: 61 6e 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c  and header.# fil
a700: 65 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63  es are automatic
a710: 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20  ally generated.
a720: 20 54 68 69 73 20 74 61 72 67 65 74 20 74 61 6b   This target tak
a730: 65 73 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c  es care of.# all
a740: 20 74 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20   that automatic
a750: 67 65 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74  generation..#..t
a760: 61 72 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28  arget_source:.$( a770: 53 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c SRC)$(TOP)\tool
a780: 5c 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74  \vdbe-compress.t
a790: 63 6c 20 66 74 73 35 2e 63 20 24 28 53 51 4c 49  cl fts5.c $(SQLI a7a0: 54 45 5f 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d TE_TCL_DEP)..-rm a7b0: 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e dir /Q/S tsrc 2> a7c0: 4e 55 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63 NUL..-mkdir tsrc a7d0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 ..for %i in ($(S
a7e0: 52 43 30 30 29 29 20 64 6f 20 63 6f 70 79 20 2f  RC00)) do copy /
a7f0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25  Y %i tsrc..for %
a800: 69 20 69 6e 20 28 24 28 53 52 43 30 31 29 29 20  i in ($(SRC01)) a810: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 do copy /Y %i ts a820: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 rc..for %i in ($
a830: 28 53 52 43 30 32 29 29 20 64 6f 20 63 6f 70 79  (SRC02)) do copy
a840: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72   /Y %i tsrc..for
a850: 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 33 29   %i in ($(SRC03) a860: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 ) do copy /Y %i a870: 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 tsrc..for %i in a880: 28 24 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f ($(SRC04)) do co
a890: 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66  py /Y %i tsrc..f
a8a0: 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30  or %i in ($(SRC0 a8b0: 35 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 5)) do copy /Y % a8c0: 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 i tsrc..for %i i a8d0: 6e 20 28 24 28 53 52 43 30 36 29 29 20 64 6f 20 n ($(SRC06)) do
a8e0: 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a  copy /Y %i tsrc.
a8f0: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52  .for %i in ($(SR a900: 43 30 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 C07)) do copy /Y a910: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 %i tsrc..for %i a920: 20 69 6e 20 28 24 28 53 52 43 30 38 29 29 20 64 in ($(SRC08)) d
a930: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72  o copy /Y %i tsr
a940: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28  c..for %i in ($( a950: 53 52 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20 SRC09)) do copy a960: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 /Y %i tsrc..for a970: 25 69 20 69 6e 20 28 24 28 53 52 43 31 30 29 29 %i in ($(SRC10))
a980: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74   do copy /Y %i t
a990: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28  src..for %i in (
a9a0: 24 28 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70  $(SRC11)) do cop a9b0: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f y /Y %i tsrc..fo a9c0: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 32 r %i in ($(SRC12
a9d0: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69  )) do copy /Y %i
a9e0: 20 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66   tsrc..copy /Y f
a9f0: 74 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79  ts5.c tsrc..copy
aa00: 20 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a   /Y fts5.h tsrc.
aa10: 09 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c  .del /Q tsrc\sql
aa20: 69 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61  ite.h.in tsrc\pa
aa30: 72 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54  rse.y 2>NUL..$(T aa40: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
aa50: 5c 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72  \tool\vdbe-compr
aa60: 65 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20  ess.tcl $(OPTS) aa70: 3c 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 < tsrc\vdbe.c > aa80: 76 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 vdbe.new..move v aa90: 64 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 dbe.new tsrc\vdb aaa0: 65 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 e.c..echo > .tar aab0: 67 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 get_source..sqli aac0: 74 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 te3.c:..target_s aad0: 6f 75 72 63 65 20 73 71 6c 69 74 65 33 65 78 74 ource sqlite3ext aae0: 2e 68 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f .h$(MKSQLITE3C_
aaf0: 54 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43  TOOL)..$(TCLSH_C ab00: 4d 44 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 MD)$(MKSQLITE3C
ab10: 5f 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54  _TOOL) $(MKSQLIT ab20: 45 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 E3C_ARGS)..copy ab30: 74 73 72 63 5c 73 68 65 6c 6c 2e 63 20 2e 0a 09 tsrc\shell.c ... ab40: 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c copy$(TOP)\ext\
ab50: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
ab60: 65 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69  ession.h ...sqli
ab70: 74 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74  te3-all.c:.sqlit
ab80: 65 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  e3.c $(TOP)\tool ab90: 5c 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e \split-sqlite3c. aba0: 74 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 tcl..$(TCLSH_CMD
abb0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70  ) $(TOP)\tool\sp abc0: 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c lit-sqlite3c.tcl abd0: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 .# <</mark>>..# abe0: 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 Rule to build th abf0: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 e amalgamation.# ac00: 0a 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53 .sqlite3.lo:.$(S
ac10: 51 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f  QLITE3C)..$(LTCO ac20: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
ac30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $ac40: 28 53 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c (SQLITE3C)..# << ac50: 6d 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 mark>>.# Rules t ac60: 6f 20 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f o build the LEMO ac70: 4e 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 N compiler gener ac80: 61 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a ator.#.lempar.c: ac90: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d .$(TOP)\tool\lem
aca0: 70 61 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f  par.c..copy $(TO acb0: 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 P)\tool\lempar.c acc0: 20 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 ...lemon.exe:.$
acd0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e  (TOP)\tool\lemon
ace0: 2e 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42  .c lempar.c..$(B acf0: 43 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d CC)$(NO_WARN) -
ad00: 44 61 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20  Daccess=_access
ad10: 5c 0a 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29  \...-Fe$@$(TOP)
ad20: 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c  \tool\lemon.c /l
ad30: 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24  ink $(LDFLAGS)$
ad40: 28 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28  (NLTLINKOPTS) $( ad50: 4e 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 NLTLIBPATHS)..# ad60: 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 Rules to build i ad70: 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 ndividual *.lo f ad80: 69 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 iles from genera ad90: 74 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 ted *.c files. T ada0: 68 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f his.# applies to adb0: 3a 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e :.#.# parse. adc0: 6c 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73 lo.# opcodes add0: 2e 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 .lo.#.parse.lo:. ade0: 70 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09 parse.c$(HDR)..
adf0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
ae00: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
ae10: 29 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70  ) -c parse.c..op
ae20: 63 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65  codes.lo:.opcode
ae30: 73 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  s.c..$(LTCOMPILE ae40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
ae50: 5f 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65  _OPTS) -c opcode
ae60: 73 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  s.c.# <</mark>>.
ae70: 0a 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64  .# Rule to build
ae80: 20 74 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75   the Win32 resou
ae90: 72 63 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65  rces object file
aea0: 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43  ..#.!IF $(USE_RC aeb0: 29 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e )!=0.# <<block1> aec0: 3e 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a >.$(LIBRESOBJS):
aed0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69  .$(TOP)\src\sqli aee0: 74 65 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33 te3.rc$(SQLITE3
aef0: 48 29 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66  H)..echo #ifndef
af00: 20 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45   SQLITE_RESOURCE
af10: 5f 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74  _VERSION > sqlit
af20: 65 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25  e3rc.h..for /F %
af30: 25 56 20 69 6e 20 28 27 74 79 70 65 20 22 24 28  %V in ('type "$( af40: 54 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 TOP)\VERSION"') af50: 64 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64 do ( \...echo #d af60: 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53 efine SQLITE_RES af70: 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25 OURCE_VERSION %% af80: 56 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 V \....|$(TCLSH
af90: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too afa0: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 l\replace.tcl ex afb0: 61 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69 act . ^, >> sqli afc0: 74 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63 te3rc.h \..)..ec afd0: 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c ho #endif >> sql afe0: 69 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43 ite3rc.h..$(LTRC
aff0: 4f 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49  OMPILE) -fo $(LI b000: 42 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29 BRESOBJS)$(TOP)
b010: 5c 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a  \src\sqlite3.rc.
b020: 23 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45  # <</block1>>.!E
b030: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
b040: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c  .# Rules to buil
b050: 64 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c  d individual *.l
b060: 6f 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c  o files from fil
b070: 65 73 20 69 6e 20 74 68 65 20 73 72 63 20 64 69  es in the src di
b080: 72 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72  rectory..#.alter
b090: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ b0a0: 61 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09 alter.c$(HDR)..
b0b0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
b0c0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b0d0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ b0e0: 61 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 alter.c..analyze b0f0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
b100: 61 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29  analyze.c $(HDR) b110: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $b120: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP b130: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
b140: 63 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74  c\analyze.c..att
b150: 61 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ach.lo:.$(TOP)\s b160: 72 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44 rc\attach.c$(HD
b170: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) b180: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
b190: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ b1a0: 73 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75 src\attach.c..au b1b0: 74 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 th.lo:.$(TOP)\sr
b1c0: 63 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a  c\auth.c $(HDR). b1d0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( b1e0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT b1f0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
b200: 5c 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e  \auth.c..backup.
b210: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62  lo:.$(TOP)\src\b b220: 61 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09 ackup.c$(HDR)..
b230: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
b240: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b250: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ b260: 62 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 backup.c..bitvec b270: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
b280: 62 69 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a  bitvec.c $(HDR). b290: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( b2a0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT b2b0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
b2c0: 5c 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74  \bitvec.c..btmut
b2d0: 65 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ex.lo:.$(TOP)\sr b2e0: 63 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44 c\btmutex.c$(HD
b2f0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) b300: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
b310: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ b320: 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62 src\btmutex.c..b b330: 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c tree.lo:.$(TOP)\
b340: 73 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44  src\btree.c $(HD b350: 52 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 R)$(TOP)\src\pa
b360: 67 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49  ger.h..$(LTCOMPI b370: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
b380: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO b390: 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a P)\src\btree.c.. b3a0: 62 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 build.lo:.$(TOP)
b3b0: 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48  \src\build.c $(H b3c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
b3d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE b3e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
b3f0: 5c 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61  \src\build.c..ca
b400: 6c 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50  llback.lo:.$(TOP b410: 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 )\src\callback.c b420: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM b430: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
b440: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( b450: 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 TOP)\src\callbac b460: 6b 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f k.c..complete.lo b470: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d :.$(TOP)\src\com
b480: 70 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09  plete.c $(HDR).. b490: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C b4a0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS b4b0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
b4c0: 63 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d  complete.c..ctim
b4d0: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  e.lo:.$(TOP)\src b4e0: 5c 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a \ctime.c$(HDR).
b4f0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
b500: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b510: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src b520: 5c 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c \ctime.c..date.l b530: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 o:.$(TOP)\src\da
b540: 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  te.c $(HDR)..$(L
b550: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE b560: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - b570: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 c$(TOP)\src\dat
b580: 65 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a 09  e.c..dbstat.lo:.
b590: 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e  $(TOP)\src\date. b5a0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO b5b0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
b5c0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $b5d0: 28 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 (TOP)\src\dbstat b5e0: 2e 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09 24 .c..delete.lo:.$
b5f0: 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65  (TOP)\src\delete
b600: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b610: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C b620: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c b630: 24 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74$(TOP)\src\delet
b640: 65 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24 28  e.c..expr.lo:.$( b650: 54 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 TOP)\src\expr.c b660: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP b670: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
b680: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T b690: 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 0a 0a OP)\src\expr.c.. b6a0: 66 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 fault.lo:.$(TOP)
b6b0: 5c 73 72 63 5c 66 61 75 6c 74 2e 63 20 24 28 48  \src\fault.c $(H b6c0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
b6d0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE b6e0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
b6f0: 5c 73 72 63 5c 66 61 75 6c 74 2e 63 0a 0a 66 6b  \src\fault.c..fk
b700: 65 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ey.lo:.$(TOP)\sr b710: 63 5c 66 6b 65 79 2e 63 20 24 28 48 44 52 29 0a c\fkey.c$(HDR).
b720: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
b730: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
b740: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src b750: 5c 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c 6f \fkey.c..func.lo b760: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e :.$(TOP)\src\fun
b770: 63 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  c.c $(HDR)..$(LT
b780: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ b790: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c b7a0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63$(TOP)\src\func
b7b0: 2e 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09 24  .c..global.lo:.$b7c0: 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c (TOP)\src\global b7d0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC b7e0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
b7f0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
b800: 24 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61  $(TOP)\src\globa b810: 6c 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24 28 l.c..hash.lo:.$(
b820: 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20  TOP)\src\hash.c
b830: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b840: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP b850: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
b860: 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 0a 0a  OP)\src\hash.c..
b870: 69 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f 50  insert.lo:.$(TOP b880: 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 24 )\src\insert.c$
b890: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI b8a0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
b8b0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO b8c0: 50 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 0a P)\src\insert.c. b8d0: 0a 6c 65 67 61 63 79 2e 6c 6f 3a 09 24 28 54 4f .legacy.lo:.$(TO
b8e0: 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 20  P)\src\legacy.c
b8f0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
b900: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP b910: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
b920: 4f 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63  OP)\src\legacy.c
b930: 0a 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28  ..loadext.lo:.$( b940: 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 TOP)\src\loadext b950: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC b960: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
b970: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
b980: 24 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65  $(TOP)\src\loade b990: 78 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09 24 xt.c..main.lo:.$
b9a0: 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63  (TOP)\src\main.c
b9b0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
b9c0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM b9d0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
b9e0: 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 0a  TOP)\src\main.c.
b9f0: 0a 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54 4f  .malloc.lo:.$(TO ba00: 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 P)\src\malloc.c ba10: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP ba20: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
ba30: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T ba40: 4f 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 OP)\src\malloc.c ba50: 0a 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f 50 ..mem0.lo:.$(TOP
ba60: 29 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 24 28 48  )\src\mem0.c $(H ba70: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
ba80: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE ba90: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
baa0: 5c 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65 6d  \src\mem0.c..mem
bab0: 31 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  1.lo:.$(TOP)\src bac0: 5c 6d 65 6d 31 2e 63 20 24 28 48 44 52 29 0a 09 \mem1.c$(HDR)..
bad0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
bae0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
baf0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ bb00: 6d 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a mem1.c..mem2.lo: bb10: 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 .$(TOP)\src\mem2
bb20: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
bb30: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C bb40: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c bb50: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e$(TOP)\src\mem2.
bb60: 63 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54 4f  c..mem3.lo:.$(TO bb70: 50 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 24 28 P)\src\mem3.c$(
bb80: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL bb90: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
bba0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP bbb0: 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d 65 )\src\mem3.c..me bbc0: 6d 35 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 m5.lo:.$(TOP)\sr
bbd0: 63 5c 6d 65 6d 35 2e 63 20 24 28 48 44 52 29 0a  c\mem5.c $(HDR). bbe0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( bbf0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT bc00: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
bc10: 5c 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 6a 6f 75 72  \mem5.c..memjour
bc20: 6e 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  nal.lo:.$(TOP)\s bc30: 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 rc\memjournal.c bc40: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP bc50: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
bc60: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T bc70: 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e OP)\src\memjourn bc80: 61 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 al.c..mutex.lo:. bc90: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78$(TOP)\src\mutex
bca0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
bcb0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C bcc0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c bcd0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78$(TOP)\src\mutex
bce0: 2e 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c  .c..mutex_noop.l
bcf0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  o:.$(TOP)\src\mu bd00: 74 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52 tex_noop.c$(HDR
bd10: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) bd20: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
bd30: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s bd40: 72 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a rc\mutex_noop.c. bd50: 0a 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 .mutex_unix.lo:. bd60: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78$(TOP)\src\mutex
bd70: 5f 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09  _unix.c $(HDR).. bd80: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C bd90: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS bda0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
bdb0: 6d 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75  mutex_unix.c..mu
bdc0: 74 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f  tex_w32.lo:.$(TO bdd0: 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 P)\src\mutex_w32 bde0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC bdf0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
be00: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
be10: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78  $(TOP)\src\mutex be20: 5f 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c _w32.c..notify.l be30: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f o:.$(TOP)\src\no
be40: 74 69 66 79 2e 63 20 24 28 48 44 52 29 0a 09 24  tify.c $(HDR)..$
be50: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO be60: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) be70: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e -c$(TOP)\src\n
be80: 6f 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 2e 6c  otify.c..pager.l
be90: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61  o:.$(TOP)\src\pa bea0: 67 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 54 ger.c$(HDR) $(T beb0: 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a OP)\src\pager.h. bec0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( bed0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT bee0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
bef0: 5c 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 68 65  \pager.c..pcache
bf00: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ bf10: 70 63 61 63 68 65 2e 63 20 24 28 48 44 52 29 20 pcache.c$(HDR)
bf20: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68  $(TOP)\src\pcach bf30: 65 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 e.h..$(LTCOMPILE
bf40: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE bf50: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
bf60: 5c 73 72 63 5c 70 63 61 63 68 65 2e 63 0a 0a 70  \src\pcache.c..p
bf70: 63 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 4f 50  cache1.lo:.$(TOP bf80: 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 )\src\pcache1.c bf90: 24 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72$(HDR) $(TOP)\sr bfa0: 63 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 c\pcache.h..$(LT
bfb0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ bfc0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c bfd0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63$(TOP)\src\pcac
bfe0: 68 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28  he1.c..os.lo:.$( bff0: 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 24 28 TOP)\src\os.c$(
c000: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL c010: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
c020: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP c030: 29 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 )\src\os.c..os_u c040: 6e 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 nix.lo:.$(TOP)\s
c050: 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48  rc\os_unix.c $(H c060: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
c070: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE c080: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
c090: 5c 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a  \src\os_unix.c..
c0a0: 6f 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50  os_win.lo:.$(TOP c0b0: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 )\src\os_win.c$
c0c0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI c0d0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
c0e0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO c0f0: 50 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a P)\src\os_win.c. c100: 0a 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f .pragma.lo:.$(TO
c110: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20  P)\src\pragma.c
c120: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
c130: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP c140: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
c150: 4f 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63  OP)\src\pragma.c
c160: 0a 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28  ..prepare.lo:.$( c170: 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 TOP)\src\prepare c180: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 .c$(HDR)..$(LTC c190: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
c1a0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20  OMPILE_OPTS) -c
c1b0: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61  $(TOP)\src\prepa c1c0: 72 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a re.c..printf.lo: c1d0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e .$(TOP)\src\prin
c1e0: 74 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c  tf.c $(HDR)..$(L
c1f0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE c200: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d _COMPILE_OPTS) - c210: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 c$(TOP)\src\pri
c220: 6e 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f  ntf.c..random.lo
c230: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e  :.$(TOP)\src\ran c240: 64 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 dom.c$(HDR)..$( c250: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
c260: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
c270: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61  -c $(TOP)\src\ra c280: 6e 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e ndom.c..resolve. c290: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 lo:.$(TOP)\src\r
c2a0: 65 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 29 0a  esolve.c $(HDR). c2b0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( c2c0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT c2d0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
c2e0: 5c 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73  \resolve.c..rows
c2f0: 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  et.lo:.$(TOP)\sr c300: 63 5c 72 6f 77 73 65 74 2e 63 20 24 28 48 44 52 c\rowset.c$(HDR
c310: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) c320: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
c330: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s c340: 72 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c rc\rowset.c..sel c350: 65 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ect.lo:.$(TOP)\s
c360: 72 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 48 44  rc\select.c $(HD c370: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c380: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c390: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c3a0: 73 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a 73 74  src\select.c..st
c3b0: 61 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  atus.lo:.$(TOP)\ c3c0: 73 72 63 5c 73 74 61 74 75 73 2e 63 20 24 28 48 src\status.c$(H
c3d0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE c3e0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
c3f0: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) c400: 5c 73 72 63 5c 73 74 61 74 75 73 2e 63 0a 0a 74 \src\status.c..t c410: 61 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c able.lo:.$(TOP)\
c420: 73 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 48 44  src\table.c $(HD c430: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c440: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c450: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c460: 73 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 68 72  src\table.c..thr
c470: 65 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  eads.lo:.$(TOP)\ c480: 73 72 63 5c 74 68 72 65 61 64 73 2e 63 20 24 28 src\threads.c$(
c490: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL c4a0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
c4b0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP c4c0: 29 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 0a )\src\threads.c. c4d0: 0a 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 .tokenize.lo:.$(
c4e0: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a  TOP)\src\tokeniz
c4f0: 65 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 68 2e  e.c keywordhash.
c500: 68 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  h $(HDR)..$(LTCO
c510: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO c520: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
c530: 28 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69  (TOP)\src\tokeni
c540: 7a 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 2e 6c  ze.c..treeview.l
c550: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72  o:.$(TOP)\src\tr c560: 65 65 76 69 65 77 2e 63 20 24 28 48 44 52 29 0a eeview.c$(HDR).
c570: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
c580: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
c590: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src c5a0: 5c 74 72 65 65 76 69 65 77 2e 63 0a 0a 74 72 69 \treeview.c..tri c5b0: 67 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c gger.lo:.$(TOP)\
c5c0: 73 72 63 5c 74 72 69 67 67 65 72 2e 63 20 24 28  src\trigger.c $( c5d0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
c5e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL c5f0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 E_OPTS) -c$(TOP
c600: 29 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 0a  )\src\trigger.c.
c610: 0a 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f  .update.lo:.$(TO c620: 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 P)\src\update.c c630: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP c640: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
c650: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T c660: 4f 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 OP)\src\update.c c670: 0a 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 ..utf.lo:.$(TOP)
c680: 5c 73 72 63 5c 75 74 66 2e 63 20 24 28 48 44 52  \src\utf.c $(HDR c690: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
c6a0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O c6b0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
c6c0: 72 63 5c 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c  rc\utf.c..util.l
c6d0: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74  o:.$(TOP)\src\ut c6e0: 69 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c il.c$(HDR)..$(L c6f0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
c700: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c710: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69  c $(TOP)\src\uti c720: 6c 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09 l.c..vacuum.lo:. c730: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75$(TOP)\src\vacuu
c740: 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  m.c $(HDR)..$(LT
c750: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ c760: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c c770: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75$(TOP)\src\vacu
c780: 75 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24  um.c..vdbe.lo:.$c790: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 (TOP)\src\vdbe.c c7a0: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM c7b0: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
c7c0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( c7d0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a TOP)\src\vdbe.c. c7e0: 0a 76 64 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54 .vdbeapi.lo:.$(T
c7f0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e  OP)\src\vdbeapi.
c800: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
c810: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO c820: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
c830: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70  (TOP)\src\vdbeap
c840: 69 2e 63 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a  i.c..vdbeaux.lo:
c850: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65  .$(TOP)\src\vdbe c860: 61 75 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 aux.c$(HDR)..$( c870: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
c880: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
c890: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  -c $(TOP)\src\vd c8a0: 62 65 61 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f beaux.c..vdbeblo c8b0: 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 b.lo:.$(TOP)\src
c8c0: 5c 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 48 44  \vdbeblob.c $(HD c8d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c8e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c8f0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c900: 73 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a  src\vdbeblob.c..
c910: 76 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f  vdbemem.lo:.$(TO c920: 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 P)\src\vdbemem.c c930: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM c940: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
c950: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( c960: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d TOP)\src\vdbemem c970: 2e 63 0a 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a .c..vdbesort.lo: c980: 09 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 .$(TOP)\src\vdbe
c990: 73 6f 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24  sort.c $(HDR)..$
c9a0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO c9b0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) c9c0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 -c$(TOP)\src\v
c9d0: 64 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74  dbesort.c..vdbet
c9e0: 72 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  race.lo:.$(TOP)\ c9f0: 73 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 20 src\vdbetrace.c ca00: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP ca10: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
ca20: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T ca30: 4f 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 OP)\src\vdbetrac ca40: 65 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28 e.c..vtab.lo:.$(
ca50: 54 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20  TOP)\src\vtab.c
ca60: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
ca70: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP ca80: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
ca90: 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a  OP)\src\vtab.c..
caa0: 77 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  wal.lo:.$(TOP)\s cab0: 72 63 5c 77 61 6c 2e 63 20 24 28 48 44 52 29 0a rc\wal.c$(HDR).
cac0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
cad0: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
cae0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  S) -c $(TOP)\src caf0: 5c 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c \wal.c..walker.l cb00: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 o:.$(TOP)\src\wa
cb10: 6c 6b 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24  lker.c $(HDR)..$
cb20: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO cb30: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) cb40: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 -c$(TOP)\src\w
cb50: 61 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c  alker.c..where.l
cb60: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  o:.$(TOP)\src\wh cb70: 65 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 ere.c$(HDR)..$( cb80: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
cb90: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
cba0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh cbb0: 65 72 65 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65 ere.c..wherecode cbc0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
cbd0: 77 68 65 72 65 63 6f 64 65 2e 63 20 24 28 48 44  wherecode.c $(HD cbe0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
cbf0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ cc00: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
cc10: 73 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a  src\wherecode.c.
cc20: 0a 77 68 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24  .whereexpr.lo:.$cc30: 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 (TOP)\src\wheree cc40: 78 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 xpr.c$(HDR)..$( cc50: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
cc60: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
cc70: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68  -c $(TOP)\src\wh cc80: 65 72 65 65 78 70 72 2e 63 0a 0a 74 63 6c 73 71 ereexpr.c..tclsq cc90: 6c 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c lite.lo:.$(TOP)\
cca0: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20  src\tclsqlite.c
ccb0: 24 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f  $(HDR)$(SQLITE_
ccc0: 54 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f  TCL_DEP)..$(LTCO ccd0: 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e MPILE)$(NO_WARN
cce0: 29 20 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55 42  ) -DUSE_TCL_STUB
ccf0: 53 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69  S=1 -DBUILD_sqli
cd00: 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52  te -I$(TCLINCDIR cd10: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
cd20: 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c  tclsqlite.c..tcl
cd30: 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a  sqlite-shell.lo:
cd40: 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73  .$(TOP)\src\tcls cd50: 71 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 qlite.c$(HDR) $cd60: 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 (SQLITE_TCL_DEP) cd70: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $cd80: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c 53 (NO_WARN) -DTCLS cd90: 48 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 H=1 -DBUILD_sqli cda0: 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 te -I$(TCLINCDIR
cdb0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ cdc0: 74 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c tclsqlite.c..tcl cdd0: 73 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 63 6c sqlite3.exe:.tcl cde0: 73 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 sqlite-shell.lo cdf0: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ ce00: 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 LITE3H)$(LIBRES
ce10: 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  OBJS)..$(LTLINK) ce20: 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69$(SQLITE3C) /li
ce30: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
ce40: 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54  LTLINKOPTS) $(LT ce50: 4c 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 LIBPATHS) /OUT:$
ce60: 40 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c  @ tclsqlite-shel
ce70: 6c 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a  l.lo $(LIBRESOBJ ce80: 53 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 S)$(LTLIBS) $(T ce90: 4c 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 LIBS)..# Rules t cea0: 6f 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e o build opcodes. ceb0: 63 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a c and opcodes.h. cec0: 23 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63 #.opcodes.c:.opc ced0: 6f 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f odes.h$(TOP)\to
cee0: 6f 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c  ol\mkopcodec.tcl
cef0: 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24  ..$(TCLSH_CMD)$
cf00: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63  (TOP)\tool\mkopc
cf10: 6f 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73  odec.tcl opcodes
cf20: 2e 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a  .h > opcodes.c..
cf30: 6f 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65  opcodes.h:.parse
cf40: 2e 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64  .h $(TOP)\src\vd cf50: 62 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c be.c$(TOP)\tool
cf60: 5c 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09  \mkopcodeh.tcl..
cf70: 74 79 70 65 20 70 61 72 73 65 2e 68 20 24 28 54  type parse.h $(T cf80: 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c OP)\src\vdbe.c | cf90: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28$(TCLSH_CMD) $( cfa0: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f TOP)\tool\mkopco cfb0: 64 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65 deh.tcl > opcode cfc0: 73 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 s.h..# Rules to cfd0: 62 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e build parse.c an cfe0: 64 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20 d parse.h - the cff0: 6f 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e outputs of lemon d000: 2e 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72 ..#.parse.h:.par d010: 73 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24 se.c..parse.c:.$
d020: 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e  (TOP)\src\parse.
d030: 79 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f  y lemon.exe $(TO d040: 50 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 P)\tool\addopcod d050: 65 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70 es.tcl..del /Q p d060: 61 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 70 arse.y parse.h p d070: 61 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 arse.h.temp 2>NU d080: 4c 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 73 L..copy$(TOP)\s
d090: 72 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c  rc\parse.y ....\
d0a0: 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f  lemon.exe $(REQ_ d0b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 FEATURE_FLAGS)$
d0c0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
d0d0: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52  GS) $(EXT_FEATUR d0e0: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 E_FLAGS)$(OPTS)
d0f0: 20 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70   parse.y..move p
d100: 61 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74  arse.h parse.h.t
d110: 65 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44  emp..$(TCLSH_CMD d120: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 )$(TOP)\tool\ad
d130: 64 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 72  dopcodes.tcl par
d140: 73 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 73  se.h.temp > pars
d150: 65 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 29  e.h..$(SQLITE3H) d160: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c :.$(TOP)\src\sql
d170: 69 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c  ite.h.in $(TOP)\ d180: 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24 28 manifest.uuid$(
d190: 54 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 24 28  TOP)\VERSION..$( d1a0: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 TCLSH_CMD)$(TOP
d1b0: 29 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33  )\tool\mksqlite3
d1c0: 68 2e 74 63 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29  h.tcl $(TOP:\=/) d1d0: 20 3e 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 >$(SQLITE3H) $d1e0: 28 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53 (MKSQLITE3H_ARGS d1f0: 29 0a 0a 73 71 6c 69 74 65 33 65 78 74 2e 68 3a )..sqlite3ext.h: d200: 09 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a ..target_source. d210: 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c !IF$(USE_STDCAL
d220: 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  L)!=0 || $(FOR_W d230: 49 4e 31 30 29 21 3d 30 0a 09 74 79 70 65 20 74 IN10)!=0..type t d240: 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 src\sqlite3ext.h d250: 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 |$(TCLSH_CMD)
d260: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl d270: 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 ace.tcl regsub " d280: 5c 28 5c 2a 5c 29 22 20 22 28 53 51 4c 49 54 45 $$\*$$" "(SQLITE d290: 5f 43 41 4c 4c 42 41 43 4b 20 2a 29 22 20 5c 0a _CALLBACK *)" \. d2a0: 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 ..|$(TCLSH_CMD)
d2b0: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep d2c0: 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 lace.tcl regsub d2d0: 22 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f "\(\*" "(SQLITE_ d2e0: 41 50 49 43 41 4c 4c 20 2a 22 20 3e 20 73 71 6c APICALL *" > sql d2f0: 69 74 65 33 65 78 74 2e 68 0a 09 63 6f 70 79 20 ite3ext.h..copy d300: 2f 59 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 /Y sqlite3ext.h d310: 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e tsrc\sqlite3ext. d320: 68 0a 21 45 4c 53 45 0a 09 63 6f 70 79 20 2f 59 h.!ELSE..copy /Y d330: 20 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 tsrc\sqlite3ext d340: 2e 68 20 73 71 6c 69 74 65 33 65 78 74 2e 68 0a .h sqlite3ext.h. d350: 21 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72 !ENDIF..mkkeywor d360: 64 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 dhash.exe:.$(TOP
d370: 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64  )\tool\mkkeyword
d380: 68 61 73 68 2e 63 0a 09 24 28 42 43 43 29 20 24  hash.c..$(BCC)$
d390: 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40 20  (NO_WARN) -Fe$@ d3a0: 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c$(REQ_FEATURE_FL
d3b0: 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55  AGS) $(OPT_FEATU d3c0: 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f RE_FLAGS)$(EXT_
d3d0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $d3e0: 28 4f 50 54 53 29 20 5c 0a 09 09 24 28 54 4f 50 (OPTS) \...$(TOP
d3f0: 29 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64  )\tool\mkkeyword
d400: 68 61 73 68 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c  hash.c /link $(L d410: 44 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e DFLAGS)$(NLTLIN
d420: 4b 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50  KOPTS) $(NLTLIBP d430: 41 54 48 53 29 0a 0a 6b 65 79 77 6f 72 64 68 61 ATHS)..keywordha d440: 73 68 2e 68 3a 09 24 28 54 4f 50 29 5c 74 6f 6f sh.h:.$(TOP)\too
d450: 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  l\mkkeywordhash.
d460: 63 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e  c mkkeywordhash.
d470: 65 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64  exe...\mkkeyword
d480: 68 61 73 68 2e 65 78 65 20 3e 20 6b 65 79 77 6f  hash.exe > keywo
d490: 72 64 68 61 73 68 2e 68 0a 0a 0a 0a 23 20 52 75  rdhash.h....# Ru
d4a0: 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65  les to build the
d4b0: 20 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63   extension objec
d4c0: 74 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 28  ts..#.icu.lo:.$( d4d0: 54 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 TOP)\ext\icu\icu d4e0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 .c$(HDR) $(EXTH d4f0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
d500: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE d510: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e _OPTS)$(NO_WARN
d520: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE
d530: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63  -c $(TOP)\ext\ic d540: 75 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f u\icu.c..fts2.lo d550: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
d560: 32 5c 66 74 73 32 2e 63 20 24 28 48 44 52 29 20  2\fts2.c $(HDR) d570: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC d580: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
d590: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N d5a0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE d5b0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
d5c0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 0a  ext\fts2\fts2.c.
d5d0: 0a 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 24  .fts2_hash.lo:.$d5e0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f d5f0: 74 73 32 5f 68 61 73 68 2e 63 20 24 28 48 44 52 ts2_hash.c$(HDR
d600: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c  ) $(EXTHDR)..$(L
d610: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45  TCOMPILE) $(CORE d620: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 _COMPILE_OPTS)$
d630: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49  (NO_WARN) -DSQLI
d640: 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50  TE_CORE -c $(TOP d650: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f )\ext\fts2\fts2_ d660: 68 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69 63 75 hash.c..fts2_icu d670: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
d680: 66 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 20  fts2\fts2_icu.c
d690: 24 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29  $(HDR)$(EXTHDR)
d6a0: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
d6b0: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
d6c0: 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  TS) $(NO_WARN) - d6d0: 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 DSQLITE_CORE -c d6e0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
d6f0: 66 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74 73 32  fts2_icu.c..fts2
d700: 5f 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f  _porter.lo:.$(TO d710: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 P)\ext\fts2\fts2 d720: 5f 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29 _porter.c$(HDR)
d730: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
d740: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d750: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
d760: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
d770: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) d780: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 \ext\fts2\fts2_p d790: 6f 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f orter.c..fts2_to d7a0: 6b 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f kenizer.lo:.$(TO
d7b0: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
d7c0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48  _tokenizer.c $(H d7d0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$d7e0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
d7f0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
d800: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ d810: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
d820: 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73  OP)\ext\fts2\fts
d830: 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66  2_tokenizer.c..f
d840: 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c  ts2_tokenizer1.l
d850: 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  o:.$(TOP)\ext\ft d860: 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 s2\fts2_tokenize d870: 72 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 r1.c$(HDR) $(EX d880: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
d890: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI d8a0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
d8b0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
d8c0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ d8d0: 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 fts2\fts2_tokeni d8e0: 7a 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a zer1.c..fts3.lo: d8f0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 .$(TOP)\ext\fts3
d900: 5c 66 74 73 33 2e 63 20 24 28 48 44 52 29 20 24  \fts3.c $(HDR)$
d910: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO d920: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d930: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO d940: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ d950: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
d960: 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 0a 0a  xt\fts3\fts3.c..
d970: 66 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 54  fts3_aux.lo:.$(T d980: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts d990: 33 5f 61 75 78 2e 63 20 24 28 48 44 52 29 20 24 3_aux.c$(HDR) $d9a0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f (EXTHDR)..$(LTCO
d9b0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO d9c0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f MPILE_OPTS)$(NO
d9d0: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f  _WARN) -DSQLITE_
d9e0: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65  CORE -c $(TOP)\e d9f0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78 xt\fts3\fts3_aux da00: 2e 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e 6c 6f .c..fts3_expr.lo da10: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
da20: 33 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 24 28  3\fts3_expr.c $( da30: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
da40: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
da50: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
da60: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS da70: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
da80: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
da90: 73 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73 33 5f  s3_expr.c..fts3_
daa0: 68 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  hash.lo:.$(TOP)\ dab0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 ext\fts3\fts3_ha dac0: 73 68 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 sh.c$(HDR) $(EX dad0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
dae0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI daf0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
db00: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
db10: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ db20: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 fts3\fts3_hash.c db30: 0a 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 ..fts3_icu.lo:.$
db40: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
db50: 74 73 33 5f 69 63 75 2e 63 20 24 28 48 44 52 29  ts3_icu.c $(HDR) db60: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT db70: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
db80: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( db90: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT dba0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 E_CORE -c$(TOP)
dbb0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69  \ext\fts3\fts3_i
dbc0: 63 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69 70 70  cu.c..fts3_snipp
dbd0: 65 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78  et.lo:.$(TOP)\ex dbe0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 t\fts3\fts3_snip dbf0: 70 65 74 2e 63 20 24 28 48 44 52 29 20 24 28 45 pet.c$(HDR) $(E dc00: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
dc10: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP dc20: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
dc30: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
dc40: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext dc50: 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 \fts3\fts3_snipp dc60: 65 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 74 65 et.c..fts3_porte dc70: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 r.lo:.$(TOP)\ext
dc80: 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65  \fts3\fts3_porte
dc90: 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  r.c $(HDR)$(EXT
dca0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL dcb0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
dcc0: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR dcd0: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE dce0: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
dcf0: 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e  ts3\fts3_porter.
dd00: 63 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65  c..fts3_tokenize
dd10: 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  r.lo:.$(TOP)\ext dd20: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e \fts3\fts3_token dd30: 69 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 izer.c$(HDR) $( dd40: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
dd50: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM dd60: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
dd70: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
dd80: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex dd90: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 t\fts3\fts3_toke dda0: 6e 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f nizer.c..fts3_to ddb0: 6b 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 kenizer1.lo:.$(T
ddc0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
ddd0: 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24  3_tokenizer1.c $dde0: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
ddf0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
de00: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
de10: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D de20: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
de30: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66  (TOP)\ext\fts3\f
de40: 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63  ts3_tokenizer1.c
de50: 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f  ..fts3_tokenize_
de60: 76 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  vtab.lo:.$(TOP)\ de70: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f ext\fts3\fts3_to de80: 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 24 28 kenize_vtab.c$(
de90: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09  HDR) $(EXTHDR).. dea0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C deb0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS dec0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
ded0: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28  QLITE_CORE -c $( dee0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 TOP)\ext\fts3\ft def0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 s3_tokenize_vtab df00: 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 .c..fts3_unicode df10: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
df20: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64  fts3\fts3_unicod
df30: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  e.c $(HDR)$(EXT
df40: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL df50: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
df60: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR df70: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE df80: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 -c$(TOP)\ext\f
df90: 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65  ts3\fts3_unicode
dfa0: 2e 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65  .c..fts3_unicode
dfb0: 32 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  2.lo:.$(TOP)\ext dfc0: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f \fts3\fts3_unico dfd0: 64 65 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 de2.c$(HDR) $(E dfe0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
dff0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP e000: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
e010: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
e020: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext e030: 5c 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f \fts3\fts3_unico e040: 64 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72 69 74 de2.c..fts3_writ e050: 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 e.lo:.$(TOP)\ext
e060: 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65  \fts3\fts3_write
e070: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
e080: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE e090: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
e0a0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN e0b0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE e0c0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
e0d0: 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 0a  s3\fts3_write.c.
e0e0: 0a 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50  .rtree.lo:.$(TOP e0f0: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 )\ext\rtree\rtre e100: 65 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 e.c$(HDR) $(EXT e110: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
e120: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL e130: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
e140: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
e150: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72   -c $(TOP)\ext\r e160: 74 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 tree\rtree.c..sq e170: 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a lite3session.lo: e180: 09 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 .$(TOP)\ext\sess
e190: 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69  ion\sqlite3sessi
e1a0: 6f 6e 2e 63 20 24 28 48 44 52 29 20 24 28 45 58  on.c $(HDR)$(EX
e1b0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  THDR)..$(LTCOMPI e1c0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
e1d0: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41  LE_OPTS) $(NO_WA e1e0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 RN) -DSQLITE_COR e1f0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c E -c$(TOP)\ext\
e200: 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73  session\sqlite3s
e210: 65 73 73 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35  ession.c..# FTS5
e220: 20 74 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53   things.#.FTS5_S
e230: 52 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29  RC = \.   $(TOP) e240: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 \ext\fts5\fts5.h e250: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
e260: 5c 66 74 73 35 5c 66 74 73 35 49 6e 74 2e 68 20  \fts5\fts5Int.h
e270: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c  \.   $(TOP)\ext\ e280: 66 74 73 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 fts5\fts5_aux.c e290: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
e2a0: 66 74 73 35 5c 66 74 73 35 5f 62 75 66 66 65 72  fts5\fts5_buffer
e2b0: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65  .c \.   $(TOP)\e e2c0: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 xt\fts5\fts5_mai e2d0: 6e 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c n.c \.$(TOP)\
e2e0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f  ext\fts5\fts5_co
e2f0: 6e 66 69 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f  nfig.c \.   $(TO e300: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 P)\ext\fts5\fts5 e310: 5f 65 78 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 _expr.c \.$(T
e320: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
e330: 35 5f 68 61 73 68 2e 63 20 5c 0a 20 20 20 24 28  5_hash.c \.   $( e340: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 TOP)\ext\fts5\ft e350: 73 35 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 s5_index.c \. e360: 66 74 73 35 70 61 72 73 65 2e 63 20 66 74 73 35 fts5parse.c fts5 e370: 70 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 parse.h \.$(T
e380: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
e390: 35 5f 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20  5_storage.c \.
e3a0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35   $(TOP)\ext\fts5 e3b0: 5c 66 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 \fts5_tokenize.c e3c0: 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 \.$(TOP)\ext
e3d0: 5c 66 74 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f  \fts5\fts5_unico
e3e0: 64 65 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  de2.c \.   $(TOP e3f0: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ e400: 76 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 varint.c \.$(
e410: 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74  TOP)\ext\fts5\ft
e420: 73 35 5f 76 6f 63 61 62 2e 63 0a 0a 66 74 73 35  s5_vocab.c..fts5
e430: 70 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c  parse.c:.$(TOP)\ e440: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72 ext\fts5\fts5par e450: 73 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 se.y lemon.exe.. e460: 63 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c copy$(TOP)\ext\
e470: 66 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79  fts5\fts5parse.y
e480: 20 2e 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 70   ...del /Q fts5p
e490: 61 72 73 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c  arse.h 2>NUL...\
e4a0: 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f  lemon.exe $(REQ_ e4b0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 FEATURE_FLAGS)$
e4c0: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (OPT_FEATURE_FLA
e4d0: 47 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52  GS) $(EXT_FEATUR e4e0: 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 E_FLAGS)$(OPTS)
e4f0: 20 66 74 73 35 70 61 72 73 65 2e 79 0a 0a 66 74   fts5parse.y..ft
e500: 73 35 70 61 72 73 65 2e 68 3a 09 66 74 73 35 70  s5parse.h:.fts5p
e510: 61 72 73 65 2e 63 0a 0a 66 74 73 35 2e 63 3a 09  arse.c..fts5.c:.
e520: 24 28 46 54 53 35 5f 53 52 43 29 0a 09 24 28 54  $(FTS5_SRC)..$(T
e530: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) e540: 5c 65 78 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d \ext\fts5\tool\m e550: 6b 66 74 73 35 63 2e 74 63 6c 0a 09 63 6f 70 79 kfts5c.tcl..copy e560: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35$(TOP)\ext\fts5
e570: 5c 66 74 73 35 2e 68 20 2e 0a 0a 66 74 73 35 2e  \fts5.h ...fts5.
e580: 6c 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52  lo:.fts5.c $(HDR e590: 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c )$(EXTHDR)..$(L e5a0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
e5b0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24  _COMPILE_OPTS) $e5c0: 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI e5d0: 54 45 5f 43 4f 52 45 20 2d 63 20 66 74 73 35 2e TE_CORE -c fts5. e5e0: 63 0a 0a 66 74 73 35 5f 65 78 74 2e 6c 6f 3a 09 c..fts5_ext.lo:. e5f0: 66 74 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 fts5.c$(HDR) $( e600: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
e610: 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29  PILE) $(NO_WARN) e620: 20 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 -c fts5.c..fts5 e630: 2e 64 6c 6c 3a 09 66 74 73 35 5f 65 78 74 2e 6c .dll:.fts5_ext.l e640: 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 o..$(LD) $(LDFLA e650: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
e660: 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) e670: 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 66 74 73 /DLL /OUT:$@ fts
e680: 35 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65  5_ext.lo..sqlite
e690: 33 72 62 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c  3rbu.lo:.$(TOP)\ e6a0: 65 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 ext\rbu\sqlite3r e6b0: 62 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 bu.c$(HDR) $(EX e6c0: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
e6d0: 4c 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  LE) -DSQLITE_COR
e6e0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ e6f0: 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 rbu\sqlite3rbu.c e700: 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 ..# Rules to bui e710: 6c 64 20 74 68 65 20 27 74 65 73 74 66 69 78 74 ld the 'testfixt e720: 75 72 65 27 20 61 70 70 6c 69 63 61 74 69 6f 6e ure' application e730: 2e 0a 23 0a 23 20 49 66 20 75 73 69 6e 67 20 74 ..#.# If using t e740: 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c he amalgamation, e750: 20 75 73 65 20 73 71 6c 69 74 65 33 2e 63 20 64 use sqlite3.c d e760: 69 72 65 63 74 6c 79 20 74 6f 20 62 75 69 6c 64 irectly to build e770: 20 74 68 65 20 74 65 73 74 0a 23 20 66 69 78 74 the test.# fixt e780: 75 72 65 2e 20 20 4f 74 68 65 72 77 69 73 65 20 ure. Otherwise e790: 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 6c 69 62 link against lib e7a0: 73 71 6c 69 74 65 33 2e 6c 69 62 2e 20 20 28 54 sqlite3.lib. (T e7b0: 68 69 73 20 64 69 73 74 69 6e 63 74 69 6f 6e 20 his distinction e7c0: 69 73 0a 23 20 6e 65 63 65 73 73 61 72 79 20 62 is.# necessary b e7d0: 65 63 61 75 73 65 20 74 68 65 20 74 65 73 74 20 ecause the test e7e0: 66 69 78 74 75 72 65 20 72 65 71 75 69 72 65 73 fixture requires e7f0: 20 6e 6f 6e 2d 41 50 49 20 73 79 6d 62 6f 6c 73 non-API symbols e800: 20 77 68 69 63 68 20 61 72 65 0a 23 20 68 69 64 which are.# hid e810: 64 65 6e 20 77 68 65 6e 20 74 68 65 20 6c 69 62 den when the lib e820: 72 61 72 79 20 69 73 20 62 75 69 6c 74 20 76 69 rary is built vi e830: 61 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 a the amalgamati e840: 6f 6e 29 2e 0a 23 0a 54 45 53 54 46 49 58 54 55 on)..#.TESTFIXTU e850: 52 45 5f 46 4c 41 47 53 20 3d 20 2d 44 54 43 4c RE_FLAGS = -DTCL e860: 53 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54 45 SH=1 -DSQLITE_TE e870: 53 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f 43 52 ST=1 -DSQLITE_CR e880: 41 53 48 5f 54 45 53 54 3d 31 0a 54 45 53 54 46 ASH_TEST=1.TESTF e890: 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 IXTURE_FLAGS =$
e8a0: 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  (TESTFIXTURE_FLA
e8b0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45 52  GS) -DSQLITE_SER
e8c0: 56 45 52 3d 31 20 2d 44 53 51 4c 49 54 45 5f 50  VER=1 -DSQLITE_P
e8d0: 52 49 56 41 54 45 3d 22 22 0a 54 45 53 54 46 49  RIVATE="".TESTFI
e8e0: 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28  XTURE_FLAGS = $( e8f0: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 TESTFIXTURE_FLAG e900: 53 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 S) -DSQLITE_CORE e910: 20 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45 53 54$(NO_WARN).TEST
e920: 46 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20  FIXTURE_FLAGS =
e930: 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  $(TESTFIXTURE_FL e940: 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45 AGS) -DSQLITE_SE e950: 52 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e 54 5f RIES_CONSTRAINT_ e960: 56 45 52 49 46 59 3d 31 0a 54 45 53 54 46 49 58 VERIFY=1.TESTFIX e970: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 TURE_FLAGS =$(T
e980: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53  ESTFIXTURE_FLAGS
e990: 29 20 2d 44 53 51 4c 49 54 45 5f 44 45 46 41 55  ) -DSQLITE_DEFAU
e9a0: 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31 30 32  LT_PAGE_SIZE=102
e9b0: 34 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c  4.TESTFIXTURE_FL
e9c0: 41 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54  AGS = $(TESTFIXT e9d0: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 54 45 53 URE_FLAGS)$(TES
e9e0: 54 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54  T_CCONV_OPTS)..T
e9f0: 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 30 20  ESTFIXTURE_SRC0
ea00: 3d 20 24 28 54 45 53 54 45 58 54 29 20 24 28 54  = $(TESTEXT)$(T
ea10: 45 53 54 53 52 43 32 29 0a 54 45 53 54 46 49 58  ESTSRC2).TESTFIX
ea20: 54 55 52 45 5f 53 52 43 31 20 3d 20 24 28 54 45  TURE_SRC1 = $(TE ea30: 53 54 45 58 54 29 20 24 28 53 51 4c 49 54 45 33 STEXT)$(SQLITE3
ea40: 43 29 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41  C).!IF $(USE_AMA ea50: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 LGAMATION)==0.TE ea60: 53 54 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20 STFIXTURE_SRC = ea70: 24 28 54 45 53 54 53 52 43 29 20 24 28 54 4f 50$(TESTSRC) $(TOP ea80: 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e )\src\tclsqlite. ea90: 63 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f c$(TESTFIXTURE_
eaa0: 53 52 43 30 29 0a 21 45 4c 53 45 0a 54 45 53 54  SRC0).!ELSE.TEST
eab0: 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28  FIXTURE_SRC = $( eac0: 54 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c TESTSRC)$(TOP)\
ead0: 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20  src\tclsqlite.c
eae0: 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52  $(TESTFIXTURE_SR eaf0: 43 31 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 C1).!ENDIF..!IF eb00: 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d$(USE_STDCALL)!=
eb10: 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30  0 || $(FOR_WIN10 eb20: 29 21 3d 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44 )!=0.sqlite_tclD eb30: 65 63 6c 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 ecls.h:..echo #i eb40: 66 6e 64 65 66 20 53 51 4c 49 54 45 5f 54 43 4c fndef SQLITE_TCL eb50: 41 50 49 20 3e 20 24 28 53 51 4c 49 54 45 54 43 API >$(SQLITETC
eb60: 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23  LDECLSH)..echo #
eb70: 20 20 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f    define SQLITE_
eb80: 54 43 4c 41 50 49 20 3e 3e 20 24 28 53 51 4c 49  TCLAPI >> $(SQLI eb90: 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 TETCLDECLSH)..ec eba0: 68 6f 20 23 65 6e 64 69 66 20 3e 3e 20 24 28 53 ho #endif >>$(S
ebb0: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a  QLITETCLDECLSH).
ebc0: 09 74 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44  .type "$(TCLINCD ebd0: 49 52 29 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20 IR)\tclDecls.h" ebe0: 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d \...|$(TCLSH_CM
ebf0: 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72  D) $(TOP)\tool\r ec00: 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 eplace.tcl regsu ec10: 62 20 22 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43 b "^(EXTERN(?: C ec20: 4f 4e 53 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e ONST\d+?)?\s+?[^ ec30: 5c 28 5d 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 \(]*?\s+?)Tcl_" ec40: 22 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 "\1 SQLITE_TCLAP ec50: 49 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 I Tcl_" \...|$(
ec60: 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50  TCLSH_CMD) $(TOP ec70: 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 )\tool\replace.t ec80: 63 6c 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 cl regsub "^(EXT ec90: 45 52 4e 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 ERN\s+?(?:void|V eca0: 4f 49 44 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65 OID)\s+?)TclFree ecb0: 4f 62 6a 22 20 22 5c 31 20 53 51 4c 49 54 45 5f Obj" "\1 SQLITE_ ecc0: 54 43 4c 41 50 49 20 54 63 6c 46 72 65 65 4f 62 TCLAPI TclFreeOb ecd0: 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 j" \...|$(TCLSH
ece0: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too ecf0: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 l\replace.tcl re ed00: 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 gsub "\(\*tcl_" ed10: 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 "(SQLITE_TCLAPI ed20: 2a 74 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 *tcl_" \...|$(T
ed30: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) ed40: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 \tool\replace.tc ed50: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 l regsub "\(\*tc ed60: 6c 46 72 65 65 4f 62 6a 22 20 22 28 53 51 4c 49 lFreeObj" "(SQLI ed70: 54 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c 46 72 TE_TCLAPI *tclFr ed80: 65 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 eeObj" \...|$(T
ed90: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) eda0: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 \tool\replace.tc edb0: 6c 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 l regsub "\(\*" edc0: 22 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 "(SQLITE_TCLAPI edd0: 2a 22 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 *" >>$(SQLITETC
ede0: 4c 44 45 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65  LDECLSH)..sqlite
edf0: 5f 74 63 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24  _tcl.h:..type "$ee00: 28 54 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e (TCLINCDIR)\tcl. ee10: 68 22 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 h" |$(TCLSH_CMD
ee20: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re ee30: 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 place.tcl exact ee40: 74 63 6c 44 65 63 6c 73 2e 68 20 73 71 6c 69 74 tclDecls.h sqlit ee50: 65 5f 74 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 e_tclDecls.h \.. ee60: 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 .|$(TCLSH_CMD)
ee70: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl ee80: 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 ace.tcl regsub " ee90: 74 79 70 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54 typedef (.*?)\(T eea0: 63 6c 5f 22 20 22 74 79 70 65 64 65 66 20 5c 31 cl_" "typedef \1 eeb0: 20 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 (SQLITE_TCLAPI eec0: 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 Tcl_" \...|$(TC
eed0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ eee0: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c tool\replace.tcl eef0: 20 65 78 61 63 74 20 22 76 6f 69 64 20 28 2a 66 exact "void (*f ef00: 72 65 65 50 72 6f 63 29 22 20 22 76 6f 69 64 20 reeProc)" "void ef10: 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a (SQLITE_TCLAPI * ef20: 66 72 65 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c freeProc)" \...| ef30: 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28$(TCLSH_CMD) $( ef40: 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 TOP)\tool\replac ef50: 65 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c e.tcl exact "Tcl ef60: 5f 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 66 69 _HashEntry *(*fi ef70: 6e 64 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 ndProc)" "Tcl_Ha ef80: 73 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 shEntry *(SQLITE ef90: 5f 54 43 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f _TCLAPI *findPro efa0: 63 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 c)" \...|$(TCLS
efb0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f  H_CMD) $(TOP)\to efc0: 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 ol\replace.tcl e efd0: 78 61 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e xact "Tcl_HashEn efe0: 74 72 79 20 2a 28 2a 63 72 65 61 74 65 50 72 6f try *(*createPro eff0: 63 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 c)" "Tcl_HashEnt f000: 72 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 ry *(SQLITE_TCLA f010: 50 49 20 2a 63 72 65 61 74 65 50 72 6f 63 29 22 PI *createProc)" f020: 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 48 >>$(SQLITETCLH
f030: 29 0a 21 45 4e 44 49 46 0a 0a 74 65 73 74 66 69  ).!ENDIF..testfi
f040: 78 74 75 72 65 2e 65 78 65 3a 09 24 28 54 45 53  xture.exe:.$(TES f050: 54 46 49 58 54 55 52 45 5f 53 52 43 29 20 24 28 TFIXTURE_SRC)$(
f060: 53 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52  SQLITE3H) $(LIBR f070: 45 53 4f 42 4a 53 29 20 24 28 48 44 52 29 20 24 ESOBJS)$(HDR) $f080: 28 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 (SQLITE_TCL_DEP) f090: 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 ..$(LTLINK) -DSQ
f0a0: 4c 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24  LITE_NO_SYNC=1 $f0b0: 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 (TESTFIXTURE_FLA f0c0: 47 53 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f GS) \...-DBUILD_ f0d0: 73 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e sqlite -I$(TCLIN
f0e0: 43 44 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54  CDIR) \...$(TEST f0f0: 46 49 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 FIXTURE_SRC) \.. f100: 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 ./link$(LDFLAGS
f110: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) f120: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28$(LTLIBPATHS) $( f130: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 LIBRESOBJS)$(LT
f140: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS).. f150: 65 78 74 65 6e 73 69 6f 6e 74 65 73 74 3a 09 74 extensiontest:.t f160: 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 74 estfixture.exe t f170: 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 estloadext.dll.. f180: 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 @set PATH=$(LIBT
f190: 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a  CLPATH);$(PATH). f1a0: 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 ..\testfixture.e f1b0: 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c xe$(TOP)\test\l
f1c0: 6f 61 64 65 78 74 2e 74 65 73 74 20 24 28 54 45  oadext.test $(TE f1d0: 53 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 STOPTS)..fulltes f1e0: 74 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 t:.$(TESTPROGS)
f1f0: 66 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50  fuzztest..@set P
f200: 41 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48  ATH=$(LIBTCLPATH f210: 29 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 );$(PATH)...\tes
f220: 74 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54  tfixture.exe $(T f230: 4f 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 OP)\test\all.tes f240: 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 t$(TESTOPTS)..s
f250: 6f 61 6b 74 65 73 74 3a 09 24 28 54 45 53 54 50  oaktest:.$(TESTP f260: 52 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 48 ROGS)..@set PATH f270: 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 =$(LIBTCLPATH);$f280: 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 (PATH)...\testfi f290: 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 xture.exe$(TOP)
f2a0: 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d  \test\all.test -
f2b0: 73 6f 61 6b 3d 31 20 24 28 54 45 53 54 4f 50 54  soak=1 $(TESTOPT f2c0: 53 29 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 S)..fulltestonly f2d0: 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 :.$(TESTPROGS) f
f2e0: 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41  uzztest..@set PA
f2f0: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH) f300: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 ;$(PATH)...\test
f310: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO f320: 50 29 5c 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73 P)\test\full.tes f330: 74 0a 0a 71 75 65 72 79 70 6c 61 6e 74 65 73 74 t..queryplantest f340: 3a 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 :.testfixture.ex f350: 65 20 73 68 65 6c 6c 0a 09 40 73 65 74 20 50 41 e shell..@set PA f360: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 TH=$(LIBTCLPATH)
f370: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74  ;$(PATH)...\test f380: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f fixture.exe$(TO
f390: 50 29 5c 74 65 73 74 5c 70 65 72 6d 75 74 61 74  P)\test\permutat
f3a0: 69 6f 6e 73 2e 74 65 73 74 20 71 75 65 72 79 70  ions.test queryp
f3b0: 6c 61 6e 6e 65 72 20 24 28 54 45 53 54 4f 50 54  lanner $(TESTOPT f3c0: 53 29 0a 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 S)..fuzztest:.fu f3d0: 7a 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 zzcheck.exe...\f f3e0: 75 7a 7a 63 68 65 63 6b 2e 65 78 65 20 24 28 46 uzzcheck.exe$(F
f3f0: 55 5a 5a 44 41 54 41 29 0a 0a 66 61 73 74 66 75  UZZDATA)..fastfu
f400: 7a 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63  zztest:.fuzzchec
f410: 6b 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65  k.exe...\fuzzche
f420: 63 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d  ck.exe --limit-m
f430: 65 6d 20 31 30 30 4d 20 24 28 46 55 5a 5a 44 41  em 100M $(FUZZDA f440: 54 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 TA)..# Minimal t f450: 65 73 74 69 6e 67 20 74 68 61 74 20 72 75 6e 73 esting that runs f460: 20 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 33 20 in less than 3 f470: 6d 69 6e 75 74 65 73 20 28 6f 6e 20 61 20 66 61 minutes (on a fa f480: 73 74 20 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 st machine).#.qu f490: 69 63 6b 74 65 73 74 3a 09 74 65 73 74 66 69 78 icktest:.testfix f4a0: 74 75 72 65 2e 65 78 65 20 73 6f 75 72 63 65 74 ture.exe sourcet f4b0: 65 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 est..@set PATH=$
f4c0: 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P f4d0: 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 ATH)...\testfixt f4e0: 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 ure.exe$(TOP)\t
f4f0: 65 73 74 5c 65 78 74 72 61 71 75 69 63 6b 2e 74  est\extraquick.t
f500: 65 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a  est $(TESTOPTS). f510: 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 .# This is the c f520: 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e ommon case. Run f530: 20 6d 61 6e 79 20 74 65 73 74 73 20 74 68 61 74 many tests that f540: 20 64 6f 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f do not take too f550: 20 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 long,.# includi f560: 6e 67 20 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 ng fuzzcheck, sq f570: 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 lite3_analyzer, f580: 61 6e 64 20 73 71 6c 64 69 66 66 20 74 65 73 74 and sqldiff test f590: 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 54 45 53 s..#.test:.$(TES
f5a0: 54 50 52 4f 47 53 29 20 73 6f 75 72 63 65 74 65  TPROGS) sourcete
f5b0: 73 74 20 66 61 73 74 66 75 7a 7a 74 65 73 74 0a  st fastfuzztest.
f5c0: 09 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42  .@set PATH=$(LIB f5d0: 54 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 TCLPATH);$(PATH)
f5e0: 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e  ...\testfixture.
f5f0: 65 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c  exe $(TOP)\test\ f600: 76 65 72 79 71 75 69 63 6b 2e 74 65 73 74 20 24 veryquick.test$
f610: 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b  (TESTOPTS)..smok
f620: 65 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f  etest:.$(TESTPRO f630: 47 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 GS)..@set PATH=$
f640: 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50  (LIBTCLPATH);$(P f650: 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 ATH)...\testfixt f660: 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 ure.exe$(TOP)\t
f670: 65 73 74 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28  est\main.test $( f680: 54 45 53 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 TESTOPTS)..sqlit f690: 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 e3_analyzer.c:.$
f6a0: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL f6b0: 49 54 45 33 48 29 20 24 28 54 4f 50 29 5c 73 72 ITE3H)$(TOP)\sr
f6c0: 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28  c\tclsqlite.c $( f6d0: 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 TOP)\tool\spacea f6e0: 6e 61 6c 2e 74 63 6c 20 24 28 53 51 4c 49 54 45 nal.tcl$(SQLITE
f6f0: 5f 54 43 4c 5f 44 45 50 29 0a 09 65 63 68 6f 20  _TCL_DEP)..echo
f700: 23 64 65 66 69 6e 65 20 54 43 4c 53 48 20 32 20  #define TCLSH 2
f710: 3e 20 24 40 0a 09 65 63 68 6f 20 23 64 65 66 69  > $@..echo #defi f720: 6e 65 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 ne SQLITE_ENABLE f730: 5f 44 42 53 54 41 54 5f 56 54 41 42 20 31 20 3e _DBSTAT_VTAB 1 > f740: 3e 20 24 40 0a 09 63 6f 70 79 20 24 40 20 2b 20 >$@..copy $@ + f750: 24 28 53 51 4c 49 54 45 33 43 29 20 2b 20 24 28$(SQLITE3C) + $( f760: 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 TOP)\src\tclsqli f770: 74 65 2e 63 20 24 40 0a 09 65 63 68 6f 20 73 74 te.c$@..echo st
f780: 61 74 69 63 20 63 6f 6e 73 74 20 63 68 61 72 20  atic const char
f790: 2a 74 63 6c 73 68 5f 6d 61 69 6e 5f 6c 6f 6f 70  *tclsh_main_loop
f7a0: 28 76 6f 69 64 29 7b 20 3e 3e 20 24 40 0a 09 65  (void){ >> $@..e f7b0: 63 68 6f 20 73 74 61 74 69 63 20 63 6f 6e 73 74 cho static const f7c0: 20 63 68 61 72 20 2a 7a 4d 61 69 6e 6c 6f 6f 70 char *zMainloop f7d0: 20 3d 20 3e 3e 20 24 40 0a 09 24 28 54 43 4c 53 = >>$@..$(TCLS f7e0: 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f H_CMD)$(TOP)\to
f7f0: 6f 6c 5c 74 6f 73 74 72 2e 74 63 6c 20 24 28 54  ol\tostr.tcl $(T f800: 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e OP)\tool\spacean f810: 61 6c 2e 74 63 6c 20 3e 3e 20 24 40 0a 09 65 63 al.tcl >>$@..ec
f820: 68 6f 20 3b 20 72 65 74 75 72 6e 20 7a 4d 61 69  ho ; return zMai
f830: 6e 6c 6f 6f 70 3b 20 7d 20 3e 3e 20 24 40 0a 0a  nloop; } >> $@.. f840: 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 sqlite3_analyzer f850: 2e 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 61 6e .exe:.sqlite3_an f860: 61 6c 79 7a 65 72 2e 63 20 24 28 4c 49 42 52 45 alyzer.c$(LIBRE
f870: 53 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b  SOBJS)..$(LTLINK f880: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 )$(NO_WARN) -DB
f890: 55 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28  UILD_sqlite -I$( f8a0: 54 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 TCLINCDIR) sqlit f8b0: 65 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a e3_analyzer.c \. f8c0: 09 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ../link$(LDFLAG
f8d0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) f8e0: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24$(LTLIBPATHS) $f8f0: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c (LIBRESOBJS)$(L
f900: 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a  TLIBS) $(TLIBS). f910: 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 3a .testloadext.lo: f920: 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 .$(TOP)\src\test
f930: 5f 6c 6f 61 64 65 78 74 2e 63 0a 09 24 28 4c 54  _loadext.c..$(LT f940: 43 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 COMPILE)$(NO_WA
f950: 52 4e 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  RN) -c $(TOP)\sr f960: 63 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 c\test_loadext.c f970: 0a 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c ..testloadext.dl f980: 6c 3a 09 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c l:.testloadext.l f990: 6f 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 o..$(LD) $(LDFLA f9a0: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
f9b0: 29 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20  ) $(LTLIBPATHS) f9c0: 2f 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73 /DLL /OUT:$@ tes
f9d0: 74 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f  tloadext.lo..sho
f9e0: 77 64 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  wdb.exe:.$(TOP)\ f9f0: 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 tool\showdb.c$(
fa00: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI fa10: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 TE3H)..$(LTLINK)
fa20: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ fa30: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d LITE_THREADSAFE= fa40: 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 0 -DSQLITE_OMIT_ fa50: 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d LOAD_EXTENSION - fa60: 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c Fe$@ \...$(TOP)\ fa70: 74 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 tool\showdb.c$(
fa80: 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20  SQLITE3C) /link
fa90: 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c  $(LDFLAGS)$(LTL
faa0: 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74  INKOPTS)..showst
fab0: 61 74 34 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  at4.exe:.$(TOP)\ fac0: 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 tool\showstat4.c fad0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53$(SQLITE3C) $(S fae0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 QLITE3H)..$(LTLI
faf0: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d  NK) $(NO_WARN) - fb00: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 DSQLITE_THREADSA fb10: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d FE=0 -DSQLITE_OM fb20: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f IT_LOAD_EXTENSIO fb30: 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f N -Fe$@ \...$(TO fb40: 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 P)\tool\showstat fb50: 34 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 4.c$(SQLITE3C)
fb60: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) fb70: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
fb80: 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a  showjournal.exe:
fb90: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f  .$(TOP)\tool\sho fba0: 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c wjournal.c$(SQL
fbb0: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 fbc0: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( fbd0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT fbe0: 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d E_THREADSAFE=0 - fbf0: 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 DSQLITE_OMIT_LOA fc00: 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 D_EXTENSION -Fe$
fc10: 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f  @ \...$(TOP)\too fc20: 6c 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 l\showjournal.c fc30: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
fc40: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
fc50: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77  TLINKOPTS)..show
fc60: 77 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c  wal.exe:.$(TOP)\ fc70: 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 tool\showwal.c$
fc80: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL fc90: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b ITE3H)..$(LTLINK
fca0: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS fcb0: 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 QLITE_THREADSAFE fcc0: 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 =0 -DSQLITE_OMIT fcd0: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 _LOAD_EXTENSION fce0: 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 -Fe$@ \...$(TOP) fcf0: 5c 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 \tool\showwal.c fd00: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
fd10: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
fd20: 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e  TLINKOPTS)..chan
fd30: 67 65 73 65 74 2e 65 78 65 3a 09 24 28 54 4f 50  geset.exe:.$(TOP fd40: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 )\ext\session\ch fd50: 61 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49 angeset.c$(SQLI
fd60: 54 45 33 43 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  TE3C)..$(LTLINK) fd70: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
fd80: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
fd90: 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  0 -DSQLITE_OMIT_
fda0: 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d  LOAD_EXTENSION -
fdb0: 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c  Fe$@ \...$(TOP)\
fdc0: 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e  ext\session\chan
fdd0: 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45  geset.c $(SQLITE fde0: 33 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 3C) /link$(LDFL
fdf0: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  AGS) $(LTLINKOPT fe00: 53 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65 S)..fts3view.exe fe10: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 :.$(TOP)\ext\fts
fe20: 33 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e  3\tool\fts3view.
fe30: 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  c $(SQLITE3C)$(
fe40: 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c  SQLITE3H)..$(LTL fe50: 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 INK)$(NO_WARN)
fe60: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
fe70: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f  AFE=0 -DSQLITE_O
fe80: 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
fe90: 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54  ON -Fe$@ \...$(T
fea0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f  OP)\ext\fts3\too
feb0: 6c 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53  l\fts3view.c $(S fec0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 QLITE3C) /link$
fed0: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI fee0: 4e 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63 NKOPTS)..rollbac fef0: 6b 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f k-test.exe:.$(TO
ff00: 50 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b  P)\tool\rollback
ff10: 2d 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45  -test.c $(SQLITE ff20: 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
ff30: 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
ff40: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54  WARN) -DSQLITE_T
ff50: 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51  HREADSAFE=0 -DSQ
ff60: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
ff70: 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c  XTENSION -Fe$@ \ ff80: 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 ...$(TOP)\tool\r
ff90: 6f 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24  ollback-test.c $ffa0: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b (SQLITE3C) /link ffb0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54$(LDFLAGS) $(LT ffc0: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 LINKOPTS)..LogEs ffd0: 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f t.exe:.$(TOP)\to
ffe0: 6f 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 28 53 51  ol\logest.c $(SQ fff0: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e LITE3H)..$(LTLIN
10000 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46  K) $(NO_WARN) -F 10010 65 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c e$@ $(TOP)\tool\ 10020 4c 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 LogEst.c /link$
10030 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI 10040 4e 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 NKOPTS)..wordcou 10050 6e 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 nt.exe:.$(TOP)\t
10060 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20  est\wordcount.c
10070 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51  $(SQLITE3C)$(SQ
10080 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e  LITE3H)..$(LTLIN 10090 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 K)$(NO_WARN) -D
100a0 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
100b0 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  E=0 -DSQLITE_OMI
100c0 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
100d0 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50   -Fe$@ \...$(TOP
100e0 29 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74  )\test\wordcount
100f0 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f  .c $(SQLITE3C) / 10100 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 link$(LDFLAGS)
10110 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73  $(LTLINKOPTS)..s 10120 70 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09 24 peedtest1.exe:.$
10130 28 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64  (TOP)\test\speed
10140 74 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45  test1.c $(SQLITE 10150 33 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 3C)$(SQLITE3H).
10160 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f  .$(LTLINK)$(NO_
10170 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 4f  WARN) -DSQLITE_O
10180 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49  MIT_LOAD_EXTENSI
10190 4f 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54  ON -Fe$@ \...$(T
101a0 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65  OP)\test\speedte
101b0 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43  st1.c $(SQLITE3C 101c0 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 ) /link$(LDFLAG
101d0 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29  S) $(LTLINKOPTS) 101e0 0a 0a 72 62 75 2e 65 78 65 3a 09 24 28 54 4f 50 ..rbu.exe:.$(TOP
101f0 29 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20  )\ext\rbu\rbu.c
10200 24 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73  $(TOP)\ext\rbu\s 10210 71 6c 69 74 65 33 72 62 75 2e 63 20 24 28 53 51 qlite3rbu.c$(SQ
10220 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45  LITE3C) $(SQLITE 10230 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 3H)..$(LTLINK) $10240 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 (NO_WARN) -DSQLI 10250 54 45 5f 45 4e 41 42 4c 45 5f 52 42 55 20 2d 46 TE_ENABLE_RBU -F 10260 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 e$@ \...$(TOP)\e 10270 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 xt\rbu\rbu.c$(S
10280 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $10290 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
102a0 4e 4b 4f 50 54 53 29 0a 0a 6d 6f 72 65 63 6c 65  NKOPTS)..morecle
102b0 61 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f  an:.clean..del /
102c0 51 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28  Q $(SQLITE3C)$(
102d0 53 51 4c 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a  SQLITE3H) 2>NUL.
102e0 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65  # <</mark>>..cle
102f0 61 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78  an:..del /Q *.ex
10300 70 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c  p *.lo *.ilk *.l
10310 69 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a  ib *.obj *.ncb *
10320 2e 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f  .pdb *.sdf *.suo
10330 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a   2>NUL..del /Q *
10340 2e 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64  .bsc *.def *.cod
10350 20 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67   *.da *.bb *.bbg
10360 20 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32   *.vc gmon.out 2
10370 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53  >NUL..del /Q $(S 10380 51 4c 49 54 45 33 45 58 45 29 20 24 28 53 51 4c QLITE3EXE)$(SQL
10390 49 54 45 33 44 4c 4c 29 20 52 65 70 6c 61 63 65  ITE3DLL) Replace
103a0 2e 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d  .exe 2>NUL.# <<m
103b0 61 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 73 71  ark>>..del /Q sq
103c0 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2e  lite3.c sqlite3.
103d0 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q
103e0 6f 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65  opcodes.c opcode
103f0 73 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  s.h 2>NUL..del /
10400 51 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72  Q lemon.* lempar
10410 2e 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c  .c parse.* 2>NUL
10420 0a 09 64 65 6c 20 2f 51 20 6d 6b 6b 65 79 77 6f  ..del /Q mkkeywo
10430 72 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64  rdhash.* keyword
10440 68 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65  hash.h 2>NUL..de
10450 6c 20 2f 51 20 6e 6f 74 61 73 68 61 72 65 64 6c  l /Q notasharedl
10460 69 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64  ib.* 2>NUL..-rmd
10470 69 72 20 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e  ir /Q/S .deps 2>
10480 4e 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53  NUL..-rmdir /Q/S
10490 20 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72   .libs 2>NUL..-r
104a0 6d 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32  mdir /Q/S tsrc 2
104b0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61  >NUL..del /Q .ta
104c0 72 67 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55  rget_source 2>NU
104d0 4c 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c  L..del /Q tclsql
104e0 69 74 65 33 2e 65 78 65 20 24 28 53 51 4c 49 54  ite3.exe $(SQLIT 104f0 45 54 43 4c 48 29 20 24 28 53 51 4c 49 54 45 54 ETCLH)$(SQLITET
10500 43 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55 4c 0a  CLDECLSH) 2>NUL.
10510 09 64 65 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64  .del /Q testload
10520 65 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64  ext.dll 2>NUL..d
10530 65 6c 20 2f 51 20 74 65 73 74 66 69 78 74 75 72  el /Q testfixtur
10540 65 2e 65 78 65 20 74 65 73 74 2e 64 62 20 32 3e  e.exe test.db 2>
10550 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45  NUL..del /Q LogE
10560 73 74 2e 65 78 65 20 66 74 73 33 76 69 65 77 2e  st.exe fts3view.
10570 65 78 65 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73  exe rollback-tes
10580 74 2e 65 78 65 20 73 68 6f 77 64 62 2e 65 78 65  t.exe showdb.exe
10590 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63   2>NUL..del /Q c
105a0 68 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e  hangeset.exe 2>N
105b0 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a  UL..del /Q showj
105c0 6f 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73  ournal.exe shows
105d0 74 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c  tat4.exe showwal
105e0 2e 65 78 65 20 73 70 65 65 64 74 65 73 74 31 2e  .exe speedtest1.
105f0 65 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  exe 2>NUL..del /
10600 51 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77  Q mptester.exe w
10610 6f 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75  ordcount.exe rbu
10620 2e 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20  .exe srcck1.exe
10630 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71  2>NUL..del /Q sq
10640 6c 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d  lite3.c sqlite3-
10650 2a 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f  *.c 2>NUL..del /
10660 51 20 73 71 6c 69 74 65 33 72 63 2e 68 20 32 3e  Q sqlite3rc.h 2>
10670 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65 6c  NUL..del /Q shel
10680 6c 2e 63 20 73 71 6c 69 74 65 33 65 78 74 2e 68  l.c sqlite3ext.h
10690 20 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e   sqlite3session.
106a0 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20  h 2>NUL..del /Q
106b0 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72  sqlite3_analyzer
106c0 2e 65 78 65 20 73 71 6c 69 74 65 33 5f 61 6e 61  .exe sqlite3_ana
106d0 6c 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09 64  lyzer.c 2>NUL..d
106e0 65 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d 6f  el /Q sqlite-*-o
106f0 75 74 70 75 74 2e 76 73 69 78 20 32 3e 4e 55 4c  utput.vsix 2>NUL
10700 0a 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72 73  ..del /Q fuzzers
10710 68 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68 65  hell.exe fuzzche
10720 63 6b 2e 65 78 65 20 73 71 6c 64 69 66 66 2e 65  ck.exe sqldiff.e
10730 78 65 20 64 62 68 61 73 68 2e 65 78 65 20 32 3e  xe dbhash.exe 2>
10740 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73 35  NUL..del /Q fts5
10750 2e 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20 32  .* fts5parse.* 2
10760 3e 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e  >NUL.# <</mark>>
10770 0a                                               .