/ Hex Artifact Content

## Artifact bb4d970894abbbe0e88d00aac29bd52af8bc95f4:

• File Makefile.msc — part of check-in [a71fad45] at 2016-11-14 18:27:41 on branch trunk — Enhance fuzzcheck.c to accept database-specific configuration parameters in the option CONFIG table. Add the fuzzdata5.db fuzz database containing test cases from OSS-FUZZ. (user: drh size: 67808) [more...]

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 3c 3c 6d 61 F.!ENDIF..# <<ma 1930: 72 6b 3e 3e 0a 23 20 54 68 65 73 65 20 61 72 65 rk>>.# These are 1940: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 the names of th 1950: 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 54 63 6c e customized Tcl 1960: 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 75 73 header files us 1970: 65 64 20 62 79 20 76 61 72 69 6f 75 73 20 70 61 ed by various pa 1980: 72 74 73 0a 23 20 6f 66 20 74 68 69 73 20 6d 61 rts.# of this ma 1990: 6b 65 66 69 6c 65 20 77 68 65 6e 20 74 68 65 20 kefile when the 19a0: 73 74 64 63 61 6c 6c 20 63 61 6c 6c 69 6e 67 20 stdcall calling 19b0: 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 69 6e convention is in 19c0: 20 75 73 65 2e 20 20 49 74 20 69 73 20 6e 6f 74 use. It is not 19d0: 0a 23 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 .# used for any 19e0: 6f 74 68 65 72 20 70 75 72 70 6f 73 65 2e 0a 23 other purpose..# 19f0: 0a 21 49 46 4e 44 45 46 20 53 51 4c 49 54 45 54 .!IFNDEF SQLITET 1a00: 43 4c 48 0a 53 51 4c 49 54 45 54 43 4c 48 20 3d CLH.SQLITETCLH = 1a10: 20 73 71 6c 69 74 65 5f 74 63 6c 2e 68 0a 21 45 sqlite_tcl.h.!E 1a20: 4e 44 49 46 0a 0a 21 49 46 4e 44 45 46 20 53 51 NDIF..!IFNDEF SQ 1a30: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 0a 53 51 LITETCLDECLSH.SQ 1a40: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 20 3d 20 LITETCLDECLSH = 1a50: 73 71 6c 69 74 65 5f 74 63 6c 44 65 63 6c 73 2e sqlite_tclDecls. 1a60: 68 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 h.!ENDIF..# Thes 1a70: 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 69 e are the additi 1a80: 6f 6e 61 6c 20 74 61 72 67 65 74 73 20 74 68 61 onal targets tha 1a90: 74 20 74 68 65 20 74 61 72 67 65 74 73 20 74 68 t the targets th 1aa0: 61 74 20 69 6e 74 65 67 72 61 74 65 20 77 69 74 at integrate wit 1ab0: 68 20 74 68 65 0a 23 20 54 63 6c 20 6c 69 62 72 h the.# Tcl libr 1ac0: 61 72 79 20 73 68 6f 75 6c 64 20 64 65 70 65 6e ary should depen 1ad0: 64 20 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 69 6c d on when compil 1ae0: 69 6e 67 2c 20 65 74 63 2e 0a 23 0a 21 49 46 4e ing, etc..#.!IFN 1af0: 44 45 46 20 53 51 4c 49 54 45 5f 54 43 4c 5f 44 DEF SQLITE_TCL_D 1b00: 45 50 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 EP.!IF$(USE_STD
1b10: 43 41 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f  CALL)!=0 || $(FO 1b20: 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 51 4c 49 R_WIN10)!=0.SQLI 1b30: 54 45 5f 54 43 4c 5f 44 45 50 20 3d 20 24 28 53 TE_TCL_DEP =$(S
1b40: 51 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 20  QLITETCLDECLSH)
1b50: 24 28 53 51 4c 49 54 45 54 43 4c 48 29 0a 21 45  $(SQLITETCLH).!E 1b60: 4c 53 45 0a 53 51 4c 49 54 45 5f 54 43 4c 5f 44 LSE.SQLITE_TCL_D 1b70: 45 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 EP =.!ENDIF.!END 1b80: 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a IF.# <</mark>>.. 1b90: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 # These are the 1ba0: 22 73 74 61 6e 64 61 72 64 22 20 53 51 4c 69 74 "standard" SQLit 1bb0: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 e compilation op 1bc0: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20 tions used when 1bd0: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 compiling for.# 1be0: 74 68 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 the Windows plat 1bf0: 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44 45 46 20 form..#.!IFNDEF 1c00: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 OPT_FEATURE_FLAG 1c10: 53 0a 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f S.!IF$(MINIMAL_
1c20: 41 4d 41 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30  AMALGAMATION)==0
1c30: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  .OPT_FEATURE_FLA
1c40: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55  GS = $(OPT_FEATU 1c50: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 RE_FLAGS) -DSQLI 1c60: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d 31 TE_ENABLE_FTS3=1 1c70: 0a 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 .OPT_FEATURE_FLA 1c80: 47 53 20 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 GS =$(OPT_FEATU
1c90: 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c 49  RE_FLAGS) -DSQLI
1ca0: 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 3d  TE_ENABLE_RTREE=
1cb0: 31 0a 21 45 4e 44 49 46 0a 4f 50 54 5f 46 45 41  1.!ENDIF.OPT_FEA
1cc0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 4f  TURE_FLAGS = $(O 1cd0: 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 PT_FEATURE_FLAGS 1ce0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c ) -DSQLITE_ENABL 1cf0: 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 E_COLUMN_METADAT 1d00: 41 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 53 68 A=1.!ENDIF..# Sh 1d10: 6f 75 6c 64 20 74 68 65 20 73 65 73 73 69 6f 6e ould the session 1d20: 20 65 78 74 65 6e 73 69 6f 6e 20 62 65 20 65 6e extension be en 1d30: 61 62 6c 65 64 3f 20 20 49 66 20 73 6f 2c 20 61 abled? If so, a 1d40: 64 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f dd compilation o 1d50: 70 74 69 6f 6e 73 0a 23 20 74 6f 20 65 6e 61 62 ptions.# to enab 1d60: 6c 65 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 53 le it..#.!IF$(S
1d70: 45 53 53 49 4f 4e 29 21 3d 30 0a 4f 50 54 5f 46  ESSION)!=0.OPT_F
1d80: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  EATURE_FLAGS = $1d90: 28 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (OPT_FEATURE_FLA 1da0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 GS) -DSQLITE_ENA 1db0: 42 4c 45 5f 53 45 53 53 49 4f 4e 3d 31 0a 4f 50 BLE_SESSION=1.OP 1dc0: 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 20 T_FEATURE_FLAGS 1dd0: 3d 20 24 28 4f 50 54 5f 46 45 41 54 55 52 45 5f =$(OPT_FEATURE_
1de0: 46 4c 41 47 53 29 20 2d 44 53 51 4c 49 54 45 5f  FLAGS) -DSQLITE_
1df0: 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
1e00: 5f 48 4f 4f 4b 3d 31 0a 21 45 4e 44 49 46 0a 0a  _HOOK=1.!ENDIF..
1e10: 23 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20  # These are the
1e20: 22 65 78 74 65 6e 64 65 64 22 20 53 51 4c 69 74  "extended" SQLit
1e30: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70  e compilation op
1e40: 74 69 6f 6e 73 20 75 73 65 64 20 77 68 65 6e 20  tions used when
1e50: 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20  compiling for.#
1e60: 74 68 65 20 57 69 6e 64 6f 77 73 20 31 30 20 70  the Windows 10 p
1e70: 6c 61 74 66 6f 72 6d 2e 0a 23 0a 21 49 46 4e 44  latform..#.!IFND
1e80: 45 46 20 45 58 54 5f 46 45 41 54 55 52 45 5f 46  EF EXT_FEATURE_F
1e90: 4c 41 47 53 0a 21 49 46 20 24 28 46 4f 52 5f 57  LAGS.!IF $(FOR_W 1ea0: 49 4e 31 30 29 21 3d 30 0a 45 58 54 5f 46 45 41 IN10)!=0.EXT_FEA 1eb0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45 TURE_FLAGS =$(E
1ec0: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53  XT_FEATURE_FLAGS
1ed0: 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ) -DSQLITE_ENABL
1ee0: 45 5f 46 54 53 34 3d 31 0a 45 58 54 5f 46 45 41  E_FTS4=1.EXT_FEA
1ef0: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 45  TURE_FLAGS = $(E 1f00: 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 XT_FEATURE_FLAGS 1f10: 29 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 54 45 ) -DSQLITE_SYSTE 1f20: 4d 5f 4d 41 4c 4c 4f 43 3d 31 0a 45 58 54 5f 46 M_MALLOC=1.EXT_F 1f30: 45 41 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 EATURE_FLAGS =$
1f40: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41  (EXT_FEATURE_FLA
1f50: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  GS) -DSQLITE_OMI
1f60: 54 5f 4c 4f 43 41 4c 54 49 4d 45 3d 31 0a 21 45  T_LOCALTIME=1.!E
1f70: 4c 53 45 0a 45 58 54 5f 46 45 41 54 55 52 45 5f  LSE.EXT_FEATURE_
1f80: 46 4c 41 47 53 20 3d 0a 21 45 4e 44 49 46 0a 21  FLAGS =.!ENDIF.!
1f90: 45 4e 44 49 46 0a 0a 23 23 23 23 23 23 23 23 23  ENDIF..#########
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 23  ################
1fd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fe0: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
1ff0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2000: 23 23 23 23 23 23 20 45 4e 44 20 4f 46 20 4f 50  ###### END OF OP
2010: 54 49 4f 4e 53 20 23 23 23 23 23 23 23 23 23 23  TIONS ##########
2020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2030: 23 23 23 23 23 23 0a 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 23  ################
2070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2080: 23 23 23 23 23 23 0a 0a 23 20 57 68 65 6e 20 63  ######..# When c
2090: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65  ompiling for the
20a0: 20 57 69 6e 64 6f 77 73 20 31 30 20 70 6c 61 74   Windows 10 plat
20b0: 66 6f 72 6d 2c 20 74 68 65 20 50 4c 41 54 46 4f  form, the PLATFO
20c0: 52 4d 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65  RM macro must be
20d0: 20 73 65 74 0a 23 20 74 6f 20 61 6e 20 61 70 70   set.# to an app
20e0: 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 28  ropriate value (
20f0: 65 2e 67 2e 20 78 38 36 2c 20 78 36 34 2c 20 61  e.g. x86, x64, a
2100: 72 6d 2c 20 61 72 6d 36 34 2c 20 65 74 63 29 2e  rm, arm64, etc).
2110: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN 2120: 31 30 29 21 3d 30 0a 21 49 46 4e 44 45 46 20 50 10)!=0.!IFNDEF P 2130: 4c 41 54 46 4f 52 4d 0a 21 45 52 52 4f 52 20 55 LATFORM.!ERROR U 2140: 73 69 6e 67 20 74 68 65 20 46 4f 52 5f 57 49 4e sing the FOR_WIN 2150: 31 30 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 10 option requir 2160: 65 73 20 61 20 76 61 6c 75 65 20 66 6f 72 20 50 es a value for P 2170: 4c 41 54 46 4f 52 4d 2e 0a 21 45 4e 44 49 46 0a LATFORM..!ENDIF. 2180: 21 45 4e 44 49 46 0a 0a 23 20 54 68 69 73 20 61 !ENDIF..# This a 2190: 73 73 75 6d 65 73 20 74 68 61 74 20 4d 53 56 43 ssumes that MSVC 21a0: 20 69 73 20 61 6c 77 61 79 73 20 69 6e 73 74 61 is always insta 21b0: 6c 6c 65 64 20 69 6e 20 33 32 2d 62 69 74 20 50 lled in 32-bit P 21c0: 72 6f 67 72 61 6d 20 46 69 6c 65 73 20 64 69 72 rogram Files dir 21d0: 65 63 74 6f 72 79 0a 23 20 61 6e 64 20 73 65 74 ectory.# and set 21e0: 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 66 s the variable f 21f0: 6f 72 20 75 73 65 20 69 6e 20 6c 6f 63 61 74 69 or use in locati 2200: 6e 67 20 6f 74 68 65 72 20 33 32 2d 62 69 74 20 ng other 32-bit 2210: 69 6e 73 74 61 6c 6c 73 20 61 63 63 6f 72 64 69 installs accordi 2220: 6e 67 6c 79 2e 0a 23 0a 50 52 4f 47 52 41 4d 46 ngly..#.PROGRAMF 2230: 49 4c 45 53 5f 58 38 36 20 3d 20 24 28 56 43 49 ILES_X86 =$(VCI
2240: 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c 2e 2e  NSTALLDIR)\..\..
2250: 0a 50 52 4f 47 52 41 4d 46 49 4c 45 53 5f 58 38  .PROGRAMFILES_X8
2260: 36 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c  6 = $(PROGRAMFIL 2270: 45 53 5f 58 38 36 3a 5c 5c 3d 5c 29 0a 0a 23 20 ES_X86:\\=\)..# 2280: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 Check for the pr 2290: 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d 61 6e 64 edefined command 22a0: 20 6d 61 63 72 6f 20 43 43 2e 20 20 54 68 69 73 macro CC. This 22b0: 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f should point to 22c0: 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 23 20 the compiler.# 22d0: 62 69 6e 61 72 79 20 66 6f 72 20 74 68 65 20 74 binary for the t 22e0: 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 arget platform. 22f0: 20 49 66 20 69 74 20 69 73 20 6e 6f 74 20 64 65 If it is not de 2300: 66 69 6e 65 64 2c 20 73 69 6d 70 6c 79 20 64 65 fined, simply de 2310: 66 69 6e 65 20 69 74 20 74 6f 0a 23 20 74 68 65 fine it to.# the 2320: 20 6c 65 67 61 63 79 20 64 65 66 61 75 6c 74 20 legacy default 2330: 76 61 6c 75 65 20 27 63 6c 2e 65 78 65 27 2e 0a value 'cl.exe'.. 2340: 23 0a 21 49 46 4e 44 45 46 20 43 43 0a 43 43 20 #.!IFNDEF CC.CC 2350: 3d 20 63 6c 2e 65 78 65 0a 21 45 4e 44 49 46 0a = cl.exe.!ENDIF. 2360: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 .# Check for the 2370: 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6d 6d predefined comm 2380: 61 6e 64 20 6d 61 63 72 6f 20 43 53 43 2e 20 20 and macro CSC. 2390: 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f 69 6e This should poin 23a0: 74 20 74 6f 20 61 20 77 6f 72 6b 69 6e 67 0a 23 t to a working.# 23b0: 20 43 20 53 68 61 72 70 20 63 6f 6d 70 69 6c 65 C Sharp compile 23c0: 72 20 62 69 6e 61 72 79 2e 20 20 49 66 20 69 74 r binary. If it 23d0: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c is not defined, 23e0: 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 20 69 simply define i 23f0: 74 20 74 6f 20 74 68 65 0a 23 20 6c 65 67 61 63 t to the.# legac 2400: 79 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 y default value 2410: 27 63 73 63 2e 65 78 65 27 2e 0a 23 0a 21 49 46 'csc.exe'..#.!IF 2420: 4e 44 45 46 20 43 53 43 0a 43 53 43 20 3d 20 63 NDEF CSC.CSC = c 2430: 73 63 2e 65 78 65 0a 21 45 4e 44 49 46 0a 0a 23 sc.exe.!ENDIF..# 2440: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 Check for the c 2450: 6f 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4c 44 2e ommand macro LD. 2460: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f This should po 2470: 69 6e 74 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 int to the linke 2480: 72 20 62 69 6e 61 72 79 20 66 6f 72 0a 23 20 74 r binary for.# t 2490: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f he target platfo 24a0: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f rm. If it is no 24b0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c t defined, simpl 24c0: 79 20 64 65 66 69 6e 65 20 69 74 20 74 6f 20 74 y define it to t 24d0: 68 65 20 6c 65 67 61 63 79 0a 23 20 64 65 66 61 he legacy.# defa 24e0: 75 6c 74 20 76 61 6c 75 65 20 27 6c 69 6e 6b 2e ult value 'link. 24f0: 65 78 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 exe'..#.!IFNDEF 2500: 4c 44 0a 4c 44 20 3d 20 6c 69 6e 6b 2e 65 78 65 LD.LD = link.exe 2510: 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 63 6b .!ENDIF..# Check 2520: 20 66 6f 72 20 74 68 65 20 70 72 65 64 65 66 69 for the predefi 2530: 6e 65 64 20 63 6f 6d 6d 61 6e 64 20 6d 61 63 72 ned command macr 2540: 6f 20 52 43 2e 20 20 54 68 69 73 20 73 68 6f 75 o RC. This shou 2550: 6c 64 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 ld point to the 2560: 72 65 73 6f 75 72 63 65 0a 23 20 63 6f 6d 70 69 resource.# compi 2570: 6c 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 ler binary for t 2580: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f he target platfo 2590: 72 6d 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f rm. If it is no 25a0: 74 20 64 65 66 69 6e 65 64 2c 20 73 69 6d 70 6c t defined, simpl 25b0: 79 20 64 65 66 69 6e 65 0a 23 20 69 74 20 74 6f y define.# it to 25c0: 20 74 68 65 20 6c 65 67 61 63 79 20 64 65 66 61 the legacy defa 25d0: 75 6c 74 20 76 61 6c 75 65 20 27 72 63 2e 65 78 ult value 'rc.ex 25e0: 65 27 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52 43 e'..#.!IFNDEF RC 25f0: 0a 52 43 20 3d 20 72 63 2e 65 78 65 0a 21 45 4e .RC = rc.exe.!EN 2600: 44 49 46 0a 0a 23 20 43 68 65 63 6b 20 66 6f 72 DIF..# Check for 2610: 20 74 68 65 20 4d 53 56 43 20 72 75 6e 74 69 6d the MSVC runtim 2620: 65 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d e library path m 2630: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 acro. Otherwise 2640: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c , this value wil 2650: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 l.# default to t 2660: 68 65 20 27 6c 69 62 27 20 64 69 72 65 63 74 6f he 'lib' directo 2670: 72 79 20 75 6e 64 65 72 6e 65 61 74 68 20 74 68 ry underneath th 2680: 65 20 4d 53 56 43 20 69 6e 73 74 61 6c 6c 61 74 e MSVC installat 2690: 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 ion directory..# 26a0: 0a 21 49 46 4e 44 45 46 20 43 52 54 4c 49 42 50 .!IFNDEF CRTLIBP 26b0: 41 54 48 0a 43 52 54 4c 49 42 50 41 54 48 20 3d ATH.CRTLIBPATH = 26c0: 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 29$(VCINSTALLDIR)
26d0: 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 43 52 54  \lib.!ENDIF..CRT
26e0: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL 26f0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 IBPATH:\\=\)..# 2700: 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 63 6f Check for the co 2710: 6d 6d 61 6e 64 20 6d 61 63 72 6f 20 4e 43 43 2e mmand macro NCC. 2720: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 6f This should po 2730: 69 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 int to the compi 2740: 6c 65 72 20 62 69 6e 61 72 79 0a 23 20 66 6f 72 ler binary.# for 2750: 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 the platform th 2760: 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 e compilation pr 2770: 6f 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 ocess is taking 2780: 70 6c 61 63 65 20 6f 6e 2e 20 20 49 66 20 69 74 place on. If it 2790: 20 69 73 20 6e 6f 74 0a 23 20 64 65 66 69 6e 65 is not.# define 27a0: 64 2c 20 73 69 6d 70 6c 79 20 64 65 66 69 6e 65 d, simply define 27b0: 20 69 74 20 74 6f 20 68 61 76 65 20 74 68 65 20 it to have the 27c0: 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68 same value as th 27d0: 65 20 43 43 20 6d 61 63 72 6f 2e 20 20 57 68 65 e CC macro. Whe 27e0: 6e 0a 23 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c n.# cross-compil 27f0: 69 6e 67 2c 20 69 74 20 69 73 20 73 75 67 67 65 ing, it is sugge 2800: 73 74 65 64 20 74 68 61 74 20 74 68 69 73 20 6d sted that this m 2810: 61 63 72 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 acro be modified 2820: 20 76 69 61 20 74 68 65 20 63 6f 6d 6d 61 6e 64 via the command 2830: 0a 23 20 6c 69 6e 65 20 28 73 69 6e 63 65 20 6e .# line (since n 2840: 6d 61 6b 65 20 69 74 73 65 6c 66 20 64 6f 65 73 make itself does 2850: 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 61 20 62 not provide a b 2860: 75 69 6c 74 2d 69 6e 20 6d 65 74 68 6f 64 20 74 uilt-in method t 2870: 6f 20 67 75 65 73 73 20 69 74 29 2e 0a 23 20 46 o guess it)..# F 2880: 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 75 or example, to u 2890: 73 65 20 74 68 65 20 78 38 36 20 63 6f 6d 70 69 se the x86 compi 28a0: 6c 65 72 20 77 68 65 6e 20 63 72 6f 73 73 2d 63 ler when cross-c 28b0: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 78 36 34 ompiling for x64 28c0: 2c 20 61 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 , a command.# li 28d0: 6e 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 ne similar to th 28e0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 75 6c e following coul 28f0: 64 20 62 65 20 75 73 65 64 20 28 61 6c 6c 20 6f d be used (all o 2900: 6e 20 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 n one line):.#.# 2910: 20 20 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 nmake /f Ma 2920: 6b 65 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 kefile.msc sqlit 2930: 65 33 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 e3.dll.# 2940: 20 20 20 58 43 4f 4d 50 49 4c 45 3d 31 20 55 53 XCOMPILE=1 US 2950: 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 41 54 48 E_NATIVE_LIBPATH 2960: 53 3d 31 0a 23 0a 23 20 41 6c 74 65 72 6e 61 74 S=1.#.# Alternat 2970: 69 76 65 6c 79 2c 20 74 68 65 20 66 75 6c 6c 20 ively, the full 2980: 70 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e 61 path and file na 2990: 6d 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c me to the compil 29a0: 65 72 20 62 69 6e 61 72 79 20 66 6f 72 20 74 68 er binary for th 29b0: 65 0a 23 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 e.# platform the 29c0: 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f compilation pro 29d0: 63 65 73 73 20 69 73 20 74 61 6b 69 6e 67 20 70 cess is taking p 29e0: 6c 61 63 65 20 6d 61 79 20 62 65 20 73 70 65 63 lace may be spec 29f0: 69 66 69 65 64 20 28 61 6c 6c 20 6f 6e 0a 23 20 ified (all on.# 2a00: 6f 6e 65 20 6c 69 6e 65 29 3a 0a 23 0a 23 20 20 one line):.#.# 2a10: 20 20 20 6e 6d 61 6b 65 20 2f 66 20 4d 61 6b 65 nmake /f Make 2a20: 66 69 6c 65 2e 6d 73 63 20 73 71 6c 69 74 65 33 file.msc sqlite3 2a30: 2e 64 6c 6c 0a 23 20 20 20 20 20 20 20 20 20 20 .dll.# 2a40: 20 22 4e 43 43 3d 22 22 25 56 43 49 4e 53 54 41 "NCC=""%VCINSTA 2a50: 4c 4c 44 49 52 25 5c 62 69 6e 5c 63 6c 2e 65 78 LLDIR%\bin\cl.ex 2a60: 65 22 22 22 0a 23 20 20 20 20 20 20 20 20 20 20 e""".# 2a70: 20 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49 42 50 USE_NATIVE_LIBP 2a80: 41 54 48 53 3d 31 0a 23 0a 21 49 46 44 45 46 20 ATHS=1.#.!IFDEF 2a90: 4e 43 43 0a 4e 43 43 20 3d 20 24 28 4e 43 43 3a NCC.NCC =$(NCC:
2aa0: 5c 5c 3d 5c 29 0a 21 45 4c 53 45 49 46 20 24 28  \\=\).!ELSEIF $( 2ab0: 58 43 4f 4d 50 49 4c 45 29 21 3d 30 0a 4e 43 43 XCOMPILE)!=0.NCC 2ac0: 20 3d 20 22 24 28 56 43 49 4e 53 54 41 4c 4c 44 = "$(VCINSTALLD
2ad0: 49 52 29 5c 62 69 6e 5c 24 28 43 43 29 22 0a 4e  IR)\bin\$(CC)".N 2ae0: 43 43 20 3d 20 24 28 4e 43 43 3a 5c 5c 3d 5c 29 CC =$(NCC:\\=\)
2af0: 0a 21 45 4c 53 45 0a 4e 43 43 20 3d 20 24 28 43  .!ELSE.NCC = $(C 2b00: 43 29 0a 21 45 4e 44 49 46 0a 0a 23 20 43 68 65 C).!ENDIF..# Che 2b10: 63 6b 20 66 6f 72 20 74 68 65 20 4d 53 56 43 20 ck for the MSVC 2b20: 6e 61 74 69 76 65 20 72 75 6e 74 69 6d 65 20 6c native runtime l 2b30: 69 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 ibrary path macr 2b40: 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 23 o. Otherwise,.# 2b50: 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c 6c this value will 2b60: 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 default to the 2b70: 27 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 'lib' directory 2b80: 75 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 4d underneath the M 2b90: 53 56 43 0a 23 20 69 6e 73 74 61 6c 6c 61 74 69 SVC.# installati 2ba0: 6f 6e 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a on directory..#. 2bb0: 21 49 46 4e 44 45 46 20 4e 43 52 54 4c 49 42 50 !IFNDEF NCRTLIBP 2bc0: 41 54 48 0a 4e 43 52 54 4c 49 42 50 41 54 48 20 ATH.NCRTLIBPATH 2bd0: 3d 20 24 28 56 43 49 4e 53 54 41 4c 4c 44 49 52 =$(VCINSTALLDIR
2be0: 29 5c 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 4e 43  )\lib.!ENDIF..NC
2bf0: 52 54 4c 49 42 50 41 54 48 20 3d 20 24 28 4e 43  RTLIBPATH = $(NC 2c00: 52 54 4c 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a RTLIBPATH:\\=\). 2c10: 0a 23 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 .# Check for the 2c20: 20 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 6c 69 Platform SDK li 2c30: 62 72 61 72 79 20 70 61 74 68 20 6d 61 63 72 6f brary path macro 2c40: 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 . Otherwise, th 2c50: 69 73 0a 23 20 76 61 6c 75 65 20 77 69 6c 6c 20 is.# value will 2c60: 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 27 default to the ' 2c70: 6c 69 62 27 20 64 69 72 65 63 74 6f 72 79 20 75 lib' directory u 2c80: 6e 64 65 72 6e 65 61 74 68 20 74 68 65 20 57 69 nderneath the Wi 2c90: 6e 64 6f 77 73 0a 23 20 53 44 4b 20 69 6e 73 74 ndows.# SDK inst 2ca0: 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f allation directo 2cb0: 72 79 20 28 74 68 65 20 65 6e 76 69 72 6f 6e 6d ry (the environm 2cc0: 65 6e 74 20 76 61 72 69 61 62 6c 65 20 75 73 65 ent variable use 2cd0: 64 20 61 70 70 65 61 72 73 0a 23 20 74 6f 20 62 d appears.# to b 2ce0: 65 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e e available when 2cf0: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 43 2b using Visual C+ 2d00: 2b 20 32 30 30 38 20 6f 72 20 6c 61 74 65 72 20 + 2008 or later 2d10: 76 69 61 20 74 68 65 0a 23 20 63 6f 6d 6d 61 6e via the.# comman 2d20: 64 20 6c 69 6e 65 29 2e 0a 23 0a 21 49 46 4e 44 d line)..#.!IFND 2d30: 45 46 20 4e 53 44 4b 4c 49 42 50 41 54 48 0a 4e EF NSDKLIBPATH.N 2d40: 53 44 4b 4c 49 42 50 41 54 48 20 3d 20 24 28 57 SDKLIBPATH =$(W
2d50: 49 4e 44 4f 57 53 53 44 4b 44 49 52 29 5c 6c 69  INDOWSSDKDIR)\li
2d60: 62 0a 21 45 4e 44 49 46 0a 0a 4e 53 44 4b 4c 49  b.!ENDIF..NSDKLI
2d70: 42 50 41 54 48 20 3d 20 24 28 4e 53 44 4b 4c 49  BPATH = $(NSDKLI 2d80: 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 BPATH:\\=\)..# C 2d90: 68 65 63 6b 20 66 6f 72 20 74 68 65 20 55 43 52 heck for the UCR 2da0: 54 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 6d T library path m 2db0: 61 63 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 acro. Otherwise 2dc0: 2c 20 74 68 69 73 20 76 61 6c 75 65 20 77 69 6c , this value wil 2dd0: 6c 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20 74 l.# default to t 2de0: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 he version-speci 2df0: 66 69 63 2c 20 70 6c 61 74 66 6f 72 6d 2d 73 70 fic, platform-sp 2e00: 65 63 69 66 69 63 20 27 6c 69 62 27 20 64 69 72 ecific 'lib' dir 2e10: 65 63 74 6f 72 79 0a 23 20 75 6e 64 65 72 6e 65 ectory.# underne 2e20: 61 74 68 20 74 68 65 20 57 69 6e 64 6f 77 73 20 ath the Windows 2e30: 53 44 4b 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e SDK installation 2e40: 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 21 49 directory..#.!I 2e50: 46 4e 44 45 46 20 55 43 52 54 4c 49 42 50 41 54 FNDEF UCRTLIBPAT 2e60: 48 0a 55 43 52 54 4c 49 42 50 41 54 48 20 3d 20 H.UCRTLIBPATH = 2e70: 24 28 57 49 4e 44 4f 57 53 53 44 4b 44 49 52 29$(WINDOWSSDKDIR)
2e80: 5c 6c 69 62 5c 24 28 57 49 4e 44 4f 57 53 53 44  \lib\$(WINDOWSSD 2e90: 4b 4c 49 42 56 45 52 53 49 4f 4e 29 5c 75 63 72 KLIBVERSION)\ucr 2ea0: 74 5c 24 28 50 4c 41 54 46 4f 52 4d 29 0a 21 45 t\$(PLATFORM).!E
2eb0: 4e 44 49 46 0a 0a 55 43 52 54 4c 49 42 50 41 54  NDIF..UCRTLIBPAT
2ec0: 48 20 3d 20 24 28 55 43 52 54 4c 49 42 50 41 54  H = $(UCRTLIBPAT 2ed0: 48 3a 5c 5c 3d 5c 29 0a 0a 23 20 43 20 63 6f 6d H:\\=\)..# C com 2ee0: 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e piler and option 2ef0: 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 s for use in bui 2f00: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 lding executable 2f10: 73 20 74 68 61 74 0a 23 20 77 69 6c 6c 20 72 75 s that.# will ru 2f20: 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 n on the platfor 2f30: 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67 20 m that is doing 2f40: 74 68 65 20 62 75 69 6c 64 2e 0a 23 0a 21 49 46 the build..#.!IF 2f50: 20 24 28 55 53 45 5f 46 55 4c 4c 57 41 52 4e 29$(USE_FULLWARN)
2f60: 21 3d 30 0a 42 43 43 20 3d 20 24 28 4e 43 43 29  !=0.BCC = $(NCC) 2f70: 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 34 20 24 28 43 -nologo -W4$(C
2f80: 43 4f 50 54 53 29 20 24 28 42 43 43 4f 50 54 53  COPTS) $(BCCOPTS 2f90: 29 0a 21 45 4c 53 45 0a 42 43 43 20 3d 20 24 28 ).!ELSE.BCC =$(
2fa0: 4e 43 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 57 33  NCC) -nologo -W3
2fb0: 20 24 28 43 43 4f 50 54 53 29 20 24 28 42 43 43   $(CCOPTS)$(BCC
2fc0: 4f 50 54 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20  OPTS).!ENDIF..#
2fd0: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
2fe0: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings
2ff0: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
3000: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
3010: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files
3020: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
3030: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST 3040: 49 4e 47 53 29 21 3d 30 0a 42 43 43 20 3d 20 24 INGS)!=0.BCC =$
3050: 28 42 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (BCC) -FAcs.!END
3060: 49 46 0a 0a 23 20 43 68 65 63 6b 20 69 66 20 74  IF..# Check if t
3070: 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72  he native librar
3080: 79 20 70 61 74 68 73 20 73 68 6f 75 6c 64 20 62  y paths should b
3090: 65 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d 70  e used when comp
30a0: 69 6c 69 6e 67 0a 23 20 74 68 65 20 63 6f 6d 6d  iling.# the comm
30b0: 61 6e 64 20 6c 69 6e 65 20 74 6f 6f 6c 73 20 75  and line tools u
30c0: 73 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63  sed during the c
30d0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 63 65  ompilation proce
30e0: 73 73 2e 20 20 49 66 0a 23 20 73 6f 2c 20 73 65  ss.  If.# so, se
30f0: 74 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  t the necessary
3100: 6d 61 63 72 6f 20 6e 6f 77 2e 0a 23 0a 21 49 46  macro now..#.!IF
3110: 20 24 28 55 53 45 5f 4e 41 54 49 56 45 5f 4c 49   $(USE_NATIVE_LI 3120: 42 50 41 54 48 53 29 21 3d 30 0a 4e 4c 54 4c 49 BPATHS)!=0.NLTLI 3130: 42 50 41 54 48 53 20 3d 20 22 2f 4c 49 42 50 41 BPATHS = "/LIBPA 3140: 54 48 3a 24 28 4e 43 52 54 4c 49 42 50 41 54 48 TH:$(NCRTLIBPATH
3150: 29 22 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e  )" "/LIBPATH:$(N 3160: 53 44 4b 4c 49 42 50 41 54 48 29 22 0a 0a 21 49 SDKLIBPATH)"..!I 3170: 46 44 45 46 20 4e 55 43 52 54 4c 49 42 50 41 54 FDEF NUCRTLIBPAT 3180: 48 0a 4e 55 43 52 54 4c 49 42 50 41 54 48 20 3d H.NUCRTLIBPATH = 3190: 20 24 28 4e 55 43 52 54 4c 49 42 50 41 54 48 3a$(NUCRTLIBPATH:
31a0: 5c 5c 3d 5c 29 0a 4e 4c 54 4c 49 42 50 41 54 48  \\=\).NLTLIBPATH
31b0: 53 20 3d 20 24 28 4e 4c 54 4c 49 42 50 41 54 48  S = $(NLTLIBPATH 31c0: 53 29 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 4e S) "/LIBPATH:$(N
31d0: 55 43 52 54 4c 49 42 50 41 54 48 29 22 0a 21 45  UCRTLIBPATH)".!E
31e0: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 43  NDIF.!ENDIF..# C
31f0: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   compiler and op
3200: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
3210: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
3220: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 77 69 6c  ables that.# wil
3230: 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72  l run on the tar
3240: 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 28  get platform.  (
3250: 42 43 43 20 61 6e 64 20 54 43 43 20 61 72 65 20  BCC and TCC are
3260: 75 73 75 61 6c 6c 79 20 74 68 65 0a 23 20 73 61  usually the.# sa
3270: 6d 65 20 75 6e 6c 65 73 73 20 79 6f 75 72 20 61  me unless your a
3280: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
3290: 6e 67 2e 29 0a 23 0a 21 49 46 20 24 28 55 53 45  ng.).#.!IF $(USE 32a0: 5f 46 55 4c 4c 57 41 52 4e 29 21 3d 30 0a 54 43 _FULLWARN)!=0.TC 32b0: 43 20 3d 20 24 28 43 43 29 20 2d 6e 6f 6c 6f 67 C =$(CC) -nolog
32c0: 6f 20 2d 57 34 20 2d 44 49 4e 43 4c 55 44 45 5f  o -W4 -DINCLUDE_
32d0: 4d 53 56 43 5f 48 3d 31 20 24 28 43 43 4f 50 54  MSVC_H=1 $(CCOPT 32e0: 53 29 20 24 28 54 43 43 4f 50 54 53 29 0a 21 45 S)$(TCCOPTS).!E
32f0: 4c 53 45 0a 54 43 43 20 3d 20 24 28 43 43 29 20  LSE.TCC = $(CC) 3300: 2d 6e 6f 6c 6f 67 6f 20 2d 57 33 20 24 28 43 43 -nologo -W3$(CC
3310: 4f 50 54 53 29 20 24 28 54 43 43 4f 50 54 53 29  OPTS) $(TCCOPTS) 3320: 0a 21 45 4e 44 49 46 0a 0a 54 43 43 20 3d 20 24 .!ENDIF..TCC =$
3330: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f  (TCC) -DSQLITE_O
3340: 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 2d 49 24 28  S_WIN=1 -I. -I$( 3350: 54 4f 50 29 20 2d 49 24 28 54 4f 50 29 5c 73 72 TOP) -I$(TOP)\sr
3360: 63 20 2d 66 70 3a 70 72 65 63 69 73 65 0a 52 43  c -fp:precise.RC
3370: 43 20 3d 20 24 28 52 43 29 20 2d 44 53 51 4c 49  C = $(RC) -DSQLI 3380: 54 45 5f 4f 53 5f 57 49 4e 3d 31 20 2d 49 2e 20 TE_OS_WIN=1 -I. 3390: 2d 49 24 28 54 4f 50 29 20 2d 49 24 28 54 4f 50 -I$(TOP) -I$(TOP 33a0: 29 5c 73 72 63 20 24 28 52 43 4f 50 54 53 29 20 )\src$(RCOPTS)
33b0: 24 28 52 43 43 4f 50 54 53 29 0a 0a 23 20 43 68  $(RCCOPTS)..# Ch 33c0: 65 63 6b 20 69 66 20 77 65 20 77 61 6e 74 20 74 eck if we want t 33d0: 6f 20 75 73 65 20 74 68 65 20 22 73 74 64 63 61 o use the "stdca 33e0: 6c 6c 22 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 ll" calling conv 33f0: 65 6e 74 69 6f 6e 20 77 68 65 6e 20 63 6f 6d 70 ention when comp 3400: 69 6c 69 6e 67 2e 0a 23 20 54 68 69 73 20 69 73 iling..# This is 3410: 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 not supported b 3420: 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 73 20 y the compilers 3430: 66 6f 72 20 6e 6f 6e 2d 78 38 36 20 70 6c 61 74 for non-x86 plat 3440: 66 6f 72 6d 73 2e 20 20 49 74 20 73 68 6f 75 6c forms. It shoul 3450: 64 0a 23 20 61 6c 73 6f 20 62 65 20 6e 6f 74 65 d.# also be note 3460: 64 20 68 65 72 65 20 74 68 61 74 20 62 75 69 6c d here that buil 3470: 64 69 6e 67 20 61 6e 79 20 74 61 72 67 65 74 20 ding any target 3480: 77 69 74 68 20 74 68 65 73 65 20 22 73 74 64 63 with these "stdc 3490: 61 6c 6c 22 20 6f 70 74 69 6f 6e 73 0a 23 20 77 all" options.# w 34a0: 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 ill most likely 34b0: 66 61 69 6c 20 69 66 20 74 68 65 20 54 63 6c 20 fail if the Tcl 34c0: 6c 69 62 72 61 72 79 20 69 73 20 61 6c 73 6f 20 library is also 34d0: 72 65 71 75 69 72 65 64 2e 20 20 54 68 69 73 20 required. This 34e0: 69 73 20 64 75 65 0a 23 20 74 6f 20 68 6f 77 20 is due.# to how 34f0: 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 20 the Tcl library 3500: 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65 functions are de 3510: 63 6c 61 72 65 64 20 61 6e 64 20 65 78 70 6f 72 clared and expor 3520: 74 65 64 20 28 69 2e 65 2e 20 77 69 74 68 6f 75 ted (i.e. withou 3530: 74 0a 23 20 61 6e 20 65 78 70 6c 69 63 69 74 20 t.# an explicit 3540: 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 calling conventi 3550: 6f 6e 2c 20 77 68 69 63 68 20 72 65 73 75 6c 74 on, which result 3560: 73 20 69 6e 20 22 63 64 65 63 6c 22 29 2e 0a 23 s in "cdecl")..# 3570: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 .!IF$(USE_STDCA
3580: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f  LL)!=0 || $(FOR_ 3590: 57 49 4e 31 30 29 21 3d 30 0a 21 49 46 20 22 24 WIN10)!=0.!IF "$
35a0: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 38  (PLATFORM)"=="x8
35b0: 36 22 0a 43 4f 52 45 5f 43 43 4f 4e 56 5f 4f 50  6".CORE_CCONV_OP
35c0: 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54  TS = -Gz -DSQLIT
35d0: 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20  E_CDECL=__cdecl
35e0: 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c  -DSQLITE_APICALL
35f0: 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c  =__stdcall -DSQL
3600: 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73  ITE_CALLBACK=__s
3610: 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f  tdcall -DSQLITE_
3620: 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c  SYSAPI=__stdcall
3630: 0a 53 48 45 4c 4c 5f 43 43 4f 4e 56 5f 4f 50 54  .SHELL_CCONV_OPT
3640: 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c 49 54 45  S = -Gz -DSQLITE
3650: 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63 6c 20 2d  _CDECL=__cdecl -
3660: 44 53 51 4c 49 54 45 5f 41 50 49 43 41 4c 4c 3d  DSQLITE_APICALL=
3670: 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49  __stdcall -DSQLI
3680: 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f 5f 73 74  TE_CALLBACK=__st
3690: 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 53  dcall -DSQLITE_S
36a0: 59 53 41 50 49 3d 5f 5f 73 74 64 63 61 6c 6c 0a  YSAPI=__stdcall.
36b0: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f  # <<mark>>.TEST_
36c0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47 7a  CCONV_OPTS = -Gz
36d0: 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c 3d   -DSQLITE_CDECL=
36e0: 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54 45  __cdecl -DSQLITE
36f0: 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63 61  _APICALL=__stdca
3700: 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c 4c  ll -DSQLITE_CALL
3710: 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d  BACK=__stdcall -
3720: 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d 5f  DSQLITE_SYSAPI=_
3730: 5f 73 74 64 63 61 6c 6c 20 2d 44 49 4e 43 4c 55  _stdcall -DINCLU
3740: 44 45 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 3d  DE_SQLITE_TCL_H=
3750: 31 20 2d 44 53 51 4c 49 54 45 5f 54 43 4c 41 50  1 -DSQLITE_TCLAP
3760: 49 3d 5f 5f 63 64 65 63 6c 0a 23 20 3c 3c 2f 6d  I=__cdecl.# <</m
3770: 61 72 6b 3e 3e 0a 21 45 4c 53 45 0a 21 49 46 4e  ark>>.!ELSE.!IFN
3780: 44 45 46 20 50 4c 41 54 46 4f 52 4d 0a 43 4f 52  DEF PLATFORM.COR
3790: 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d  E_CCONV_OPTS = -
37a0: 47 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43  Gz -DSQLITE_CDEC
37b0: 4c 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49  L=__cdecl -DSQLI
37c0: 54 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64  TE_APICALL=__std
37d0: 63 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41  call -DSQLITE_CA
37e0: 4c 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c  LLBACK=__stdcall
37f0: 20 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49   -DSQLITE_SYSAPI
3800: 3d 5f 5f 73 74 64 63 61 6c 6c 0a 53 48 45 4c 4c  =__stdcall.SHELL
3810: 5f 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 20 2d 47  _CCONV_OPTS = -G
3820: 7a 20 2d 44 53 51 4c 49 54 45 5f 43 44 45 43 4c  z -DSQLITE_CDECL
3830: 3d 5f 5f 63 64 65 63 6c 20 2d 44 53 51 4c 49 54  =__cdecl -DSQLIT
3840: 45 5f 41 50 49 43 41 4c 4c 3d 5f 5f 73 74 64 63  E_APICALL=__stdc
3850: 61 6c 6c 20 2d 44 53 51 4c 49 54 45 5f 43 41 4c  all -DSQLITE_CAL
3860: 4c 42 41 43 4b 3d 5f 5f 73 74 64 63 61 6c 6c 20  LBACK=__stdcall
3870: 2d 44 53 51 4c 49 54 45 5f 53 59 53 41 50 49 3d  -DSQLITE_SYSAPI=
3880: 5f 5f 73 74 64 63 61 6c 6c 0a 23 20 3c 3c 6d 61  __stdcall.# <<ma
3890: 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56 5f  rk>>.TEST_CCONV_
38a0: 4f 50 54 53 20 3d 20 2d 47 7a 20 2d 44 53 51 4c  OPTS = -Gz -DSQL
38b0: 49 54 45 5f 43 44 45 43 4c 3d 5f 5f 63 64 65 63  ITE_CDECL=__cdec
38c0: 6c 20 2d 44 53 51 4c 49 54 45 5f 41 50 49 43 41  l -DSQLITE_APICA
38d0: 4c 4c 3d 5f 5f 73 74 64 63 61 6c 6c 20 2d 44 53  LL=__stdcall -DS
38e0: 51 4c 49 54 45 5f 43 41 4c 4c 42 41 43 4b 3d 5f  QLITE_CALLBACK=_
38f0: 5f 73 74 64 63 61 6c 6c 20 2d 44 53 51 4c 49 54  _stdcall -DSQLIT
3900: 45 5f 53 59 53 41 50 49 3d 5f 5f 73 74 64 63 61  E_SYSAPI=__stdca
3910: 6c 6c 20 2d 44 49 4e 43 4c 55 44 45 5f 53 51 4c  ll -DINCLUDE_SQL
3920: 49 54 45 5f 54 43 4c 5f 48 3d 31 20 2d 44 53 51  ITE_TCL_H=1 -DSQ
3930: 4c 49 54 45 5f 54 43 4c 41 50 49 3d 5f 5f 63 64  LITE_TCLAPI=__cd
3940: 65 63 6c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  ecl.# <</mark>>.
3950: 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f 4e 56  !ELSE.CORE_CCONV
3960: 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f 43 43  _OPTS =.SHELL_CC
3970: 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 6d  ONV_OPTS =.# <<m
3980: 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f 4e 56  ark>>.TEST_CCONV
3990: 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d 61 72  _OPTS =.# <</mar
39a0: 6b 3e 3e 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  k>>.!ENDIF.!ENDI
39b0: 46 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 43 4f  F.!ELSE.CORE_CCO
39c0: 4e 56 5f 4f 50 54 53 20 3d 0a 53 48 45 4c 4c 5f  NV_OPTS =.SHELL_
39d0: 43 43 4f 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c  CCONV_OPTS =.# <
39e0: 3c 6d 61 72 6b 3e 3e 0a 54 45 53 54 5f 43 43 4f  <mark>>.TEST_CCO
39f0: 4e 56 5f 4f 50 54 53 20 3d 0a 23 20 3c 3c 2f 6d  NV_OPTS =.# <</m
3a00: 61 72 6b 3e 3e 0a 21 45 4e 44 49 46 0a 0a 23 20  ark>>.!ENDIF..#
3a10: 54 68 65 73 65 20 61 72 65 20 61 64 64 69 74 69  These are additi
3a20: 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6f 70  onal compiler op
3a30: 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74  tions used for t
3a40: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 2e  he core library.
3a50: 0a 23 0a 21 49 46 4e 44 45 46 20 43 4f 52 45 5f  .#.!IFNDEF CORE_
3a60: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 0a 21 49 46  COMPILE_OPTS.!IF
3a70: 20 24 28 44 59 4e 41 4d 49 43 5f 53 48 45 4c 4c   $(DYNAMIC_SHELL 3a80: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 )!=0 ||$(FOR_WI
3a90: 4e 31 30 29 21 3d 30 0a 43 4f 52 45 5f 43 4f 4d  N10)!=0.CORE_COM
3aa0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f  PILE_OPTS = $(CO 3ab0: 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d RE_CCONV_OPTS) - 3ac0: 44 53 51 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 DSQLITE_API=__de 3ad0: 63 6c 73 70 65 63 28 64 6c 6c 65 78 70 6f 72 74 clspec(dllexport 3ae0: 29 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 43 4f 4d ).!ELSE.CORE_COM 3af0: 50 49 4c 45 5f 4f 50 54 53 20 3d 20 24 28 43 4f PILE_OPTS =$(CO
3b00: 52 45 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21  RE_CCONV_OPTS).!
3b10: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
3b20: 54 68 65 73 65 20 61 72 65 20 74 68 65 20 61 64  These are the ad
3b30: 64 69 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 73  ditional targets
3b40: 20 74 68 61 74 20 74 68 65 20 63 6f 72 65 20 6c   that the core l
3b50: 69 62 72 61 72 79 20 73 68 6f 75 6c 64 20 64 65  ibrary should de
3b60: 70 65 6e 64 20 6f 6e 0a 23 20 77 68 65 6e 20 6c  pend on.# when l
3b70: 69 6e 6b 69 6e 67 2e 0a 23 0a 21 49 46 4e 44 45  inking..#.!IFNDE
3b80: 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 44 45 50 0a  F CORE_LINK_DEP.
3b90: 21 49 46 20 24 28 44 59 4e 41 4d 49 43 5f 53 48  !IF $(DYNAMIC_SH 3ba0: 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f 4c 49 4e ELL)!=0.CORE_LIN 3bb0: 4b 5f 44 45 50 20 3d 0a 21 45 4c 53 45 49 46 20 K_DEP =.!ELSEIF 3bc0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30 20$(FOR_WIN10)==0
3bd0: 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  || "$(PLATFORM)" 3be0: 3d 3d 22 78 38 36 22 0a 43 4f 52 45 5f 4c 49 4e =="x86".CORE_LIN 3bf0: 4b 5f 44 45 50 20 3d 20 73 71 6c 69 74 65 33 2e K_DEP = sqlite3. 3c00: 64 65 66 0a 21 45 4c 53 45 0a 43 4f 52 45 5f 4c def.!ELSE.CORE_L 3c10: 49 4e 4b 5f 44 45 50 20 3d 0a 21 45 4e 44 49 46 INK_DEP =.!ENDIF 3c20: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 73 65 .!ENDIF..# These 3c30: 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 are additional 3c40: 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e 73 20 75 linker options u 3c50: 73 65 64 20 66 6f 72 20 74 68 65 20 63 6f 72 65 sed for the core 3c60: 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4e library..#.!IFN 3c70: 44 45 46 20 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50 DEF CORE_LINK_OP 3c80: 54 53 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 TS.!IF$(DYNAMIC
3c90: 5f 53 48 45 4c 4c 29 21 3d 30 0a 43 4f 52 45 5f  _SHELL)!=0.CORE_
3ca0: 4c 49 4e 4b 5f 4f 50 54 53 20 3d 0a 21 45 4c 53  LINK_OPTS =.!ELS
3cb0: 45 49 46 20 24 28 46 4f 52 5f 57 49 4e 31 30 29  EIF $(FOR_WIN10) 3cc0: 3d 3d 30 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f ==0 || "$(PLATFO
3cd0: 52 4d 29 22 3d 3d 22 78 38 36 22 0a 43 4f 52 45  RM)"=="x86".CORE
3ce0: 5f 4c 49 4e 4b 5f 4f 50 54 53 20 3d 20 2f 44 45  _LINK_OPTS = /DE
3cf0: 46 3a 73 71 6c 69 74 65 33 2e 64 65 66 0a 21 45  F:sqlite3.def.!E
3d00: 4c 53 45 0a 43 4f 52 45 5f 4c 49 4e 4b 5f 4f 50  LSE.CORE_LINK_OP
3d10: 54 53 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44  TS =.!ENDIF.!END
3d20: 49 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20  IF..# These are
3d30: 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69  additional compi
3d40: 6c 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64  ler options used
3d50: 20 66 6f 72 20 74 68 65 20 73 68 65 6c 6c 20 65   for the shell e
3d60: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46  xecutable..#.!IF
3d70: 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 4d 50 49  NDEF SHELL_COMPI
3d80: 4c 45 5f 4f 50 54 53 0a 21 49 46 20 24 28 44 59  LE_OPTS.!IF $(DY 3d90: 4e 41 4d 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 NAMIC_SHELL)!=0 3da0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 ||$(FOR_WIN10)!
3db0: 3d 30 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45  =0.SHELL_COMPILE
3dc0: 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f  _OPTS = $(SHELL_ 3dd0: 43 43 4f 4e 56 5f 4f 50 54 53 29 20 2d 44 53 51 CCONV_OPTS) -DSQ 3de0: 4c 49 54 45 5f 41 50 49 3d 5f 5f 64 65 63 6c 73 LITE_API=__decls 3df0: 70 65 63 28 64 6c 6c 69 6d 70 6f 72 74 29 0a 21 pec(dllimport).! 3e00: 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 ELSE.SHELL_COMPI 3e10: 4c 45 5f 4f 50 54 53 20 3d 20 24 28 53 48 45 4c LE_OPTS =$(SHEL
3e20: 4c 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 21 45  L_CCONV_OPTS).!E
3e30: 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20 54  NDIF.!ENDIF..# T
3e40: 68 69 73 20 69 73 20 74 68 65 20 73 6f 75 72 63  his is the sourc
3e50: 65 20 63 6f 64 65 20 74 68 61 74 20 74 68 65 20  e code that the
3e60: 73 68 65 6c 6c 20 65 78 65 63 75 74 61 62 6c 65  shell executable
3e70: 20 73 68 6f 75 6c 64 20 62 65 20 63 6f 6d 70 69   should be compi
3e80: 6c 65 64 0a 23 20 77 69 74 68 2e 0a 23 0a 21 49  led.# with..#.!I
3e90: 46 4e 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45  FNDEF SHELL_CORE
3ea0: 5f 53 52 43 0a 21 49 46 20 24 28 44 59 4e 41 4d  _SRC.!IF $(DYNAM 3eb0: 49 43 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 IC_SHELL)!=0 || 3ec0: 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a$(FOR_WIN10)!=0.
3ed0: 53 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 20 3d  SHELL_CORE_SRC =
3ee0: 0a 21 45 4c 53 45 0a 53 48 45 4c 4c 5f 43 4f 52  .!ELSE.SHELL_COR
3ef0: 45 5f 53 52 43 20 3d 20 24 28 53 51 4c 49 54 45  E_SRC = $(SQLITE 3f00: 33 43 29 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 3C).!ENDIF.!ENDI 3f10: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65 F..# This is the 3f20: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68 core library th 3f30: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 at the shell exe 3f40: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 64 cutable should d 3f50: 65 70 65 6e 64 20 6f 6e 2e 0a 23 0a 21 49 46 4e epend on..#.!IFN 3f60: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 DEF SHELL_CORE_D 3f70: 45 50 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43 EP.!IF$(DYNAMIC
3f80: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28  _SHELL)!=0 || $( 3f90: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48 FOR_WIN10)!=0.SH 3fa0: 45 4c 4c 5f 43 4f 52 45 5f 44 45 50 20 3d 20 24 ELL_CORE_DEP =$
3fb0: 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 21 45 4c  (SQLITE3DLL).!EL
3fc0: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 44 45  SE.SHELL_CORE_DE
3fd0: 50 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  P =.!ENDIF.!ENDI
3fe0: 46 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 65  F..# This is the
3ff0: 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 74 68   core library th
4000: 61 74 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65  at the shell exe
4010: 63 75 74 61 62 6c 65 20 73 68 6f 75 6c 64 20 6c  cutable should l
4020: 69 6e 6b 20 77 69 74 68 2e 0a 23 0a 21 49 46 4e  ink with..#.!IFN
4030: 44 45 46 20 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c  DEF SHELL_CORE_L
4040: 49 42 0a 21 49 46 20 24 28 44 59 4e 41 4d 49 43  IB.!IF $(DYNAMIC 4050: 5f 53 48 45 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 _SHELL)!=0 ||$(
4060: 46 4f 52 5f 57 49 4e 31 30 29 21 3d 30 0a 53 48  FOR_WIN10)!=0.SH
4070: 45 4c 4c 5f 43 4f 52 45 5f 4c 49 42 20 3d 20 24  ELL_CORE_LIB = $4080: 28 53 51 4c 49 54 45 33 4c 49 42 29 0a 21 45 4c (SQLITE3LIB).!EL 4090: 53 45 0a 53 48 45 4c 4c 5f 43 4f 52 45 5f 4c 49 SE.SHELL_CORE_LI 40a0: 42 20 3d 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 B =.!ENDIF.!ENDI 40b0: 46 0a 0a 23 20 54 68 65 73 65 20 61 72 65 20 61 F..# These are a 40c0: 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 65 72 dditional linker 40d0: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 66 6f options used fo 40e0: 72 20 74 68 65 20 73 68 65 6c 6c 20 65 78 65 63 r the shell exec 40f0: 75 74 61 62 6c 65 2e 0a 23 0a 21 49 46 4e 44 45 utable..#.!IFNDE 4100: 46 20 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 F SHELL_LINK_OPT 4110: 53 0a 53 48 45 4c 4c 5f 4c 49 4e 4b 5f 4f 50 54 S.SHELL_LINK_OPT 4120: 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f 52 45 S =$(SHELL_CORE
4130: 5f 4c 49 42 29 0a 21 45 4e 44 49 46 0a 0a 23 20  _LIB).!ENDIF..#
4140: 43 68 65 63 6b 20 69 66 20 61 73 73 65 6d 62 6c  Check if assembl
4150: 79 20 63 6f 64 65 20 6c 69 73 74 69 6e 67 73 20  y code listings
4160: 73 68 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61  should be genera
4170: 74 65 64 20 66 6f 72 20 74 68 65 20 73 6f 75 72  ted for the sour
4180: 63 65 0a 23 20 63 6f 64 65 20 66 69 6c 65 73 20  ce.# code files
4190: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 65 64 2e 0a  to be compiled..
41a0: 23 0a 21 49 46 20 24 28 55 53 45 5f 4c 49 53 54  #.!IF $(USE_LIST 41b0: 49 4e 47 53 29 21 3d 30 0a 54 43 43 20 3d 20 24 INGS)!=0.TCC =$
41c0: 28 54 43 43 29 20 2d 46 41 63 73 0a 21 45 4e 44  (TCC) -FAcs.!END
41d0: 49 46 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69  IF..# When compi
41e0: 6c 69 6e 67 20 74 68 65 20 6c 69 62 72 61 72 79  ling the library
41f0: 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 65 20   for use in the
4200: 57 69 6e 52 54 20 65 6e 76 69 72 6f 6e 6d 65 6e  WinRT environmen
4210: 74 2c 0a 23 20 74 68 65 20 66 6f 6c 6c 6f 77 69  t,.# the followi
4220: 6e 67 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20  ng compile-time
4230: 6f 70 74 69 6f 6e 73 20 6d 75 73 74 20 62 65 20  options must be
4240: 75 73 65 64 20 61 73 20 77 65 6c 6c 20 74 6f 0a  used as well to.
4250: 23 20 64 69 73 61 62 6c 65 20 75 73 65 20 6f 66  # disable use of
4260: 20 57 69 6e 33 32 20 41 50 49 73 20 74 68 61 74   Win32 APIs that
4270: 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c 61 62   are not availab
4280: 6c 65 20 61 6e 64 20 74 6f 20 65 6e 61 62 6c 65  le and to enable
4290: 0a 23 20 75 73 65 20 6f 66 20 57 69 6e 33 32 20  .# use of Win32
42a0: 41 50 49 73 20 74 68 61 74 20 61 72 65 20 73 70  APIs that are sp
42b0: 65 63 69 66 69 63 20 74 6f 20 57 69 6e 64 6f 77  ecific to Window
42c0: 73 20 38 20 61 6e 64 2f 6f 72 20 57 69 6e 52 54  s 8 and/or WinRT
42d0: 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49  ..#.!IF $(FOR_WI 42e0: 4e 52 54 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 NRT)!=0.TCC =$(
42f0: 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f 53  TCC) -DSQLITE_OS
4300: 5f 57 49 4e 52 54 3d 31 0a 52 43 43 20 3d 20 24  _WINRT=1.RCC = $4310: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 4f (RCC) -DSQLITE_O 4320: 53 5f 57 49 4e 52 54 3d 31 0a 54 43 43 20 3d 20 S_WINRT=1.TCC = 4330: 24 28 54 43 43 29 20 2d 44 57 49 4e 41 50 49 5f$(TCC) -DWINAPI_
4340: 46 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41  FAMILY=WINAPI_FA
4350: 4d 49 4c 59 5f 41 50 50 0a 52 43 43 20 3d 20 24  MILY_APP.RCC = $4360: 28 52 43 43 29 20 2d 44 57 49 4e 41 50 49 5f 46 (RCC) -DWINAPI_F 4370: 41 4d 49 4c 59 3d 57 49 4e 41 50 49 5f 46 41 4d AMILY=WINAPI_FAM 4380: 49 4c 59 5f 41 50 50 0a 21 45 4e 44 49 46 0a 0a ILY_APP.!ENDIF.. 4390: 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 # C compiler opt 43a0: 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 57 69 6e ions for the Win 43b0: 64 6f 77 73 20 31 30 20 70 6c 61 74 66 6f 72 6d dows 10 platform 43c0: 20 28 6e 65 65 64 73 20 4d 53 56 43 20 32 30 31 (needs MSVC 201 43d0: 35 29 2e 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 5)..#.!IF$(FOR_
43e0: 57 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20  WIN10)!=0.TCC =
43f0: 24 28 54 43 43 29 20 2f 64 32 67 75 61 72 64 34  $(TCC) /d2guard4 4400: 20 2d 44 5f 41 52 4d 5f 57 49 4e 41 50 49 5f 50 -D_ARM_WINAPI_P 4410: 41 52 54 49 54 49 4f 4e 5f 44 45 53 4b 54 4f 50 ARTITION_DESKTOP 4420: 5f 53 44 4b 5f 41 56 41 49 4c 41 42 4c 45 0a 42 _SDK_AVAILABLE.B 4430: 43 43 20 3d 20 24 28 42 43 43 29 20 2f 64 32 67 CC =$(BCC) /d2g
4440: 75 61 72 64 34 20 2d 44 5f 41 52 4d 5f 57 49 4e  uard4 -D_ARM_WIN
4450: 41 50 49 5f 50 41 52 54 49 54 49 4f 4e 5f 44 45  API_PARTITION_DE
4460: 53 4b 54 4f 50 5f 53 44 4b 5f 41 56 41 49 4c 41  SKTOP_SDK_AVAILA
4470: 42 4c 45 0a 21 45 4e 44 49 46 0a 0a 23 20 41 6c  BLE.!ENDIF..# Al
4480: 73 6f 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 64  so, we need to d
4490: 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 20  ynamically link
44a0: 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74 20 4d  to the correct M
44b0: 53 56 43 20 72 75 6e 74 69 6d 65 0a 23 20 77 68  SVC runtime.# wh
44c0: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72  en compiling for
44d0: 20 57 69 6e 52 54 20 28 65 2e 67 2e 20 64 65 62   WinRT (e.g. deb
44e0: 75 67 20 6f 72 20 72 65 6c 65 61 73 65 29 20 4f  ug or release) O
44f0: 52 20 69 66 20 74 68 65 0a 23 20 55 53 45 5f 43  R if the.# USE_C
4500: 52 54 5f 44 4c 4c 20 6f 70 74 69 6f 6e 20 69 73  RT_DLL option is
4510: 20 73 65 74 20 74 6f 20 66 6f 72 63 65 20 64 79   set to force dy
4520: 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 69 6e  namically linkin
4530: 67 20 74 6f 20 74 68 65 0a 23 20 4d 53 56 43 20  g to the.# MSVC
4540: 72 75 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 2e  runtime library.
4550: 0a 23 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e  .#.!IF $(FOR_WIN 4560: 52 54 29 21 3d 30 20 7c 7c 20 24 28 55 53 45 5f RT)!=0 ||$(USE_
4570: 43 52 54 5f 44 4c 4c 29 21 3d 30 0a 21 49 46 20  CRT_DLL)!=0.!IF
4580: 24 28 44 45 42 55 47 29 3e 31 0a 54 43 43 20 3d  $(DEBUG)>1.TCC = 4590: 20 24 28 54 43 43 29 20 2d 4d 44 64 0a 42 43 43$(TCC) -MDd.BCC
45a0: 20 3d 20 24 28 42 43 43 29 20 2d 4d 44 64 0a 21   = $(BCC) -MDd.! 45b0: 45 4c 53 45 0a 54 43 43 20 3d 20 24 28 54 43 43 ELSE.TCC =$(TCC
45c0: 29 20 2d 4d 44 0a 42 43 43 20 3d 20 24 28 42 43  ) -MD.BCC = $(BC 45d0: 43 29 20 2d 4d 44 0a 21 45 4e 44 49 46 0a 21 45 C) -MD.!ENDIF.!E 45e0: 4c 53 45 0a 21 49 46 20 24 28 44 45 42 55 47 29 LSE.!IF$(DEBUG)
45f0: 3e 31 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  >1.TCC = $(TCC) 4600: 2d 4d 54 64 0a 42 43 43 20 3d 20 24 28 42 43 43 -MTd.BCC =$(BCC
4610: 29 20 2d 4d 54 64 0a 21 45 4c 53 45 0a 54 43 43  ) -MTd.!ELSE.TCC
4620: 20 3d 20 24 28 54 43 43 29 20 2d 4d 54 0a 42 43   = $(TCC) -MT.BC 4630: 43 20 3d 20 24 28 42 43 43 29 20 2d 4d 54 0a 21 C =$(BCC) -MT.!
4640: 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 0a 23 20  ENDIF.!ENDIF..#
4650: 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 54 68 65 20 6d  <<mark>>.# The m
4660: 6b 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 61 6e  ksqlite3c.tcl an
4670: 64 20 6d 6b 73 71 6c 69 74 65 33 68 2e 74 63 6c  d mksqlite3h.tcl
4680: 20 73 63 72 69 70 74 73 20 77 69 6c 6c 20 70 75   scripts will pu
4690: 6c 6c 20 69 6e 0a 23 20 61 6e 79 20 65 78 74 65  ll in.# any exte
46a0: 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 69 6c  nsion header fil
46b0: 65 73 20 62 79 20 64 65 66 61 75 6c 74 2e 20 20  es by default.
46c0: 46 6f 72 20 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61  For non-amalgama
46d0: 74 69 6f 6e 0a 23 20 62 75 69 6c 64 73 2c 20 77  tion.# builds, w
46e0: 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 73  e need to make s
46f0: 75 72 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72  ure the compiler
4700: 20 63 61 6e 20 66 69 6e 64 20 74 68 65 73 65 2e   can find these.
4710: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41  .#.!IF $(USE_AMA 4720: 4c 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 43 LGAMATION)==0.TC 4730: 43 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 C =$(TCC) -I$(T 4740: 4f 50 29 5c 65 78 74 5c 66 74 73 33 0a 52 43 43 OP)\ext\fts3.RCC 4750: 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f =$(RCC) -I$(TO 4760: 50 29 5c 65 78 74 5c 66 74 73 33 0a 54 43 43 20 P)\ext\fts3.TCC 4770: 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 =$(TCC) -I$(TOP 4780: 29 5c 65 78 74 5c 72 74 72 65 65 0a 52 43 43 20 )\ext\rtree.RCC 4790: 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 =$(RCC) -I$(TOP 47a0: 29 5c 65 78 74 5c 72 74 72 65 65 0a 54 43 43 20 )\ext\rtree.TCC 47b0: 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f 50 =$(TCC) -I$(TOP 47c0: 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a 52 43 )\ext\session.RC 47d0: 43 20 3d 20 24 28 52 43 43 29 20 2d 49 24 28 54 C =$(RCC) -I$(T 47e0: 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e 0a OP)\ext\session. 47f0: 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6d 6b !ENDIF..# The mk 4800: 73 71 6c 69 74 65 33 63 2e 74 63 6c 20 73 63 72 sqlite3c.tcl scr 4810: 69 70 74 20 61 63 63 65 70 74 73 20 73 6f 6d 65 ipt accepts some 4820: 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 options on the 4830: 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 2e 20 command.# line. 4840: 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 When compiling 4850: 77 69 74 68 20 64 65 62 75 67 67 69 6e 67 20 65 with debugging e 4860: 6e 61 62 6c 65 64 2c 20 73 6f 6d 65 20 6f 66 20 nabled, some of 4870: 74 68 65 73 65 0a 23 20 6f 70 74 69 6f 6e 73 20 these.# options 4880: 61 72 65 20 6e 65 63 65 73 73 61 72 79 20 69 6e are necessary in 4890: 20 6f 72 64 65 72 20 74 6f 20 61 6c 6c 6f 77 20 order to allow 48a0: 64 65 62 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c debugging symbol 48b0: 73 20 74 6f 0a 23 20 77 6f 72 6b 20 63 6f 72 72 s to.# work corr 48c0: 65 63 74 6c 79 20 77 69 74 68 20 56 69 73 75 61 ectly with Visua 48d0: 6c 20 53 74 75 64 69 6f 20 77 68 65 6e 20 75 73 l Studio when us 48e0: 69 6e 67 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 ing the amalgama 48f0: 74 69 6f 6e 2e 0a 23 0a 21 49 46 4e 44 45 46 20 tion..#.!IFNDEF 4900: 4d 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 0a MKSQLITE3C_TOOL. 4910: 21 49 46 20 24 28 4d 49 4e 49 4d 41 4c 5f 41 4d !IF$(MINIMAL_AM
4920: 41 4c 47 41 4d 41 54 49 4f 4e 29 21 3d 30 0a 4d  ALGAMATION)!=0.M
4930: 4b 53 51 4c 49 54 45 33 43 5f 54 4f 4f 4c 20 3d  KSQLITE3C_TOOL =
4940: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 73   $(TOP)\tool\mks 4950: 71 6c 69 74 65 33 63 2d 6e 6f 65 78 74 2e 74 63 qlite3c-noext.tc 4960: 6c 0a 21 45 4c 53 45 0a 4d 4b 53 51 4c 49 54 45 l.!ELSE.MKSQLITE 4970: 33 43 5f 54 4f 4f 4c 20 3d 20 24 28 54 4f 50 29 3C_TOOL =$(TOP)
4980: 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 63  \tool\mksqlite3c
4990: 2e 74 63 6c 0a 21 45 4e 44 49 46 0a 21 45 4e 44  .tcl.!ENDIF.!END
49a0: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4d 4b 53 51  IF..!IFNDEF MKSQ
49b0: 4c 49 54 45 33 43 5f 41 52 47 53 0a 21 49 46 20  LITE3C_ARGS.!IF
49c0: 24 28 44 45 42 55 47 29 3e 31 0a 4d 4b 53 51 4c  $(DEBUG)>1.MKSQL 49d0: 49 54 45 33 43 5f 41 52 47 53 20 3d 20 2d 2d 6c ITE3C_ARGS = --l 49e0: 69 6e 65 6d 61 63 72 6f 73 0a 21 45 4c 53 45 0a inemacros.!ELSE. 49f0: 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 53 20 MKSQLITE3C_ARGS 4a00: 3d 0a 21 45 4e 44 49 46 0a 21 49 46 20 24 28 55 =.!ENDIF.!IF$(U
4a10: 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30 20 7c  SE_STDCALL)!=0 |
4a20: 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21 3d  | $(FOR_WIN10)!= 4a30: 30 0a 4d 4b 53 51 4c 49 54 45 33 43 5f 41 52 47 0.MKSQLITE3C_ARG 4a40: 53 20 3d 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 S =$(MKSQLITE3C
4a50: 5f 41 52 47 53 29 20 2d 2d 75 73 65 61 70 69 63  _ARGS) --useapic
4a60: 61 6c 6c 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49  all.!ENDIF.!ENDI
4a70: 46 0a 0a 23 20 54 68 65 20 6d 6b 73 71 6c 69 74  F..# The mksqlit
4a80: 65 33 68 2e 74 63 6c 20 73 63 72 69 70 74 20 61  e3h.tcl script a
4a90: 63 63 65 70 74 73 20 73 6f 6d 65 20 6f 70 74 69  ccepts some opti
4aa0: 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61  ons on the comma
4ab0: 6e 64 20 6c 69 6e 65 2e 0a 23 20 57 68 65 6e 20  nd line..# When
4ac0: 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20 73  compiling with s
4ad0: 74 64 63 61 6c 6c 20 73 75 70 70 6f 72 74 2c 20  tdcall support,
4ae0: 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 20 6f 70  some of these op
4af0: 74 69 6f 6e 73 20 61 72 65 0a 23 20 6e 65 63 65  tions are.# nece
4b00: 73 73 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46  ssary..#.!IFNDEF
4b10: 20 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53   MKSQLITE3H_ARGS
4b20: 0a 21 49 46 20 24 28 55 53 45 5f 53 54 44 43 41  .!IF $(USE_STDCA 4b30: 4c 4c 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f LL)!=0 ||$(FOR_
4b40: 57 49 4e 31 30 29 21 3d 30 0a 4d 4b 53 51 4c 49  WIN10)!=0.MKSQLI
4b50: 54 45 33 48 5f 41 52 47 53 20 3d 20 2d 2d 75 73  TE3H_ARGS = --us
4b60: 65 61 70 69 63 61 6c 6c 0a 21 45 4c 53 45 0a 4d  eapicall.!ELSE.M
4b70: 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53 20 3d  KSQLITE3H_ARGS =
4b80: 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a 23  .!ENDIF.!ENDIF.#
4b90: 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 44 65   <</mark>>..# De
4ba0: 66 69 6e 65 20 2d 44 4e 44 45 42 55 47 20 74 6f  fine -DNDEBUG to
4bb0: 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 6f 75 74   compile without
4bc0: 20 64 65 62 75 67 67 69 6e 67 20 28 69 2e 65 2e   debugging (i.e.
4bd0: 2c 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e  , for production
4be0: 20 75 73 61 67 65 29 0a 23 20 4f 6d 69 74 74 69   usage).# Omitti
4bf0: 6e 67 20 74 68 65 20 64 65 66 69 6e 65 20 77 69  ng the define wi
4c00: 6c 6c 20 63 61 75 73 65 20 65 78 74 72 61 20 64  ll cause extra d
4c10: 65 62 75 67 67 69 6e 67 20 63 6f 64 65 20 74 6f  ebugging code to
4c20: 20 62 65 20 69 6e 73 65 72 74 65 64 20 61 6e 64   be inserted and
4c30: 0a 23 20 69 6e 63 6c 75 64 65 73 20 65 78 74 72  .# includes extr
4c40: 61 20 63 6f 6d 6d 65 6e 74 73 20 77 68 65 6e 20  a comments when
4c50: 22 45 58 50 4c 41 49 4e 20 73 74 6d 74 22 20 69  "EXPLAIN stmt" i
4c60: 73 20 75 73 65 64 2e 0a 23 0a 21 49 46 20 24 28  s used..#.!IF $( 4c70: 44 45 42 55 47 29 3d 3d 30 0a 54 43 43 20 3d 20 DEBUG)==0.TCC = 4c80: 24 28 54 43 43 29 20 2d 44 4e 44 45 42 55 47 0a$(TCC) -DNDEBUG.
4c90: 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 44 4e  BCC = $(BCC) -DN 4ca0: 44 45 42 55 47 0a 52 43 43 20 3d 20 24 28 52 43 DEBUG.RCC =$(RC
4cb0: 43 29 20 2d 44 4e 44 45 42 55 47 0a 21 45 4e 44  C) -DNDEBUG.!END
4cc0: 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29  IF..!IF $(DEBUG) 4cd0: 3e 30 20 7c 7c 20 24 28 41 50 49 5f 41 52 4d 4f >0 ||$(API_ARMO
4ce0: 52 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57  R)!=0 || $(FOR_W 4cf0: 49 4e 31 30 29 21 3d 30 0a 54 43 43 20 3d 20 24 IN10)!=0.TCC =$
4d00: 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45  (TCC) -DSQLITE_E
4d10: 4e 41 42 4c 45 5f 41 50 49 5f 41 52 4d 4f 52 3d  NABLE_API_ARMOR=
4d20: 31 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d  1.RCC = $(RCC) - 4d30: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41 DSQLITE_ENABLE_A 4d40: 50 49 5f 41 52 4d 4f 52 3d 31 0a 21 45 4e 44 49 PI_ARMOR=1.!ENDI 4d50: 46 0a 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e F..!IF$(DEBUG)>
4d60: 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  2.TCC = $(TCC) - 4d70: 44 53 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a DSQLITE_DEBUG=1. 4d80: 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 RCC =$(RCC) -DS
4d90: 51 4c 49 54 45 5f 44 45 42 55 47 3d 31 0a 21 45  QLITE_DEBUG=1.!E
4da0: 4e 44 49 46 0a 0a 21 49 46 20 24 28 44 45 42 55  NDIF..!IF $(DEBU 4db0: 47 29 3e 34 20 7c 7c 20 24 28 4f 53 54 52 41 43 G)>4 ||$(OSTRAC
4dc0: 45 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 43  E)!=0.TCC = $(TC 4dd0: 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52 43 C) -DSQLITE_FORC 4de0: 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44 53 E_OS_TRACE=1 -DS 4df0: 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f 54 QLITE_DEBUG_OS_T 4e00: 52 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 RACE=1.RCC =$(R
4e10: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 46 4f 52  CC) -DSQLITE_FOR
4e20: 43 45 5f 4f 53 5f 54 52 41 43 45 3d 31 20 2d 44  CE_OS_TRACE=1 -D
4e30: 53 51 4c 49 54 45 5f 44 45 42 55 47 5f 4f 53 5f  SQLITE_DEBUG_OS_
4e40: 54 52 41 43 45 3d 31 0a 21 45 4e 44 49 46 0a 0a  TRACE=1.!ENDIF..
4e50: 21 49 46 20 24 28 44 45 42 55 47 29 3e 35 0a 54  !IF $(DEBUG)>5.T 4e60: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51 CC =$(TCC) -DSQ
4e70: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49 4f 54 52  LITE_ENABLE_IOTR
4e80: 41 43 45 3d 31 0a 52 43 43 20 3d 20 24 28 52 43  ACE=1.RCC = $(RC 4e90: 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 C) -DSQLITE_ENAB 4ea0: 4c 45 5f 49 4f 54 52 41 43 45 3d 31 0a 21 45 4e LE_IOTRACE=1.!EN 4eb0: 44 49 46 0a 0a 23 20 50 72 65 76 65 6e 74 20 77 DIF..# Prevent w 4ec0: 61 72 6e 69 6e 67 73 20 61 62 6f 75 74 20 22 69 arnings about "i 4ed0: 6e 73 65 63 75 72 65 22 20 4d 53 56 43 20 72 75 nsecure" MSVC ru 4ee0: 6e 74 69 6d 65 20 6c 69 62 72 61 72 79 20 66 75 ntime library fu 4ef0: 6e 63 74 69 6f 6e 73 0a 23 20 62 65 69 6e 67 20 nctions.# being 4f00: 75 73 65 64 2e 0a 23 0a 54 43 43 20 3d 20 24 28 used..#.TCC =$(
4f10: 54 43 43 29 20 2d 44 5f 43 52 54 5f 53 45 43 55  TCC) -D_CRT_SECU
4f20: 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  RE_NO_DEPRECATE
4f30: 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f 4e 4f  -D_CRT_SECURE_NO
4f40: 5f 57 41 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20  _WARNINGS.BCC =
4f50: 24 28 42 43 43 29 20 2d 44 5f 43 52 54 5f 53 45  $(BCC) -D_CRT_SE 4f60: 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43 41 54 CURE_NO_DEPRECAT 4f70: 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52 45 5f E -D_CRT_SECURE_ 4f80: 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20 NO_WARNINGS.RCC 4f90: 3d 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f =$(RCC) -D_CRT_
4fa0: 53 45 43 55 52 45 5f 4e 4f 5f 44 45 50 52 45 43  SECURE_NO_DEPREC
4fb0: 41 54 45 20 2d 44 5f 43 52 54 5f 53 45 43 55 52  ATE -D_CRT_SECUR
4fc0: 45 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a 23  E_NO_WARNINGS..#
4fd0: 20 50 72 65 76 65 6e 74 20 77 61 72 6e 69 6e 67   Prevent warning
4fe0: 73 20 61 62 6f 75 74 20 22 64 65 70 72 65 63 61  s about "depreca
4ff0: 74 65 64 22 20 50 4f 53 49 58 20 66 75 6e 63 74  ted" POSIX funct
5000: 69 6f 6e 73 20 62 65 69 6e 67 20 75 73 65 64 2e  ions being used.
5010: 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20  .#.TCC = $(TCC) 5020: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e -D_CRT_NONSTDC_N 5030: 4f 5f 44 45 50 52 45 43 41 54 45 20 2d 44 5f 43 O_DEPRECATE -D_C 5040: 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e 4f 5f 57 41 RT_NONSTDC_NO_WA 5050: 52 4e 49 4e 47 53 0a 42 43 43 20 3d 20 24 28 42 RNINGS.BCC =$(B
5060: 43 43 29 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54  CC) -D_CRT_NONST
5070: 44 43 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 20  DC_NO_DEPRECATE
5080: 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 44 43 5f 4e  -D_CRT_NONSTDC_N
5090: 4f 5f 57 41 52 4e 49 4e 47 53 0a 52 43 43 20 3d  O_WARNINGS.RCC =
50a0: 20 24 28 52 43 43 29 20 2d 44 5f 43 52 54 5f 4e   $(RCC) -D_CRT_N 50b0: 4f 4e 53 54 44 43 5f 4e 4f 5f 44 45 50 52 45 43 ONSTDC_NO_DEPREC 50c0: 41 54 45 20 2d 44 5f 43 52 54 5f 4e 4f 4e 53 54 ATE -D_CRT_NONST 50d0: 44 43 5f 4e 4f 5f 57 41 52 4e 49 4e 47 53 0a 0a DC_NO_WARNINGS.. 50e0: 23 20 55 73 65 20 74 68 65 20 53 51 4c 69 74 65 # Use the SQLite 50f0: 20 64 65 62 75 67 67 69 6e 67 20 68 65 61 70 20 debugging heap 5100: 73 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46 subsystem?.#.!IF 5110: 20 24 28 4d 45 4d 44 45 42 55 47 29 21 3d 30 0a$(MEMDEBUG)!=0.
5120: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53  TCC = $(TCC) -DS 5130: 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d 31 QLITE_MEMDEBUG=1 5140: 0a 52 43 43 20 3d 20 24 28 52 43 43 29 20 2d 44 .RCC =$(RCC) -D
5150: 53 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 3d  SQLITE_MEMDEBUG=
5160: 31 0a 0a 23 20 55 73 65 20 6e 61 74 69 76 65 20  1..# Use native
5170: 57 69 6e 33 32 20 68 65 61 70 20 73 75 62 73 79  Win32 heap subsy
5180: 73 74 65 6d 20 69 6e 73 74 65 61 64 20 6f 66 20  stem instead of
5190: 6d 61 6c 6c 6f 63 2f 66 72 65 65 3f 0a 23 0a 21  malloc/free?.#.!
51a0: 45 4c 53 45 49 46 20 24 28 57 49 4e 33 32 48 45  ELSEIF $(WIN32HE 51b0: 41 50 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54 AP)!=0.TCC =$(T
51c0: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e  CC) -DSQLITE_WIN
51d0: 33 32 5f 4d 41 4c 4c 4f 43 3d 31 0a 52 43 43 20  32_MALLOC=1.RCC
51e0: 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54  = $(RCC) -DSQLIT 51f0: 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 3d 31 E_WIN32_MALLOC=1 5200: 0a 0a 23 20 56 61 6c 69 64 61 74 65 20 74 68 65 ..# Validate the 5210: 20 68 65 61 70 20 6f 6e 20 65 76 65 72 79 20 63 heap on every c 5220: 61 6c 6c 20 69 6e 74 6f 20 74 68 65 20 6e 61 74 all into the nat 5230: 69 76 65 20 57 69 6e 33 32 20 68 65 61 70 20 73 ive Win32 heap s 5240: 75 62 73 79 73 74 65 6d 3f 0a 23 0a 21 49 46 20 ubsystem?.#.!IF 5250: 24 28 44 45 42 55 47 29 3e 33 0a 54 43 43 20 3d$(DEBUG)>3.TCC =
5260: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE 5270: 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 _WIN32_MALLOC_VA 5280: 4c 49 44 41 54 45 3d 31 0a 52 43 43 20 3d 20 24 LIDATE=1.RCC =$
5290: 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 57  (RCC) -DSQLITE_W
52a0: 49 4e 33 32 5f 4d 41 4c 4c 4f 43 5f 56 41 4c 49  IN32_MALLOC_VALI
52b0: 44 41 54 45 3d 31 0a 21 45 4e 44 49 46 0a 21 45  DATE=1.!ENDIF.!E
52c0: 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e  NDIF..# <<mark>>
52d0: 0a 23 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 73  .# The locations
52e0: 20 6f 66 20 74 68 65 20 54 63 6c 20 68 65 61 64   of the Tcl head
52f0: 65 72 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66  er and library f
5300: 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65  iles.  Also, the
5310: 20 6c 69 62 72 61 72 79 20 74 68 61 74 0a 23 20   library that.#
5320: 6e 6f 6e 2d 73 74 75 62 73 20 65 6e 61 62 6c 65  non-stubs enable
5330: 64 20 70 72 6f 67 72 61 6d 73 20 75 73 69 6e 67  d programs using
5340: 20 54 63 6c 20 6d 75 73 74 20 6c 69 6e 6b 20 61   Tcl must link a
5350: 67 61 69 6e 73 74 2e 20 20 54 68 65 73 65 20 76  gainst.  These v
5360: 61 72 69 61 62 6c 65 73 0a 23 20 28 54 43 4c 49  ariables.# (TCLI
5370: 4e 43 44 49 52 2c 20 54 43 4c 4c 49 42 44 49 52  NCDIR, TCLLIBDIR
5380: 2c 20 61 6e 64 20 4c 49 42 54 43 4c 29 20 6d 61  , and LIBTCL) ma
5390: 79 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20  y be overridden
53a0: 76 69 61 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d  via the environm
53b0: 65 6e 74 0a 23 20 70 72 69 6f 72 20 74 6f 20 72  ent.# prior to r
53c0: 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65 20 69 6e 20  unning nmake in
53d0: 6f 72 64 65 72 20 74 6f 20 6d 61 74 63 68 20 74  order to match t
53e0: 68 65 20 61 63 74 75 61 6c 20 69 6e 73 74 61 6c  he actual instal
53f0: 6c 65 64 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64  led location and
5400: 0a 23 20 76 65 72 73 69 6f 6e 20 6f 6e 20 74 68  .# version on th
5410: 69 73 20 6d 61 63 68 69 6e 65 2e 0a 23 0a 21 49  is machine..#.!I
5420: 46 4e 44 45 46 20 54 43 4c 49 4e 43 44 49 52 0a  FNDEF TCLINCDIR.
5430: 54 43 4c 49 4e 43 44 49 52 20 3d 20 63 3a 5c 74  TCLINCDIR = c:\t
5440: 63 6c 5c 69 6e 63 6c 75 64 65 0a 21 45 4e 44 49  cl\include.!ENDI
5450: 46 0a 0a 21 49 46 4e 44 45 46 20 54 43 4c 4c 49  F..!IFNDEF TCLLI
5460: 42 44 49 52 0a 54 43 4c 4c 49 42 44 49 52 20 3d  BDIR.TCLLIBDIR =
5470: 20 63 3a 5c 74 63 6c 5c 6c 69 62 0a 21 45 4e 44   c:\tcl\lib.!END
5480: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54  IF..!IFNDEF LIBT
5490: 43 4c 0a 4c 49 42 54 43 4c 20 3d 20 74 63 6c 38  CL.LIBTCL = tcl8
54a0: 36 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49  6.lib.!ENDIF..!I
54b0: 46 4e 44 45 46 20 4c 49 42 54 43 4c 53 54 55 42  FNDEF LIBTCLSTUB
54c0: 0a 4c 49 42 54 43 4c 53 54 55 42 20 3d 20 74 63  .LIBTCLSTUB = tc
54d0: 6c 73 74 75 62 38 36 2e 6c 69 62 0a 21 45 4e 44  lstub86.lib.!END
54e0: 49 46 0a 0a 21 49 46 4e 44 45 46 20 4c 49 42 54  IF..!IFNDEF LIBT
54f0: 43 4c 50 41 54 48 0a 4c 49 42 54 43 4c 50 41 54  CLPATH.LIBTCLPAT
5500: 48 20 3d 20 63 3a 5c 74 63 6c 5c 62 69 6e 0a 21  H = c:\tcl\bin.!
5510: 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c 6f 63  ENDIF..# The loc
5520: 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 49 43  ations of the IC
5530: 55 20 68 65 61 64 65 72 20 61 6e 64 20 6c 69 62  U header and lib
5540: 72 61 72 79 20 66 69 6c 65 73 2e 20 20 54 68 65  rary files.  The
5550: 73 65 20 76 61 72 69 61 62 6c 65 73 0a 23 20 28  se variables.# (
5560: 49 43 55 49 4e 43 44 49 52 2c 20 49 43 55 4c 49  ICUINCDIR, ICULI
5570: 42 44 49 52 2c 20 61 6e 64 20 4c 49 42 49 43 55  BDIR, and LIBICU
5580: 29 20 6d 61 79 20 62 65 20 6f 76 65 72 72 69 64  ) may be overrid
5590: 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e 76 69  den via the envi
55a0: 72 6f 6e 6d 65 6e 74 0a 23 20 70 72 69 6f 72 20  ronment.# prior
55b0: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
55c0: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 74   in order to mat
55d0: 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e  ch the actual in
55e0: 73 74 61 6c 6c 65 64 20 6c 6f 63 61 74 69 6f 6e  stalled location
55f0: 20 6f 6e 0a 23 20 74 68 69 73 20 6d 61 63 68 69   on.# this machi
5600: 6e 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 49 43  ne..#.!IFNDEF IC
5610: 55 49 4e 43 44 49 52 0a 49 43 55 49 4e 43 44 49  UINCDIR.ICUINCDI
5620: 52 20 3d 20 63 3a 5c 69 63 75 5c 69 6e 63 6c 75  R = c:\icu\inclu
5630: 64 65 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e 44  de.!ENDIF..!IFND
5640: 45 46 20 49 43 55 4c 49 42 44 49 52 0a 49 43 55  EF ICULIBDIR.ICU
5650: 4c 49 42 44 49 52 20 3d 20 63 3a 5c 69 63 75 5c  LIBDIR = c:\icu\
5660: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 21 49 46 4e  lib.!ENDIF..!IFN
5670: 44 45 46 20 4c 49 42 49 43 55 0a 4c 49 42 49 43  DEF LIBICU.LIBIC
5680: 55 20 3d 20 69 63 75 75 63 2e 6c 69 62 20 69 63  U = icuuc.lib ic
5690: 75 69 6e 2e 6c 69 62 0a 21 45 4e 44 49 46 0a 0a  uin.lib.!ENDIF..
56a0: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f  # This is the co
56b0: 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 66 6f 72  mmand to use for
56c0: 20 74 63 6c 73 68 20 2d 20 6e 6f 72 6d 61 6c 6c   tclsh - normall
56d0: 79 20 6a 75 73 74 20 22 74 63 6c 73 68 22 2c 20  y just "tclsh",
56e0: 62 75 74 20 77 65 20 6d 61 79 0a 23 20 6b 6e 6f  but we may.# kno
56f0: 77 20 74 68 65 20 73 70 65 63 69 66 69 63 20 76  w the specific v
5700: 65 72 73 69 6f 6e 20 77 65 20 77 61 6e 74 20 74  ersion we want t
5710: 6f 20 75 73 65 2e 20 20 54 68 69 73 20 76 61 72  o use.  This var
5720: 69 61 62 6c 65 20 28 54 43 4c 53 48 5f 43 4d 44  iable (TCLSH_CMD
5730: 29 20 6d 61 79 20 62 65 0a 23 20 6f 76 65 72 72  ) may be.# overr
5740: 69 64 64 65 6e 20 76 69 61 20 74 68 65 20 65 6e  idden via the en
5750: 76 69 72 6f 6e 6d 65 6e 74 20 70 72 69 6f 72 20  vironment prior
5760: 74 6f 20 72 75 6e 6e 69 6e 67 20 6e 6d 61 6b 65  to running nmake
5770: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 65 6c   in order to sel
5780: 65 63 74 20 61 0a 23 20 73 70 65 63 69 66 69 63  ect a.# specific
5790: 20 54 63 6c 20 73 68 65 6c 6c 20 74 6f 20 75 73   Tcl shell to us
57a0: 65 2e 0a 23 0a 21 49 46 4e 44 45 46 20 54 43 4c  e..#.!IFNDEF TCL
57b0: 53 48 5f 43 4d 44 0a 54 43 4c 53 48 5f 43 4d 44  SH_CMD.TCLSH_CMD
57c0: 20 3d 20 74 63 6c 73 68 0a 21 45 4e 44 49 46 0a   = tclsh.!ENDIF.
57d0: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 43  # <</mark>>..# C
57e0: 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f 6e 73 20  ompiler options
57f0: 6e 65 65 64 65 64 20 66 6f 72 20 70 72 6f 67 72  needed for progr
5800: 61 6d 73 20 74 68 61 74 20 75 73 65 20 74 68 65  ams that use the
5810: 20 72 65 61 64 6c 69 6e 65 28 29 20 6c 69 62 72   readline() libr
5820: 61 72 79 2e 0a 23 0a 21 49 46 4e 44 45 46 20 52  ary..#.!IFNDEF R
5830: 45 41 44 4c 49 4e 45 5f 46 4c 41 47 53 0a 52 45  EADLINE_FLAGS.RE
5840: 41 44 4c 49 4e 45 5f 46 4c 41 47 53 20 3d 20 2d  ADLINE_FLAGS = -
5850: 44 48 41 56 45 5f 52 45 41 44 4c 49 4e 45 3d 30  DHAVE_READLINE=0
5860: 0a 21 45 4e 44 49 46 0a 0a 23 20 54 68 65 20 6c  .!ENDIF..# The l
5870: 69 62 72 61 72 79 20 74 68 61 74 20 70 72 6f 67  ibrary that prog
5880: 72 61 6d 73 20 75 73 69 6e 67 20 72 65 61 64 6c  rams using readl
5890: 69 6e 65 28 29 20 6d 75 73 74 20 6c 69 6e 6b 20  ine() must link
58a0: 61 67 61 69 6e 73 74 2e 0a 23 0a 21 49 46 4e 44  against..#.!IFND
58b0: 45 46 20 4c 49 42 52 45 41 44 4c 49 4e 45 0a 4c  EF LIBREADLINE.L
58c0: 49 42 52 45 41 44 4c 49 4e 45 20 3d 0a 21 45 4e  IBREADLINE =.!EN
58d0: 44 49 46 0a 0a 23 20 53 68 6f 75 6c 64 20 74 68  DIF..# Should th
58e0: 65 20 64 61 74 61 62 61 73 65 20 65 6e 67 69 6e  e database engin
58f0: 65 20 62 65 20 63 6f 6d 70 69 6c 65 64 20 74 68  e be compiled th
5900: 72 65 61 64 73 61 66 65 0a 23 0a 54 43 43 20 3d  readsafe.#.TCC =
5910: 20 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45   $(TCC) -DSQLITE 5920: 5f 54 48 52 45 41 44 53 41 46 45 3d 31 0a 52 43 _THREADSAFE=1.RC 5930: 43 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c C =$(RCC) -DSQL
5940: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 31  ITE_THREADSAFE=1
5950: 0a 0a 23 20 44 6f 20 74 68 72 65 61 64 73 20 6f  ..# Do threads o
5960: 76 65 72 72 69 64 65 20 65 61 63 68 20 6f 74 68  verride each oth
5970: 65 72 73 20 6c 6f 63 6b 73 20 62 79 20 64 65 66  ers locks by def
5980: 61 75 6c 74 20 28 31 29 2c 20 6f 72 20 64 6f 20  ault (1), or do
5990: 77 65 20 74 65 73 74 20 28 2d 31 29 0a 23 0a 54  we test (-1).#.T
59a0: 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44 53 51  CC = $(TCC) -DSQ 59b0: 4c 49 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 52 LITE_THREAD_OVER 59c0: 52 49 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 52 43 43 RIDE_LOCK=-1.RCC 59d0: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 =$(RCC) -DSQLI
59e0: 54 45 5f 54 48 52 45 41 44 5f 4f 56 45 52 52 49  TE_THREAD_OVERRI
59f0: 44 45 5f 4c 4f 43 4b 3d 2d 31 0a 0a 23 20 41 6e  DE_LOCK=-1..# An
5a00: 79 20 74 61 72 67 65 74 20 6c 69 62 72 61 72 69  y target librari
5a10: 65 73 20 77 68 69 63 68 20 6c 69 62 73 71 6c 69  es which libsqli
5a20: 74 65 20 6d 75 73 74 20 62 65 20 6c 69 6e 6b 65  te must be linke
5a30: 64 20 61 67 61 69 6e 73 74 0a 23 0a 21 49 46 4e  d against.#.!IFN
5a40: 44 45 46 20 54 4c 49 42 53 0a 54 4c 49 42 53 20  DEF TLIBS.TLIBS
5a50: 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 46 6c 61 67  =.!ENDIF..# Flag
5a60: 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 75 73  s controlling us
5a70: 65 20 6f 66 20 74 68 65 20 69 6e 20 6d 65 6d 6f  e of the in memo
5a80: 72 79 20 62 74 72 65 65 20 69 6d 70 6c 65 6d 65  ry btree impleme
5a90: 6e 74 61 74 69 6f 6e 0a 23 0a 23 20 53 51 4c 49  ntation.#.# SQLI
5aa0: 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 20 69 73  TE_TEMP_STORE is
5ab0: 20 30 20 74 6f 20 66 6f 72 63 65 20 74 65 6d 70   0 to force temp
5ac0: 6f 72 61 72 79 20 74 61 62 6c 65 73 20 74 6f 20  orary tables to
5ad0: 62 65 20 69 6e 20 61 20 66 69 6c 65 2c 20 31 20  be in a file, 1
5ae0: 74 6f 0a 23 20 64 65 66 61 75 6c 74 20 74 6f 20  to.# default to
5af0: 66 69 6c 65 2c 20 32 20 74 6f 20 64 65 66 61 75  file, 2 to defau
5b00: 6c 74 20 74 6f 20 6d 65 6d 6f 72 79 2c 20 61 6e  lt to memory, an
5b10: 64 20 33 20 74 6f 20 66 6f 72 63 65 20 74 65 6d  d 3 to force tem
5b20: 70 6f 72 61 72 79 0a 23 20 74 61 62 6c 65 73 20  porary.# tables
5b30: 74 6f 20 61 6c 77 61 79 73 20 62 65 20 69 6e 20  to always be in
5b40: 6d 65 6d 6f 72 79 2e 0a 23 0a 54 43 43 20 3d 20  memory..#.TCC =
5b50: 24 28 54 43 43 29 20 2d 44 53 51 4c 49 54 45 5f  $(TCC) -DSQLITE_ 5b60: 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a 52 43 43 TEMP_STORE=1.RCC 5b70: 20 3d 20 24 28 52 43 43 29 20 2d 44 53 51 4c 49 =$(RCC) -DSQLI
5b80: 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3d 31 0a  TE_TEMP_STORE=1.
5b90: 0a 23 20 45 6e 61 62 6c 65 2f 64 69 73 61 62 6c  .# Enable/disabl
5ba0: 65 20 6c 6f 61 64 61 62 6c 65 20 65 78 74 65 6e  e loadable exten
5bb0: 73 69 6f 6e 73 2c 20 61 6e 64 20 6f 74 68 65 72  sions, and other
5bc0: 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74 75 72   optional featur
5bd0: 65 73 0a 23 20 62 61 73 65 64 20 6f 6e 20 63 6f  es.# based on co
5be0: 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 28 2d 44  nfiguration. (-D
5bf0: 53 51 4c 49 54 45 5f 4f 4d 49 54 2a 2c 20 2d 44  SQLITE_OMIT*, -D
5c00: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 2a 29 2e  SQLITE_ENABLE*).
5c10: 0a 23 20 54 68 65 20 73 61 6d 65 20 73 65 74 20  .# The same set
5c20: 6f 66 20 4f 4d 49 54 20 61 6e 64 20 45 4e 41 42  of OMIT and ENAB
5c30: 4c 45 20 66 6c 61 67 73 20 73 68 6f 75 6c 64 20  LE flags should
5c40: 62 65 20 70 61 73 73 65 64 20 74 6f 20 74 68 65  be passed to the
5c50: 0a 23 20 4c 45 4d 4f 4e 20 70 61 72 73 65 72 20  .# LEMON parser
5c60: 67 65 6e 65 72 61 74 6f 72 20 61 6e 64 20 74 68  generator and th
5c70: 65 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 20  e mkkeywordhash
5c80: 74 6f 6f 6c 20 61 73 20 77 65 6c 6c 2e 0a 0a 23  tool as well...#
5c90: 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 72   These are the r
5ca0: 65 71 75 69 72 65 64 20 53 51 4c 69 74 65 20 63  equired SQLite c
5cb0: 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 70 74 69 6f  ompilation optio
5cc0: 6e 73 20 75 73 65 64 20 77 68 65 6e 20 63 6f 6d  ns used when com
5cd0: 70 69 6c 69 6e 67 20 66 6f 72 0a 23 20 74 68 65  piling for.# the
5ce0: 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72   Windows platfor
5cf0: 6d 2e 0a 23 0a 52 45 51 5f 46 45 41 54 55 52 45  m..#.REQ_FEATURE
5d00: 5f 46 4c 41 47 53 20 3d 20 24 28 52 45 51 5f 46  _FLAGS = $(REQ_F 5d10: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 EATURE_FLAGS) -D 5d20: 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52 49 47 47 SQLITE_MAX_TRIGG 5d30: 45 52 5f 44 45 50 54 48 3d 31 30 30 0a 0a 23 20 ER_DEPTH=100..# 5d40: 49 66 20 77 65 20 61 72 65 20 6c 69 6e 6b 69 6e If we are linkin 5d50: 67 20 74 6f 20 74 68 65 20 52 50 43 52 54 34 20 g to the RPCRT4 5d60: 6c 69 62 72 61 72 79 2c 20 65 6e 61 62 6c 65 20 library, enable 5d70: 66 65 61 74 75 72 65 73 20 74 68 61 74 20 6e 65 features that ne 5d80: 65 64 20 69 74 2e 0a 23 0a 21 49 46 20 24 28 55 ed it..#.!IF$(U
5d90: 53 45 5f 52 50 43 52 54 34 5f 4c 49 42 29 21 3d  SE_RPCRT4_LIB)!=
5da0: 30 0a 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c  0.REQ_FEATURE_FL
5db0: 41 47 53 20 3d 20 24 28 52 45 51 5f 46 45 41 54  AGS = $(REQ_FEAT 5dc0: 55 52 45 5f 46 4c 41 47 53 29 20 2d 44 53 51 4c URE_FLAGS) -DSQL 5dd0: 49 54 45 5f 57 49 4e 33 32 5f 55 53 45 5f 55 55 ITE_WIN32_USE_UU 5de0: 49 44 3d 31 0a 21 45 4e 44 49 46 0a 0a 23 20 41 ID=1.!ENDIF..# A 5df0: 64 64 20 74 68 65 20 72 65 71 75 69 72 65 64 20 dd the required 5e00: 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20 53 51 4c and optional SQL 5e10: 69 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 ite compilation 5e20: 6f 70 74 69 6f 6e 73 20 69 6e 74 6f 20 74 68 65 options into the 5e30: 20 63 6f 6d 6d 61 6e 64 0a 23 20 6c 69 6e 65 73 command.# lines 5e40: 20 75 73 65 64 20 74 6f 20 69 6e 76 6f 6b 65 20 used to invoke 5e50: 74 68 65 20 4d 53 56 43 20 63 6f 64 65 20 61 6e the MSVC code an 5e60: 64 20 72 65 73 6f 75 72 63 65 20 63 6f 6d 70 69 d resource compi 5e70: 6c 65 72 73 2e 0a 23 0a 54 43 43 20 3d 20 24 28 lers..#.TCC =$(
5e80: 54 43 43 29 20 24 28 52 45 51 5f 46 45 41 54 55  TCC) $(REQ_FEATU 5e90: 52 45 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 5f RE_FLAGS)$(OPT_
5ea0: 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24  FEATURE_FLAGS) $5eb0: 28 45 58 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 (EXT_FEATURE_FLA 5ec0: 47 53 29 0a 52 43 43 20 3d 20 24 28 52 43 43 29 GS).RCC =$(RCC)
5ed0: 20 24 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46   $(REQ_FEATURE_F 5ee0: 4c 41 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 LAGS)$(OPT_FEAT
5ef0: 55 52 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54  URE_FLAGS) $(EXT 5f00: 5f 46 45 41 54 55 52 45 5f 46 4c 41 47 53 29 0a _FEATURE_FLAGS). 5f10: 0a 23 20 41 64 64 20 69 6e 20 61 6e 79 20 6f 70 .# Add in any op 5f20: 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 tional parameter 5f30: 73 20 73 70 65 63 69 66 69 65 64 20 6f 6e 20 74 s specified on t 5f40: 68 65 20 63 6f 6d 6d 61 6e 65 20 6c 69 6e 65 2c he commane line, 5f50: 20 65 2e 67 2e 0a 23 20 6e 6d 61 6b 65 20 2f 66 e.g..# nmake /f 5f60: 20 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 61 6c Makefile.msc al 5f70: 6c 20 22 4f 50 54 53 3d 2d 44 53 51 4c 49 54 45 l "OPTS=-DSQLITE 5f80: 5f 45 4e 41 42 4c 45 5f 46 4f 4f 3d 31 20 2d 44 _ENABLE_FOO=1 -D 5f90: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f 4f 3d SQLITE_OMIT_FOO= 5fa0: 31 22 0a 23 0a 54 43 43 20 3d 20 24 28 54 43 43 1".#.TCC =$(TCC
5fb0: 29 20 24 28 4f 50 54 53 29 0a 52 43 43 20 3d 20  ) $(OPTS).RCC = 5fc0: 24 28 52 43 43 29 20 24 28 4f 50 54 53 29 0a 0a$(RCC) $(OPTS).. 5fd0: 23 20 49 66 20 63 6f 6d 70 69 6c 69 6e 67 20 66 # If compiling f 5fe0: 6f 72 20 64 65 62 75 67 67 69 6e 67 2c 20 61 64 or debugging, ad 5ff0: 64 20 73 6f 6d 65 20 64 65 66 69 6e 65 73 2e 0a d some defines.. 6000: 23 0a 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 #.!IF$(DEBUG)>1
6010: 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 44  .TCC = $(TCC) -D 6020: 5f 44 45 42 55 47 0a 42 43 43 20 3d 20 24 28 42 _DEBUG.BCC =$(B
6030: 43 43 29 20 2d 44 5f 44 45 42 55 47 0a 52 43 43  CC) -D_DEBUG.RCC
6040: 20 3d 20 24 28 52 43 43 29 20 2d 44 5f 44 45 42   = $(RCC) -D_DEB 6050: 55 47 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 UG.!ENDIF..# If 6060: 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72 optimizations ar 6070: 65 20 65 6e 61 62 6c 65 64 20 6f 72 20 64 69 73 e enabled or dis 6080: 61 62 6c 65 64 20 28 65 69 74 68 65 72 20 69 6d abled (either im 6090: 70 6c 69 63 69 74 6c 79 20 6f 72 0a 23 20 65 78 plicitly or.# ex 60a0: 70 6c 69 63 69 74 6c 79 29 2c 20 61 64 64 20 74 plicitly), add t 60b0: 68 65 20 6e 65 63 65 73 73 61 72 79 20 66 6c 61 he necessary fla 60c0: 67 73 2e 0a 23 0a 21 49 46 20 24 28 44 45 42 55 gs..#.!IF$(DEBU
60d0: 47 29 3e 31 20 7c 7c 20 24 28 4f 50 54 49 4d 49  G)>1 || $(OPTIMI 60e0: 5a 41 54 49 4f 4e 53 29 3d 3d 30 0a 54 43 43 20 ZATIONS)==0.TCC 60f0: 3d 20 24 28 54 43 43 29 20 2d 4f 64 0a 42 43 43 =$(TCC) -Od.BCC
6100: 20 3d 20 24 28 42 43 43 29 20 2d 4f 64 0a 21 49   = $(BCC) -Od.!I 6110: 46 20 24 28 55 53 45 5f 52 55 4e 54 49 4d 45 5f F$(USE_RUNTIME_
6120: 43 48 45 43 4b 53 29 21 3d 30 0a 54 43 43 20 3d  CHECKS)!=0.TCC =
6130: 20 24 28 54 43 43 29 20 2d 52 54 43 31 0a 42 43   $(TCC) -RTC1.BC 6140: 43 20 3d 20 24 28 42 43 43 29 20 2d 52 54 43 31 C =$(BCC) -RTC1
6150: 0a 21 45 4e 44 49 46 0a 21 45 4c 53 45 49 46 20  .!ENDIF.!ELSEIF
6160: 24 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29  $(OPTIMIZATIONS) 6170: 3e 3d 33 0a 54 43 43 20 3d 20 24 28 54 43 43 29 >=3.TCC =$(TCC)
6180: 20 2d 4f 78 0a 42 43 43 20 3d 20 24 28 42 43 43   -Ox.BCC = $(BCC 6190: 29 20 2d 4f 78 0a 21 45 4c 53 45 49 46 20 24 28 ) -Ox.!ELSEIF$(
61a0: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d  OPTIMIZATIONS)==
61b0: 32 0a 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d  2.TCC = $(TCC) - 61c0: 4f 32 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 O2.BCC =$(BCC)
61d0: 2d 4f 32 0a 21 45 4c 53 45 49 46 20 24 28 4f 50  -O2.!ELSEIF $(OP 61e0: 54 49 4d 49 5a 41 54 49 4f 4e 53 29 3d 3d 31 0a TIMIZATIONS)==1. 61f0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 4f 31 TCC =$(TCC) -O1
6200: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 4f  .BCC = $(BCC) -O 6210: 31 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 20 73 1.!ENDIF..# If s 6220: 79 6d 62 6f 6c 73 20 61 72 65 20 65 6e 61 62 6c ymbols are enabl 6230: 65 64 20 28 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 ed (or compiling 6240: 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 29 2c for debugging), 6250: 20 65 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23 0a enable PDBs..#. 6260: 21 49 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c !IF$(DEBUG)>1 |
6270: 7c 20 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30 0a  | $(SYMBOLS)!=0. 6280: 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 5a 69 TCC =$(TCC) -Zi
6290: 0a 42 43 43 20 3d 20 24 28 42 43 43 29 20 2d 5a  .BCC = $(BCC) -Z 62a0: 69 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d 61 i.!ENDIF..# <<ma 62b0: 72 6b 3e 3e 0a 23 20 49 66 20 49 43 55 20 73 75 rk>>.# If ICU su 62c0: 70 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 pport is enabled 62d0: 2c 20 61 64 64 20 74 68 65 20 63 6f 6d 70 69 6c , add the compil 62e0: 65 72 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 er options for i 62f0: 74 2e 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 49 t..#.!IF$(USE_I
6300: 43 55 29 21 3d 30 0a 54 43 43 20 3d 20 24 28 54  CU)!=0.TCC = $(T 6310: 43 43 29 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 CC) -DSQLITE_ENA 6320: 42 4c 45 5f 49 43 55 3d 31 0a 52 43 43 20 3d 20 BLE_ICU=1.RCC = 6330: 24 28 52 43 43 29 20 2d 44 53 51 4c 49 54 45 5f$(RCC) -DSQLITE_
6340: 45 4e 41 42 4c 45 5f 49 43 55 3d 31 0a 54 43 43  ENABLE_ICU=1.TCC
6350: 20 3d 20 24 28 54 43 43 29 20 2d 49 24 28 54 4f   = $(TCC) -I$(TO
6360: 50 29 5c 65 78 74 5c 69 63 75 0a 52 43 43 20 3d  P)\ext\icu.RCC =
6370: 20 24 28 52 43 43 29 20 2d 49 24 28 54 4f 50 29   $(RCC) -I$(TOP)
6380: 5c 65 78 74 5c 69 63 75 0a 54 43 43 20 3d 20 24  \ext\icu.TCC = $6390: 28 54 43 43 29 20 2d 49 24 28 49 43 55 49 4e 43 (TCC) -I$(ICUINC
63a0: 44 49 52 29 0a 52 43 43 20 3d 20 24 28 52 43 43  DIR).RCC = $(RCC 63b0: 29 20 2d 49 24 28 49 43 55 49 4e 43 44 49 52 29 ) -I$(ICUINCDIR)
63c0: 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72  .!ENDIF.# <</mar
63d0: 6b 3e 3e 0a 0a 23 20 43 6f 6d 6d 61 6e 64 20 6c  k>>..# Command l
63e0: 69 6e 65 20 70 72 65 66 69 78 65 73 20 66 6f 72  ine prefixes for
63f0: 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 65 2c   compiling code,
6400: 20 63 6f 6d 70 69 6c 69 6e 67 20 72 65 73 6f 75   compiling resou
6410: 72 63 65 73 2c 0a 23 20 6c 69 6e 6b 69 6e 67 2c  rces,.# linking,
6420: 20 65 74 63 2e 0a 23 0a 4c 54 43 4f 4d 50 49 4c   etc..#.LTCOMPIL
6430: 45 20 3d 20 24 28 54 43 43 29 20 2d 46 6f 24 40  E = $(TCC) -Fo$@
6440: 0a 4c 54 52 43 4f 4d 50 49 4c 45 20 3d 20 24 28  .LTRCOMPILE = $( 6450: 52 43 43 29 20 2d 72 0a 4c 54 4c 49 42 20 3d 20 RCC) -r.LTLIB = 6460: 6c 69 62 2e 65 78 65 0a 4c 54 4c 49 4e 4b 20 3d lib.exe.LTLINK = 6470: 20 24 28 54 43 43 29 20 2d 46 65 24 40 0a 0a 23$(TCC) -Fe$@..# 6480: 20 49 66 20 72 65 71 75 65 73 74 65 64 2c 20 6c If requested, l 6490: 69 6e 6b 20 74 6f 20 74 68 65 20 52 50 43 52 54 ink to the RPCRT 64a0: 34 20 6c 69 62 72 61 72 79 2e 0a 23 0a 21 49 46 4 library..#.!IF 64b0: 20 24 28 55 53 45 5f 52 50 43 52 54 34 5f 4c 49$(USE_RPCRT4_LI
64c0: 42 29 21 3d 30 0a 4c 54 4c 49 4e 4b 20 3d 20 24  B)!=0.LTLINK = $64d0: 28 4c 54 4c 49 4e 4b 29 20 72 70 63 72 74 34 2e (LTLINK) rpcrt4. 64e0: 6c 69 62 0a 21 45 4e 44 49 46 0a 0a 23 20 49 66 lib.!ENDIF..# If 64f0: 20 61 20 70 6c 61 74 66 6f 72 6d 20 77 61 73 20 a platform was 6500: 73 65 74 2c 20 66 6f 72 63 65 20 74 68 65 20 6c set, force the l 6510: 69 6e 6b 65 72 20 74 6f 20 74 61 72 67 65 74 20 inker to target 6520: 74 68 61 74 2e 0a 23 20 4e 6f 74 65 20 74 68 61 that..# Note tha 6530: 74 20 74 68 65 20 76 63 76 61 72 73 2a 2e 62 61 t the vcvars*.ba 6540: 74 20 66 61 6d 69 6c 79 20 6f 66 20 62 61 74 63 t family of batc 6550: 68 20 66 69 6c 65 73 20 74 79 70 69 63 61 6c 6c h files typicall 6560: 79 0a 23 20 73 65 74 20 74 68 69 73 20 66 6f 72 y.# set this for 6570: 20 79 6f 75 2e 20 20 4f 74 68 65 72 77 69 73 65 you. Otherwise 6580: 2c 20 74 68 65 20 6c 69 6e 6b 65 72 20 77 69 6c , the linker wil 6590: 6c 20 61 74 74 65 6d 70 74 0a 23 20 74 6f 20 64 l attempt.# to d 65a0: 65 64 75 63 65 20 74 68 65 20 62 69 6e 61 72 79 educe the binary 65b0: 20 74 79 70 65 20 62 61 73 65 64 20 6f 6e 20 74 type based on t 65c0: 68 65 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e he object files. 65d0: 0a 21 49 46 44 45 46 20 50 4c 41 54 46 4f 52 4d .!IFDEF PLATFORM 65e0: 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 2f 4e .LTLINKOPTS = /N 65f0: 4f 4c 4f 47 4f 20 2f 4d 41 43 48 49 4e 45 3a 24 OLOGO /MACHINE:$
6600: 28 50 4c 41 54 46 4f 52 4d 29 0a 4c 54 4c 49 42  (PLATFORM).LTLIB
6610: 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 20 2f  OPTS = /NOLOGO /
6620: 4d 41 43 48 49 4e 45 3a 24 28 50 4c 41 54 46 4f  MACHINE:$(PLATFO 6630: 52 4d 29 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b RM).!ELSE.LTLINK 6640: 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f 47 4f 0a 4c OPTS = /NOLOGO.L 6650: 54 4c 49 42 4f 50 54 53 20 3d 20 2f 4e 4f 4c 4f TLIBOPTS = /NOLO 6660: 47 4f 0a 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 GO.!ENDIF..# Whe 6670: 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 n compiling for 6680: 75 73 65 20 69 6e 20 74 68 65 20 57 69 6e 52 54 use in the WinRT 6690: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 74 68 environment, th 66a0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 23 20 6c 69 e following.# li 66b0: 6e 6b 65 72 20 6f 70 74 69 6f 6e 20 6d 75 73 74 nker option must 66c0: 20 62 65 20 75 73 65 64 20 74 6f 20 6d 61 72 6b be used to mark 66d0: 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 the executable 66e0: 61 73 20 72 75 6e 6e 61 62 6c 65 0a 23 20 6f 6e as runnable.# on 66f0: 6c 79 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 ly in the contex 6700: 74 20 6f 66 20 61 6e 20 61 70 70 6c 69 63 61 74 t of an applicat 6710: 69 6f 6e 20 63 6f 6e 74 61 69 6e 65 72 2e 0a 23 ion container..# 6720: 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 4e 52 54 .!IF$(FOR_WINRT
6730: 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20  )!=0.LTLINKOPTS
6740: 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  = $(LTLINKOPTS) 6750: 2f 41 50 50 43 4f 4e 54 41 49 4e 45 52 0a 21 49 /APPCONTAINER.!I 6760: 46 20 22 24 28 56 49 53 55 41 4c 53 54 55 44 49 F "$(VISUALSTUDI
6770: 4f 56 45 52 53 49 4f 4e 29 22 3d 3d 22 31 32 2e  OVERSION)"=="12.
6780: 30 22 20 7c 7c 20 22 24 28 56 49 53 55 41 4c 53  0" || "$(VISUALS 6790: 54 55 44 49 4f 56 45 52 53 49 4f 4e 29 22 3d 3d TUDIOVERSION)"== 67a0: 22 31 34 2e 30 22 0a 21 49 46 4e 44 45 46 20 53 "14.0".!IFNDEF S 67b0: 54 4f 52 45 4c 49 42 50 41 54 48 0a 21 49 46 20 TORELIBPATH.!IF 67c0: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 "$(PLATFORM)"=="
67d0: 78 38 36 22 0a 53 54 4f 52 45 4c 49 42 50 41 54  x86".STORELIBPAT
67e0: 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48  H = $(CRTLIBPATH 67f0: 29 5c 73 74 6f 72 65 0a 21 45 4c 53 45 49 46 20 )\store.!ELSEIF 6800: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 "$(PLATFORM)"=="
6810: 78 36 34 22 0a 53 54 4f 52 45 4c 49 42 50 41 54  x64".STORELIBPAT
6820: 48 20 3d 20 24 28 43 52 54 4c 49 42 50 41 54 48  H = $(CRTLIBPATH 6830: 29 5c 73 74 6f 72 65 5c 61 6d 64 36 34 0a 21 45 )\store\amd64.!E 6840: 4c 53 45 49 46 20 22 24 28 50 4c 41 54 46 4f 52 LSEIF "$(PLATFOR
6850: 4d 29 22 3d 3d 22 41 52 4d 22 0a 53 54 4f 52 45  M)"=="ARM".STORE
6860: 4c 49 42 50 41 54 48 20 3d 20 24 28 43 52 54 4c  LIBPATH = $(CRTL 6870: 49 42 50 41 54 48 29 5c 73 74 6f 72 65 5c 61 72 IBPATH)\store\ar 6880: 6d 0a 21 45 4c 53 45 0a 53 54 4f 52 45 4c 49 42 m.!ELSE.STORELIB 6890: 50 41 54 48 20 3d 20 24 28 43 52 54 4c 49 42 50 PATH =$(CRTLIBP
68a0: 41 54 48 29 5c 73 74 6f 72 65 0a 21 45 4e 44 49  ATH)\store.!ENDI
68b0: 46 0a 21 45 4e 44 49 46 0a 53 54 4f 52 45 4c 49  F.!ENDIF.STORELI
68c0: 42 50 41 54 48 20 3d 20 24 28 53 54 4f 52 45 4c  BPATH = $(STOREL 68d0: 49 42 50 41 54 48 3a 5c 5c 3d 5c 29 0a 4c 54 4c IBPATH:\\=\).LTL 68e0: 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 INKOPTS =$(LTLI
68f0: 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42 50 41 54  NKOPTS) "/LIBPAT
6900: 48 3a 24 28 53 54 4f 52 45 4c 49 42 50 41 54 48  H:$(STORELIBPATH 6910: 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 )".!ENDIF.!ENDIF 6920: 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 ..# When compili 6930: 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 ng for Windows P 6940: 68 6f 6e 65 20 38 2e 31 2c 20 61 6e 20 65 78 74 hone 8.1, an ext 6950: 72 61 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 ra library path 6960: 69 73 0a 23 20 72 65 71 75 69 72 65 64 2e 0a 23 is.# required..# 6970: 0a 21 49 46 20 24 28 55 53 45 5f 57 50 38 31 5f .!IF$(USE_WP81_
6980: 4f 50 54 53 29 21 3d 30 0a 21 49 46 4e 44 45 46  OPTS)!=0.!IFNDEF
6990: 20 57 50 38 31 4c 49 42 50 41 54 48 0a 21 49 46   WP81LIBPATH.!IF
69a0: 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d   "$(PLATFORM)"== 69b0: 22 78 38 36 22 0a 57 50 38 31 4c 49 42 50 41 54 "x86".WP81LIBPAT 69c0: 48 20 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c H =$(PROGRAMFIL
69d0: 45 53 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20  ES_X86)\Windows
69e0: 50 68 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c  Phone Kits\8.1\l
69f0: 69 62 5c 78 38 36 0a 21 45 4c 53 45 49 46 20 22  ib\x86.!ELSEIF "
6a00: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 41  $(PLATFORM)"=="A 6a10: 52 4d 22 0a 57 50 38 31 4c 49 42 50 41 54 48 20 RM".WP81LIBPATH 6a20: 3d 20 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 =$(PROGRAMFILES
6a30: 5f 58 38 36 29 5c 57 69 6e 64 6f 77 73 20 50 68  _X86)\Windows Ph
6a40: 6f 6e 65 20 4b 69 74 73 5c 38 2e 31 5c 6c 69 62  one Kits\8.1\lib
6a50: 5c 41 52 4d 0a 21 45 4c 53 45 0a 57 50 38 31 4c  \ARM.!ELSE.WP81L
6a60: 49 42 50 41 54 48 20 3d 20 24 28 50 52 4f 47 52  IBPATH = $(PROGR 6a70: 41 4d 46 49 4c 45 53 5f 58 38 36 29 5c 57 69 6e AMFILES_X86)\Win 6a80: 64 6f 77 73 20 50 68 6f 6e 65 20 4b 69 74 73 5c dows Phone Kits\ 6a90: 38 2e 31 5c 6c 69 62 5c 78 38 36 0a 21 45 4e 44 8.1\lib\x86.!END 6aa0: 49 46 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 IF.!ENDIF.!ENDIF 6ab0: 0a 0a 23 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 ..# When compili 6ac0: 6e 67 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 50 ng for Windows P 6ad0: 68 6f 6e 65 20 38 2e 31 2c 20 73 6f 6d 65 20 65 hone 8.1, some e 6ae0: 78 74 72 61 20 6c 69 6e 6b 65 72 20 6f 70 74 69 xtra linker opti 6af0: 6f 6e 73 0a 23 20 61 72 65 20 61 6c 73 6f 20 72 ons.# are also r 6b00: 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 46 20 24 equired..#.!IF$
6b10: 28 55 53 45 5f 57 50 38 31 5f 4f 50 54 53 29 21  (USE_WP81_OPTS)!
6b20: 3d 30 0a 21 49 46 44 45 46 20 57 50 38 31 4c 49  =0.!IFDEF WP81LI
6b30: 42 50 41 54 48 0a 4c 54 4c 49 4e 4b 4f 50 54 53  BPATH.LTLINKOPTS
6b40: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS) 6b50: 20 22 2f 4c 49 42 50 41 54 48 3a 24 28 57 50 38 "/LIBPATH:$(WP8
6b60: 31 4c 49 42 50 41 54 48 29 22 0a 21 45 4e 44 49  1LIBPATH)".!ENDI
6b70: 46 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24  F.LTLINKOPTS = $6b80: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44 59 (LTLINKOPTS) /DY 6b90: 4e 41 4d 49 43 42 41 53 45 0a 4c 54 4c 49 4e 4b NAMICBASE.LTLINK 6ba0: 4f 50 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f OPTS =$(LTLINKO
6bb0: 50 54 53 29 20 57 69 6e 64 6f 77 73 50 68 6f 6e  PTS) WindowsPhon
6bc0: 65 43 6f 72 65 2e 6c 69 62 20 52 75 6e 74 69 6d  eCore.lib Runtim
6bd0: 65 4f 62 6a 65 63 74 2e 6c 69 62 20 50 68 6f 6e  eObject.lib Phon
6be0: 65 41 70 70 4d 6f 64 65 6c 48 6f 73 74 2e 6c 69  eAppModelHost.li
6bf0: 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24  b.LTLINKOPTS = $6c00: 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 4e 4f (LTLINKOPTS) /NO 6c10: 44 45 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 DEFAULTLIB:kerne 6c20: 6c 33 32 2e 6c 69 62 20 2f 4e 4f 44 45 46 41 55 l32.lib /NODEFAU 6c30: 4c 54 4c 49 42 3a 6f 6c 65 33 32 2e 6c 69 62 0a LTLIB:ole32.lib. 6c40: 21 45 4e 44 49 46 0a 0a 23 20 57 68 65 6e 20 63 !ENDIF..# When c 6c50: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 55 57 50 ompiling for UWP 6c60: 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 or the Windows 6c70: 31 30 20 70 6c 61 74 66 6f 72 6d 2c 20 73 6f 6d 10 platform, som 6c80: 65 20 65 78 74 72 61 20 6c 69 6e 6b 65 72 0a 23 e extra linker.# 6c90: 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 61 6c 73 options are als 6ca0: 6f 20 72 65 71 75 69 72 65 64 2e 0a 23 0a 21 49 o required..#.!I 6cb0: 46 20 24 28 46 4f 52 5f 55 57 50 29 21 3d 30 20 F$(FOR_UWP)!=0
6cc0: 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 21  || $(FOR_WIN10)! 6cd0: 3d 30 0a 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 =0.LTLINKOPTS = 6ce0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 2f 44$(LTLINKOPTS) /D
6cf0: 59 4e 41 4d 49 43 42 41 53 45 20 2f 4e 4f 44 45  YNAMICBASE /NODE
6d00: 46 41 55 4c 54 4c 49 42 3a 6b 65 72 6e 65 6c 33  FAULTLIB:kernel3
6d10: 32 2e 6c 69 62 0a 4c 54 4c 49 4e 4b 4f 50 54 53  2.lib.LTLINKOPTS
6d20: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29   = $(LTLINKOPTS) 6d30: 20 6d 69 6e 63 6f 72 65 2e 6c 69 62 0a 21 49 46 mincore.lib.!IF 6d40: 44 45 46 20 50 53 44 4b 4c 49 42 50 41 54 48 0a DEF PSDKLIBPATH. 6d50: 4c 54 4c 49 4e 4b 4f 50 54 53 20 3d 20 24 28 4c LTLINKOPTS =$(L
6d60: 54 4c 49 4e 4b 4f 50 54 53 29 20 22 2f 4c 49 42  TLINKOPTS) "/LIB
6d70: 50 41 54 48 3a 24 28 50 53 44 4b 4c 49 42 50 41  PATH:$(PSDKLIBPA 6d80: 54 48 29 22 0a 21 45 4e 44 49 46 0a 21 45 4e 44 TH)".!ENDIF.!END 6d90: 49 46 0a 0a 21 49 46 20 24 28 46 4f 52 5f 57 49 IF..!IF$(FOR_WI
6da0: 4e 31 30 29 21 3d 30 0a 4c 54 4c 49 4e 4b 4f 50  N10)!=0.LTLINKOP
6db0: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT 6dc0: 53 29 20 2f 67 75 61 72 64 3a 63 66 20 22 2f 4c S) /guard:cf "/L 6dd0: 49 42 50 41 54 48 3a 24 28 55 43 52 54 4c 49 42 IBPATH:$(UCRTLIB
6de0: 50 41 54 48 29 22 0a 21 49 46 20 24 28 44 45 42  PATH)".!IF $(DEB 6df0: 55 47 29 3e 31 0a 4c 54 4c 49 4e 4b 4f 50 54 53 UG)>1.LTLINKOPTS 6e00: 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 =$(LTLINKOPTS)
6e10: 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6c   /NODEFAULTLIB:l
6e20: 69 62 75 63 72 74 64 2e 6c 69 62 20 2f 44 45 46  ibucrtd.lib /DEF
6e30: 41 55 4c 54 4c 49 42 3a 75 63 72 74 64 2e 6c 69  AULTLIB:ucrtd.li
6e40: 62 0a 21 45 4c 53 45 0a 4c 54 4c 49 4e 4b 4f 50  b.!ELSE.LTLINKOP
6e50: 54 53 20 3d 20 24 28 4c 54 4c 49 4e 4b 4f 50 54  TS = $(LTLINKOPT 6e60: 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54 4c 49 42 S) /NODEFAULTLIB 6e70: 3a 6c 69 62 75 63 72 74 2e 6c 69 62 20 2f 44 45 :libucrt.lib /DE 6e80: 46 41 55 4c 54 4c 49 42 3a 75 63 72 74 2e 6c 69 FAULTLIB:ucrt.li 6e90: 62 0a 21 45 4e 44 49 46 0a 21 45 4e 44 49 46 0a b.!ENDIF.!ENDIF. 6ea0: 0a 23 20 49 66 20 65 69 74 68 65 72 20 64 65 62 .# If either deb 6eb0: 75 67 67 69 6e 67 20 6f 72 20 73 79 6d 62 6f 6c ugging or symbol 6ec0: 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2c 20 65 s are enabled, e 6ed0: 6e 61 62 6c 65 20 50 44 42 73 2e 0a 23 0a 21 49 nable PDBs..#.!I 6ee0: 46 20 24 28 44 45 42 55 47 29 3e 31 20 7c 7c 20 F$(DEBUG)>1 ||
6ef0: 24 28 53 59 4d 42 4f 4c 53 29 21 3d 30 0a 4c 44  $(SYMBOLS)!=0.LD 6f00: 46 4c 41 47 53 20 3d 20 2f 44 45 42 55 47 20 24 FLAGS = /DEBUG$
6f10: 28 4c 44 4f 50 54 53 29 0a 21 45 4c 53 45 0a 4c  (LDOPTS).!ELSE.L
6f20: 44 46 4c 41 47 53 20 3d 20 24 28 4c 44 4f 50 54  DFLAGS = $(LDOPT 6f30: 53 29 0a 21 45 4e 44 49 46 0a 0a 23 20 3c 3c 6d S).!ENDIF..# <<m 6f40: 61 72 6b 3e 3e 0a 23 20 53 74 61 72 74 20 77 69 ark>>.# Start wi 6f50: 74 68 20 74 68 65 20 54 63 6c 20 72 65 6c 61 74 th the Tcl relat 6f60: 65 64 20 6c 69 6e 6b 65 72 20 6f 70 74 69 6f 6e ed linker option 6f70: 73 2e 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 s..#.!IF$(NO_TC
6f80: 4c 29 3d 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53  L)==0.LTLIBPATHS
6f90: 20 3d 20 2f 4c 49 42 50 41 54 48 3a 24 28 54 43   = /LIBPATH:$(TC 6fa0: 4c 4c 49 42 44 49 52 29 0a 4c 54 4c 49 42 53 20 LLIBDIR).LTLIBS 6fb0: 3d 20 24 28 4c 49 42 54 43 4c 29 0a 21 45 4e 44 =$(LIBTCL).!END
6fc0: 49 46 0a 0a 23 20 49 66 20 49 43 55 20 73 75 70  IF..# If ICU sup
6fd0: 70 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2c  port is enabled,
6fe0: 20 61 64 64 20 74 68 65 20 6c 69 6e 6b 65 72 20   add the linker
6ff0: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 69 74 2e 0a  options for it..
7000: 23 0a 21 49 46 20 24 28 55 53 45 5f 49 43 55 29  #.!IF $(USE_ICU) 7010: 21 3d 30 0a 4c 54 4c 49 42 50 41 54 48 53 20 3d !=0.LTLIBPATHS = 7020: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f$(LTLIBPATHS) /
7030: 4c 49 42 50 41 54 48 3a 24 28 49 43 55 4c 49 42  LIBPATH:$(ICULIB 7040: 44 49 52 29 0a 4c 54 4c 49 42 53 20 3d 20 24 28 DIR).LTLIBS =$(
7050: 4c 54 4c 49 42 53 29 20 24 28 4c 49 42 49 43 55  LTLIBS) $(LIBICU 7060: 29 0a 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 ).!ENDIF.# <</ma 7070: 72 6b 3e 3e 0a 0a 23 20 59 6f 75 20 73 68 6f 75 rk>>..# You shou 7080: 6c 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 63 ld not have to c 7090: 68 61 6e 67 65 20 61 6e 79 74 68 69 6e 67 20 62 hange anything b 70a0: 65 6c 6f 77 20 74 68 69 73 20 6c 69 6e 65 0a 23 elow this line.# 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 23 23 23 23 23 23 23 ################ 70f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a ##############.. 7100: 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 4f 62 6a # <<mark>>.# Obj 7110: 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 ect files for th 7120: 65 20 53 51 4c 69 74 65 20 6c 69 62 72 61 72 79 e SQLite library 7130: 20 28 6e 6f 6e 2d 61 6d 61 6c 67 61 6d 61 74 69 (non-amalgamati 7140: 6f 6e 29 2e 0a 23 0a 4c 49 42 4f 42 4a 53 30 20 on)..#.LIBOBJS0 7150: 3d 20 76 64 62 65 2e 6c 6f 20 70 61 72 73 65 2e = vdbe.lo parse. 7160: 6c 6f 20 61 6c 74 65 72 2e 6c 6f 20 61 6e 61 6c lo alter.lo anal 7170: 79 7a 65 2e 6c 6f 20 61 74 74 61 63 68 2e 6c 6f yze.lo attach.lo 7180: 20 61 75 74 68 2e 6c 6f 20 5c 0a 20 20 20 20 20 auth.lo \. 7190: 20 20 20 20 62 61 63 6b 75 70 2e 6c 6f 20 62 69 backup.lo bi 71a0: 74 76 65 63 2e 6c 6f 20 62 74 6d 75 74 65 78 2e tvec.lo btmutex. 71b0: 6c 6f 20 62 74 72 65 65 2e 6c 6f 20 62 75 69 6c lo btree.lo buil 71c0: 64 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 d.lo \. 71d0: 63 61 6c 6c 62 61 63 6b 2e 6c 6f 20 63 6f 6d 70 callback.lo comp 71e0: 6c 65 74 65 2e 6c 6f 20 63 74 69 6d 65 2e 6c 6f lete.lo ctime.lo 71f0: 20 64 61 74 65 2e 6c 6f 20 64 62 73 74 61 74 2e date.lo dbstat. 7200: 6c 6f 20 64 65 6c 65 74 65 2e 6c 6f 20 5c 0a 20 lo delete.lo \. 7210: 20 20 20 20 20 20 20 20 65 78 70 72 2e 6c 6f 20 expr.lo 7220: 66 61 75 6c 74 2e 6c 6f 20 66 6b 65 79 2e 6c 6f fault.lo fkey.lo 7230: 20 5c 0a 20 20 20 20 20 20 20 20 20 66 74 73 33 \. fts3 7240: 2e 6c 6f 20 66 74 73 33 5f 61 75 78 2e 6c 6f 20 .lo fts3_aux.lo 7250: 66 74 73 33 5f 65 78 70 72 2e 6c 6f 20 66 74 73 fts3_expr.lo fts 7260: 33 5f 68 61 73 68 2e 6c 6f 20 66 74 73 33 5f 69 3_hash.lo fts3_i 7270: 63 75 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 cu.lo \. 7280: 20 66 74 73 33 5f 70 6f 72 74 65 72 2e 6c 6f 20 fts3_porter.lo 7290: 66 74 73 33 5f 73 6e 69 70 70 65 74 2e 6c 6f 20 fts3_snippet.lo 72a0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 2e 6c fts3_tokenizer.l 72b0: 6f 20 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 o fts3_tokenizer 72c0: 31 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 1.lo \. 72d0: 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 fts3_tokenize_vt 72e0: 61 62 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f ab.lo fts3_unico 72f0: 64 65 2e 6c 6f 20 66 74 73 33 5f 75 6e 69 63 6f de.lo fts3_unico 7300: 64 65 32 2e 6c 6f 20 66 74 73 33 5f 77 72 69 74 de2.lo fts3_writ 7310: 65 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 e.lo \. 7320: 66 74 73 35 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 fts5.lo \. 7330: 20 20 20 66 75 6e 63 2e 6c 6f 20 67 6c 6f 62 61 func.lo globa 7340: 6c 2e 6c 6f 20 68 61 73 68 2e 6c 6f 20 5c 0a 20 l.lo hash.lo \. 7350: 20 20 20 20 20 20 20 20 69 63 75 2e 6c 6f 20 69 icu.lo i 7360: 6e 73 65 72 74 2e 6c 6f 20 6c 65 67 61 63 79 2e nsert.lo legacy. 7370: 6c 6f 20 6c 6f 61 64 65 78 74 2e 6c 6f 20 5c 0a lo loadext.lo \. 7380: 20 20 20 20 20 20 20 20 20 6d 61 69 6e 2e 6c 6f main.lo 7390: 20 6d 61 6c 6c 6f 63 2e 6c 6f 20 6d 65 6d 30 2e malloc.lo mem0. 73a0: 6c 6f 20 6d 65 6d 31 2e 6c 6f 20 6d 65 6d 32 2e lo mem1.lo mem2. 73b0: 6c 6f 20 6d 65 6d 33 2e 6c 6f 20 6d 65 6d 35 2e lo mem3.lo mem5. 73c0: 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 6d 65 lo \. me 73d0: 6d 6a 6f 75 72 6e 61 6c 2e 6c 6f 20 5c 0a 20 20 mjournal.lo \. 73e0: 20 20 20 20 20 20 20 6d 75 74 65 78 2e 6c 6f 20 mutex.lo 73f0: 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f 20 6d 75 mutex_noop.lo mu 7400: 74 65 78 5f 75 6e 69 78 2e 6c 6f 20 6d 75 74 65 tex_unix.lo mute 7410: 78 5f 77 33 32 2e 6c 6f 20 5c 0a 20 20 20 20 20 x_w32.lo \. 7420: 20 20 20 20 6e 6f 74 69 66 79 2e 6c 6f 20 6f 70 notify.lo op 7430: 63 6f 64 65 73 2e 6c 6f 20 6f 73 2e 6c 6f 20 6f codes.lo os.lo o 7440: 73 5f 75 6e 69 78 2e 6c 6f 20 6f 73 5f 77 69 6e s_unix.lo os_win 7450: 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 70 .lo \. p 7460: 61 67 65 72 2e 6c 6f 20 70 63 61 63 68 65 2e 6c ager.lo pcache.l 7470: 6f 20 70 63 61 63 68 65 31 2e 6c 6f 20 70 72 61 o pcache1.lo pra 7480: 67 6d 61 2e 6c 6f 20 70 72 65 70 61 72 65 2e 6c gma.lo prepare.l 7490: 6f 20 70 72 69 6e 74 66 2e 6c 6f 20 5c 0a 20 20 o printf.lo \. 74a0: 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 2e 6c 6f random.lo 74b0: 20 72 65 73 6f 6c 76 65 2e 6c 6f 20 72 6f 77 73 resolve.lo rows 74c0: 65 74 2e 6c 6f 20 72 74 72 65 65 2e 6c 6f 20 5c et.lo rtree.lo \ 74d0: 0a 20 20 20 20 20 20 20 20 20 73 71 6c 69 74 65 . sqlite 74e0: 33 73 65 73 73 69 6f 6e 2e 6c 6f 20 73 65 6c 65 3session.lo sele 74f0: 63 74 2e 6c 6f 20 73 71 6c 69 74 65 33 72 62 75 ct.lo sqlite3rbu 7500: 2e 6c 6f 20 73 74 61 74 75 73 2e 6c 6f 20 5c 0a .lo status.lo \. 7510: 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 2e 6c table.l 7520: 6f 20 74 68 72 65 61 64 73 2e 6c 6f 20 74 6f 6b o threads.lo tok 7530: 65 6e 69 7a 65 2e 6c 6f 20 74 72 65 65 76 69 65 enize.lo treevie 7540: 77 2e 6c 6f 20 74 72 69 67 67 65 72 2e 6c 6f 20 w.lo trigger.lo 7550: 5c 0a 20 20 20 20 20 20 20 20 20 75 70 64 61 74 \. updat 7560: 65 2e 6c 6f 20 75 74 69 6c 2e 6c 6f 20 76 61 63 e.lo util.lo vac 7570: 75 75 6d 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 uum.lo \. 7580: 20 20 76 64 62 65 61 70 69 2e 6c 6f 20 76 64 62 vdbeapi.lo vdb 7590: 65 61 75 78 2e 6c 6f 20 76 64 62 65 62 6c 6f 62 eaux.lo vdbeblob 75a0: 2e 6c 6f 20 76 64 62 65 6d 65 6d 2e 6c 6f 20 76 .lo vdbemem.lo v 75b0: 64 62 65 73 6f 72 74 2e 6c 6f 20 5c 0a 20 20 20 dbesort.lo \. 75c0: 20 20 20 20 20 20 76 64 62 65 74 72 61 63 65 2e vdbetrace. 75d0: 6c 6f 20 77 61 6c 2e 6c 6f 20 77 61 6c 6b 65 72 lo wal.lo walker 75e0: 2e 6c 6f 20 77 68 65 72 65 2e 6c 6f 20 77 68 65 .lo where.lo whe 75f0: 72 65 63 6f 64 65 2e 6c 6f 20 77 68 65 72 65 65 recode.lo wheree 7600: 78 70 72 2e 6c 6f 20 5c 0a 20 20 20 20 20 20 20 xpr.lo \. 7610: 20 20 75 74 66 2e 6c 6f 20 76 74 61 62 2e 6c 6f utf.lo vtab.lo 7620: 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 .# <</mark>>..# 7630: 4f 62 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 Object files for 7640: 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f the amalgamatio 7650: 6e 2e 0a 23 0a 4c 49 42 4f 42 4a 53 31 20 3d 20 n..#.LIBOBJS1 = 7660: 73 71 6c 69 74 65 33 2e 6c 6f 0a 0a 23 20 44 65 sqlite3.lo..# De 7670: 74 65 72 6d 69 6e 65 20 74 68 65 20 72 65 61 6c termine the real 7680: 20 76 61 6c 75 65 20 6f 66 20 4c 49 42 4f 42 4a value of LIBOBJ 7690: 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 27 63 based on the 'c 76a0: 6f 6e 66 69 67 75 72 65 27 20 73 63 72 69 70 74 onfigure' script 76b0: 0a 23 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 21 49 .#.# <<mark>>.!I 76c0: 46 20 24 28 55 53 45 5f 41 4d 41 4c 47 41 4d 41 F$(USE_AMALGAMA
76d0: 54 49 4f 4e 29 3d 3d 30 0a 4c 49 42 4f 42 4a 20  TION)==0.LIBOBJ
76e0: 3d 20 24 28 4c 49 42 4f 42 4a 53 30 29 0a 21 45  = $(LIBOBJS0).!E 76f0: 4c 53 45 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a LSE.# <</mark>>. 7700: 4c 49 42 4f 42 4a 20 3d 20 24 28 4c 49 42 4f 42 LIBOBJ =$(LIBOB
7710: 4a 53 31 29 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  JS1).# <<mark>>.
7720: 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b  !ENDIF.# <</mark
7730: 3e 3e 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20  >>..# Determine
7740: 69 66 20 65 6d 62 65 64 64 65 64 20 72 65 73 6f  if embedded reso
7750: 75 72 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e  urce compilation
7760: 20 61 6e 64 20 75 73 61 67 65 20 61 72 65 20 65   and usage are e
7770: 6e 61 62 6c 65 64 2e 0a 23 0a 21 49 46 20 24 28  nabled..#.!IF $( 7780: 55 53 45 5f 52 43 29 21 3d 30 0a 4c 49 42 52 45 USE_RC)!=0.LIBRE 7790: 53 4f 42 4a 53 20 3d 20 73 71 6c 69 74 65 33 72 SOBJS = sqlite3r 77a0: 65 73 2e 6c 6f 0a 21 45 4c 53 45 0a 4c 49 42 52 es.lo.!ELSE.LIBR 77b0: 45 53 4f 42 4a 53 20 3d 0a 21 45 4e 44 49 46 0a ESOBJS =.!ENDIF. 77c0: 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 43 6f .# <<mark>>.# Co 77d0: 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 re source code f 77e0: 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a 23 0a iles, part 1..#. 77f0: 53 52 43 30 30 20 3d 20 5c 0a 20 20 24 28 54 4f SRC00 = \.$(TO
7800: 50 29 5c 73 72 63 5c 61 6c 74 65 72 2e 63 20 5c  P)\src\alter.c \
7810: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61 6e  .  $(TOP)\src\an 7820: 61 6c 79 7a 65 2e 63 20 5c 0a 20 20 24 28 54 4f alyze.c \.$(TO
7830: 50 29 5c 73 72 63 5c 61 74 74 61 63 68 2e 63 20  P)\src\attach.c
7840: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 61  \.  $(TOP)\src\a 7850: 75 74 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 uth.c \.$(TOP)
7860: 5c 73 72 63 5c 62 61 63 6b 75 70 2e 63 20 5c 0a  \src\backup.c \.
7870: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 69 74    $(TOP)\src\bit 7880: 76 65 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 vec.c \.$(TOP)
7890: 5c 73 72 63 5c 62 74 6d 75 74 65 78 2e 63 20 5c  \src\btmutex.c \
78a0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74  .  $(TOP)\src\bt 78b0: 72 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 ree.c \.$(TOP)
78c0: 5c 73 72 63 5c 62 75 69 6c 64 2e 63 20 5c 0a 20  \src\build.c \.
78d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 61 6c 6c   $(TOP)\src\call 78e0: 62 61 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 back.c \.$(TOP
78f0: 29 5c 73 72 63 5c 63 6f 6d 70 6c 65 74 65 2e 63  )\src\complete.c
7900: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7910: 63 74 69 6d 65 2e 63 20 5c 0a 20 20 24 28 54 4f ctime.c \.$(TO
7920: 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 20 5c 0a  P)\src\date.c \.
7930: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 62 73    $(TOP)\src\dbs 7940: 74 61 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 tat.c \.$(TOP)
7950: 5c 73 72 63 5c 64 65 6c 65 74 65 2e 63 20 5c 0a  \src\delete.c \.
7960: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 65 78 70    $(TOP)\src\exp 7970: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 r.c \.$(TOP)\s
7980: 72 63 5c 66 61 75 6c 74 2e 63 20 5c 0a 20 20 24  rc\fault.c \.  $7990: 28 54 4f 50 29 5c 73 72 63 5c 66 6b 65 79 2e 63 (TOP)\src\fkey.c 79a0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
79b0: 66 75 6e 63 2e 63 20 5c 0a 20 20 24 28 54 4f 50  func.c \.  $(TOP 79c0: 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e 63 20 5c )\src\global.c \ 79d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 61 .$(TOP)\src\ha
79e0: 73 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  sh.c \.  $(TOP)\ 79f0: 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 5c 0a 20 src\insert.c \. 7a00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6c 65 67 61$(TOP)\src\lega
7a10: 63 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cy.c \.  $(TOP)\ 7a20: 73 72 63 5c 6c 6f 61 64 65 78 74 2e 63 20 5c 0a src\loadext.c \. 7a30: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 61 69$(TOP)\src\mai
7a40: 6e 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  n.c \.  $(TOP)\s 7a50: 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 5c 0a 20 20 rc\malloc.c \. 7a60: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 30 2e$(TOP)\src\mem0.
7a70: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7a80: 5c 6d 65 6d 31 2e 63 20 5c 0a 20 20 24 28 54 4f \mem1.c \.$(TO
7a90: 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63 20 5c 0a  P)\src\mem2.c \.
7aa0: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d    $(TOP)\src\mem 7ab0: 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 3.c \.$(TOP)\s
7ac0: 72 63 5c 6d 65 6d 35 2e 63 20 5c 0a 20 20 24 28  rc\mem5.c \.  $( 7ad0: 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 TOP)\src\memjour 7ae0: 6e 61 6c 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 nal.c \.$(TOP)
7af0: 5c 73 72 63 5c 6d 75 74 65 78 2e 63 20 5c 0a 20  \src\mutex.c \.
7b00: 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65   $(TOP)\src\mute 7b10: 78 5f 6e 6f 6f 70 2e 63 20 5c 0a 20 20 24 28 54 x_noop.c \.$(T
7b20: 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f 75 6e  OP)\src\mutex_un
7b30: 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ix.c \.  $(TOP)\ 7b40: 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e 63 20 src\mutex_w32.c 7b50: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e \.$(TOP)\src\n
7b60: 6f 74 69 66 79 2e 63 20 5c 0a 20 20 24 28 54 4f  otify.c \.  $(TO 7b70: 50 29 5c 73 72 63 5c 6f 73 2e 63 20 5c 0a 20 20 P)\src\os.c \. 7b80: 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 75 6e$(TOP)\src\os_un
7b90: 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ix.c \.  $(TOP)\ 7ba0: 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a 23 20 src\os_win.c..# 7bb0: 43 6f 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65 Core source code 7bc0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a files, part 2.. 7bd0: 23 0a 53 52 43 30 31 20 3d 20 5c 0a 20 20 24 28 #.SRC01 = \.$(
7be0: 54 4f 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 63  TOP)\src\pager.c
7bf0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7c00: 70 63 61 63 68 65 2e 63 20 5c 0a 20 20 24 28 54 pcache.c \.$(T
7c10: 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 31 2e  OP)\src\pcache1.
7c20: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 7c30: 5c 70 72 61 67 6d 61 2e 63 20 5c 0a 20 20 24 28 \pragma.c \.$(
7c40: 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65  TOP)\src\prepare
7c50: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 7c60: 63 5c 70 72 69 6e 74 66 2e 63 20 5c 0a 20 20 24 c\printf.c \.$
7c70: 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64 6f 6d  (TOP)\src\random
7c80: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 7c90: 63 5c 72 65 73 6f 6c 76 65 2e 63 20 5c 0a 20 20 c\resolve.c \. 7ca0: 24 28 54 4f 50 29 5c 73 72 63 5c 72 6f 77 73 65$(TOP)\src\rowse
7cb0: 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.c \.  $(TOP)\s 7cc0: 72 63 5c 73 65 6c 65 63 74 2e 63 20 5c 0a 20 20 rc\select.c \. 7cd0: 24 28 54 4f 50 29 5c 73 72 63 5c 73 74 61 74 75$(TOP)\src\statu
7ce0: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s 7cf0: 72 63 5c 74 61 62 6c 65 2e 63 20 5c 0a 20 20 24 rc\table.c \.$
7d00: 28 54 4f 50 29 5c 73 72 63 5c 74 68 72 65 61 64  (TOP)\src\thread
7d10: 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  s.c \.  $(TOP)\s 7d20: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 5c rc\tclsqlite.c \ 7d30: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 6f .$(TOP)\src\to
7d40: 6b 65 6e 69 7a 65 2e 63 20 5c 0a 20 20 24 28 54  kenize.c \.  $(T 7d50: 4f 50 29 5c 73 72 63 5c 74 72 65 65 76 69 65 77 OP)\src\treeview 7d60: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
7d70: 63 5c 74 72 69 67 67 65 72 2e 63 20 5c 0a 20 20  c\trigger.c \.
7d80: 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 66 2e 63  $(TOP)\src\utf.c 7d90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7da0: 75 70 64 61 74 65 2e 63 20 5c 0a 20 20 24 28 54  update.c \.  $(T 7db0: 4f 50 29 5c 73 72 63 5c 75 74 69 6c 2e 63 20 5c OP)\src\util.c \ 7dc0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 .$(TOP)\src\va
7dd0: 63 75 75 6d 2e 63 20 5c 0a 20 20 24 28 54 4f 50  cuum.c \.  $(TOP 7de0: 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 5c 0a 20 )\src\vdbe.c \. 7df0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65$(TOP)\src\vdbe
7e00: 61 70 69 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  api.c \.  $(TOP) 7e10: 5c 73 72 63 5c 76 64 62 65 61 75 78 2e 63 20 5c \src\vdbeaux.c \ 7e20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 .$(TOP)\src\vd
7e30: 62 65 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54  beblob.c \.  $(T 7e40: 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e OP)\src\vdbemem. 7e50: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
7e60: 5c 76 64 62 65 73 6f 72 74 2e 63 20 5c 0a 20 20  \vdbesort.c \.
7e70: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 74  $(TOP)\src\vdbet 7e80: 72 61 63 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 race.c \.$(TOP
7e90: 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 5c 0a 20  )\src\vtab.c \.
7ea0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e   $(TOP)\src\wal. 7eb0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
7ec0: 5c 77 61 6c 6b 65 72 2e 63 20 5c 0a 20 20 24 28  \walker.c \.  $( 7ed0: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 2e 63 TOP)\src\where.c 7ee0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
7ef0: 77 68 65 72 65 63 6f 64 65 2e 63 20 5c 0a 20 20  wherecode.c \.
7f00: 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65  $(TOP)\src\where 7f10: 65 78 70 72 2e 63 0a 0a 23 20 53 68 65 6c 6c 20 expr.c..# Shell 7f20: 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 source code file 7f30: 73 2e 0a 23 0a 53 52 43 30 32 20 3d 20 5c 0a 20 s..#.SRC02 = \. 7f40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 68 65 6c$(TOP)\src\shel
7f50: 6c 2e 63 0a 0a 23 20 43 6f 72 65 20 6d 69 73 63  l.c..# Core misc
7f60: 65 6c 6c 61 6e 65 6f 75 73 20 66 69 6c 65 73 2e  ellaneous files.
7f70: 0a 23 0a 53 52 43 30 33 20 3d 20 5c 0a 20 20 24  .#.SRC03 = \.  $7f80: 28 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e (TOP)\src\parse. 7f90: 79 0a 0a 23 20 43 6f 72 65 20 68 65 61 64 65 72 y..# Core header 7fa0: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e 0a files, part 1.. 7fb0: 23 0a 53 52 43 30 34 20 3d 20 5c 0a 20 20 24 28 #.SRC04 = \.$(
7fc0: 54 4f 50 29 5c 73 72 63 5c 62 74 72 65 65 2e 68  TOP)\src\btree.h
7fd0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 7fe0: 62 74 72 65 65 49 6e 74 2e 68 20 5c 0a 20 20 24 btreeInt.h \.$
7ff0: 28 54 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68  (TOP)\src\hash.h
8000: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c   \.  $(TOP)\src\ 8010: 68 77 74 69 6d 65 2e 68 20 5c 0a 20 20 24 28 54 hwtime.h \.$(T
8020: 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e 68 20 5c  OP)\src\msvc.h \
8030: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75  .  $(TOP)\src\mu 8040: 74 65 78 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 tex.h \.$(TOP)
8050: 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a 20 20 24 28  \src\os.h \.  $( 8060: 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 63 6f 6d 6d TOP)\src\os_comm 8070: 6f 6e 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c on.h \.$(TOP)\
8080: 73 72 63 5c 6f 73 5f 73 65 74 75 70 2e 68 20 5c  src\os_setup.h \
8090: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73  .  $(TOP)\src\os 80a0: 5f 77 69 6e 2e 68 0a 0a 23 20 43 6f 72 65 20 68 _win.h..# Core h 80b0: 65 61 64 65 72 20 66 69 6c 65 73 2c 20 70 61 72 eader files, par 80c0: 74 20 32 2e 0a 23 0a 53 52 43 30 35 20 3d 20 5c t 2..#.SRC05 = \ 80d0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 .$(TOP)\src\pa
80e0: 67 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ger.h \.  $(TOP) 80f0: 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c 0a \src\pcache.h \. 8100: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61$(TOP)\src\pra
8110: 67 6d 61 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  gma.h \.  $(TOP) 8120: 5c 73 72 63 5c 73 71 6c 69 74 65 2e 68 2e 69 6e \src\sqlite.h.in 8130: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8140: 73 71 6c 69 74 65 33 65 78 74 2e 68 20 5c 0a 20  sqlite3ext.h \.
8150: 20 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69   $(TOP)\src\sqli 8160: 74 65 49 6e 74 2e 68 20 5c 0a 20 20 24 28 54 4f teInt.h \.$(TO
8170: 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d  P)\src\sqliteLim
8180: 69 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  it.h \.  $(TOP)\ 8190: 73 72 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 24 src\vdbe.h \.$
81a0: 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e  (TOP)\src\vdbeIn
81b0: 74 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  t.h \.  $(TOP)\s 81c0: 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 rc\vxworks.h \. 81d0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c 2e$(TOP)\src\wal.
81e0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  h \.  $(TOP)\src 81f0: 5c 77 68 65 72 65 49 6e 74 2e 68 0a 0a 23 20 45 \whereInt.h..# E 8200: 78 74 65 6e 73 69 6f 6e 20 73 6f 75 72 63 65 20 xtension source 8210: 63 6f 64 65 20 66 69 6c 65 73 2c 20 70 61 72 74 code files, part 8220: 20 31 2e 0a 23 0a 53 52 43 30 36 20 3d 20 5c 0a 1..#.SRC06 = \. 8230: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
8240: 31 5c 66 74 73 31 2e 63 20 5c 0a 20 20 24 28 54  1\fts1.c \.  $(T 8250: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 OP)\ext\fts1\fts 8260: 31 5f 68 61 73 68 2e 63 20 5c 0a 20 20 24 28 54 1_hash.c \.$(T
8270: 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 74 73  OP)\ext\fts1\fts
8280: 31 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 20 24  1_porter.c \.  $8290: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 (TOP)\ext\fts1\f 82a0: 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 ts1_tokenizer1.c 82b0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
82c0: 66 74 73 32 5c 66 74 73 32 2e 63 20 5c 0a 20 20  fts2\fts2.c \.
82d0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c  $(TOP)\ext\fts2\ 82e0: 66 74 73 32 5f 68 61 73 68 2e 63 20 5c 0a 20 20 fts2_hash.c \. 82f0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c$(TOP)\ext\fts2\
8300: 66 74 73 32 5f 69 63 75 2e 63 20 5c 0a 20 20 24  fts2_icu.c \.  $8310: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f 8320: 74 73 32 5f 70 6f 72 74 65 72 2e 63 20 5c 0a 20 ts2_porter.c \. 8330: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32$(TOP)\ext\fts2
8340: 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2e  \fts2_tokenizer.
8350: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 8360: 5c 66 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e \fts2\fts2_token 8370: 69 7a 65 72 31 2e 63 0a 0a 23 20 45 78 74 65 6e izer1.c..# Exten 8380: 73 69 6f 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 sion source code 8390: 20 66 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a files, part 2.. 83a0: 23 0a 53 52 43 30 37 20 3d 20 5c 0a 20 20 24 28 #.SRC07 = \.$(
83b0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
83c0: 73 33 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  s3.c \.  $(TOP)\ 83d0: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 ext\fts3\fts3_au 83e0: 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 x.c \.$(TOP)\e
83f0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 65 78 70  xt\fts3\fts3_exp
8400: 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  r.c \.  $(TOP)\e 8410: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 xt\fts3\fts3_has 8420: 68 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 h.c \.$(TOP)\e
8430: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63 75  xt\fts3\fts3_icu
8440: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 8450: 74 5c 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 t\fts3\fts3_port 8460: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c er.c \.$(TOP)\
8470: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e  ext\fts3\fts3_sn
8480: 69 70 70 65 74 2e 63 20 5c 0a 20 20 24 28 54 4f  ippet.c \.  $(TO 8490: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 84a0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 5c 0a 20 _tokenizer.c \. 84b0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33$(TOP)\ext\fts3
84c0: 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31  \fts3_tokenizer1
84d0: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .c \.  $(TOP)\ex 84e0: 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 t\fts3\fts3_toke 84f0: 6e 69 7a 65 5f 76 74 61 62 2e 63 20 5c 0a 20 20 nize_vtab.c \. 8500: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
8510: 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e 63 20 5c  fts3_unicode.c \
8520: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 8530: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 32 s3\fts3_unicode2 8540: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
8550: 74 5c 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74  t\fts3\fts3_writ
8560: 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  e.c \.  $(TOP)\e 8570: 78 74 5c 69 63 75 5c 69 63 75 2e 63 20 5c 0a 20 xt\icu\icu.c \. 8580: 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74 72 65$(TOP)\ext\rtre
8590: 65 5c 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 28  e\rtree.c \.  $( 85a0: 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69 6f 6e TOP)\ext\session 85b0: 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e \sqlite3session. 85c0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 c \.$(TOP)\ext
85d0: 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e  \rbu\sqlite3rbu.
85e0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  c \.  $(TOP)\ext 85f0: 5c 6d 69 73 63 5c 6a 73 6f 6e 31 2e 63 0a 0a 23 \misc\json1.c..# 8600: 20 45 78 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 Extension heade 8610: 72 20 66 69 6c 65 73 2c 20 70 61 72 74 20 31 2e r files, part 1. 8620: 0a 23 0a 53 52 43 30 38 20 3d 20 5c 0a 20 20 24 .#.SRC08 = \.$
8630: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
8640: 74 73 31 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ts1.h \.  $(TOP) 8650: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 68 \ext\fts1\fts1_h 8660: 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 ash.h \.$(TOP)
8670: 5c 65 78 74 5c 66 74 73 31 5c 66 74 73 31 5f 74  \ext\fts1\fts1_t
8680: 6f 6b 65 6e 69 7a 65 72 2e 68 20 5c 0a 20 20 24  okenizer.h \.  $8690: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 (TOP)\ext\fts2\f 86a0: 74 73 32 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 ts2.h \.$(TOP)
86b0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68  \ext\fts2\fts2_h
86c0: 61 73 68 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29  ash.h \.  $(TOP) 86d0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 74 \ext\fts2\fts2_t 86e0: 6f 6b 65 6e 69 7a 65 72 2e 68 0a 0a 23 20 45 78 okenizer.h..# Ex 86f0: 74 65 6e 73 69 6f 6e 20 68 65 61 64 65 72 20 66 tension header f 8700: 69 6c 65 73 2c 20 70 61 72 74 20 32 2e 0a 23 0a iles, part 2..#. 8710: 53 52 43 30 39 20 3d 20 5c 0a 20 20 24 28 54 4f SRC09 = \.$(TO
8720: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
8730: 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78  .h \.  $(TOP)\ex 8740: 74 5c 66 74 73 33 5c 66 74 73 33 49 6e 74 2e 68 t\fts3\fts3Int.h 8750: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8760: 66 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 68  fts3\fts3_hash.h
8770: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8780: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 fts3\fts3_tokeni 8790: 7a 65 72 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 zer.h \.$(TOP)
87a0: 5c 65 78 74 5c 69 63 75 5c 73 71 6c 69 74 65 69  \ext\icu\sqlitei
87b0: 63 75 2e 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c  cu.h \.  $(TOP)\ 87c0: 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 2e ext\rtree\rtree. 87d0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 h \.$(TOP)\ext
87e0: 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e  \rbu\sqlite3rbu.
87f0: 68 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  h \.  $(TOP)\ext 8800: 5c 73 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 \session\sqlite3 8810: 73 65 73 73 69 6f 6e 2e 68 0a 0a 23 20 47 65 6e session.h..# Gen 8820: 65 72 61 74 65 64 20 73 6f 75 72 63 65 20 63 6f erated source co 8830: 64 65 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 30 de files.#.SRC10 8840: 20 3d 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 63 = \. opcodes.c 8850: 20 5c 0a 20 20 70 61 72 73 65 2e 63 0a 0a 23 20 \. parse.c..# 8860: 47 65 6e 65 72 61 74 65 64 20 68 65 61 64 65 72 Generated header 8870: 20 66 69 6c 65 73 0a 23 0a 53 52 43 31 31 20 3d files.#.SRC11 = 8880: 20 5c 0a 20 20 6b 65 79 77 6f 72 64 68 61 73 68 \. keywordhash 8890: 2e 68 20 5c 0a 20 20 6f 70 63 6f 64 65 73 2e 68 .h \. opcodes.h 88a0: 20 5c 0a 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 \. parse.h \. 88b0: 20 24 28 53 51 4c 49 54 45 33 48 29 0a 0a 23 20$(SQLITE3H)..#
88c0: 47 65 6e 65 72 61 74 65 64 20 54 63 6c 20 68 65  Generated Tcl he
88d0: 61 64 65 72 20 66 69 6c 65 73 0a 23 0a 21 49 46  ader files.#.!IF
88e0: 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21   $(USE_STDCALL)! 88f0: 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 =0 ||$(FOR_WIN1
8900: 30 29 21 3d 30 0a 53 52 43 31 32 20 3d 20 5c 0a  0)!=0.SRC12 = \.
8910: 20 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 20    $(SQLITETCLH) 8920: 5c 0a 20 20 24 28 53 51 4c 49 54 45 54 43 4c 44 \.$(SQLITETCLD
8930: 45 43 4c 53 48 29 0a 21 45 4c 53 45 0a 53 52 43  ECLSH).!ELSE.SRC
8940: 31 32 20 3d 0a 21 45 4e 44 49 46 0a 0a 23 20 41  12 =.!ENDIF..# A
8950: 6c 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  ll source code f
8960: 69 6c 65 73 2e 0a 23 0a 53 52 43 20 3d 20 24 28  iles..#.SRC = $( 8970: 53 52 43 30 30 29 20 24 28 53 52 43 30 31 29 20 SRC00)$(SRC01)
8980: 24 28 53 52 43 30 32 29 20 24 28 53 52 43 30 33  $(SRC02)$(SRC03
8990: 29 20 24 28 53 52 43 30 34 29 20 24 28 53 52 43  ) $(SRC04)$(SRC
89a0: 30 35 29 20 24 28 53 52 43 30 36 29 20 24 28 53  05) $(SRC06)$(S
89b0: 52 43 30 37 29 20 24 28 53 52 43 30 38 29 20 24  RC07) $(SRC08)$
89c0: 28 53 52 43 30 39 29 20 24 28 53 52 43 31 30 29  (SRC09) $(SRC10) 89d0: 20 24 28 53 52 43 31 31 29 0a 0a 23 20 53 6f 75$(SRC11)..# Sou
89e0: 72 63 65 20 63 6f 64 65 20 74 6f 20 74 68 65 20  rce code to the
89f0: 74 65 73 74 20 66 69 6c 65 73 2e 0a 23 0a 54 45  test files..#.TE
8a00: 53 54 53 52 43 20 3d 20 5c 0a 20 20 24 28 54 4f  STSRC = \.  $(TO 8a10: 50 29 5c 73 72 63 5c 74 65 73 74 31 2e 63 20 5c P)\src\test1.c \ 8a20: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
8a30: 73 74 32 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  st2.c \.  $(TOP) 8a40: 5c 73 72 63 5c 74 65 73 74 33 2e 63 20 5c 0a 20 \src\test3.c \. 8a50: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
8a60: 34 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  4.c \.  $(TOP)\s 8a70: 72 63 5c 74 65 73 74 35 2e 63 20 5c 0a 20 20 24 rc\test5.c \.$
8a80: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 36 2e  (TOP)\src\test6.
8a90: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8aa0: 5c 74 65 73 74 37 2e 63 20 5c 0a 20 20 24 28 54 \test7.c \.$(T
8ab0: 4f 50 29 5c 73 72 63 5c 74 65 73 74 38 2e 63 20  OP)\src\test8.c
8ac0: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8ad0: 65 73 74 39 2e 63 20 5c 0a 20 20 24 28 54 4f 50 est9.c \.$(TOP
8ae0: 29 5c 73 72 63 5c 74 65 73 74 5f 61 75 74 6f 65  )\src\test_autoe
8af0: 78 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  xt.c \.  $(TOP)\ 8b00: 73 72 63 5c 74 65 73 74 5f 61 73 79 6e 63 2e 63 src\test_async.c 8b10: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c \.$(TOP)\src\
8b20: 74 65 73 74 5f 62 61 63 6b 75 70 2e 63 20 5c 0a  test_backup.c \.
8b30: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73    $(TOP)\src\tes 8b40: 74 5f 62 65 73 74 69 6e 64 65 78 2e 63 20 5c 0a t_bestindex.c \. 8b50: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
8b60: 74 5f 62 6c 6f 62 2e 63 20 5c 0a 20 20 24 28 54  t_blob.c \.  $(T 8b70: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 62 74 72 OP)\src\test_btr 8b80: 65 65 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c ee.c \.$(TOP)\
8b90: 73 72 63 5c 74 65 73 74 5f 63 6f 6e 66 69 67 2e  src\test_config.
8ba0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63  c \.  $(TOP)\src 8bb0: 5c 74 65 73 74 5f 64 65 6c 65 74 65 2e 63 20 5c \test_delete.c \ 8bc0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
8bd0: 73 74 5f 64 65 6d 6f 76 66 73 2e 63 20 5c 0a 20  st_demovfs.c \.
8be0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74   $(TOP)\src\test 8bf0: 5f 64 65 76 73 79 6d 2e 63 20 5c 0a 20 20 24 28 _devsym.c \.$(
8c00: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 66 73  TOP)\src\test_fs
8c10: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72  .c \.  $(TOP)\sr 8c20: 63 5c 74 65 73 74 5f 66 75 6e 63 2e 63 20 5c 0a c\test_func.c \. 8c30: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73$(TOP)\src\tes
8c40: 74 5f 68 65 78 69 6f 2e 63 20 5c 0a 20 20 24 28  t_hexio.c \.  $( 8c50: 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 69 6e TOP)\src\test_in 8c60: 69 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c it.c \.$(TOP)\
8c70: 73 72 63 5c 74 65 73 74 5f 69 6e 74 61 72 72 61  src\test_intarra
8c80: 79 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73  y.c \.  $(TOP)\s 8c90: 72 63 5c 74 65 73 74 5f 6a 6f 75 72 6e 61 6c 2e rc\test_journal. 8ca0: 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 c \.$(TOP)\src
8cb0: 5c 74 65 73 74 5f 6d 61 6c 6c 6f 63 2e 63 20 5c  \test_malloc.c \
8cc0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 8cd0: 73 74 5f 6d 75 6c 74 69 70 6c 65 78 2e 63 20 5c st_multiplex.c \ 8ce0: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 .$(TOP)\src\te
8cf0: 73 74 5f 6d 75 74 65 78 2e 63 20 5c 0a 20 20 24  st_mutex.c \.  $8d00: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f (TOP)\src\test_o 8d10: 6e 65 66 69 6c 65 2e 63 20 5c 0a 20 20 24 28 54 nefile.c \.$(T
8d20: 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 6f 73 69  OP)\src\test_osi
8d30: 6e 73 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  nst.c \.  $(TOP) 8d40: 5c 73 72 63 5c 74 65 73 74 5f 70 63 61 63 68 65 \src\test_pcache 8d50: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8d60: 63 5c 74 65 73 74 5f 71 75 6f 74 61 2e 63 20 5c  c\test_quota.c \
8d70: 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65  .  $(TOP)\src\te 8d80: 73 74 5f 72 74 72 65 65 2e 63 20 5c 0a 20 20 24 st_rtree.c \.$
8d90: 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f 73  (TOP)\src\test_s
8da0: 63 68 65 6d 61 2e 63 20 5c 0a 20 20 24 28 54 4f  chema.c \.  $(TO 8db0: 50 29 5c 73 72 63 5c 74 65 73 74 5f 73 65 72 76 P)\src\test_serv 8dc0: 65 72 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c er.c \.$(TOP)\
8dd0: 73 72 63 5c 74 65 73 74 5f 73 75 70 65 72 6c 6f  src\test_superlo
8de0: 63 6b 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c  ck.c \.  $(TOP)\ 8df0: 73 72 63 5c 74 65 73 74 5f 73 79 73 63 61 6c 6c src\test_syscall 8e00: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 .c \.$(TOP)\sr
8e10: 63 5c 74 65 73 74 5f 74 63 6c 76 61 72 2e 63 20  c\test_tclvar.c
8e20: 5c 0a 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 74  \.  $(TOP)\src\t 8e30: 65 73 74 5f 74 68 72 65 61 64 2e 63 20 5c 0a 20 est_thread.c \. 8e40: 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74$(TOP)\src\test
8e50: 5f 76 66 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50  _vfs.c \.  $(TOP 8e60: 29 5c 73 72 63 5c 74 65 73 74 5f 77 69 6e 64 69 )\src\test_windi 8e70: 72 65 6e 74 2e 63 20 5c 0a 20 20 24 28 54 4f 50 rent.c \.$(TOP
8e80: 29 5c 73 72 63 5c 74 65 73 74 5f 77 73 64 2e 63  )\src\test_wsd.c
8e90: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8ea0: 66 74 73 33 5c 66 74 73 33 5f 74 65 72 6d 2e 63 fts3\fts3_term.c 8eb0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
8ec0: 66 74 73 33 5c 66 74 73 33 5f 74 65 73 74 2e 63  fts3\fts3_test.c
8ed0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 8ee0: 72 62 75 5c 74 65 73 74 5f 72 62 75 2e 63 20 5c rbu\test_rbu.c \ 8ef0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 .$(TOP)\ext\se
8f00: 73 73 69 6f 6e 5c 74 65 73 74 5f 73 65 73 73 69  ssion\test_sessi
8f10: 6f 6e 2e 63 0a 0a 23 20 53 74 61 74 69 63 61 6c  on.c..# Statical
8f20: 6c 79 20 6c 69 6e 6b 65 64 20 65 78 74 65 6e 73  ly linked extens
8f30: 69 6f 6e 73 2e 0a 23 0a 54 45 53 54 45 58 54 20  ions..#.TESTEXT
8f40: 3d 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74  = \.  $(TOP)\ext 8f50: 5c 6d 69 73 63 5c 61 6d 61 74 63 68 2e 63 20 5c \misc\amatch.c \ 8f60: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
8f70: 73 63 5c 63 61 72 72 61 79 2e 63 20 5c 0a 20 20  sc\carray.c \.
8f80: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ 8f90: 63 6c 6f 73 75 72 65 2e 63 20 5c 0a 20 20 24 28 closure.c \.$(
8fa0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 63 73  TOP)\ext\misc\cs
8fb0: 76 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65  v.c \.  $(TOP)\e 8fc0: 78 74 5c 6d 69 73 63 5c 65 76 61 6c 2e 63 20 5c xt\misc\eval.c \ 8fd0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 .$(TOP)\ext\mi
8fe0: 73 63 5c 66 69 6c 65 69 6f 2e 63 20 5c 0a 20 20  sc\fileio.c \.
8ff0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ 9000: 66 75 7a 7a 65 72 2e 63 20 5c 0a 20 20 24 28 54 fuzzer.c \.$(T
9010: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
9020: 35 5f 74 63 6c 2e 63 20 5c 0a 20 20 24 28 54 4f  5_tcl.c \.  $(TO 9030: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 P)\ext\fts5\fts5 9040: 5f 74 65 73 74 5f 6d 69 2e 63 20 5c 0a 20 20 24 _test_mi.c \.$
9050: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66  (TOP)\ext\fts5\f
9060: 74 73 35 5f 74 65 73 74 5f 74 6f 6b 2e 63 20 5c  ts5_test_tok.c \
9070: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69  .  $(TOP)\ext\mi 9080: 73 63 5c 69 65 65 65 37 35 34 2e 63 20 5c 0a 20 sc\ieee754.c \. 9090: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
90a0: 5c 6e 65 78 74 63 68 61 72 2e 63 20 5c 0a 20 20  \nextchar.c \.
90b0: 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c  $(TOP)\ext\misc\ 90c0: 70 65 72 63 65 6e 74 69 6c 65 2e 63 20 5c 0a 20 percentile.c \. 90d0: 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63$(TOP)\ext\misc
90e0: 5c 72 65 67 65 78 70 2e 63 20 5c 0a 20 20 24 28  \regexp.c \.  $( 90f0: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 65 TOP)\ext\misc\se 9100: 72 69 65 73 2e 63 20 5c 0a 20 20 24 28 54 4f 50 ries.c \.$(TOP
9110: 29 5c 65 78 74 5c 6d 69 73 63 5c 73 70 65 6c 6c  )\ext\misc\spell
9120: 66 69 78 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29  fix.c \.  $(TOP) 9130: 5c 65 78 74 5c 6d 69 73 63 5c 74 6f 74 79 70 65 \ext\misc\totype 9140: 2e 63 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 .c \.$(TOP)\ex
9150: 74 5c 6d 69 73 63 5c 77 68 6f 6c 65 6e 75 6d 62  t\misc\wholenumb
9160: 65 72 2e 63 0a 0a 23 20 53 6f 75 72 63 65 20 63  er.c..# Source c
9170: 6f 64 65 20 74 6f 20 74 68 65 20 6c 69 62 72 61  ode to the libra
9180: 72 79 20 66 69 6c 65 73 20 6e 65 65 64 65 64 20  ry files needed
9190: 62 79 20 74 68 65 20 74 65 73 74 20 66 69 78 74  by the test fixt
91a0: 75 72 65 0a 23 20 28 6e 6f 6e 2d 61 6d 61 6c 67  ure.# (non-amalg
91b0: 61 6d 61 74 69 6f 6e 29 0a 23 0a 54 45 53 54 53  amation).#.TESTS
91c0: 52 43 32 20 3d 20 5c 0a 20 20 24 28 53 52 43 30  RC2 = \.  $(SRC0 91d0: 30 29 20 5c 0a 20 20 24 28 53 52 43 30 31 29 20 0) \.$(SRC01)
91e0: 5c 0a 20 20 24 28 53 52 43 30 36 29 20 5c 0a 20  \.  $(SRC06) \. 91f0: 20 24 28 53 52 43 30 37 29 20 5c 0a 20 20 24 28$(SRC07) \.  $( 9200: 53 52 43 31 30 29 20 5c 0a 20 20 24 28 54 4f 50 SRC10) \.$(TOP
9210: 29 5c 65 78 74 5c 61 73 79 6e 63 5c 73 71 6c 69  )\ext\async\sqli
9220: 74 65 33 61 73 79 6e 63 2e 63 0a 0a 23 20 48 65  te3async.c..# He
9230: 61 64 65 72 20 66 69 6c 65 73 20 75 73 65 64 20  ader files used
9240: 62 79 20 61 6c 6c 20 6c 69 62 72 61 72 79 20 73  by all library s
9250: 6f 75 72 63 65 20 66 69 6c 65 73 2e 0a 23 0a 48  ource files..#.H
9260: 44 52 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29  DR = \.   $(TOP) 9270: 5c 73 72 63 5c 62 74 72 65 65 2e 68 20 5c 0a 20 \src\btree.h \. 9280: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 62 74 72$(TOP)\src\btr
9290: 65 65 49 6e 74 2e 68 20 5c 0a 20 20 20 24 28 54  eeInt.h \.   $(T 92a0: 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 68 20 5c OP)\src\hash.h \ 92b0: 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 68 .$(TOP)\src\h
92c0: 77 74 69 6d 65 2e 68 20 5c 0a 20 20 20 6b 65 79  wtime.h \.   key
92d0: 77 6f 72 64 68 61 73 68 2e 68 20 5c 0a 20 20 20  wordhash.h \.
92e0: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 73 76 63 2e  $(TOP)\src\msvc. 92f0: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72 h \.$(TOP)\sr
9300: 63 5c 6d 75 74 65 78 2e 68 20 5c 0a 20 20 20 6f  c\mutex.h \.   o
9310: 70 63 6f 64 65 73 2e 68 20 5c 0a 20 20 20 24 28  pcodes.h \.   $( 9320: 54 4f 50 29 5c 73 72 63 5c 6f 73 2e 68 20 5c 0a TOP)\src\os.h \. 9330: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 6f 73$(TOP)\src\os
9340: 5f 63 6f 6d 6d 6f 6e 2e 68 20 5c 0a 20 20 20 24  _common.h \.   $9350: 28 54 4f 50 29 5c 73 72 63 5c 6f 73 5f 73 65 74 (TOP)\src\os_set 9360: 75 70 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 up.h \.$(TOP)
9370: 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 68 20 5c 0a  \src\os_win.h \.
9380: 20 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61     $(TOP)\src\pa 9390: 67 65 72 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 ger.h \.$(TOP
93a0: 29 5c 73 72 63 5c 70 63 61 63 68 65 2e 68 20 5c  )\src\pcache.h \
93b0: 0a 20 20 20 70 61 72 73 65 2e 68 20 5c 0a 20 20  .   parse.h \.
93c0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 61 67   $(TOP)\src\prag 93d0: 6d 61 2e 68 20 5c 0a 20 20 20 24 28 53 51 4c 49 ma.h \.$(SQLI
93e0: 54 45 33 48 29 20 5c 0a 20 20 20 73 71 6c 69 74  TE3H) \.   sqlit
93f0: 65 33 65 78 74 2e 68 20 5c 0a 20 20 20 24 28 54  e3ext.h \.   $(T 9400: 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74 65 49 6e OP)\src\sqliteIn 9410: 74 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c t.h \.$(TOP)\
9420: 73 72 63 5c 73 71 6c 69 74 65 4c 69 6d 69 74 2e  src\sqliteLimit.
9430: 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73 72  h \.   $(TOP)\sr 9440: 63 5c 76 64 62 65 2e 68 20 5c 0a 20 20 20 24 28 c\vdbe.h \.$(
9450: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 49 6e 74  TOP)\src\vdbeInt
9460: 2e 68 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 73  .h \.   $(TOP)\s 9470: 72 63 5c 76 78 77 6f 72 6b 73 2e 68 20 5c 0a 20 rc\vxworks.h \. 9480: 20 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65$(TOP)\src\whe
9490: 72 65 49 6e 74 2e 68 0a 0a 23 20 48 65 61 64 65  reInt.h..# Heade
94a0: 72 20 66 69 6c 65 73 20 75 73 65 64 20 62 79 20  r files used by
94b0: 65 78 74 65 6e 73 69 6f 6e 73 0a 23 0a 45 58 54  extensions.#.EXT
94c0: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20  HDR = $(EXTHDR) 94d0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 \.$(TOP)\ext\f
94e0: 74 73 31 5c 66 74 73 31 2e 68 20 5c 0a 20 20 24  ts1\fts1.h \.  $94f0: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66 (TOP)\ext\fts1\f 9500: 74 73 31 5f 68 61 73 68 2e 68 20 5c 0a 20 20 24 ts1_hash.h \.$
9510: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 31 5c 66  (TOP)\ext\fts1\f
9520: 74 73 31 5f 74 6f 6b 65 6e 69 7a 65 72 2e 68 0a  ts1_tokenizer.h.
9530: 45 58 54 48 44 52 20 3d 20 24 28 45 58 54 48 44  EXTHDR = $(EXTHD 9540: 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 R) \.$(TOP)\ex
9550: 74 5c 66 74 73 32 5c 66 74 73 32 2e 68 20 5c 0a  t\fts2\fts2.h \.
9560: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73    $(TOP)\ext\fts 9570: 32 5c 66 74 73 32 5f 68 61 73 68 2e 68 20 5c 0a 2\fts2_hash.h \. 9580: 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73$(TOP)\ext\fts
9590: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72  2\fts2_tokenizer
95a0: 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 58  .h.EXTHDR = $(EX 95b0: 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50 29 THDR) \.$(TOP)
95c0: 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 2e 68  \ext\fts3\fts3.h
95d0: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c   \.  $(TOP)\ext\ 95e0: 66 74 73 33 5c 66 74 73 33 49 6e 74 2e 68 20 5c fts3\fts3Int.h \ 95f0: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 .$(TOP)\ext\ft
9600: 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 68 20 5c  s3\fts3_hash.h \
9610: 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74  .  $(TOP)\ext\ft 9620: 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 s3\fts3_tokenize 9630: 72 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 r.h.EXTHDR =$(E
9640: 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54 4f 50  XTHDR) \.  $(TOP 9650: 29 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 )\ext\rtree\rtre 9660: 65 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 28 45 e.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 69 63 75 5c 73 71 6c 69 74 65 )\ext\icu\sqlite 9690: 69 63 75 2e 68 0a 45 58 54 48 44 52 20 3d 20 24 icu.h.EXTHDR =$
96a0: 28 45 58 54 48 44 52 29 20 5c 0a 20 20 24 28 54  (EXTHDR) \.  $(T 96b0: 4f 50 29 5c 65 78 74 5c 72 74 72 65 65 5c 73 71 OP)\ext\rtree\sq 96c0: 6c 69 74 65 33 72 74 72 65 65 2e 68 0a 45 58 54 lite3rtree.h.EXT 96d0: 48 44 52 20 3d 20 24 28 45 58 54 48 44 52 29 20 HDR =$(EXTHDR)
96e0: 5c 0a 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 73  \.  $(TOP)\ext\s 96f0: 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65 ession\sqlite3se 9700: 73 73 69 6f 6e 2e 68 0a 0a 23 20 65 78 65 63 75 ssion.h..# execu 9710: 74 61 62 6c 65 73 20 6e 65 65 64 65 64 20 66 6f tables needed fo 9720: 72 20 74 65 73 74 69 6e 67 0a 23 0a 54 45 53 54 r testing.#.TEST 9730: 50 52 4f 47 53 20 3d 20 5c 0a 20 20 74 65 73 74 PROGS = \. test 9740: 66 69 78 74 75 72 65 2e 65 78 65 20 5c 0a 20 20 fixture.exe \. 9750: 24 28 53 51 4c 49 54 45 33 45 58 45 29 20 5c 0a$(SQLITE3EXE) \.
9760: 20 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a    sqlite3_analyz
9770: 65 72 2e 65 78 65 20 5c 0a 20 20 73 71 6c 64 69  er.exe \.  sqldi
9780: 66 66 2e 65 78 65 20 5c 0a 20 20 64 62 68 61 73  ff.exe \.  dbhas
9790: 68 2e 65 78 65 0a 0a 23 20 44 61 74 61 62 61 73  h.exe..# Databas
97a0: 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 66 75  es containing fu
97b0: 7a 7a 65 72 20 74 65 73 74 20 63 61 73 65 73 0a  zzer test cases.
97c0: 23 0a 46 55 5a 5a 44 41 54 41 20 3d 20 5c 0a 20  #.FUZZDATA = \.
97d0: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a   $(TOP)\test\fuz 97e0: 7a 64 61 74 61 31 2e 64 62 20 5c 0a 20 20 24 28 zdata1.db \.$(
97f0: 54 4f 50 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61  TOP)\test\fuzzda
9800: 74 61 32 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50  ta2.db \.  $(TOP 9810: 29 5c 74 65 73 74 5c 66 75 7a 7a 64 61 74 61 33 )\test\fuzzdata3 9820: 2e 64 62 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 .db \.$(TOP)\t
9830: 65 73 74 5c 66 75 7a 7a 64 61 74 61 34 2e 64 62  est\fuzzdata4.db
9840: 20 5c 0a 20 20 24 28 54 4f 50 29 5c 74 65 73 74   \.  $(TOP)\test 9850: 5c 66 75 7a 7a 64 61 74 61 35 2e 64 62 0a 23 20 \fuzzdata5.db.# 9860: 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 41 64 64 <</mark>>..# Add 9870: 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 itional compiler 9880: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 options for the 9890: 20 73 68 65 6c 6c 2e 20 20 54 68 65 73 65 20 61 shell. These a 98a0: 72 65 20 6f 6e 6c 79 20 65 66 66 65 63 74 69 76 re only effectiv 98b0: 65 0a 23 20 77 68 65 6e 20 74 68 65 20 73 68 65 e.# when the she 98c0: 6c 6c 20 69 73 20 6e 6f 74 20 62 65 69 6e 67 20 ll is not being 98d0: 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b dynamically link 98e0: 65 64 2e 0a 23 0a 21 49 46 20 24 28 44 59 4e 41 ed..#.!IF$(DYNA
98f0: 4d 49 43 5f 53 48 45 4c 4c 29 3d 3d 30 20 26 26  MIC_SHELL)==0 &&
9900: 20 24 28 46 4f 52 5f 57 49 4e 31 30 29 3d 3d 30   $(FOR_WIN10)==0 9910: 0a 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f .SHELL_COMPILE_O 9920: 50 54 53 20 3d 20 24 28 53 48 45 4c 4c 5f 43 4f PTS =$(SHELL_CO
9930: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 44 53 51  MPILE_OPTS) -DSQ
9940: 4c 49 54 45 5f 53 48 45 4c 4c 5f 4a 53 4f 4e 31  LITE_SHELL_JSON1
9950: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
9960: 5f 46 54 53 34 20 2d 44 53 51 4c 49 54 45 5f 45  _FTS4 -DSQLITE_E
9970: 4e 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f  NABLE_EXPLAIN_CO
9980: 4d 4d 45 4e 54 53 0a 21 45 4e 44 49 46 0a 0a 23  MMENTS.!ENDIF..#
9990: 20 3c 3c 6d 61 72 6b 3e 3e 0a 23 20 45 78 74 72   <<mark>>.# Extr
99a0: 61 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6f  a compiler optio
99b0: 6e 73 20 66 6f 72 20 76 61 72 69 6f 75 73 20 74  ns for various t
99c0: 65 73 74 20 74 6f 6f 6c 73 2e 0a 23 0a 4d 50 54  est tools..#.MPT
99d0: 45 53 54 45 52 5f 43 4f 4d 50 49 4c 45 5f 4f 50  ESTER_COMPILE_OP
99e0: 54 53 20 3d 20 2d 44 53 51 4c 49 54 45 5f 53 48  TS = -DSQLITE_SH
99f0: 45 4c 4c 5f 4a 53 4f 4e 31 20 2d 44 53 51 4c 49  ELL_JSON1 -DSQLI
9a00: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 46  TE_ENABLE_FTS5.F
9a10: 55 5a 5a 45 52 53 48 45 4c 4c 5f 43 4f 4d 50 49  UZZERSHELL_COMPI
9a20: 4c 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49  LE_OPTS = -DSQLI
9a30: 54 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a  TE_ENABLE_JSON1.
9a40: 46 55 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c  FUZZCHECK_COMPIL
9a50: 45 5f 4f 50 54 53 20 3d 20 2d 44 53 51 4c 49 54  E_OPTS = -DSQLIT
9a60: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 20 2d  E_ENABLE_JSON1 -
9a70: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d  DSQLITE_ENABLE_M
9a80: 45 4d 53 59 53 35 20 2d 44 53 51 4c 49 54 45 5f  EMSYS5 -DSQLITE_
9a90: 4f 53 53 5f 46 55 5a 5a 0a 46 55 5a 5a 43 48 45  OSS_FUZZ.FUZZCHE
9aa0: 43 4b 5f 53 52 43 20 3d 20 24 28 54 4f 50 29 5c  CK_SRC = $(TOP)\ 9ab0: 74 65 73 74 5c 66 75 7a 7a 63 68 65 63 6b 2e 63 test\fuzzcheck.c 9ac0: 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6f 73 73$(TOP)\test\oss
9ad0: 66 75 7a 7a 2e 63 0a 4f 53 53 53 48 45 4c 4c 5f  fuzz.c.OSSSHELL_
9ae0: 53 52 43 20 3d 20 24 28 54 4f 50 29 5c 74 65 73  SRC = $(TOP)\tes 9af0: 74 5c 6f 73 73 73 68 65 6c 6c 2e 63 20 24 28 54 t\ossshell.c$(T
9b00: 4f 50 29 5c 74 65 73 74 5c 6f 73 73 66 75 7a 7a  OP)\test\ossfuzz
9b10: 2e 63 0a 0a 23 20 53 74 61 6e 64 61 72 64 20 6f  .c..# Standard o
9b20: 70 74 69 6f 6e 73 20 74 6f 20 74 65 73 74 66 69  ptions to testfi
9b30: 78 74 75 72 65 2e 0a 23 0a 54 45 53 54 4f 50 54  xture..#.TESTOPT
9b40: 53 20 3d 20 2d 2d 76 65 72 62 6f 73 65 3d 66 69  S = --verbose=fi
9b50: 6c 65 20 2d 2d 6f 75 74 70 75 74 3d 74 65 73 74  le --output=test
9b60: 2d 6f 75 74 2e 74 78 74 0a 0a 23 20 45 78 74 72  -out.txt..# Extr
9b70: 61 20 74 61 72 67 65 74 73 20 66 6f 72 20 74 68  a targets for th
9b80: 65 20 22 61 6c 6c 22 20 74 61 72 67 65 74 20 74  e "all" target t
9b90: 68 61 74 20 72 65 71 75 69 72 65 20 54 63 6c 2e  hat require Tcl.
9ba0: 0a 23 0a 21 49 46 20 24 28 4e 4f 5f 54 43 4c 29  .#.!IF $(NO_TCL) 9bb0: 3d 3d 30 0a 41 4c 4c 5f 54 43 4c 5f 54 41 52 47 ==0.ALL_TCL_TARG 9bc0: 45 54 53 20 3d 20 6c 69 62 74 63 6c 73 71 6c 69 ETS = libtclsqli 9bd0: 74 65 33 2e 6c 69 62 0a 21 45 4c 53 45 0a 41 4c te3.lib.!ELSE.AL 9be0: 4c 5f 54 43 4c 5f 54 41 52 47 45 54 53 20 3d 0a L_TCL_TARGETS =. 9bf0: 21 45 4e 44 49 46 0a 23 20 3c 3c 2f 6d 61 72 6b !ENDIF.# <</mark 9c00: 3e 3e 0a 0a 23 20 54 68 69 73 20 69 73 20 74 68 >>..# This is th 9c10: 65 20 64 65 66 61 75 6c 74 20 4d 61 6b 65 66 69 e default Makefi 9c20: 6c 65 20 74 61 72 67 65 74 2e 20 20 54 68 65 20 le target. The 9c30: 6f 62 6a 65 63 74 73 20 6c 69 73 74 65 64 20 68 objects listed h 9c40: 65 72 65 0a 23 20 61 72 65 20 77 68 61 74 20 67 ere.# are what g 9c50: 65 74 20 62 75 69 6c 64 20 77 68 65 6e 20 79 6f et build when yo 9c60: 75 20 74 79 70 65 20 6a 75 73 74 20 22 6d 61 6b u type just "mak 9c70: 65 22 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d e" with no argum 9c80: 65 6e 74 73 2e 0a 23 0a 61 6c 6c 3a 09 64 6c 6c ents..#.all:.dll 9c90: 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c 69 62 20 libsqlite3.lib 9ca0: 73 68 65 6c 6c 20 24 28 41 4c 4c 5f 54 43 4c 5f shell$(ALL_TCL_
9cb0: 54 41 52 47 45 54 53 29 0a 0a 23 20 44 79 6e 61  TARGETS)..# Dyna
9cc0: 6d 69 63 20 6c 69 6e 6b 20 6c 69 62 72 61 72 79  mic link library
9cd0: 20 73 65 63 74 69 6f 6e 2e 0a 23 0a 64 6c 6c 3a   section..#.dll:
9ce0: 09 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 0a 0a  .$(SQLITE3DLL).. 9cf0: 23 20 53 68 65 6c 6c 20 65 78 65 63 75 74 61 62 # Shell executab 9d00: 6c 65 2e 0a 23 0a 73 68 65 6c 6c 3a 09 24 28 53 le..#.shell:.$(S
9d10: 51 4c 49 54 45 33 45 58 45 29 0a 0a 23 20 3c 3c  QLITE3EXE)..# <<
9d20: 6d 61 72 6b 3e 3e 0a 6c 69 62 73 71 6c 69 74 65  mark>>.libsqlite
9d30: 33 2e 6c 69 62 3a 09 24 28 4c 49 42 4f 42 4a 29  3.lib:.$(LIBOBJ) 9d40: 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c 54 4c ..$(LTLIB) $(LTL 9d50: 49 42 4f 50 54 53 29 20 2f 4f 55 54 3a 24 40 20 IBOPTS) /OUT:$@
9d60: 24 28 4c 49 42 4f 42 4a 29 20 24 28 54 4c 49 42  $(LIBOBJ)$(TLIB
9d70: 53 29 0a 0a 6c 69 62 74 63 6c 73 71 6c 69 74 65  S)..libtclsqlite
9d80: 33 2e 6c 69 62 3a 09 74 63 6c 73 71 6c 69 74 65  3.lib:.tclsqlite
9d90: 2e 6c 6f 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c  .lo libsqlite3.l
9da0: 69 62 0a 09 24 28 4c 54 4c 49 42 29 20 24 28 4c  ib..$(LTLIB)$(L
9db0: 54 4c 49 42 4f 50 54 53 29 20 24 28 4c 54 4c 49  TLIBOPTS) $(LTLI 9dc0: 42 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 20 BPATHS) /OUT:$@
9dd0: 74 63 6c 73 71 6c 69 74 65 2e 6c 6f 20 6c 69 62  tclsqlite.lo lib
9de0: 73 71 6c 69 74 65 33 2e 6c 69 62 20 24 28 4c 49  sqlite3.lib $(LI 9df0: 42 54 43 4c 53 54 55 42 29 20 24 28 54 4c 49 42 BTCLSTUB)$(TLIB
9e00: 53 29 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  S).# <</mark>>..
9e10: 24 28 53 51 4c 49 54 45 33 44 4c 4c 29 3a 09 24  $(SQLITE3DLL):.$
9e20: 28 4c 49 42 4f 42 4a 29 20 24 28 4c 49 42 52 45  (LIBOBJ) $(LIBRE 9e30: 53 4f 42 4a 53 29 20 24 28 43 4f 52 45 5f 4c 49 SOBJS)$(CORE_LI
9e40: 4e 4b 5f 44 45 50 29 0a 09 24 28 4c 44 29 20 24  NK_DEP)..$(LD)$
9e50: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49  (LDFLAGS) $(LTLI 9e60: 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 NKOPTS)$(LTLIBP
9e70: 41 54 48 53 29 20 2f 44 4c 4c 20 24 28 43 4f 52  ATHS) /DLL $(COR 9e80: 45 5f 4c 49 4e 4b 5f 4f 50 54 53 29 20 2f 4f 55 E_LINK_OPTS) /OU 9e90: 54 3a 24 40 20 24 28 4c 49 42 4f 42 4a 29 20 24 T:$@ $(LIBOBJ)$
9ea0: 28 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c  (LIBRESOBJS) $(L 9eb0: 54 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a TLIBS)$(TLIBS).
9ec0: 0a 23 20 3c 3c 62 6c 6f 63 6b 32 3e 3e 0a 73 71  .# <<block2>>.sq
9ed0: 6c 69 74 65 33 2e 64 65 66 3a 09 6c 69 62 73 71  lite3.def:.libsq
9ee0: 6c 69 74 65 33 2e 6c 69 62 0a 09 65 63 68 6f 20  lite3.lib..echo
9ef0: 45 58 50 4f 52 54 53 20 3e 20 73 71 6c 69 74 65  EXPORTS > sqlite
9f00: 33 2e 64 65 66 0a 09 64 75 6d 70 62 69 6e 20 2f  3.def..dumpbin /
9f10: 61 6c 6c 20 6c 69 62 73 71 6c 69 74 65 33 2e 6c  all libsqlite3.l
9f20: 69 62 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48  ib \...| $(TCLSH 9f30: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f _CMD)$(TOP)\too
9f40: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 69 6e  l\replace.tcl in
9f50: 63 6c 75 64 65 20 22 5e 5c 73 2b 31 20 5f 3f 28  clude "^\s+1 _?(
9f60: 73 71 6c 69 74 65 33 5f 5b 5e 40 5d 2a 29 28 3f  sqlite3_[^@]*)(?
9f70: 3a 40 5c 64 2b 29 3f 24 24 22 20 5c 31 20 5c 0a  :@\d+)?" \1 \.
9f80: 09 09 7c 20 73 6f 72 74 20 3e 3e 20 73 71 6c 69  ..| sort >> sqli
9f90: 74 65 33 2e 64 65 66 0a 23 20 3c 3c 2f 62 6c 6f  te3.def.# <</blo
9fa0: 63 6b 32 3e 3e 0a 0a 24 28 53 51 4c 49 54 45 33  ck2>>..$(SQLITE3 9fb0: 45 58 45 29 3a 09 24 28 54 4f 50 29 5c 73 72 63 EXE):.$(TOP)\src
9fc0: 5c 73 68 65 6c 6c 2e 63 20 24 28 53 48 45 4c 4c  \shell.c $(SHELL 9fd0: 5f 43 4f 52 45 5f 44 45 50 29 20 24 28 4c 49 42 _CORE_DEP)$(LIB
9fe0: 52 45 53 4f 42 4a 53 29 20 24 28 53 48 45 4c 4c  RESOBJS) $(SHELL 9ff0: 5f 43 4f 52 45 5f 53 52 43 29 20 24 28 53 51 4c _CORE_SRC)$(SQL
a000: 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK a010: 29 20 24 28 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c )$(SHELL_COMPIL
a020: 45 5f 4f 50 54 53 29 20 24 28 52 45 41 44 4c 49  E_OPTS) $(READLI a030: 4e 45 5f 46 4c 41 47 53 29 20 24 28 54 4f 50 29 NE_FLAGS)$(TOP)
a040: 5c 73 72 63 5c 73 68 65 6c 6c 2e 63 20 24 28 53  \src\shell.c $(S a050: 48 45 4c 4c 5f 43 4f 52 45 5f 53 52 43 29 20 5c HELL_CORE_SRC) \ a060: 0a 09 09 2f 6c 69 6e 6b 20 24 28 53 51 4c 49 54 .../link$(SQLIT
a070: 45 33 45 58 45 50 44 42 29 20 24 28 4c 44 46 4c  E3EXEPDB) $(LDFL a080: 41 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 AGS)$(LTLINKOPT
a090: 53 29 20 24 28 53 48 45 4c 4c 5f 4c 49 4e 4b 5f  S) $(SHELL_LINK_ a0a0: 4f 50 54 53 29 20 24 28 4c 54 4c 49 42 50 41 54 OPTS)$(LTLIBPAT
a0b0: 48 53 29 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  HS) $(LIBRESOBJS a0c0: 29 20 24 28 4c 49 42 52 45 41 44 4c 49 4e 45 29 )$(LIBREADLINE)
a0d0: 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c 49   $(LTLIBS)$(TLI
a0e0: 42 53 29 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  BS)..# <<mark>>.
a0f0: 73 71 6c 64 69 66 66 2e 65 78 65 3a 09 24 28 54  sqldiff.exe:.$(T a100: 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c 64 69 66 66 OP)\tool\sqldiff a110: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 .c$(SQLITE3C) $a120: 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 (SQLITE3H)..$(LT
a130: 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29  LINK) $(NO_WARN) a140: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 71 6c$(TOP)\tool\sql
a150: 64 69 66 66 2e 63 20 24 28 53 51 4c 49 54 45 33  diff.c $(SQLITE3 a160: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
a170: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS a180: 29 0a 0a 64 62 68 61 73 68 2e 65 78 65 3a 09 24 )..dbhash.exe:.$
a190: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62 68 61 73  (TOP)\tool\dbhas
a1a0: 68 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20  h.c $(SQLITE3C) a1b0: 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24 28 4c$(SQLITE3H)..$(L a1c0: 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e TLINK)$(NO_WARN
a1d0: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 64 62  ) $(TOP)\tool\db a1e0: 68 61 73 68 2e 63 20 24 28 53 51 4c 49 54 45 33 hash.c$(SQLITE3
a1f0: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41  C) /link $(LDFLA a200: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 GS)$(LTLINKOPTS
a210: 29 0a 0a 73 63 72 75 62 2e 65 78 65 3a 09 24 28  )..scrub.exe:.$( a220: 54 4f 50 29 5c 65 78 74 5c 6d 69 73 63 5c 73 63 TOP)\ext\misc\sc a230: 72 75 62 2e 63 20 24 28 53 51 4c 49 54 45 33 43 rub.c$(SQLITE3C
a240: 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 24  ) $(SQLITE3H)..$
a250: 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57 41  (LTLINK) $(NO_WA a260: 52 4e 29 20 24 28 54 4f 50 29 5c 65 78 74 5c 6d RN)$(TOP)\ext\m
a270: 69 73 63 5c 73 63 72 75 62 2e 63 20 24 28 53 51  isc\scrub.c $(SQ a280: 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
a290: 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN a2a0: 4b 4f 50 54 53 29 0a 0a 73 72 63 63 6b 31 2e 65 KOPTS)..srcck1.e a2b0: 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c xe:.$(TOP)\tool\
a2c0: 73 72 63 63 6b 31 2e 63 0a 09 24 28 42 43 43 29  srcck1.c..$(BCC) a2d0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24$(NO_WARN) -Fe$a2e0: 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 72 @$(TOP)\tool\sr
a2f0: 63 63 6b 31 2e 63 0a 0a 73 6f 75 72 63 65 74 65  cck1.c..sourcete
a300: 73 74 3a 09 73 72 63 63 6b 31 2e 65 78 65 20 73  st:.srcck1.exe s
a310: 71 6c 69 74 65 33 2e 63 0a 09 73 72 63 63 6b 31  qlite3.c..srcck1
a320: 2e 65 78 65 20 73 71 6c 69 74 65 33 2e 63 0a 0a  .exe sqlite3.c..
a330: 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 65 78 65 3a  fuzzershell.exe:
a340: 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 66 75 7a  .$(TOP)\tool\fuz a350: 7a 65 72 73 68 65 6c 6c 2e 63 20 24 28 53 51 4c zershell.c$(SQL
a360: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 a370: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( a380: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 45 NO_WARN)$(FUZZE
a390: 52 53 48 45 4c 4c 5f 43 4f 4d 50 49 4c 45 5f 4f  RSHELL_COMPILE_O
a3a0: 50 54 53 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  PTS) $(TOP)\tool a3b0: 5c 66 75 7a 7a 65 72 73 68 65 6c 6c 2e 63 20 24 \fuzzershell.c$
a3c0: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
a3d0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
a3e0: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 66 75 7a 7a 63  LINKOPTS)..fuzzc
a3f0: 68 65 63 6b 2e 65 78 65 3a 09 24 28 46 55 5a 5a  heck.exe:.$(FUZZ a400: 43 48 45 43 4b 5f 53 52 43 29 20 24 28 53 51 4c CHECK_SRC)$(SQL
a410: 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 a420: 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( a430: 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55 5a 5a 43 NO_WARN)$(FUZZC
a440: 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  HECK_COMPILE_OPT
a450: 53 29 20 24 28 46 55 5a 5a 43 48 45 43 4b 5f 53  S) $(FUZZCHECK_S a460: 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 29 20 RC)$(SQLITE3C)
a470: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  /link $(LDFLAGS) a480: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a$(LTLINKOPTS)..
a490: 6f 73 73 73 68 65 6c 6c 2e 65 78 65 3a 09 24 28  ossshell.exe:.$( a4a0: 4f 53 53 53 48 45 4c 4c 5f 53 52 43 29 20 24 28 OSSSHELL_SRC)$(
a4b0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI a4c0: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 TE3H)..$(LTLINK)
a4d0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 24 28 46 55   $(NO_WARN)$(FU
a4e0: 5a 5a 43 48 45 43 4b 5f 43 4f 4d 50 49 4c 45 5f  ZZCHECK_COMPILE_
a4f0: 4f 50 54 53 29 20 24 28 4f 53 53 53 48 45 4c 4c  OPTS) $(OSSSHELL a500: 5f 53 52 43 29 20 24 28 53 51 4c 49 54 45 33 43 _SRC)$(SQLITE3C
a510: 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47  ) /link $(LDFLAG a520: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
a530: 0a 0a 6d 70 74 65 73 74 65 72 2e 65 78 65 3a 09  ..mptester.exe:.
a540: 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70  $(TOP)\mptest\mp a550: 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 test.c$(SQLITE3
a560: 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09  C) $(SQLITE3H).. a570: 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57$(LTLINK) $(NO_W a580: 41 52 4e 29 20 24 28 4d 50 54 45 53 54 45 52 5f ARN)$(MPTESTER_
a590: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( a5a0: 54 4f 50 29 5c 6d 70 74 65 73 74 5c 6d 70 74 65 TOP)\mptest\mpte a5b0: 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 st.c$(SQLITE3C)
a5c0: 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53   /link $(LDFLAGS a5d0: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a )$(LTLINKOPTS).
a5e0: 0a 4d 50 54 45 53 54 31 20 3d 20 6d 70 74 65 73  .MPTEST1 = mptes
a5f0: 74 65 72 20 6d 70 74 65 73 74 2e 64 62 20 24 28  ter mptest.db $( a600: 54 4f 50 29 5c 6d 70 74 65 73 74 5c 63 72 61 73 TOP)\mptest\cras a610: 68 30 31 2e 74 65 73 74 20 2d 2d 72 65 70 65 61 h01.test --repea a620: 74 20 32 30 0a 4d 50 54 45 53 54 32 20 3d 20 6d t 20.MPTEST2 = m a630: 70 74 65 73 74 65 72 20 6d 70 74 65 73 74 2e 64 ptester mptest.d a640: 62 20 24 28 54 4f 50 29 5c 6d 70 74 65 73 74 5c b$(TOP)\mptest\
a650: 6d 75 6c 74 69 77 72 69 74 65 30 31 2e 74 65 73  multiwrite01.tes
a660: 74 20 2d 2d 72 65 70 65 61 74 20 32 30 0a 0a 6d  t --repeat 20..m
a670: 70 74 65 73 74 3a 09 6d 70 74 65 73 74 65 72 2e  ptest:.mptester.
a680: 65 78 65 0a 09 64 65 6c 20 2f 51 20 6d 70 74 65  exe..del /Q mpte
a690: 73 74 2e 64 62 20 32 3e 4e 55 4c 0a 09 24 28 4d  st.db 2>NUL..$(M a6a0: 50 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 PTEST1) --journa a6b0: 6c 6d 6f 64 65 20 44 45 4c 45 54 45 0a 09 24 28 lmode DELETE..$(
a6c0: 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e  MPTEST2) --journ
a6d0: 61 6c 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50  almode WAL..$(MP a6e0: 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c TEST1) --journal a6f0: 6d 6f 64 65 20 57 41 4c 0a 09 24 28 4d 50 54 45 mode WAL..$(MPTE
a700: 53 54 32 29 20 2d 2d 6a 6f 75 72 6e 61 6c 6d 6f  ST2) --journalmo
a710: 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 4d 50  de PERSIST..$(MP a720: 54 45 53 54 31 29 20 2d 2d 6a 6f 75 72 6e 61 6c TEST1) --journal a730: 6d 6f 64 65 20 50 45 52 53 49 53 54 0a 09 24 28 mode PERSIST..$(
a740: 4d 50 54 45 53 54 32 29 20 2d 2d 6a 6f 75 72 6e  MPTEST2) --journ
a750: 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 54 45 0a  almode TRUNCATE.
a760: 09 24 28 4d 50 54 45 53 54 31 29 20 2d 2d 6a 6f  .$(MPTEST1) --jo a770: 75 72 6e 61 6c 6d 6f 64 65 20 54 52 55 4e 43 41 urnalmode TRUNCA a780: 54 45 0a 09 24 28 4d 50 54 45 53 54 32 29 20 2d TE..$(MPTEST2) -
a790: 2d 6a 6f 75 72 6e 61 6c 6d 6f 64 65 20 44 45 4c  -journalmode DEL
a7a0: 45 54 45 0a 0a 23 20 54 68 69 73 20 74 61 72 67  ETE..# This targ
a7b0: 65 74 20 63 72 65 61 74 65 73 20 61 20 64 69 72  et creates a dir
a7c0: 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 22 74 73  ectory named "ts
a7d0: 72 63 22 20 61 6e 64 20 66 69 6c 6c 73 20 69 74  rc" and fills it
a7e0: 20 77 69 74 68 0a 23 20 63 6f 70 69 65 73 20 6f   with.# copies o
a7f0: 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 43 20 73  f all of the C s
a800: 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 68  ource code and h
a810: 65 61 64 65 72 20 66 69 6c 65 73 20 6e 65 65 64  eader files need
a820: 65 64 20 74 6f 0a 23 20 62 75 69 6c 64 20 6f 6e  ed to.# build on
a830: 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73 74   the target syst
a840: 65 6d 2e 20 20 53 6f 6d 65 20 6f 66 20 74 68 65  em.  Some of the
a850: 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61   C source code a
a860: 6e 64 20 68 65 61 64 65 72 0a 23 20 66 69 6c 65  nd header.# file
a870: 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61  s are automatica
a880: 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 20  lly generated.
a890: 54 68 69 73 20 74 61 72 67 65 74 20 74 61 6b 65  This target take
a8a0: 73 20 63 61 72 65 20 6f 66 0a 23 20 61 6c 6c 20  s care of.# all
a8b0: 74 68 61 74 20 61 75 74 6f 6d 61 74 69 63 20 67  that automatic g
a8c0: 65 6e 65 72 61 74 69 6f 6e 2e 0a 23 0a 2e 74 61  eneration..#..ta
a8d0: 72 67 65 74 5f 73 6f 75 72 63 65 3a 09 24 28 53  rget_source:.$(S a8e0: 52 43 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c RC)$(TOP)\tool\
a8f0: 76 64 62 65 2d 63 6f 6d 70 72 65 73 73 2e 74 63  vdbe-compress.tc
a900: 6c 20 66 74 73 35 2e 63 20 24 28 53 51 4c 49 54  l fts5.c $(SQLIT a910: 45 5f 54 43 4c 5f 44 45 50 29 0a 09 2d 72 6d 64 E_TCL_DEP)..-rmd a920: 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e 4e ir /Q/S tsrc 2>N a930: 55 4c 0a 09 2d 6d 6b 64 69 72 20 74 73 72 63 0a UL..-mkdir tsrc. a940: 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 .for %i in ($(SR
a950: 43 30 30 29 29 20 64 6f 20 63 6f 70 79 20 2f 59  C00)) do copy /Y
a960: 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69   %i tsrc..for %i
a970: 20 69 6e 20 28 24 28 53 52 43 30 31 29 29 20 64   in ($(SRC01)) d a980: 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 o copy /Y %i tsr a990: 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 c..for %i in ($(
a9a0: 53 52 43 30 32 29 29 20 64 6f 20 63 6f 70 79 20  SRC02)) do copy
a9b0: 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20  /Y %i tsrc..for
a9c0: 25 69 20 69 6e 20 28 24 28 53 52 43 30 33 29 29  %i in ($(SRC03)) a9d0: 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 do copy /Y %i t a9e0: 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 src..for %i in ( a9f0: 24 28 53 52 43 30 34 29 29 20 64 6f 20 63 6f 70$(SRC04)) do cop
aa00: 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f  y /Y %i tsrc..fo
aa10: 72 20 25 69 20 69 6e 20 28 24 28 53 52 43 30 35  r %i in ($(SRC05 aa20: 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 )) do copy /Y %i aa30: 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 69 6e tsrc..for %i in aa40: 20 28 24 28 53 52 43 30 36 29 29 20 64 6f 20 63 ($(SRC06)) do c
aa50: 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63 0a 09  opy /Y %i tsrc..
aa60: 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53 52 43  for %i in ($(SRC aa70: 30 37 29 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 07)) do copy /Y aa80: 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 69 20 %i tsrc..for %i aa90: 69 6e 20 28 24 28 53 52 43 30 38 29 29 20 64 6f in ($(SRC08)) do
aaa0: 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73 72 63   copy /Y %i tsrc
aab0: 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24 28 53  ..for %i in ($(S aac0: 52 43 30 39 29 29 20 64 6f 20 63 6f 70 79 20 2f RC09)) do copy / aad0: 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 20 25 Y %i tsrc..for % aae0: 69 20 69 6e 20 28 24 28 53 52 43 31 30 29 29 20 i in ($(SRC10))
aaf0: 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20 74 73  do copy /Y %i ts
ab00: 72 63 0a 09 66 6f 72 20 25 69 20 69 6e 20 28 24  rc..for %i in ($ab10: 28 53 52 43 31 31 29 29 20 64 6f 20 63 6f 70 79 (SRC11)) do copy ab20: 20 2f 59 20 25 69 20 74 73 72 63 0a 09 66 6f 72 /Y %i tsrc..for ab30: 20 25 69 20 69 6e 20 28 24 28 53 52 43 31 32 29 %i in ($(SRC12)
ab40: 29 20 64 6f 20 63 6f 70 79 20 2f 59 20 25 69 20  ) do copy /Y %i
ab50: 74 73 72 63 0a 09 63 6f 70 79 20 2f 59 20 66 74  tsrc..copy /Y ft
ab60: 73 35 2e 63 20 74 73 72 63 0a 09 63 6f 70 79 20  s5.c tsrc..copy
ab70: 2f 59 20 66 74 73 35 2e 68 20 74 73 72 63 0a 09  /Y fts5.h tsrc..
ab80: 64 65 6c 20 2f 51 20 74 73 72 63 5c 73 71 6c 69  del /Q tsrc\sqli
ab90: 74 65 2e 68 2e 69 6e 20 74 73 72 63 5c 70 61 72  te.h.in tsrc\par
aba0: 73 65 2e 79 20 32 3e 4e 55 4c 0a 09 24 28 54 43  se.y 2>NUL..$(TC abb0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c LSH_CMD)$(TOP)\
abc0: 74 6f 6f 6c 5c 76 64 62 65 2d 63 6f 6d 70 72 65  tool\vdbe-compre
abd0: 73 73 2e 74 63 6c 20 24 28 4f 50 54 53 29 20 3c  ss.tcl $(OPTS) < abe0: 20 74 73 72 63 5c 76 64 62 65 2e 63 20 3e 20 76 tsrc\vdbe.c > v abf0: 64 62 65 2e 6e 65 77 0a 09 6d 6f 76 65 20 76 64 dbe.new..move vd ac00: 62 65 2e 6e 65 77 20 74 73 72 63 5c 76 64 62 65 be.new tsrc\vdbe ac10: 2e 63 0a 09 65 63 68 6f 20 3e 20 2e 74 61 72 67 .c..echo > .targ ac20: 65 74 5f 73 6f 75 72 63 65 0a 0a 73 71 6c 69 74 et_source..sqlit ac30: 65 33 2e 63 3a 09 2e 74 61 72 67 65 74 5f 73 6f e3.c:..target_so ac40: 75 72 63 65 20 73 71 6c 69 74 65 33 65 78 74 2e urce sqlite3ext. ac50: 68 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f 54 h$(MKSQLITE3C_T
ac60: 4f 4f 4c 29 0a 09 24 28 54 43 4c 53 48 5f 43 4d  OOL)..$(TCLSH_CM ac70: 44 29 20 24 28 4d 4b 53 51 4c 49 54 45 33 43 5f D)$(MKSQLITE3C_
ac80: 54 4f 4f 4c 29 20 24 28 4d 4b 53 51 4c 49 54 45  TOOL) $(MKSQLITE ac90: 33 43 5f 41 52 47 53 29 0a 09 63 6f 70 79 20 74 3C_ARGS)..copy t aca0: 73 72 63 5c 73 68 65 6c 6c 2e 63 20 2e 0a 09 63 src\shell.c ...c acb0: 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 opy$(TOP)\ext\s
acc0: 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65  ession\sqlite3se
acd0: 73 73 69 6f 6e 2e 68 20 2e 0a 0a 73 71 6c 69 74  ssion.h ...sqlit
ace0: 65 33 2d 61 6c 6c 2e 63 3a 09 73 71 6c 69 74 65  e3-all.c:.sqlite
acf0: 33 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c  3.c $(TOP)\tool\ ad00: 73 70 6c 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 split-sqlite3c.t ad10: 63 6c 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 cl..$(TCLSH_CMD)
ad20: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 70 6c   $(TOP)\tool\spl ad30: 69 74 2d 73 71 6c 69 74 65 33 63 2e 74 63 6c 0a it-sqlite3c.tcl. ad40: 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 23 20 52 # <</mark>>..# R ad50: 75 6c 65 20 74 6f 20 62 75 69 6c 64 20 74 68 65 ule to build the ad60: 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 0a 23 0a amalgamation.#. ad70: 73 71 6c 69 74 65 33 2e 6c 6f 3a 09 24 28 53 51 sqlite3.lo:.$(SQ
ad80: 4c 49 54 45 33 43 29 0a 09 24 28 4c 54 43 4f 4d  LITE3C)..$(LTCOM ad90: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
ada0: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( adb0: 53 51 4c 49 54 45 33 43 29 0a 0a 23 20 3c 3c 6d SQLITE3C)..# <<m adc0: 61 72 6b 3e 3e 0a 23 20 52 75 6c 65 73 20 74 6f ark>>.# Rules to add0: 20 62 75 69 6c 64 20 74 68 65 20 4c 45 4d 4f 4e build the LEMON ade0: 20 63 6f 6d 70 69 6c 65 72 20 67 65 6e 65 72 61 compiler genera adf0: 74 6f 72 0a 23 0a 6c 65 6d 70 61 72 2e 63 3a 09 tor.#.lempar.c:. ae00: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 70$(TOP)\tool\lemp
ae10: 61 72 2e 63 0a 09 63 6f 70 79 20 24 28 54 4f 50  ar.c..copy $(TOP ae20: 29 5c 74 6f 6f 6c 5c 6c 65 6d 70 61 72 2e 63 20 )\tool\lempar.c ae30: 2e 0a 0a 6c 65 6d 6f 6e 2e 65 78 65 3a 09 24 28 ...lemon.exe:.$(
ae40: 54 4f 50 29 5c 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e  TOP)\tool\lemon.
ae50: 63 20 6c 65 6d 70 61 72 2e 63 0a 09 24 28 42 43  c lempar.c..$(BC ae60: 43 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 C)$(NO_WARN) -D
ae70: 61 63 63 65 73 73 3d 5f 61 63 63 65 73 73 20 5c  access=_access \
ae80: 0a 09 09 2d 46 65 24 40 20 24 28 54 4f 50 29 5c  ...-Fe$@$(TOP)\
ae90: 74 6f 6f 6c 5c 6c 65 6d 6f 6e 2e 63 20 2f 6c 69  tool\lemon.c /li
aea0: 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28  nk $(LDFLAGS)$(
aeb0: 4e 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4e  NLTLINKOPTS) $(N aec0: 4c 54 4c 49 42 50 41 54 48 53 29 0a 0a 23 20 52 LTLIBPATHS)..# R aed0: 75 6c 65 73 20 74 6f 20 62 75 69 6c 64 20 69 6e ules to build in aee0: 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f 20 66 69 dividual *.lo fi aef0: 6c 65 73 20 66 72 6f 6d 20 67 65 6e 65 72 61 74 les from generat af00: 65 64 20 2a 2e 63 20 66 69 6c 65 73 2e 20 54 68 ed *.c files. Th af10: 69 73 0a 23 20 61 70 70 6c 69 65 73 20 74 6f 3a is.# applies to: af20: 0a 23 0a 23 20 20 20 20 20 70 61 72 73 65 2e 6c .#.# parse.l af30: 6f 0a 23 20 20 20 20 20 6f 70 63 6f 64 65 73 2e o.# opcodes. af40: 6c 6f 0a 23 0a 70 61 72 73 65 2e 6c 6f 3a 09 70 lo.#.parse.lo:.p af50: 61 72 73 65 2e 63 20 24 28 48 44 52 29 0a 09 24 arse.c$(HDR)..$af60: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
af70: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
af80: 20 2d 63 20 70 61 72 73 65 2e 63 0a 0a 6f 70 63   -c parse.c..opc
af90: 6f 64 65 73 2e 6c 6f 3a 09 6f 70 63 6f 64 65 73  odes.lo:.opcodes
afa0: 2e 63 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  .c..$(LTCOMPILE) afb0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
afc0: 4f 50 54 53 29 20 2d 63 20 6f 70 63 6f 64 65 73  OPTS) -c opcodes
afd0: 2e 63 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a  .c.# <</mark>>..
afe0: 23 20 52 75 6c 65 20 74 6f 20 62 75 69 6c 64 20  # Rule to build
aff0: 74 68 65 20 57 69 6e 33 32 20 72 65 73 6f 75 72  the Win32 resour
b000: 63 65 73 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e  ces object file.
b010: 0a 23 0a 21 49 46 20 24 28 55 53 45 5f 52 43 29  .#.!IF $(USE_RC) b020: 21 3d 30 0a 23 20 3c 3c 62 6c 6f 63 6b 31 3e 3e !=0.# <<block1>> b030: 0a 24 28 4c 49 42 52 45 53 4f 42 4a 53 29 3a 09 .$(LIBRESOBJS):.
b040: 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 74  $(TOP)\src\sqlit b050: 65 33 2e 72 63 20 24 28 53 51 4c 49 54 45 33 48 e3.rc$(SQLITE3H
b060: 29 0a 09 65 63 68 6f 20 23 69 66 6e 64 65 66 20  )..echo #ifndef
b070: 53 51 4c 49 54 45 5f 52 45 53 4f 55 52 43 45 5f  SQLITE_RESOURCE_
b080: 56 45 52 53 49 4f 4e 20 3e 20 73 71 6c 69 74 65  VERSION > sqlite
b090: 33 72 63 2e 68 0a 09 66 6f 72 20 2f 46 20 25 25  3rc.h..for /F %%
b0a0: 56 20 69 6e 20 28 27 74 79 70 65 20 22 24 28 54  V in ('type "$(T b0b0: 4f 50 29 5c 56 45 52 53 49 4f 4e 22 27 29 20 64 OP)\VERSION"') d b0c0: 6f 20 28 20 5c 0a 09 09 65 63 68 6f 20 23 64 65 o ( \...echo #de b0d0: 66 69 6e 65 20 53 51 4c 49 54 45 5f 52 45 53 4f fine SQLITE_RESO b0e0: 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 25 25 56 URCE_VERSION %%V b0f0: 20 5c 0a 09 09 09 7c 20 24 28 54 43 4c 53 48 5f \....|$(TCLSH_
b100: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool b110: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 61 \replace.tcl exa b120: 63 74 20 2e 20 5e 2c 20 3e 3e 20 73 71 6c 69 74 ct . ^, >> sqlit b130: 65 33 72 63 2e 68 20 5c 0a 09 29 0a 09 65 63 68 e3rc.h \..)..ech b140: 6f 20 23 65 6e 64 69 66 20 3e 3e 20 73 71 6c 69 o #endif >> sqli b150: 74 65 33 72 63 2e 68 0a 09 24 28 4c 54 52 43 4f te3rc.h..$(LTRCO
b160: 4d 50 49 4c 45 29 20 2d 66 6f 20 24 28 4c 49 42  MPILE) -fo $(LIB b170: 52 45 53 4f 42 4a 53 29 20 24 28 54 4f 50 29 5c RESOBJS)$(TOP)\
b180: 73 72 63 5c 73 71 6c 69 74 65 33 2e 72 63 0a 23  src\sqlite3.rc.#
b190: 20 3c 3c 2f 62 6c 6f 63 6b 31 3e 3e 0a 21 45 4e   <</block1>>.!EN
b1a0: 44 49 46 0a 0a 23 20 3c 3c 6d 61 72 6b 3e 3e 0a  DIF..# <<mark>>.
b1b0: 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c 64  # Rules to build
b1c0: 20 69 6e 64 69 76 69 64 75 61 6c 20 2a 2e 6c 6f   individual *.lo
b1d0: 20 66 69 6c 65 73 20 66 72 6f 6d 20 66 69 6c 65   files from file
b1e0: 73 20 69 6e 20 74 68 65 20 73 72 63 20 64 69 72  s in the src dir
b1f0: 65 63 74 6f 72 79 2e 0a 23 0a 61 6c 74 65 72 2e  ectory..#.alter.
b200: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61  lo:.$(TOP)\src\a b210: 6c 74 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 lter.c$(HDR)..$b220: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
b230: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b240: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 61   -c $(TOP)\src\a b250: 6c 74 65 72 2e 63 0a 0a 61 6e 61 6c 79 7a 65 2e lter.c..analyze. b260: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 61 lo:.$(TOP)\src\a
b270: 6e 61 6c 79 7a 65 2e 63 20 24 28 48 44 52 29 0a  nalyze.c $(HDR). b280: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( b290: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 CORE_COMPILE_OPT b2a0: 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 S) -c$(TOP)\src
b2b0: 5c 61 6e 61 6c 79 7a 65 2e 63 0a 0a 61 74 74 61  \analyze.c..atta
b2c0: 63 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  ch.lo:.$(TOP)\sr b2d0: 63 5c 61 74 74 61 63 68 2e 63 20 24 28 48 44 52 c\attach.c$(HDR
b2e0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) b2f0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
b300: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s b310: 72 63 5c 61 74 74 61 63 68 2e 63 0a 0a 61 75 74 rc\attach.c..aut b320: 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 h.lo:.$(TOP)\src
b330: 5c 61 75 74 68 2e 63 20 24 28 48 44 52 29 0a 09  \auth.c $(HDR).. b340: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C b350: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS b360: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
b370: 61 75 74 68 2e 63 0a 0a 62 61 63 6b 75 70 2e 6c  auth.c..backup.l
b380: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 61  o:.$(TOP)\src\ba b390: 63 6b 75 70 2e 63 20 24 28 48 44 52 29 0a 09 24 ckup.c$(HDR)..$b3a0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
b3b0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
b3c0: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 62   -c $(TOP)\src\b b3d0: 61 63 6b 75 70 2e 63 0a 0a 62 69 74 76 65 63 2e ackup.c..bitvec. b3e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 62 lo:.$(TOP)\src\b
b3f0: 69 74 76 65 63 2e 63 20 24 28 48 44 52 29 0a 09  itvec.c $(HDR).. b400: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C b410: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS b420: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
b430: 62 69 74 76 65 63 2e 63 0a 0a 62 74 6d 75 74 65  bitvec.c..btmute
b440: 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  x.lo:.$(TOP)\src b450: 5c 62 74 6d 75 74 65 78 2e 63 20 24 28 48 44 52 \btmutex.c$(HDR
b460: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20  )..$(LTCOMPILE) b470: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f$(CORE_COMPILE_O
b480: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73  PTS) -c $(TOP)\s b490: 72 63 5c 62 74 6d 75 74 65 78 2e 63 0a 0a 62 74 rc\btmutex.c..bt b4a0: 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ree.lo:.$(TOP)\s
b4b0: 72 63 5c 62 74 72 65 65 2e 63 20 24 28 48 44 52  rc\btree.c $(HDR b4c0: 29 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67 )$(TOP)\src\pag
b4d0: 65 72 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  er.h..$(LTCOMPIL b4e0: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
b4f0: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP b500: 29 5c 73 72 63 5c 62 74 72 65 65 2e 63 0a 0a 62 )\src\btree.c..b b510: 75 69 6c 64 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c uild.lo:.$(TOP)\
b520: 73 72 63 5c 62 75 69 6c 64 2e 63 20 24 28 48 44  src\build.c $(HD b530: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
b540: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ b550: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
b560: 73 72 63 5c 62 75 69 6c 64 2e 63 0a 0a 63 61 6c  src\build.c..cal
b570: 6c 62 61 63 6b 2e 6c 6f 3a 09 24 28 54 4f 50 29  lback.lo:.$(TOP) b580: 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b 2e 63 20 \src\callback.c b590: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP b5a0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
b5b0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T b5c0: 4f 50 29 5c 73 72 63 5c 63 61 6c 6c 62 61 63 6b OP)\src\callback b5d0: 2e 63 0a 0a 63 6f 6d 70 6c 65 74 65 2e 6c 6f 3a .c..complete.lo: b5e0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 63 6f 6d 70 .$(TOP)\src\comp
b5f0: 6c 65 74 65 2e 63 20 24 28 48 44 52 29 0a 09 24  lete.c $(HDR)..$
b600: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO b610: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) b620: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 63 -c$(TOP)\src\c
b630: 6f 6d 70 6c 65 74 65 2e 63 0a 0a 63 74 69 6d 65  omplete.c..ctime
b640: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ b650: 63 74 69 6d 65 2e 63 20 24 28 48 44 52 29 0a 09 ctime.c$(HDR)..
b660: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
b670: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b680: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ b690: 63 74 69 6d 65 2e 63 0a 0a 64 61 74 65 2e 6c 6f ctime.c..date.lo b6a0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 :.$(TOP)\src\dat
b6b0: 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  e.c $(HDR)..$(LT
b6c0: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ b6d0: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c b6e0: 20 24 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65$(TOP)\src\date
b6f0: 2e 63 0a 0a 64 62 73 74 61 74 2e 6c 6f 3a 09 24  .c..dbstat.lo:.$b700: 28 54 4f 50 29 5c 73 72 63 5c 64 61 74 65 2e 63 (TOP)\src\date.c b710: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d$(HDR)..$(LTCOM b720: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
b730: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28  PILE_OPTS) -c $( b740: 54 4f 50 29 5c 73 72 63 5c 64 62 73 74 61 74 2e TOP)\src\dbstat. b750: 63 0a 0a 64 65 6c 65 74 65 2e 6c 6f 3a 09 24 28 c..delete.lo:.$(
b760: 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65 2e  TOP)\src\delete.
b770: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
b780: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO b790: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
b7a0: 28 54 4f 50 29 5c 73 72 63 5c 64 65 6c 65 74 65  (TOP)\src\delete
b7b0: 2e 63 0a 0a 65 78 70 72 2e 6c 6f 3a 09 24 28 54  .c..expr.lo:.$(T b7c0: 4f 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 20 24 OP)\src\expr.c$
b7d0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI b7e0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
b7f0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO b800: 50 29 5c 73 72 63 5c 65 78 70 72 2e 63 0a 0a 66 P)\src\expr.c..f b810: 61 75 6c 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c ault.lo:.$(TOP)\
b820: 73 72 63 5c 66 61 75 6c 74 2e 63 20 24 28 48 44  src\fault.c $(HD b830: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
b840: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ b850: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
b860: 73 72 63 5c 66 61 75 6c 74 2e 63 0a 0a 66 6b 65  src\fault.c..fke
b870: 79 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  y.lo:.$(TOP)\src b880: 5c 66 6b 65 79 2e 63 20 24 28 48 44 52 29 0a 09 \fkey.c$(HDR)..
b890: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
b8a0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
b8b0: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ b8c0: 66 6b 65 79 2e 63 0a 0a 66 75 6e 63 2e 6c 6f 3a fkey.c..func.lo: b8d0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 .$(TOP)\src\func
b8e0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
b8f0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C b900: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c b910: 24 28 54 4f 50 29 5c 73 72 63 5c 66 75 6e 63 2e$(TOP)\src\func.
b920: 63 0a 0a 67 6c 6f 62 61 6c 2e 6c 6f 3a 09 24 28  c..global.lo:.$( b930: 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c 2e TOP)\src\global. b940: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO b950: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
b960: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $b970: 28 54 4f 50 29 5c 73 72 63 5c 67 6c 6f 62 61 6c (TOP)\src\global b980: 2e 63 0a 0a 68 61 73 68 2e 6c 6f 3a 09 24 28 54 .c..hash.lo:.$(T
b990: 4f 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 20 24  OP)\src\hash.c $b9a0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
b9b0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI b9c0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
b9d0: 50 29 5c 73 72 63 5c 68 61 73 68 2e 63 0a 0a 69  P)\src\hash.c..i
b9e0: 6e 73 65 72 74 2e 6c 6f 3a 09 24 28 54 4f 50 29  nsert.lo:.$(TOP) b9f0: 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 20 24 28 \src\insert.c$(
ba00: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL ba10: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
ba20: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP ba30: 29 5c 73 72 63 5c 69 6e 73 65 72 74 2e 63 0a 0a )\src\insert.c.. ba40: 6c 65 67 61 63 79 2e 6c 6f 3a 09 24 28 54 4f 50 legacy.lo:.$(TOP
ba50: 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 20 24  )\src\legacy.c $ba60: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
ba70: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI ba80: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
ba90: 50 29 5c 73 72 63 5c 6c 65 67 61 63 79 2e 63 0a  P)\src\legacy.c.
baa0: 0a 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 24 28 54  .loadext.lo:.$(T bab0: 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 74 2e OP)\src\loadext. bac0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO bad0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
bae0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $baf0: 28 54 4f 50 29 5c 73 72 63 5c 6c 6f 61 64 65 78 (TOP)\src\loadex bb00: 74 2e 63 0a 0a 6d 61 69 6e 2e 6c 6f 3a 09 24 28 t.c..main.lo:.$(
bb10: 54 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 20  TOP)\src\main.c
bb20: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50  $(HDR)..$(LTCOMP
bb30: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP bb40: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 ILE_OPTS) -c$(T
bb50: 4f 50 29 5c 73 72 63 5c 6d 61 69 6e 2e 63 0a 0a  OP)\src\main.c..
bb60: 6d 61 6c 6c 6f 63 2e 6c 6f 3a 09 24 28 54 4f 50  malloc.lo:.$(TOP bb70: 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 20 24 )\src\malloc.c$
bb80: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI bb90: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
bba0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO bbb0: 50 29 5c 73 72 63 5c 6d 61 6c 6c 6f 63 2e 63 0a P)\src\malloc.c. bbc0: 0a 6d 65 6d 30 2e 6c 6f 3a 09 24 28 54 4f 50 29 .mem0.lo:.$(TOP)
bbd0: 5c 73 72 63 5c 6d 65 6d 30 2e 63 20 24 28 48 44  \src\mem0.c $(HD bbe0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
bbf0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ bc00: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
bc10: 73 72 63 5c 6d 65 6d 30 2e 63 0a 0a 6d 65 6d 31  src\mem0.c..mem1
bc20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c  .lo:.$(TOP)\src\ bc30: 6d 65 6d 31 2e 63 20 24 28 48 44 52 29 0a 09 24 mem1.c$(HDR)..$bc40: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
bc50: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
bc60: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d   -c $(TOP)\src\m bc70: 65 6d 31 2e 63 0a 0a 6d 65 6d 32 2e 6c 6f 3a 09 em1.c..mem2.lo:. bc80: 24 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e$(TOP)\src\mem2.
bc90: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
bca0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO bcb0: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
bcc0: 28 54 4f 50 29 5c 73 72 63 5c 6d 65 6d 32 2e 63  (TOP)\src\mem2.c
bcd0: 0a 0a 6d 65 6d 33 2e 6c 6f 3a 09 24 28 54 4f 50  ..mem3.lo:.$(TOP bce0: 29 5c 73 72 63 5c 6d 65 6d 33 2e 63 20 24 28 48 )\src\mem3.c$(H
bcf0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE bd00: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
bd10: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) bd20: 5c 73 72 63 5c 6d 65 6d 33 2e 63 0a 0a 6d 65 6d \src\mem3.c..mem bd30: 35 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5.lo:.$(TOP)\src
bd40: 5c 6d 65 6d 35 2e 63 20 24 28 48 44 52 29 0a 09  \mem5.c $(HDR).. bd50: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C bd60: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS bd70: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
bd80: 6d 65 6d 35 2e 63 0a 0a 6d 65 6d 6a 6f 75 72 6e  mem5.c..memjourn
bd90: 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  al.lo:.$(TOP)\sr bda0: 63 5c 6d 65 6d 6a 6f 75 72 6e 61 6c 2e 63 20 24 c\memjournal.c$
bdb0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI bdc0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
bdd0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO bde0: 50 29 5c 73 72 63 5c 6d 65 6d 6a 6f 75 72 6e 61 P)\src\memjourna bdf0: 6c 2e 63 0a 0a 6d 75 74 65 78 2e 6c 6f 3a 09 24 l.c..mutex.lo:.$
be00: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e  (TOP)\src\mutex.
be10: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f  c $(HDR)..$(LTCO
be20: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f  MPILE) $(CORE_CO be30: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 MPILE_OPTS) -c$
be40: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 2e  (TOP)\src\mutex.
be50: 63 0a 0a 6d 75 74 65 78 5f 6e 6f 6f 70 2e 6c 6f  c..mutex_noop.lo
be60: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74  :.$(TOP)\src\mut be70: 65 78 5f 6e 6f 6f 70 2e 63 20 24 28 48 44 52 29 ex_noop.c$(HDR)
be80: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
be90: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
bea0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr beb0: 63 5c 6d 75 74 65 78 5f 6e 6f 6f 70 2e 63 0a 0a c\mutex_noop.c.. bec0: 6d 75 74 65 78 5f 75 6e 69 78 2e 6c 6f 3a 09 24 mutex_unix.lo:.$
bed0: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f  (TOP)\src\mutex_
bee0: 75 6e 69 78 2e 63 20 24 28 48 44 52 29 0a 09 24  unix.c $(HDR)..$
bef0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO bf00: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) bf10: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6d -c$(TOP)\src\m
bf20: 75 74 65 78 5f 75 6e 69 78 2e 63 0a 0a 6d 75 74  utex_unix.c..mut
bf30: 65 78 5f 77 33 32 2e 6c 6f 3a 09 24 28 54 4f 50  ex_w32.lo:.$(TOP bf40: 29 5c 73 72 63 5c 6d 75 74 65 78 5f 77 33 32 2e )\src\mutex_w32. bf50: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO bf60: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
bf70: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $bf80: 28 54 4f 50 29 5c 73 72 63 5c 6d 75 74 65 78 5f (TOP)\src\mutex_ bf90: 77 33 32 2e 63 0a 0a 6e 6f 74 69 66 79 2e 6c 6f w32.c..notify.lo bfa0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f 74 :.$(TOP)\src\not
bfb0: 69 66 79 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ify.c $(HDR)..$(
bfc0: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR bfd0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) bfe0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 6e 6f -c$(TOP)\src\no
bff0: 74 69 66 79 2e 63 0a 0a 70 61 67 65 72 2e 6c 6f  tify.c..pager.lo
c000: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70 61 67  :.$(TOP)\src\pag c010: 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 54 4f er.c$(HDR) $(TO c020: 50 29 5c 73 72 63 5c 70 61 67 65 72 2e 68 0a 09 P)\src\pager.h.. c030: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C c040: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS c050: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
c060: 70 61 67 65 72 2e 63 0a 0a 70 63 61 63 68 65 2e  pager.c..pcache.
c070: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 70  lo:.$(TOP)\src\p c080: 63 61 63 68 65 2e 63 20 24 28 48 44 52 29 20 24 cache.c$(HDR) $c090: 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68 65 (TOP)\src\pcache c0a0: 2e 68 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 .h..$(LTCOMPILE)
c0b0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c0c0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c0d0: 73 72 63 5c 70 63 61 63 68 65 2e 63 0a 0a 70 63  src\pcache.c..pc
c0e0: 61 63 68 65 31 2e 6c 6f 3a 09 24 28 54 4f 50 29  ache1.lo:.$(TOP) c0f0: 5c 73 72 63 5c 70 63 61 63 68 65 31 2e 63 20 24 \src\pcache1.c$
c100: 28 48 44 52 29 20 24 28 54 4f 50 29 5c 73 72 63  (HDR) $(TOP)\src c110: 5c 70 63 61 63 68 65 2e 68 0a 09 24 28 4c 54 43 \pcache.h..$(LTC
c120: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C c130: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c c140: 24 28 54 4f 50 29 5c 73 72 63 5c 70 63 61 63 68$(TOP)\src\pcach
c150: 65 31 2e 63 0a 0a 6f 73 2e 6c 6f 3a 09 24 28 54  e1.c..os.lo:.$(T c160: 4f 50 29 5c 73 72 63 5c 6f 73 2e 63 20 24 28 48 OP)\src\os.c$(H
c170: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE c180: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
c190: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) c1a0: 5c 73 72 63 5c 6f 73 2e 63 0a 0a 6f 73 5f 75 6e \src\os.c..os_un c1b0: 69 78 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 ix.lo:.$(TOP)\sr
c1c0: 63 5c 6f 73 5f 75 6e 69 78 2e 63 20 24 28 48 44  c\os_unix.c $(HD c1d0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
c1e0: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ c1f0: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c OPTS) -c$(TOP)\
c200: 73 72 63 5c 6f 73 5f 75 6e 69 78 2e 63 0a 0a 6f  src\os_unix.c..o
c210: 73 5f 77 69 6e 2e 6c 6f 3a 09 24 28 54 4f 50 29  s_win.lo:.$(TOP) c220: 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 20 24 28 \src\os_win.c$(
c230: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL c240: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
c250: 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50  E_OPTS) -c $(TOP c260: 29 5c 73 72 63 5c 6f 73 5f 77 69 6e 2e 63 0a 0a )\src\os_win.c.. c270: 70 72 61 67 6d 61 2e 6c 6f 3a 09 24 28 54 4f 50 pragma.lo:.$(TOP
c280: 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 20 24  )\src\pragma.c $c290: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
c2a0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI c2b0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
c2c0: 50 29 5c 73 72 63 5c 70 72 61 67 6d 61 2e 63 0a  P)\src\pragma.c.
c2d0: 0a 70 72 65 70 61 72 65 2e 6c 6f 3a 09 24 28 54  .prepare.lo:.$(T c2e0: 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 65 2e OP)\src\prepare. c2f0: 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f c$(HDR)..$(LTCO c300: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
c310: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24  MPILE_OPTS) -c $c320: 28 54 4f 50 29 5c 73 72 63 5c 70 72 65 70 61 72 (TOP)\src\prepar c330: 65 2e 63 0a 0a 70 72 69 6e 74 66 2e 6c 6f 3a 09 e.c..printf.lo:. c340: 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e 74$(TOP)\src\print
c350: 66 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54  f.c $(HDR)..$(LT
c360: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ c370: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 COMPILE_OPTS) -c c380: 20 24 28 54 4f 50 29 5c 73 72 63 5c 70 72 69 6e$(TOP)\src\prin
c390: 74 66 2e 63 0a 0a 72 61 6e 64 6f 6d 2e 6c 6f 3a  tf.c..random.lo:
c3a0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e 64  .$(TOP)\src\rand c3b0: 6f 6d 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c om.c$(HDR)..$(L c3c0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
c3d0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
c3e0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 72 61 6e  c $(TOP)\src\ran c3f0: 64 6f 6d 2e 63 0a 0a 72 65 73 6f 6c 76 65 2e 6c dom.c..resolve.l c400: 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 72 65 o:.$(TOP)\src\re
c410: 73 6f 6c 76 65 2e 63 20 24 28 48 44 52 29 0a 09  solve.c $(HDR).. c420: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43$(LTCOMPILE) $(C c430: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 ORE_COMPILE_OPTS c440: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c ) -c$(TOP)\src\
c450: 72 65 73 6f 6c 76 65 2e 63 0a 0a 72 6f 77 73 65  resolve.c..rowse
c460: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63  t.lo:.$(TOP)\src c470: 5c 72 6f 77 73 65 74 2e 63 20 24 28 48 44 52 29 \rowset.c$(HDR)
c480: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24  ..$(LTCOMPILE)$
c490: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50  (CORE_COMPILE_OP
c4a0: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72  TS) -c $(TOP)\sr c4b0: 63 5c 72 6f 77 73 65 74 2e 63 0a 0a 73 65 6c 65 c\rowset.c..sele c4c0: 63 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 ct.lo:.$(TOP)\sr
c4d0: 63 5c 73 65 6c 65 63 74 2e 63 20 24 28 48 44 52  c\select.c $(HDR c4e0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
c4f0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O c500: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
c510: 72 63 5c 73 65 6c 65 63 74 2e 63 0a 0a 73 74 61  rc\select.c..sta
c520: 74 75 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  tus.lo:.$(TOP)\s c530: 72 63 5c 73 74 61 74 75 73 2e 63 20 24 28 48 44 rc\status.c$(HD
c540: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) c550: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
c560: 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c  OPTS) -c $(TOP)\ c570: 73 72 63 5c 73 74 61 74 75 73 2e 63 0a 0a 74 61 src\status.c..ta c580: 62 6c 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ble.lo:.$(TOP)\s
c590: 72 63 5c 74 61 62 6c 65 2e 63 20 24 28 48 44 52  rc\table.c $(HDR c5a0: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
c5b0: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O c5c0: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
c5d0: 72 63 5c 74 61 62 6c 65 2e 63 0a 0a 74 68 72 65  rc\table.c..thre
c5e0: 61 64 73 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ads.lo:.$(TOP)\s c5f0: 72 63 5c 74 68 72 65 61 64 73 2e 63 20 24 28 48 rc\threads.c$(H
c600: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE c610: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
c620: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29  _OPTS) -c $(TOP) c630: 5c 73 72 63 5c 74 68 72 65 61 64 73 2e 63 0a 0a \src\threads.c.. c640: 74 6f 6b 65 6e 69 7a 65 2e 6c 6f 3a 09 24 28 54 tokenize.lo:.$(T
c650: 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a 65  OP)\src\tokenize
c660: 2e 63 20 6b 65 79 77 6f 72 64 68 61 73 68 2e 68  .c keywordhash.h
c670: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c680: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM c690: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
c6a0: 54 4f 50 29 5c 73 72 63 5c 74 6f 6b 65 6e 69 7a  TOP)\src\tokeniz
c6b0: 65 2e 63 0a 0a 74 72 65 65 76 69 65 77 2e 6c 6f  e.c..treeview.lo
c6c0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 74 72 65  :.$(TOP)\src\tre c6d0: 65 76 69 65 77 2e 63 20 24 28 48 44 52 29 0a 09 eview.c$(HDR)..
c6e0: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
c6f0: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
c700: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ c710: 74 72 65 65 76 69 65 77 2e 63 0a 0a 74 72 69 67 treeview.c..trig c720: 67 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ger.lo:.$(TOP)\s
c730: 72 63 5c 74 72 69 67 67 65 72 2e 63 20 24 28 48  rc\trigger.c $(H c740: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
c750: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE c760: 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 _OPTS) -c$(TOP)
c770: 5c 73 72 63 5c 74 72 69 67 67 65 72 2e 63 0a 0a  \src\trigger.c..
c780: 75 70 64 61 74 65 2e 6c 6f 3a 09 24 28 54 4f 50  update.lo:.$(TOP c790: 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 20 24 )\src\update.c$
c7a0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI c7b0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
c7c0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO c7d0: 50 29 5c 73 72 63 5c 75 70 64 61 74 65 2e 63 0a P)\src\update.c. c7e0: 0a 75 74 66 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c .utf.lo:.$(TOP)\
c7f0: 73 72 63 5c 75 74 66 2e 63 20 24 28 48 44 52 29  src\utf.c $(HDR) c800: 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 ..$(LTCOMPILE) $c810: 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 (CORE_COMPILE_OP c820: 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 TS) -c$(TOP)\sr
c830: 63 5c 75 74 66 2e 63 0a 0a 75 74 69 6c 2e 6c 6f  c\utf.c..util.lo
c840: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69  :.$(TOP)\src\uti c850: 6c 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 l.c$(HDR)..$(LT c860: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
c870: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63  COMPILE_OPTS) -c
c880: 20 24 28 54 4f 50 29 5c 73 72 63 5c 75 74 69 6c   $(TOP)\src\util c890: 2e 63 0a 0a 76 61 63 75 75 6d 2e 6c 6f 3a 09 24 .c..vacuum.lo:.$
c8a0: 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75 6d  (TOP)\src\vacuum
c8b0: 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43  .c $(HDR)..$(LTC
c8c0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C c8d0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 OMPILE_OPTS) -c c8e0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 61 63 75 75$(TOP)\src\vacuu
c8f0: 6d 2e 63 0a 0a 76 64 62 65 2e 6c 6f 3a 09 24 28  m.c..vdbe.lo:.$( c900: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 TOP)\src\vdbe.c c910: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP c920: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
c930: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T c940: 4f 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 0a 0a OP)\src\vdbe.c.. c950: 76 64 62 65 61 70 69 2e 6c 6f 3a 09 24 28 54 4f vdbeapi.lo:.$(TO
c960: 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69 2e 63  P)\src\vdbeapi.c
c970: 20 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d   $(HDR)..$(LTCOM
c980: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM c990: 50 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 PILE_OPTS) -c$(
c9a0: 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61 70 69  TOP)\src\vdbeapi
c9b0: 2e 63 0a 0a 76 64 62 65 61 75 78 2e 6c 6f 3a 09  .c..vdbeaux.lo:.
c9c0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 61  $(TOP)\src\vdbea c9d0: 75 78 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c ux.c$(HDR)..$(L c9e0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
c9f0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
ca00: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  c $(TOP)\src\vdb ca10: 65 61 75 78 2e 63 0a 0a 76 64 62 65 62 6c 6f 62 eaux.c..vdbeblob ca20: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c .lo:.$(TOP)\src\
ca30: 76 64 62 65 62 6c 6f 62 2e 63 20 24 28 48 44 52  vdbeblob.c $(HDR ca40: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
ca50: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O ca60: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
ca70: 72 63 5c 76 64 62 65 62 6c 6f 62 2e 63 0a 0a 76  rc\vdbeblob.c..v
ca80: 64 62 65 6d 65 6d 2e 6c 6f 3a 09 24 28 54 4f 50  dbemem.lo:.$(TOP ca90: 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e 63 20 )\src\vdbemem.c caa0: 24 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50$(HDR)..$(LTCOMP cab0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 ILE)$(CORE_COMP
cac0: 49 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54  ILE_OPTS) -c $(T cad0: 4f 50 29 5c 73 72 63 5c 76 64 62 65 6d 65 6d 2e OP)\src\vdbemem. cae0: 63 0a 0a 76 64 62 65 73 6f 72 74 2e 6c 6f 3a 09 c..vdbesort.lo:. caf0: 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62 65 73$(TOP)\src\vdbes
cb00: 6f 72 74 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ort.c $(HDR)..$(
cb10: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR cb20: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) cb30: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 -c$(TOP)\src\vd
cb40: 62 65 73 6f 72 74 2e 63 0a 0a 76 64 62 65 74 72  besort.c..vdbetr
cb50: 61 63 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73  ace.lo:.$(TOP)\s cb60: 72 63 5c 76 64 62 65 74 72 61 63 65 2e 63 20 24 rc\vdbetrace.c$
cb70: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49  (HDR)..$(LTCOMPI cb80: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 LE)$(CORE_COMPI
cb90: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f  LE_OPTS) -c $(TO cba0: 50 29 5c 73 72 63 5c 76 64 62 65 74 72 61 63 65 P)\src\vdbetrace cbb0: 2e 63 0a 0a 76 74 61 62 2e 6c 6f 3a 09 24 28 54 .c..vtab.lo:.$(T
cbc0: 4f 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 20 24  OP)\src\vtab.c $cbd0: 28 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 (HDR)..$(LTCOMPI
cbe0: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI cbf0: 4c 45 5f 4f 50 54 53 29 20 2d 63 20 24 28 54 4f LE_OPTS) -c$(TO
cc00: 50 29 5c 73 72 63 5c 76 74 61 62 2e 63 0a 0a 77  P)\src\vtab.c..w
cc10: 61 6c 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72  al.lo:.$(TOP)\sr cc20: 63 5c 77 61 6c 2e 63 20 24 28 48 44 52 29 0a 09 c\wal.c$(HDR)..
cc30: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
cc40: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
cc50: 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c  ) -c $(TOP)\src\ cc60: 77 61 6c 2e 63 0a 0a 77 61 6c 6b 65 72 2e 6c 6f wal.c..walker.lo cc70: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 6c :.$(TOP)\src\wal
cc80: 6b 65 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28  ker.c $(HDR)..$(
cc90: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52  LTCOMPILE) $(COR cca0: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 E_COMPILE_OPTS) ccb0: 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 61 -c$(TOP)\src\wa
ccc0: 6c 6b 65 72 2e 63 0a 0a 77 68 65 72 65 2e 6c 6f  lker.c..where.lo
ccd0: 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  :.$(TOP)\src\whe cce0: 72 65 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c re.c$(HDR)..$(L ccf0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
cd00: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cd10: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  c $(TOP)\src\whe cd20: 72 65 2e 63 0a 0a 77 68 65 72 65 63 6f 64 65 2e re.c..wherecode. cd30: 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 72 63 5c 77 lo:.$(TOP)\src\w
cd40: 68 65 72 65 63 6f 64 65 2e 63 20 24 28 48 44 52  herecode.c $(HDR cd50: 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 )..$(LTCOMPILE)
cd60: 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f  $(CORE_COMPILE_O cd70: 50 54 53 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 PTS) -c$(TOP)\s
cd80: 72 63 5c 77 68 65 72 65 63 6f 64 65 2e 63 0a 0a  rc\wherecode.c..
cd90: 77 68 65 72 65 65 78 70 72 2e 6c 6f 3a 09 24 28  whereexpr.lo:.$( cda0: 54 4f 50 29 5c 73 72 63 5c 77 68 65 72 65 65 78 TOP)\src\whereex cdb0: 70 72 2e 63 20 24 28 48 44 52 29 0a 09 24 28 4c pr.c$(HDR)..$(L cdc0: 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 TCOMPILE)$(CORE
cdd0: 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 2d  _COMPILE_OPTS) -
cde0: 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 77 68 65  c $(TOP)\src\whe cdf0: 72 65 65 78 70 72 2e 63 0a 0a 74 63 6c 73 71 6c reexpr.c..tclsql ce00: 69 74 65 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 73 ite.lo:.$(TOP)\s
ce10: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $ce20: 28 48 44 52 29 20 24 28 53 51 4c 49 54 45 5f 54 (HDR)$(SQLITE_T
ce30: 43 4c 5f 44 45 50 29 0a 09 24 28 4c 54 43 4f 4d  CL_DEP)..$(LTCOM ce40: 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 PILE)$(NO_WARN)
ce50: 20 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53   -DUSE_TCL_STUBS
ce60: 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74  =1 -DBUILD_sqlit
ce70: 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29  e -I$(TCLINCDIR) ce80: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74 -c$(TOP)\src\t
ce90: 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73  clsqlite.c..tcls
cea0: 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 3a 09  qlite-shell.lo:.
ceb0: 24 28 54 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71  $(TOP)\src\tclsq cec0: 6c 69 74 65 2e 63 20 24 28 48 44 52 29 20 24 28 lite.c$(HDR) $( ced0: 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a SQLITE_TCL_DEP). cee0: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 .$(LTCOMPILE) $( cef0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 54 43 4c 53 48 NO_WARN) -DTCLSH cf00: 3d 31 20 2d 44 42 55 49 4c 44 5f 73 71 6c 69 74 =1 -DBUILD_sqlit cf10: 65 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 e -I$(TCLINCDIR)
cf20: 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63 5c 74   -c $(TOP)\src\t cf30: 63 6c 73 71 6c 69 74 65 2e 63 0a 0a 74 63 6c 73 clsqlite.c..tcls cf40: 71 6c 69 74 65 33 2e 65 78 65 3a 09 74 63 6c 73 qlite3.exe:.tcls cf50: 71 6c 69 74 65 2d 73 68 65 6c 6c 2e 6c 6f 20 24 qlite-shell.lo$
cf60: 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c  (SQLITE3C) $(SQL cf70: 49 54 45 33 48 29 20 24 28 4c 49 42 52 45 53 4f ITE3H)$(LIBRESO
cf80: 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  BJS)..$(LTLINK) cf90: 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e$(SQLITE3C) /lin
cfa0: 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c  k $(LDFLAGS)$(L
cfb0: 54 4c 49 4e 4b 4f 50 54 53 29 20 24 28 4c 54 4c  TLINKOPTS) $(LTL cfc0: 49 42 50 41 54 48 53 29 20 2f 4f 55 54 3a 24 40 IBPATHS) /OUT:$@
cfd0: 20 74 63 6c 73 71 6c 69 74 65 2d 73 68 65 6c 6c   tclsqlite-shell
cfe0: 2e 6c 6f 20 24 28 4c 49 42 52 45 53 4f 42 4a 53  .lo $(LIBRESOBJS cff0: 29 20 24 28 4c 54 4c 49 42 53 29 20 24 28 54 4c )$(LTLIBS) $(TL d000: 49 42 53 29 0a 0a 23 20 52 75 6c 65 73 20 74 6f IBS)..# Rules to d010: 20 62 75 69 6c 64 20 6f 70 63 6f 64 65 73 2e 63 build opcodes.c d020: 20 61 6e 64 20 6f 70 63 6f 64 65 73 2e 68 0a 23 and opcodes.h.# d030: 0a 6f 70 63 6f 64 65 73 2e 63 3a 09 6f 70 63 6f .opcodes.c:.opco d040: 64 65 73 2e 68 20 24 28 54 4f 50 29 5c 74 6f 6f des.h$(TOP)\too
d050: 6c 5c 6d 6b 6f 70 63 6f 64 65 63 2e 74 63 6c 0a  l\mkopcodec.tcl.
d060: 09 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28  .$(TCLSH_CMD)$(
d070: 54 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f  TOP)\tool\mkopco
d080: 64 65 63 2e 74 63 6c 20 6f 70 63 6f 64 65 73 2e  dec.tcl opcodes.
d090: 68 20 3e 20 6f 70 63 6f 64 65 73 2e 63 0a 0a 6f  h > opcodes.c..o
d0a0: 70 63 6f 64 65 73 2e 68 3a 09 70 61 72 73 65 2e  pcodes.h:.parse.
d0b0: 68 20 24 28 54 4f 50 29 5c 73 72 63 5c 76 64 62  h $(TOP)\src\vdb d0c0: 65 2e 63 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c e.c$(TOP)\tool\
d0d0: 6d 6b 6f 70 63 6f 64 65 68 2e 74 63 6c 0a 09 74  mkopcodeh.tcl..t
d0e0: 79 70 65 20 70 61 72 73 65 2e 68 20 24 28 54 4f  ype parse.h $(TO d0f0: 50 29 5c 73 72 63 5c 76 64 62 65 2e 63 20 7c 20 P)\src\vdbe.c | d100: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T d110: 4f 50 29 5c 74 6f 6f 6c 5c 6d 6b 6f 70 63 6f 64 OP)\tool\mkopcod d120: 65 68 2e 74 63 6c 20 3e 20 6f 70 63 6f 64 65 73 eh.tcl > opcodes d130: 2e 68 0a 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 .h..# Rules to b d140: 75 69 6c 64 20 70 61 72 73 65 2e 63 20 61 6e 64 uild parse.c and d150: 20 70 61 72 73 65 2e 68 20 2d 20 74 68 65 20 6f parse.h - the o d160: 75 74 70 75 74 73 20 6f 66 20 6c 65 6d 6f 6e 2e utputs of lemon. d170: 0a 23 0a 70 61 72 73 65 2e 68 3a 09 70 61 72 73 .#.parse.h:.pars d180: 65 2e 63 0a 0a 70 61 72 73 65 2e 63 3a 09 24 28 e.c..parse.c:.$(
d190: 54 4f 50 29 5c 73 72 63 5c 70 61 72 73 65 2e 79  TOP)\src\parse.y
d1a0: 20 6c 65 6d 6f 6e 2e 65 78 65 20 24 28 54 4f 50   lemon.exe $(TOP d1b0: 29 5c 74 6f 6f 6c 5c 61 64 64 6f 70 63 6f 64 65 )\tool\addopcode d1c0: 73 2e 74 63 6c 0a 09 64 65 6c 20 2f 51 20 70 61 s.tcl..del /Q pa d1d0: 72 73 65 2e 79 20 70 61 72 73 65 2e 68 20 70 61 rse.y parse.h pa d1e0: 72 73 65 2e 68 2e 74 65 6d 70 20 32 3e 4e 55 4c rse.h.temp 2>NUL d1f0: 0a 09 63 6f 70 79 20 24 28 54 4f 50 29 5c 73 72 ..copy$(TOP)\sr
d200: 63 5c 70 61 72 73 65 2e 79 20 2e 0a 09 2e 5c 6c  c\parse.y ....\l
d210: 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46  emon.exe $(REQ_F d220: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 EATURE_FLAGS)$(
d230: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
d240: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE d250: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 _FLAGS)$(OPTS)
d260: 70 61 72 73 65 2e 79 0a 09 6d 6f 76 65 20 70 61  parse.y..move pa
d270: 72 73 65 2e 68 20 70 61 72 73 65 2e 68 2e 74 65  rse.h parse.h.te
d280: 6d 70 0a 09 24 28 54 43 4c 53 48 5f 43 4d 44 29  mp..$(TCLSH_CMD) d290: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 61 64 64$(TOP)\tool\add
d2a0: 6f 70 63 6f 64 65 73 2e 74 63 6c 20 70 61 72 73  opcodes.tcl pars
d2b0: 65 2e 68 2e 74 65 6d 70 20 3e 20 70 61 72 73 65  e.h.temp > parse
d2c0: 2e 68 0a 0a 24 28 53 51 4c 49 54 45 33 48 29 3a  .h..$(SQLITE3H): d2d0: 09 24 28 54 4f 50 29 5c 73 72 63 5c 73 71 6c 69 .$(TOP)\src\sqli
d2e0: 74 65 2e 68 2e 69 6e 20 24 28 54 4f 50 29 5c 6d  te.h.in $(TOP)\m d2f0: 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24 28 54 anifest.uuid$(T
d300: 4f 50 29 5c 56 45 52 53 49 4f 4e 0a 09 24 28 54  OP)\VERSION..$(T d310: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 CLSH_CMD)$(TOP)
d320: 5c 74 6f 6f 6c 5c 6d 6b 73 71 6c 69 74 65 33 68  \tool\mksqlite3h
d330: 2e 74 63 6c 20 24 28 54 4f 50 3a 5c 3d 2f 29 20  .tcl $(TOP:\=/) d340: 3e 20 24 28 53 51 4c 49 54 45 33 48 29 20 24 28 >$(SQLITE3H) $( d350: 4d 4b 53 51 4c 49 54 45 33 48 5f 41 52 47 53 29 MKSQLITE3H_ARGS) d360: 0a 0a 73 71 6c 69 74 65 33 65 78 74 2e 68 3a 09 ..sqlite3ext.h:. d370: 2e 74 61 72 67 65 74 5f 73 6f 75 72 63 65 0a 21 .target_source.! d380: 49 46 20 24 28 55 53 45 5f 53 54 44 43 41 4c 4c IF$(USE_STDCALL
d390: 29 21 3d 30 20 7c 7c 20 24 28 46 4f 52 5f 57 49  )!=0 || $(FOR_WI d3a0: 4e 31 30 29 21 3d 30 0a 09 74 79 70 65 20 74 73 N10)!=0..type ts d3b0: 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 20 rc\sqlite3ext.h d3c0: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 |$(TCLSH_CMD) $d3d0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 (TOP)\tool\repla d3e0: 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 5c ce.tcl regsub "\ d3f0: 28 5c 2a 5c 29 22 20 22 28 53 51 4c 49 54 45 5f (\*\)" "(SQLITE_ d400: 43 41 4c 4c 42 41 43 4b 20 2a 29 22 20 5c 0a 09 CALLBACK *)" \.. d410: 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 .|$(TCLSH_CMD)
d420: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c  $(TOP)\tool\repl d430: 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 ace.tcl regsub " d440: 5c 28 5c 2a 22 20 22 28 53 51 4c 49 54 45 5f 41 \(\*" "(SQLITE_A d450: 50 49 43 41 4c 4c 20 2a 22 20 3e 20 73 71 6c 69 PICALL *" > sqli d460: 74 65 33 65 78 74 2e 68 0a 09 63 6f 70 79 20 2f te3ext.h..copy / d470: 59 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20 74 Y sqlite3ext.h t d480: 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e 68 src\sqlite3ext.h d490: 0a 21 45 4c 53 45 0a 09 63 6f 70 79 20 2f 59 20 .!ELSE..copy /Y d4a0: 74 73 72 63 5c 73 71 6c 69 74 65 33 65 78 74 2e tsrc\sqlite3ext. d4b0: 68 20 73 71 6c 69 74 65 33 65 78 74 2e 68 0a 21 h sqlite3ext.h.! d4c0: 45 4e 44 49 46 0a 0a 6d 6b 6b 65 79 77 6f 72 64 ENDIF..mkkeyword d4d0: 68 61 73 68 2e 65 78 65 3a 09 24 28 54 4f 50 29 hash.exe:.$(TOP)
d4e0: 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68  \tool\mkkeywordh
d4f0: 61 73 68 2e 63 0a 09 24 28 42 43 43 29 20 24 28  ash.c..$(BCC)$(
d500: 4e 4f 5f 57 41 52 4e 29 20 2d 46 65 24 40 20 24  NO_WARN) -Fe$@$
d510: 28 52 45 51 5f 46 45 41 54 55 52 45 5f 46 4c 41  (REQ_FEATURE_FLA
d520: 47 53 29 20 24 28 4f 50 54 5f 46 45 41 54 55 52  GS) $(OPT_FEATUR d530: 45 5f 46 4c 41 47 53 29 20 24 28 45 58 54 5f 46 E_FLAGS)$(EXT_F
d540: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28  EATURE_FLAGS) $( d550: 4f 50 54 53 29 20 5c 0a 09 09 24 28 54 4f 50 29 OPTS) \...$(TOP)
d560: 5c 74 6f 6f 6c 5c 6d 6b 6b 65 79 77 6f 72 64 68  \tool\mkkeywordh
d570: 61 73 68 2e 63 20 2f 6c 69 6e 6b 20 24 28 4c 44  ash.c /link $(LD d580: 46 4c 41 47 53 29 20 24 28 4e 4c 54 4c 49 4e 4b FLAGS)$(NLTLINK
d590: 4f 50 54 53 29 20 24 28 4e 4c 54 4c 49 42 50 41  OPTS) $(NLTLIBPA d5a0: 54 48 53 29 0a 0a 6b 65 79 77 6f 72 64 68 61 73 THS)..keywordhas d5b0: 68 2e 68 3a 09 24 28 54 4f 50 29 5c 74 6f 6f 6c h.h:.$(TOP)\tool
d5c0: 5c 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 63  \mkkeywordhash.c
d5d0: 20 6d 6b 6b 65 79 77 6f 72 64 68 61 73 68 2e 65   mkkeywordhash.e
d5e0: 78 65 0a 09 2e 5c 6d 6b 6b 65 79 77 6f 72 64 68  xe...\mkkeywordh
d5f0: 61 73 68 2e 65 78 65 20 3e 20 6b 65 79 77 6f 72  ash.exe > keywor
d600: 64 68 61 73 68 2e 68 0a 0a 0a 0a 23 20 52 75 6c  dhash.h....# Rul
d610: 65 73 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20  es to build the
d620: 65 78 74 65 6e 73 69 6f 6e 20 6f 62 6a 65 63 74  extension object
d630: 73 2e 0a 23 0a 69 63 75 2e 6c 6f 3a 09 24 28 54  s..#.icu.lo:.$(T d640: 4f 50 29 5c 65 78 74 5c 69 63 75 5c 69 63 75 2e OP)\ext\icu\icu. d650: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44 c$(HDR) $(EXTHD d660: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 R)..$(LTCOMPILE)
d670: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f   $(CORE_COMPILE_ d680: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 OPTS)$(NO_WARN)
d690: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d   -DSQLITE_CORE -
d6a0: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 69 63 75  c $(TOP)\ext\icu d6b0: 5c 69 63 75 2e 63 0a 0a 66 74 73 32 2e 6c 6f 3a \icu.c..fts2.lo: d6c0: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 .$(TOP)\ext\fts2
d6d0: 5c 66 74 73 32 2e 63 20 24 28 48 44 52 29 20 24  \fts2.c $(HDR)$
d6e0: 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f  (EXTHDR)..$(LTCO d6f0: 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f MPILE)$(CORE_CO
d700: 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f  MPILE_OPTS) $(NO d710: 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f _WARN) -DSQLITE_ d720: 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 CORE -c$(TOP)\e
d730: 78 74 5c 66 74 73 32 5c 66 74 73 32 2e 63 0a 0a  xt\fts2\fts2.c..
d740: 66 74 73 32 5f 68 61 73 68 2e 6c 6f 3a 09 24 28  fts2_hash.lo:.$( d750: 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 TOP)\ext\fts2\ft d760: 73 32 5f 68 61 73 68 2e 63 20 24 28 48 44 52 29 s2_hash.c$(HDR)
d770: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54   $(EXTHDR)..$(LT
d780: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f  COMPILE) $(CORE_ d790: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 COMPILE_OPTS)$(
d7a0: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54  NO_WARN) -DSQLIT
d7b0: 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29  E_CORE -c $(TOP) d7c0: 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 68 \ext\fts2\fts2_h d7d0: 61 73 68 2e 63 0a 0a 66 74 73 32 5f 69 63 75 2e ash.c..fts2_icu. d7e0: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 lo:.$(TOP)\ext\f
d7f0: 74 73 32 5c 66 74 73 32 5f 69 63 75 2e 63 20 24  ts2\fts2_icu.c $d800: 28 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a (HDR)$(EXTHDR).
d810: 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28  .$(LTCOMPILE)$(
d820: 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54  CORE_COMPILE_OPT
d830: 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  S) $(NO_WARN) -D d840: 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 SQLITE_CORE -c$
d850: 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 32 5c 66  (TOP)\ext\fts2\f
d860: 74 73 32 5f 69 63 75 2e 63 0a 0a 66 74 73 32 5f  ts2_icu.c..fts2_
d870: 70 6f 72 74 65 72 2e 6c 6f 3a 09 24 28 54 4f 50  porter.lo:.$(TOP d880: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f )\ext\fts2\fts2_ d890: 70 6f 72 74 65 72 2e 63 20 24 28 48 44 52 29 20 porter.c$(HDR)
d8a0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43  $(EXTHDR)..$(LTC
d8b0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43  OMPILE) $(CORE_C d8c0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e OMPILE_OPTS)$(N
d8d0: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45  O_WARN) -DSQLITE
d8e0: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c  _CORE -c $(TOP)\ d8f0: 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f 70 6f ext\fts2\fts2_po d900: 72 74 65 72 2e 63 0a 0a 66 74 73 32 5f 74 6f 6b rter.c..fts2_tok d910: 65 6e 69 7a 65 72 2e 6c 6f 3a 09 24 28 54 4f 50 enizer.lo:.$(TOP
d920: 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32 5f  )\ext\fts2\fts2_
d930: 74 6f 6b 65 6e 69 7a 65 72 2e 63 20 24 28 48 44  tokenizer.c $(HD d940: 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 R)$(EXTHDR)..$( d950: 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 LTCOMPILE)$(COR
d960: 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20  E_COMPILE_OPTS)
d970: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL d980: 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f ITE_CORE -c$(TO
d990: 50 29 5c 65 78 74 5c 66 74 73 32 5c 66 74 73 32  P)\ext\fts2\fts2
d9a0: 5f 74 6f 6b 65 6e 69 7a 65 72 2e 63 0a 0a 66 74  _tokenizer.c..ft
d9b0: 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 6c 6f  s2_tokenizer1.lo
d9c0: 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73  :.$(TOP)\ext\fts d9d0: 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a 65 72 2\fts2_tokenizer d9e0: 31 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 1.c$(HDR) $(EXT d9f0: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
da00: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL da10: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
da20: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
da30: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f da40: 74 73 32 5c 66 74 73 32 5f 74 6f 6b 65 6e 69 7a ts2\fts2_tokeniz da50: 65 72 31 2e 63 0a 0a 66 74 73 33 2e 6c 6f 3a 09 er1.c..fts3.lo:. da60: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c$(TOP)\ext\fts3\
da70: 66 74 73 33 2e 63 20 24 28 48 44 52 29 20 24 28  fts3.c $(HDR)$(
da80: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d  EXTHDR)..$(LTCOM da90: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d PILE)$(CORE_COM
daa0: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f  PILE_OPTS) $(NO_ dab0: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 WARN) -DSQLITE_C dac0: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 ORE -c$(TOP)\ex
dad0: 74 5c 66 74 73 33 5c 66 74 73 33 2e 63 0a 0a 66  t\fts3\fts3.c..f
dae0: 74 73 33 5f 61 75 78 2e 6c 6f 3a 09 24 28 54 4f  ts3_aux.lo:.$(TO daf0: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33 P)\ext\fts3\fts3 db00: 5f 61 75 78 2e 63 20 24 28 48 44 52 29 20 24 28 _aux.c$(HDR) $( db10: 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d EXTHDR)..$(LTCOM
db20: 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d  PILE) $(CORE_COM db30: 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f PILE_OPTS)$(NO_
db40: 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43  WARN) -DSQLITE_C
db50: 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78  ORE -c $(TOP)\ex db60: 74 5c 66 74 73 33 5c 66 74 73 33 5f 61 75 78 2e t\fts3\fts3_aux. db70: 63 0a 0a 66 74 73 33 5f 65 78 70 72 2e 6c 6f 3a c..fts3_expr.lo: db80: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 .$(TOP)\ext\fts3
db90: 5c 66 74 73 33 5f 65 78 70 72 2e 63 20 24 28 48  \fts3_expr.c $(H dba0: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24 DR)$(EXTHDR)..$dbb0: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f (LTCOMPILE)$(CO
dbc0: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29  RE_COMPILE_OPTS)
dbd0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ dbe0: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54 LITE_CORE -c$(T
dbf0: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73  OP)\ext\fts3\fts
dc00: 33 5f 65 78 70 72 2e 63 0a 0a 66 74 73 33 5f 68  3_expr.c..fts3_h
dc10: 61 73 68 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  ash.lo:.$(TOP)\e dc20: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 68 61 73 xt\fts3\fts3_has dc30: 68 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 h.c$(HDR) $(EXT dc40: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
dc50: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c  E) $(CORE_COMPIL dc60: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 E_OPTS)$(NO_WAR
dc70: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  N) -DSQLITE_CORE
dc80: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66   -c $(TOP)\ext\f dc90: 74 73 33 5c 66 74 73 33 5f 68 61 73 68 2e 63 0a ts3\fts3_hash.c. dca0: 0a 66 74 73 33 5f 69 63 75 2e 6c 6f 3a 09 24 28 .fts3_icu.lo:.$(
dcb0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
dcc0: 73 33 5f 69 63 75 2e 63 20 24 28 48 44 52 29 20  s3_icu.c $(HDR) dcd0: 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54 43$(EXTHDR)..$(LTC dce0: 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 OMPILE)$(CORE_C
dcf0: 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e  OMPILE_OPTS) $(N dd00: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE dd10: 5f 43 4f 52 45 20 2d 63 20 24 28 54 4f 50 29 5c _CORE -c$(TOP)\
dd20: 65 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 69 63  ext\fts3\fts3_ic
dd30: 75 2e 63 0a 0a 66 74 73 33 5f 73 6e 69 70 70 65  u.c..fts3_snippe
dd40: 74 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74  t.lo:.$(TOP)\ext dd50: 5c 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 \fts3\fts3_snipp dd60: 65 74 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 et.c$(HDR) $(EX dd70: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
dd80: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI dd90: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
dda0: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
ddb0: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ ddc0: 66 74 73 33 5c 66 74 73 33 5f 73 6e 69 70 70 65 fts3\fts3_snippe ddd0: 74 2e 63 0a 0a 66 74 73 33 5f 70 6f 72 74 65 72 t.c..fts3_porter dde0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
ddf0: 66 74 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72  fts3\fts3_porter
de00: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
de10: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE de20: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
de30: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN de40: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE de50: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
de60: 73 33 5c 66 74 73 33 5f 70 6f 72 74 65 72 2e 63  s3\fts3_porter.c
de70: 0a 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 72  ..fts3_tokenizer
de80: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ de90: 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e 69 fts3\fts3_tokeni dea0: 7a 65 72 2e 63 20 24 28 48 44 52 29 20 24 28 45 zer.c$(HDR) $(E deb0: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
dec0: 49 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50  ILE) $(CORE_COMP ded0: 49 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 ILE_OPTS)$(NO_W
dee0: 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f  ARN) -DSQLITE_CO
def0: 52 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74  RE -c $(TOP)\ext df00: 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b 65 6e \fts3\fts3_token df10: 69 7a 65 72 2e 63 0a 0a 66 74 73 33 5f 74 6f 6b izer.c..fts3_tok df20: 65 6e 69 7a 65 72 31 2e 6c 6f 3a 09 24 28 54 4f enizer1.lo:.$(TO
df30: 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 33  P)\ext\fts3\fts3
df40: 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 20 24 28  _tokenizer1.c $( df50: 48 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 HDR)$(EXTHDR)..
df60: 24 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43  $(LTCOMPILE)$(C
df70: 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53  ORE_COMPILE_OPTS
df80: 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53  ) $(NO_WARN) -DS df90: 51 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 QLITE_CORE -c$(
dfa0: 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74  TOP)\ext\fts3\ft
dfb0: 73 33 5f 74 6f 6b 65 6e 69 7a 65 72 31 2e 63 0a  s3_tokenizer1.c.
dfc0: 0a 66 74 73 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76  .fts3_tokenize_v
dfd0: 74 61 62 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  tab.lo:.$(TOP)\e dfe0: 78 74 5c 66 74 73 33 5c 66 74 73 33 5f 74 6f 6b xt\fts3\fts3_tok dff0: 65 6e 69 7a 65 5f 76 74 61 62 2e 63 20 24 28 48 enize_vtab.c$(H
e000: 44 52 29 20 24 28 45 58 54 48 44 52 29 0a 09 24  DR) $(EXTHDR)..$
e010: 28 4c 54 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f  (LTCOMPILE) $(CO e020: 52 45 5f 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 RE_COMPILE_OPTS) e030: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51$(NO_WARN) -DSQ
e040: 4c 49 54 45 5f 43 4f 52 45 20 2d 63 20 24 28 54  LITE_CORE -c $(T e050: 4f 50 29 5c 65 78 74 5c 66 74 73 33 5c 66 74 73 OP)\ext\fts3\fts e060: 33 5f 74 6f 6b 65 6e 69 7a 65 5f 76 74 61 62 2e 3_tokenize_vtab. e070: 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e c..fts3_unicode. e080: 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 lo:.$(TOP)\ext\f
e090: 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65  ts3\fts3_unicode
e0a0: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48  .c $(HDR)$(EXTH
e0b0: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45  DR)..$(LTCOMPILE e0c0: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 )$(CORE_COMPILE
e0d0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e  _OPTS) $(NO_WARN e0e0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE e0f0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 -c$(TOP)\ext\ft
e100: 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 65 2e  s3\fts3_unicode.
e110: 63 0a 0a 66 74 73 33 5f 75 6e 69 63 6f 64 65 32  c..fts3_unicode2
e120: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c  .lo:.$(TOP)\ext\ e130: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 fts3\fts3_unicod e140: 65 32 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 e2.c$(HDR) $(EX e150: 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 THDR)..$(LTCOMPI
e160: 4c 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49  LE) $(CORE_COMPI e170: 4c 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 LE_OPTS)$(NO_WA
e180: 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52  RN) -DSQLITE_COR
e190: 45 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c  E -c $(TOP)\ext\ e1a0: 66 74 73 33 5c 66 74 73 33 5f 75 6e 69 63 6f 64 fts3\fts3_unicod e1b0: 65 32 2e 63 0a 0a 66 74 73 33 5f 77 72 69 74 65 e2.c..fts3_write e1c0: 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65 78 74 5c .lo:.$(TOP)\ext\
e1d0: 66 74 73 33 5c 66 74 73 33 5f 77 72 69 74 65 2e  fts3\fts3_write.
e1e0: 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 44  c $(HDR)$(EXTHD
e1f0: 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 29  R)..$(LTCOMPILE) e200: 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45 5f$(CORE_COMPILE_
e210: 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e 29  OPTS) $(NO_WARN) e220: 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 2d -DSQLITE_CORE - e230: 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 c$(TOP)\ext\fts
e240: 33 5c 66 74 73 33 5f 77 72 69 74 65 2e 63 0a 0a  3\fts3_write.c..
e250: 72 74 72 65 65 2e 6c 6f 3a 09 24 28 54 4f 50 29  rtree.lo:.$(TOP) e260: 5c 65 78 74 5c 72 74 72 65 65 5c 72 74 72 65 65 \ext\rtree\rtree e270: 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 48 .c$(HDR) $(EXTH e280: 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c 45 DR)..$(LTCOMPILE
e290: 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c 45  ) $(CORE_COMPILE e2a0: 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52 4e _OPTS)$(NO_WARN
e2b0: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20  ) -DSQLITE_CORE
e2c0: 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72 74  -c $(TOP)\ext\rt e2d0: 72 65 65 5c 72 74 72 65 65 2e 63 0a 0a 73 71 6c ree\rtree.c..sql e2e0: 69 74 65 33 73 65 73 73 69 6f 6e 2e 6c 6f 3a 09 ite3session.lo:. e2f0: 24 28 54 4f 50 29 5c 65 78 74 5c 73 65 73 73 69$(TOP)\ext\sessi
e300: 6f 6e 5c 73 71 6c 69 74 65 33 73 65 73 73 69 6f  on\sqlite3sessio
e310: 6e 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54  n.c $(HDR)$(EXT
e320: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c  HDR)..$(LTCOMPIL e330: 45 29 20 24 28 43 4f 52 45 5f 43 4f 4d 50 49 4c E)$(CORE_COMPIL
e340: 45 5f 4f 50 54 53 29 20 24 28 4e 4f 5f 57 41 52  E_OPTS) $(NO_WAR e350: 4e 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 N) -DSQLITE_CORE e360: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 73 -c$(TOP)\ext\s
e370: 65 73 73 69 6f 6e 5c 73 71 6c 69 74 65 33 73 65  ession\sqlite3se
e380: 73 73 69 6f 6e 2e 63 0a 0a 23 20 46 54 53 35 20  ssion.c..# FTS5
e390: 74 68 69 6e 67 73 0a 23 0a 46 54 53 35 5f 53 52  things.#.FTS5_SR
e3a0: 43 20 3d 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c  C = \.   $(TOP)\ e3b0: 65 78 74 5c 66 74 73 35 5c 66 74 73 35 2e 68 20 ext\fts5\fts5.h e3c0: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
e3d0: 66 74 73 35 5c 66 74 73 35 49 6e 74 2e 68 20 5c  fts5\fts5Int.h \
e3e0: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66  .   $(TOP)\ext\f e3f0: 74 73 35 5c 66 74 73 35 5f 61 75 78 2e 63 20 5c ts5\fts5_aux.c \ e400: 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 .$(TOP)\ext\f
e410: 74 73 35 5c 66 74 73 35 5f 62 75 66 66 65 72 2e  ts5\fts5_buffer.
e420: 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78  c \.   $(TOP)\ex e430: 74 5c 66 74 73 35 5c 66 74 73 35 5f 6d 61 69 6e t\fts5\fts5_main e440: 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 .c \.$(TOP)\e
e450: 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 63 6f 6e  xt\fts5\fts5_con
e460: 66 69 67 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50  fig.c \.   $(TOP e470: 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f )\ext\fts5\fts5_ e480: 65 78 70 72 2e 63 20 5c 0a 20 20 20 24 28 54 4f expr.c \.$(TO
e490: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
e4a0: 5f 68 61 73 68 2e 63 20 5c 0a 20 20 20 24 28 54  _hash.c \.   $(T e4b0: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 OP)\ext\fts5\fts e4c0: 35 5f 69 6e 64 65 78 2e 63 20 5c 0a 20 20 20 66 5_index.c \. f e4d0: 74 73 35 70 61 72 73 65 2e 63 20 66 74 73 35 70 ts5parse.c fts5p e4e0: 61 72 73 65 2e 68 20 5c 0a 20 20 20 24 28 54 4f arse.h \.$(TO
e4f0: 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35  P)\ext\fts5\fts5
e500: 5f 73 74 6f 72 61 67 65 2e 63 20 5c 0a 20 20 20  _storage.c \.
e510: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c  $(TOP)\ext\fts5\ e520: 66 74 73 35 5f 74 6f 6b 65 6e 69 7a 65 2e 63 20 fts5_tokenize.c e530: 5c 0a 20 20 20 24 28 54 4f 50 29 5c 65 78 74 5c \.$(TOP)\ext\
e540: 66 74 73 35 5c 66 74 73 35 5f 75 6e 69 63 6f 64  fts5\fts5_unicod
e550: 65 32 2e 63 20 5c 0a 20 20 20 24 28 54 4f 50 29  e2.c \.   $(TOP) e560: 5c 65 78 74 5c 66 74 73 35 5c 66 74 73 35 5f 76 \ext\fts5\fts5_v e570: 61 72 69 6e 74 2e 63 20 5c 0a 20 20 20 24 28 54 arint.c \.$(T
e580: 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c 66 74 73  OP)\ext\fts5\fts
e590: 35 5f 76 6f 63 61 62 2e 63 0a 0a 66 74 73 35 70  5_vocab.c..fts5p
e5a0: 61 72 73 65 2e 63 3a 09 24 28 54 4f 50 29 5c 65  arse.c:.$(TOP)\e e5b0: 78 74 5c 66 74 73 35 5c 66 74 73 35 70 61 72 73 xt\fts5\fts5pars e5c0: 65 2e 79 20 6c 65 6d 6f 6e 2e 65 78 65 0a 09 63 e.y lemon.exe..c e5d0: 6f 70 79 20 24 28 54 4f 50 29 5c 65 78 74 5c 66 opy$(TOP)\ext\f
e5e0: 74 73 35 5c 66 74 73 35 70 61 72 73 65 2e 79 20  ts5\fts5parse.y
e5f0: 2e 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 70 61  ...del /Q fts5pa
e600: 72 73 65 2e 68 20 32 3e 4e 55 4c 0a 09 2e 5c 6c  rse.h 2>NUL...\l
e610: 65 6d 6f 6e 2e 65 78 65 20 24 28 52 45 51 5f 46  emon.exe $(REQ_F e620: 45 41 54 55 52 45 5f 46 4c 41 47 53 29 20 24 28 EATURE_FLAGS)$(
e630: 4f 50 54 5f 46 45 41 54 55 52 45 5f 46 4c 41 47  OPT_FEATURE_FLAG
e640: 53 29 20 24 28 45 58 54 5f 46 45 41 54 55 52 45  S) $(EXT_FEATURE e650: 5f 46 4c 41 47 53 29 20 24 28 4f 50 54 53 29 20 _FLAGS)$(OPTS)
e660: 66 74 73 35 70 61 72 73 65 2e 79 0a 0a 66 74 73  fts5parse.y..fts
e670: 35 70 61 72 73 65 2e 68 3a 09 66 74 73 35 70 61  5parse.h:.fts5pa
e680: 72 73 65 2e 63 0a 0a 66 74 73 35 2e 63 3a 09 24  rse.c..fts5.c:.$e690: 28 46 54 53 35 5f 53 52 43 29 0a 09 24 28 54 43 (FTS5_SRC)..$(TC
e6a0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ e6b0: 65 78 74 5c 66 74 73 35 5c 74 6f 6f 6c 5c 6d 6b ext\fts5\tool\mk e6c0: 66 74 73 35 63 2e 74 63 6c 0a 09 63 6f 70 79 20 fts5c.tcl..copy e6d0: 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 35 5c$(TOP)\ext\fts5\
e6e0: 66 74 73 35 2e 68 20 2e 0a 0a 66 74 73 35 2e 6c  fts5.h ...fts5.l
e6f0: 6f 3a 09 66 74 73 35 2e 63 20 24 28 48 44 52 29  o:.fts5.c $(HDR) e700: 20 24 28 45 58 54 48 44 52 29 0a 09 24 28 4c 54$(EXTHDR)..$(LT e710: 43 4f 4d 50 49 4c 45 29 20 24 28 43 4f 52 45 5f COMPILE)$(CORE_
e720: 43 4f 4d 50 49 4c 45 5f 4f 50 54 53 29 20 24 28  COMPILE_OPTS) $( e730: 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT e740: 45 5f 43 4f 52 45 20 2d 63 20 66 74 73 35 2e 63 E_CORE -c fts5.c e750: 0a 0a 66 74 73 35 5f 65 78 74 2e 6c 6f 3a 09 66 ..fts5_ext.lo:.f e760: 74 73 35 2e 63 20 24 28 48 44 52 29 20 24 28 45 ts5.c$(HDR) $(E e770: 58 54 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 XTHDR)..$(LTCOMP
e780: 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20  ILE) $(NO_WARN) e790: 2d 63 20 66 74 73 35 2e 63 0a 0a 66 74 73 35 2e -c fts5.c..fts5. e7a0: 64 6c 6c 3a 09 66 74 73 35 5f 65 78 74 2e 6c 6f dll:.fts5_ext.lo e7b0: 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 ..$(LD) $(LDFLAG e7c0: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
e7d0: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) / e7e0: 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 66 74 73 35 DLL /OUT:$@ fts5
e7f0: 5f 65 78 74 2e 6c 6f 0a 0a 73 71 6c 69 74 65 33  _ext.lo..sqlite3
e800: 72 62 75 2e 6c 6f 3a 09 24 28 54 4f 50 29 5c 65  rbu.lo:.$(TOP)\e e810: 78 74 5c 72 62 75 5c 73 71 6c 69 74 65 33 72 62 xt\rbu\sqlite3rb e820: 75 2e 63 20 24 28 48 44 52 29 20 24 28 45 58 54 u.c$(HDR) $(EXT e830: 48 44 52 29 0a 09 24 28 4c 54 43 4f 4d 50 49 4c HDR)..$(LTCOMPIL
e840: 45 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45  E) -DSQLITE_CORE
e850: 20 2d 63 20 24 28 54 4f 50 29 5c 65 78 74 5c 72   -c $(TOP)\ext\r e860: 62 75 5c 73 71 6c 69 74 65 33 72 62 75 2e 63 0a bu\sqlite3rbu.c. e870: 0a 23 20 52 75 6c 65 73 20 74 6f 20 62 75 69 6c .# Rules to buil e880: 64 20 74 68 65 20 27 74 65 73 74 66 69 78 74 75 d the 'testfixtu e890: 72 65 27 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e re' application. e8a0: 0a 23 0a 23 20 49 66 20 75 73 69 6e 67 20 74 68 .#.# If using th e8b0: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2c 20 e amalgamation, e8c0: 75 73 65 20 73 71 6c 69 74 65 33 2e 63 20 64 69 use sqlite3.c di e8d0: 72 65 63 74 6c 79 20 74 6f 20 62 75 69 6c 64 20 rectly to build e8e0: 74 68 65 20 74 65 73 74 0a 23 20 66 69 78 74 75 the test.# fixtu e8f0: 72 65 2e 20 20 4f 74 68 65 72 77 69 73 65 20 6c re. Otherwise l e900: 69 6e 6b 20 61 67 61 69 6e 73 74 20 6c 69 62 73 ink against libs e910: 71 6c 69 74 65 33 2e 6c 69 62 2e 20 20 28 54 68 qlite3.lib. (Th e920: 69 73 20 64 69 73 74 69 6e 63 74 69 6f 6e 20 69 is distinction i e930: 73 0a 23 20 6e 65 63 65 73 73 61 72 79 20 62 65 s.# necessary be e940: 63 61 75 73 65 20 74 68 65 20 74 65 73 74 20 66 cause the test f e950: 69 78 74 75 72 65 20 72 65 71 75 69 72 65 73 20 ixture requires e960: 6e 6f 6e 2d 41 50 49 20 73 79 6d 62 6f 6c 73 20 non-API symbols e970: 77 68 69 63 68 20 61 72 65 0a 23 20 68 69 64 64 which are.# hidd e980: 65 6e 20 77 68 65 6e 20 74 68 65 20 6c 69 62 72 en when the libr e990: 61 72 79 20 69 73 20 62 75 69 6c 74 20 76 69 61 ary is built via e9a0: 20 74 68 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f the amalgamatio e9b0: 6e 29 2e 0a 23 0a 54 45 53 54 46 49 58 54 55 52 n)..#.TESTFIXTUR e9c0: 45 5f 46 4c 41 47 53 20 3d 20 2d 44 54 43 4c 53 E_FLAGS = -DTCLS e9d0: 48 3d 31 20 2d 44 53 51 4c 49 54 45 5f 54 45 53 H=1 -DSQLITE_TES e9e0: 54 3d 31 20 2d 44 53 51 4c 49 54 45 5f 43 52 41 T=1 -DSQLITE_CRA e9f0: 53 48 5f 54 45 53 54 3d 31 0a 54 45 53 54 46 49 SH_TEST=1.TESTFI ea00: 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 XTURE_FLAGS =$(
ea10: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47  TESTFIXTURE_FLAG
ea20: 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 56  S) -DSQLITE_SERV
ea30: 45 52 3d 31 20 2d 44 53 51 4c 49 54 45 5f 50 52  ER=1 -DSQLITE_PR
ea40: 49 56 41 54 45 3d 22 22 0a 54 45 53 54 46 49 58  IVATE="".TESTFIX
ea50: 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54  TURE_FLAGS = $(T ea60: 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 ESTFIXTURE_FLAGS ea70: 29 20 2d 44 53 51 4c 49 54 45 5f 43 4f 52 45 20 ) -DSQLITE_CORE ea80: 24 28 4e 4f 5f 57 41 52 4e 29 0a 54 45 53 54 46$(NO_WARN).TESTF
ea90: 49 58 54 55 52 45 5f 46 4c 41 47 53 20 3d 20 24  IXTURE_FLAGS = $eaa0: 28 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 (TESTFIXTURE_FLA eab0: 47 53 29 20 2d 44 53 51 4c 49 54 45 5f 53 45 52 GS) -DSQLITE_SER eac0: 49 45 53 5f 43 4f 4e 53 54 52 41 49 4e 54 5f 56 IES_CONSTRAINT_V ead0: 45 52 49 46 59 3d 31 0a 54 45 53 54 46 49 58 54 ERIFY=1.TESTFIXT eae0: 55 52 45 5f 46 4c 41 47 53 20 3d 20 24 28 54 45 URE_FLAGS =$(TE
eaf0: 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 53 29  STFIXTURE_FLAGS)
eb00: 20 2d 44 53 51 4c 49 54 45 5f 44 45 46 41 55 4c   -DSQLITE_DEFAUL
eb10: 54 5f 50 41 47 45 5f 53 49 5a 45 3d 31 30 32 34  T_PAGE_SIZE=1024
eb20: 0a 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41  .TESTFIXTURE_FLA
eb30: 47 53 20 3d 20 24 28 54 45 53 54 46 49 58 54 55  GS = $(TESTFIXTU eb40: 52 45 5f 46 4c 41 47 53 29 20 24 28 54 45 53 54 RE_FLAGS)$(TEST
eb50: 5f 43 43 4f 4e 56 5f 4f 50 54 53 29 0a 0a 54 45  _CCONV_OPTS)..TE
eb60: 53 54 46 49 58 54 55 52 45 5f 53 52 43 30 20 3d  STFIXTURE_SRC0 =
eb70: 20 24 28 54 45 53 54 45 58 54 29 20 24 28 54 45   $(TESTEXT)$(TE
eb80: 53 54 53 52 43 32 29 0a 54 45 53 54 46 49 58 54  STSRC2).TESTFIXT
eb90: 55 52 45 5f 53 52 43 31 20 3d 20 24 28 54 45 53  URE_SRC1 = $(TES eba0: 54 45 58 54 29 20 24 28 53 51 4c 49 54 45 33 43 TEXT)$(SQLITE3C
ebb0: 29 0a 21 49 46 20 24 28 55 53 45 5f 41 4d 41 4c  ).!IF $(USE_AMAL ebc0: 47 41 4d 41 54 49 4f 4e 29 3d 3d 30 0a 54 45 53 GAMATION)==0.TES ebd0: 54 46 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 TFIXTURE_SRC =$
ebe0: 28 54 45 53 54 53 52 43 29 20 24 28 54 4f 50 29  (TESTSRC) $(TOP) ebf0: 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 \src\tclsqlite.c ec00: 20 24 28 54 45 53 54 46 49 58 54 55 52 45 5f 53$(TESTFIXTURE_S
ec10: 52 43 30 29 0a 21 45 4c 53 45 0a 54 45 53 54 46  RC0).!ELSE.TESTF
ec20: 49 58 54 55 52 45 5f 53 52 43 20 3d 20 24 28 54  IXTURE_SRC = $(T ec30: 45 53 54 53 52 43 29 20 24 28 54 4f 50 29 5c 73 ESTSRC)$(TOP)\s
ec40: 72 63 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24  rc\tclsqlite.c $ec50: 28 54 45 53 54 46 49 58 54 55 52 45 5f 53 52 43 (TESTFIXTURE_SRC ec60: 31 29 0a 21 45 4e 44 49 46 0a 0a 21 49 46 20 24 1).!ENDIF..!IF$
ec70: 28 55 53 45 5f 53 54 44 43 41 4c 4c 29 21 3d 30  (USE_STDCALL)!=0
ec80: 20 7c 7c 20 24 28 46 4f 52 5f 57 49 4e 31 30 29   || $(FOR_WIN10) ec90: 21 3d 30 0a 73 71 6c 69 74 65 5f 74 63 6c 44 65 !=0.sqlite_tclDe eca0: 63 6c 73 2e 68 3a 0a 09 65 63 68 6f 20 23 69 66 cls.h:..echo #if ecb0: 6e 64 65 66 20 53 51 4c 49 54 45 5f 54 43 4c 41 ndef SQLITE_TCLA ecc0: 50 49 20 3e 20 24 28 53 51 4c 49 54 45 54 43 4c PI >$(SQLITETCL
ecd0: 44 45 43 4c 53 48 29 0a 09 65 63 68 6f 20 23 20  DECLSH)..echo #
ece0: 20 64 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 54   define SQLITE_T
ecf0: 43 4c 41 50 49 20 3e 3e 20 24 28 53 51 4c 49 54  CLAPI >> $(SQLIT ed00: 45 54 43 4c 44 45 43 4c 53 48 29 0a 09 65 63 68 ETCLDECLSH)..ech ed10: 6f 20 23 65 6e 64 69 66 20 3e 3e 20 24 28 53 51 o #endif >>$(SQ
ed20: 4c 49 54 45 54 43 4c 44 45 43 4c 53 48 29 0a 09  LITETCLDECLSH)..
ed30: 74 79 70 65 20 22 24 28 54 43 4c 49 4e 43 44 49  type "$(TCLINCDI ed40: 52 29 5c 74 63 6c 44 65 63 6c 73 2e 68 22 20 5c R)\tclDecls.h" \ ed50: 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 ...|$(TCLSH_CMD
ed60: 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65  ) $(TOP)\tool\re ed70: 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 73 75 62 place.tcl regsub ed80: 20 22 5e 28 45 58 54 45 52 4e 28 3f 3a 20 43 4f "^(EXTERN(?: CO ed90: 4e 53 54 5c 64 2b 3f 29 3f 5c 73 2b 3f 5b 5e 5c NST\d+?)?\s+?[^\ eda0: 28 5d 2a 3f 5c 73 2b 3f 29 54 63 6c 5f 22 20 22 (]*?\s+?)Tcl_" " edb0: 5c 31 20 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 \1 SQLITE_TCLAPI edc0: 20 54 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 Tcl_" \...|$(T
edd0: 43 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29  CLSH_CMD) $(TOP) ede0: 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 \tool\replace.tc edf0: 6c 20 72 65 67 73 75 62 20 22 5e 28 45 58 54 45 l regsub "^(EXTE ee00: 52 4e 5c 73 2b 3f 28 3f 3a 76 6f 69 64 7c 56 4f RN\s+?(?:void|VO ee10: 49 44 29 5c 73 2b 3f 29 54 63 6c 46 72 65 65 4f ID)\s+?)TclFreeO ee20: 62 6a 22 20 22 5c 31 20 53 51 4c 49 54 45 5f 54 bj" "\1 SQLITE_T ee30: 43 4c 41 50 49 20 54 63 6c 46 72 65 65 4f 62 6a CLAPI TclFreeObj ee40: 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 5f " \...|$(TCLSH_
ee50: 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f 6c  CMD) $(TOP)\tool ee60: 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 72 65 67 \replace.tcl reg ee70: 73 75 62 20 22 5c 28 5c 2a 74 63 6c 5f 22 20 22 sub "\(\*tcl_" " ee80: 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a (SQLITE_TCLAPI * ee90: 74 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 tcl_" \...|$(TC
eea0: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ eeb0: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c tool\replace.tcl eec0: 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 74 63 6c regsub "\(\*tcl eed0: 46 72 65 65 4f 62 6a 22 20 22 28 53 51 4c 49 54 FreeObj" "(SQLIT eee0: 45 5f 54 43 4c 41 50 49 20 2a 74 63 6c 46 72 65 E_TCLAPI *tclFre eef0: 65 4f 62 6a 22 20 5c 0a 09 09 7c 20 24 28 54 43 eObj" \...|$(TC
ef00: 4c 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c  LSH_CMD) $(TOP)\ ef10: 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c tool\replace.tcl ef20: 20 72 65 67 73 75 62 20 22 5c 28 5c 2a 22 20 22 regsub "\(\*" " ef30: 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a (SQLITE_TCLAPI * ef40: 22 20 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c " >>$(SQLITETCL
ef50: 44 45 43 4c 53 48 29 0a 0a 73 71 6c 69 74 65 5f  DECLSH)..sqlite_
ef60: 74 63 6c 2e 68 3a 0a 09 74 79 70 65 20 22 24 28  tcl.h:..type "$( ef70: 54 43 4c 49 4e 43 44 49 52 29 5c 74 63 6c 2e 68 TCLINCDIR)\tcl.h ef80: 22 20 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 " |$(TCLSH_CMD)
ef90: 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70   $(TOP)\tool\rep efa0: 6c 61 63 65 2e 74 63 6c 20 65 78 61 63 74 20 74 lace.tcl exact t efb0: 63 6c 44 65 63 6c 73 2e 68 20 73 71 6c 69 74 65 clDecls.h sqlite efc0: 5f 74 63 6c 44 65 63 6c 73 2e 68 20 5c 0a 09 09 _tclDecls.h \... efd0: 7c 20 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 |$(TCLSH_CMD) $efe0: 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 (TOP)\tool\repla eff0: 63 65 2e 74 63 6c 20 72 65 67 73 75 62 20 22 74 ce.tcl regsub "t f000: 79 70 65 64 65 66 20 28 2e 2a 3f 29 5c 28 54 63 ypedef (.*?)\(Tc f010: 6c 5f 22 20 22 74 79 70 65 64 65 66 20 5c 31 20 l_" "typedef \1 f020: 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 54 (SQLITE_TCLAPI T f030: 63 6c 5f 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c cl_" \...|$(TCL
f040: 53 48 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74  SH_CMD) $(TOP)\t f050: 6f 6f 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 ool\replace.tcl f060: 65 78 61 63 74 20 22 76 6f 69 64 20 28 2a 66 72 exact "void (*fr f070: 65 65 50 72 6f 63 29 22 20 22 76 6f 69 64 20 28 eeProc)" "void ( f080: 53 51 4c 49 54 45 5f 54 43 4c 41 50 49 20 2a 66 SQLITE_TCLAPI *f f090: 72 65 65 50 72 6f 63 29 22 20 5c 0a 09 09 7c 20 reeProc)" \...| f0a0: 24 28 54 43 4c 53 48 5f 43 4d 44 29 20 24 28 54$(TCLSH_CMD) $(T f0b0: 4f 50 29 5c 74 6f 6f 6c 5c 72 65 70 6c 61 63 65 OP)\tool\replace f0c0: 2e 74 63 6c 20 65 78 61 63 74 20 22 54 63 6c 5f .tcl exact "Tcl_ f0d0: 48 61 73 68 45 6e 74 72 79 20 2a 28 2a 66 69 6e HashEntry *(*fin f0e0: 64 50 72 6f 63 29 22 20 22 54 63 6c 5f 48 61 73 dProc)" "Tcl_Has f0f0: 68 45 6e 74 72 79 20 2a 28 53 51 4c 49 54 45 5f hEntry *(SQLITE_ f100: 54 43 4c 41 50 49 20 2a 66 69 6e 64 50 72 6f 63 TCLAPI *findProc f110: 29 22 20 5c 0a 09 09 7c 20 24 28 54 43 4c 53 48 )" \...|$(TCLSH
f120: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f  _CMD) $(TOP)\too f130: 6c 5c 72 65 70 6c 61 63 65 2e 74 63 6c 20 65 78 l\replace.tcl ex f140: 61 63 74 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 act "Tcl_HashEnt f150: 72 79 20 2a 28 2a 63 72 65 61 74 65 50 72 6f 63 ry *(*createProc f160: 29 22 20 22 54 63 6c 5f 48 61 73 68 45 6e 74 72 )" "Tcl_HashEntr f170: 79 20 2a 28 53 51 4c 49 54 45 5f 54 43 4c 41 50 y *(SQLITE_TCLAP f180: 49 20 2a 63 72 65 61 74 65 50 72 6f 63 29 22 20 I *createProc)" f190: 3e 3e 20 24 28 53 51 4c 49 54 45 54 43 4c 48 29 >>$(SQLITETCLH)
f1a0: 0a 21 45 4e 44 49 46 0a 0a 74 65 73 74 66 69 78  .!ENDIF..testfix
f1b0: 74 75 72 65 2e 65 78 65 3a 09 24 28 54 45 53 54  ture.exe:.$(TEST f1c0: 46 49 58 54 55 52 45 5f 53 52 43 29 20 24 28 53 FIXTURE_SRC)$(S
f1d0: 51 4c 49 54 45 33 48 29 20 24 28 4c 49 42 52 45  QLITE3H) $(LIBRE f1e0: 53 4f 42 4a 53 29 20 24 28 48 44 52 29 20 24 28 SOBJS)$(HDR) $( f1f0: 53 51 4c 49 54 45 5f 54 43 4c 5f 44 45 50 29 0a SQLITE_TCL_DEP). f200: 09 24 28 4c 54 4c 49 4e 4b 29 20 2d 44 53 51 4c .$(LTLINK) -DSQL
f210: 49 54 45 5f 4e 4f 5f 53 59 4e 43 3d 31 20 24 28  ITE_NO_SYNC=1 $( f220: 54 45 53 54 46 49 58 54 55 52 45 5f 46 4c 41 47 TESTFIXTURE_FLAG f230: 53 29 20 5c 0a 09 09 2d 44 42 55 49 4c 44 5f 73 S) \...-DBUILD_s f240: 71 6c 69 74 65 20 2d 49 24 28 54 43 4c 49 4e 43 qlite -I$(TCLINC
f250: 44 49 52 29 20 5c 0a 09 09 24 28 54 45 53 54 46  DIR) \...$(TESTF f260: 49 58 54 55 52 45 5f 53 52 43 29 20 5c 0a 09 09 IXTURE_SRC) \... f270: 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 /link$(LDFLAGS)
f280: 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20 24   $(LTLINKOPTS)$
f290: 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28 4c  (LTLIBPATHS) $(L f2a0: 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 4c IBRESOBJS)$(LTL
f2b0: 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a 65  IBS) $(TLIBS)..e f2c0: 78 74 65 6e 73 69 6f 6e 74 65 73 74 3a 09 74 65 xtensiontest:.te f2d0: 73 74 66 69 78 74 75 72 65 2e 65 78 65 20 74 65 stfixture.exe te f2e0: 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c 0a 09 40 stloadext.dll..@ f2f0: 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54 43 set PATH=$(LIBTC
f300: 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a 09  LPATH);$(PATH).. f310: 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 .\testfixture.ex f320: 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 6c 6f e$(TOP)\test\lo
f330: 61 64 65 78 74 2e 74 65 73 74 20 24 28 54 45 53  adext.test $(TES f340: 54 4f 50 54 53 29 0a 0a 66 75 6c 6c 74 65 73 74 TOPTS)..fulltest f350: 3a 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 :.$(TESTPROGS) f
f360: 75 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41  uzztest..@set PA
f370: 54 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29  TH=$(LIBTCLPATH) f380: 3b 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 ;$(PATH)...\test
f390: 66 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f  fixture.exe $(TO f3a0: 50 29 5c 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 P)\test\all.test f3b0: 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a 73 6f$(TESTOPTS)..so
f3c0: 61 6b 74 65 73 74 3a 09 24 28 54 45 53 54 50 52  aktest:.$(TESTPR f3d0: 4f 47 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d OGS)..@set PATH= f3e0: 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28$(LIBTCLPATH);$( f3f0: 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 PATH)...\testfix f400: 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c ture.exe$(TOP)\
f410: 74 65 73 74 5c 61 6c 6c 2e 74 65 73 74 20 2d 73  test\all.test -s
f420: 6f 61 6b 3d 31 20 24 28 54 45 53 54 4f 50 54 53  oak=1 $(TESTOPTS f430: 29 0a 0a 66 75 6c 6c 74 65 73 74 6f 6e 6c 79 3a )..fulltestonly: f440: 09 24 28 54 45 53 54 50 52 4f 47 53 29 20 66 75 .$(TESTPROGS) fu
f450: 7a 7a 74 65 73 74 0a 09 40 73 65 74 20 50 41 54  zztest..@set PAT
f460: 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b  H=$(LIBTCLPATH); f470: 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66$(PATH)...\testf
f480: 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50  ixture.exe $(TOP f490: 29 5c 74 65 73 74 5c 66 75 6c 6c 2e 74 65 73 74 )\test\full.test f4a0: 0a 0a 71 75 65 72 79 70 6c 61 6e 74 65 73 74 3a ..queryplantest: f4b0: 09 74 65 73 74 66 69 78 74 75 72 65 2e 65 78 65 .testfixture.exe f4c0: 20 73 68 65 6c 6c 0a 09 40 73 65 74 20 50 41 54 shell..@set PAT f4d0: 48 3d 24 28 4c 49 42 54 43 4c 50 41 54 48 29 3b H=$(LIBTCLPATH);
f4e0: 24 28 50 41 54 48 29 0a 09 2e 5c 74 65 73 74 66  $(PATH)...\testf f4f0: 69 78 74 75 72 65 2e 65 78 65 20 24 28 54 4f 50 ixture.exe$(TOP
f500: 29 5c 74 65 73 74 5c 70 65 72 6d 75 74 61 74 69  )\test\permutati
f510: 6f 6e 73 2e 74 65 73 74 20 71 75 65 72 79 70 6c  ons.test querypl
f520: 61 6e 6e 65 72 20 24 28 54 45 53 54 4f 50 54 53  anner $(TESTOPTS f530: 29 0a 0a 66 75 7a 7a 74 65 73 74 3a 09 66 75 7a )..fuzztest:.fuz f540: 7a 63 68 65 63 6b 2e 65 78 65 0a 09 2e 5c 66 75 zcheck.exe...\fu f550: 7a 7a 63 68 65 63 6b 2e 65 78 65 20 24 28 46 55 zzcheck.exe$(FU
f560: 5a 5a 44 41 54 41 29 0a 0a 66 61 73 74 66 75 7a  ZZDATA)..fastfuz
f570: 7a 74 65 73 74 3a 09 66 75 7a 7a 63 68 65 63 6b  ztest:.fuzzcheck
f580: 2e 65 78 65 0a 09 2e 5c 66 75 7a 7a 63 68 65 63  .exe...\fuzzchec
f590: 6b 2e 65 78 65 20 2d 2d 6c 69 6d 69 74 2d 6d 65  k.exe --limit-me
f5a0: 6d 20 31 30 30 4d 20 24 28 46 55 5a 5a 44 41 54  m 100M $(FUZZDAT f5b0: 41 29 0a 0a 23 20 4d 69 6e 69 6d 61 6c 20 74 65 A)..# Minimal te f5c0: 73 74 69 6e 67 20 74 68 61 74 20 72 75 6e 73 20 sting that runs f5d0: 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 33 20 6d in less than 3 m f5e0: 69 6e 75 74 65 73 20 28 6f 6e 20 61 20 66 61 73 inutes (on a fas f5f0: 74 20 6d 61 63 68 69 6e 65 29 0a 23 0a 71 75 69 t machine).#.qui f600: 63 6b 74 65 73 74 3a 09 74 65 73 74 66 69 78 74 cktest:.testfixt f610: 75 72 65 2e 65 78 65 20 73 6f 75 72 63 65 74 65 ure.exe sourcete f620: 73 74 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 st..@set PATH=$(
f630: 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA f640: 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 TH)...\testfixtu f650: 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 re.exe$(TOP)\te
f660: 73 74 5c 65 78 74 72 61 71 75 69 63 6b 2e 74 65  st\extraquick.te
f670: 73 74 20 24 28 54 45 53 54 4f 50 54 53 29 0a 0a  st $(TESTOPTS).. f680: 23 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f # This is the co f690: 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 52 75 6e 20 mmon case. Run f6a0: 6d 61 6e 79 20 74 65 73 74 73 20 74 68 61 74 20 many tests that f6b0: 64 6f 20 6e 6f 74 20 74 61 6b 65 20 74 6f 6f 20 do not take too f6c0: 6c 6f 6e 67 2c 0a 23 20 69 6e 63 6c 75 64 69 6e long,.# includin f6d0: 67 20 66 75 7a 7a 63 68 65 63 6b 2c 20 73 71 6c g fuzzcheck, sql f6e0: 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2c 20 61 ite3_analyzer, a f6f0: 6e 64 20 73 71 6c 64 69 66 66 20 74 65 73 74 73 nd sqldiff tests f700: 2e 0a 23 0a 74 65 73 74 3a 09 24 28 54 45 53 54 ..#.test:.$(TEST
f710: 50 52 4f 47 53 29 20 73 6f 75 72 63 65 74 65 73  PROGS) sourcetes
f720: 74 20 66 61 73 74 66 75 7a 7a 74 65 73 74 0a 09  t fastfuzztest..
f730: 40 73 65 74 20 50 41 54 48 3d 24 28 4c 49 42 54  @set PATH=$(LIBT f740: 43 4c 50 41 54 48 29 3b 24 28 50 41 54 48 29 0a CLPATH);$(PATH).
f750: 09 2e 5c 74 65 73 74 66 69 78 74 75 72 65 2e 65  ..\testfixture.e
f760: 78 65 20 24 28 54 4f 50 29 5c 74 65 73 74 5c 76  xe $(TOP)\test\v f770: 65 72 79 71 75 69 63 6b 2e 74 65 73 74 20 24 28 eryquick.test$(
f780: 54 45 53 54 4f 50 54 53 29 0a 0a 73 6d 6f 6b 65  TESTOPTS)..smoke
f790: 74 65 73 74 3a 09 24 28 54 45 53 54 50 52 4f 47  test:.$(TESTPROG f7a0: 53 29 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 S)..@set PATH=$(
f7b0: 4c 49 42 54 43 4c 50 41 54 48 29 3b 24 28 50 41  LIBTCLPATH);$(PA f7c0: 54 48 29 0a 09 2e 5c 74 65 73 74 66 69 78 74 75 TH)...\testfixtu f7d0: 72 65 2e 65 78 65 20 24 28 54 4f 50 29 5c 74 65 re.exe$(TOP)\te
f7e0: 73 74 5c 6d 61 69 6e 2e 74 65 73 74 20 24 28 54  st\main.test $(T f7f0: 45 53 54 4f 50 54 53 29 0a 0a 73 71 6c 69 74 65 ESTOPTS)..sqlite f800: 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 3a 09 24 28 3_analyzer.c:.$(
f810: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI f820: 54 45 33 48 29 20 24 28 54 4f 50 29 5c 73 72 63 TE3H)$(TOP)\src
f830: 5c 74 63 6c 73 71 6c 69 74 65 2e 63 20 24 28 54  \tclsqlite.c $(T f840: 4f 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e OP)\tool\spacean f850: 61 6c 2e 74 63 6c 20 24 28 53 51 4c 49 54 45 5f al.tcl$(SQLITE_
f860: 54 43 4c 5f 44 45 50 29 0a 09 65 63 68 6f 20 23  TCL_DEP)..echo #
f870: 64 65 66 69 6e 65 20 54 43 4c 53 48 20 32 20 3e  define TCLSH 2 >
f880: 20 24 40 0a 09 65 63 68 6f 20 23 64 65 66 69 6e   $@..echo #defin f890: 65 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f e SQLITE_ENABLE_ f8a0: 44 42 53 54 41 54 5f 56 54 41 42 20 31 20 3e 3e DBSTAT_VTAB 1 >> f8b0: 20 24 40 0a 09 63 6f 70 79 20 24 40 20 2b 20 24$@..copy $@ +$
f8c0: 28 53 51 4c 49 54 45 33 43 29 20 2b 20 24 28 54  (SQLITE3C) + $(T f8d0: 4f 50 29 5c 73 72 63 5c 74 63 6c 73 71 6c 69 74 OP)\src\tclsqlit f8e0: 65 2e 63 20 24 40 0a 09 65 63 68 6f 20 73 74 61 e.c$@..echo sta
f8f0: 74 69 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a  tic const char *
f900: 74 63 6c 73 68 5f 6d 61 69 6e 5f 6c 6f 6f 70 28  tclsh_main_loop(
f910: 76 6f 69 64 29 7b 20 3e 3e 20 24 40 0a 09 65 63  void){ >> $@..ec f920: 68 6f 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 ho static const f930: 63 68 61 72 20 2a 7a 4d 61 69 6e 6c 6f 6f 70 20 char *zMainloop f940: 3d 20 3e 3e 20 24 40 0a 09 24 28 54 43 4c 53 48 = >>$@..$(TCLSH f950: 5f 43 4d 44 29 20 24 28 54 4f 50 29 5c 74 6f 6f _CMD)$(TOP)\too
f960: 6c 5c 74 6f 73 74 72 2e 74 63 6c 20 24 28 54 4f  l\tostr.tcl $(TO f970: 50 29 5c 74 6f 6f 6c 5c 73 70 61 63 65 61 6e 61 P)\tool\spaceana f980: 6c 2e 74 63 6c 20 3e 3e 20 24 40 0a 09 65 63 68 l.tcl >>$@..ech
f990: 6f 20 3b 20 72 65 74 75 72 6e 20 7a 4d 61 69 6e  o ; return zMain
f9a0: 6c 6f 6f 70 3b 20 7d 20 3e 3e 20 24 40 0a 0a 73  loop; } >> $@..s f9b0: 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e qlite3_analyzer. f9c0: 65 78 65 3a 09 73 71 6c 69 74 65 33 5f 61 6e 61 exe:.sqlite3_ana f9d0: 6c 79 7a 65 72 2e 63 20 24 28 4c 49 42 52 45 53 lyzer.c$(LIBRES
f9e0: 4f 42 4a 53 29 0a 09 24 28 4c 54 4c 49 4e 4b 29  OBJS)..$(LTLINK) f9f0: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 42 55$(NO_WARN) -DBU
fa00: 49 4c 44 5f 73 71 6c 69 74 65 20 2d 49 24 28 54  ILD_sqlite -I$(T fa10: 43 4c 49 4e 43 44 49 52 29 20 73 71 6c 69 74 65 CLINCDIR) sqlite fa20: 33 5f 61 6e 61 6c 79 7a 65 72 2e 63 20 5c 0a 09 3_analyzer.c \.. fa30: 09 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 ./link$(LDFLAGS
fa40: 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 20  ) $(LTLINKOPTS) fa50: 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 24 28$(LTLIBPATHS) $( fa60: 4c 49 42 52 45 53 4f 42 4a 53 29 20 24 28 4c 54 LIBRESOBJS)$(LT
fa70: 4c 49 42 53 29 20 24 28 54 4c 49 42 53 29 0a 0a  LIBS) $(TLIBS).. fa80: 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f 3a 09 testloadext.lo:. fa90: 24 28 54 4f 50 29 5c 73 72 63 5c 74 65 73 74 5f$(TOP)\src\test_
faa0: 6c 6f 61 64 65 78 74 2e 63 0a 09 24 28 4c 54 43  loadext.c..$(LTC fab0: 4f 4d 50 49 4c 45 29 20 24 28 4e 4f 5f 57 41 52 OMPILE)$(NO_WAR
fac0: 4e 29 20 2d 63 20 24 28 54 4f 50 29 5c 73 72 63  N) -c $(TOP)\src fad0: 5c 74 65 73 74 5f 6c 6f 61 64 65 78 74 2e 63 0a \test_loadext.c. fae0: 0a 74 65 73 74 6c 6f 61 64 65 78 74 2e 64 6c 6c .testloadext.dll faf0: 3a 09 74 65 73 74 6c 6f 61 64 65 78 74 2e 6c 6f :.testloadext.lo fb00: 0a 09 24 28 4c 44 29 20 24 28 4c 44 46 4c 41 47 ..$(LD) $(LDFLAG fb10: 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 S)$(LTLINKOPTS)
fb20: 20 24 28 4c 54 4c 49 42 50 41 54 48 53 29 20 2f   $(LTLIBPATHS) / fb30: 44 4c 4c 20 2f 4f 55 54 3a 24 40 20 74 65 73 74 DLL /OUT:$@ test
fb40: 6c 6f 61 64 65 78 74 2e 6c 6f 0a 0a 73 68 6f 77  loadext.lo..show
fb50: 64 62 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  db.exe:.$(TOP)\t fb60: 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 ool\showdb.c$(S
fb70: 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49 54  QLITE3C) $(SQLIT fb80: 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 E3H)..$(LTLINK)
fb90: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c  $(NO_WARN) -DSQL fba0: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30 ITE_THREADSAFE=0 fbb0: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c -DSQLITE_OMIT_L fbc0: 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 OAD_EXTENSION -F fbd0: 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 e$@ \...$(TOP)\t fbe0: 6f 6f 6c 5c 73 68 6f 77 64 62 2e 63 20 24 28 53 ool\showdb.c$(S
fbf0: 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24  QLITE3C) /link $fc00: 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 (LDFLAGS)$(LTLI
fc10: 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 73 74 61  NKOPTS)..showsta
fc20: 74 34 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  t4.exe:.$(TOP)\t fc30: 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 2e 63 20 ool\showstat4.c fc40: 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51$(SQLITE3C) $(SQ fc50: 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e LITE3H)..$(LTLIN
fc60: 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44  K) $(NO_WARN) -D fc70: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 SQLITE_THREADSAF fc80: 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 E=0 -DSQLITE_OMI fc90: 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e T_LOAD_EXTENSION fca0: 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 -Fe$@ \...$(TOP fcb0: 29 5c 74 6f 6f 6c 5c 73 68 6f 77 73 74 61 74 34 )\tool\showstat4 fcc0: 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f .c$(SQLITE3C) /
fcd0: 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20  link $(LDFLAGS) fce0: 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73$(LTLINKOPTS)..s
fcf0: 68 6f 77 6a 6f 75 72 6e 61 6c 2e 65 78 65 3a 09  howjournal.exe:.
fd00: 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 73 68 6f 77  $(TOP)\tool\show fd10: 6a 6f 75 72 6e 61 6c 2e 63 20 24 28 53 51 4c 49 journal.c$(SQLI
fd20: 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33 48  TE3C) $(SQLITE3H fd30: 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e )..$(LTLINK) $(N fd40: 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 O_WARN) -DSQLITE fd50: 5f 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 _THREADSAFE=0 -D fd60: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 SQLITE_OMIT_LOAD fd70: 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 _EXTENSION -Fe$@
fd80: 20 5c 0a 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c   \...$(TOP)\tool fd90: 5c 73 68 6f 77 6a 6f 75 72 6e 61 6c 2e 63 20 24 \showjournal.c$
fda0: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
fdb0: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
fdc0: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 68 6f 77 77  LINKOPTS)..showw
fdd0: 61 6c 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74  al.exe:.$(TOP)\t fde0: 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 28 ool\showwal.c$(
fdf0: 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c 49  SQLITE3C) $(SQLI fe00: 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 TE3H)..$(LTLINK)
fe10: 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51   $(NO_WARN) -DSQ fe20: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d LITE_THREADSAFE= fe30: 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 0 -DSQLITE_OMIT_ fe40: 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d LOAD_EXTENSION - fe50: 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c Fe$@ \...$(TOP)\ fe60: 74 6f 6f 6c 5c 73 68 6f 77 77 61 6c 2e 63 20 24 tool\showwal.c$
fe70: 28 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b  (SQLITE3C) /link
fe80: 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54   $(LDFLAGS)$(LT
fe90: 4c 49 4e 4b 4f 50 54 53 29 0a 0a 63 68 61 6e 67  LINKOPTS)..chang
fea0: 65 73 65 74 2e 65 78 65 3a 09 24 28 54 4f 50 29  eset.exe:.$(TOP) feb0: 5c 65 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 \ext\session\cha fec0: 6e 67 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54 ngeset.c$(SQLIT
fed0: 45 33 43 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20  E3C)..$(LTLINK) fee0: 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c$(NO_WARN) -DSQL
fef0: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 30  ITE_THREADSAFE=0
ff00: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
ff10: 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20 2d 46  OAD_EXTENSION -F
ff20: 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65  e$@ \...$(TOP)\e
ff30: 78 74 5c 73 65 73 73 69 6f 6e 5c 63 68 61 6e 67  xt\session\chang
ff40: 65 73 65 74 2e 63 20 24 28 53 51 4c 49 54 45 33  eset.c $(SQLITE3 ff50: 43 29 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 C) /link$(LDFLA
ff60: 47 53 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53  GS) $(LTLINKOPTS ff70: 29 0a 0a 66 74 73 33 76 69 65 77 2e 65 78 65 3a )..fts3view.exe: ff80: 09 24 28 54 4f 50 29 5c 65 78 74 5c 66 74 73 33 .$(TOP)\ext\fts3
ff90: 5c 74 6f 6f 6c 5c 66 74 73 33 76 69 65 77 2e 63  \tool\fts3view.c
ffa0: 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
ffb0: 51 4c 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49  QLITE3H)..$(LTLI ffc0: 4e 4b 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d NK)$(NO_WARN) -
ffd0: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
ffe0: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
fff0: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
10000 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f  N -Fe$@ \...$(TO
10010 50 29 5c 65 78 74 5c 66 74 73 33 5c 74 6f 6f 6c  P)\ext\fts3\tool
10020 5c 66 74 73 33 76 69 65 77 2e 63 20 24 28 53 51  \fts3view.c $(SQ 10030 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28 LITE3C) /link$(
10040 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 10050 4b 4f 50 54 53 29 0a 0a 72 6f 6c 6c 62 61 63 6b KOPTS)..rollback 10060 2d 74 65 73 74 2e 65 78 65 3a 09 24 28 54 4f 50 -test.exe:.$(TOP
10070 29 5c 74 6f 6f 6c 5c 72 6f 6c 6c 62 61 63 6b 2d  )\tool\rollback-
10080 74 65 73 74 2e 63 20 24 28 53 51 4c 49 54 45 33  test.c $(SQLITE3 10090 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
100a0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
100b0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 54 48  ARN) -DSQLITE_TH
100c0 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53 51 4c  READSAFE=0 -DSQL
100d0 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58  ITE_OMIT_LOAD_EX
100e0 54 45 4e 53 49 4f 4e 20 2d 46 65 24 40 20 5c 0a  TENSION -Fe$@ \. 100f0 09 09 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 72 6f ..$(TOP)\tool\ro
10100 6c 6c 62 61 63 6b 2d 74 65 73 74 2e 63 20 24 28  llback-test.c $( 10110 53 51 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 SQLITE3C) /link 10120 24 28 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c$(LDFLAGS) $(LTL 10130 49 4e 4b 4f 50 54 53 29 0a 0a 4c 6f 67 45 73 74 INKOPTS)..LogEst 10140 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 6f 6f .exe:.$(TOP)\too
10150 6c 5c 6c 6f 67 65 73 74 2e 63 20 24 28 53 51 4c  l\logest.c $(SQL 10160 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b ITE3H)..$(LTLINK
10170 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 46 65  ) $(NO_WARN) -Fe 10180 24 40 20 24 28 54 4f 50 29 5c 74 6f 6f 6c 5c 4c$@ $(TOP)\tool\L 10190 6f 67 45 73 74 2e 63 20 2f 6c 69 6e 6b 20 24 28 ogEst.c /link$(
101a0 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e  LDFLAGS) $(LTLIN 101b0 4b 4f 50 54 53 29 0a 0a 77 6f 72 64 63 6f 75 6e KOPTS)..wordcoun 101c0 74 2e 65 78 65 3a 09 24 28 54 4f 50 29 5c 74 65 t.exe:.$(TOP)\te
101d0 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e 63 20 24  st\wordcount.c $101e0 28 53 51 4c 49 54 45 33 43 29 20 24 28 53 51 4c (SQLITE3C)$(SQL
101f0 49 54 45 33 48 29 0a 09 24 28 4c 54 4c 49 4e 4b  ITE3H)..$(LTLINK 10200 29 20 24 28 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 )$(NO_WARN) -DS
10210 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45  QLITE_THREADSAFE
10220 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  =0 -DSQLITE_OMIT
10230 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 20  _LOAD_EXTENSION
10240 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f 50 29  -Fe$@ \...$(TOP)
10250 5c 74 65 73 74 5c 77 6f 72 64 63 6f 75 6e 74 2e  \test\wordcount.
10260 63 20 24 28 53 51 4c 49 54 45 33 43 29 20 2f 6c  c $(SQLITE3C) /l 10270 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29 20 24 ink$(LDFLAGS) $10280 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a 0a 73 70 (LTLINKOPTS)..sp 10290 65 65 64 74 65 73 74 31 2e 65 78 65 3a 09 24 28 eedtest1.exe:.$(
102a0 54 4f 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74  TOP)\test\speedt
102b0 65 73 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33  est1.c $(SQLITE3 102c0 43 29 20 24 28 53 51 4c 49 54 45 33 48 29 0a 09 C)$(SQLITE3H)..
102d0 24 28 4c 54 4c 49 4e 4b 29 20 24 28 4e 4f 5f 57  $(LTLINK)$(NO_W
102e0 41 52 4e 29 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  ARN) -DSQLITE_OM
102f0 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
10300 4e 20 2d 46 65 24 40 20 5c 0a 09 09 24 28 54 4f  N -Fe$@ \...$(TO
10310 50 29 5c 74 65 73 74 5c 73 70 65 65 64 74 65 73  P)\test\speedtes
10320 74 31 2e 63 20 24 28 53 51 4c 49 54 45 33 43 29  t1.c $(SQLITE3C) 10330 20 2f 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 /link$(LDFLAGS
10340 29 20 24 28 4c 54 4c 49 4e 4b 4f 50 54 53 29 0a  ) $(LTLINKOPTS). 10350 0a 72 62 75 2e 65 78 65 3a 09 24 28 54 4f 50 29 .rbu.exe:.$(TOP)
10360 5c 65 78 74 5c 72 62 75 5c 72 62 75 2e 63 20 24  \ext\rbu\rbu.c $10370 28 54 4f 50 29 5c 65 78 74 5c 72 62 75 5c 73 71 (TOP)\ext\rbu\sq 10380 6c 69 74 65 33 72 62 75 2e 63 20 24 28 53 51 4c lite3rbu.c$(SQL
10390 49 54 45 33 43 29 20 24 28 53 51 4c 49 54 45 33  ITE3C) $(SQLITE3 103a0 48 29 0a 09 24 28 4c 54 4c 49 4e 4b 29 20 24 28 H)..$(LTLINK) $( 103b0 4e 4f 5f 57 41 52 4e 29 20 2d 44 53 51 4c 49 54 NO_WARN) -DSQLIT 103c0 45 5f 45 4e 41 42 4c 45 5f 52 42 55 20 2d 46 65 E_ENABLE_RBU -Fe 103d0 24 40 20 5c 0a 09 09 24 28 54 4f 50 29 5c 65 78$@ \...$(TOP)\ex 103e0 74 5c 72 62 75 5c 72 62 75 2e 63 20 24 28 53 51 t\rbu\rbu.c$(SQ
103f0 4c 49 54 45 33 43 29 20 2f 6c 69 6e 6b 20 24 28  LITE3C) /link $( 10400 4c 44 46 4c 41 47 53 29 20 24 28 4c 54 4c 49 4e LDFLAGS)$(LTLIN
10410 4b 4f 50 54 53 29 0a 0a 6d 6f 72 65 63 6c 65 61  KOPTS)..moreclea
10420 6e 3a 09 63 6c 65 61 6e 0a 09 64 65 6c 20 2f 51  n:.clean..del /Q
10430 20 24 28 53 51 4c 49 54 45 33 43 29 20 24 28 53   $(SQLITE3C)$(S
10440 51 4c 49 54 45 33 48 29 20 32 3e 4e 55 4c 0a 23  QLITE3H) 2>NUL.#
10450 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a 0a 63 6c 65 61   <</mark>>..clea
10460 6e 3a 0a 09 64 65 6c 20 2f 51 20 2a 2e 65 78 70  n:..del /Q *.exp
10470 20 2a 2e 6c 6f 20 2a 2e 69 6c 6b 20 2a 2e 6c 69   *.lo *.ilk *.li
10480 62 20 2a 2e 6f 62 6a 20 2a 2e 6e 63 62 20 2a 2e  b *.obj *.ncb *.
10490 70 64 62 20 2a 2e 73 64 66 20 2a 2e 73 75 6f 20  pdb *.sdf *.suo
104a0 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2a 2e  2>NUL..del /Q *.
104b0 62 73 63 20 2a 2e 64 65 66 20 2a 2e 63 6f 64 20  bsc *.def *.cod
104c0 2a 2e 64 61 20 2a 2e 62 62 20 2a 2e 62 62 67 20  *.da *.bb *.bbg
104d0 2a 2e 76 63 20 67 6d 6f 6e 2e 6f 75 74 20 32 3e  *.vc gmon.out 2>
104e0 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 24 28 53 51  NUL..del /Q $(SQ 104f0 4c 49 54 45 33 45 58 45 29 20 24 28 53 51 4c 49 LITE3EXE)$(SQLI
10500 54 45 33 44 4c 4c 29 20 52 65 70 6c 61 63 65 2e  TE3DLL) Replace.
10510 65 78 65 20 32 3e 4e 55 4c 0a 23 20 3c 3c 6d 61  exe 2>NUL.# <<ma
10520 72 6b 3e 3e 0a 09 64 65 6c 20 2f 51 20 73 71 6c  rk>>..del /Q sql
10530 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2e 68  ite3.c sqlite3.h
10540 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 6f   2>NUL..del /Q o
10550 70 63 6f 64 65 73 2e 63 20 6f 70 63 6f 64 65 73  pcodes.c opcodes
10560 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .h 2>NUL..del /Q
10570 20 6c 65 6d 6f 6e 2e 2a 20 6c 65 6d 70 61 72 2e   lemon.* lempar.
10580 63 20 70 61 72 73 65 2e 2a 20 32 3e 4e 55 4c 0a  c parse.* 2>NUL.
10590 09 64 65 6c 20 2f 51 20 6d 6b 6b 65 79 77 6f 72  .del /Q mkkeywor
105a0 64 68 61 73 68 2e 2a 20 6b 65 79 77 6f 72 64 68  dhash.* keywordh
105b0 61 73 68 2e 68 20 32 3e 4e 55 4c 0a 09 64 65 6c  ash.h 2>NUL..del
105c0 20 2f 51 20 6e 6f 74 61 73 68 61 72 65 64 6c 69   /Q notasharedli
105d0 62 2e 2a 20 32 3e 4e 55 4c 0a 09 2d 72 6d 64 69  b.* 2>NUL..-rmdi
105e0 72 20 2f 51 2f 53 20 2e 64 65 70 73 20 32 3e 4e  r /Q/S .deps 2>N
105f0 55 4c 0a 09 2d 72 6d 64 69 72 20 2f 51 2f 53 20  UL..-rmdir /Q/S
10600 2e 6c 69 62 73 20 32 3e 4e 55 4c 0a 09 2d 72 6d  .libs 2>NUL..-rm
10610 64 69 72 20 2f 51 2f 53 20 74 73 72 63 20 32 3e  dir /Q/S tsrc 2>
10620 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 2e 74 61 72  NUL..del /Q .tar
10630 67 65 74 5f 73 6f 75 72 63 65 20 32 3e 4e 55 4c  get_source 2>NUL
10640 0a 09 64 65 6c 20 2f 51 20 74 63 6c 73 71 6c 69  ..del /Q tclsqli
10650 74 65 33 2e 65 78 65 20 24 28 53 51 4c 49 54 45  te3.exe $(SQLITE 10660 54 43 4c 48 29 20 24 28 53 51 4c 49 54 45 54 43 TCLH)$(SQLITETC
10670 4c 44 45 43 4c 53 48 29 20 32 3e 4e 55 4c 0a 09  LDECLSH) 2>NUL..
10680 64 65 6c 20 2f 51 20 74 65 73 74 6c 6f 61 64 65  del /Q testloade
10690 78 74 2e 64 6c 6c 20 32 3e 4e 55 4c 0a 09 64 65  xt.dll 2>NUL..de
106a0 6c 20 2f 51 20 74 65 73 74 66 69 78 74 75 72 65  l /Q testfixture
106b0 2e 65 78 65 20 74 65 73 74 2e 64 62 20 32 3e 4e  .exe test.db 2>N
106c0 55 4c 0a 09 64 65 6c 20 2f 51 20 4c 6f 67 45 73  UL..del /Q LogEs
106d0 74 2e 65 78 65 20 66 74 73 33 76 69 65 77 2e 65  t.exe fts3view.e
106e0 78 65 20 72 6f 6c 6c 62 61 63 6b 2d 74 65 73 74  xe rollback-test
106f0 2e 65 78 65 20 73 68 6f 77 64 62 2e 65 78 65 20  .exe showdb.exe
10700 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 63 68  2>NUL..del /Q ch
10710 61 6e 67 65 73 65 74 2e 65 78 65 20 32 3e 4e 55  angeset.exe 2>NU
10720 4c 0a 09 64 65 6c 20 2f 51 20 73 68 6f 77 6a 6f  L..del /Q showjo
10730 75 72 6e 61 6c 2e 65 78 65 20 73 68 6f 77 73 74  urnal.exe showst
10740 61 74 34 2e 65 78 65 20 73 68 6f 77 77 61 6c 2e  at4.exe showwal.
10750 65 78 65 20 73 70 65 65 64 74 65 73 74 31 2e 65  exe speedtest1.e
10760 78 65 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  xe 2>NUL..del /Q
10770 20 6d 70 74 65 73 74 65 72 2e 65 78 65 20 77 6f   mptester.exe wo
10780 72 64 63 6f 75 6e 74 2e 65 78 65 20 72 62 75 2e  rdcount.exe rbu.
10790 65 78 65 20 73 72 63 63 6b 31 2e 65 78 65 20 32  exe srcck1.exe 2
107a0 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73 71 6c  >NUL..del /Q sql
107b0 69 74 65 33 2e 63 20 73 71 6c 69 74 65 33 2d 2a  ite3.c sqlite3-*
107c0 2e 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51  .c 2>NUL..del /Q
107d0 20 73 71 6c 69 74 65 33 72 63 2e 68 20 32 3e 4e   sqlite3rc.h 2>N
107e0 55 4c 0a 09 64 65 6c 20 2f 51 20 73 68 65 6c 6c  UL..del /Q shell
107f0 2e 63 20 73 71 6c 69 74 65 33 65 78 74 2e 68 20  .c sqlite3ext.h
10800 73 71 6c 69 74 65 33 73 65 73 73 69 6f 6e 2e 68  sqlite3session.h
10810 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2f 51 20 73   2>NUL..del /Q s
10820 71 6c 69 74 65 33 5f 61 6e 61 6c 79 7a 65 72 2e  qlite3_analyzer.
10830 65 78 65 20 73 71 6c 69 74 65 33 5f 61 6e 61 6c  exe sqlite3_anal
10840 79 7a 65 72 2e 63 20 32 3e 4e 55 4c 0a 09 64 65  yzer.c 2>NUL..de
10850 6c 20 2f 51 20 73 71 6c 69 74 65 2d 2a 2d 6f 75  l /Q sqlite-*-ou
10860 74 70 75 74 2e 76 73 69 78 20 32 3e 4e 55 4c 0a  tput.vsix 2>NUL.
10870 09 64 65 6c 20 2f 51 20 66 75 7a 7a 65 72 73 68  .del /Q fuzzersh
10880 65 6c 6c 2e 65 78 65 20 66 75 7a 7a 63 68 65 63  ell.exe fuzzchec
10890 6b 2e 65 78 65 20 73 71 6c 64 69 66 66 2e 65 78  k.exe sqldiff.ex
108a0 65 20 64 62 68 61 73 68 2e 65 78 65 20 32 3e 4e  e dbhash.exe 2>N
108b0 55 4c 0a 09 64 65 6c 20 2f 51 20 66 74 73 35 2e  UL..del /Q fts5.
108c0 2a 20 66 74 73 35 70 61 72 73 65 2e 2a 20 32 3e  * fts5parse.* 2>
108d0 4e 55 4c 0a 23 20 3c 3c 2f 6d 61 72 6b 3e 3e 0a  NUL.# <</mark>>.