Fossil

Hex Artifact Content
Login

Artifact 79292c8546846dd7d645356fe6198b39dd1a8acf0ecf9f44b5b48257bd625ee4:


0000: 23 21 2f 75 73 72 2f 62 69 6e 2f 74 63 6c 73 68  #!/usr/bin/tclsh
0010: 0a 23 0a 23 20 52 75 6e 20 74 68 69 73 20 54 63  .#.# Run this Tc
0020: 6c 20 73 63 72 69 70 74 20 74 6f 20 67 65 6e 65  l script to gene
0030: 72 61 74 65 20 74 68 65 20 76 61 72 69 6f 75 73  rate the various
0040: 20 6d 61 6b 65 66 69 6c 65 73 20 66 6f 72 20 61   makefiles for a
0050: 20 76 61 72 69 65 74 79 0a 23 20 6f 66 20 70 6c   variety.# of pl
0060: 61 74 66 6f 72 6d 73 2e 20 20 46 69 6c 65 73 20  atforms.  Files 
0070: 67 65 6e 65 72 61 74 65 64 20 69 6e 63 6c 75 64  generated includ
0080: 65 3a 0a 23 0a 23 20 20 20 20 20 73 72 63 2f 6d  e:.#.#     src/m
0090: 61 69 6e 2e 6d 6b 20 20 20 20 20 20 20 20 20 20  ain.mk          
00a0: 20 23 20 6d 61 6b 65 66 69 6c 65 20 66 6f 72 20   # makefile for 
00b0: 61 6c 6c 20 75 6e 69 78 20 73 79 73 74 65 6d 73  all unix systems
00c0: 0a 23 20 20 20 20 20 77 69 6e 2f 4d 61 6b 65 66  .#     win/Makef
00d0: 69 6c 65 2e 6d 69 6e 67 77 20 20 20 20 23 20 6d  ile.mingw    # m
00e0: 61 6b 65 66 69 6c 65 20 66 6f 72 20 6d 69 6e 67  akefile for ming
00f0: 77 20 6f 6e 20 77 69 6e 64 6f 77 73 0a 23 20 20  w on windows.#  
0100: 20 20 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e     win/Makefile.
0110: 2a 20 20 20 20 20 20 20 20 23 20 6d 61 6b 65 66  *        # makef
0120: 69 6c 65 73 20 66 6f 72 20 6f 74 68 65 72 20 77  iles for other w
0130: 69 6e 64 6f 77 73 20 63 6f 6d 70 69 6c 65 72 73  indows compilers
0140: 0a 23 0a 23 20 52 75 6e 20 74 68 69 73 20 73 63  .#.# Run this sc
0150: 72 69 70 74 20 77 68 69 6c 65 20 69 6e 20 74 68  ript while in th
0160: 65 20 22 73 72 63 22 20 73 75 62 64 69 72 65 63  e "src" subdirec
0170: 74 6f 72 79 2e 20 20 4c 69 6b 65 20 74 68 69 73  tory.  Like this
0180: 3a 0a 23 0a 23 20 20 20 20 20 20 74 63 6c 73 68  :.#.#      tclsh
0190: 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 0a 23 0a   makemake.tcl.#.
01a0: 23 20 41 64 64 20 6e 65 77 20 73 6f 75 72 63 65  # Add new source
01b0: 20 66 69 6c 65 73 20 62 79 20 6c 69 73 74 69 6e   files by listin
01c0: 67 20 74 68 65 20 66 69 6c 65 73 20 28 77 69 74  g the files (wit
01d0: 68 6f 75 74 20 74 68 65 69 72 20 2e 63 20 73 75  hout their .c su
01e0: 66 66 69 78 29 0a 23 20 69 6e 20 74 68 65 20 22  ffix).# in the "
01f0: 73 72 63 22 20 76 61 72 69 61 62 6c 65 2e 20 20  src" variable.  
0200: 41 64 64 20 6e 65 77 20 72 65 73 6f 75 72 63 65  Add new resource
0210: 20 66 69 6c 65 73 20 74 6f 20 74 68 65 20 22 65   files to the "e
0220: 78 74 72 61 5f 66 69 6c 65 73 22 0a 23 20 76 61  xtra_files".# va
0230: 72 69 61 62 6c 65 2e 20 20 54 68 65 72 65 20 61  riable.  There a
0240: 72 65 20 6f 74 68 65 72 20 76 61 72 69 61 62 6c  re other variabl
0250: 65 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20  es that you can 
0260: 61 6c 74 65 72 2c 20 64 6f 77 6e 20 74 6f 0a 23  alter, down to.#
0270: 20 74 68 65 20 22 53 54 4f 50 20 48 45 52 45 22   the "STOP HERE"
0280: 20 63 6f 6d 6d 65 6e 74 2e 20 20 54 68 65 20 73   comment.  The s
0290: 74 75 66 66 20 62 65 6c 6f 77 20 22 53 54 4f 50  tuff below "STOP
02a0: 20 48 45 52 45 22 20 73 68 6f 75 6c 64 20 72 61   HERE" should ra
02b0: 72 65 6c 79 20 6e 65 65 64 0a 23 20 74 6f 20 63  rely need.# to c
02c0: 68 61 6e 67 65 2e 0a 23 0a 23 23 23 23 23 23 23  hange..#.#######
02d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0300: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0310: 23 23 23 23 23 23 0a 0a 23 20 42 61 73 65 6e 61  ######..# Basena
0320: 6d 65 73 20 6f 66 20 61 6c 6c 20 73 6f 75 72 63  mes of all sourc
0330: 65 20 66 69 6c 65 73 20 74 68 61 74 20 67 65 74  e files that get
0340: 20 70 72 65 70 72 6f 63 65 73 73 65 64 20 75 73   preprocessed us
0350: 69 6e 67 0a 23 20 22 74 72 61 6e 73 6c 61 74 65  ing.# "translate
0360: 22 20 61 6e 64 20 22 6d 61 6b 65 68 65 61 64 65  " and "makeheade
0370: 72 73 22 2e 20 20 54 6f 20 61 64 64 20 6e 65 77  rs".  To add new
0380: 20 43 2d 6c 61 6e 67 75 61 67 65 20 73 6f 75 72   C-language sour
0390: 63 65 20 66 69 6c 65 73 20 74 6f 20 74 68 65 0a  ce files to the.
03a0: 23 20 70 72 6f 6a 65 63 74 2c 20 73 69 6d 70 6c  # project, simpl
03b0: 79 20 61 64 64 20 74 68 65 20 62 61 73 65 6e 61  y add the basena
03c0: 6d 65 20 74 6f 20 74 68 69 73 20 6c 69 73 74 20  me to this list 
03d0: 61 6e 64 20 72 65 72 75 6e 20 74 68 69 73 20 73  and rerun this s
03e0: 63 72 69 70 74 2e 0a 23 0a 23 20 53 65 74 20 74  cript..#.# Set t
03f0: 68 65 20 73 65 70 61 72 61 74 65 20 65 78 74 72  he separate extr
0400: 61 5f 66 69 6c 65 73 20 76 61 72 69 61 62 6c 65  a_files variable
0410: 20 66 75 72 74 68 65 72 20 64 6f 77 6e 20 66 6f   further down fo
0420: 72 20 68 6f 77 20 74 6f 20 61 64 64 20 6e 6f 6e  r how to add non
0430: 2d 43 0a 23 20 66 69 6c 65 73 2c 20 73 75 63 68  -C.# files, such
0440: 20 61 73 20 73 74 72 69 6e 67 20 61 6e 64 20 42   as string and B
0450: 4c 4f 42 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  LOB resources..#
0460: 0a 73 65 74 20 73 72 63 20 7b 0a 20 20 61 64 64  .set src {.  add
0470: 0a 20 20 61 6c 6c 72 65 70 6f 0a 20 20 61 74 74  .  allrepo.  att
0480: 61 63 68 0a 20 20 62 61 67 0a 20 20 62 69 73 65  ach.  bag.  bise
0490: 63 74 0a 20 20 62 6c 6f 62 0a 20 20 62 72 61 6e  ct.  blob.  bran
04a0: 63 68 0a 20 20 62 72 6f 77 73 65 0a 20 20 62 75  ch.  browse.  bu
04b0: 69 6c 74 69 6e 0a 20 20 62 75 6e 64 6c 65 0a 20  iltin.  bundle. 
04c0: 20 63 61 63 68 65 0a 20 20 63 61 70 74 63 68 61   cache.  captcha
04d0: 0a 20 20 63 67 69 0a 20 20 63 68 65 63 6b 69 6e  .  cgi.  checkin
04e0: 0a 20 20 63 68 65 63 6b 6f 75 74 0a 20 20 63 6c  .  checkout.  cl
04f0: 65 61 72 73 69 67 6e 0a 20 20 63 6c 6f 6e 65 0a  earsign.  clone.
0500: 20 20 63 6f 6d 66 6f 72 6d 61 74 0a 20 20 63 6f    comformat.  co
0510: 6e 66 69 67 75 72 65 0a 20 20 63 6f 6e 74 65 6e  nfigure.  conten
0520: 74 0a 20 20 63 6f 6f 6b 69 65 73 0a 20 20 64 62  t.  cookies.  db
0530: 0a 20 20 64 65 6c 74 61 0a 20 20 64 65 6c 74 61  .  delta.  delta
0540: 63 6d 64 0a 20 20 64 65 73 63 65 6e 64 61 6e 74  cmd.  descendant
0550: 73 0a 20 20 64 69 66 66 0a 20 20 64 69 66 66 63  s.  diff.  diffc
0560: 6d 64 0a 20 20 64 69 73 70 61 74 63 68 0a 20 20  md.  dispatch.  
0570: 64 6f 63 0a 20 20 65 6e 63 6f 64 65 0a 20 20 65  doc.  encode.  e
0580: 76 65 6e 74 0a 20 20 65 78 70 6f 72 74 0a 20 20  vent.  export.  
0590: 66 69 6c 65 0a 20 20 66 69 6e 66 6f 0a 20 20 66  file.  finfo.  f
05a0: 6f 63 69 0a 20 20 66 73 68 65 6c 6c 0a 20 20 66  oci.  fshell.  f
05b0: 75 73 65 66 73 0a 20 20 67 6c 6f 62 0a 20 20 67  usefs.  glob.  g
05c0: 72 61 70 68 0a 20 20 67 7a 69 70 0a 20 20 68 6e  raph.  gzip.  hn
05d0: 61 6d 65 0a 20 20 68 74 74 70 0a 20 20 68 74 74  ame.  http.  htt
05e0: 70 5f 73 6f 63 6b 65 74 0a 20 20 68 74 74 70 5f  p_socket.  http_
05f0: 74 72 61 6e 73 70 6f 72 74 0a 20 20 69 6d 70 6f  transport.  impo
0600: 72 74 0a 20 20 69 6e 66 6f 0a 20 20 6a 73 6f 6e  rt.  info.  json
0610: 0a 20 20 6a 73 6f 6e 5f 61 72 74 69 66 61 63 74  .  json_artifact
0620: 0a 20 20 6a 73 6f 6e 5f 62 72 61 6e 63 68 0a 20  .  json_branch. 
0630: 20 6a 73 6f 6e 5f 63 6f 6e 66 69 67 0a 20 20 6a   json_config.  j
0640: 73 6f 6e 5f 64 69 66 66 0a 20 20 6a 73 6f 6e 5f  son_diff.  json_
0650: 64 69 72 0a 20 20 6a 73 6f 6e 5f 66 69 6e 66 6f  dir.  json_finfo
0660: 0a 20 20 6a 73 6f 6e 5f 6c 6f 67 69 6e 0a 20 20  .  json_login.  
0670: 6a 73 6f 6e 5f 71 75 65 72 79 0a 20 20 6a 73 6f  json_query.  jso
0680: 6e 5f 72 65 70 6f 72 74 0a 20 20 6a 73 6f 6e 5f  n_report.  json_
0690: 73 74 61 74 75 73 0a 20 20 6a 73 6f 6e 5f 74 61  status.  json_ta
06a0: 67 0a 20 20 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e  g.  json_timelin
06b0: 65 0a 20 20 6a 73 6f 6e 5f 75 73 65 72 0a 20 20  e.  json_user.  
06c0: 6a 73 6f 6e 5f 77 69 6b 69 0a 20 20 6c 65 61 66  json_wiki.  leaf
06d0: 0a 20 20 6c 6f 61 64 63 74 72 6c 0a 20 20 6c 6f  .  loadctrl.  lo
06e0: 67 69 6e 0a 20 20 6c 6f 6f 6b 73 6c 69 6b 65 0a  gin.  lookslike.
06f0: 20 20 6d 61 69 6e 0a 20 20 6d 61 6e 69 66 65 73    main.  manifes
0700: 74 0a 20 20 6d 61 72 6b 64 6f 77 6e 0a 20 20 6d  t.  markdown.  m
0710: 61 72 6b 64 6f 77 6e 5f 68 74 6d 6c 0a 20 20 6d  arkdown_html.  m
0720: 64 35 0a 20 20 6d 65 72 67 65 0a 20 20 6d 65 72  d5.  merge.  mer
0730: 67 65 33 0a 20 20 6d 6f 64 65 72 61 74 65 0a 20  ge3.  moderate. 
0740: 20 6e 61 6d 65 0a 20 20 70 61 74 68 0a 20 20 70   name.  path.  p
0750: 69 65 63 68 61 72 74 0a 20 20 70 69 76 6f 74 0a  iechart.  pivot.
0760: 20 20 70 6f 70 65 6e 0a 20 20 70 71 75 65 75 65    popen.  pqueue
0770: 0a 20 20 70 72 69 6e 74 66 0a 20 20 70 75 62 6c  .  printf.  publ
0780: 69 73 68 0a 20 20 70 75 72 67 65 0a 20 20 72 65  ish.  purge.  re
0790: 62 75 69 6c 64 0a 20 20 72 65 67 65 78 70 0a 20  build.  regexp. 
07a0: 20 72 65 70 6f 72 74 0a 20 20 72 73 73 0a 20 20   report.  rss.  
07b0: 73 63 68 65 6d 61 0a 20 20 73 65 61 72 63 68 0a  schema.  search.
07c0: 20 20 73 65 63 75 72 69 74 79 5f 61 75 64 69 74    security_audit
07d0: 0a 20 20 73 65 74 75 70 0a 20 20 73 68 61 31 0a  .  setup.  sha1.
07e0: 20 20 73 68 61 31 68 61 72 64 0a 20 20 73 68 61    sha1hard.  sha
07f0: 33 0a 20 20 73 68 75 6e 0a 20 20 73 69 74 65 6d  3.  shun.  sitem
0800: 61 70 0a 20 20 73 6b 69 6e 73 0a 20 20 73 71 6c  ap.  skins.  sql
0810: 63 6d 64 0a 20 20 73 74 61 73 68 0a 20 20 73 74  cmd.  stash.  st
0820: 61 74 0a 20 20 73 74 61 74 72 65 70 0a 20 20 73  at.  statrep.  s
0830: 74 79 6c 65 0a 20 20 73 79 6e 63 0a 20 20 74 61  tyle.  sync.  ta
0840: 67 0a 20 20 74 61 72 0a 20 20 74 68 5f 6d 61 69  g.  tar.  th_mai
0850: 6e 0a 20 20 74 69 6d 65 6c 69 6e 65 0a 20 20 74  n.  timeline.  t
0860: 6b 74 0a 20 20 74 6b 74 73 65 74 75 70 0a 20 20  kt.  tktsetup.  
0870: 75 6e 64 6f 0a 20 20 75 6e 69 63 6f 64 65 0a 20  undo.  unicode. 
0880: 20 75 6e 76 65 72 73 69 6f 6e 65 64 0a 20 20 75   unversioned.  u
0890: 70 64 61 74 65 0a 20 20 75 72 6c 0a 20 20 75 73  pdate.  url.  us
08a0: 65 72 0a 20 20 75 74 66 38 0a 20 20 75 74 69 6c  er.  utf8.  util
08b0: 0a 20 20 76 65 72 69 66 79 0a 20 20 76 66 69 6c  .  verify.  vfil
08c0: 65 0a 20 20 77 69 6b 69 0a 20 20 77 69 6b 69 66  e.  wiki.  wikif
08d0: 6f 72 6d 61 74 0a 20 20 77 69 6e 66 69 6c 65 0a  ormat.  winfile.
08e0: 20 20 77 69 6e 68 74 74 70 0a 20 20 77 79 73 69    winhttp.  wysi
08f0: 77 79 67 0a 20 20 78 66 65 72 0a 20 20 78 66 65  wyg.  xfer.  xfe
0900: 72 73 65 74 75 70 0a 20 20 7a 69 70 0a 20 20 68  rsetup.  zip.  h
0910: 74 74 70 5f 73 73 6c 0a 7d 0a 0a 23 20 41 64 64  ttp_ssl.}..# Add
0920: 69 74 69 6f 6e 61 6c 20 72 65 73 6f 75 72 63 65  itional resource
0930: 20 66 69 6c 65 73 20 74 68 61 74 20 67 65 74 20   files that get 
0940: 62 75 69 6c 74 20 69 6e 74 6f 20 74 68 65 20 65  built into the e
0950: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 65 74  xecutable..#.set
0960: 20 65 78 74 72 61 5f 66 69 6c 65 73 20 7b 0a 20   extra_files {. 
0970: 20 64 69 66 66 2e 74 63 6c 0a 20 20 6d 61 72 6b   diff.tcl.  mark
0980: 64 6f 77 6e 2e 6d 64 0a 20 20 77 69 6b 69 2e 77  down.md.  wiki.w
0990: 69 6b 69 0a 20 20 2a 2e 6a 73 0a 20 20 2e 2e 2f  iki.  *.js.  ../
09a0: 73 6b 69 6e 73 2f 2a 2f 2a 2e 74 78 74 0a 7d 0a  skins/*/*.txt.}.
09b0: 0a 23 20 4f 70 74 69 6f 6e 73 20 75 73 65 64 20  .# Options used 
09c0: 74 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 69  to compile the i
09d0: 6e 63 6c 75 64 65 64 20 53 51 4c 69 74 65 20 6c  ncluded SQLite l
09e0: 69 62 72 61 72 79 2e 0a 23 0a 73 65 74 20 53 51  ibrary..#.set SQ
09f0: 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 7b 0a 20  LITE_OPTIONS {. 
0a00: 20 2d 44 4e 44 45 42 55 47 3d 31 0a 20 20 2d 44   -DNDEBUG=1.  -D
0a10: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
0a20: 45 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 44  E=0.  -DSQLITE_D
0a30: 45 46 41 55 4c 54 5f 4d 45 4d 53 54 41 54 55 53  EFAULT_MEMSTATUS
0a40: 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 44 45  =0.  -DSQLITE_DE
0a50: 46 41 55 4c 54 5f 57 41 4c 5f 53 59 4e 43 48 52  FAULT_WAL_SYNCHR
0a60: 4f 4e 4f 55 53 3d 31 0a 20 20 2d 44 53 51 4c 49  ONOUS=1.  -DSQLI
0a70: 54 45 5f 4c 49 4b 45 5f 44 4f 45 53 4e 54 5f 4d  TE_LIKE_DOESNT_M
0a80: 41 54 43 48 5f 42 4c 4f 42 53 0a 20 20 2d 44 53  ATCH_BLOBS.  -DS
0a90: 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 45 43 4c 54  QLITE_OMIT_DECLT
0aa0: 59 50 45 0a 20 20 2d 44 53 51 4c 49 54 45 5f 4f  YPE.  -DSQLITE_O
0ab0: 4d 49 54 5f 44 45 50 52 45 43 41 54 45 44 0a 20  MIT_DEPRECATED. 
0ac0: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 47   -DSQLITE_OMIT_G
0ad0: 45 54 5f 54 41 42 4c 45 0a 20 20 2d 44 53 51 4c  ET_TABLE.  -DSQL
0ae0: 49 54 45 5f 4f 4d 49 54 5f 50 52 4f 47 52 45 53  ITE_OMIT_PROGRES
0af0: 53 5f 43 41 4c 4c 42 41 43 4b 0a 20 20 2d 44 53  S_CALLBACK.  -DS
0b00: 51 4c 49 54 45 5f 4f 4d 49 54 5f 53 48 41 52 45  QLITE_OMIT_SHARE
0b10: 44 5f 43 41 43 48 45 0a 20 20 2d 44 53 51 4c 49  D_CACHE.  -DSQLI
0b20: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
0b30: 45 4e 53 49 4f 4e 0a 20 20 2d 44 53 51 4c 49 54  ENSION.  -DSQLIT
0b40: 45 5f 4d 41 58 5f 45 58 50 52 5f 44 45 50 54 48  E_MAX_EXPR_DEPTH
0b50: 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 55 53  =0.  -DSQLITE_US
0b60: 45 5f 41 4c 4c 4f 43 41 0a 20 20 2d 44 53 51 4c  E_ALLOCA.  -DSQL
0b70: 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b 49  ITE_ENABLE_LOCKI
0b80: 4e 47 5f 53 54 59 4c 45 3d 30 0a 20 20 2d 44 53  NG_STYLE=0.  -DS
0b90: 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 46 49  QLITE_DEFAULT_FI
0ba0: 4c 45 5f 46 4f 52 4d 41 54 3d 34 0a 20 20 2d 44  LE_FORMAT=4.  -D
0bb0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58  SQLITE_ENABLE_EX
0bc0: 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 0a 20  PLAIN_COMMENTS. 
0bd0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
0be0: 5f 46 54 53 34 0a 20 20 2d 44 53 51 4c 49 54 45  _FTS4.  -DSQLITE
0bf0: 5f 45 4e 41 42 4c 45 5f 46 54 53 33 5f 50 41 52  _ENABLE_FTS3_PAR
0c00: 45 4e 54 48 45 53 49 53 0a 20 20 2d 44 53 51 4c  ENTHESIS.  -DSQL
0c10: 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41  ITE_ENABLE_DBSTA
0c20: 54 5f 56 54 41 42 0a 20 20 2d 44 53 51 4c 49 54  T_VTAB.  -DSQLIT
0c30: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 20  E_ENABLE_JSON1. 
0c40: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
0c50: 5f 46 54 53 35 0a 20 20 2d 44 53 51 4c 49 54 45  _FTS5.  -DSQLITE
0c60: 5f 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41 42  _ENABLE_STMTVTAB
0c70: 0a 7d 0a 23 6c 61 70 70 65 6e 64 20 53 51 4c 49  .}.#lappend SQLI
0c80: 54 45 5f 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c  TE_OPTIONS -DSQL
0c90: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d  ITE_ENABLE_FTS3=
0ca0: 31 0a 23 6c 61 70 70 65 6e 64 20 53 51 4c 49 54  1.#lappend SQLIT
0cb0: 45 5f 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49  E_OPTIONS -DSQLI
0cc0: 54 45 5f 45 4e 41 42 4c 45 5f 53 54 41 54 34 0a  TE_ENABLE_STAT4.
0cd0: 23 6c 61 70 70 65 6e 64 20 53 51 4c 49 54 45 5f  #lappend SQLITE_
0ce0: 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54 45  OPTIONS -DSQLITE
0cf0: 5f 57 49 4e 33 32 5f 4e 4f 5f 41 4e 53 49 0a 23  _WIN32_NO_ANSI.#
0d00: 6c 61 70 70 65 6e 64 20 53 51 4c 49 54 45 5f 4f  lappend SQLITE_O
0d10: 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54 45 5f  PTIONS -DSQLITE_
0d20: 57 49 4e 4e 54 5f 4d 41 58 5f 50 41 54 48 5f 43  WINNT_MAX_PATH_C
0d30: 48 41 52 53 3d 34 30 39 36 0a 0a 23 20 4f 70 74  HARS=4096..# Opt
0d40: 69 6f 6e 73 20 75 73 65 64 20 74 6f 20 63 6f 6d  ions used to com
0d50: 70 69 6c 65 20 74 68 65 20 69 6e 63 6c 75 64 65  pile the include
0d60: 64 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 2e 0a  d SQLite shell..
0d70: 23 0a 73 65 74 20 53 48 45 4c 4c 5f 4f 50 54 49  #.set SHELL_OPTI
0d80: 4f 4e 53 20 7b 0a 20 20 2d 44 6d 61 69 6e 3d 73  ONS {.  -Dmain=s
0d90: 71 6c 69 74 65 33 5f 73 68 65 6c 6c 0a 20 20 2d  qlite3_shell.  -
0da0: 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 49 53  DSQLITE_SHELL_IS
0db0: 5f 55 54 46 38 3d 31 0a 20 20 2d 44 53 51 4c 49  _UTF8=1.  -DSQLI
0dc0: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
0dd0: 45 4e 53 49 4f 4e 3d 31 0a 20 20 2d 44 55 53 45  ENSION=1.  -DUSE
0de0: 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 3d 24  _SYSTEM_SQLITE=$
0df0: 28 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c 49  (USE_SYSTEM_SQLI
0e00: 54 45 29 0a 20 20 2d 44 53 51 4c 49 54 45 5f 53  TE).  -DSQLITE_S
0e10: 48 45 4c 4c 5f 44 42 4e 41 4d 45 5f 50 52 4f 43  HELL_DBNAME_PROC
0e20: 3d 66 6f 73 73 69 6c 5f 6f 70 65 6e 0a 7d 0a 0a  =fossil_open.}..
0e30: 23 20 6d 69 6e 69 7a 20 28 6c 69 62 7a 20 64 72  # miniz (libz dr
0e40: 6f 70 2d 69 6e 20 61 6c 74 65 72 6e 61 74 69 76  op-in alternativ
0e50: 65 29 20 70 72 65 63 6f 6d 70 69 6c 65 72 20 66  e) precompiler f
0e60: 6c 61 67 73 2e 0a 23 0a 73 65 74 20 4d 49 4e 49  lags..#.set MINI
0e70: 5a 5f 4f 50 54 49 4f 4e 53 20 7b 0a 20 20 2d 44  Z_OPTIONS {.  -D
0e80: 4d 49 4e 49 5a 5f 4e 4f 5f 53 54 44 49 4f 0a 20  MINIZ_NO_STDIO. 
0e90: 20 2d 44 4d 49 4e 49 5a 5f 4e 4f 5f 54 49 4d 45   -DMINIZ_NO_TIME
0ea0: 0a 20 20 2d 44 4d 49 4e 49 5a 5f 4e 4f 5f 41 52  .  -DMINIZ_NO_AR
0eb0: 43 48 49 56 45 5f 41 50 49 53 0a 7d 0a 0a 23 20  CHIVE_APIS.}..# 
0ec0: 4f 70 74 69 6f 6e 73 20 75 73 65 64 20 74 6f 20  Options used to 
0ed0: 63 6f 6d 70 69 6c 65 20 74 68 65 20 69 6e 63 6c  compile the incl
0ee0: 75 64 65 64 20 53 51 4c 69 74 65 20 73 68 65 6c  uded SQLite shel
0ef0: 6c 20 6f 6e 20 57 69 6e 64 6f 77 73 2e 0a 23 0a  l on Windows..#.
0f00: 73 65 74 20 53 48 45 4c 4c 5f 57 49 4e 33 32 5f  set SHELL_WIN32_
0f10: 4f 50 54 49 4f 4e 53 20 24 53 48 45 4c 4c 5f 4f  OPTIONS $SHELL_O
0f20: 50 54 49 4f 4e 53 0a 6c 61 70 70 65 6e 64 20 53  PTIONS.lappend S
0f30: 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 4f  HELL_WIN32_OPTIO
0f40: 4e 53 20 2d 44 61 63 63 65 73 73 3d 66 69 6c 65  NS -Daccess=file
0f50: 5f 61 63 63 65 73 73 0a 6c 61 70 70 65 6e 64 20  _access.lappend 
0f60: 53 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49  SHELL_WIN32_OPTI
0f70: 4f 4e 53 20 2d 44 73 79 73 74 65 6d 3d 66 6f 73  ONS -Dsystem=fos
0f80: 73 69 6c 5f 73 79 73 74 65 6d 0a 6c 61 70 70 65  sil_system.lappe
0f90: 6e 64 20 53 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f  nd SHELL_WIN32_O
0fa0: 50 54 49 4f 4e 53 20 2d 44 67 65 74 65 6e 76 3d  PTIONS -Dgetenv=
0fb0: 66 6f 73 73 69 6c 5f 67 65 74 65 6e 76 0a 6c 61  fossil_getenv.la
0fc0: 70 70 65 6e 64 20 53 48 45 4c 4c 5f 57 49 4e 33  ppend SHELL_WIN3
0fd0: 32 5f 4f 50 54 49 4f 4e 53 20 2d 44 66 6f 70 65  2_OPTIONS -Dfope
0fe0: 6e 3d 66 6f 73 73 69 6c 5f 66 6f 70 65 6e 0a 0a  n=fossil_fopen..
0ff0: 23 20 53 54 4f 50 20 48 45 52 45 2e 0a 23 20 55  # STOP HERE..# U
1000: 6e 6c 65 73 73 20 74 68 65 20 62 75 69 6c 64 20  nless the build 
1010: 70 72 6f 63 65 64 75 72 65 73 20 63 68 61 6e 67  procedures chang
1020: 65 73 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e  es, you should n
1030: 6f 74 20 68 61 76 65 20 74 6f 20 65 64 69 74 20  ot have to edit 
1040: 61 6e 79 74 68 69 6e 67 0a 23 20 62 65 6c 6f 77  anything.# below
1050: 20 74 68 69 73 20 6c 69 6e 65 2e 0a 23 23 23 23   this line..####
1060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1090: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
10a0: 23 23 23 23 23 23 23 23 23 0a 0a 23 20 4e 61 6d  #########..# Nam
10b0: 65 20 6f 66 20 74 68 65 20 66 69 6e 61 6c 20 61  e of the final a
10c0: 70 70 6c 69 63 61 74 69 6f 6e 0a 23 0a 73 65 74  pplication.#.set
10d0: 20 6e 61 6d 65 20 66 6f 73 73 69 6c 0a 0a 23 20   name fossil..# 
10e0: 54 68 65 20 22 77 72 69 74 65 6c 6e 22 20 63 6f  The "writeln" co
10f0: 6d 6d 61 6e 64 20 73 65 6e 64 73 20 6f 75 74 70  mmand sends outp
1100: 75 74 20 74 6f 20 74 68 65 20 74 61 72 67 65 74  ut to the target
1110: 20 6d 61 6b 65 66 69 6c 65 2e 0a 23 0a 70 72 6f   makefile..#.pro
1120: 63 20 77 72 69 74 65 6c 6e 20 7b 61 72 67 73 7d  c writeln {args}
1130: 20 7b 0a 20 20 67 6c 6f 62 61 6c 20 6f 75 74 70   {.  global outp
1140: 75 74 5f 66 69 6c 65 0a 20 20 69 66 20 7b 5b 6c  ut_file.  if {[l
1150: 69 6e 64 65 78 20 24 61 72 67 73 20 30 5d 3d 3d  index $args 0]==
1160: 22 2d 6e 6f 6e 65 77 6c 69 6e 65 22 7d 20 7b 0a  "-nonewline"} {.
1170: 20 20 20 20 70 75 74 73 20 2d 6e 6f 6e 65 77 6c      puts -nonewl
1180: 69 6e 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65  ine $output_file
1190: 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 31   [lindex $args 1
11a0: 5d 0a 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20  ].  } else {.   
11b0: 20 70 75 74 73 20 24 6f 75 74 70 75 74 5f 66 69   puts $output_fi
11c0: 6c 65 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73  le [lindex $args
11d0: 20 30 5d 0a 20 20 7d 0a 7d 0a 0a 23 20 45 78 70   0].  }.}..# Exp
11e0: 61 6e 64 20 61 6e 79 20 77 69 6c 64 63 61 72 64  and any wildcard
11f0: 73 20 69 6e 20 22 65 78 74 72 61 5f 66 69 6c 65  s in "extra_file
1200: 73 22 0a 73 65 74 20 6e 65 77 5f 65 78 74 72 61  s".set new_extra
1210: 5f 66 69 6c 65 73 20 7b 7d 0a 66 6f 72 65 61 63  _files {}.foreac
1220: 68 20 66 69 6c 65 20 24 65 78 74 72 61 5f 66 69  h file $extra_fi
1230: 6c 65 73 20 7b 0a 20 20 66 6f 72 65 61 63 68 20  les {.  foreach 
1240: 78 20 5b 67 6c 6f 62 20 2d 6e 6f 63 6f 6d 70 6c  x [glob -nocompl
1250: 61 69 6e 20 24 66 69 6c 65 5d 20 7b 0a 20 20 20  ain $file] {.   
1260: 20 6c 61 70 70 65 6e 64 20 6e 65 77 5f 65 78 74   lappend new_ext
1270: 72 61 5f 66 69 6c 65 73 20 24 78 0a 20 20 7d 0a  ra_files $x.  }.
1280: 7d 0a 73 65 74 20 65 78 74 72 61 5f 66 69 6c 65  }.set extra_file
1290: 73 20 24 6e 65 77 5f 65 78 74 72 61 5f 66 69 6c  s $new_extra_fil
12a0: 65 73 0a 0a 23 23 23 23 23 23 23 23 23 23 23 23  es..############
12b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
12c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
12d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
12e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
12f0: 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ##.#############
1300: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1320: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1330: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1340: 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  #.##############
1350: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1370: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1390: 0a 23 20 53 74 61 72 74 20 62 79 20 67 65 6e 65  .# Start by gene
13a0: 72 61 74 69 6e 67 20 74 68 65 20 22 6d 61 69 6e  rating the "main
13b0: 2e 6d 6b 22 20 6d 61 6b 65 66 69 6c 65 20 75 73  .mk" makefile us
13c0: 65 64 20 66 6f 72 20 61 6c 6c 20 75 6e 69 78 20  ed for all unix 
13d0: 73 79 73 74 65 6d 73 2e 0a 23 0a 70 75 74 73 20  systems..#.puts 
13e0: 22 62 75 69 6c 64 69 6e 67 20 6d 61 69 6e 2e 6d  "building main.m
13f0: 6b 22 0a 73 65 74 20 6f 75 74 70 75 74 5f 66 69  k".set output_fi
1400: 6c 65 20 5b 6f 70 65 6e 20 6d 61 69 6e 2e 6d 6b  le [open main.mk
1410: 20 77 5d 0a 66 63 6f 6e 66 69 67 75 72 65 20 24   w].fconfigure $
1420: 6f 75 74 70 75 74 5f 66 69 6c 65 20 2d 74 72 61  output_file -tra
1430: 6e 73 6c 61 74 69 6f 6e 20 62 69 6e 61 72 79 0a  nslation binary.
1440: 0a 77 72 69 74 65 6c 6e 20 7b 23 0a 23 23 23 23  .writeln {#.####
1450: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1490: 23 23 23 23 23 23 23 23 23 23 0a 23 20 57 41 52  ##########.# WAR
14a0: 4e 49 4e 47 3a 20 44 4f 20 4e 4f 54 20 45 44 49  NING: DO NOT EDI
14b0: 54 2c 20 41 55 54 4f 4d 41 54 49 43 41 4c 4c 59  T, AUTOMATICALLY
14c0: 20 47 45 4e 45 52 41 54 45 44 20 46 49 4c 45 20   GENERATED FILE 
14d0: 28 53 45 45 20 22 73 72 63 2f 6d 61 6b 65 6d 61  (SEE "src/makema
14e0: 6b 65 2e 74 63 6c 22 29 0a 23 23 23 23 23 23 23  ke.tcl").#######
14f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1530: 23 23 23 23 23 23 23 0a 23 0a 23 20 54 68 69 73  #######.#.# This
1540: 20 66 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74   file is automat
1550: 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64  ically generated
1560: 2e 20 20 49 6e 73 74 65 61 64 20 6f 66 20 65 64  .  Instead of ed
1570: 69 74 69 6e 67 20 74 68 69 73 0a 23 20 66 69 6c  iting this.# fil
1580: 65 2c 20 65 64 69 74 20 22 6d 61 6b 65 6d 61 6b  e, edit "makemak
1590: 65 2e 74 63 6c 22 20 74 68 65 6e 20 72 75 6e 20  e.tcl" then run 
15a0: 22 74 63 6c 73 68 20 6d 61 6b 65 6d 61 6b 65 2e  "tclsh makemake.
15b0: 74 63 6c 22 0a 23 20 74 6f 20 72 65 67 65 6e 65  tcl".# to regene
15c0: 72 61 74 65 20 74 68 69 73 20 66 69 6c 65 2e 0a  rate this file..
15d0: 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69 73  #.# This file is
15e0: 20 69 6e 63 6c 75 64 65 64 20 62 79 20 70 72 69   included by pri
15f0: 6d 61 72 79 20 4d 61 6b 65 66 69 6c 65 2e 0a 23  mary Makefile..#
1600: 0a 0a 58 42 43 43 20 3d 20 24 28 42 43 43 29 20  ..XBCC = $(BCC) 
1610: 24 28 42 43 43 46 4c 41 47 53 29 20 24 28 43 46  $(BCCFLAGS) $(CF
1620: 4c 41 47 53 29 0a 58 54 43 43 20 3d 20 24 28 54  LAGS).XTCC = $(T
1630: 43 43 29 20 2d 49 2e 20 2d 49 24 28 53 52 43 44  CC) -I. -I$(SRCD
1640: 49 52 29 20 2d 49 24 28 4f 42 4a 44 49 52 29 20  IR) -I$(OBJDIR) 
1650: 24 28 54 43 43 46 4c 41 47 53 29 20 24 28 43 46  $(TCCFLAGS) $(CF
1660: 4c 41 47 53 29 0a 0a 7d 0a 77 72 69 74 65 6c 6e  LAGS)..}.writeln
1670: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 53 52 43   -nonewline "SRC
1680: 20 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c   =".foreach s [l
1690: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77  sort $src] {.  w
16a0: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
16b0: 65 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 53 52 43  e " \\\n  \$(SRC
16c0: 44 49 52 29 2f 24 73 2e 63 22 0a 7d 0a 77 72 69  DIR)/$s.c".}.wri
16d0: 74 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c  teln "\n".writel
16e0: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 45 58  n -nonewline "EX
16f0: 54 52 41 5f 46 49 4c 45 53 20 3d 22 0a 66 6f 72  TRA_FILES =".for
1700: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 65  each s [lsort $e
1710: 78 74 72 61 5f 66 69 6c 65 73 5d 20 7b 0a 20 20  xtra_files] {.  
1720: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
1730: 6e 65 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 53 52  ne " \\\n  \$(SR
1740: 43 44 49 52 29 2f 24 73 22 0a 7d 0a 77 72 69 74  CDIR)/$s".}.writ
1750: 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e  eln "\n".writeln
1760: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 54 52 41   -nonewline "TRA
1770: 4e 53 5f 53 52 43 20 3d 22 0a 66 6f 72 65 61 63  NS_SRC =".foreac
1780: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
1790: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f   {.  writeln -no
17a0: 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 20  newline " \\\n  
17b0: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f  \$(OBJDIR)/${s}_
17c0: 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c  .c".}.writeln "\
17d0: 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  n".writeln -none
17e0: 77 6c 69 6e 65 20 22 4f 42 4a 20 3d 22 0a 66 6f  wline "OBJ =".fo
17f0: 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24  reach s [lsort $
1800: 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e  src] {.  writeln
1810: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c   -nonewline " \\
1820: 5c 6e 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73  \n \$(OBJDIR)/$s
1830: 2e 6f 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c  .o".}.writeln "\
1840: 6e 22 0a 77 72 69 74 65 6c 6e 20 22 41 50 50 4e  n".writeln "APPN
1850: 41 4d 45 20 3d 20 24 6e 61 6d 65 5c 24 28 45 29  AME = $name\$(E)
1860: 22 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 0a  ".writeln "\n"..
1870: 77 72 69 74 65 6c 6e 20 5b 73 74 72 69 6e 67 20  writeln [string 
1880: 6d 61 70 20 5b 6c 69 73 74 20 5c 0a 20 20 20 20  map [list \.    
1890: 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e  <<<SQLITE_OPTION
18a0: 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24 53 51 4c 49  S>>> [join $SQLI
18b0: 54 45 5f 4f 50 54 49 4f 4e 53 20 22 20 5c 5c 5c  TE_OPTIONS " \\\
18c0: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  n               
18d0: 20 20 22 5d 20 5c 0a 20 20 20 20 3c 3c 3c 53 48    "] \.    <<<SH
18e0: 45 4c 4c 5f 4f 50 54 49 4f 4e 53 3e 3e 3e 20 5b  ELL_OPTIONS>>> [
18f0: 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f 4f 50 54 49  join $SHELL_OPTI
1900: 4f 4e 53 20 22 20 5c 5c 5c 6e 20 20 20 20 20 20  ONS " \\\n      
1910: 20 20 20 20 20 20 20 20 20 20 22 5d 20 5c 0a 20            "] \. 
1920: 20 20 20 3c 3c 3c 4d 49 4e 49 5a 5f 4f 50 54 49     <<<MINIZ_OPTI
1930: 4f 4e 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24 4d 49  ONS>>> [join $MI
1940: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 22 20 5c 5c  NIZ_OPTIONS " \\
1950: 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20  \n              
1960: 20 20 22 5d 5d 20 7b 0a 61 6c 6c 3a 09 24 28 4f    "]] {.all:.$(O
1970: 42 4a 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45  BJDIR) $(APPNAME
1980: 29 0a 0a 69 6e 73 74 61 6c 6c 3a 09 24 28 41 50  )..install:.$(AP
1990: 50 4e 41 4d 45 29 0a 09 6d 6b 64 69 72 20 2d 70  PNAME)..mkdir -p
19a0: 20 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 0a 09   $(INSTALLDIR)..
19b0: 6d 76 20 24 28 41 50 50 4e 41 4d 45 29 20 24 28  mv $(APPNAME) $(
19c0: 49 4e 53 54 41 4c 4c 44 49 52 29 0a 0a 63 6f 64  INSTALLDIR)..cod
19d0: 65 63 68 65 63 6b 3a 09 24 28 54 52 41 4e 53 5f  echeck:.$(TRANS_
19e0: 53 52 43 29 20 24 28 4f 42 4a 44 49 52 29 2f 63  SRC) $(OBJDIR)/c
19f0: 6f 64 65 63 68 65 63 6b 31 0a 09 24 28 4f 42 4a  odecheck1..$(OBJ
1a00: 44 49 52 29 2f 63 6f 64 65 63 68 65 63 6b 31 20  DIR)/codecheck1 
1a10: 24 28 54 52 41 4e 53 5f 53 52 43 29 0a 0a 24 28  $(TRANS_SRC)..$(
1a20: 4f 42 4a 44 49 52 29 3a 0a 09 2d 6d 6b 64 69 72  OBJDIR):..-mkdir
1a30: 20 24 28 4f 42 4a 44 49 52 29 0a 0a 24 28 4f 42   $(OBJDIR)..$(OB
1a40: 4a 44 49 52 29 2f 74 72 61 6e 73 6c 61 74 65 3a  JDIR)/translate:
1a50: 09 24 28 53 52 43 44 49 52 29 2f 74 72 61 6e 73  .$(SRCDIR)/trans
1a60: 6c 61 74 65 2e 63 0a 09 24 28 58 42 43 43 29 20  late.c..$(XBCC) 
1a70: 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f 74 72 61  -o $(OBJDIR)/tra
1a80: 6e 73 6c 61 74 65 20 24 28 53 52 43 44 49 52 29  nslate $(SRCDIR)
1a90: 2f 74 72 61 6e 73 6c 61 74 65 2e 63 0a 0a 24 28  /translate.c..$(
1aa0: 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65 61 64  OBJDIR)/makehead
1ab0: 65 72 73 3a 09 24 28 53 52 43 44 49 52 29 2f 6d  ers:.$(SRCDIR)/m
1ac0: 61 6b 65 68 65 61 64 65 72 73 2e 63 0a 09 24 28  akeheaders.c..$(
1ad0: 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a 44 49  XBCC) -o $(OBJDI
1ae0: 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 20 24  R)/makeheaders $
1af0: 28 53 52 43 44 49 52 29 2f 6d 61 6b 65 68 65 61  (SRCDIR)/makehea
1b00: 64 65 72 73 2e 63 0a 0a 24 28 4f 42 4a 44 49 52  ders.c..$(OBJDIR
1b10: 29 2f 6d 6b 69 6e 64 65 78 3a 09 24 28 53 52 43  )/mkindex:.$(SRC
1b20: 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 63 0a 09  DIR)/mkindex.c..
1b30: 24 28 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a  $(XBCC) -o $(OBJ
1b40: 44 49 52 29 2f 6d 6b 69 6e 64 65 78 20 24 28 53  DIR)/mkindex $(S
1b50: 52 43 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 63  RCDIR)/mkindex.c
1b60: 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 62 75  ..$(OBJDIR)/mkbu
1b70: 69 6c 74 69 6e 3a 09 24 28 53 52 43 44 49 52 29  iltin:.$(SRCDIR)
1b80: 2f 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a 09 24 28  /mkbuiltin.c..$(
1b90: 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a 44 49  XBCC) -o $(OBJDI
1ba0: 52 29 2f 6d 6b 62 75 69 6c 74 69 6e 20 24 28 53  R)/mkbuiltin $(S
1bb0: 52 43 44 49 52 29 2f 6d 6b 62 75 69 6c 74 69 6e  RCDIR)/mkbuiltin
1bc0: 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 6d 6b  .c..$(OBJDIR)/mk
1bd0: 76 65 72 73 69 6f 6e 3a 09 24 28 53 52 43 44 49  version:.$(SRCDI
1be0: 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a 09  R)/mkversion.c..
1bf0: 24 28 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a  $(XBCC) -o $(OBJ
1c00: 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 20 24  DIR)/mkversion $
1c10: 28 53 52 43 44 49 52 29 2f 6d 6b 76 65 72 73 69  (SRCDIR)/mkversi
1c20: 6f 6e 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 29 2f  on.c..$(OBJDIR)/
1c30: 6d 6b 63 73 73 3a 09 24 28 53 52 43 44 49 52 29  mkcss:.$(SRCDIR)
1c40: 2f 6d 6b 63 73 73 2e 63 0a 09 24 28 58 42 43 43  /mkcss.c..$(XBCC
1c50: 29 20 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f 6d  ) -o $(OBJDIR)/m
1c60: 6b 63 73 73 20 24 28 53 52 43 44 49 52 29 2f 6d  kcss $(SRCDIR)/m
1c70: 6b 63 73 73 2e 63 0a 0a 24 28 4f 42 4a 44 49 52  kcss.c..$(OBJDIR
1c80: 29 2f 63 6f 64 65 63 68 65 63 6b 31 3a 09 24 28  )/codecheck1:.$(
1c90: 53 52 43 44 49 52 29 2f 63 6f 64 65 63 68 65 63  SRCDIR)/codechec
1ca0: 6b 31 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f  k1.c..$(XBCC) -o
1cb0: 20 24 28 4f 42 4a 44 49 52 29 2f 63 6f 64 65 63   $(OBJDIR)/codec
1cc0: 68 65 63 6b 31 20 24 28 53 52 43 44 49 52 29 2f  heck1 $(SRCDIR)/
1cd0: 63 6f 64 65 63 68 65 63 6b 31 2e 63 0a 0a 23 20  codecheck1.c..# 
1ce0: 52 75 6e 20 74 68 65 20 74 65 73 74 20 73 75 69  Run the test sui
1cf0: 74 65 2e 0a 23 20 4f 74 68 65 72 20 66 6c 61 67  te..# Other flag
1d00: 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 69 6e  s that can be in
1d10: 63 6c 75 64 65 64 20 69 6e 20 54 45 53 54 46 4c  cluded in TESTFL
1d20: 41 47 53 20 61 72 65 3a 0a 23 0a 23 20 20 2d 68  AGS are:.#.#  -h
1d30: 61 6c 74 20 20 20 20 20 53 74 6f 70 20 74 65 73  alt     Stop tes
1d40: 74 69 6e 67 20 61 66 74 65 72 20 74 68 65 20 66  ting after the f
1d50: 69 72 73 74 20 66 61 69 6c 65 64 20 74 65 73 74  irst failed test
1d60: 0a 23 20 20 2d 6b 65 65 70 20 20 20 20 20 4b 65  .#  -keep     Ke
1d70: 65 70 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79  ep the temporary
1d80: 20 77 6f 72 6b 73 70 61 63 65 20 66 6f 72 20 64   workspace for d
1d90: 65 62 75 67 67 69 6e 67 0a 23 20 20 2d 70 72 6f  ebugging.#  -pro
1da0: 74 20 20 20 20 20 57 72 69 74 65 20 61 20 64 65  t     Write a de
1db0: 74 61 69 6c 65 64 20 6c 6f 67 20 6f 66 20 74 68  tailed log of th
1dc0: 65 20 74 65 73 74 73 20 74 6f 20 74 68 65 20 66  e tests to the f
1dd0: 69 6c 65 20 2e 2f 70 72 6f 74 0a 23 20 20 2d 76  ile ./prot.#  -v
1de0: 65 72 62 6f 73 65 20 20 49 6e 63 6c 75 64 65 20  erbose  Include 
1df0: 65 76 65 6e 20 6d 6f 72 65 20 64 65 74 61 69 6c  even more detail
1e00: 73 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 0a  s in the output.
1e10: 23 20 20 2d 71 75 69 65 74 20 20 20 20 48 69 64  #  -quiet    Hid
1e20: 65 20 6d 6f 73 74 20 6f 75 74 70 75 74 20 66 72  e most output fr
1e30: 6f 6d 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 0a  om the terminal.
1e40: 23 20 20 2d 73 74 72 69 63 74 20 20 20 54 72 65  #  -strict   Tre
1e50: 61 74 20 6b 6e 6f 77 6e 20 62 75 67 73 20 61 73  at known bugs as
1e60: 20 66 61 69 6c 75 72 65 73 0a 23 0a 23 20 54 45   failures.#.# TE
1e70: 53 54 46 4c 41 47 53 20 63 61 6e 20 61 6c 73 6f  STFLAGS can also
1e80: 20 69 6e 63 6c 75 64 65 20 6e 61 6d 65 73 20 6f   include names o
1e90: 66 20 73 70 65 63 69 66 69 63 20 74 65 73 74 20  f specific test 
1ea0: 66 69 6c 65 73 20 74 6f 20 6c 69 6d 69 74 0a 23  files to limit.#
1eb0: 20 74 68 65 20 72 75 6e 20 74 6f 20 6a 75 73 74   the run to just
1ec0: 20 74 68 6f 73 65 20 74 65 73 74 20 63 61 73 65   those test case
1ed0: 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 4f 42 4a  s..#.test:.$(OBJ
1ee0: 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a  DIR) $(APPNAME).
1ef0: 09 24 28 54 43 4c 53 48 29 20 24 28 53 52 43 44  .$(TCLSH) $(SRCD
1f00: 49 52 29 2f 2e 2e 2f 74 65 73 74 2f 74 65 73 74  IR)/../test/test
1f10: 65 72 2e 74 63 6c 20 24 28 41 50 50 4e 41 4d 45  er.tcl $(APPNAME
1f20: 29 20 2d 71 75 69 65 74 20 24 28 54 45 53 54 46  ) -quiet $(TESTF
1f30: 4c 41 47 53 29 0a 0a 24 28 4f 42 4a 44 49 52 29  LAGS)..$(OBJDIR)
1f40: 2f 56 45 52 53 49 4f 4e 2e 68 3a 09 24 28 53 52  /VERSION.h:.$(SR
1f50: 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73  CDIR)/../manifes
1f60: 74 2e 75 75 69 64 20 24 28 53 52 43 44 49 52 29  t.uuid $(SRCDIR)
1f70: 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 20 24 28 53  /../manifest $(S
1f80: 52 43 44 49 52 29 2f 2e 2e 2f 56 45 52 53 49 4f  RCDIR)/../VERSIO
1f90: 4e 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 76 65  N $(OBJDIR)/mkve
1fa0: 72 73 69 6f 6e 0a 09 24 28 4f 42 4a 44 49 52 29  rsion..$(OBJDIR)
1fb0: 2f 6d 6b 76 65 72 73 69 6f 6e 20 24 28 53 52 43  /mkversion $(SRC
1fc0: 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74  DIR)/../manifest
1fd0: 2e 75 75 69 64 20 5c 0a 09 09 24 28 53 52 43 44  .uuid \...$(SRCD
1fe0: 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 20  IR)/../manifest 
1ff0: 5c 0a 09 09 24 28 53 52 43 44 49 52 29 2f 2e 2e  \...$(SRCDIR)/..
2000: 2f 56 45 52 53 49 4f 4e 20 3e 24 28 4f 42 4a 44  /VERSION >$(OBJD
2010: 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 0a 0a 24  IR)/VERSION.h..$
2020: 28 4f 42 4a 44 49 52 29 2f 64 65 66 61 75 6c 74  (OBJDIR)/default
2030: 5f 63 73 73 2e 68 3a 09 24 28 53 52 43 44 49 52  _css.h:.$(SRCDIR
2040: 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78  )/default_css.tx
2050: 74 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 63 73  t $(OBJDIR)/mkcs
2060: 73 0a 09 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 63  s..$(OBJDIR)/mkc
2070: 73 73 20 24 28 53 52 43 44 49 52 29 2f 64 65 66  ss $(SRCDIR)/def
2080: 61 75 6c 74 5f 63 73 73 2e 74 78 74 20 24 28 4f  ault_css.txt $(O
2090: 42 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63  BJDIR)/default_c
20a0: 73 73 2e 68 0a 0a 23 20 53 65 74 75 70 20 74 68  ss.h..# Setup th
20b0: 65 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 74  e options used t
20c0: 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 69 6e  o compile the in
20d0: 63 6c 75 64 65 64 20 53 51 4c 69 74 65 20 6c 69  cluded SQLite li
20e0: 62 72 61 72 79 2e 0a 53 51 4c 49 54 45 5f 4f 50  brary..SQLITE_OP
20f0: 54 49 4f 4e 53 20 3d 20 3c 3c 3c 53 51 4c 49 54  TIONS = <<<SQLIT
2100: 45 5f 4f 50 54 49 4f 4e 53 3e 3e 3e 0a 0a 23 20  E_OPTIONS>>>..# 
2110: 53 65 74 75 70 20 74 68 65 20 6f 70 74 69 6f 6e  Setup the option
2120: 73 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 69 6c  s used to compil
2130: 65 20 74 68 65 20 69 6e 63 6c 75 64 65 64 20 53  e the included S
2140: 51 4c 69 74 65 20 73 68 65 6c 6c 2e 0a 53 48 45  QLite shell..SHE
2150: 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d 20 3c 3c 3c  LL_OPTIONS = <<<
2160: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 3e 3e 3e  SHELL_OPTIONS>>>
2170: 0a 0a 23 20 53 65 74 75 70 20 74 68 65 20 6f 70  ..# Setup the op
2180: 74 69 6f 6e 73 20 75 73 65 64 20 74 6f 20 63 6f  tions used to co
2190: 6d 70 69 6c 65 20 74 68 65 20 69 6e 63 6c 75 64  mpile the includ
21a0: 65 64 20 6d 69 6e 69 7a 20 6c 69 62 72 61 72 79  ed miniz library
21b0: 2e 0a 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20  ..MINIZ_OPTIONS 
21c0: 3d 20 3c 3c 3c 4d 49 4e 49 5a 5f 4f 50 54 49 4f  = <<<MINIZ_OPTIO
21d0: 4e 53 3e 3e 3e 0a 0a 23 20 54 68 65 20 55 53 45  NS>>>..# The USE
21e0: 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 20 76  _SYSTEM_SQLITE v
21f0: 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 75  ariable may be u
2200: 6e 64 65 66 69 6e 65 64 2c 20 73 65 74 20 74 6f  ndefined, set to
2210: 20 30 2c 20 6f 72 20 73 65 74 0a 23 20 74 6f 20   0, or set.# to 
2220: 31 2e 20 49 66 20 69 74 20 69 73 20 73 65 74 20  1. If it is set 
2230: 74 6f 20 31 2c 20 74 68 65 6e 20 74 68 65 72 65  to 1, then there
2240: 20 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 62   is no need to b
2250: 75 69 6c 64 20 6f 72 20 6c 69 6e 6b 0a 23 20 74  uild or link.# t
2260: 68 65 20 73 71 6c 69 74 65 33 2e 6f 20 6f 62 6a  he sqlite3.o obj
2270: 65 63 74 2e 20 49 6e 73 74 65 61 64 2c 20 74 68  ect. Instead, th
2280: 65 20 73 79 73 74 65 6d 20 53 51 4c 69 74 65 20  e system SQLite 
2290: 77 69 6c 6c 20 62 65 20 6c 69 6e 6b 65 64 0a 23  will be linked.#
22a0: 20 75 73 69 6e 67 20 2d 6c 73 71 6c 69 74 65 33   using -lsqlite3
22b0: 2e 0a 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 30 20  ..SQLITE3_OBJ.0 
22c0: 3d 20 24 28 4f 42 4a 44 49 52 29 2f 73 71 6c 69  = $(OBJDIR)/sqli
22d0: 74 65 33 2e 6f 0a 53 51 4c 49 54 45 33 5f 4f 42  te3.o.SQLITE3_OB
22e0: 4a 2e 31 20 3d 0a 53 51 4c 49 54 45 33 5f 4f 42  J.1 =.SQLITE3_OB
22f0: 4a 2e 20 20 3d 20 24 28 53 51 4c 49 54 45 33 5f  J.  = $(SQLITE3_
2300: 4f 42 4a 2e 30 29 0a 0a 23 20 54 68 65 20 46 4f  OBJ.0)..# The FO
2310: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49  SSIL_ENABLE_MINI
2320: 5a 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62  Z variable may b
2330: 65 20 75 6e 64 65 66 69 6e 65 64 2c 20 73 65 74  e undefined, set
2340: 20 74 6f 20 30 2c 20 6f 72 0a 23 20 73 65 74 20   to 0, or.# set 
2350: 74 6f 20 31 2e 20 20 49 66 20 69 74 20 69 73 20  to 1.  If it is 
2360: 73 65 74 20 74 6f 20 31 2c 20 74 68 65 20 6d 69  set to 1, the mi
2370: 6e 69 7a 20 6c 69 62 72 61 72 79 20 69 6e 63 6c  niz library incl
2380: 75 64 65 64 20 69 6e 20 74 68 65 0a 23 20 73 6f  uded in the.# so
2390: 75 72 63 65 20 74 72 65 65 20 73 68 6f 75 6c 64  urce tree should
23a0: 20 62 65 20 75 73 65 64 3b 20 6f 74 68 65 72 77   be used; otherw
23b0: 69 73 65 2c 20 69 74 20 73 68 6f 75 6c 64 20 6e  ise, it should n
23c0: 6f 74 2e 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 30 20  ot..MINIZ_OBJ.0 
23d0: 3d 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 31 20 3d 20  =.MINIZ_OBJ.1 = 
23e0: 24 28 4f 42 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e  $(OBJDIR)/miniz.
23f0: 6f 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 20 20 3d 20  o.MINIZ_OBJ.  = 
2400: 24 28 4d 49 4e 49 5a 5f 4f 42 4a 2e 30 29 0a 0a  $(MINIZ_OBJ.0)..
2410: 23 20 54 68 65 20 55 53 45 5f 4c 49 4e 45 4e 4f  # The USE_LINENO
2420: 49 53 45 20 76 61 72 69 61 62 6c 65 20 6d 61 79  ISE variable may
2430: 20 62 65 20 75 6e 64 65 66 69 6e 65 64 2c 20 73   be undefined, s
2440: 65 74 20 74 6f 20 30 2c 20 6f 72 20 73 65 74 0a  et to 0, or set.
2450: 23 20 74 6f 20 31 2e 20 49 66 20 69 74 20 69 73  # to 1. If it is
2460: 20 73 65 74 20 74 6f 20 30 2c 20 74 68 65 6e 20   set to 0, then 
2470: 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 64  there is no need
2480: 20 74 6f 20 62 75 69 6c 64 20 6f 72 20 6c 69 6e   to build or lin
2490: 6b 0a 23 20 74 68 65 20 6c 69 6e 65 6e 6f 69 73  k.# the linenois
24a0: 65 2e 6f 20 6f 62 6a 65 63 74 2e 0a 4c 49 4e 45  e.o object..LINE
24b0: 4e 4f 49 53 45 5f 44 45 46 2e 30 20 3d 0a 4c 49  NOISE_DEF.0 =.LI
24c0: 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 31 20 3d 20  NENOISE_DEF.1 = 
24d0: 2d 44 48 41 56 45 5f 4c 49 4e 45 4e 4f 49 53 45  -DHAVE_LINENOISE
24e0: 0a 4c 49 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 20  .LINENOISE_DEF. 
24f0: 20 3d 20 24 28 4c 49 4e 45 4e 4f 49 53 45 5f 44   = $(LINENOISE_D
2500: 45 46 2e 30 29 0a 4c 49 4e 45 4e 4f 49 53 45 5f  EF.0).LINENOISE_
2510: 4f 42 4a 2e 30 20 3d 0a 4c 49 4e 45 4e 4f 49 53  OBJ.0 =.LINENOIS
2520: 45 5f 4f 42 4a 2e 31 20 3d 20 24 28 4f 42 4a 44  E_OBJ.1 = $(OBJD
2530: 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 65 2e 6f 0a  IR)/linenoise.o.
2540: 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42 4a 2e 20 20  LINENOISE_OBJ.  
2550: 3d 20 24 28 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42  = $(LINENOISE_OB
2560: 4a 2e 30 29 0a 0a 23 20 54 68 65 20 55 53 45 5f  J.0)..# The USE_
2570: 53 45 45 20 76 61 72 69 61 62 6c 65 20 6d 61 79  SEE variable may
2580: 20 62 65 20 75 6e 64 65 66 69 6e 65 64 2c 20 30   be undefined, 0
2590: 20 6f 72 20 31 2e 20 20 49 66 20 75 6e 64 65 66   or 1.  If undef
25a0: 69 6e 65 64 20 6f 72 0a 23 20 30 2c 20 6f 72 64  ined or.# 0, ord
25b0: 69 6e 61 72 79 20 53 51 4c 69 74 65 20 69 73 20  inary SQLite is 
25c0: 75 73 65 64 2e 20 20 49 66 20 31 2c 20 74 68 65  used.  If 1, the
25d0: 6e 20 73 71 6c 69 74 65 33 2d 73 65 65 2e 63 20  n sqlite3-see.c 
25e0: 28 6e 6f 74 20 70 61 72 74 20 6f 66 0a 23 20 74  (not part of.# t
25f0: 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 29 20  he source tree) 
2600: 69 73 20 75 73 65 64 20 61 6e 64 20 65 78 74 72  is used and extr
2610: 61 20 66 6c 61 67 73 20 61 72 65 20 70 72 6f 76  a flags are prov
2620: 69 64 65 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23  ided to enable.#
2630: 20 74 68 65 20 53 51 4c 69 74 65 20 45 6e 63 72   the SQLite Encr
2640: 79 70 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f 6e  yption Extension
2650: 2e 0a 53 51 4c 49 54 45 33 5f 53 52 43 2e 30 20  ..SQLITE3_SRC.0 
2660: 3d 20 73 71 6c 69 74 65 33 2e 63 0a 53 51 4c 49  = sqlite3.c.SQLI
2670: 54 45 33 5f 53 52 43 2e 31 20 3d 20 73 71 6c 69  TE3_SRC.1 = sqli
2680: 74 65 33 2d 73 65 65 2e 63 0a 53 51 4c 49 54 45  te3-see.c.SQLITE
2690: 33 5f 53 52 43 2e 20 3d 20 73 71 6c 69 74 65 33  3_SRC. = sqlite3
26a0: 2e 63 0a 53 51 4c 49 54 45 33 5f 53 52 43 20 3d  .c.SQLITE3_SRC =
26b0: 20 24 28 53 52 43 44 49 52 29 2f 24 28 53 51 4c   $(SRCDIR)/$(SQL
26c0: 49 54 45 33 5f 53 52 43 2e 24 28 55 53 45 5f 53  ITE3_SRC.$(USE_S
26d0: 45 45 29 29 0a 53 51 4c 49 54 45 33 5f 53 48 45  EE)).SQLITE3_SHE
26e0: 4c 4c 5f 53 52 43 2e 30 20 3d 20 73 68 65 6c 6c  LL_SRC.0 = shell
26f0: 2e 63 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c  .c.SQLITE3_SHELL
2700: 5f 53 52 43 2e 31 20 3d 20 73 68 65 6c 6c 2d 73  _SRC.1 = shell-s
2710: 65 65 2e 63 0a 53 51 4c 49 54 45 33 5f 53 48 45  ee.c.SQLITE3_SHE
2720: 4c 4c 5f 53 52 43 2e 20 3d 20 73 68 65 6c 6c 2e  LL_SRC. = shell.
2730: 63 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f  c.SQLITE3_SHELL_
2740: 53 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 2f  SRC = $(SRCDIR)/
2750: 24 28 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f  $(SQLITE3_SHELL_
2760: 53 52 43 2e 24 28 55 53 45 5f 53 45 45 29 29 0a  SRC.$(USE_SEE)).
2770: 53 45 45 5f 46 4c 41 47 53 2e 30 20 3d 0a 53 45  SEE_FLAGS.0 =.SE
2780: 45 5f 46 4c 41 47 53 2e 31 20 3d 20 2d 44 53 51  E_FLAGS.1 = -DSQ
2790: 4c 49 54 45 5f 48 41 53 5f 43 4f 44 45 43 20 2d  LITE_HAS_CODEC -
27a0: 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 44 42  DSQLITE_SHELL_DB
27b0: 4b 45 59 5f 50 52 4f 43 3d 66 6f 73 73 69 6c 5f  KEY_PROC=fossil_
27c0: 6b 65 79 0a 53 45 45 5f 46 4c 41 47 53 2e 20 3d  key.SEE_FLAGS. =
27d0: 0a 53 45 45 5f 46 4c 41 47 53 20 3d 20 24 28 53  .SEE_FLAGS = $(S
27e0: 45 45 5f 46 4c 41 47 53 2e 24 28 55 53 45 5f 53  EE_FLAGS.$(USE_S
27f0: 45 45 29 29 0a 7d 5d 0a 0a 77 72 69 74 65 6c 6e  EE)).}]..writeln
2800: 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69   [string map [li
2810: 73 74 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e  st <<<NEXT_LINE>
2820: 3e 3e 20 5c 5c 5d 20 7b 0a 45 58 54 52 41 4f 42  >> \\] {.EXTRAOB
2830: 4a 20 3d 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45  J = <<<NEXT_LINE
2840: 3e 3e 3e 0a 20 24 28 53 51 4c 49 54 45 33 5f 4f  >>>. $(SQLITE3_O
2850: 42 4a 2e 24 28 55 53 45 5f 53 59 53 54 45 4d 5f  BJ.$(USE_SYSTEM_
2860: 53 51 4c 49 54 45 29 29 20 3c 3c 3c 4e 45 58 54  SQLITE)) <<<NEXT
2870: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4d 49 4e 49  _LINE>>>. $(MINI
2880: 5a 5f 4f 42 4a 2e 24 28 46 4f 53 53 49 4c 5f 45  Z_OBJ.$(FOSSIL_E
2890: 4e 41 42 4c 45 5f 4d 49 4e 49 5a 29 29 20 3c 3c  NABLE_MINIZ)) <<
28a0: 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24  <NEXT_LINE>>>. $
28b0: 28 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42 4a 2e 24  (LINENOISE_OBJ.$
28c0: 28 55 53 45 5f 4c 49 4e 45 4e 4f 49 53 45 29 29  (USE_LINENOISE))
28d0: 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e   <<<NEXT_LINE>>>
28e0: 0a 20 24 28 4f 42 4a 44 49 52 29 2f 73 68 65 6c  . $(OBJDIR)/shel
28f0: 6c 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45  l.o <<<NEXT_LINE
2900: 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 74  >>>. $(OBJDIR)/t
2910: 68 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45  h.o <<<NEXT_LINE
2920: 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 74  >>>. $(OBJDIR)/t
2930: 68 5f 6c 61 6e 67 2e 6f 20 3c 3c 3c 4e 45 58 54  h_lang.o <<<NEXT
2940: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44  _LINE>>>. $(OBJD
2950: 49 52 29 2f 74 68 5f 74 63 6c 2e 6f 20 3c 3c 3c  IR)/th_tcl.o <<<
2960: 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28  NEXT_LINE>>>. $(
2970: 4f 42 4a 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61  OBJDIR)/cson_ama
2980: 6c 67 61 6d 61 74 69 6f 6e 2e 6f 0a 7d 5d 0a 0a  lgamation.o.}]..
2990: 77 72 69 74 65 6c 6e 20 7b 0a 24 28 41 50 50 4e  writeln {.$(APPN
29a0: 41 4d 45 29 3a 09 24 28 4f 42 4a 44 49 52 29 2f  AME):.$(OBJDIR)/
29b0: 68 65 61 64 65 72 73 20 24 28 4f 42 4a 44 49 52  headers $(OBJDIR
29c0: 29 2f 63 6f 64 65 63 68 65 63 6b 31 20 24 28 4f  )/codecheck1 $(O
29d0: 42 4a 29 20 24 28 45 58 54 52 41 4f 42 4a 29 0a  BJ) $(EXTRAOBJ).
29e0: 09 24 28 4f 42 4a 44 49 52 29 2f 63 6f 64 65 63  .$(OBJDIR)/codec
29f0: 68 65 63 6b 31 20 24 28 54 52 41 4e 53 5f 53 52  heck1 $(TRANS_SR
2a00: 43 29 0a 09 24 28 54 43 43 29 20 2d 6f 20 24 28  C)..$(TCC) -o $(
2a10: 41 50 50 4e 41 4d 45 29 20 24 28 4f 42 4a 29 20  APPNAME) $(OBJ) 
2a20: 24 28 45 58 54 52 41 4f 42 4a 29 20 24 28 4c 49  $(EXTRAOBJ) $(LI
2a30: 42 29 0a 0a 23 20 54 68 69 73 20 72 75 6c 65 20  B)..# This rule 
2a40: 70 72 65 76 65 6e 74 73 20 6d 61 6b 65 20 66 72  prevents make fr
2a50: 6f 6d 20 75 73 69 6e 67 20 69 74 73 20 64 65 66  om using its def
2a60: 61 75 6c 74 20 72 75 6c 65 73 20 74 6f 20 74 72  ault rules to tr
2a70: 79 20 62 75 69 6c 64 0a 23 20 61 6e 20 65 78 65  y build.# an exe
2a80: 63 75 74 61 62 6c 65 20 6e 61 6d 65 64 20 22 6d  cutable named "m
2a90: 61 6e 69 66 65 73 74 22 20 6f 75 74 20 6f 66 20  anifest" out of 
2aa0: 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 22  the file named "
2ab0: 6d 61 6e 69 66 65 73 74 2e 63 22 0a 23 0a 24 28  manifest.c".#.$(
2ac0: 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66  SRCDIR)/../manif
2ad0: 65 73 74 3a 0a 09 23 20 6e 6f 6f 70 0a 0a 63 6c  est:..# noop..cl
2ae0: 65 61 6e 3a 0a 09 72 6d 20 2d 72 66 20 24 28 4f  ean:..rm -rf $(O
2af0: 42 4a 44 49 52 29 2f 2a 20 24 28 41 50 50 4e 41  BJDIR)/* $(APPNA
2b00: 4d 45 29 0a 0a 7d 0a 0a 73 65 74 20 6d 68 61 72  ME)..}..set mhar
2b10: 67 73 20 7b 7d 0a 66 6f 72 65 61 63 68 20 73 20  gs {}.foreach s 
2b20: 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20  [lsort $src] {. 
2b30: 20 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22   append mhargs "
2b40: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f  \$(OBJDIR)/${s}_
2b50: 2e 63 3a 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73  .c:\$(OBJDIR)/$s
2b60: 2e 68 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e  .h <<<NEXT_LINE>
2b70: 3e 3e 22 0a 20 20 73 65 74 20 65 78 74 72 61 5f  >>".  set extra_
2b80: 68 28 24 73 29 20 7b 20 7d 0a 7d 0a 61 70 70 65  h($s) { }.}.appe
2b90: 6e 64 20 6d 68 61 72 67 73 20 22 5c 24 28 53 52  nd mhargs "\$(SR
2ba0: 43 44 49 52 29 2f 73 71 6c 69 74 65 33 2e 68 20  CDIR)/sqlite3.h 
2bb0: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 22  <<<NEXT_LINE>>>"
2bc0: 0a 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22  .append mhargs "
2bd0: 5c 24 28 53 52 43 44 49 52 29 2f 74 68 2e 68 20  \$(SRCDIR)/th.h 
2be0: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 22  <<<NEXT_LINE>>>"
2bf0: 0a 23 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20  .#append mhargs 
2c00: 22 5c 24 28 53 52 43 44 49 52 29 2f 63 73 6f 6e  "\$(SRCDIR)/cson
2c10: 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 68 20  _amalgamation.h 
2c20: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 22  <<<NEXT_LINE>>>"
2c30: 0a 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22  .append mhargs "
2c40: 5c 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49  \$(OBJDIR)/VERSI
2c50: 4f 4e 2e 68 20 22 0a 73 65 74 20 6d 68 61 72 67  ON.h ".set mharg
2c60: 73 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c  s [string map [l
2c70: 69 73 74 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45  ist <<<NEXT_LINE
2c80: 3e 3e 3e 20 5c 5c 5c 6e 5c 74 5d 20 24 6d 68 61  >>> \\\n\t] $mha
2c90: 72 67 73 5d 0a 77 72 69 74 65 6c 6e 20 22 5c 24  rgs].writeln "\$
2ca0: 28 4f 42 4a 44 49 52 29 2f 70 61 67 65 5f 69 6e  (OBJDIR)/page_in
2cb0: 64 65 78 2e 68 3a 20 5c 24 28 54 52 41 4e 53 5f  dex.h: \$(TRANS_
2cc0: 53 52 43 29 20 5c 24 28 4f 42 4a 44 49 52 29 2f  SRC) \$(OBJDIR)/
2cd0: 6d 6b 69 6e 64 65 78 22 0a 77 72 69 74 65 6c 6e  mkindex".writeln
2ce0: 20 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 6d   "\t\$(OBJDIR)/m
2cf0: 6b 69 6e 64 65 78 20 5c 24 28 54 52 41 4e 53 5f  kindex \$(TRANS_
2d00: 53 52 43 29 20 3e 5c 24 40 5c 6e 22 0a 0a 77 72  SRC) >\$@\n"..wr
2d10: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52  iteln "\$(OBJDIR
2d20: 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68  )/builtin_data.h
2d30: 3a 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 62  : \$(OBJDIR)/mkb
2d40: 75 69 6c 74 69 6e 20 5c 24 28 45 58 54 52 41 5f  uiltin \$(EXTRA_
2d50: 46 49 4c 45 53 29 22 0a 77 72 69 74 65 6c 6e 20  FILES)".writeln 
2d60: 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b  "\t\$(OBJDIR)/mk
2d70: 62 75 69 6c 74 69 6e 20 2d 2d 70 72 65 66 69 78  builtin --prefix
2d80: 20 5c 24 28 53 52 43 44 49 52 29 2f 20 5c 24 28   \$(SRCDIR)/ \$(
2d90: 45 58 54 52 41 5f 46 49 4c 45 53 29 20 3e 5c 24  EXTRA_FILES) >\$
2da0: 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c  @\n"..writeln "\
2db0: 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72  $(OBJDIR)/header
2dc0: 73 3a 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 70  s:\t\$(OBJDIR)/p
2dd0: 61 67 65 5f 69 6e 64 65 78 2e 68 20 5c 24 28 4f  age_index.h \$(O
2de0: 42 4a 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f 64  BJDIR)/builtin_d
2df0: 61 74 61 2e 68 20 5c 24 28 4f 42 4a 44 49 52 29  ata.h \$(OBJDIR)
2e00: 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 5c  /default_css.h \
2e10: 24 28 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65  $(OBJDIR)/makehe
2e20: 61 64 65 72 73 20 5c 24 28 4f 42 4a 44 49 52 29  aders \$(OBJDIR)
2e30: 2f 56 45 52 53 49 4f 4e 2e 68 22 0a 77 72 69 74  /VERSION.h".writ
2e40: 65 6c 6e 20 22 5c 74 5c 24 28 4f 42 4a 44 49 52  eln "\t\$(OBJDIR
2e50: 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 20 24 6d  )/makeheaders $m
2e60: 68 61 72 67 73 22 0a 77 72 69 74 65 6c 6e 20 22  hargs".writeln "
2e70: 5c 74 74 6f 75 63 68 20 5c 24 28 4f 42 4a 44 49  \ttouch \$(OBJDI
2e80: 52 29 2f 68 65 61 64 65 72 73 22 0a 77 72 69 74  R)/headers".writ
2e90: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/
2ea0: 68 65 61 64 65 72 73 3a 20 4d 61 6b 65 66 69 6c  headers: Makefil
2eb0: 65 22 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f  e".writeln "\$(O
2ec0: 42 4a 44 49 52 29 2f 6a 73 6f 6e 2e 6f 20 5c 24  BJDIR)/json.o \$
2ed0: 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 61 72  (OBJDIR)/json_ar
2ee0: 74 69 66 61 63 74 2e 6f 20 5c 24 28 4f 42 4a 44  tifact.o \$(OBJD
2ef0: 49 52 29 2f 6a 73 6f 6e 5f 62 72 61 6e 63 68 2e  IR)/json_branch.
2f00: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
2f10: 6e 5f 63 6f 6e 66 69 67 2e 6f 20 5c 24 28 4f 42  n_config.o \$(OB
2f20: 4a 44 49 52 29 2f 6a 73 6f 6e 5f 64 69 66 66 2e  JDIR)/json_diff.
2f30: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
2f40: 6e 5f 64 69 72 2e 6f 20 5c 24 28 4f 42 4a 44 49  n_dir.o \$(OBJDI
2f50: 52 29 2f 6a 73 6f 6e 5f 66 69 6e 66 6f 2e 6f 20  R)/json_finfo.o 
2f60: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f  \$(OBJDIR)/json_
2f70: 6c 6f 67 69 6e 2e 6f 20 5c 24 28 4f 42 4a 44 49  login.o \$(OBJDI
2f80: 52 29 2f 6a 73 6f 6e 5f 71 75 65 72 79 2e 6f 20  R)/json_query.o 
2f90: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f  \$(OBJDIR)/json_
2fa0: 72 65 70 6f 72 74 2e 6f 20 5c 24 28 4f 42 4a 44  report.o \$(OBJD
2fb0: 49 52 29 2f 6a 73 6f 6e 5f 73 74 61 74 75 73 2e  IR)/json_status.
2fc0: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
2fd0: 6e 5f 74 61 67 2e 6f 20 5c 24 28 4f 42 4a 44 49  n_tag.o \$(OBJDI
2fe0: 52 29 2f 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e 65  R)/json_timeline
2ff0: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js
3000: 6f 6e 5f 75 73 65 72 2e 6f 20 5c 24 28 4f 42 4a  on_user.o \$(OBJ
3010: 44 49 52 29 2f 6a 73 6f 6e 5f 77 69 6b 69 2e 6f  DIR)/json_wiki.o
3020: 20 3a 20 5c 24 28 53 52 43 44 49 52 29 2f 6a 73   : \$(SRCDIR)/js
3030: 6f 6e 5f 64 65 74 61 69 6c 2e 68 22 0a 77 72 69  on_detail.h".wri
3040: 74 65 6c 6e 20 22 4d 61 6b 65 66 69 6c 65 3a 22  teln "Makefile:"
3050: 0a 73 65 74 20 65 78 74 72 61 5f 68 28 64 69 73  .set extra_h(dis
3060: 70 61 74 63 68 29 20 22 20 5c 24 28 4f 42 4a 44  patch) " \$(OBJD
3070: 49 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e 68  IR)/page_index.h
3080: 20 22 0a 73 65 74 20 65 78 74 72 61 5f 68 28 62   ".set extra_h(b
3090: 75 69 6c 74 69 6e 29 20 22 20 5c 24 28 4f 42 4a  uiltin) " \$(OBJ
30a0: 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74  DIR)/builtin_dat
30b0: 61 2e 68 20 22 0a 73 65 74 20 65 78 74 72 61 5f  a.h ".set extra_
30c0: 68 28 73 74 79 6c 65 29 20 22 20 5c 24 28 4f 42  h(style) " \$(OB
30d0: 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63 73  JDIR)/default_cs
30e0: 73 2e 68 20 22 0a 0a 66 6f 72 65 61 63 68 20 73  s.h "..foreach s
30f0: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a   [lsort $src] {.
3100: 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42    writeln "\$(OB
3110: 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 3a 5c 74  JDIR)/${s}_.c:\t
3120: 5c 24 28 53 52 43 44 49 52 29 2f 24 73 2e 63 20  \$(SRCDIR)/$s.c 
3130: 5c 24 28 4f 42 4a 44 49 52 29 2f 74 72 61 6e 73  \$(OBJDIR)/trans
3140: 6c 61 74 65 22 0a 20 20 77 72 69 74 65 6c 6e 20  late".  writeln 
3150: 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 74 72  "\t\$(OBJDIR)/tr
3160: 61 6e 73 6c 61 74 65 20 5c 24 28 53 52 43 44 49  anslate \$(SRCDI
3170: 52 29 2f 24 73 2e 63 20 3e 5c 24 40 5c 6e 22 0a  R)/$s.c >\$@\n".
3180: 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42    writeln "\$(OB
3190: 4a 44 49 52 29 2f 24 73 2e 6f 3a 5c 74 5c 24 28  JDIR)/$s.o:\t\$(
31a0: 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 20  OBJDIR)/${s}_.c 
31b0: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 2e 68 24  \$(OBJDIR)/$s.h$
31c0: 65 78 74 72 61 5f 68 28 24 73 29 5c 24 28 53 52  extra_h($s)\$(SR
31d0: 43 44 49 52 29 2f 63 6f 6e 66 69 67 2e 68 22 0a  CDIR)/config.h".
31e0: 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28    writeln "\t\$(
31f0: 58 54 43 43 29 20 2d 6f 20 5c 24 28 4f 42 4a 44  XTCC) -o \$(OBJD
3200: 49 52 29 2f 24 73 2e 6f 20 2d 63 20 5c 24 28 4f  IR)/$s.o -c \$(O
3210: 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 5c 6e  BJDIR)/${s}_.c\n
3220: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28  ".  writeln "\$(
3230: 4f 42 4a 44 49 52 29 2f 24 73 2e 68 3a 5c 74 5c  OBJDIR)/$s.h:\t\
3240: 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72  $(OBJDIR)/header
3250: 73 5c 6e 22 0a 7d 0a 0a 77 72 69 74 65 6c 6e 20  s\n".}..writeln 
3260: 22 5c 24 28 4f 42 4a 44 49 52 29 2f 73 71 6c 69  "\$(OBJDIR)/sqli
3270: 74 65 33 2e 6f 3a 5c 74 5c 24 28 53 51 4c 49 54  te3.o:\t\$(SQLIT
3280: 45 33 5f 53 52 43 29 22 0a 77 72 69 74 65 6c 6e  E3_SRC)".writeln
3290: 20 22 5c 74 5c 24 28 58 54 43 43 29 20 5c 24 28   "\t\$(XTCC) \$(
32a0: 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 29 20  SQLITE_OPTIONS) 
32b0: 5c 24 28 53 51 4c 49 54 45 5f 43 46 4c 41 47 53  \$(SQLITE_CFLAGS
32c0: 29 20 5c 24 28 53 45 45 5f 46 4c 41 47 53 29 20  ) \$(SEE_FLAGS) 
32d0: 5c 5c 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c  \\".writeln "\t\
32e0: 74 2d 63 20 5c 24 28 53 51 4c 49 54 45 33 5f 53  t-c \$(SQLITE3_S
32f0: 52 43 29 20 2d 6f 20 5c 24 40 22 0a 0a 77 72 69  RC) -o \$@"..wri
3300: 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29  teln "\$(OBJDIR)
3310: 2f 73 68 65 6c 6c 2e 6f 3a 5c 74 5c 24 28 53 51  /shell.o:\t\$(SQ
3320: 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 29  LITE3_SHELL_SRC)
3330: 20 5c 24 28 53 52 43 44 49 52 29 2f 73 71 6c 69   \$(SRCDIR)/sqli
3340: 74 65 33 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22  te3.h".writeln "
3350: 5c 74 5c 24 28 58 54 43 43 29 20 5c 24 28 53 48  \t\$(XTCC) \$(SH
3360: 45 4c 4c 5f 4f 50 54 49 4f 4e 53 29 20 5c 24 28  ELL_OPTIONS) \$(
3370: 53 48 45 4c 4c 5f 43 46 4c 41 47 53 29 20 5c 24  SHELL_CFLAGS) \$
3380: 28 53 45 45 5f 46 4c 41 47 53 29 20 5c 24 28 4c  (SEE_FLAGS) \$(L
3390: 49 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 5c 24 28  INENOISE_DEF.\$(
33a0: 55 53 45 5f 4c 49 4e 45 4e 4f 49 53 45 29 29 20  USE_LINENOISE)) 
33b0: 2d 63 20 5c 24 28 53 51 4c 49 54 45 33 5f 53 48  -c \$(SQLITE3_SH
33c0: 45 4c 4c 5f 53 52 43 29 20 2d 6f 20 5c 24 40 5c  ELL_SRC) -o \$@\
33d0: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28  n"..writeln "\$(
33e0: 4f 42 4a 44 49 52 29 2f 6c 69 6e 65 6e 6f 69 73  OBJDIR)/linenois
33f0: 65 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 52 29  e.o:\t\$(SRCDIR)
3400: 2f 6c 69 6e 65 6e 6f 69 73 65 2e 63 20 5c 24 28  /linenoise.c \$(
3410: 53 52 43 44 49 52 29 2f 6c 69 6e 65 6e 6f 69 73  SRCDIR)/linenois
3420: 65 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74  e.h".writeln "\t
3430: 5c 24 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53  \$(XTCC) -c \$(S
3440: 52 43 44 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 65  RCDIR)/linenoise
3450: 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72  .c -o \$@\n"..wr
3460: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52  iteln "\$(OBJDIR
3470: 29 2f 74 68 2e 6f 3a 5c 74 5c 24 28 53 52 43 44  )/th.o:\t\$(SRCD
3480: 49 52 29 2f 74 68 2e 63 22 0a 77 72 69 74 65 6c  IR)/th.c".writel
3490: 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 2d 63  n "\t\$(XTCC) -c
34a0: 20 5c 24 28 53 52 43 44 49 52 29 2f 74 68 2e 63   \$(SRCDIR)/th.c
34b0: 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74   -o \$@\n"..writ
34c0: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/
34d0: 74 68 5f 6c 61 6e 67 2e 6f 3a 5c 74 5c 24 28 53  th_lang.o:\t\$(S
34e0: 52 43 44 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 63  RCDIR)/th_lang.c
34f0: 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28  ".writeln "\t\$(
3500: 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52 43 44  XTCC) -c \$(SRCD
3510: 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 63 20 2d 6f  IR)/th_lang.c -o
3520: 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e   \$@\n"..writeln
3530: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 74 68 5f   "\$(OBJDIR)/th_
3540: 74 63 6c 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49  tcl.o:\t\$(SRCDI
3550: 52 29 2f 74 68 5f 74 63 6c 2e 63 22 0a 77 72 69  R)/th_tcl.c".wri
3560: 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29  teln "\t\$(XTCC)
3570: 20 2d 63 20 5c 24 28 53 52 43 44 49 52 29 2f 74   -c \$(SRCDIR)/t
3580: 68 5f 74 63 6c 2e 63 20 2d 6f 20 5c 24 40 5c 6e  h_tcl.c -o \$@\n
3590: 22 0a 0a 77 72 69 74 65 6c 6e 20 7b 0a 24 28 4f  "..writeln {.$(O
35a0: 42 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e 6f 3a 09  BJDIR)/miniz.o:.
35b0: 24 28 53 52 43 44 49 52 29 2f 6d 69 6e 69 7a 2e  $(SRCDIR)/miniz.
35c0: 63 0a 09 24 28 58 54 43 43 29 20 24 28 4d 49 4e  c..$(XTCC) $(MIN
35d0: 49 5a 5f 4f 50 54 49 4f 4e 53 29 20 2d 63 20 24  IZ_OPTIONS) -c $
35e0: 28 53 52 43 44 49 52 29 2f 6d 69 6e 69 7a 2e 63  (SRCDIR)/miniz.c
35f0: 20 2d 6f 20 24 40 0a 0a 24 28 4f 42 4a 44 49 52   -o $@..$(OBJDIR
3600: 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74  )/cson_amalgamat
3610: 69 6f 6e 2e 6f 3a 20 24 28 53 52 43 44 49 52 29  ion.o: $(SRCDIR)
3620: 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69  /cson_amalgamati
3630: 6f 6e 2e 63 0a 09 24 28 58 54 43 43 29 20 2d 63  on.c..$(XTCC) -c
3640: 20 24 28 53 52 43 44 49 52 29 2f 63 73 6f 6e 5f   $(SRCDIR)/cson_
3650: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 63 20 2d  amalgamation.c -
3660: 6f 20 24 40 0a 0a 23 0a 23 20 54 68 65 20 6c 69  o $@..#.# The li
3670: 73 74 20 6f 66 20 61 6c 6c 20 74 68 65 20 74 61  st of all the ta
3680: 72 67 65 74 73 20 74 68 61 74 20 64 6f 20 6e 6f  rgets that do no
3690: 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20  t correspond to 
36a0: 72 65 61 6c 20 66 69 6c 65 73 2e 20 54 68 69 73  real files. This
36b0: 20 73 74 6f 70 73 0a 23 20 27 6d 61 6b 65 27 20   stops.# 'make' 
36c0: 66 72 6f 6d 20 67 65 74 74 69 6e 67 20 63 6f 6e  from getting con
36d0: 66 75 73 65 64 20 77 68 65 6e 20 73 6f 6d 65 6f  fused when someo
36e0: 6e 65 20 6d 61 6b 65 73 20 61 6e 20 65 72 72 6f  ne makes an erro
36f0: 72 20 69 6e 20 61 20 72 75 6c 65 2e 0a 23 0a 0a  r in a rule..#..
3700: 2e 50 48 4f 4e 59 3a 20 61 6c 6c 20 69 6e 73 74  .PHONY: all inst
3710: 61 6c 6c 20 74 65 73 74 20 63 6c 65 61 6e 0a 7d  all test clean.}
3720: 0a 0a 63 6c 6f 73 65 20 24 6f 75 74 70 75 74 5f  ..close $output_
3730: 66 69 6c 65 0a 23 0a 23 20 45 6e 64 20 6f 66 20  file.#.# End of 
3740: 74 68 65 20 6d 61 69 6e 2e 6d 6b 20 6f 75 74 70  the main.mk outp
3750: 75 74 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ut.#############
3760: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3770: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3780: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3790: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
37a0: 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  #.##############
37b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
37c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
37d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
37e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
37f0: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
3800: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3810: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3820: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3830: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
3840: 23 20 42 65 67 69 6e 20 77 69 6e 2f 4d 61 6b 65  # Begin win/Make
3850: 66 69 6c 65 2e 6d 69 6e 67 77 20 6f 75 74 70 75  file.mingw outpu
3860: 74 0a 23 0a 70 75 74 73 20 22 62 75 69 6c 64 69  t.#.puts "buildi
3870: 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69  ng ../win/Makefi
3880: 6c 65 2e 6d 69 6e 67 77 22 0a 73 65 74 20 6f 75  le.mingw".set ou
3890: 74 70 75 74 5f 66 69 6c 65 20 5b 6f 70 65 6e 20  tput_file [open 
38a0: 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e  ../win/Makefile.
38b0: 6d 69 6e 67 77 20 77 5d 0a 66 63 6f 6e 66 69 67  mingw w].fconfig
38c0: 75 72 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65  ure $output_file
38d0: 20 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69   -translation bi
38e0: 6e 61 72 79 0a 0a 77 72 69 74 65 6c 6e 20 7b 23  nary..writeln {#
38f0: 21 2f 75 73 72 2f 62 69 6e 2f 6d 61 6b 65 0a 23  !/usr/bin/make.#
3900: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
3910: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3920: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3930: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3940: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
3950: 23 20 57 41 52 4e 49 4e 47 3a 20 44 4f 20 4e 4f  # WARNING: DO NO
3960: 54 20 45 44 49 54 2c 20 41 55 54 4f 4d 41 54 49  T EDIT, AUTOMATI
3970: 43 41 4c 4c 59 20 47 45 4e 45 52 41 54 45 44 20  CALLY GENERATED 
3980: 46 49 4c 45 20 28 53 45 45 20 22 73 72 63 2f 6d  FILE (SEE "src/m
3990: 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 29 0a 23 23  akemake.tcl").##
39a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
39b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
39c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
39d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
39e0: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 0a 23  ############.#.#
39f0: 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 61 75   This file is au
3a00: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65  tomatically gene
3a10: 72 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 20  rated.  Instead 
3a20: 6f 66 20 65 64 69 74 69 6e 67 20 74 68 69 73 0a  of editing this.
3a30: 23 20 66 69 6c 65 2c 20 65 64 69 74 20 22 6d 61  # file, edit "ma
3a40: 6b 65 6d 61 6b 65 2e 74 63 6c 22 20 74 68 65 6e  kemake.tcl" then
3a50: 20 72 75 6e 20 22 74 63 6c 73 68 20 6d 61 6b 65   run "tclsh make
3a60: 6d 61 6b 65 2e 74 63 6c 22 0a 23 20 74 6f 20 72  make.tcl".# to r
3a70: 65 67 65 6e 65 72 61 74 65 20 74 68 69 73 20 66  egenerate this f
3a80: 69 6c 65 2e 0a 23 0a 23 20 54 68 69 73 20 69 73  ile..#.# This is
3a90: 20 61 20 6d 61 6b 65 66 69 6c 65 20 66 6f 72 20   a makefile for 
3aa0: 75 73 65 20 6f 6e 20 43 79 67 77 69 6e 2f 44 61  use on Cygwin/Da
3ab0: 72 77 69 6e 2f 46 72 65 65 42 53 44 2f 4c 69 6e  rwin/FreeBSD/Lin
3ac0: 75 78 2f 57 69 6e 64 6f 77 73 20 75 73 69 6e 67  ux/Windows using
3ad0: 0a 23 20 4d 69 6e 47 57 20 6f 72 20 4d 69 6e 47  .# MinGW or MinG
3ae0: 57 2d 77 36 34 2e 0a 23 0a 23 20 53 6f 6d 65 20  W-w64..#.# Some 
3af0: 6f 66 20 74 68 65 20 73 70 65 63 69 61 6c 20 6f  of the special o
3b00: 70 74 69 6f 6e 73 20 77 68 69 63 68 20 63 61 6e  ptions which can
3b10: 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 6d 61   be passed to ma
3b20: 6b 65 0a 23 20 20 20 55 53 45 5f 57 49 4e 44 4f  ke.#   USE_WINDO
3b30: 57 53 3d 31 20 20 20 20 69 66 20 62 75 69 6c 64  WS=1    if build
3b40: 69 6e 67 20 75 6e 64 65 72 20 61 20 77 69 6e 64  ing under a wind
3b50: 6f 77 73 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 6d  ows command prom
3b60: 70 74 0a 23 20 20 20 58 36 34 3d 31 20 20 20 20  pt.#   X64=1    
3b70: 20 20 20 20 20 20 20 20 69 66 20 75 73 69 6e 67          if using
3b80: 20 61 6e 20 75 6e 70 72 65 66 69 78 65 64 20 36   an unprefixed 6
3b90: 34 2d 62 69 74 20 6d 69 6e 67 77 20 63 6f 6d 70  4-bit mingw comp
3ba0: 69 6c 65 72 0a 23 0a 0a 23 23 23 23 20 53 65 6c  iler.#..#### Sel
3bb0: 65 63 74 20 6f 6e 65 20 6f 66 20 4d 69 6e 47 57  ect one of MinGW
3bc0: 2c 20 4d 69 6e 47 57 2d 77 36 34 20 28 33 32 2d  , MinGW-w64 (32-
3bd0: 62 69 74 29 20 6f 72 20 4d 69 6e 47 57 2d 77 36  bit) or MinGW-w6
3be0: 34 20 28 36 34 2d 62 69 74 29 20 63 6f 6d 70 69  4 (64-bit) compi
3bf0: 6c 65 72 73 2e 0a 23 20 20 20 20 42 79 20 64 65  lers..#    By de
3c00: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 61  fault, this is a
3c10: 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 28  n empty string (
3c20: 69 2e 65 2e 20 75 73 65 20 74 68 65 20 6e 61 74  i.e. use the nat
3c30: 69 76 65 20 63 6f 6d 70 69 6c 65 72 29 2e 0a 23  ive compiler)..#
3c40: 0a 50 52 45 46 49 58 20 3d 0a 23 20 50 52 45 46  .PREFIX =.# PREF
3c50: 49 58 20 3d 20 6d 69 6e 67 77 33 32 2d 0a 23 20  IX = mingw32-.# 
3c60: 50 52 45 46 49 58 20 3d 20 69 36 38 36 2d 70 63  PREFIX = i686-pc
3c70: 2d 6d 69 6e 67 77 33 32 2d 0a 23 20 50 52 45 46  -mingw32-.# PREF
3c80: 49 58 20 3d 20 69 36 38 36 2d 77 36 34 2d 6d 69  IX = i686-w64-mi
3c90: 6e 67 77 33 32 2d 0a 23 20 50 52 45 46 49 58 20  ngw32-.# PREFIX 
3ca0: 3d 20 78 38 36 5f 36 34 2d 77 36 34 2d 6d 69 6e  = x86_64-w64-min
3cb0: 67 77 33 32 2d 0a 0a 23 23 23 23 20 54 68 65 20  gw32-..#### The 
3cc0: 74 6f 70 6c 65 76 65 6c 20 64 69 72 65 63 74 6f  toplevel directo
3cd0: 72 79 20 6f 66 20 74 68 65 20 73 6f 75 72 63 65  ry of the source
3ce0: 20 74 72 65 65 2e 20 20 46 6f 73 73 69 6c 20 63   tree.  Fossil c
3cf0: 61 6e 20 62 65 20 62 75 69 6c 74 0a 23 20 20 20  an be built.#   
3d00: 20 69 6e 20 61 20 64 69 72 65 63 74 6f 72 79 20   in a directory 
3d10: 74 68 61 74 20 69 73 20 73 65 70 61 72 61 74 65  that is separate
3d20: 20 66 72 6f 6d 20 74 68 65 20 73 6f 75 72 63 65   from the source
3d30: 20 74 72 65 65 2e 20 20 4a 75 73 74 20 63 68 61   tree.  Just cha
3d40: 6e 67 65 0a 23 20 20 20 20 74 68 65 20 66 6f 6c  nge.#    the fol
3d50: 6c 6f 77 69 6e 67 20 74 6f 20 70 6f 69 6e 74 20  lowing to point 
3d60: 66 72 6f 6d 20 74 68 65 20 62 75 69 6c 64 20 64  from the build d
3d70: 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68 65 20  irectory to the 
3d80: 73 72 63 2f 20 66 6f 6c 64 65 72 2e 0a 23 0a 53  src/ folder..#.S
3d90: 52 43 44 49 52 20 3d 20 73 72 63 0a 0a 23 23 23  RCDIR = src..###
3da0: 23 20 54 68 65 20 64 69 72 65 63 74 6f 72 79 20  # The directory 
3db0: 69 6e 74 6f 20 77 68 69 63 68 20 6f 62 6a 65 63  into which objec
3dc0: 74 20 63 6f 64 65 20 66 69 6c 65 73 20 73 68 6f  t code files sho
3dd0: 75 6c 64 20 62 65 20 77 72 69 74 74 65 6e 2e 0a  uld be written..
3de0: 23 0a 4f 42 4a 44 49 52 20 3d 20 77 62 6c 64 0a  #.OBJDIR = wbld.
3df0: 0a 23 23 23 23 20 43 20 63 6f 6d 70 69 6c 65 72  .#### C compiler
3e00: 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c   for use in buil
3e10: 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73  ding executables
3e20: 20 74 68 61 74 20 77 69 6c 6c 20 72 75 6e 20 6f   that will run o
3e30: 6e 0a 23 20 20 20 20 74 68 65 20 70 6c 61 74 66  n.#    the platf
3e40: 6f 72 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e  orm that is doin
3e50: 67 20 74 68 65 20 62 75 69 6c 64 2e 20 20 54 68  g the build.  Th
3e60: 69 73 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f  is is used to co
3e70: 6d 70 69 6c 65 0a 23 20 20 20 20 63 6f 64 65 2d  mpile.#    code-
3e80: 67 65 6e 65 72 61 74 6f 72 20 70 72 6f 67 72 61  generator progra
3e90: 6d 73 20 61 73 20 70 61 72 74 20 6f 66 20 74 68  ms as part of th
3ea0: 65 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 2e  e build process.
3eb0: 20 20 53 65 65 20 54 43 43 0a 23 20 20 20 20 61    See TCC.#    a
3ec0: 6e 64 20 54 43 43 45 58 45 20 62 65 6c 6f 77 20  nd TCCEXE below 
3ed0: 66 6f 72 20 74 68 65 20 43 20 63 6f 6d 70 69 6c  for the C compil
3ee0: 65 72 20 66 6f 72 20 62 75 69 6c 64 69 6e 67 20  er for building 
3ef0: 74 68 65 20 66 69 6e 69 73 68 65 64 0a 23 20 20  the finished.#  
3f00: 20 20 62 69 6e 61 72 79 2e 0a 23 0a 42 43 43 45    binary..#.BCCE
3f10: 58 45 20 3d 20 67 63 63 0a 0a 23 23 23 23 20 43  XE = gcc..#### C
3f20: 20 43 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   Compiler and op
3f30: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
3f40: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
3f50: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 20 20 20  ables that.#    
3f60: 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20  will run on the 
3f70: 70 6c 61 74 66 6f 72 6d 20 74 68 61 74 20 69 73  platform that is
3f80: 20 64 6f 69 6e 67 20 74 68 65 20 62 75 69 6c 64   doing the build
3f90: 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 64 0a  .  This is used.
3fa0: 23 20 20 20 20 74 6f 20 63 6f 6d 70 69 6c 65 20  #    to compile 
3fb0: 63 6f 64 65 2d 67 65 6e 65 72 61 74 6f 72 20 70  code-generator p
3fc0: 72 6f 67 72 61 6d 73 20 61 73 20 70 61 72 74 20  rograms as part 
3fd0: 6f 66 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f  of the build pro
3fe0: 63 65 73 73 2e 0a 23 20 20 20 20 53 65 65 20 54  cess..#    See T
3ff0: 43 43 20 62 65 6c 6f 77 20 66 6f 72 20 74 68 65  CC below for the
4000: 20 43 20 63 6f 6d 70 69 6c 65 72 20 66 6f 72 20   C compiler for 
4010: 62 75 69 6c 64 69 6e 67 20 74 68 65 20 66 69 6e  building the fin
4020: 69 73 68 65 64 20 62 69 6e 61 72 79 2e 0a 23 0a  ished binary..#.
4030: 42 43 43 20 3d 20 24 28 42 43 43 45 58 45 29 0a  BCC = $(BCCEXE).
4040: 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 63 6f 6d  .#### Enable com
4050: 70 69 6c 69 6e 67 20 77 69 74 68 20 64 65 62 75  piling with debu
4060: 67 20 73 79 6d 62 6f 6c 73 20 28 6d 75 63 68 20  g symbols (much 
4070: 6c 61 72 67 65 72 20 62 69 6e 61 72 79 29 0a 23  larger binary).#
4080: 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  .# FOSSIL_ENABLE
4090: 5f 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 0a 23 23  _SYMBOLS = 1..##
40a0: 23 23 20 45 6e 61 62 6c 65 20 4a 53 4f 4e 20 28  ## Enable JSON (
40b0: 68 74 74 70 3a 2f 2f 77 77 77 2e 6a 73 6f 6e 2e  http://www.json.
40c0: 6f 72 67 29 20 73 75 70 70 6f 72 74 20 75 73 69  org) support usi
40d0: 6e 67 20 22 63 73 6f 6e 22 0a 23 0a 23 20 46 4f  ng "cson".#.# FO
40e0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  SSIL_ENABLE_JSON
40f0: 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e 61 62 6c   = 1..#### Enabl
4100: 65 20 48 54 54 50 53 20 73 75 70 70 6f 72 74 20  e HTTPS support 
4110: 76 69 61 20 4f 70 65 6e 53 53 4c 20 28 6c 69 6e  via OpenSSL (lin
4120: 6b 73 20 74 6f 20 6c 69 62 73 73 6c 20 61 6e 64  ks to libssl and
4130: 20 6c 69 62 63 72 79 70 74 6f 29 0a 23 0a 23 20   libcrypto).#.# 
4140: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53  FOSSIL_ENABLE_SS
4150: 4c 20 3d 20 31 0a 0a 23 23 23 23 20 41 75 74 6f  L = 1..#### Auto
4160: 6d 61 74 69 63 61 6c 6c 79 20 62 75 69 6c 64 20  matically build 
4170: 4f 70 65 6e 53 53 4c 20 77 68 65 6e 20 62 75 69  OpenSSL when bui
4180: 6c 64 69 6e 67 20 46 6f 73 73 69 6c 20 28 63 61  lding Fossil (ca
4190: 75 73 65 73 20 72 65 62 75 69 6c 64 0a 23 20 20  uses rebuild.#  
41a0: 20 20 69 73 73 75 65 73 20 77 68 65 6e 20 62 75    issues when bu
41b0: 69 6c 64 69 6e 67 20 69 6e 63 72 65 6d 65 6e 74  ilding increment
41c0: 61 6c 6c 79 29 2e 0a 23 0a 23 20 46 4f 53 53 49  ally)..#.# FOSSI
41d0: 4c 5f 42 55 49 4c 44 5f 53 53 4c 20 3d 20 31 0a  L_BUILD_SSL = 1.
41e0: 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 72 65 6c  .#### Enable rel
41f0: 61 74 69 76 65 20 70 61 74 68 73 20 69 6e 20 65  ative paths in e
4200: 78 74 65 72 6e 61 6c 20 64 69 66 66 2f 67 64 69  xternal diff/gdi
4210: 66 66 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e  ff.#.# FOSSIL_EN
4220: 41 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41  ABLE_EXEC_REL_PA
4230: 54 48 53 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e  THS = 1..#### En
4240: 61 62 6c 65 20 6c 65 67 61 63 79 20 74 72 65 61  able legacy trea
4250: 74 6d 65 6e 74 20 6f 66 20 6d 76 2f 72 6d 20 28  tment of mv/rm (
4260: 73 6b 69 70 20 63 68 65 63 6b 6f 75 74 20 66 69  skip checkout fi
4270: 6c 65 73 29 0a 23 0a 23 20 46 4f 53 53 49 4c 5f  les).#.# FOSSIL_
4280: 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59 5f 4d 56  ENABLE_LEGACY_MV
4290: 5f 52 4d 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e  _RM = 1..#### En
42a0: 61 62 6c 65 20 54 48 31 20 73 63 72 69 70 74 73  able TH1 scripts
42b0: 20 69 6e 20 65 6d 62 65 64 64 65 64 20 64 6f 63   in embedded doc
42c0: 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73  umentation files
42d0: 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42  .#.# FOSSIL_ENAB
42e0: 4c 45 5f 54 48 31 5f 44 4f 43 53 20 3d 20 31 0a  LE_TH1_DOCS = 1.
42f0: 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 68 6f 6f  .#### Enable hoo
4300: 6b 73 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20  ks for commands 
4310: 61 6e 64 20 77 65 62 20 70 61 67 65 73 20 76 69  and web pages vi
4320: 61 20 54 48 31 0a 23 0a 23 20 46 4f 53 53 49 4c  a TH1.#.# FOSSIL
4330: 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b  _ENABLE_TH1_HOOK
4340: 53 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e 61 62  S = 1..#### Enab
4350: 6c 65 20 73 63 72 69 70 74 69 6e 67 20 73 75 70  le scripting sup
4360: 70 6f 72 74 20 76 69 61 20 54 63 6c 2f 54 6b 0a  port via Tcl/Tk.
4370: 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  #.# FOSSIL_ENABL
4380: 45 5f 54 43 4c 20 3d 20 31 0a 0a 23 23 23 23 20  E_TCL = 1..#### 
4390: 4c 6f 61 64 20 54 63 6c 20 75 73 69 6e 67 20 74  Load Tcl using t
43a0: 68 65 20 73 74 75 62 73 20 6c 69 62 72 61 72 79  he stubs library
43b0: 20 6d 65 63 68 61 6e 69 73 6d 0a 23 0a 23 20 46   mechanism.#.# F
43c0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
43d0: 5f 53 54 55 42 53 20 3d 20 31 0a 0a 23 23 23 23  _STUBS = 1..####
43e0: 20 4c 6f 61 64 20 54 63 6c 20 75 73 69 6e 67 20   Load Tcl using 
43f0: 74 68 65 20 70 72 69 76 61 74 65 20 73 74 75 62  the private stub
4400: 73 20 6d 65 63 68 61 6e 69 73 6d 0a 23 0a 23 20  s mechanism.#.# 
4410: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43  FOSSIL_ENABLE_TC
4420: 4c 5f 50 52 49 56 41 54 45 5f 53 54 55 42 53 20  L_PRIVATE_STUBS 
4430: 3d 20 31 0a 0a 23 23 23 23 20 55 73 65 20 27 73  = 1..#### Use 's
4440: 79 73 74 65 6d 27 20 53 51 4c 69 74 65 0a 23 0a  ystem' SQLite.#.
4450: 23 20 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c  # USE_SYSTEM_SQL
4460: 49 54 45 20 3d 20 31 0a 0a 23 23 23 23 20 55 73  ITE = 1..#### Us
4470: 65 20 74 68 65 20 53 51 4c 69 74 65 20 45 6e 63  e the SQLite Enc
4480: 72 79 70 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f  ryption Extensio
4490: 6e 0a 23 0a 23 20 55 53 45 5f 53 45 45 20 3d 20  n.#.# USE_SEE = 
44a0: 31 0a 0a 23 23 23 23 20 55 73 65 20 74 68 65 20  1..#### Use the 
44b0: 6d 69 6e 69 7a 20 63 6f 6d 70 72 65 73 73 69 6f  miniz compressio
44c0: 6e 20 6c 69 62 72 61 72 79 0a 23 0a 23 20 46 4f  n library.#.# FO
44d0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49  SSIL_ENABLE_MINI
44e0: 5a 20 3d 20 31 0a 0a 23 23 23 23 20 55 73 65 20  Z = 1..#### Use 
44f0: 74 68 65 20 54 63 6c 20 73 6f 75 72 63 65 20 64  the Tcl source d
4500: 69 72 65 63 74 6f 72 79 20 69 6e 73 74 65 61 64  irectory instead
4510: 20 6f 66 20 74 68 65 20 69 6e 73 74 61 6c 6c 20   of the install 
4520: 64 69 72 65 63 74 6f 72 79 3f 0a 23 20 20 20 20  directory?.#    
4530: 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 77  This is useful w
4540: 68 65 6e 20 54 63 6c 20 68 61 73 20 62 65 65 6e  hen Tcl has been
4550: 20 63 6f 6d 70 69 6c 65 64 20 73 74 61 74 69 63   compiled static
4560: 61 6c 6c 79 20 77 69 74 68 20 4d 69 6e 47 57 2e  ally with MinGW.
4570: 0a 23 0a 46 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f  .#.FOSSIL_TCL_SO
4580: 55 52 43 45 20 3d 20 31 0a 0a 23 23 23 23 20 43  URCE = 1..#### C
4590: 68 65 63 6b 20 69 66 20 74 68 65 20 77 6f 72 6b  heck if the work
45a0: 61 72 6f 75 6e 64 20 66 6f 72 20 74 68 65 20 4d  around for the M
45b0: 69 6e 47 57 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e  inGW command lin
45c0: 65 20 68 61 6e 64 6c 69 6e 67 20 6e 65 65 64 73  e handling needs
45d0: 20 74 6f 0a 23 20 20 20 20 62 65 20 65 6e 61 62   to.#    be enab
45e0: 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2e 20  led by default. 
45f0: 20 54 68 69 73 20 63 68 65 63 6b 20 6d 61 79 20   This check may 
4600: 62 65 20 73 6f 6d 65 77 68 61 74 20 66 72 61 67  be somewhat frag
4610: 69 6c 65 20 64 75 65 20 74 6f 20 74 68 65 0a 23  ile due to the.#
4620: 20 20 20 20 75 73 65 20 6f 66 20 22 66 69 6e 64      use of "find
4630: 73 74 72 69 6e 67 22 2e 0a 23 0a 69 66 6e 64 65  string"..#.ifnde
4640: 66 20 4d 49 4e 47 57 5f 49 53 5f 33 32 42 49 54  f MINGW_IS_32BIT
4650: 5f 4f 4e 4c 59 0a 69 66 65 71 20 28 2c 24 28 66  _ONLY.ifeq (,$(f
4660: 69 6e 64 73 74 72 69 6e 67 20 77 36 34 2d 6d 69  indstring w64-mi
4670: 6e 67 77 33 32 2c 24 28 50 52 45 46 49 58 29 29  ngw32,$(PREFIX))
4680: 29 0a 4d 49 4e 47 57 5f 49 53 5f 33 32 42 49 54  ).MINGW_IS_32BIT
4690: 5f 4f 4e 4c 59 20 3d 20 31 0a 65 6e 64 69 66 0a  _ONLY = 1.endif.
46a0: 65 6e 64 69 66 0a 0a 23 23 23 23 20 54 68 65 20  endif..#### The 
46b0: 64 69 72 65 63 74 6f 72 69 65 73 20 77 68 65 72  directories wher
46c0: 65 20 74 68 65 20 7a 6c 69 62 20 69 6e 63 6c 75  e the zlib inclu
46d0: 64 65 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66  de and library f
46e0: 69 6c 65 73 20 61 72 65 20 6c 6f 63 61 74 65 64  iles are located
46f0: 2e 0a 23 0a 5a 49 4e 43 44 49 52 20 3d 20 24 28  ..#.ZINCDIR = $(
4700: 53 52 43 44 49 52 29 2f 2e 2e 2f 63 6f 6d 70 61  SRCDIR)/../compa
4710: 74 2f 7a 6c 69 62 0a 5a 4c 49 42 44 49 52 20 3d  t/zlib.ZLIBDIR =
4720: 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 63 6f   $(SRCDIR)/../co
4730: 6d 70 61 74 2f 7a 6c 69 62 0a 0a 23 23 23 23 20  mpat/zlib..#### 
4740: 4d 61 6b 65 20 61 6e 20 61 74 74 65 6d 70 74 20  Make an attempt 
4750: 74 6f 20 64 65 74 65 63 74 20 69 66 20 46 6f 73  to detect if Fos
4760: 73 69 6c 20 69 73 20 62 65 69 6e 67 20 62 75 69  sil is being bui
4770: 6c 74 20 66 6f 72 20 74 68 65 20 78 36 34 20 70  lt for the x64 p
4780: 72 6f 63 65 73 73 6f 72 0a 23 20 20 20 20 61 72  rocessor.#    ar
4790: 63 68 69 74 65 63 74 75 72 65 2e 20 20 54 68 69  chitecture.  Thi
47a0: 73 20 63 68 65 63 6b 20 6d 61 79 20 62 65 20 73  s check may be s
47b0: 6f 6d 65 77 68 61 74 20 66 72 61 67 69 6c 65 20  omewhat fragile 
47c0: 64 75 65 20 74 6f 20 22 66 69 6e 64 73 74 72 69  due to "findstri
47d0: 6e 67 22 2e 0a 23 0a 69 66 6e 64 65 66 20 58 36  ng"..#.ifndef X6
47e0: 34 0a 69 66 6e 65 71 20 28 2c 24 28 66 69 6e 64  4.ifneq (,$(find
47f0: 73 74 72 69 6e 67 20 78 38 36 5f 36 34 2d 77 36  string x86_64-w6
4800: 34 2d 6d 69 6e 67 77 33 32 2c 24 28 50 52 45 46  4-mingw32,$(PREF
4810: 49 58 29 29 29 0a 58 36 34 20 3d 20 31 0a 65 6e  IX))).X64 = 1.en
4820: 64 69 66 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20  dif.endif..#### 
4830: 44 65 74 65 72 6d 69 6e 65 20 69 66 20 74 68 65  Determine if the
4840: 20 6f 70 74 69 6d 69 7a 65 64 20 61 73 73 65 6d   optimized assem
4850: 62 6c 79 20 72 6f 75 74 69 6e 65 73 20 70 72 6f  bly routines pro
4860: 76 69 64 65 64 20 77 69 74 68 20 7a 6c 69 62 20  vided with zlib 
4870: 73 68 6f 75 6c 64 20 62 65 0a 23 20 20 20 20 75  should be.#    u
4880: 73 65 64 2c 20 74 61 6b 69 6e 67 20 69 6e 74 6f  sed, taking into
4890: 20 61 63 63 6f 75 6e 74 20 77 68 65 74 68 65 72   account whether
48a0: 20 7a 6c 69 62 20 69 73 20 61 63 74 75 61 6c 6c   zlib is actuall
48b0: 79 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 74 68  y enabled and th
48c0: 65 20 74 61 72 67 65 74 0a 23 20 20 20 20 70 72  e target.#    pr
48d0: 6f 63 65 73 73 6f 72 20 61 72 63 68 69 74 65 63  ocessor architec
48e0: 74 75 72 65 2e 0a 23 0a 69 66 6e 64 65 66 20 58  ture..#.ifndef X
48f0: 36 34 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 6d  64.SSLCONFIG = m
4900: 69 6e 67 77 0a 69 66 6e 64 65 66 20 46 4f 53 53  ingw.ifndef FOSS
4910: 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a  IL_ENABLE_MINIZ.
4920: 5a 4c 49 42 43 4f 4e 46 49 47 20 3d 20 4c 4f 43  ZLIBCONFIG = LOC
4930: 3d 22 2d 44 41 53 4d 56 20 2d 44 41 53 4d 49 4e  ="-DASMV -DASMIN
4940: 46 22 20 4f 42 4a 41 3d 22 69 6e 66 66 61 73 38  F" OBJA="inffas8
4950: 36 2e 6f 20 6d 61 74 63 68 2e 6f 22 0a 5a 4c 49  6.o match.o".ZLI
4960: 42 54 41 52 47 45 54 53 20 3d 20 24 28 5a 4c 49  BTARGETS = $(ZLI
4970: 42 44 49 52 29 2f 69 6e 66 66 61 73 38 36 2e 6f  BDIR)/inffas86.o
4980: 20 24 28 5a 4c 49 42 44 49 52 29 2f 6d 61 74 63   $(ZLIBDIR)/matc
4990: 68 2e 6f 0a 65 6c 73 65 0a 5a 4c 49 42 43 4f 4e  h.o.else.ZLIBCON
49a0: 46 49 47 20 3d 0a 5a 4c 49 42 54 41 52 47 45 54  FIG =.ZLIBTARGET
49b0: 53 20 3d 0a 65 6e 64 69 66 0a 65 6c 73 65 0a 53  S =.endif.else.S
49c0: 53 4c 43 4f 4e 46 49 47 20 3d 20 6d 69 6e 67 77  SLCONFIG = mingw
49d0: 36 34 0a 5a 4c 49 42 43 4f 4e 46 49 47 20 3d 0a  64.ZLIBCONFIG =.
49e0: 5a 4c 49 42 54 41 52 47 45 54 53 20 3d 0a 65 6e  ZLIBTARGETS =.en
49f0: 64 69 66 0a 0a 23 23 23 23 20 44 69 73 61 62 6c  dif..#### Disabl
4a00: 65 20 63 72 65 61 74 69 6f 6e 20 6f 66 20 74 68  e creation of th
4a10: 65 20 4f 70 65 6e 53 53 4c 20 73 68 61 72 65 64  e OpenSSL shared
4a20: 20 6c 69 62 72 61 72 69 65 73 2e 20 20 41 6c 73   libraries.  Als
4a30: 6f 2c 20 64 69 73 61 62 6c 65 20 73 75 70 70 6f  o, disable suppo
4a40: 72 74 0a 23 20 20 20 20 66 6f 72 20 62 6f 74 68  rt.#    for both
4a50: 20 53 53 4c 76 32 20 61 6e 64 20 53 53 4c 76 33   SSLv2 and SSLv3
4a60: 20 28 69 2e 65 2e 20 74 68 65 72 65 62 79 20 66   (i.e. thereby f
4a70: 6f 72 63 69 6e 67 20 74 68 65 20 75 73 65 20 6f  orcing the use o
4a80: 66 20 54 4c 53 29 2e 0a 23 0a 53 53 4c 43 4f 4e  f TLS)..#.SSLCON
4a90: 46 49 47 20 2b 3d 20 6e 6f 2d 73 73 6c 32 20 6e  FIG += no-ssl2 n
4aa0: 6f 2d 73 73 6c 33 20 6e 6f 2d 73 68 61 72 65 64  o-ssl3 no-shared
4ab0: 0a 0a 23 23 23 23 20 57 68 65 6e 20 75 73 69 6e  ..#### When usin
4ac0: 67 20 7a 6c 69 62 2c 20 6d 61 6b 65 20 73 75 72  g zlib, make sur
4ad0: 65 20 74 68 61 74 20 4f 70 65 6e 53 53 4c 20 69  e that OpenSSL i
4ae0: 73 20 63 6f 6e 66 69 67 75 72 65 64 20 74 6f 20  s configured to 
4af0: 75 73 65 20 74 68 65 20 7a 6c 69 62 0a 23 20 20  use the zlib.#  
4b00: 20 20 74 68 61 74 20 46 6f 73 73 69 6c 20 6b 6e    that Fossil kn
4b10: 6f 77 73 20 61 62 6f 75 74 20 28 69 2e 65 2e 20  ows about (i.e. 
4b20: 74 68 65 20 6f 6e 65 20 77 69 74 68 69 6e 20 74  the one within t
4b30: 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 29 2e  he source tree).
4b40: 0a 23 0a 69 66 6e 64 65 66 20 46 4f 53 53 49 4c  .#.ifndef FOSSIL
4b50: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a 53 53  _ENABLE_MINIZ.SS
4b60: 4c 43 4f 4e 46 49 47 20 2b 3d 20 20 2d 2d 77 69  LCONFIG +=  --wi
4b70: 74 68 2d 7a 6c 69 62 2d 6c 69 62 3d 24 28 50 57  th-zlib-lib=$(PW
4b80: 44 29 2f 24 28 5a 4c 49 42 44 49 52 29 20 2d 2d  D)/$(ZLIBDIR) --
4b90: 77 69 74 68 2d 7a 6c 69 62 2d 69 6e 63 6c 75 64  with-zlib-includ
4ba0: 65 3d 24 28 50 57 44 29 2f 24 28 5a 4c 49 42 44  e=$(PWD)/$(ZLIBD
4bb0: 49 52 29 20 7a 6c 69 62 0a 65 6e 64 69 66 0a 0a  IR) zlib.endif..
4bc0: 23 23 23 23 20 54 68 65 20 64 69 72 65 63 74 6f  #### The directo
4bd0: 72 69 65 73 20 77 68 65 72 65 20 74 68 65 20 4f  ries where the O
4be0: 70 65 6e 53 53 4c 20 69 6e 63 6c 75 64 65 20 61  penSSL include a
4bf0: 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73  nd library files
4c00: 20 61 72 65 20 6c 6f 63 61 74 65 64 2e 0a 23 20   are located..# 
4c10: 20 20 20 54 68 65 20 72 65 63 6f 6d 6d 65 6e 64     The recommend
4c20: 65 64 20 75 73 61 67 65 20 68 65 72 65 20 69 73  ed usage here is
4c30: 20 74 6f 20 75 73 65 20 74 68 65 20 53 79 73 69   to use the Sysi
4c40: 6e 74 65 72 6e 61 6c 73 20 6a 75 6e 63 74 69 6f  nternals junctio
4c50: 6e 20 74 6f 6f 6c 0a 23 20 20 20 20 74 6f 20 63  n tool.#    to c
4c60: 72 65 61 74 65 20 61 20 68 61 72 64 20 6c 69 6e  reate a hard lin
4c70: 6b 20 62 65 74 77 65 65 6e 20 61 6e 20 22 6f 70  k between an "op
4c80: 65 6e 73 73 6c 2d 31 2e 78 22 20 73 75 62 2d 64  enssl-1.x" sub-d
4c90: 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 0a  irectory of the.
4ca0: 23 20 20 20 20 46 6f 73 73 69 6c 20 73 6f 75 72  #    Fossil sour
4cb0: 63 65 20 63 6f 64 65 20 64 69 72 65 63 74 6f 72  ce code director
4cc0: 79 20 61 6e 64 20 74 68 65 20 74 61 72 67 65 74  y and the target
4cd0: 20 4f 70 65 6e 53 53 4c 20 73 6f 75 72 63 65 20   OpenSSL source 
4ce0: 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 4f 50 45  directory..#.OPE
4cf0: 4e 53 53 4c 44 49 52 20 3d 20 24 28 53 52 43 44  NSSLDIR = $(SRCD
4d00: 49 52 29 2f 2e 2e 2f 63 6f 6d 70 61 74 2f 6f 70  IR)/../compat/op
4d10: 65 6e 73 73 6c 2d 31 2e 30 2e 32 6e 0a 4f 50 45  enssl-1.0.2n.OPE
4d20: 4e 53 53 4c 49 4e 43 44 49 52 20 3d 20 24 28 4f  NSSLINCDIR = $(O
4d30: 50 45 4e 53 53 4c 44 49 52 29 2f 69 6e 63 6c 75  PENSSLDIR)/inclu
4d40: 64 65 0a 4f 50 45 4e 53 53 4c 4c 49 42 44 49 52  de.OPENSSLLIBDIR
4d50: 20 3d 20 24 28 4f 50 45 4e 53 53 4c 44 49 52 29   = $(OPENSSLDIR)
4d60: 0a 0a 23 23 23 23 20 45 69 74 68 65 72 20 74 68  ..#### Either th
4d70: 65 20 64 69 72 65 63 74 6f 72 79 20 77 68 65 72  e directory wher
4d80: 65 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72  e the Tcl librar
4d90: 79 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 6f  y is installed o
4da0: 72 20 74 68 65 20 54 63 6c 0a 23 20 20 20 20 73  r the Tcl.#    s
4db0: 6f 75 72 63 65 20 63 6f 64 65 20 64 69 72 65 63  ource code direc
4dc0: 74 6f 72 79 20 72 65 73 69 64 65 73 20 28 64 65  tory resides (de
4dd0: 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 76  pending on the v
4de0: 61 6c 75 65 20 6f 66 20 74 68 65 20 6d 61 63 72  alue of the macr
4df0: 6f 0a 23 20 20 20 20 46 4f 53 53 49 4c 5f 54 43  o.#    FOSSIL_TC
4e00: 4c 5f 53 4f 55 52 43 45 29 2e 20 20 49 66 20 74  L_SOURCE).  If t
4e10: 68 69 73 20 70 6f 69 6e 74 73 20 74 6f 20 74 68  his points to th
4e20: 65 20 54 63 6c 20 69 6e 73 74 61 6c 6c 20 64 69  e Tcl install di
4e30: 72 65 63 74 6f 72 79 2c 0a 23 20 20 20 20 74 68  rectory,.#    th
4e40: 69 73 20 64 69 72 65 63 74 6f 72 79 20 6d 75 73  is directory mus
4e50: 74 20 68 61 76 65 20 22 69 6e 63 6c 75 64 65 22  t have "include"
4e60: 20 61 6e 64 20 22 6c 69 62 22 20 73 75 62 2d 64   and "lib" sub-d
4e70: 69 72 65 63 74 6f 72 69 65 73 2e 20 20 49 66 0a  irectories.  If.
4e80: 23 20 20 20 20 74 68 69 73 20 70 6f 69 6e 74 73  #    this points
4e90: 20 74 6f 20 74 68 65 20 54 63 6c 20 73 6f 75 72   to the Tcl sour
4ea0: 63 65 20 63 6f 64 65 20 64 69 72 65 63 74 6f 72  ce code director
4eb0: 79 2c 20 74 68 69 73 20 64 69 72 65 63 74 6f 72  y, this director
4ec0: 79 20 6d 75 73 74 0a 23 20 20 20 20 68 61 76 65  y must.#    have
4ed0: 20 22 67 65 6e 65 72 69 63 22 20 61 6e 64 20 22   "generic" and "
4ee0: 77 69 6e 22 20 73 75 62 2d 64 69 72 65 63 74 6f  win" sub-directo
4ef0: 72 69 65 73 2e 20 20 54 68 65 20 72 65 63 6f 6d  ries.  The recom
4f00: 6d 65 6e 64 65 64 20 75 73 61 67 65 0a 23 20 20  mended usage.#  
4f10: 20 20 68 65 72 65 20 69 73 20 74 6f 20 75 73 65    here is to use
4f20: 20 74 68 65 20 53 79 73 69 6e 74 65 72 6e 61 6c   the Sysinternal
4f30: 73 20 6a 75 6e 63 74 69 6f 6e 20 74 6f 6f 6c 20  s junction tool 
4f40: 74 6f 20 63 72 65 61 74 65 20 61 20 68 61 72 64  to create a hard
4f50: 0a 23 20 20 20 20 6c 69 6e 6b 20 62 65 74 77 65  .#    link betwe
4f60: 65 6e 20 61 20 22 74 63 6c 2d 38 2e 78 22 20 73  en a "tcl-8.x" s
4f70: 75 62 2d 64 69 72 65 63 74 6f 72 79 20 6f 66 20  ub-directory of 
4f80: 74 68 65 20 46 6f 73 73 69 6c 20 73 6f 75 72 63  the Fossil sourc
4f90: 65 20 63 6f 64 65 0a 23 20 20 20 20 64 69 72 65  e code.#    dire
4fa0: 63 74 6f 72 79 20 61 6e 64 20 74 68 65 20 74 61  ctory and the ta
4fb0: 72 67 65 74 20 54 63 6c 20 64 69 72 65 63 74 6f  rget Tcl directo
4fc0: 72 79 2e 20 20 54 68 69 73 20 72 65 6d 6f 76 65  ry.  This remove
4fd0: 73 20 74 68 65 20 6e 65 65 64 20 74 6f 0a 23 20  s the need to.# 
4fe0: 20 20 20 68 61 72 64 2d 63 6f 64 65 20 74 68 65     hard-code the
4ff0: 20 6e 65 63 65 73 73 61 72 79 20 70 61 74 68 73   necessary paths
5000: 20 69 6e 20 74 68 69 73 20 4d 61 6b 65 66 69 6c   in this Makefil
5010: 65 2e 0a 23 0a 54 43 4c 44 49 52 20 3d 20 24 28  e..#.TCLDIR = $(
5020: 53 52 43 44 49 52 29 2f 2e 2e 2f 63 6f 6d 70 61  SRCDIR)/../compa
5030: 74 2f 74 63 6c 2d 38 2e 36 0a 0a 23 23 23 23 20  t/tcl-8.6..#### 
5040: 54 68 65 20 54 63 6c 20 73 6f 75 72 63 65 20 63  The Tcl source c
5050: 6f 64 65 20 64 69 72 65 63 74 6f 72 79 2e 20 20  ode directory.  
5060: 54 68 69 73 20 64 65 66 61 75 6c 74 73 20 74 6f  This defaults to
5070: 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20   the same value 
5080: 61 73 0a 23 20 20 20 20 54 43 4c 44 49 52 20 6d  as.#    TCLDIR m
5090: 61 63 72 6f 20 28 61 62 6f 76 65 29 2c 20 77 68  acro (above), wh
50a0: 69 63 68 20 6d 61 79 20 6e 6f 74 20 62 65 20 63  ich may not be c
50b0: 6f 72 72 65 63 74 2e 20 20 54 68 69 73 20 76 61  orrect.  This va
50c0: 6c 75 65 20 77 69 6c 6c 0a 23 20 20 20 20 6f 6e  lue will.#    on
50d0: 6c 79 20 62 65 20 75 73 65 64 20 69 66 20 74 68  ly be used if th
50e0: 65 20 46 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f 55  e FOSSIL_TCL_SOU
50f0: 52 43 45 20 6d 61 63 72 6f 20 69 73 20 64 65 66  RCE macro is def
5100: 69 6e 65 64 2e 0a 23 0a 54 43 4c 53 52 43 44 49  ined..#.TCLSRCDI
5110: 52 20 3d 20 24 28 54 43 4c 44 49 52 29 0a 0a 23  R = $(TCLDIR)..#
5120: 23 23 23 20 54 68 65 20 54 63 6c 20 69 6e 63 6c  ### The Tcl incl
5130: 75 64 65 20 61 6e 64 20 6c 69 62 72 61 72 79 20  ude and library 
5140: 64 69 72 65 63 74 6f 72 69 65 73 2e 20 20 54 68  directories.  Th
5150: 65 73 65 20 76 61 6c 75 65 73 20 77 69 6c 6c 20  ese values will 
5160: 6f 6e 6c 79 20 62 65 0a 23 20 20 20 20 75 73 65  only be.#    use
5170: 64 20 69 66 20 74 68 65 20 46 4f 53 53 49 4c 5f  d if the FOSSIL_
5180: 54 43 4c 5f 53 4f 55 52 43 45 20 6d 61 63 72 6f  TCL_SOURCE macro
5190: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e   is not defined.
51a0: 0a 23 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 24  .#.TCLINCDIR = $
51b0: 28 54 43 4c 44 49 52 29 2f 69 6e 63 6c 75 64 65  (TCLDIR)/include
51c0: 0a 54 43 4c 4c 49 42 44 49 52 20 3d 20 24 28 54  .TCLLIBDIR = $(T
51d0: 43 4c 44 49 52 29 2f 6c 69 62 0a 0a 23 23 23 23  CLDIR)/lib..####
51e0: 20 54 63 6c 3a 20 57 68 69 63 68 20 54 63 6c 20   Tcl: Which Tcl 
51f0: 6c 69 62 72 61 72 79 20 64 6f 20 77 65 20 77 61  library do we wa
5200: 6e 74 20 74 6f 20 75 73 65 20 28 38 2e 34 2c 20  nt to use (8.4, 
5210: 38 2e 35 2c 20 38 2e 36 2c 20 65 74 63 29 3f 0a  8.5, 8.6, etc)?.
5220: 23 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45  #.ifdef FOSSIL_E
5230: 4e 41 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53 0a  NABLE_TCL_STUBS.
5240: 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  ifndef FOSSIL_EN
5250: 41 42 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45  ABLE_TCL_PRIVATE
5260: 5f 53 54 55 42 53 0a 4c 49 42 54 43 4c 20 3d 20  _STUBS.LIBTCL = 
5270: 2d 6c 74 63 6c 73 74 75 62 38 36 0a 65 6e 64 69  -ltclstub86.endi
5280: 66 0a 54 43 4c 54 41 52 47 45 54 20 3d 20 6c 69  f.TCLTARGET = li
5290: 62 74 63 6c 73 74 75 62 38 36 2e 61 0a 65 6c 73  btclstub86.a.els
52a0: 65 0a 4c 49 42 54 43 4c 20 3d 20 2d 6c 74 63 6c  e.LIBTCL = -ltcl
52b0: 38 36 0a 54 43 4c 54 41 52 47 45 54 20 3d 20 62  86.TCLTARGET = b
52c0: 69 6e 61 72 69 65 73 0a 65 6e 64 69 66 0a 0a 23  inaries.endif..#
52d0: 23 23 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 66  ### C compiler f
52e0: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
52f0: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
5300: 68 61 74 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20  hat will run on 
5310: 74 68 65 0a 23 20 20 20 20 74 61 72 67 65 74 20  the.#    target 
5320: 70 6c 61 74 66 6f 72 6d 2e 20 20 54 68 69 73 20  platform.  This 
5330: 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 73  is usually the s
5340: 61 6d 65 20 61 73 20 42 43 43 45 58 45 2c 20 75  ame as BCCEXE, u
5350: 6e 6c 65 73 73 20 79 6f 75 0a 23 20 20 20 20 61  nless you.#    a
5360: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
5370: 6e 67 2e 20 20 54 68 69 73 20 43 20 63 6f 6d 70  ng.  This C comp
5380: 69 6c 65 72 20 62 75 69 6c 64 73 20 74 68 65 20  iler builds the 
5390: 66 69 6e 69 73 68 65 64 20 62 69 6e 61 72 79 0a  finished binary.
53a0: 23 20 20 20 20 66 6f 72 20 66 6f 73 73 69 6c 2e  #    for fossil.
53b0: 20 20 53 65 65 20 42 43 43 20 61 6e 64 20 42 43    See BCC and BC
53c0: 43 45 58 45 20 61 62 6f 76 65 20 66 6f 72 20 74  CEXE above for t
53d0: 68 65 20 43 20 63 6f 6d 70 69 6c 65 72 20 66 6f  he C compiler fo
53e0: 72 0a 23 20 20 20 20 62 75 69 6c 64 69 6e 67 20  r.#    building 
53f0: 69 6e 74 65 72 6d 65 64 69 61 74 65 20 63 6f 64  intermediate cod
5400: 65 2d 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c  e-generator tool
5410: 73 2e 0a 23 0a 54 43 43 45 58 45 20 3d 20 67 63  s..#.TCCEXE = gc
5420: 63 0a 0a 23 23 23 23 20 43 20 63 6f 6d 70 69 6c  c..#### C compil
5430: 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66  er and options f
5440: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
5450: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
5460: 68 61 74 20 77 69 6c 6c 0a 23 20 20 20 20 72 75  hat will.#    ru
5470: 6e 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20  n on the target 
5480: 70 6c 61 74 66 6f 72 6d 2e 20 20 54 68 69 73 20  platform.  This 
5490: 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 61  is usually the a
54a0: 6c 6d 6f 73 74 20 74 68 65 20 73 61 6d 65 0a 23  lmost the same.#
54b0: 20 20 20 20 61 73 20 42 43 43 2c 20 75 6e 6c 65      as BCC, unle
54c0: 73 73 20 79 6f 75 20 61 72 65 20 63 72 6f 73 73  ss you are cross
54d0: 2d 63 6f 6d 70 69 6c 69 6e 67 2e 20 20 54 68 69  -compiling.  Thi
54e0: 73 20 43 20 63 6f 6d 70 69 6c 65 72 20 62 75 69  s C compiler bui
54f0: 6c 64 73 0a 23 20 20 20 20 74 68 65 20 66 69 6e  lds.#    the fin
5500: 69 73 68 65 64 20 62 69 6e 61 72 79 20 66 6f 72  ished binary for
5510: 20 66 6f 73 73 69 6c 2e 20 20 54 68 65 20 42 43   fossil.  The BC
5520: 43 20 63 6f 6d 70 69 6c 65 72 20 61 62 6f 76 65  C compiler above
5530: 20 69 73 20 75 73 65 64 0a 23 20 20 20 20 66 6f   is used.#    fo
5540: 72 20 62 75 69 6c 64 69 6e 67 20 69 6e 74 65 72  r building inter
5550: 6d 65 64 69 61 74 65 20 63 6f 64 65 2d 67 65 6e  mediate code-gen
5560: 65 72 61 74 6f 72 20 74 6f 6f 6c 73 2e 0a 23 0a  erator tools..#.
5570: 54 43 43 20 3d 20 24 28 50 52 45 46 49 58 29 24  TCC = $(PREFIX)$
5580: 28 54 43 43 45 58 45 29 20 2d 57 61 6c 6c 20 2d  (TCCEXE) -Wall -
5590: 57 64 65 63 6c 61 72 61 74 69 6f 6e 2d 61 66 74  Wdeclaration-aft
55a0: 65 72 2d 73 74 61 74 65 6d 65 6e 74 0a 0a 23 23  er-statement..##
55b0: 23 23 20 41 64 64 20 74 68 65 20 6e 65 63 65 73  ## Add the neces
55c0: 73 61 72 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e  sary command lin
55d0: 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 62 75 69  e options to bui
55e0: 6c 64 20 77 69 74 68 20 64 65 62 75 67 67 69 6e  ld with debuggin
55f0: 67 0a 23 20 20 20 20 73 79 6d 62 6f 6c 73 2c 20  g.#    symbols, 
5600: 69 66 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 69 66  if enabled..#.if
5610: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  def FOSSIL_ENABL
5620: 45 5f 53 59 4d 42 4f 4c 53 0a 54 43 43 20 2b 3d  E_SYMBOLS.TCC +=
5630: 20 2d 67 0a 65 6c 73 65 0a 54 43 43 20 2b 3d 20   -g.else.TCC += 
5640: 2d 4f 73 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20  -Os.endif..#### 
5650: 57 68 65 6e 20 6e 6f 74 20 75 73 69 6e 67 20 74  When not using t
5660: 68 65 20 6d 69 6e 69 7a 20 63 6f 6d 70 72 65 73  he miniz compres
5670: 73 69 6f 6e 20 6c 69 62 72 61 72 79 2c 20 7a 6c  sion library, zl
5680: 69 62 20 69 73 20 72 65 71 75 69 72 65 64 2e 0a  ib is required..
5690: 23 0a 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f  #.ifndef FOSSIL_
56a0: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a 54 43 43  ENABLE_MINIZ.TCC
56b0: 20 2b 3d 20 2d 4c 24 28 5a 4c 49 42 44 49 52 29   += -L$(ZLIBDIR)
56c0: 20 2d 49 24 28 5a 49 4e 43 44 49 52 29 0a 65 6e   -I$(ZINCDIR).en
56d0: 64 69 66 0a 0a 23 23 23 23 20 43 6f 6d 70 69 6c  dif..#### Compil
56e0: 65 20 72 65 73 6f 75 72 63 65 73 20 66 6f 72 20  e resources for 
56f0: 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20  use in building 
5700: 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74  executables that
5710: 20 77 69 6c 6c 20 72 75 6e 0a 23 20 20 20 20 6f   will run.#    o
5720: 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61  n the target pla
5730: 74 66 6f 72 6d 2e 0a 23 0a 52 43 43 20 3d 20 24  tform..#.RCC = $
5740: 28 50 52 45 46 49 58 29 77 69 6e 64 72 65 73 20  (PREFIX)windres 
5750: 2d 49 24 28 53 52 43 44 49 52 29 0a 0a 69 66 6e  -I$(SRCDIR)..ifn
5760: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  def FOSSIL_ENABL
5770: 45 5f 4d 49 4e 49 5a 0a 52 43 43 20 2b 3d 20 2d  E_MINIZ.RCC += -
5780: 49 24 28 5a 49 4e 43 44 49 52 29 0a 65 6e 64 69  I$(ZINCDIR).endi
5790: 66 0a 0a 23 20 57 69 74 68 20 48 54 54 50 53 20  f..# With HTTPS 
57a0: 73 75 70 70 6f 72 74 0a 69 66 64 65 66 20 46 4f  support.ifdef FO
57b0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 0a  SSIL_ENABLE_SSL.
57c0: 54 43 43 20 2b 3d 20 2d 4c 24 28 4f 50 45 4e 53  TCC += -L$(OPENS
57d0: 53 4c 4c 49 42 44 49 52 29 20 2d 49 24 28 4f 50  SLLIBDIR) -I$(OP
57e0: 45 4e 53 53 4c 49 4e 43 44 49 52 29 0a 52 43 43  ENSSLINCDIR).RCC
57f0: 20 2b 3d 20 2d 49 24 28 4f 50 45 4e 53 53 4c 49   += -I$(OPENSSLI
5800: 4e 43 44 49 52 29 0a 65 6e 64 69 66 0a 0a 23 20  NCDIR).endif..# 
5810: 57 69 74 68 20 54 63 6c 20 73 75 70 70 6f 72 74  With Tcl support
5820: 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  .ifdef FOSSIL_EN
5830: 41 42 4c 45 5f 54 43 4c 0a 69 66 64 65 66 20 46  ABLE_TCL.ifdef F
5840: 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f 55 52 43 45  OSSIL_TCL_SOURCE
5850: 0a 54 43 43 20 2b 3d 20 2d 4c 24 28 54 43 4c 53  .TCC += -L$(TCLS
5860: 52 43 44 49 52 29 2f 77 69 6e 20 2d 49 24 28 54  RCDIR)/win -I$(T
5870: 43 4c 53 52 43 44 49 52 29 2f 67 65 6e 65 72 69  CLSRCDIR)/generi
5880: 63 20 2d 49 24 28 54 43 4c 53 52 43 44 49 52 29  c -I$(TCLSRCDIR)
5890: 2f 77 69 6e 0a 52 43 43 20 2b 3d 20 2d 49 24 28  /win.RCC += -I$(
58a0: 54 43 4c 53 52 43 44 49 52 29 2f 67 65 6e 65 72  TCLSRCDIR)/gener
58b0: 69 63 20 2d 49 24 28 54 43 4c 53 52 43 44 49 52  ic -I$(TCLSRCDIR
58c0: 29 2f 77 69 6e 0a 65 6c 73 65 0a 54 43 43 20 2b  )/win.else.TCC +
58d0: 3d 20 2d 4c 24 28 54 43 4c 4c 49 42 44 49 52 29  = -L$(TCLLIBDIR)
58e0: 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 0a   -I$(TCLINCDIR).
58f0: 52 43 43 20 2b 3d 20 2d 49 24 28 54 43 4c 49 4e  RCC += -I$(TCLIN
5900: 43 44 49 52 29 0a 65 6e 64 69 66 0a 65 6e 64 69  CDIR).endif.endi
5910: 66 0a 0a 23 20 57 69 74 68 20 6d 69 6e 69 7a 20  f..# With miniz 
5920: 28 69 2e 65 2e 20 69 6e 73 74 65 61 64 20 6f 66  (i.e. instead of
5930: 20 7a 6c 69 62 29 0a 69 66 64 65 66 20 46 4f 53   zlib).ifdef FOS
5940: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a  SIL_ENABLE_MINIZ
5950: 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c  .TCC += -DFOSSIL
5960: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 3d 31 0a  _ENABLE_MINIZ=1.
5970: 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f  RCC += -DFOSSIL_
5980: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 3d 31 0a 65  ENABLE_MINIZ=1.e
5990: 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 4d 69 6e  ndif..# With Min
59a0: 47 57 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20  GW command line 
59b0: 68 61 6e 64 6c 69 6e 67 20 77 6f 72 6b 61 72 6f  handling workaro
59c0: 75 6e 64 0a 69 66 64 65 66 20 4d 49 4e 47 57 5f  und.ifdef MINGW_
59d0: 49 53 5f 33 32 42 49 54 5f 4f 4e 4c 59 0a 54 43  IS_32BIT_ONLY.TC
59e0: 43 20 2b 3d 20 2d 44 42 52 4f 4b 45 4e 5f 4d 49  C += -DBROKEN_MI
59f0: 4e 47 57 5f 43 4d 44 4c 49 4e 45 3d 31 0a 52 43  NGW_CMDLINE=1.RC
5a00: 43 20 2b 3d 20 2d 44 42 52 4f 4b 45 4e 5f 4d 49  C += -DBROKEN_MI
5a10: 4e 47 57 5f 43 4d 44 4c 49 4e 45 3d 31 0a 65 6e  NGW_CMDLINE=1.en
5a20: 64 69 66 0a 0a 23 20 57 69 74 68 20 48 54 54 50  dif..# With HTTP
5a30: 53 20 73 75 70 70 6f 72 74 0a 69 66 64 65 66 20  S support.ifdef 
5a40: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53  FOSSIL_ENABLE_SS
5a50: 4c 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49  L.TCC += -DFOSSI
5a60: 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 52  L_ENABLE_SSL=1.R
5a70: 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45  CC += -DFOSSIL_E
5a80: 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 65 6e 64 69  NABLE_SSL=1.endi
5a90: 66 0a 0a 23 20 57 69 74 68 20 72 65 6c 61 74 69  f..# With relati
5aa0: 76 65 20 70 61 74 68 73 20 69 6e 20 65 78 74 65  ve paths in exte
5ab0: 72 6e 61 6c 20 64 69 66 66 2f 67 64 69 66 66 0a  rnal diff/gdiff.
5ac0: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  ifdef FOSSIL_ENA
5ad0: 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54  BLE_EXEC_REL_PAT
5ae0: 48 53 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53  HS.TCC += -DFOSS
5af0: 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 43 5f 52  IL_ENABLE_EXEC_R
5b00: 45 4c 5f 50 41 54 48 53 3d 31 0a 52 43 43 20 2b  EL_PATHS=1.RCC +
5b10: 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  = -DFOSSIL_ENABL
5b20: 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 48 53  E_EXEC_REL_PATHS
5b30: 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74 68  =1.endif..# With
5b40: 20 6c 65 67 61 63 79 20 74 72 65 61 74 6d 65 6e   legacy treatmen
5b50: 74 20 6f 66 20 6d 76 2f 72 6d 0a 69 66 64 65 66  t of mv/rm.ifdef
5b60: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c   FOSSIL_ENABLE_L
5b70: 45 47 41 43 59 5f 4d 56 5f 52 4d 0a 54 43 43 20  EGACY_MV_RM.TCC 
5b80: 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42  += -DFOSSIL_ENAB
5b90: 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 3d  LE_LEGACY_MV_RM=
5ba0: 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49  1.RCC += -DFOSSI
5bb0: 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59 5f  L_ENABLE_LEGACY_
5bc0: 4d 56 5f 52 4d 3d 31 0a 65 6e 64 69 66 0a 0a 23  MV_RM=1.endif..#
5bd0: 20 57 69 74 68 20 54 48 31 20 65 6d 62 65 64 64   With TH1 embedd
5be0: 65 64 20 64 6f 63 73 20 73 75 70 70 6f 72 74 0a  ed docs support.
5bf0: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  ifdef FOSSIL_ENA
5c00: 42 4c 45 5f 54 48 31 5f 44 4f 43 53 0a 54 43 43  BLE_TH1_DOCS.TCC
5c10: 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41   += -DFOSSIL_ENA
5c20: 42 4c 45 5f 54 48 31 5f 44 4f 43 53 3d 31 0a 52  BLE_TH1_DOCS=1.R
5c30: 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45  CC += -DFOSSIL_E
5c40: 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43 53 3d 31  NABLE_TH1_DOCS=1
5c50: 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 54  .endif..# With T
5c60: 48 31 20 68 6f 6f 6b 20 73 75 70 70 6f 72 74 0a  H1 hook support.
5c70: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  ifdef FOSSIL_ENA
5c80: 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 0a 54 43  BLE_TH1_HOOKS.TC
5c90: 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e  C += -DFOSSIL_EN
5ca0: 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 3d 31  ABLE_TH1_HOOKS=1
5cb0: 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c  .RCC += -DFOSSIL
5cc0: 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b  _ENABLE_TH1_HOOK
5cd0: 53 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74  S=1.endif..# Wit
5ce0: 68 20 54 63 6c 20 73 75 70 70 6f 72 74 0a 69 66  h Tcl support.if
5cf0: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  def FOSSIL_ENABL
5d00: 45 5f 54 43 4c 0a 54 43 43 20 2b 3d 20 2d 44 46  E_TCL.TCC += -DF
5d10: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
5d20: 3d 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53  =1.RCC += -DFOSS
5d30: 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 3d 31 0a  IL_ENABLE_TCL=1.
5d40: 23 20 45 69 74 68 65 72 20 73 74 61 74 69 63 61  # Either statica
5d50: 6c 6c 79 20 6c 69 6e 6b 65 64 20 6f 72 20 76 69  lly linked or vi
5d60: 61 20 73 74 75 62 73 0a 69 66 64 65 66 20 46 4f  a stubs.ifdef FO
5d70: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f  SSIL_ENABLE_TCL_
5d80: 53 54 55 42 53 0a 54 43 43 20 2b 3d 20 2d 44 46  STUBS.TCC += -DF
5d90: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
5da0: 5f 53 54 55 42 53 3d 31 20 2d 44 55 53 45 5f 54  _STUBS=1 -DUSE_T
5db0: 43 4c 5f 53 54 55 42 53 0a 52 43 43 20 2b 3d 20  CL_STUBS.RCC += 
5dc0: 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  -DFOSSIL_ENABLE_
5dd0: 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 55 53  TCL_STUBS=1 -DUS
5de0: 45 5f 54 43 4c 5f 53 54 55 42 53 0a 69 66 64 65  E_TCL_STUBS.ifde
5df0: 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  f FOSSIL_ENABLE_
5e00: 54 43 4c 5f 50 52 49 56 41 54 45 5f 53 54 55 42  TCL_PRIVATE_STUB
5e10: 53 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49  S.TCC += -DFOSSI
5e20: 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 50 52 49  L_ENABLE_TCL_PRI
5e30: 56 41 54 45 5f 53 54 55 42 53 3d 31 0a 52 43 43  VATE_STUBS=1.RCC
5e40: 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41   += -DFOSSIL_ENA
5e50: 42 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45 5f  BLE_TCL_PRIVATE_
5e60: 53 54 55 42 53 3d 31 0a 65 6e 64 69 66 0a 65 6c  STUBS=1.endif.el
5e70: 73 65 0a 54 43 43 20 2b 3d 20 2d 44 53 54 41 54  se.TCC += -DSTAT
5e80: 49 43 5f 42 55 49 4c 44 0a 52 43 43 20 2b 3d 20  IC_BUILD.RCC += 
5e90: 2d 44 53 54 41 54 49 43 5f 42 55 49 4c 44 0a 65  -DSTATIC_BUILD.e
5ea0: 6e 64 69 66 0a 65 6e 64 69 66 0a 0a 23 20 57 69  ndif.endif..# Wi
5eb0: 74 68 20 4a 53 4f 4e 20 73 75 70 70 6f 72 74 0a  th JSON support.
5ec0: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  ifdef FOSSIL_ENA
5ed0: 42 4c 45 5f 4a 53 4f 4e 0a 54 43 43 20 2b 3d 20  BLE_JSON.TCC += 
5ee0: 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  -DFOSSIL_ENABLE_
5ef0: 4a 53 4f 4e 3d 31 0a 52 43 43 20 2b 3d 20 2d 44  JSON=1.RCC += -D
5f00: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53  FOSSIL_ENABLE_JS
5f10: 4f 4e 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69  ON=1.endif..# Wi
5f20: 74 68 20 53 51 4c 69 74 65 20 45 6e 63 72 79 70  th SQLite Encryp
5f30: 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f 6e 20 73  tion Extension s
5f40: 75 70 70 6f 72 74 0a 69 66 64 65 66 20 55 53 45  upport.ifdef USE
5f50: 5f 53 45 45 0a 54 43 43 20 2b 3d 20 2d 44 55 53  _SEE.TCC += -DUS
5f60: 45 5f 53 45 45 3d 31 0a 52 43 43 20 2b 3d 20 2d  E_SEE=1.RCC += -
5f70: 44 55 53 45 5f 53 45 45 3d 31 0a 65 6e 64 69 66  DUSE_SEE=1.endif
5f80: 0a 0a 23 23 23 23 20 54 68 65 20 6f 70 74 69 6f  ..#### The optio
5f90: 6e 20 2d 73 74 61 74 69 63 20 68 61 73 20 6e 6f  n -static has no
5fa0: 20 65 66 66 65 63 74 20 6f 6e 20 4d 69 6e 47 57   effect on MinGW
5fb0: 28 2d 77 36 34 29 2c 20 6f 6e 6c 79 20 64 79 6e  (-w64), only dyn
5fc0: 61 6d 69 63 0a 23 20 20 20 20 65 78 65 63 75 74  amic.#    execut
5fd0: 61 62 6c 65 73 20 63 61 6e 20 62 65 20 62 75 69  ables can be bui
5fe0: 6c 74 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20  lt when linking 
5ff0: 77 69 74 68 20 4d 53 56 43 52 54 2e 20 20 4f 70  with MSVCRT.  Op
6000: 65 6e 53 53 4c 0a 23 20 20 20 20 28 6f 70 74 69  enSSL.#    (opti
6010: 6f 6e 61 6c 29 20 61 6e 64 20 7a 6c 69 62 20 28  onal) and zlib (
6020: 72 65 71 75 69 72 65 64 29 20 68 6f 77 65 76 65  required) howeve
6030: 72 20 61 72 65 20 61 6c 77 61 79 73 20 6c 69 6e  r are always lin
6040: 6b 65 64 20 69 6e 0a 23 20 20 20 20 73 74 61 74  ked in.#    stat
6050: 69 63 61 6c 6c 79 2e 20 20 54 68 65 72 65 66 6f  ically.  Therefo
6060: 72 65 2c 20 74 68 65 20 46 4f 53 53 49 4c 5f 44  re, the FOSSIL_D
6070: 59 4e 41 4d 49 43 5f 42 55 49 4c 44 20 6f 70 74  YNAMIC_BUILD opt
6080: 69 6f 6e 20 64 6f 65 73 0a 23 20 20 20 20 6e 6f  ion does.#    no
6090: 74 20 72 65 61 6c 6c 79 20 61 70 70 6c 79 20 74  t really apply t
60a0: 6f 20 4d 69 6e 47 57 20 28 69 2e 65 2e 20 73 69  o MinGW (i.e. si
60b0: 6e 63 65 20 41 4c 4c 20 65 78 74 65 72 6e 61 6c  nce ALL external
60c0: 20 6c 69 62 72 61 72 69 65 73 0a 23 20 20 20 20   libraries.#    
60d0: 61 72 65 20 4e 4f 54 20 6c 69 6e 6b 65 64 20 64  are NOT linked d
60e0: 79 6e 61 6d 69 63 61 6c 6c 79 29 2e 0a 23 0a 23  ynamically)..#.#
60f0: 20 4c 49 42 20 3d 20 2d 73 74 61 74 69 63 0a 0a   LIB = -static..
6100: 23 23 23 23 20 4d 69 6e 47 57 3a 20 49 66 20 61  #### MinGW: If a
6110: 76 61 69 6c 61 62 6c 65 2c 20 75 73 65 20 74 68  vailable, use th
6120: 65 20 55 6e 69 63 6f 64 65 20 63 61 70 61 62 6c  e Unicode capabl
6130: 65 20 72 75 6e 74 69 6d 65 20 73 74 61 72 74 75  e runtime startu
6140: 70 20 63 6f 64 65 2e 0a 23 0a 69 66 6e 64 65 66  p code..#.ifndef
6150: 20 4d 49 4e 47 57 5f 49 53 5f 33 32 42 49 54 5f   MINGW_IS_32BIT_
6160: 4f 4e 4c 59 0a 4c 49 42 20 2b 3d 20 2d 6d 75 6e  ONLY.LIB += -mun
6170: 69 63 6f 64 65 0a 65 6e 64 69 66 0a 0a 23 23 23  icode.endif..###
6180: 23 20 53 51 4c 69 74 65 3a 20 49 66 20 65 6e 61  # SQLite: If ena
6190: 62 6c 65 64 2c 20 75 73 65 20 74 68 65 20 73 79  bled, use the sy
61a0: 73 74 65 6d 20 53 51 4c 69 74 65 20 6c 69 62 72  stem SQLite libr
61b0: 61 72 79 2e 0a 23 0a 69 66 64 65 66 20 55 53 45  ary..#.ifdef USE
61c0: 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 0a 4c  _SYSTEM_SQLITE.L
61d0: 49 42 20 2b 3d 20 2d 6c 73 71 6c 69 74 65 33 0a  IB += -lsqlite3.
61e0: 65 6e 64 69 66 0a 0a 23 23 23 23 20 4f 70 65 6e  endif..#### Open
61f0: 53 53 4c 3a 20 41 64 64 20 74 68 65 20 6e 65 63  SSL: Add the nec
6200: 65 73 73 61 72 79 20 6c 69 62 72 61 72 69 65 73  essary libraries
6210: 20 72 65 71 75 69 72 65 64 2c 20 69 66 20 65 6e   required, if en
6220: 61 62 6c 65 64 2e 0a 23 0a 69 66 64 65 66 20 46  abled..#.ifdef F
6230: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c  OSSIL_ENABLE_SSL
6240: 0a 4c 49 42 20 2b 3d 20 2d 6c 73 73 6c 20 2d 6c  .LIB += -lssl -l
6250: 63 72 79 70 74 6f 20 2d 6c 67 64 69 33 32 20 2d  crypto -lgdi32 -
6260: 6c 63 72 79 70 74 33 32 0a 65 6e 64 69 66 0a 0a  lcrypt32.endif..
6270: 23 23 23 23 20 54 63 6c 3a 20 41 64 64 20 74 68  #### Tcl: Add th
6280: 65 20 6e 65 63 65 73 73 61 72 79 20 6c 69 62 72  e necessary libr
6290: 61 72 69 65 73 20 72 65 71 75 69 72 65 64 2c 20  aries required, 
62a0: 69 66 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 69 66  if enabled..#.if
62b0: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  def FOSSIL_ENABL
62c0: 45 5f 54 43 4c 0a 4c 49 42 20 2b 3d 20 24 28 4c  E_TCL.LIB += $(L
62d0: 49 42 54 43 4c 29 0a 65 6e 64 69 66 0a 0a 23 23  IBTCL).endif..##
62e0: 23 23 20 45 78 74 72 61 20 61 72 67 75 6d 65 6e  ## Extra argumen
62f0: 74 73 20 66 6f 72 20 6c 69 6e 6b 69 6e 67 20 74  ts for linking t
6300: 68 65 20 66 69 6e 69 73 68 65 64 20 62 69 6e 61  he finished bina
6310: 72 79 2e 20 20 46 6f 73 73 69 6c 20 6e 65 65 64  ry.  Fossil need
6320: 73 0a 23 20 20 20 20 74 6f 20 6c 69 6e 6b 20 61  s.#    to link a
6330: 67 61 69 6e 73 74 20 74 68 65 20 5a 2d 4c 69 62  gainst the Z-Lib
6340: 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 69 62   compression lib
6350: 72 61 72 79 2e 20 20 54 68 65 72 65 20 61 72 65  rary.  There are
6360: 20 6e 6f 0a 23 20 20 20 20 6f 74 68 65 72 20 6d   no.#    other m
6370: 61 6e 64 61 74 6f 72 79 20 64 65 70 65 6e 64 65  andatory depende
6380: 6e 63 69 65 73 2e 0a 23 0a 4c 49 42 20 2b 3d 20  ncies..#.LIB += 
6390: 2d 6c 6d 69 6e 67 77 65 78 0a 0a 23 23 23 23 20  -lmingwex..#### 
63a0: 57 68 65 6e 20 6e 6f 74 20 75 73 69 6e 67 20 74  When not using t
63b0: 68 65 20 6d 69 6e 69 7a 20 63 6f 6d 70 72 65 73  he miniz compres
63c0: 73 69 6f 6e 20 6c 69 62 72 61 72 79 2c 20 7a 6c  sion library, zl
63d0: 69 62 20 69 73 20 72 65 71 75 69 72 65 64 2e 0a  ib is required..
63e0: 23 0a 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f  #.ifndef FOSSIL_
63f0: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a 4c 49 42  ENABLE_MINIZ.LIB
6400: 20 2b 3d 20 2d 6c 7a 0a 65 6e 64 69 66 0a 0a 23   += -lz.endif..#
6410: 23 23 23 20 54 68 65 73 65 20 6c 69 62 72 61 72  ### These librar
6420: 69 65 73 20 4d 55 53 54 20 61 70 70 65 61 72 20  ies MUST appear 
6430: 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65  in the same orde
6440: 72 20 61 73 20 74 68 65 79 20 64 6f 20 66 6f 72  r as they do for
6450: 20 54 63 6c 0a 23 20 20 20 20 6f 72 20 6c 69 6e   Tcl.#    or lin
6460: 6b 69 6e 67 20 77 69 74 68 20 69 74 20 77 69 6c  king with it wil
6470: 6c 20 6e 6f 74 20 77 6f 72 6b 20 28 65 78 61 63  l not work (exac
6480: 74 20 72 65 61 73 6f 6e 20 75 6e 6b 6e 6f 77 6e  t reason unknown
6490: 29 2e 0a 23 0a 69 66 64 65 66 20 46 4f 53 53 49  )..#.ifdef FOSSI
64a0: 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 0a 69 66 64  L_ENABLE_TCL.ifd
64b0: 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  ef FOSSIL_ENABLE
64c0: 5f 54 43 4c 5f 53 54 55 42 53 0a 4c 49 42 20 2b  _TCL_STUBS.LIB +
64d0: 3d 20 2d 6c 6b 65 72 6e 65 6c 33 32 20 2d 6c 77  = -lkernel32 -lw
64e0: 73 32 5f 33 32 0a 65 6c 73 65 0a 4c 49 42 20 2b  s2_32.else.LIB +
64f0: 3d 20 2d 6c 6e 65 74 61 70 69 33 32 20 2d 6c 6b  = -lnetapi32 -lk
6500: 65 72 6e 65 6c 33 32 20 2d 6c 75 73 65 72 33 32  ernel32 -luser32
6510: 20 2d 6c 61 64 76 61 70 69 33 32 20 2d 6c 77 73   -ladvapi32 -lws
6520: 32 5f 33 32 0a 65 6e 64 69 66 0a 65 6c 73 65 0a  2_32.endif.else.
6530: 4c 49 42 20 2b 3d 20 2d 6c 6b 65 72 6e 65 6c 33  LIB += -lkernel3
6540: 32 20 2d 6c 77 73 32 5f 33 32 0a 65 6e 64 69 66  2 -lws2_32.endif
6550: 0a 0a 23 23 23 23 20 54 63 6c 20 73 68 65 6c 6c  ..#### Tcl shell
6560: 20 66 6f 72 20 75 73 65 20 69 6e 20 72 75 6e 6e   for use in runn
6570: 69 6e 67 20 74 68 65 20 66 6f 73 73 69 6c 20 74  ing the fossil t
6580: 65 73 74 20 73 75 69 74 65 2e 20 20 54 68 69 73  est suite.  This
6590: 20 69 73 20 6f 6e 6c 79 0a 23 20 20 20 20 75 73   is only.#    us
65a0: 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 2e 0a  ed for testing..
65b0: 23 0a 54 43 4c 53 48 20 3d 20 74 63 6c 73 68 0a  #.TCLSH = tclsh.
65c0: 0a 23 23 23 23 20 4e 75 6c 6c 73 6f 66 74 20 69  .#### Nullsoft i
65d0: 6e 73 74 61 6c 6c 65 72 20 4d 61 6b 65 4e 53 49  nstaller MakeNSI
65e0: 53 20 6c 6f 63 61 74 69 6f 6e 0a 23 0a 4d 41 4b  S location.#.MAK
65f0: 45 4e 53 49 53 20 3d 20 22 24 28 50 52 4f 47 52  ENSIS = "$(PROGR
6600: 41 4d 46 49 4c 45 53 29 5c 4e 53 49 53 5c 4d 61  AMFILES)\NSIS\Ma
6610: 6b 65 4e 53 49 53 2e 65 78 65 22 0a 0a 23 23 23  keNSIS.exe"..###
6620: 23 20 49 6e 6e 6f 20 53 65 74 75 70 20 65 78 65  # Inno Setup exe
6630: 63 75 74 61 62 6c 65 20 6c 6f 63 61 74 69 6f 6e  cutable location
6640: 0a 23 0a 49 4e 4e 4f 53 45 54 55 50 20 3d 20 22  .#.INNOSETUP = "
6650: 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 29 5c  $(PROGRAMFILES)\
6660: 49 6e 6e 6f 20 53 65 74 75 70 20 35 5c 49 53 43  Inno Setup 5\ISC
6670: 43 2e 65 78 65 22 0a 0a 23 23 23 23 20 49 6e 63  C.exe"..#### Inc
6680: 6c 75 64 65 20 61 20 63 6f 6e 66 69 67 75 72 61  lude a configura
6690: 74 69 6f 6e 20 66 69 6c 65 20 74 68 61 74 20 63  tion file that c
66a0: 61 6e 20 6f 76 65 72 72 69 64 65 20 61 6e 79 20  an override any 
66b0: 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 73 65 74  one of these set
66c0: 74 69 6e 67 73 2e 0a 23 0a 2d 69 6e 63 6c 75 64  tings..#.-includ
66d0: 65 20 63 6f 6e 66 69 67 2e 77 33 32 0a 0a 23 20  e config.w32..# 
66e0: 53 54 4f 50 20 48 45 52 45 0a 23 20 59 6f 75 20  STOP HERE.# You 
66f0: 73 68 6f 75 6c 64 20 6e 6f 74 20 6e 65 65 64 20  should not need 
6700: 74 6f 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69  to change anythi
6710: 6e 67 20 62 65 6c 6f 77 20 74 68 69 73 20 6c 69  ng below this li
6720: 6e 65 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ne.#------------
6730: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
6740: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
6750: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 58 42 43  ------------.XBC
6760: 43 20 3d 20 24 28 42 43 43 29 20 24 28 43 46 4c  C = $(BCC) $(CFL
6770: 41 47 53 29 0a 58 54 43 43 20 3d 20 24 28 54 43  AGS).XTCC = $(TC
6780: 43 29 20 24 28 43 46 4c 41 47 53 29 20 2d 49 2e  C) $(CFLAGS) -I.
6790: 20 2d 49 24 28 53 52 43 44 49 52 29 0a 7d 0a 77   -I$(SRCDIR).}.w
67a0: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
67b0: 65 20 22 53 52 43 20 3d 22 0a 66 6f 72 65 61 63  e "SRC =".foreac
67c0: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
67d0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f   {.  writeln -no
67e0: 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 20  newline " \\\n  
67f0: 5c 24 28 53 52 43 44 49 52 29 2f 24 73 2e 63 22  \$(SRCDIR)/$s.c"
6800: 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a  .}.writeln "\n".
6810: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
6820: 6e 65 20 22 45 58 54 52 41 5f 46 49 4c 45 53 20  ne "EXTRA_FILES 
6830: 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73  =".foreach s [ls
6840: 6f 72 74 20 24 65 78 74 72 61 5f 66 69 6c 65 73  ort $extra_files
6850: 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e  ] {.  writeln -n
6860: 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20  onewline " \\\n 
6870: 20 5c 24 28 53 52 43 44 49 52 29 2f 24 73 22 0a   \$(SRCDIR)/$s".
6880: 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77  }.writeln "\n".w
6890: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
68a0: 65 20 22 54 52 41 4e 53 5f 53 52 43 20 3d 22 0a  e "TRANS_SRC =".
68b0: 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74  foreach s [lsort
68c0: 20 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65   $src] {.  write
68d0: 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20  ln -nonewline " 
68e0: 5c 5c 5c 6e 20 20 5c 24 28 4f 42 4a 44 49 52 29  \\\n  \$(OBJDIR)
68f0: 2f 24 7b 73 7d 5f 2e 63 22 0a 7d 0a 77 72 69 74  /${s}_.c".}.writ
6900: 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e  eln "\n".writeln
6910: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 4f 42 4a   -nonewline "OBJ
6920: 20 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c   =".foreach s [l
6930: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77  sort $src] {.  w
6940: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
6950: 65 20 22 20 5c 5c 5c 6e 20 5c 24 28 4f 42 4a 44  e " \\\n \$(OBJD
6960: 49 52 29 2f 24 73 2e 6f 22 0a 7d 0a 77 72 69 74  IR)/$s.o".}.writ
6970: 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e  eln "\n".writeln
6980: 20 22 41 50 50 4e 41 4d 45 20 20 20 20 3d 20 24   "APPNAME    = $
6990: 7b 6e 61 6d 65 7d 2e 65 78 65 22 0a 77 72 69 74  {name}.exe".writ
69a0: 65 6c 6e 20 22 41 50 50 54 41 52 47 45 54 53 20  eln "APPTARGETS 
69b0: 3d 22 0a 77 72 69 74 65 6c 6e 20 7b 0a 23 23 23  =".writeln {.###
69c0: 23 20 49 66 20 74 68 65 20 55 53 45 5f 57 49 4e  # If the USE_WIN
69d0: 44 4f 57 53 20 76 61 72 69 61 62 6c 65 20 65 78  DOWS variable ex
69e0: 69 73 74 73 2c 20 69 74 20 69 73 20 61 73 73 75  ists, it is assu
69f0: 6d 65 64 20 74 68 61 74 20 77 65 20 61 72 65 20  med that we are 
6a00: 62 75 69 6c 64 69 6e 67 0a 23 20 20 20 20 69 6e  building.#    in
6a10: 73 69 64 65 20 6f 66 20 61 20 57 69 6e 64 6f 77  side of a Window
6a20: 73 2d 73 74 79 6c 65 20 73 68 65 6c 6c 3b 20 6f  s-style shell; o
6a30: 74 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 20  therwise, it is 
6a40: 61 73 73 75 6d 65 64 20 74 68 61 74 20 77 65 20  assumed that we 
6a50: 61 72 65 0a 23 20 20 20 20 62 75 69 6c 64 69 6e  are.#    buildin
6a60: 67 20 69 6e 73 69 64 65 20 6f 66 20 61 20 55 6e  g inside of a Un
6a70: 69 78 2d 73 74 79 6c 65 20 73 68 65 6c 6c 2e 20  ix-style shell. 
6a80: 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 22   Note that the "
6a90: 6d 6f 76 65 22 20 63 6f 6d 6d 61 6e 64 20 69 73  move" command is
6aa0: 0a 23 20 20 20 20 62 72 6f 6b 65 6e 20 77 68 65  .#    broken whe
6ab0: 6e 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  n attempting to 
6ac0: 75 73 65 20 69 74 20 66 72 6f 6d 20 74 68 65 20  use it from the 
6ad0: 57 69 6e 64 6f 77 73 20 73 68 65 6c 6c 20 76 69  Windows shell vi
6ae0: 61 20 4d 69 6e 47 57 20 6d 61 6b 65 0a 23 20 20  a MinGW make.#  
6af0: 20 20 62 65 63 61 75 73 65 20 74 68 65 20 53 48    because the SH
6b00: 45 4c 4c 20 76 61 72 69 61 62 6c 65 20 69 73 20  ELL variable is 
6b10: 6f 6e 6c 79 20 75 73 65 64 20 66 6f 72 20 63 65  only used for ce
6b20: 72 74 61 69 6e 20 63 6f 6d 6d 61 6e 64 73 20 74  rtain commands t
6b30: 68 61 74 20 61 72 65 0a 23 20 20 20 20 72 65 63  hat are.#    rec
6b40: 6f 67 6e 69 7a 65 64 20 69 6e 74 65 72 6e 61 6c  ognized internal
6b50: 6c 79 20 62 79 20 6d 61 6b 65 2e 0a 23 0a 69 66  ly by make..#.if
6b60: 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 53 0a  def USE_WINDOWS.
6b70: 54 52 41 4e 53 4c 41 54 45 20 20 20 3d 20 24 28  TRANSLATE   = $(
6b80: 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44  subst /,\,$(OBJD
6b90: 49 52 29 2f 74 72 61 6e 73 6c 61 74 65 2e 65 78  IR)/translate.ex
6ba0: 65 29 0a 4d 41 4b 45 48 45 41 44 45 52 53 20 3d  e).MAKEHEADERS =
6bb0: 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f   $(subst /,\,$(O
6bc0: 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65  BJDIR)/makeheade
6bd0: 72 73 2e 65 78 65 29 0a 4d 4b 49 4e 44 45 58 20  rs.exe).MKINDEX 
6be0: 20 20 20 20 3d 20 24 28 73 75 62 73 74 20 2f 2c      = $(subst /,
6bf0: 5c 2c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 69 6e  \,$(OBJDIR)/mkin
6c00: 64 65 78 2e 65 78 65 29 0a 4d 4b 42 55 49 4c 54  dex.exe).MKBUILT
6c10: 49 4e 20 20 20 3d 20 24 28 73 75 62 73 74 20 2f  IN   = $(subst /
6c20: 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 62  ,\,$(OBJDIR)/mkb
6c30: 75 69 6c 74 69 6e 2e 65 78 65 29 0a 4d 4b 56 45  uiltin.exe).MKVE
6c40: 52 53 49 4f 4e 20 20 20 3d 20 24 28 73 75 62 73  RSION   = $(subs
6c50: 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 2f  t /,\,$(OBJDIR)/
6c60: 6d 6b 76 65 72 73 69 6f 6e 2e 65 78 65 29 0a 4d  mkversion.exe).M
6c70: 4b 43 53 53 20 20 20 20 20 20 20 3d 20 24 28 73  KCSS       = $(s
6c80: 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49  ubst /,\,$(OBJDI
6c90: 52 29 2f 6d 6b 63 73 73 2e 65 78 65 29 0a 43 4f  R)/mkcss.exe).CO
6ca0: 44 45 43 48 45 43 4b 31 20 20 3d 20 24 28 73 75  DECHECK1  = $(su
6cb0: 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52  bst /,\,$(OBJDIR
6cc0: 29 2f 63 6f 64 65 63 68 65 63 6b 31 2e 65 78 65  )/codecheck1.exe
6cd0: 29 0a 43 41 54 20 20 20 20 20 20 20 20 20 3d 20  ).CAT         = 
6ce0: 74 79 70 65 0a 43 50 20 20 20 20 20 20 20 20 20  type.CP         
6cf0: 20 3d 20 63 6f 70 79 0a 47 52 45 50 20 20 20 20   = copy.GREP    
6d00: 20 20 20 20 3d 20 66 69 6e 64 0a 4d 56 20 20 20      = find.MV   
6d10: 20 20 20 20 20 20 20 3d 20 63 6f 70 79 0a 52 4d         = copy.RM
6d20: 20 20 20 20 20 20 20 20 20 20 3d 20 64 65 6c 20            = del 
6d30: 2f 51 0a 4d 4b 44 49 52 20 20 20 20 20 20 20 3d  /Q.MKDIR       =
6d40: 20 2d 6d 6b 64 69 72 0a 52 4d 44 49 52 20 20 20   -mkdir.RMDIR   
6d50: 20 20 20 20 3d 20 72 6d 64 69 72 20 2f 53 20 2f      = rmdir /S /
6d60: 51 0a 65 6c 73 65 0a 54 52 41 4e 53 4c 41 54 45  Q.else.TRANSLATE
6d70: 20 20 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 74     = $(OBJDIR)/t
6d80: 72 61 6e 73 6c 61 74 65 2e 65 78 65 0a 4d 41 4b  ranslate.exe.MAK
6d90: 45 48 45 41 44 45 52 53 20 3d 20 24 28 4f 42 4a  EHEADERS = $(OBJ
6da0: 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73  DIR)/makeheaders
6db0: 2e 65 78 65 0a 4d 4b 49 4e 44 45 58 20 20 20 20  .exe.MKINDEX    
6dc0: 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 69   = $(OBJDIR)/mki
6dd0: 6e 64 65 78 2e 65 78 65 0a 4d 4b 42 55 49 4c 54  ndex.exe.MKBUILT
6de0: 49 4e 20 20 20 3d 20 24 28 4f 42 4a 44 49 52 29  IN   = $(OBJDIR)
6df0: 2f 6d 6b 62 75 69 6c 74 69 6e 2e 65 78 65 0a 4d  /mkbuiltin.exe.M
6e00: 4b 56 45 52 53 49 4f 4e 20 20 20 3d 20 24 28 4f  KVERSION   = $(O
6e10: 42 4a 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f 6e  BJDIR)/mkversion
6e20: 2e 65 78 65 0a 4d 4b 43 53 53 20 20 20 20 20 20  .exe.MKCSS      
6e30: 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 63   = $(OBJDIR)/mkc
6e40: 73 73 2e 65 78 65 0a 43 4f 44 45 43 48 45 43 4b  ss.exe.CODECHECK
6e50: 31 20 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 63  1  = $(OBJDIR)/c
6e60: 6f 64 65 63 68 65 63 6b 31 2e 65 78 65 0a 43 41  odecheck1.exe.CA
6e70: 54 20 20 20 20 20 20 20 20 20 3d 20 63 61 74 0a  T         = cat.
6e80: 43 50 20 20 20 20 20 20 20 20 20 20 3d 20 63 70  CP          = cp
6e90: 0a 47 52 45 50 20 20 20 20 20 20 20 20 3d 20 67  .GREP        = g
6ea0: 72 65 70 0a 4d 56 20 20 20 20 20 20 20 20 20 20  rep.MV          
6eb0: 3d 20 6d 76 0a 52 4d 20 20 20 20 20 20 20 20 20  = mv.RM         
6ec0: 20 3d 20 72 6d 20 2d 66 0a 4d 4b 44 49 52 20 20   = rm -f.MKDIR  
6ed0: 20 20 20 20 20 3d 20 2d 6d 6b 64 69 72 20 2d 70       = -mkdir -p
6ee0: 0a 52 4d 44 49 52 20 20 20 20 20 20 20 3d 20 72  .RMDIR       = r
6ef0: 6d 20 2d 72 66 0a 65 6e 64 69 66 7d 0a 0a 77 72  m -rf.endif}..wr
6f00: 69 74 65 6c 6e 20 7b 0a 61 6c 6c 3a 09 24 28 4f  iteln {.all:.$(O
6f10: 42 4a 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45  BJDIR) $(APPNAME
6f20: 29 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 66 6f 73  )..$(OBJDIR)/fos
6f30: 73 69 6c 2e 6f 3a 09 24 28 53 52 43 44 49 52 29  sil.o:.$(SRCDIR)
6f40: 2f 2e 2e 2f 77 69 6e 2f 66 6f 73 73 69 6c 2e 72  /../win/fossil.r
6f50: 63 20 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53  c $(OBJDIR)/VERS
6f60: 49 4f 4e 2e 68 20 24 28 4f 42 4a 44 49 52 29 2f  ION.h $(OBJDIR)/
6f70: 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 0a 69 66  default_css.h.if
6f80: 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 53 0a  def USE_WINDOWS.
6f90: 09 24 28 43 41 54 29 20 24 28 73 75 62 73 74 20  .$(CAT) $(subst 
6fa0: 2f 2c 5c 2c 24 28 53 52 43 44 49 52 29 5c 6d 69  /,\,$(SRCDIR)\mi
6fb0: 6e 69 7a 2e 63 29 20 7c 20 24 28 47 52 45 50 29  niz.c) | $(GREP)
6fc0: 20 22 64 65 66 69 6e 65 20 4d 5a 5f 56 45 52 53   "define MZ_VERS
6fd0: 49 4f 4e 22 20 3e 20 24 28 73 75 62 73 74 20 2f  ION" > $(subst /
6fe0: 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 5c 6d 69 6e  ,\,$(OBJDIR)\min
6ff0: 69 7a 76 65 72 2e 68 29 0a 09 24 28 43 50 29 20  izver.h)..$(CP) 
7000: 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 53 52  $(subst /,\,$(SR
7010: 43 44 49 52 29 5c 2e 2e 5c 77 69 6e 5c 66 6f 73  CDIR)\..\win\fos
7020: 73 69 6c 2e 72 63 29 20 24 28 73 75 62 73 74 20  sil.rc) $(subst 
7030: 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 29 0a 09  /,\,$(OBJDIR))..
7040: 24 28 43 50 29 20 24 28 73 75 62 73 74 20 2f 2c  $(CP) $(subst /,
7050: 5c 2c 24 28 53 52 43 44 49 52 29 5c 2e 2e 5c 77  \,$(SRCDIR)\..\w
7060: 69 6e 5c 66 6f 73 73 69 6c 2e 69 63 6f 29 20 24  in\fossil.ico) $
7070: 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a  (subst /,\,$(OBJ
7080: 44 49 52 29 29 0a 09 24 28 43 50 29 20 24 28 73  DIR))..$(CP) $(s
7090: 75 62 73 74 20 2f 2c 5c 2c 24 28 53 52 43 44 49  ubst /,\,$(SRCDI
70a0: 52 29 5c 2e 2e 5c 77 69 6e 5c 66 6f 73 73 69 6c  R)\..\win\fossil
70b0: 2e 65 78 65 2e 6d 61 6e 69 66 65 73 74 29 20 24  .exe.manifest) $
70c0: 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a  (subst /,\,$(OBJ
70d0: 44 49 52 29 29 0a 65 6c 73 65 0a 09 24 28 43 41  DIR)).else..$(CA
70e0: 54 29 20 24 28 53 52 43 44 49 52 29 2f 6d 69 6e  T) $(SRCDIR)/min
70f0: 69 7a 2e 63 20 7c 20 24 28 47 52 45 50 29 20 22  iz.c | $(GREP) "
7100: 64 65 66 69 6e 65 20 4d 5a 5f 56 45 52 53 49 4f  define MZ_VERSIO
7110: 4e 22 20 3e 20 24 28 4f 42 4a 44 49 52 29 2f 6d  N" > $(OBJDIR)/m
7120: 69 6e 69 7a 76 65 72 2e 68 0a 09 24 28 43 50 29  inizver.h..$(CP)
7130: 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 77 69   $(SRCDIR)/../wi
7140: 6e 2f 66 6f 73 73 69 6c 2e 72 63 20 24 28 4f 42  n/fossil.rc $(OB
7150: 4a 44 49 52 29 0a 09 24 28 43 50 29 20 24 28 53  JDIR)..$(CP) $(S
7160: 52 43 44 49 52 29 2f 2e 2e 2f 77 69 6e 2f 66 6f  RCDIR)/../win/fo
7170: 73 73 69 6c 2e 69 63 6f 20 24 28 4f 42 4a 44 49  ssil.ico $(OBJDI
7180: 52 29 0a 09 24 28 43 50 29 20 24 28 53 52 43 44  R)..$(CP) $(SRCD
7190: 49 52 29 2f 2e 2e 2f 77 69 6e 2f 66 6f 73 73 69  IR)/../win/fossi
71a0: 6c 2e 65 78 65 2e 6d 61 6e 69 66 65 73 74 20 24  l.exe.manifest $
71b0: 28 4f 42 4a 44 49 52 29 0a 65 6e 64 69 66 0a 09  (OBJDIR).endif..
71c0: 24 28 52 43 43 29 20 24 28 4f 42 4a 44 49 52 29  $(RCC) $(OBJDIR)
71d0: 2f 66 6f 73 73 69 6c 2e 72 63 20 2d 6f 20 24 28  /fossil.rc -o $(
71e0: 4f 42 4a 44 49 52 29 2f 66 6f 73 73 69 6c 2e 6f  OBJDIR)/fossil.o
71f0: 0a 0a 69 6e 73 74 61 6c 6c 3a 09 24 28 4f 42 4a  ..install:.$(OBJ
7200: 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a  DIR) $(APPNAME).
7210: 69 66 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57  ifdef USE_WINDOW
7220: 53 0a 09 24 28 4d 4b 44 49 52 29 20 24 28 73 75  S..$(MKDIR) $(su
7230: 62 73 74 20 2f 2c 5c 2c 24 28 49 4e 53 54 41 4c  bst /,\,$(INSTAL
7240: 4c 44 49 52 29 29 0a 09 24 28 4d 56 29 20 24 28  LDIR))..$(MV) $(
7250: 73 75 62 73 74 20 2f 2c 5c 2c 24 28 41 50 50 4e  subst /,\,$(APPN
7260: 41 4d 45 29 29 20 24 28 73 75 62 73 74 20 2f 2c  AME)) $(subst /,
7270: 5c 2c 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 29  \,$(INSTALLDIR))
7280: 0a 65 6c 73 65 0a 09 24 28 4d 4b 44 49 52 29 20  .else..$(MKDIR) 
7290: 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 0a 09 24  $(INSTALLDIR)..$
72a0: 28 4d 56 29 20 24 28 41 50 50 4e 41 4d 45 29 20  (MV) $(APPNAME) 
72b0: 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 0a 65 6e  $(INSTALLDIR).en
72c0: 64 69 66 0a 0a 24 28 4f 42 4a 44 49 52 29 3a 0a  dif..$(OBJDIR):.
72d0: 69 66 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57  ifdef USE_WINDOW
72e0: 53 0a 09 24 28 4d 4b 44 49 52 29 20 24 28 73 75  S..$(MKDIR) $(su
72f0: 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52  bst /,\,$(OBJDIR
7300: 29 29 0a 65 6c 73 65 0a 09 24 28 4d 4b 44 49 52  )).else..$(MKDIR
7310: 29 20 24 28 4f 42 4a 44 49 52 29 0a 65 6e 64 69  ) $(OBJDIR).endi
7320: 66 0a 0a 24 28 54 52 41 4e 53 4c 41 54 45 29 3a  f..$(TRANSLATE):
7330: 09 24 28 53 52 43 44 49 52 29 2f 74 72 61 6e 73  .$(SRCDIR)/trans
7340: 6c 61 74 65 2e 63 0a 09 24 28 58 42 43 43 29 20  late.c..$(XBCC) 
7350: 2d 6f 20 24 40 20 24 28 53 52 43 44 49 52 29 2f  -o $@ $(SRCDIR)/
7360: 74 72 61 6e 73 6c 61 74 65 2e 63 0a 0a 24 28 4d  translate.c..$(M
7370: 41 4b 45 48 45 41 44 45 52 53 29 3a 09 24 28 53  AKEHEADERS):.$(S
7380: 52 43 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65  RCDIR)/makeheade
7390: 72 73 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f  rs.c..$(XBCC) -o
73a0: 20 24 40 20 24 28 53 52 43 44 49 52 29 2f 6d 61   $@ $(SRCDIR)/ma
73b0: 6b 65 68 65 61 64 65 72 73 2e 63 0a 0a 24 28 4d  keheaders.c..$(M
73c0: 4b 49 4e 44 45 58 29 3a 09 24 28 53 52 43 44 49  KINDEX):.$(SRCDI
73d0: 52 29 2f 6d 6b 69 6e 64 65 78 2e 63 0a 09 24 28  R)/mkindex.c..$(
73e0: 58 42 43 43 29 20 2d 6f 20 24 40 20 24 28 53 52  XBCC) -o $@ $(SR
73f0: 43 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 63 0a  CDIR)/mkindex.c.
7400: 0a 24 28 4d 4b 42 55 49 4c 54 49 4e 29 3a 09 24  .$(MKBUILTIN):.$
7410: 28 53 52 43 44 49 52 29 2f 6d 6b 62 75 69 6c 74  (SRCDIR)/mkbuilt
7420: 69 6e 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f  in.c..$(XBCC) -o
7430: 20 24 40 20 24 28 53 52 43 44 49 52 29 2f 6d 6b   $@ $(SRCDIR)/mk
7440: 62 75 69 6c 74 69 6e 2e 63 0a 0a 24 28 4d 4b 56  builtin.c..$(MKV
7450: 45 52 53 49 4f 4e 29 3a 20 24 28 53 52 43 44 49  ERSION): $(SRCDI
7460: 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a 09  R)/mkversion.c..
7470: 24 28 58 42 43 43 29 20 2d 6f 20 24 40 20 24 28  $(XBCC) -o $@ $(
7480: 53 52 43 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f  SRCDIR)/mkversio
7490: 6e 2e 63 0a 0a 24 28 4d 4b 43 53 53 29 3a 20 24  n.c..$(MKCSS): $
74a0: 28 53 52 43 44 49 52 29 2f 6d 6b 63 73 73 2e 63  (SRCDIR)/mkcss.c
74b0: 0a 09 24 28 58 42 43 43 29 20 2d 6f 20 24 40 20  ..$(XBCC) -o $@ 
74c0: 24 28 53 52 43 44 49 52 29 2f 6d 6b 63 73 73 2e  $(SRCDIR)/mkcss.
74d0: 63 0a 0a 24 28 43 4f 44 45 43 48 45 43 4b 31 29  c..$(CODECHECK1)
74e0: 3a 09 24 28 53 52 43 44 49 52 29 2f 63 6f 64 65  :.$(SRCDIR)/code
74f0: 63 68 65 63 6b 31 2e 63 0a 09 24 28 58 42 43 43  check1.c..$(XBCC
7500: 29 20 2d 6f 20 24 40 20 24 28 53 52 43 44 49 52  ) -o $@ $(SRCDIR
7510: 29 2f 63 6f 64 65 63 68 65 63 6b 31 2e 63 0a 0a  )/codecheck1.c..
7520: 23 20 57 41 52 4e 49 4e 47 2e 20 44 41 4e 47 45  # WARNING. DANGE
7530: 52 2e 20 52 75 6e 6e 69 6e 67 20 74 68 65 20 74  R. Running the t
7540: 65 73 74 20 73 75 69 74 65 20 6d 6f 64 69 66 69  est suite modifi
7550: 65 73 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72  es the repositor
7560: 79 20 74 68 65 0a 23 20 62 75 69 6c 64 20 69 73  y the.# build is
7570: 20 64 6f 6e 65 20 66 72 6f 6d 2c 20 69 2e 65 2e   done from, i.e.
7580: 20 74 68 65 20 63 68 65 63 6b 6f 75 74 20 62 65   the checkout be
7590: 6c 6f 6e 67 73 20 74 6f 2e 20 44 6f 20 6e 6f 74  longs to. Do not
75a0: 20 73 79 6e 63 2f 70 75 73 68 0a 23 20 74 68 65   sync/push.# the
75b0: 20 72 65 70 6f 73 69 74 6f 72 79 20 61 66 74 65   repository afte
75c0: 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 74 65  r running the te
75d0: 73 74 73 2e 0a 74 65 73 74 3a 09 24 28 4f 42 4a  sts..test:.$(OBJ
75e0: 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a  DIR) $(APPNAME).
75f0: 09 24 28 54 43 4c 53 48 29 20 24 28 53 52 43 44  .$(TCLSH) $(SRCD
7600: 49 52 29 2f 2e 2e 2f 74 65 73 74 2f 74 65 73 74  IR)/../test/test
7610: 65 72 2e 74 63 6c 20 24 28 41 50 50 4e 41 4d 45  er.tcl $(APPNAME
7620: 29 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 56 45 52  )..$(OBJDIR)/VER
7630: 53 49 4f 4e 2e 68 3a 09 24 28 53 52 43 44 49 52  SION.h:.$(SRCDIR
7640: 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 2e 75 75  )/../manifest.uu
7650: 69 64 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f  id $(SRCDIR)/../
7660: 6d 61 6e 69 66 65 73 74 20 24 28 4d 4b 56 45 52  manifest $(MKVER
7670: 53 49 4f 4e 29 0a 09 24 28 4d 4b 56 45 52 53 49  SION)..$(MKVERSI
7680: 4f 4e 29 20 24 28 53 52 43 44 49 52 29 2f 2e 2e  ON) $(SRCDIR)/..
7690: 2f 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24  /manifest.uuid $
76a0: 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69  (SRCDIR)/../mani
76b0: 66 65 73 74 20 24 28 53 52 43 44 49 52 29 2f 2e  fest $(SRCDIR)/.
76c0: 2e 2f 56 45 52 53 49 4f 4e 20 3e 24 40 0a 0a 24  ./VERSION >$@..$
76d0: 28 4f 42 4a 44 49 52 29 2f 64 65 66 61 75 6c 74  (OBJDIR)/default
76e0: 5f 63 73 73 2e 68 3a 09 24 28 53 52 43 44 49 52  _css.h:.$(SRCDIR
76f0: 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78  )/default_css.tx
7700: 74 20 24 28 4d 4b 43 53 53 29 0a 09 24 28 4d 4b  t $(MKCSS)..$(MK
7710: 43 53 53 29 20 24 28 53 52 43 44 49 52 29 2f 64  CSS) $(SRCDIR)/d
7720: 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 74 20 24  efault_css.txt $
7730: 40 0a 0a 23 20 54 68 65 20 55 53 45 5f 53 59 53  @..# The USE_SYS
7740: 54 45 4d 5f 53 51 4c 49 54 45 20 76 61 72 69 61  TEM_SQLITE varia
7750: 62 6c 65 20 6d 61 79 20 62 65 20 75 6e 64 65 66  ble may be undef
7760: 69 6e 65 64 2c 20 73 65 74 20 74 6f 20 30 2c 20  ined, set to 0, 
7770: 6f 72 20 73 65 74 0a 23 20 74 6f 20 31 2e 20 49  or set.# to 1. I
7780: 66 20 69 74 20 69 73 20 73 65 74 20 74 6f 20 31  f it is set to 1
7790: 2c 20 74 68 65 6e 20 74 68 65 72 65 20 69 73 20  , then there is 
77a0: 6e 6f 20 6e 65 65 64 20 74 6f 20 62 75 69 6c 64  no need to build
77b0: 20 6f 72 20 6c 69 6e 6b 0a 23 20 74 68 65 20 73   or link.# the s
77c0: 71 6c 69 74 65 33 2e 6f 20 6f 62 6a 65 63 74 2e  qlite3.o object.
77d0: 20 49 6e 73 74 65 61 64 2c 20 74 68 65 20 73 79   Instead, the sy
77e0: 73 74 65 6d 20 53 51 4c 69 74 65 20 77 69 6c 6c  stem SQLite will
77f0: 20 62 65 20 6c 69 6e 6b 65 64 0a 23 20 75 73 69   be linked.# usi
7800: 6e 67 20 2d 6c 73 71 6c 69 74 65 33 2e 0a 53 51  ng -lsqlite3..SQ
7810: 4c 49 54 45 33 5f 4f 42 4a 2e 30 20 3d 20 24 28  LITE3_OBJ.0 = $(
7820: 4f 42 4a 44 49 52 29 2f 73 71 6c 69 74 65 33 2e  OBJDIR)/sqlite3.
7830: 6f 0a 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 31 20  o.SQLITE3_OBJ.1 
7840: 3d 0a 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 20 20  =.SQLITE3_OBJ.  
7850: 3d 20 24 28 53 51 4c 49 54 45 33 5f 4f 42 4a 2e  = $(SQLITE3_OBJ.
7860: 30 29 0a 0a 23 20 54 68 65 20 46 4f 53 53 49 4c  0)..# The FOSSIL
7870: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 20 76 61  _ENABLE_MINIZ va
7880: 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 75 6e  riable may be un
7890: 64 65 66 69 6e 65 64 2c 20 73 65 74 20 74 6f 20  defined, set to 
78a0: 30 2c 20 6f 72 0a 23 20 73 65 74 20 74 6f 20 31  0, or.# set to 1
78b0: 2e 20 20 49 66 20 69 74 20 69 73 20 73 65 74 20  .  If it is set 
78c0: 74 6f 20 31 2c 20 74 68 65 20 6d 69 6e 69 7a 20  to 1, the miniz 
78d0: 6c 69 62 72 61 72 79 20 69 6e 63 6c 75 64 65 64  library included
78e0: 20 69 6e 20 74 68 65 0a 23 20 73 6f 75 72 63 65   in the.# source
78f0: 20 74 72 65 65 20 73 68 6f 75 6c 64 20 62 65 20   tree should be 
7900: 75 73 65 64 3b 20 6f 74 68 65 72 77 69 73 65 2c  used; otherwise,
7910: 20 69 74 20 73 68 6f 75 6c 64 20 6e 6f 74 2e 0a   it should not..
7920: 4d 49 4e 49 5a 5f 4f 42 4a 2e 30 20 3d 0a 4d 49  MINIZ_OBJ.0 =.MI
7930: 4e 49 5a 5f 4f 42 4a 2e 31 20 3d 20 24 28 4f 42  NIZ_OBJ.1 = $(OB
7940: 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e 6f 0a 4d 49  JDIR)/miniz.o.MI
7950: 4e 49 5a 5f 4f 42 4a 2e 20 20 3d 20 24 28 4d 49  NIZ_OBJ.  = $(MI
7960: 4e 49 5a 5f 4f 42 4a 2e 30 29 0a 0a 23 20 54 68  NIZ_OBJ.0)..# Th
7970: 65 20 55 53 45 5f 53 45 45 20 76 61 72 69 61 62  e USE_SEE variab
7980: 6c 65 20 6d 61 79 20 62 65 20 75 6e 64 65 66 69  le may be undefi
7990: 6e 65 64 2c 20 30 20 6f 72 20 31 2e 20 20 49 66  ned, 0 or 1.  If
79a0: 20 75 6e 64 65 66 69 6e 65 64 20 6f 72 0a 23 20   undefined or.# 
79b0: 30 2c 20 6f 72 64 69 6e 61 72 79 20 53 51 4c 69  0, ordinary SQLi
79c0: 74 65 20 69 73 20 75 73 65 64 2e 20 20 49 66 20  te is used.  If 
79d0: 31 2c 20 74 68 65 6e 20 73 71 6c 69 74 65 33 2d  1, then sqlite3-
79e0: 73 65 65 2e 63 20 28 6e 6f 74 20 70 61 72 74 20  see.c (not part 
79f0: 6f 66 0a 23 20 74 68 65 20 73 6f 75 72 63 65 20  of.# the source 
7a00: 74 72 65 65 29 20 69 73 20 75 73 65 64 20 61 6e  tree) is used an
7a10: 64 20 65 78 74 72 61 20 66 6c 61 67 73 20 61 72  d extra flags ar
7a20: 65 20 70 72 6f 76 69 64 65 64 20 74 6f 20 65 6e  e provided to en
7a30: 61 62 6c 65 0a 23 20 74 68 65 20 53 51 4c 69 74  able.# the SQLit
7a40: 65 20 45 6e 63 72 79 70 74 69 6f 6e 20 45 78 74  e Encryption Ext
7a50: 65 6e 73 69 6f 6e 2e 0a 53 51 4c 49 54 45 33 5f  ension..SQLITE3_
7a60: 53 52 43 2e 30 20 3d 20 73 71 6c 69 74 65 33 2e  SRC.0 = sqlite3.
7a70: 63 0a 53 51 4c 49 54 45 33 5f 53 52 43 2e 31 20  c.SQLITE3_SRC.1 
7a80: 3d 20 73 71 6c 69 74 65 33 2d 73 65 65 2e 63 0a  = sqlite3-see.c.
7a90: 53 51 4c 49 54 45 33 5f 53 52 43 2e 20 3d 20 73  SQLITE3_SRC. = s
7aa0: 71 6c 69 74 65 33 2e 63 0a 53 51 4c 49 54 45 33  qlite3.c.SQLITE3
7ab0: 5f 53 52 43 20 3d 20 24 28 53 52 43 44 49 52 29  _SRC = $(SRCDIR)
7ac0: 2f 24 28 53 51 4c 49 54 45 33 5f 53 52 43 2e 24  /$(SQLITE3_SRC.$
7ad0: 28 55 53 45 5f 53 45 45 29 29 0a 53 51 4c 49 54  (USE_SEE)).SQLIT
7ae0: 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e 30 20 3d  E3_SHELL_SRC.0 =
7af0: 20 73 68 65 6c 6c 2e 63 0a 53 51 4c 49 54 45 33   shell.c.SQLITE3
7b00: 5f 53 48 45 4c 4c 5f 53 52 43 2e 31 20 3d 20 73  _SHELL_SRC.1 = s
7b10: 68 65 6c 6c 2d 73 65 65 2e 63 0a 53 51 4c 49 54  hell-see.c.SQLIT
7b20: 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e 20 3d 20  E3_SHELL_SRC. = 
7b30: 73 68 65 6c 6c 2e 63 0a 53 51 4c 49 54 45 33 5f  shell.c.SQLITE3_
7b40: 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 52  SHELL_SRC = $(SR
7b50: 43 44 49 52 29 2f 24 28 53 51 4c 49 54 45 33 5f  CDIR)/$(SQLITE3_
7b60: 53 48 45 4c 4c 5f 53 52 43 2e 24 28 55 53 45 5f  SHELL_SRC.$(USE_
7b70: 53 45 45 29 29 0a 53 45 45 5f 46 4c 41 47 53 2e  SEE)).SEE_FLAGS.
7b80: 30 20 3d 0a 53 45 45 5f 46 4c 41 47 53 2e 31 20  0 =.SEE_FLAGS.1 
7b90: 3d 20 2d 44 53 51 4c 49 54 45 5f 48 41 53 5f 43  = -DSQLITE_HAS_C
7ba0: 4f 44 45 43 20 2d 44 53 51 4c 49 54 45 5f 53 48  ODEC -DSQLITE_SH
7bb0: 45 4c 4c 5f 44 42 4b 45 59 5f 50 52 4f 43 3d 66  ELL_DBKEY_PROC=f
7bc0: 6f 73 73 69 6c 5f 6b 65 79 0a 53 45 45 5f 46 4c  ossil_key.SEE_FL
7bd0: 41 47 53 2e 20 3d 0a 53 45 45 5f 46 4c 41 47 53  AGS. =.SEE_FLAGS
7be0: 20 3d 20 24 28 53 45 45 5f 46 4c 41 47 53 2e 24   = $(SEE_FLAGS.$
7bf0: 28 55 53 45 5f 53 45 45 29 29 0a 7d 0a 0a 77 72  (USE_SEE)).}..wr
7c00: 69 74 65 6c 6e 20 5b 73 74 72 69 6e 67 20 6d 61  iteln [string ma
7c10: 70 20 5b 6c 69 73 74 20 3c 3c 3c 4e 45 58 54 5f  p [list <<<NEXT_
7c20: 4c 49 4e 45 3e 3e 3e 20 5c 5c 5d 20 7b 0a 45 58  LINE>>> \\] {.EX
7c30: 54 52 41 4f 42 4a 20 3d 20 3c 3c 3c 4e 45 58 54  TRAOBJ = <<<NEXT
7c40: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 53 51 4c 49  _LINE>>>. $(SQLI
7c50: 54 45 33 5f 4f 42 4a 2e 24 28 55 53 45 5f 53 59  TE3_OBJ.$(USE_SY
7c60: 53 54 45 4d 5f 53 51 4c 49 54 45 29 29 20 3c 3c  STEM_SQLITE)) <<
7c70: 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24  <NEXT_LINE>>>. $
7c80: 28 4d 49 4e 49 5a 5f 4f 42 4a 2e 24 28 46 4f 53  (MINIZ_OBJ.$(FOS
7c90: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a  SIL_ENABLE_MINIZ
7ca0: 29 29 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e  )) <<<NEXT_LINE>
7cb0: 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 73 68  >>. $(OBJDIR)/sh
7cc0: 65 6c 6c 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49  ell.o <<<NEXT_LI
7cd0: 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29  NE>>>. $(OBJDIR)
7ce0: 2f 74 68 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49  /th.o <<<NEXT_LI
7cf0: 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29  NE>>>. $(OBJDIR)
7d00: 2f 74 68 5f 6c 61 6e 67 2e 6f 20 3c 3c 3c 4e 45  /th_lang.o <<<NE
7d10: 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42  XT_LINE>>>. $(OB
7d20: 4a 44 49 52 29 2f 74 68 5f 74 63 6c 2e 6f 20 3c  JDIR)/th_tcl.o <
7d30: 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20  <<NEXT_LINE>>>. 
7d40: 24 28 4f 42 4a 44 49 52 29 2f 63 73 6f 6e 5f 61  $(OBJDIR)/cson_a
7d50: 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 6f 0a 7d 5d  malgamation.o.}]
7d60: 0a 0a 77 72 69 74 65 6c 6e 20 7b 0a 24 28 5a 4c  ..writeln {.$(ZL
7d70: 49 42 44 49 52 29 2f 69 6e 66 66 61 73 38 36 2e  IBDIR)/inffas86.
7d80: 6f 3a 0a 09 24 28 54 43 43 29 20 2d 63 20 2d 6f  o:..$(TCC) -c -o
7d90: 20 24 40 20 2d 44 41 53 4d 49 4e 46 20 2d 49 24   $@ -DASMINF -I$
7da0: 28 5a 4c 49 42 44 49 52 29 20 2d 4f 33 20 24 28  (ZLIBDIR) -O3 $(
7db0: 5a 4c 49 42 44 49 52 29 2f 63 6f 6e 74 72 69 62  ZLIBDIR)/contrib
7dc0: 2f 69 6e 66 6c 61 74 65 38 36 2f 69 6e 66 66 61  /inflate86/inffa
7dd0: 73 38 36 2e 63 0a 0a 24 28 5a 4c 49 42 44 49 52  s86.c..$(ZLIBDIR
7de0: 29 2f 6d 61 74 63 68 2e 6f 3a 0a 09 24 28 54 43  )/match.o:..$(TC
7df0: 43 29 20 2d 63 20 2d 6f 20 24 40 20 2d 44 41 53  C) -c -o $@ -DAS
7e00: 4d 56 20 24 28 5a 4c 49 42 44 49 52 29 2f 63 6f  MV $(ZLIBDIR)/co
7e10: 6e 74 72 69 62 2f 61 73 6d 36 38 36 2f 6d 61 74  ntrib/asm686/mat
7e20: 63 68 2e 53 0a 0a 7a 6c 69 62 3a 09 24 28 5a 4c  ch.S..zlib:.$(ZL
7e30: 49 42 54 41 52 47 45 54 53 29 0a 09 24 28 4d 41  IBTARGETS)..$(MA
7e40: 4b 45 29 20 2d 43 20 24 28 5a 4c 49 42 44 49 52  KE) -C $(ZLIBDIR
7e50: 29 20 50 52 45 46 49 58 3d 24 28 50 52 45 46 49  ) PREFIX=$(PREFI
7e60: 58 29 20 43 43 3d 24 28 50 52 45 46 49 58 29 24  X) CC=$(PREFIX)$
7e70: 28 54 43 43 45 58 45 29 20 24 28 5a 4c 49 42 43  (TCCEXE) $(ZLIBC
7e80: 4f 4e 46 49 47 29 20 2d 66 20 77 69 6e 33 32 2f  ONFIG) -f win32/
7e90: 4d 61 6b 65 66 69 6c 65 2e 67 63 63 20 6c 69 62  Makefile.gcc lib
7ea0: 7a 2e 61 0a 0a 63 6c 65 61 6e 2d 7a 6c 69 62 3a  z.a..clean-zlib:
7eb0: 0a 09 24 28 4d 41 4b 45 29 20 2d 43 20 24 28 5a  ..$(MAKE) -C $(Z
7ec0: 4c 49 42 44 49 52 29 20 50 52 45 46 49 58 3d 24  LIBDIR) PREFIX=$
7ed0: 28 50 52 45 46 49 58 29 20 43 43 3d 24 28 50 52  (PREFIX) CC=$(PR
7ee0: 45 46 49 58 29 24 28 54 43 43 45 58 45 29 20 2d  EFIX)$(TCCEXE) -
7ef0: 66 20 77 69 6e 33 32 2f 4d 61 6b 65 66 69 6c 65  f win32/Makefile
7f00: 2e 67 63 63 20 63 6c 65 61 6e 0a 0a 69 66 64 65  .gcc clean..ifde
7f10: 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  f FOSSIL_ENABLE_
7f20: 4d 49 4e 49 5a 0a 42 4c 44 54 41 52 47 45 54 53  MINIZ.BLDTARGETS
7f30: 20 3d 0a 65 6c 73 65 0a 42 4c 44 54 41 52 47 45   =.else.BLDTARGE
7f40: 54 53 20 3d 20 7a 6c 69 62 0a 65 6e 64 69 66 0a  TS = zlib.endif.
7f50: 0a 6f 70 65 6e 73 73 6c 3a 09 24 28 42 4c 44 54  .openssl:.$(BLDT
7f60: 41 52 47 45 54 53 29 0a 09 63 64 20 24 28 4f 50  ARGETS)..cd $(OP
7f70: 45 4e 53 53 4c 4c 49 42 44 49 52 29 3b 2e 2f 43  ENSSLLIBDIR);./C
7f80: 6f 6e 66 69 67 75 72 65 20 2d 2d 63 72 6f 73 73  onfigure --cross
7f90: 2d 63 6f 6d 70 69 6c 65 2d 70 72 65 66 69 78 3d  -compile-prefix=
7fa0: 24 28 50 52 45 46 49 58 29 20 24 28 53 53 4c 43  $(PREFIX) $(SSLC
7fb0: 4f 4e 46 49 47 29 0a 09 24 28 4d 41 4b 45 29 20  ONFIG)..$(MAKE) 
7fc0: 2d 43 20 24 28 4f 50 45 4e 53 53 4c 4c 49 42 44  -C $(OPENSSLLIBD
7fd0: 49 52 29 20 50 52 45 46 49 58 3d 24 28 50 52 45  IR) PREFIX=$(PRE
7fe0: 46 49 58 29 20 43 43 3d 24 28 50 52 45 46 49 58  FIX) CC=$(PREFIX
7ff0: 29 24 28 54 43 43 45 58 45 29 20 62 75 69 6c 64  )$(TCCEXE) build
8000: 5f 6c 69 62 73 0a 0a 63 6c 65 61 6e 2d 6f 70 65  _libs..clean-ope
8010: 6e 73 73 6c 3a 0a 09 24 28 4d 41 4b 45 29 20 2d  nssl:..$(MAKE) -
8020: 43 20 24 28 4f 50 45 4e 53 53 4c 4c 49 42 44 49  C $(OPENSSLLIBDI
8030: 52 29 20 50 52 45 46 49 58 3d 24 28 50 52 45 46  R) PREFIX=$(PREF
8040: 49 58 29 20 43 43 3d 24 28 50 52 45 46 49 58 29  IX) CC=$(PREFIX)
8050: 24 28 54 43 43 45 58 45 29 20 63 6c 65 61 6e 0a  $(TCCEXE) clean.
8060: 0a 74 63 6c 3a 0a 09 63 64 20 24 28 54 43 4c 53  .tcl:..cd $(TCLS
8070: 52 43 44 49 52 29 2f 77 69 6e 3b 2e 2f 63 6f 6e  RCDIR)/win;./con
8080: 66 69 67 75 72 65 0a 09 24 28 4d 41 4b 45 29 20  figure..$(MAKE) 
8090: 2d 43 20 24 28 54 43 4c 53 52 43 44 49 52 29 2f  -C $(TCLSRCDIR)/
80a0: 77 69 6e 20 50 52 45 46 49 58 3d 24 28 50 52 45  win PREFIX=$(PRE
80b0: 46 49 58 29 20 43 43 3d 24 28 50 52 45 46 49 58  FIX) CC=$(PREFIX
80c0: 29 24 28 54 43 43 45 58 45 29 20 24 28 54 43 4c  )$(TCCEXE) $(TCL
80d0: 54 41 52 47 45 54 29 0a 0a 63 6c 65 61 6e 2d 74  TARGET)..clean-t
80e0: 63 6c 3a 0a 09 24 28 4d 41 4b 45 29 20 2d 43 20  cl:..$(MAKE) -C 
80f0: 24 28 54 43 4c 53 52 43 44 49 52 29 2f 77 69 6e  $(TCLSRCDIR)/win
8100: 20 50 52 45 46 49 58 3d 24 28 50 52 45 46 49 58   PREFIX=$(PREFIX
8110: 29 20 43 43 3d 24 28 50 52 45 46 49 58 29 24 28  ) CC=$(PREFIX)$(
8120: 54 43 43 45 58 45 29 20 64 69 73 74 63 6c 65 61  TCCEXE) distclea
8130: 6e 0a 0a 41 50 50 54 41 52 47 45 54 53 20 2b 3d  n..APPTARGETS +=
8140: 20 24 28 42 4c 44 54 41 52 47 45 54 53 29 0a 0a   $(BLDTARGETS)..
8150: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 42 55 49  ifdef FOSSIL_BUI
8160: 4c 44 5f 53 53 4c 0a 41 50 50 54 41 52 47 45 54  LD_SSL.APPTARGET
8170: 53 20 2b 3d 20 6f 70 65 6e 73 73 6c 0a 65 6e 64  S += openssl.end
8180: 69 66 0a 0a 24 28 41 50 50 4e 41 4d 45 29 3a 09  if..$(APPNAME):.
8190: 24 28 41 50 50 54 41 52 47 45 54 53 29 20 24 28  $(APPTARGETS) $(
81a0: 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72 73 20  OBJDIR)/headers 
81b0: 24 28 43 4f 44 45 43 48 45 43 4b 31 29 20 24 28  $(CODECHECK1) $(
81c0: 4f 42 4a 29 20 24 28 45 58 54 52 41 4f 42 4a 29  OBJ) $(EXTRAOBJ)
81d0: 20 24 28 4f 42 4a 44 49 52 29 2f 66 6f 73 73 69   $(OBJDIR)/fossi
81e0: 6c 2e 6f 0a 09 24 28 43 4f 44 45 43 48 45 43 4b  l.o..$(CODECHECK
81f0: 31 29 20 24 28 54 52 41 4e 53 5f 53 52 43 29 0a  1) $(TRANS_SRC).
8200: 09 24 28 54 43 43 29 20 2d 6f 20 24 40 20 24 28  .$(TCC) -o $@ $(
8210: 4f 42 4a 29 20 24 28 45 58 54 52 41 4f 42 4a 29  OBJ) $(EXTRAOBJ)
8220: 20 24 28 4f 42 4a 44 49 52 29 2f 66 6f 73 73 69   $(OBJDIR)/fossi
8230: 6c 2e 6f 20 24 28 4c 49 42 29 0a 0a 23 20 54 68  l.o $(LIB)..# Th
8240: 69 73 20 72 75 6c 65 20 70 72 65 76 65 6e 74 73  is rule prevents
8250: 20 6d 61 6b 65 20 66 72 6f 6d 20 75 73 69 6e 67   make from using
8260: 20 69 74 73 20 64 65 66 61 75 6c 74 20 72 75 6c   its default rul
8270: 65 73 20 74 6f 20 74 72 79 20 62 75 69 6c 64 0a  es to try build.
8280: 23 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20  # an executable 
8290: 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65 73 74 22  named "manifest"
82a0: 20 6f 75 74 20 6f 66 20 74 68 65 20 66 69 6c 65   out of the file
82b0: 20 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65 73 74   named "manifest
82c0: 2e 63 22 0a 23 0a 24 28 53 52 43 44 49 52 29 2f  .c".#.$(SRCDIR)/
82d0: 2e 2e 2f 6d 61 6e 69 66 65 73 74 3a 0a 09 23 20  ../manifest:..# 
82e0: 6e 6f 6f 70 0a 0a 63 6c 65 61 6e 3a 0a 69 66 64  noop..clean:.ifd
82f0: 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 53 0a 09  ef USE_WINDOWS..
8300: 24 28 52 4d 29 20 24 28 73 75 62 73 74 20 2f 2c  $(RM) $(subst /,
8310: 5c 2c 24 28 41 50 50 4e 41 4d 45 29 29 0a 09 24  \,$(APPNAME))..$
8320: 28 52 4d 44 49 52 29 20 24 28 73 75 62 73 74 20  (RMDIR) $(subst 
8330: 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 29 0a 65  /,\,$(OBJDIR)).e
8340: 6c 73 65 0a 09 24 28 52 4d 29 20 24 28 41 50 50  lse..$(RM) $(APP
8350: 4e 41 4d 45 29 0a 09 24 28 52 4d 44 49 52 29 20  NAME)..$(RMDIR) 
8360: 24 28 4f 42 4a 44 49 52 29 0a 65 6e 64 69 66 0a  $(OBJDIR).endif.
8370: 0a 73 65 74 75 70 3a 20 24 28 4f 42 4a 44 49 52  .setup: $(OBJDIR
8380: 29 20 24 28 41 50 50 4e 41 4d 45 29 0a 09 24 28  ) $(APPNAME)..$(
8390: 4d 41 4b 45 4e 53 49 53 29 20 2e 2f 73 65 74 75  MAKENSIS) ./setu
83a0: 70 2f 66 6f 73 73 69 6c 2e 6e 73 69 0a 0a 69 6e  p/fossil.nsi..in
83b0: 6e 6f 73 65 74 75 70 3a 20 24 28 4f 42 4a 44 49  nosetup: $(OBJDI
83c0: 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a 09 24  R) $(APPNAME)..$
83d0: 28 49 4e 4e 4f 53 45 54 55 50 29 20 2e 2f 73 65  (INNOSETUP) ./se
83e0: 74 75 70 2f 66 6f 73 73 69 6c 2e 69 73 73 20 2d  tup/fossil.iss -
83f0: 44 41 70 70 56 65 72 73 69 6f 6e 3d 24 28 73 68  DAppVersion=$(sh
8400: 65 6c 6c 20 24 28 43 41 54 29 20 2e 2f 56 45 52  ell $(CAT) ./VER
8410: 53 49 4f 4e 29 0a 7d 0a 0a 73 65 74 20 6d 68 61  SION).}..set mha
8420: 72 67 73 20 7b 7d 0a 66 6f 72 65 61 63 68 20 73  rgs {}.foreach s
8430: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a   [lsort $src] {.
8440: 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6c 65    if {[string le
8450: 6e 67 74 68 20 24 6d 68 61 72 67 73 5d 20 3e 20  ngth $mhargs] > 
8460: 30 7d 20 7b 61 70 70 65 6e 64 20 6d 68 61 72 67  0} {append mharg
8470: 73 20 22 20 5c 5c 5c 6e 5c 74 5c 74 22 7d 0a 20  s " \\\n\t\t"}. 
8480: 20 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22   append mhargs "
8490: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f  \$(OBJDIR)/${s}_
84a0: 2e 63 3a 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73  .c:\$(OBJDIR)/$s
84b0: 2e 68 22 0a 20 20 73 65 74 20 65 78 74 72 61 5f  .h".  set extra_
84c0: 68 28 24 73 29 20 7b 20 7d 0a 7d 0a 61 70 70 65  h($s) { }.}.appe
84d0: 6e 64 20 6d 68 61 72 67 73 20 22 20 5c 5c 5c 6e  nd mhargs " \\\n
84e0: 5c 74 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 73  \t\t\$(SRCDIR)/s
84f0: 71 6c 69 74 65 33 2e 68 22 0a 61 70 70 65 6e 64  qlite3.h".append
8500: 20 6d 68 61 72 67 73 20 22 20 5c 5c 5c 6e 5c 74   mhargs " \\\n\t
8510: 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68 2e  \t\$(SRCDIR)/th.
8520: 68 22 0a 61 70 70 65 6e 64 20 6d 68 61 72 67 73  h".append mhargs
8530: 20 22 20 5c 5c 5c 6e 5c 74 5c 74 5c 24 28 4f 42   " \\\n\t\t\$(OB
8540: 4a 44 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 22  JDIR)/VERSION.h"
8550: 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a  .writeln "\$(OBJ
8560: 44 49 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e  DIR)/page_index.
8570: 68 3a 20 5c 24 28 54 52 41 4e 53 5f 53 52 43 29  h: \$(TRANS_SRC)
8580: 20 5c 24 28 4d 4b 49 4e 44 45 58 29 22 0a 77 72   \$(MKINDEX)".wr
8590: 69 74 65 6c 6e 20 22 5c 74 5c 24 28 4d 4b 49 4e  iteln "\t\$(MKIN
85a0: 44 45 58 29 20 5c 24 28 54 52 41 4e 53 5f 53 52  DEX) \$(TRANS_SR
85b0: 43 29 20 3e 5c 24 40 5c 6e 22 0a 0a 77 72 69 74  C) >\$@\n"..writ
85c0: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/
85d0: 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 3a 5c  builtin_data.h:\
85e0: 74 5c 24 28 4d 4b 42 55 49 4c 54 49 4e 29 20 5c  t\$(MKBUILTIN) \
85f0: 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 22 0a  $(EXTRA_FILES)".
8600: 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 4d 4b  writeln "\t\$(MK
8610: 42 55 49 4c 54 49 4e 29 20 2d 2d 70 72 65 66 69  BUILTIN) --prefi
8620: 78 20 5c 24 28 53 52 43 44 49 52 29 2f 20 5c 24  x \$(SRCDIR)/ \$
8630: 28 45 58 54 52 41 5f 46 49 4c 45 53 29 20 3e 5c  (EXTRA_FILES) >\
8640: 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22  $@\n"..writeln "
8650: 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65  \$(OBJDIR)/heade
8660: 72 73 3a 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f  rs:\t\$(OBJDIR)/
8670: 70 61 67 65 5f 69 6e 64 65 78 2e 68 20 5c 24 28  page_index.h \$(
8680: 4f 42 4a 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f  OBJDIR)/builtin_
8690: 64 61 74 61 2e 68 20 5c 24 28 4f 42 4a 44 49 52  data.h \$(OBJDIR
86a0: 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20  )/default_css.h 
86b0: 5c 24 28 4d 41 4b 45 48 45 41 44 45 52 53 29 20  \$(MAKEHEADERS) 
86c0: 5c 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49  \$(OBJDIR)/VERSI
86d0: 4f 4e 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c  ON.h".writeln "\
86e0: 74 5c 24 28 4d 41 4b 45 48 45 41 44 45 52 53 29  t\$(MAKEHEADERS)
86f0: 20 24 6d 68 61 72 67 73 22 0a 77 72 69 74 65 6c   $mhargs".writel
8700: 6e 20 22 5c 74 65 63 68 6f 20 44 6f 6e 65 20 3e  n "\techo Done >
8710: 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65  \$(OBJDIR)/heade
8720: 72 73 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 22 5c  rs\n".writeln "\
8730: 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72  $(OBJDIR)/header
8740: 73 3a 20 4d 61 6b 65 66 69 6c 65 5c 6e 22 0a 77  s: Makefile\n".w
8750: 72 69 74 65 6c 6e 20 22 4d 61 6b 65 66 69 6c 65  riteln "Makefile
8760: 3a 5c 6e 22 0a 73 65 74 20 65 78 74 72 61 5f 68  :\n".set extra_h
8770: 28 6d 61 69 6e 29 20 22 20 5c 24 28 4f 42 4a 44  (main) " \$(OBJD
8780: 49 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e 68  IR)/page_index.h
8790: 20 22 0a 73 65 74 20 65 78 74 72 61 5f 68 28 62   ".set extra_h(b
87a0: 75 69 6c 74 69 6e 29 20 22 20 5c 24 28 4f 42 4a  uiltin) " \$(OBJ
87b0: 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74  DIR)/builtin_dat
87c0: 61 2e 68 20 22 0a 73 65 74 20 65 78 74 72 61 5f  a.h ".set extra_
87d0: 68 28 73 74 79 6c 65 29 20 22 20 5c 24 28 4f 42  h(style) " \$(OB
87e0: 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63 73  JDIR)/default_cs
87f0: 73 2e 68 20 22 0a 0a 66 6f 72 65 61 63 68 20 73  s.h "..foreach s
8800: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a   [lsort $src] {.
8810: 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42    writeln "\$(OB
8820: 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 3a 5c 74  JDIR)/${s}_.c:\t
8830: 5c 24 28 53 52 43 44 49 52 29 2f 24 73 2e 63 20  \$(SRCDIR)/$s.c 
8840: 5c 24 28 54 52 41 4e 53 4c 41 54 45 29 22 0a 20  \$(TRANSLATE)". 
8850: 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 54   writeln "\t\$(T
8860: 52 41 4e 53 4c 41 54 45 29 20 5c 24 28 53 52 43  RANSLATE) \$(SRC
8870: 44 49 52 29 2f 24 73 2e 63 20 3e 5c 24 40 5c 6e  DIR)/$s.c >\$@\n
8880: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28  ".  writeln "\$(
8890: 4f 42 4a 44 49 52 29 2f 24 73 2e 6f 3a 5c 74 5c  OBJDIR)/$s.o:\t\
88a0: 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e  $(OBJDIR)/${s}_.
88b0: 63 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 2e  c \$(OBJDIR)/$s.
88c0: 68 24 65 78 74 72 61 5f 68 28 24 73 29 5c 24 28  h$extra_h($s)\$(
88d0: 53 52 43 44 49 52 29 2f 63 6f 6e 66 69 67 2e 68  SRCDIR)/config.h
88e0: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c  ".  writeln "\t\
88f0: 24 28 58 54 43 43 29 20 2d 6f 20 5c 24 28 4f 42  $(XTCC) -o \$(OB
8900: 4a 44 49 52 29 2f 24 73 2e 6f 20 2d 63 20 5c 24  JDIR)/$s.o -c \$
8910: 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63  (OBJDIR)/${s}_.c
8920: 5c 6e 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c  \n".  writeln "\
8930: 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 2e 68  $(OBJDIR)/${s}.h
8940: 3a 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65  :\t\$(OBJDIR)/he
8950: 61 64 65 72 73 5c 6e 22 0a 7d 0a 0a 77 72 69 74  aders\n".}..writ
8960: 65 6c 6e 20 7b 4d 49 4e 47 57 5f 4f 50 54 49 4f  eln {MINGW_OPTIO
8970: 4e 53 20 3d 20 2d 44 5f 48 41 56 45 5f 5f 4d 49  NS = -D_HAVE__MI
8980: 4e 47 57 5f 48 0a 7d 0a 0a 73 65 74 20 53 51 4c  NGW_H.}..set SQL
8990: 49 54 45 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e  ITE_WIN32_OPTION
89a0: 53 20 24 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e  S $SQLITE_OPTION
89b0: 53 0a 6c 61 70 70 65 6e 64 20 53 51 4c 49 54 45  S.lappend SQLITE
89c0: 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 2d  _WIN32_OPTIONS -
89d0: 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4e 4f  DSQLITE_WIN32_NO
89e0: 5f 41 4e 53 49 0a 0a 73 65 74 20 4d 49 4e 47 57  _ANSI..set MINGW
89f0: 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20  _SQLITE_OPTIONS 
8a00: 24 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4f 50  $SQLITE_WIN32_OP
8a10: 54 49 4f 4e 53 0a 6c 61 70 70 65 6e 64 20 4d 49  TIONS.lappend MI
8a20: 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f  NGW_SQLITE_OPTIO
8a30: 4e 53 20 7b 24 28 4d 49 4e 47 57 5f 4f 50 54 49  NS {$(MINGW_OPTI
8a40: 4f 4e 53 29 7d 0a 6c 61 70 70 65 6e 64 20 4d 49  ONS)}.lappend MI
8a50: 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f  NGW_SQLITE_OPTIO
8a60: 4e 53 20 2d 44 53 51 4c 49 54 45 5f 55 53 45 5f  NS -DSQLITE_USE_
8a70: 4d 41 4c 4c 4f 43 5f 48 0a 6c 61 70 70 65 6e 64  MALLOC_H.lappend
8a80: 20 4d 49 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50   MINGW_SQLITE_OP
8a90: 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54 45 5f 55  TIONS -DSQLITE_U
8aa0: 53 45 5f 4d 53 49 5a 45 0a 0a 73 65 74 20 4d 49  SE_MSIZE..set MI
8ab0: 4e 49 5a 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e  NIZ_WIN32_OPTION
8ac0: 53 20 24 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53  S $MINIZ_OPTIONS
8ad0: 0a 0a 73 65 74 20 6a 20 22 20 5c 5c 5c 6e 20 20  ..set j " \\\n  
8ae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22                 "
8af0: 0a 77 72 69 74 65 6c 6e 20 22 53 51 4c 49 54 45  .writeln "SQLITE
8b00: 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a 6f 69 6e  _OPTIONS = [join
8b10: 20 24 4d 49 4e 47 57 5f 53 51 4c 49 54 45 5f 4f   $MINGW_SQLITE_O
8b20: 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 0a 73 65  PTIONS $j]\n".se
8b30: 74 20 6a 20 22 20 5c 5c 5c 6e 20 20 20 20 20 20  t j " \\\n      
8b40: 20 20 20 20 20 20 20 20 20 20 22 0a 77 72 69 74            ".writ
8b50: 65 6c 6e 20 22 53 48 45 4c 4c 5f 4f 50 54 49 4f  eln "SHELL_OPTIO
8b60: 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 53 48 45 4c  NS = [join $SHEL
8b70: 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20  L_WIN32_OPTIONS 
8b80: 24 6a 5d 5c 6e 22 0a 73 65 74 20 6a 20 22 20 5c  $j]\n".set j " \
8b90: 5c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20  \\n             
8ba0: 20 20 20 22 0a 77 72 69 74 65 6c 6e 20 22 4d 49     ".writeln "MI
8bb0: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a  NIZ_OPTIONS = [j
8bc0: 6f 69 6e 20 24 4d 49 4e 49 5a 5f 57 49 4e 33 32  oin $MINIZ_WIN32
8bd0: 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 0a  _OPTIONS $j]\n".
8be0: 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a  .writeln "\$(OBJ
8bf0: 44 49 52 29 2f 73 71 6c 69 74 65 33 2e 6f 3a 5c  DIR)/sqlite3.o:\
8c00: 74 5c 24 28 53 51 4c 49 54 45 33 5f 53 52 43 29  t\$(SQLITE3_SRC)
8c10: 20 5c 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 77   \$(SRCDIR)/../w
8c20: 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 69 6e 67  in/Makefile.ming
8c30: 77 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24  w".writeln "\t\$
8c40: 28 58 54 43 43 29 20 5c 24 28 53 51 4c 49 54 45  (XTCC) \$(SQLITE
8c50: 5f 4f 50 54 49 4f 4e 53 29 20 5c 24 28 53 51 4c  _OPTIONS) \$(SQL
8c60: 49 54 45 5f 43 46 4c 41 47 53 29 20 5c 24 28 53  ITE_CFLAGS) \$(S
8c70: 45 45 5f 46 4c 41 47 53 29 20 5c 5c 22 0a 77 72  EE_FLAGS) \\".wr
8c80: 69 74 65 6c 6e 20 22 5c 74 5c 74 2d 63 20 5c 24  iteln "\t\t-c \$
8c90: 28 53 51 4c 49 54 45 33 5f 53 52 43 29 20 2d 6f  (SQLITE3_SRC) -o
8ca0: 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e   \$@\n"..writeln
8cb0: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 63 73 6f   "\$(OBJDIR)/cso
8cc0: 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 6f  n_amalgamation.o
8cd0: 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 63 73  :\t\$(SRCDIR)/cs
8ce0: 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e  on_amalgamation.
8cf0: 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24  c".writeln "\t\$
8d00: 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52 43  (XTCC) -c \$(SRC
8d10: 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61  DIR)/cson_amalga
8d20: 6d 61 74 69 6f 6e 2e 63 20 2d 6f 20 5c 24 40 5c  mation.c -o \$@\
8d30: 6e 22 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f  n".writeln "\$(O
8d40: 42 4a 44 49 52 29 2f 6a 73 6f 6e 2e 6f 20 5c 24  BJDIR)/json.o \$
8d50: 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 61 72  (OBJDIR)/json_ar
8d60: 74 69 66 61 63 74 2e 6f 20 5c 24 28 4f 42 4a 44  tifact.o \$(OBJD
8d70: 49 52 29 2f 6a 73 6f 6e 5f 62 72 61 6e 63 68 2e  IR)/json_branch.
8d80: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
8d90: 6e 5f 63 6f 6e 66 69 67 2e 6f 20 5c 24 28 4f 42  n_config.o \$(OB
8da0: 4a 44 49 52 29 2f 6a 73 6f 6e 5f 64 69 66 66 2e  JDIR)/json_diff.
8db0: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
8dc0: 6e 5f 64 69 72 2e 6f 20 5c 24 28 4f 42 4a 44 49  n_dir.o \$(OBJDI
8dd0: 52 29 2f 6a 73 6f 73 5f 66 69 6e 66 6f 2e 6f 20  R)/jsos_finfo.o 
8de0: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f  \$(OBJDIR)/json_
8df0: 6c 6f 67 69 6e 2e 6f 20 5c 24 28 4f 42 4a 44 49  login.o \$(OBJDI
8e00: 52 29 2f 6a 73 6f 6e 5f 71 75 65 72 79 2e 6f 20  R)/json_query.o 
8e10: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f  \$(OBJDIR)/json_
8e20: 72 65 70 6f 72 74 2e 6f 20 5c 24 28 4f 42 4a 44  report.o \$(OBJD
8e30: 49 52 29 2f 6a 73 6f 6e 5f 73 74 61 74 75 73 2e  IR)/json_status.
8e40: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
8e50: 6e 5f 74 61 67 2e 6f 20 5c 24 28 4f 42 4a 44 49  n_tag.o \$(OBJDI
8e60: 52 29 2f 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e 65  R)/json_timeline
8e70: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js
8e80: 6f 6e 5f 75 73 65 72 2e 6f 20 5c 24 28 4f 42 4a  on_user.o \$(OBJ
8e90: 44 49 52 29 2f 6a 73 6f 6e 5f 77 69 6b 69 2e 6f  DIR)/json_wiki.o
8ea0: 20 3a 20 5c 24 28 53 52 43 44 49 52 29 2f 6a 73   : \$(SRCDIR)/js
8eb0: 6f 6e 5f 64 65 74 61 69 6c 2e 68 5c 6e 22 0a 0a  on_detail.h\n"..
8ec0: 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44  writeln "\$(OBJD
8ed0: 49 52 29 2f 73 68 65 6c 6c 2e 6f 3a 5c 74 5c 24  IR)/shell.o:\t\$
8ee0: 28 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53  (SQLITE3_SHELL_S
8ef0: 52 43 29 20 5c 24 28 53 52 43 44 49 52 29 2f 73  RC) \$(SRCDIR)/s
8f00: 71 6c 69 74 65 33 2e 68 20 5c 24 28 53 52 43 44  qlite3.h \$(SRCD
8f10: 49 52 29 2f 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66  IR)/../win/Makef
8f20: 69 6c 65 2e 6d 69 6e 67 77 22 0a 77 72 69 74 65  ile.mingw".write
8f30: 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 5c  ln "\t\$(XTCC) \
8f40: 24 28 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 29  $(SHELL_OPTIONS)
8f50: 20 5c 24 28 53 48 45 4c 4c 5f 43 46 4c 41 47 53   \$(SHELL_CFLAGS
8f60: 29 20 5c 24 28 53 45 45 5f 46 4c 41 47 53 29 20  ) \$(SEE_FLAGS) 
8f70: 2d 63 20 5c 24 28 53 51 4c 49 54 45 33 5f 53 48  -c \$(SQLITE3_SH
8f80: 45 4c 4c 5f 53 52 43 29 20 2d 6f 20 5c 24 40 5c  ELL_SRC) -o \$@\
8f90: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28  n"..writeln "\$(
8fa0: 4f 42 4a 44 49 52 29 2f 74 68 2e 6f 3a 5c 74 5c  OBJDIR)/th.o:\t\
8fb0: 24 28 53 52 43 44 49 52 29 2f 74 68 2e 63 22 0a  $(SRCDIR)/th.c".
8fc0: 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54  writeln "\t\$(XT
8fd0: 43 43 29 20 2d 63 20 5c 24 28 53 52 43 44 49 52  CC) -c \$(SRCDIR
8fe0: 29 2f 74 68 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22  )/th.c -o \$@\n"
8ff0: 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42  ..writeln "\$(OB
9000: 4a 44 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 6f 3a  JDIR)/th_lang.o:
9010: 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68 5f  \t\$(SRCDIR)/th_
9020: 6c 61 6e 67 2e 63 22 0a 77 72 69 74 65 6c 6e 20  lang.c".writeln 
9030: 22 5c 74 5c 24 28 58 54 43 43 29 20 2d 63 20 5c  "\t\$(XTCC) -c \
9040: 24 28 53 52 43 44 49 52 29 2f 74 68 5f 6c 61 6e  $(SRCDIR)/th_lan
9050: 67 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77  g.c -o \$@\n"..w
9060: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49  riteln "\$(OBJDI
9070: 52 29 2f 74 68 5f 74 63 6c 2e 6f 3a 5c 74 5c 24  R)/th_tcl.o:\t\$
9080: 28 53 52 43 44 49 52 29 2f 74 68 5f 74 63 6c 2e  (SRCDIR)/th_tcl.
9090: 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24  c".writeln "\t\$
90a0: 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52 43  (XTCC) -c \$(SRC
90b0: 44 49 52 29 2f 74 68 5f 74 63 6c 2e 63 20 2d 6f  DIR)/th_tcl.c -o
90c0: 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e   \$@\n"..writeln
90d0: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 69 6e   "\$(OBJDIR)/min
90e0: 69 7a 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 52  iz.o:\t\$(SRCDIR
90f0: 29 2f 6d 69 6e 69 7a 2e 63 22 0a 77 72 69 74 65  )/miniz.c".write
9100: 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 5c  ln "\t\$(XTCC) \
9110: 24 28 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 29  $(MINIZ_OPTIONS)
9120: 20 2d 63 20 5c 24 28 53 52 43 44 49 52 29 2f 6d   -c \$(SRCDIR)/m
9130: 69 6e 69 7a 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22  iniz.c -o \$@\n"
9140: 0a 0a 63 6c 6f 73 65 20 24 6f 75 74 70 75 74 5f  ..close $output_
9150: 66 69 6c 65 0a 23 0a 23 20 45 6e 64 20 6f 66 20  file.#.# End of 
9160: 74 68 65 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65  the win/Makefile
9170: 2e 6d 69 6e 67 77 20 6f 75 74 70 75 74 0a 23 23  .mingw output.##
9180: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9190: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
91a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
91b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
91c0: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23  ############.###
91d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
91e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
91f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9200: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9210: 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23  ###########.####
9220: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9230: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9240: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9250: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9260: 23 23 23 23 23 23 23 23 23 23 0a 23 20 42 65 67  ##########.# Beg
9270: 69 6e 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e  in win/Makefile.
9280: 64 6d 63 20 6f 75 74 70 75 74 0a 23 0a 70 75 74  dmc output.#.put
9290: 73 20 22 62 75 69 6c 64 69 6e 67 20 2e 2e 2f 77  s "building ../w
92a0: 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 64 6d 63 22  in/Makefile.dmc"
92b0: 0a 73 65 74 20 6f 75 74 70 75 74 5f 66 69 6c 65  .set output_file
92c0: 20 5b 6f 70 65 6e 20 2e 2e 2f 77 69 6e 2f 4d 61   [open ../win/Ma
92d0: 6b 65 66 69 6c 65 2e 64 6d 63 20 77 5d 0a 66 63  kefile.dmc w].fc
92e0: 6f 6e 66 69 67 75 72 65 20 24 6f 75 74 70 75 74  onfigure $output
92f0: 5f 66 69 6c 65 20 2d 74 72 61 6e 73 6c 61 74 69  _file -translati
9300: 6f 6e 20 62 69 6e 61 72 79 0a 0a 77 72 69 74 65  on binary..write
9310: 6c 6e 20 7b 23 0a 23 23 23 23 23 23 23 23 23 23  ln {#.##########
9320: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9330: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9340: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9350: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9360: 23 23 23 23 0a 23 20 57 41 52 4e 49 4e 47 3a 20  ####.# WARNING: 
9370: 44 4f 20 4e 4f 54 20 45 44 49 54 2c 20 41 55 54  DO NOT EDIT, AUT
9380: 4f 4d 41 54 49 43 41 4c 4c 59 20 47 45 4e 45 52  OMATICALLY GENER
9390: 41 54 45 44 20 46 49 4c 45 20 28 53 45 45 20 22  ATED FILE (SEE "
93a0: 73 72 63 2f 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c  src/makemake.tcl
93b0: 22 29 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ").#############
93c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
93d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
93e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
93f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9400: 23 0a 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20  #.#.# This file 
9410: 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  is automatically
9420: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73   generated.  Ins
9430: 74 65 61 64 20 6f 66 20 65 64 69 74 69 6e 67 20  tead of editing 
9440: 74 68 69 73 0a 23 20 66 69 6c 65 2c 20 65 64 69  this.# file, edi
9450: 74 20 22 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22  t "makemake.tcl"
9460: 20 74 68 65 6e 20 72 75 6e 20 22 74 63 6c 73 68   then run "tclsh
9470: 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23   makemake.tcl".#
9480: 20 74 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74   to regenerate t
9490: 68 69 73 20 66 69 6c 65 2e 0a 23 0a 42 20 20 20  his file..#.B   
94a0: 20 20 20 3d 20 2e 2e 0a 53 52 43 44 49 52 20 3d     = ...SRCDIR =
94b0: 20 24 42 5c 73 72 63 0a 4f 42 4a 44 49 52 20 3d   $B\src.OBJDIR =
94c0: 20 2e 0a 4f 20 20 20 20 20 20 3d 20 2e 6f 62 6a   ..O      = .obj
94d0: 0a 45 20 20 20 20 20 20 3d 20 2e 65 78 65 0a 0a  .E      = .exe..
94e0: 0a 23 20 4d 61 79 62 65 20 44 4d 44 49 52 2c 20  .# Maybe DMDIR, 
94f0: 53 53 4c 20 6f 72 20 49 4e 43 4c 20 6e 65 65 64  SSL or INCL need
9500: 73 20 61 64 6a 75 73 74 6d 65 6e 74 0a 44 4d 44  s adjustment.DMD
9510: 49 52 20 20 3d 20 63 3a 5c 44 4d 0a 49 4e 43 4c  IR  = c:\DM.INCL
9520: 20 20 20 3d 20 2d 49 2e 20 2d 49 24 28 53 52 43     = -I. -I$(SRC
9530: 44 49 52 29 20 2d 49 24 42 5c 77 69 6e 5c 69 6e  DIR) -I$B\win\in
9540: 63 6c 75 64 65 20 2d 49 24 28 44 4d 44 49 52 29  clude -I$(DMDIR)
9550: 5c 65 78 74 72 61 5c 69 6e 63 6c 75 64 65 0a 0a  \extra\include..
9560: 23 53 53 4c 20 20 20 3d 20 20 2d 44 46 4f 53 53  #SSL   =  -DFOSS
9570: 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a  IL_ENABLE_SSL=1.
9580: 53 53 4c 20 20 20 20 3d 0a 0a 43 46 4c 41 47 53  SSL    =..CFLAGS
9590: 20 3d 20 2d 6f 0a 42 43 43 20 20 20 20 3d 20 24   = -o.BCC    = $
95a0: 28 44 4d 44 49 52 29 5c 62 69 6e 5c 64 6d 63 20  (DMDIR)\bin\dmc 
95b0: 24 28 43 46 4c 41 47 53 29 0a 54 43 43 20 20 20  $(CFLAGS).TCC   
95c0: 20 3d 20 24 28 44 4d 44 49 52 29 5c 62 69 6e 5c   = $(DMDIR)\bin\
95d0: 64 6d 63 20 24 28 43 46 4c 41 47 53 29 20 24 28  dmc $(CFLAGS) $(
95e0: 44 4d 43 44 45 46 29 20 24 28 53 53 4c 29 20 24  DMCDEF) $(SSL) $
95f0: 28 49 4e 43 4c 29 0a 4c 49 42 53 20 20 20 3d 20  (INCL).LIBS   = 
9600: 24 28 44 4d 44 49 52 29 5c 65 78 74 72 61 5c 6c  $(DMDIR)\extra\l
9610: 69 62 5c 20 7a 6c 69 62 20 77 73 6f 63 6b 33 32  ib\ zlib wsock32
9620: 20 61 64 76 61 70 69 33 32 0a 7d 0a 77 72 69 74   advapi32.}.writ
9630: 65 6c 6e 20 22 53 51 4c 49 54 45 5f 4f 50 54 49  eln "SQLITE_OPTI
9640: 4f 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 53 51 4c  ONS = [join $SQL
9650: 49 54 45 5f 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d  ITE_OPTIONS { }]
9660: 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 22 53 48 45  \n".writeln "SHE
9670: 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a 6f  LL_OPTIONS = [jo
9680: 69 6e 20 24 53 48 45 4c 4c 5f 57 49 4e 33 32 5f  in $SHELL_WIN32_
9690: 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d 5c 6e 22 0a  OPTIONS { }]\n".
96a0: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
96b0: 6e 65 20 22 53 52 43 20 20 20 3d 22 0a 66 6f 72  ne "SRC   =".for
96c0: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 73  each s [lsort $s
96d0: 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20  rc] {.  writeln 
96e0: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 24 7b 73  -nonewline " ${s
96f0: 7d 5f 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e 20  }_.c".}.writeln 
9700: 22 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f  "\n".writeln -no
9710: 6e 65 77 6c 69 6e 65 20 22 4f 42 4a 20 20 20 3d  newline "OBJ   =
9720: 20 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73   ".foreach s [ls
9730: 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 72  ort $src] {.  wr
9740: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65  iteln -nonewline
9750: 20 22 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 24 73   "\$(OBJDIR)\\$s
9760: 5c 24 4f 20 22 0a 7d 0a 77 72 69 74 65 6c 6e 20  \$O ".}.writeln 
9770: 22 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 73 68 65  "\$(OBJDIR)\\she
9780: 6c 6c 5c 24 4f 20 5c 24 28 4f 42 4a 44 49 52 29  ll\$O \$(OBJDIR)
9790: 5c 5c 73 71 6c 69 74 65 33 5c 24 4f 20 5c 24 28  \\sqlite3\$O \$(
97a0: 4f 42 4a 44 49 52 29 5c 5c 74 68 5c 24 4f 20 5c  OBJDIR)\\th\$O \
97b0: 24 28 4f 42 4a 44 49 52 29 5c 5c 74 68 5f 6c 61  $(OBJDIR)\\th_la
97c0: 6e 67 5c 24 4f 22 0a 77 72 69 74 65 6c 6e 20 7b  ng\$O".writeln {
97d0: 0a 0a 52 43 3d 24 28 44 4d 44 49 52 29 5c 62 69  ..RC=$(DMDIR)\bi
97e0: 6e 5c 72 63 63 0a 52 43 46 4c 41 47 53 3d 2d 33  n\rcc.RCFLAGS=-3
97f0: 32 20 2d 77 31 20 2d 49 24 28 53 52 43 44 49 52  2 -w1 -I$(SRCDIR
9800: 29 20 2f 44 5f 5f 44 4d 43 5f 5f 0a 0a 41 50 50  ) /D__DMC__..APP
9810: 4e 41 4d 45 20 3d 20 24 28 4f 42 4a 44 49 52 29  NAME = $(OBJDIR)
9820: 5c 66 6f 73 73 69 6c 24 28 45 29 0a 0a 61 6c 6c  \fossil$(E)..all
9830: 3a 20 24 28 41 50 50 4e 41 4d 45 29 0a 0a 24 28  : $(APPNAME)..$(
9840: 41 50 50 4e 41 4d 45 29 20 3a 20 74 72 61 6e 73  APPNAME) : trans
9850: 6c 61 74 65 24 45 20 6d 6b 69 6e 64 65 78 24 45  late$E mkindex$E
9860: 20 63 6f 64 65 63 68 65 63 6b 31 24 45 20 68 65   codecheck1$E he
9870: 61 64 65 72 73 20 20 24 28 4f 42 4a 29 20 24 28  aders  $(OBJ) $(
9880: 4f 42 4a 44 49 52 29 5c 6c 69 6e 6b 0a 09 63 64  OBJDIR)\link..cd
9890: 20 24 28 4f 42 4a 44 49 52 29 0a 09 63 6f 64 65   $(OBJDIR)..code
98a0: 63 68 65 63 6b 31 24 45 20 24 28 53 52 43 29 0a  check1$E $(SRC).
98b0: 09 24 28 44 4d 44 49 52 29 5c 62 69 6e 5c 6c 69  .$(DMDIR)\bin\li
98c0: 6e 6b 20 40 6c 69 6e 6b 0a 0a 24 28 4f 42 4a 44  nk @link..$(OBJD
98d0: 49 52 29 5c 66 6f 73 73 69 6c 2e 72 65 73 3a 09  IR)\fossil.res:.
98e0: 24 42 5c 77 69 6e 5c 66 6f 73 73 69 6c 2e 72 63  $B\win\fossil.rc
98f0: 0a 09 24 28 52 43 29 20 24 28 52 43 46 4c 41 47  ..$(RC) $(RCFLAG
9900: 53 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a 24 28 4f  S) -o$@ $**..$(O
9910: 42 4a 44 49 52 29 5c 6c 69 6e 6b 3a 20 24 42 5c  BJDIR)\link: $B\
9920: 77 69 6e 5c 4d 61 6b 65 66 69 6c 65 2e 64 6d 63  win\Makefile.dmc
9930: 20 24 28 4f 42 4a 44 49 52 29 5c 66 6f 73 73 69   $(OBJDIR)\fossi
9940: 6c 2e 72 65 73 7d 0a 77 72 69 74 65 6c 6e 20 2d  l.res}.writeln -
9950: 6e 6f 6e 65 77 6c 69 6e 65 20 22 5c 74 2b 65 63  nonewline "\t+ec
9960: 68 6f 20 22 0a 66 6f 72 65 61 63 68 20 73 20 5b  ho ".foreach s [
9970: 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20  lsort $src] {.  
9980: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
9990: 6e 65 20 22 24 73 20 22 0a 7d 0a 77 72 69 74 65  ne "$s ".}.write
99a0: 6c 6e 20 22 73 68 65 6c 6c 20 73 71 6c 69 74 65  ln "shell sqlite
99b0: 33 20 74 68 20 74 68 5f 6c 61 6e 67 20 3e 20 5c  3 th th_lang > \
99c0: 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b  $@".writeln "\t+
99d0: 65 63 68 6f 20 66 6f 73 73 69 6c 20 3e 3e 20 5c  echo fossil >> \
99e0: 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b  $@".writeln "\t+
99f0: 65 63 68 6f 20 66 6f 73 73 69 6c 20 3e 3e 20 5c  echo fossil >> \
9a00: 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b  $@".writeln "\t+
9a10: 65 63 68 6f 20 5c 24 28 4c 49 42 53 29 20 3e 3e  echo \$(LIBS) >>
9a20: 20 5c 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c   \$@".writeln "\
9a30: 74 2b 65 63 68 6f 2e 20 3e 3e 20 5c 24 40 22 0a  t+echo. >> \$@".
9a40: 77 72 69 74 65 6c 6e 20 22 5c 74 2b 65 63 68 6f  writeln "\t+echo
9a50: 20 66 6f 73 73 69 6c 20 3e 3e 20 5c 24 40 22 0a   fossil >> \$@".
9a60: 0a 77 72 69 74 65 6c 6e 20 7b 0a 74 72 61 6e 73  .writeln {.trans
9a70: 6c 61 74 65 24 45 3a 20 24 28 53 52 43 44 49 52  late$E: $(SRCDIR
9a80: 29 5c 74 72 61 6e 73 6c 61 74 65 2e 63 0a 09 24  )\translate.c..$
9a90: 28 42 43 43 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a  (BCC) -o$@ $**..
9aa0: 6d 61 6b 65 68 65 61 64 65 72 73 24 45 3a 20 24  makeheaders$E: $
9ab0: 28 53 52 43 44 49 52 29 5c 6d 61 6b 65 68 65 61  (SRCDIR)\makehea
9ac0: 64 65 72 73 2e 63 0a 09 24 28 42 43 43 29 20 2d  ders.c..$(BCC) -
9ad0: 6f 24 40 20 24 2a 2a 0a 0a 6d 6b 69 6e 64 65 78  o$@ $**..mkindex
9ae0: 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c 6d 6b  $E: $(SRCDIR)\mk
9af0: 69 6e 64 65 78 2e 63 0a 09 24 28 42 43 43 29 20  index.c..$(BCC) 
9b00: 2d 6f 24 40 20 24 2a 2a 0a 0a 6d 6b 62 75 69 6c  -o$@ $**..mkbuil
9b10: 74 69 6e 24 45 3a 20 24 28 53 52 43 44 49 52 29  tin$E: $(SRCDIR)
9b20: 5c 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a 09 24 28  \mkbuiltin.c..$(
9b30: 42 43 43 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a 6d  BCC) -o$@ $**..m
9b40: 6b 76 65 72 73 69 6f 6e 24 45 3a 20 24 28 53 52  kversion$E: $(SR
9b50: 43 44 49 52 29 5c 6d 6b 76 65 72 73 69 6f 6e 2e  CDIR)\mkversion.
9b60: 63 0a 09 24 28 42 43 43 29 20 2d 6f 24 40 20 24  c..$(BCC) -o$@ $
9b70: 2a 2a 0a 0a 6d 6b 63 73 73 24 45 3a 20 24 28 53  **..mkcss$E: $(S
9b80: 52 43 44 49 52 29 5c 6d 6b 63 73 73 2e 63 0a 09  RCDIR)\mkcss.c..
9b90: 24 28 42 43 43 29 20 2d 6f 24 40 20 24 2a 2a 0a  $(BCC) -o$@ $**.
9ba0: 0a 63 6f 64 65 63 68 65 63 6b 31 24 45 3a 20 24  .codecheck1$E: $
9bb0: 28 53 52 43 44 49 52 29 5c 63 6f 64 65 63 68 65  (SRCDIR)\codeche
9bc0: 63 6b 31 2e 63 0a 09 24 28 42 43 43 29 20 2d 6f  ck1.c..$(BCC) -o
9bd0: 24 40 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52  $@ $**..$(OBJDIR
9be0: 29 5c 73 68 65 6c 6c 24 4f 20 3a 20 24 28 53 52  )\shell$O : $(SR
9bf0: 43 44 49 52 29 5c 73 68 65 6c 6c 2e 63 0a 09 24  CDIR)\shell.c..$
9c00: 28 54 43 43 29 20 2d 6f 24 40 20 2d 63 20 24 28  (TCC) -o$@ -c $(
9c10: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 29 20 24  SHELL_OPTIONS) $
9c20: 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 29  (SQLITE_OPTIONS)
9c30: 20 24 28 53 48 45 4c 4c 5f 43 46 4c 41 47 53 29   $(SHELL_CFLAGS)
9c40: 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52 29 5c   $**..$(OBJDIR)\
9c50: 73 71 6c 69 74 65 33 24 4f 20 3a 20 24 28 53 52  sqlite3$O : $(SR
9c60: 43 44 49 52 29 5c 73 71 6c 69 74 65 33 2e 63 0a  CDIR)\sqlite3.c.
9c70: 09 24 28 54 43 43 29 20 2d 6f 24 40 20 2d 63 20  .$(TCC) -o$@ -c 
9c80: 24 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53  $(SQLITE_OPTIONS
9c90: 29 20 24 28 53 51 4c 49 54 45 5f 43 46 4c 41 47  ) $(SQLITE_CFLAG
9ca0: 53 29 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52  S) $**..$(OBJDIR
9cb0: 29 5c 74 68 24 4f 20 3a 20 24 28 53 52 43 44 49  )\th$O : $(SRCDI
9cc0: 52 29 5c 74 68 2e 63 0a 09 24 28 54 43 43 29 20  R)\th.c..$(TCC) 
9cd0: 2d 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f  -o$@ -c $**..$(O
9ce0: 42 4a 44 49 52 29 5c 74 68 5f 6c 61 6e 67 24 4f  BJDIR)\th_lang$O
9cf0: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 74 68 5f   : $(SRCDIR)\th_
9d00: 6c 61 6e 67 2e 63 0a 09 24 28 54 43 43 29 20 2d  lang.c..$(TCC) -
9d10: 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f 42  o$@ -c $**..$(OB
9d20: 4a 44 49 52 29 5c 63 73 6f 6e 5f 61 6d 61 6c 67  JDIR)\cson_amalg
9d30: 61 6d 61 74 69 6f 6e 2e 68 20 3a 20 24 28 53 52  amation.h : $(SR
9d40: 43 44 49 52 29 5c 63 73 6f 6e 5f 61 6d 61 6c 67  CDIR)\cson_amalg
9d50: 61 6d 61 74 69 6f 6e 2e 68 0a 09 63 70 20 24 40  amation.h..cp $@
9d60: 20 24 40 0a 0a 56 45 52 53 49 4f 4e 2e 68 20 3a   $@..VERSION.h :
9d70: 20 6d 6b 76 65 72 73 69 6f 6e 24 45 20 24 42 5c   mkversion$E $B\
9d80: 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24 42  manifest.uuid $B
9d90: 5c 6d 61 6e 69 66 65 73 74 20 24 42 5c 56 45 52  \manifest $B\VER
9da0: 53 49 4f 4e 0a 09 2b 24 2a 2a 20 3e 20 24 40 0a  SION..+$** > $@.
9db0: 0a 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 3a  .default_css.h :
9dc0: 20 6d 6b 63 73 73 24 45 20 24 42 5c 73 72 63 5c   mkcss$E $B\src\
9dd0: 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 74 0a  default_css.txt.
9de0: 09 2b 24 2a 2a 20 24 42 5c 73 72 63 5c 64 65 66  .+$** $B\src\def
9df0: 61 75 6c 74 5f 63 73 73 2e 74 78 74 20 24 40 0a  ault_css.txt $@.
9e00: 0a 70 61 67 65 5f 69 6e 64 65 78 2e 68 3a 20 6d  .page_index.h: m
9e10: 6b 69 6e 64 65 78 24 45 20 24 28 53 52 43 29 0a  kindex$E $(SRC).
9e20: 09 2b 24 2a 2a 20 3e 20 24 40 0a 0a 62 75 69 6c  .+$** > $@..buil
9e30: 74 69 6e 5f 64 61 74 61 2e 68 3a 09 6d 6b 62 75  tin_data.h:.mkbu
9e40: 69 6c 74 69 6e 24 45 20 24 28 45 58 54 52 41 5f  iltin$E $(EXTRA_
9e50: 46 49 4c 45 53 29 0a 09 6d 6b 62 75 69 6c 74 69  FILES)..mkbuilti
9e60: 6e 24 45 20 2d 2d 70 72 65 66 69 78 20 24 28 53  n$E --prefix $(S
9e70: 52 43 44 49 52 29 2f 20 24 28 45 58 54 52 41 5f  RCDIR)/ $(EXTRA_
9e80: 46 49 4c 45 53 29 20 3e 20 24 40 0a 0a 63 6c 65  FILES) > $@..cle
9e90: 61 6e 3a 0a 09 2d 64 65 6c 20 24 28 4f 42 4a 44  an:..-del $(OBJD
9ea0: 49 52 29 5c 2a 2e 6f 62 6a 0a 09 2d 64 65 6c 20  IR)\*.obj..-del 
9eb0: 2a 2e 6f 62 6a 20 2a 5f 2e 63 20 2a 2e 68 20 2a  *.obj *_.c *.h *
9ec0: 2e 6d 61 70 0a 0a 72 65 61 6c 63 6c 65 61 6e 3a  .map..realclean:
9ed0: 0a 09 2d 64 65 6c 20 24 28 41 50 50 4e 41 4d 45  ..-del $(APPNAME
9ee0: 29 20 74 72 61 6e 73 6c 61 74 65 24 45 20 6d 6b  ) translate$E mk
9ef0: 69 6e 64 65 78 24 45 20 6d 61 6b 65 68 65 61 64  index$E makehead
9f00: 65 72 73 24 45 20 6d 6b 76 65 72 73 69 6f 6e 24  ers$E mkversion$
9f10: 45 20 63 6f 64 65 63 68 65 63 6b 31 24 45 20 6d  E codecheck1$E m
9f20: 6b 62 75 69 6c 74 69 6e 24 45 20 6d 6b 63 73 73  kbuiltin$E mkcss
9f30: 24 45 0a 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73  $E..$(OBJDIR)\js
9f40: 6f 6e 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  on$O : $(SRCDIR)
9f50: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24  \json_detail.h.$
9f60: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 61 72  (OBJDIR)\json_ar
9f70: 74 69 66 61 63 74 24 4f 20 3a 20 24 28 53 52 43  tifact$O : $(SRC
9f80: 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c  DIR)\json_detail
9f90: 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f  .h.$(OBJDIR)\jso
9fa0: 6e 5f 62 72 61 6e 63 68 24 4f 20 3a 20 24 28 53  n_branch$O : $(S
9fb0: 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61  RCDIR)\json_deta
9fc0: 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a  il.h.$(OBJDIR)\j
9fd0: 73 6f 6e 5f 63 6f 6e 66 69 67 24 4f 20 3a 20 24  son_config$O : $
9fe0: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65  (SRCDIR)\json_de
9ff0: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29  tail.h.$(OBJDIR)
a000: 5c 6a 73 6f 6e 5f 64 69 66 66 24 4f 20 3a 20 24  \json_diff$O : $
a010: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65  (SRCDIR)\json_de
a020: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29  tail.h.$(OBJDIR)
a030: 5c 6a 73 6f 6e 5f 64 69 72 24 4f 20 3a 20 24 28  \json_dir$O : $(
a040: 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74  SRCDIR)\json_det
a050: 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c  ail.h.$(OBJDIR)\
a060: 6a 73 6f 6e 5f 66 69 6e 66 6f 24 4f 20 3a 20 24  json_finfo$O : $
a070: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65  (SRCDIR)\json_de
a080: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29  tail.h.$(OBJDIR)
a090: 5c 6a 73 6f 6e 5f 6c 6f 67 69 6e 24 4f 20 3a 20  \json_login$O : 
a0a0: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64  $(SRCDIR)\json_d
a0b0: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52  etail.h.$(OBJDIR
a0c0: 29 5c 6a 73 6f 6e 5f 71 75 65 72 79 24 4f 20 3a  )\json_query$O :
a0d0: 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f   $(SRCDIR)\json_
a0e0: 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49  detail.h.$(OBJDI
a0f0: 52 29 5c 6a 73 6f 6e 5f 72 65 70 6f 72 74 24 4f  R)\json_report$O
a100: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f   : $(SRCDIR)\jso
a110: 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a  n_detail.h.$(OBJ
a120: 44 49 52 29 5c 6a 73 6f 6e 5f 73 74 61 74 75 73  DIR)\json_status
a130: 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a  $O : $(SRCDIR)\j
a140: 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f  son_detail.h.$(O
a150: 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 74 61 67 24  BJDIR)\json_tag$
a160: 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73  O : $(SRCDIR)\js
a170: 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42  on_detail.h.$(OB
a180: 4a 44 49 52 29 5c 6a 73 6f 6e 5f 74 69 6d 65 6c  JDIR)\json_timel
a190: 69 6e 65 24 4f 20 3a 20 24 28 53 52 43 44 49 52  ine$O : $(SRCDIR
a1a0: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a  )\json_detail.h.
a1b0: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 75  $(OBJDIR)\json_u
a1c0: 73 65 72 24 4f 20 3a 20 24 28 53 52 43 44 49 52  ser$O : $(SRCDIR
a1d0: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a  )\json_detail.h.
a1e0: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 77  $(OBJDIR)\json_w
a1f0: 69 6b 69 24 4f 20 3a 20 24 28 53 52 43 44 49 52  iki$O : $(SRCDIR
a200: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a  )\json_detail.h.
a210: 0a 0a 7d 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c  ..}.foreach s [l
a220: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77  sort $src] {.  w
a230: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49  riteln "\$(OBJDI
a240: 52 29 5c 5c 24 73 5c 24 4f 20 3a 20 24 7b 73 7d  R)\\$s\$O : ${s}
a250: 5f 2e 63 20 24 7b 73 7d 2e 68 22 0a 20 20 77 72  _.c ${s}.h".  wr
a260: 69 74 65 6c 6e 20 22 5c 74 5c 24 28 54 43 43 29  iteln "\t\$(TCC)
a270: 20 2d 6f 5c 24 40 20 2d 63 20 24 7b 73 7d 5f 2e   -o\$@ -c ${s}_.
a280: 63 5c 6e 22 0a 20 20 77 72 69 74 65 6c 6e 20 22  c\n".  writeln "
a290: 24 7b 73 7d 5f 2e 63 20 3a 20 5c 24 28 53 52 43  ${s}_.c : \$(SRC
a2a0: 44 49 52 29 5c 5c 24 73 2e 63 22 0a 20 20 77 72  DIR)\\$s.c".  wr
a2b0: 69 74 65 6c 6e 20 22 5c 74 2b 74 72 61 6e 73 6c  iteln "\t+transl
a2c0: 61 74 65 5c 24 45 20 5c 24 2a 2a 20 3e 20 5c 24  ate\$E \$** > \$
a2d0: 40 5c 6e 22 0a 7d 0a 0a 77 72 69 74 65 6c 6e 20  @\n".}..writeln 
a2e0: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 68 65 61 64  -nonewline "head
a2f0: 65 72 73 3a 20 6d 61 6b 65 68 65 61 64 65 72 73  ers: makeheaders
a300: 5c 24 45 20 70 61 67 65 5f 69 6e 64 65 78 2e 68  \$E page_index.h
a310: 20 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 20   builtin_data.h 
a320: 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 56 45  default_css.h VE
a330: 52 53 49 4f 4e 2e 68 5c 6e 5c 74 20 2b 6d 61 6b  RSION.h\n\t +mak
a340: 65 68 65 61 64 65 72 73 5c 24 45 20 22 0a 66 6f  eheaders\$E ".fo
a350: 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24  reach s [lsort $
a360: 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e  src] {.  writeln
a370: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 24 7b 73   -nonewline "${s
a380: 7d 5f 2e 63 3a 24 73 2e 68 20 22 0a 7d 0a 77 72  }_.c:$s.h ".}.wr
a390: 69 74 65 6c 6e 20 22 5c 24 28 53 52 43 44 49 52  iteln "\$(SRCDIR
a3a0: 29 5c 5c 73 71 6c 69 74 65 33 2e 68 20 5c 24 28  )\\sqlite3.h \$(
a3b0: 53 52 43 44 49 52 29 5c 5c 74 68 2e 68 20 56 45  SRCDIR)\\th.h VE
a3c0: 52 53 49 4f 4e 2e 68 20 5c 24 28 53 52 43 44 49  RSION.h \$(SRCDI
a3d0: 52 29 5c 5c 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d  R)\\cson_amalgam
a3e0: 61 74 69 6f 6e 2e 68 22 0a 77 72 69 74 65 6c 6e  ation.h".writeln
a3f0: 20 22 5c 74 40 63 6f 70 79 20 2f 59 20 6e 75 6c   "\t@copy /Y nul
a400: 3a 20 68 65 61 64 65 72 73 22 0a 0a 63 6c 6f 73  : headers"..clos
a410: 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 0a 23  e $output_file.#
a420: 0a 23 20 45 6e 64 20 6f 66 20 74 68 65 20 77 69  .# End of the wi
a430: 6e 2f 4d 61 6b 65 66 69 6c 65 2e 64 6d 63 20 6f  n/Makefile.dmc o
a440: 75 74 70 75 74 0a 23 23 23 23 23 23 23 23 23 23  utput.##########
a450: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a490: 23 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23  ####.###########
a4a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a4b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a4c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a4d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a4e0: 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23  ###.############
a4f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a530: 23 23 0a 23 20 42 65 67 69 6e 20 77 69 6e 2f 4d  ##.# Begin win/M
a540: 61 6b 65 66 69 6c 65 2e 6d 73 63 20 6f 75 74 70  akefile.msc outp
a550: 75 74 0a 23 0a 70 75 74 73 20 22 62 75 69 6c 64  ut.#.puts "build
a560: 69 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66  ing ../win/Makef
a570: 69 6c 65 2e 6d 73 63 22 0a 73 65 74 20 6f 75 74  ile.msc".set out
a580: 70 75 74 5f 66 69 6c 65 20 5b 6f 70 65 6e 20 2e  put_file [open .
a590: 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d  ./win/Makefile.m
a5a0: 73 63 20 77 5d 0a 66 63 6f 6e 66 69 67 75 72 65  sc w].fconfigure
a5b0: 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 20 2d 74   $output_file -t
a5c0: 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69 6e 61 72  ranslation binar
a5d0: 79 0a 0a 77 72 69 74 65 6c 6e 20 7b 23 0a 23 23  y..writeln {#.##
a5e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a5f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a600: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a610: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a620: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 20 57  ############.# W
a630: 41 52 4e 49 4e 47 3a 20 44 4f 20 4e 4f 54 20 45  ARNING: DO NOT E
a640: 44 49 54 2c 20 41 55 54 4f 4d 41 54 49 43 41 4c  DIT, AUTOMATICAL
a650: 4c 59 20 47 45 4e 45 52 41 54 45 44 20 46 49 4c  LY GENERATED FIL
a660: 45 20 28 53 45 45 20 22 73 72 63 2f 6d 61 6b 65  E (SEE "src/make
a670: 6d 61 6b 65 2e 74 63 6c 22 29 0a 23 23 23 23 23  make.tcl").#####
a680: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a690: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a6a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a6b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a6c0: 23 23 23 23 23 23 23 23 23 0a 23 0a 23 20 54 68  #########.#.# Th
a6d0: 69 73 20 4d 61 6b 65 66 69 6c 65 20 77 69 6c 6c  is Makefile will
a6e0: 20 6f 6e 6c 79 20 66 75 6e 63 74 69 6f 6e 20 63   only function c
a6f0: 6f 72 72 65 63 74 6c 79 20 69 66 20 75 73 65 64  orrectly if used
a700: 20 66 72 6f 6d 20 61 20 73 75 62 2d 64 69 72 65   from a sub-dire
a710: 63 74 6f 72 79 0a 23 20 74 68 61 74 20 69 73 20  ctory.# that is 
a720: 61 20 64 69 72 65 63 74 20 63 68 69 6c 64 20 6f  a direct child o
a730: 66 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20  f the top-level 
a740: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 74 68  directory for th
a750: 69 73 20 70 72 6f 6a 65 63 74 2e 0a 23 0a 21 69  is project..#.!i
a760: 66 20 21 65 78 69 73 74 28 22 2e 2e 5c 2e 66 6f  f !exist("..\.fo
a770: 73 73 69 6c 2d 73 65 74 74 69 6e 67 73 22 29 0a  ssil-settings").
a780: 21 65 72 72 6f 72 20 22 50 6c 65 61 73 65 20 63  !error "Please c
a790: 68 61 6e 67 65 20 74 68 65 20 63 75 72 72 65 6e  hange the curren
a7a0: 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74  t directory to t
a7b0: 68 65 20 6f 6e 65 20 63 6f 6e 74 61 69 6e 69 6e  he one containin
a7c0: 67 20 74 68 69 73 20 66 69 6c 65 2e 22 0a 21 65  g this file.".!e
a7d0: 6e 64 69 66 0a 0a 23 0a 23 20 54 68 69 73 20 66  ndif..#.# This f
a7e0: 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63  ile is automatic
a7f0: 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20  ally generated. 
a800: 20 49 6e 73 74 65 61 64 20 6f 66 20 65 64 69 74   Instead of edit
a810: 69 6e 67 20 74 68 69 73 0a 23 20 66 69 6c 65 2c  ing this.# file,
a820: 20 65 64 69 74 20 22 6d 61 6b 65 6d 61 6b 65 2e   edit "makemake.
a830: 74 63 6c 22 20 74 68 65 6e 20 72 75 6e 20 22 74  tcl" then run "t
a840: 63 6c 73 68 20 6d 61 6b 65 6d 61 6b 65 2e 74 63  clsh makemake.tc
a850: 6c 22 0a 23 20 74 6f 20 72 65 67 65 6e 65 72 61  l".# to regenera
a860: 74 65 20 74 68 69 73 20 66 69 6c 65 2e 0a 23 0a  te this file..#.
a870: 42 20 20 20 20 20 20 20 3d 20 2e 2e 0a 53 52 43  B       = ...SRC
a880: 44 49 52 20 20 3d 20 24 42 5c 73 72 63 0a 4f 42  DIR  = $B\src.OB
a890: 4a 44 49 52 20 20 3d 20 2e 0a 4f 58 20 20 20 20  JDIR  = ..OX    
a8a0: 20 20 3d 20 2e 0a 4f 20 20 20 20 20 20 20 3d 20    = ..O       = 
a8b0: 2e 6f 62 6a 0a 45 20 20 20 20 20 20 20 3d 20 2e  .obj.E       = .
a8c0: 65 78 65 0a 50 20 20 20 20 20 20 20 3d 20 2e 70  exe.P       = .p
a8d0: 64 62 0a 0a 23 20 50 65 72 6c 20 69 73 20 6f 6e  db..# Perl is on
a8e0: 6c 79 20 6e 65 63 65 73 73 61 72 79 20 69 66 20  ly necessary if 
a8f0: 4f 70 65 6e 53 53 4c 20 73 75 70 70 6f 72 74 20  OpenSSL support 
a900: 69 73 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 69  is enabled and i
a910: 74 20 6d 75 73 74 0a 23 20 62 65 20 62 75 69 6c  t must.# be buil
a920: 74 20 66 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f  t from source co
a930: 64 65 2e 20 20 54 68 65 20 50 45 52 4c 44 49 52  de.  The PERLDIR
a940: 20 76 61 72 69 61 62 6c 65 20 73 68 6f 75 6c 64   variable should
a950: 20 70 6f 69 6e 74 20 74 6f 0a 23 20 74 68 65 20   point to.# the 
a960: 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69  directory contai
a970: 6e 69 6e 67 20 74 68 65 20 6d 61 69 6e 20 50 65  ning the main Pe
a980: 72 6c 20 62 69 6e 61 72 79 20 28 69 2e 65 2e 20  rl binary (i.e. 
a990: 22 70 65 72 6c 2e 65 78 65 22 29 2e 0a 50 45 52  "perl.exe")..PER
a9a0: 4c 44 49 52 20 3d 20 43 3a 5c 50 65 72 6c 5c 62  LDIR = C:\Perl\b
a9b0: 69 6e 0a 50 45 52 4c 20 20 20 20 3d 20 70 65 72  in.PERL    = per
a9c0: 6c 2e 65 78 65 0a 0a 23 20 45 6e 61 62 6c 65 20  l.exe..# Enable 
a9d0: 64 65 62 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c  debugging symbol
a9e0: 73 3f 0a 21 69 66 6e 64 65 66 20 44 45 42 55 47  s?.!ifndef DEBUG
a9f0: 0a 44 45 42 55 47 20 3d 20 30 0a 21 65 6e 64 69  .DEBUG = 0.!endi
aa00: 66 0a 0a 23 20 42 75 69 6c 64 20 74 68 65 20 4f  f..# Build the O
aa10: 70 65 6e 53 53 4c 20 6c 69 62 72 61 72 69 65 73  penSSL libraries
aa20: 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c  ?.!ifndef FOSSIL
aa30: 5f 42 55 49 4c 44 5f 53 53 4c 0a 46 4f 53 53 49  _BUILD_SSL.FOSSI
aa40: 4c 5f 42 55 49 4c 44 5f 53 53 4c 20 3d 20 30 0a  L_BUILD_SSL = 0.
aa50: 21 65 6e 64 69 66 0a 0a 23 20 42 75 69 6c 64 20  !endif..# Build 
aa60: 74 68 65 20 69 6e 63 6c 75 64 65 64 20 7a 6c 69  the included zli
aa70: 62 20 6c 69 62 72 61 72 79 3f 0a 21 69 66 6e 64  b library?.!ifnd
aa80: 65 66 20 46 4f 53 53 49 4c 5f 42 55 49 4c 44 5f  ef FOSSIL_BUILD_
aa90: 5a 4c 49 42 0a 46 4f 53 53 49 4c 5f 42 55 49 4c  ZLIB.FOSSIL_BUIL
aaa0: 44 5f 5a 4c 49 42 20 3d 20 31 0a 21 65 6e 64 69  D_ZLIB = 1.!endi
aab0: 66 0a 0a 23 20 4c 69 6e 6b 20 65 76 65 72 79 74  f..# Link everyt
aac0: 68 69 6e 67 20 65 78 63 65 70 74 20 53 51 4c 69  hing except SQLi
aad0: 74 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 3f 0a  te dynamically?.
aae0: 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 44  !ifndef FOSSIL_D
aaf0: 59 4e 41 4d 49 43 5f 42 55 49 4c 44 0a 46 4f 53  YNAMIC_BUILD.FOS
ab00: 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c  SIL_DYNAMIC_BUIL
ab10: 44 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20  D = 0.!endif..# 
ab20: 45 6e 61 62 6c 65 20 72 65 6c 61 74 69 76 65 20  Enable relative 
ab30: 70 61 74 68 73 20 69 6e 20 65 78 74 65 72 6e 61  paths in externa
ab40: 6c 20 64 69 66 66 2f 67 64 69 66 66 3f 0a 21 69  l diff/gdiff?.!i
ab50: 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  fndef FOSSIL_ENA
ab60: 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54  BLE_EXEC_REL_PAT
ab70: 48 53 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  HS.FOSSIL_ENABLE
ab80: 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 48 53 20  _EXEC_REL_PATHS 
ab90: 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 6e  = 0.!endif..# En
aba0: 61 62 6c 65 20 74 68 65 20 4a 53 4f 4e 20 41 50  able the JSON AP
abb0: 49 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49  I?.!ifndef FOSSI
abc0: 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 0a 46 4f  L_ENABLE_JSON.FO
abd0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  SSIL_ENABLE_JSON
abe0: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45   = 0.!endif..# E
abf0: 6e 61 62 6c 65 20 6c 65 67 61 63 79 20 74 72 65  nable legacy tre
ac00: 61 74 6d 65 6e 74 20 6f 66 20 74 68 65 20 6d 76  atment of the mv
ac10: 2f 72 6d 20 63 6f 6d 6d 61 6e 64 73 3f 0a 21 69  /rm commands?.!i
ac20: 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  fndef FOSSIL_ENA
ac30: 42 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d  BLE_LEGACY_MV_RM
ac40: 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c  .FOSSIL_ENABLE_L
ac50: 45 47 41 43 59 5f 4d 56 5f 52 4d 20 3d 20 30 0a  EGACY_MV_RM = 0.
ac60: 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65  !endif..# Enable
ac70: 20 75 73 65 20 6f 66 20 6d 69 6e 69 7a 20 69 6e   use of miniz in
ac80: 73 74 65 61 64 20 6f 66 20 7a 6c 69 62 3f 0a 21  stead of zlib?.!
ac90: 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  ifndef FOSSIL_EN
aca0: 41 42 4c 45 5f 4d 49 4e 49 5a 0a 46 4f 53 53 49  ABLE_MINIZ.FOSSI
acb0: 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 20 3d  L_ENABLE_MINIZ =
acc0: 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61   0.!endif..# Ena
acd0: 62 6c 65 20 4f 70 65 6e 53 53 4c 20 73 75 70 70  ble OpenSSL supp
ace0: 6f 72 74 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53  ort?.!ifndef FOS
acf0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 0a 46  SIL_ENABLE_SSL.F
ad00: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c  OSSIL_ENABLE_SSL
ad10: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45   = 0.!endif..# E
ad20: 6e 61 62 6c 65 20 74 68 65 20 54 63 6c 20 69 6e  nable the Tcl in
ad30: 74 65 67 72 61 74 69 6f 6e 20 73 75 62 73 79 73  tegration subsys
ad40: 74 65 6d 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53  tem?.!ifndef FOS
ad50: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 0a 46  SIL_ENABLE_TCL.F
ad60: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
ad70: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45   = 0.!endif..# E
ad80: 6e 61 62 6c 65 20 54 48 31 20 73 63 72 69 70 74  nable TH1 script
ad90: 73 20 69 6e 20 65 6d 62 65 64 64 65 64 20 64 6f  s in embedded do
ada0: 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65  cumentation file
adb0: 73 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49  s?.!ifndef FOSSI
adc0: 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43  L_ENABLE_TH1_DOC
add0: 53 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  S.FOSSIL_ENABLE_
ade0: 54 48 31 5f 44 4f 43 53 20 3d 20 30 0a 21 65 6e  TH1_DOCS = 0.!en
adf0: 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65 20 54 48  dif..# Enable TH
ae00: 31 20 68 6f 6f 6b 73 20 66 6f 72 20 63 6f 6d 6d  1 hooks for comm
ae10: 61 6e 64 73 20 61 6e 64 20 77 65 62 20 70 61 67  ands and web pag
ae20: 65 73 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53  es?.!ifndef FOSS
ae30: 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f  IL_ENABLE_TH1_HO
ae40: 4f 4b 53 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  OKS.FOSSIL_ENABL
ae50: 45 5f 54 48 31 5f 48 4f 4f 4b 53 20 3d 20 30 0a  E_TH1_HOOKS = 0.
ae60: 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65  !endif..# Enable
ae70: 20 73 75 70 70 6f 72 74 20 66 6f 72 20 57 69 6e   support for Win
ae80: 64 6f 77 73 20 58 50 20 77 69 74 68 20 56 69 73  dows XP with Vis
ae90: 75 61 6c 20 53 74 75 64 69 6f 20 32 30 31 78 3f  ual Studio 201x?
aea0: 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f  .!ifndef FOSSIL_
aeb0: 45 4e 41 42 4c 45 5f 57 49 4e 58 50 0a 46 4f 53  ENABLE_WINXP.FOS
aec0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 57 49 4e 58 50  SIL_ENABLE_WINXP
aed0: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45   = 0.!endif..# E
aee0: 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20 66 6f  nable support fo
aef0: 72 20 74 68 65 20 53 51 4c 69 74 65 20 45 6e 63  r the SQLite Enc
af00: 72 79 70 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f  ryption Extensio
af10: 6e 3f 0a 21 69 66 6e 64 65 66 20 55 53 45 5f 53  n?.!ifndef USE_S
af20: 45 45 0a 55 53 45 5f 53 45 45 20 3d 20 30 0a 21  EE.USE_SEE = 0.!
af30: 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53  endif..!if $(FOS
af40: 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 29 21  SIL_ENABLE_SSL)!
af50: 3d 30 0a 53 53 4c 44 49 52 20 20 20 20 3d 20 24  =0.SSLDIR    = $
af60: 28 42 29 5c 63 6f 6d 70 61 74 5c 6f 70 65 6e 73  (B)\compat\opens
af70: 73 6c 2d 31 2e 30 2e 32 6e 0a 53 53 4c 49 4e 43  sl-1.0.2n.SSLINC
af80: 44 49 52 20 3d 20 24 28 53 53 4c 44 49 52 29 5c  DIR = $(SSLDIR)\
af90: 69 6e 63 33 32 0a 21 69 66 20 24 28 46 4f 53 53  inc32.!if $(FOSS
afa0: 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44  IL_DYNAMIC_BUILD
afb0: 29 21 3d 30 0a 53 53 4c 4c 49 42 44 49 52 20 3d  )!=0.SSLLIBDIR =
afc0: 20 24 28 53 53 4c 44 49 52 29 5c 6f 75 74 33 32   $(SSLDIR)\out32
afd0: 64 6c 6c 0a 21 65 6c 73 65 0a 53 53 4c 4c 49 42  dll.!else.SSLLIB
afe0: 44 49 52 20 3d 20 24 28 53 53 4c 44 49 52 29 5c  DIR = $(SSLDIR)\
aff0: 6f 75 74 33 32 0a 21 65 6e 64 69 66 0a 53 53 4c  out32.!endif.SSL
b000: 4c 46 4c 41 47 53 20 3d 20 2f 6e 6f 6c 6f 67 6f  LFLAGS = /nologo
b010: 20 2f 6f 70 74 3a 72 65 66 20 2f 64 65 62 75 67   /opt:ref /debug
b020: 0a 53 53 4c 4c 49 42 20 20 20 20 3d 20 73 73 6c  .SSLLIB    = ssl
b030: 65 61 79 33 32 2e 6c 69 62 20 6c 69 62 65 61 79  eay32.lib libeay
b040: 33 32 2e 6c 69 62 20 75 73 65 72 33 32 2e 6c 69  32.lib user32.li
b050: 62 20 67 64 69 33 32 2e 6c 69 62 20 63 72 79 70  b gdi32.lib cryp
b060: 74 33 32 2e 6c 69 62 0a 21 69 66 20 22 24 28 50  t32.lib.!if "$(P
b070: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 61 6d 64 36  LATFORM)"=="amd6
b080: 34 22 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52  4" || "$(PLATFOR
b090: 4d 29 22 3d 3d 22 78 36 34 22 0a 21 6d 65 73 73  M)"=="x64".!mess
b0a0: 61 67 65 20 55 73 69 6e 67 20 27 78 36 34 27 20  age Using 'x64' 
b0b0: 70 6c 61 74 66 6f 72 6d 20 66 6f 72 20 4f 70 65  platform for Ope
b0c0: 6e 53 53 4c 2e 2e 2e 0a 23 20 42 55 47 42 55 47  nSSL....# BUGBUG
b0d0: 20 28 4f 70 65 6e 53 53 4c 29 3a 20 55 73 69 6e   (OpenSSL): Usin
b0e0: 67 20 22 6e 6f 2d 73 73 6c 2a 22 20 68 65 72 65  g "no-ssl*" here
b0f0: 20 62 72 65 61 6b 73 20 74 68 65 20 62 75 69 6c   breaks the buil
b100: 64 2e 0a 23 20 53 53 4c 43 4f 4e 46 49 47 20 3d  d..# SSLCONFIG =
b110: 20 56 43 2d 57 49 4e 36 34 41 20 6e 6f 2d 61 73   VC-WIN64A no-as
b120: 6d 20 6e 6f 2d 73 73 6c 32 20 6e 6f 2d 73 73 6c  m no-ssl2 no-ssl
b130: 33 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43  3.SSLCONFIG = VC
b140: 2d 57 49 4e 36 34 41 20 6e 6f 2d 61 73 6d 0a 21  -WIN64A no-asm.!
b150: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41  if $(FOSSIL_DYNA
b160: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53 53  MIC_BUILD)!=0.SS
b170: 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c 43  LCONFIG = $(SSLC
b180: 4f 4e 46 49 47 29 20 73 68 61 72 65 64 0a 21 65  ONFIG) shared.!e
b190: 6c 73 65 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20  lse.SSLCONFIG = 
b1a0: 24 28 53 53 4c 43 4f 4e 46 49 47 29 20 6e 6f 2d  $(SSLCONFIG) no-
b1b0: 73 68 61 72 65 64 0a 21 65 6e 64 69 66 0a 53 53  shared.!endif.SS
b1c0: 4c 53 45 54 55 50 20 20 3d 20 6d 73 5c 64 6f 5f  LSETUP  = ms\do_
b1d0: 77 69 6e 36 34 61 2e 62 61 74 0a 21 69 66 20 24  win64a.bat.!if $
b1e0: 28 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f  (FOSSIL_DYNAMIC_
b1f0: 42 55 49 4c 44 29 21 3d 30 0a 53 53 4c 4e 4d 41  BUILD)!=0.SSLNMA
b200: 4b 45 20 20 3d 20 6d 73 5c 6e 74 64 6c 6c 2e 6d  KE  = ms\ntdll.m
b210: 61 6b 20 61 6c 6c 0a 21 65 6c 73 65 0a 53 53 4c  ak all.!else.SSL
b220: 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 2e 6d  NMAKE  = ms\nt.m
b230: 61 6b 20 61 6c 6c 0a 21 65 6e 64 69 66 0a 23 20  ak all.!endif.# 
b240: 42 55 47 42 55 47 20 28 4f 70 65 6e 53 53 4c 29  BUGBUG (OpenSSL)
b250: 3a 20 55 73 69 6e 67 20 22 4f 50 45 4e 53 53 4c  : Using "OPENSSL
b260: 5f 4e 4f 5f 53 53 4c 2a 22 20 68 65 72 65 20 62  _NO_SSL*" here b
b270: 72 65 61 6b 73 20 64 79 6e 61 6d 69 63 20 62 75  reaks dynamic bu
b280: 69 6c 64 73 2e 0a 21 69 66 20 24 28 46 4f 53 53  ilds..!if $(FOSS
b290: 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44  IL_DYNAMIC_BUILD
b2a0: 29 3d 3d 30 0a 53 53 4c 43 46 4c 41 47 53 20 3d  )==0.SSLCFLAGS =
b2b0: 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53   -DOPENSSL_NO_SS
b2c0: 4c 32 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f  L2 -DOPENSSL_NO_
b2d0: 53 53 4c 33 0a 21 65 6e 64 69 66 0a 21 65 6c 73  SSL3.!endif.!els
b2e0: 65 69 66 20 22 24 28 50 4c 41 54 46 4f 52 4d 29  eif "$(PLATFORM)
b2f0: 22 3d 3d 22 69 61 36 34 22 0a 21 6d 65 73 73 61  "=="ia64".!messa
b300: 67 65 20 55 73 69 6e 67 20 27 69 61 36 34 27 20  ge Using 'ia64' 
b310: 70 6c 61 74 66 6f 72 6d 20 66 6f 72 20 4f 70 65  platform for Ope
b320: 6e 53 53 4c 2e 2e 2e 0a 23 20 42 55 47 42 55 47  nSSL....# BUGBUG
b330: 20 28 4f 70 65 6e 53 53 4c 29 3a 20 55 73 69 6e   (OpenSSL): Usin
b340: 67 20 22 6e 6f 2d 73 73 6c 2a 22 20 68 65 72 65  g "no-ssl*" here
b350: 20 62 72 65 61 6b 73 20 74 68 65 20 62 75 69 6c   breaks the buil
b360: 64 2e 0a 23 20 53 53 4c 43 4f 4e 46 49 47 20 3d  d..# SSLCONFIG =
b370: 20 56 43 2d 57 49 4e 36 34 49 20 6e 6f 2d 61 73   VC-WIN64I no-as
b380: 6d 20 6e 6f 2d 73 73 6c 32 20 6e 6f 2d 73 73 6c  m no-ssl2 no-ssl
b390: 33 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43  3.SSLCONFIG = VC
b3a0: 2d 57 49 4e 36 34 49 20 6e 6f 2d 61 73 6d 0a 21  -WIN64I no-asm.!
b3b0: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41  if $(FOSSIL_DYNA
b3c0: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53 53  MIC_BUILD)!=0.SS
b3d0: 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c 43  LCONFIG = $(SSLC
b3e0: 4f 4e 46 49 47 29 20 73 68 61 72 65 64 0a 21 65  ONFIG) shared.!e
b3f0: 6c 73 65 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20  lse.SSLCONFIG = 
b400: 24 28 53 53 4c 43 4f 4e 46 49 47 29 20 6e 6f 2d  $(SSLCONFIG) no-
b410: 73 68 61 72 65 64 0a 21 65 6e 64 69 66 0a 53 53  shared.!endif.SS
b420: 4c 53 45 54 55 50 20 20 3d 20 6d 73 5c 64 6f 5f  LSETUP  = ms\do_
b430: 77 69 6e 36 34 69 2e 62 61 74 0a 21 69 66 20 24  win64i.bat.!if $
b440: 28 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f  (FOSSIL_DYNAMIC_
b450: 42 55 49 4c 44 29 21 3d 30 0a 53 53 4c 4e 4d 41  BUILD)!=0.SSLNMA
b460: 4b 45 20 20 3d 20 6d 73 5c 6e 74 64 6c 6c 2e 6d  KE  = ms\ntdll.m
b470: 61 6b 20 61 6c 6c 0a 21 65 6c 73 65 0a 53 53 4c  ak all.!else.SSL
b480: 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 2e 6d  NMAKE  = ms\nt.m
b490: 61 6b 20 61 6c 6c 0a 21 65 6e 64 69 66 0a 23 20  ak all.!endif.# 
b4a0: 42 55 47 42 55 47 20 28 4f 70 65 6e 53 53 4c 29  BUGBUG (OpenSSL)
b4b0: 3a 20 55 73 69 6e 67 20 22 4f 50 45 4e 53 53 4c  : Using "OPENSSL
b4c0: 5f 4e 4f 5f 53 53 4c 2a 22 20 68 65 72 65 20 62  _NO_SSL*" here b
b4d0: 72 65 61 6b 73 20 64 79 6e 61 6d 69 63 20 62 75  reaks dynamic bu
b4e0: 69 6c 64 73 2e 0a 21 69 66 20 24 28 46 4f 53 53  ilds..!if $(FOSS
b4f0: 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44  IL_DYNAMIC_BUILD
b500: 29 3d 3d 30 0a 53 53 4c 43 46 4c 41 47 53 20 3d  )==0.SSLCFLAGS =
b510: 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53   -DOPENSSL_NO_SS
b520: 4c 32 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f  L2 -DOPENSSL_NO_
b530: 53 53 4c 33 0a 21 65 6e 64 69 66 0a 21 65 6c 73  SSL3.!endif.!els
b540: 65 0a 21 6d 65 73 73 61 67 65 20 41 73 73 75 6d  e.!message Assum
b550: 69 6e 67 20 27 78 38 36 27 20 70 6c 61 74 66 6f  ing 'x86' platfo
b560: 72 6d 20 66 6f 72 20 4f 70 65 6e 53 53 4c 2e 2e  rm for OpenSSL..
b570: 2e 0a 23 20 42 55 47 42 55 47 20 28 4f 70 65 6e  ..# BUGBUG (Open
b580: 53 53 4c 29 3a 20 55 73 69 6e 67 20 22 6e 6f 2d  SSL): Using "no-
b590: 73 73 6c 2a 22 20 68 65 72 65 20 62 72 65 61 6b  ssl*" here break
b5a0: 73 20 74 68 65 20 62 75 69 6c 64 2e 0a 23 20 53  s the build..# S
b5b0: 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43 2d 57 49  SLCONFIG = VC-WI
b5c0: 4e 33 32 20 6e 6f 2d 61 73 6d 20 6e 6f 2d 73 73  N32 no-asm no-ss
b5d0: 6c 32 20 6e 6f 2d 73 73 6c 33 0a 53 53 4c 43 4f  l2 no-ssl3.SSLCO
b5e0: 4e 46 49 47 20 3d 20 56 43 2d 57 49 4e 33 32 20  NFIG = VC-WIN32 
b5f0: 6e 6f 2d 61 73 6d 0a 21 69 66 20 24 28 46 4f 53  no-asm.!if $(FOS
b600: 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c  SIL_DYNAMIC_BUIL
b610: 44 29 21 3d 30 0a 53 53 4c 43 4f 4e 46 49 47 20  D)!=0.SSLCONFIG 
b620: 3d 20 24 28 53 53 4c 43 4f 4e 46 49 47 29 20 73  = $(SSLCONFIG) s
b630: 68 61 72 65 64 0a 21 65 6c 73 65 0a 53 53 4c 43  hared.!else.SSLC
b640: 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c 43 4f 4e  ONFIG = $(SSLCON
b650: 46 49 47 29 20 6e 6f 2d 73 68 61 72 65 64 0a 21  FIG) no-shared.!
b660: 65 6e 64 69 66 0a 53 53 4c 53 45 54 55 50 20 20  endif.SSLSETUP  
b670: 3d 20 6d 73 5c 64 6f 5f 6d 73 2e 62 61 74 0a 21  = ms\do_ms.bat.!
b680: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41  if $(FOSSIL_DYNA
b690: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53 53  MIC_BUILD)!=0.SS
b6a0: 4c 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 64  LNMAKE  = ms\ntd
b6b0: 6c 6c 2e 6d 61 6b 20 61 6c 6c 0a 21 65 6c 73 65  ll.mak all.!else
b6c0: 0a 53 53 4c 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c  .SSLNMAKE  = ms\
b6d0: 6e 74 2e 6d 61 6b 20 61 6c 6c 0a 21 65 6e 64 69  nt.mak all.!endi
b6e0: 66 0a 23 20 42 55 47 42 55 47 20 28 4f 70 65 6e  f.# BUGBUG (Open
b6f0: 53 53 4c 29 3a 20 55 73 69 6e 67 20 22 4f 50 45  SSL): Using "OPE
b700: 4e 53 53 4c 5f 4e 4f 5f 53 53 4c 2a 22 20 68 65  NSSL_NO_SSL*" he
b710: 72 65 20 62 72 65 61 6b 73 20 64 79 6e 61 6d 69  re breaks dynami
b720: 63 20 62 75 69 6c 64 73 2e 0a 21 69 66 20 24 28  c builds..!if $(
b730: 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42  FOSSIL_DYNAMIC_B
b740: 55 49 4c 44 29 3d 3d 30 0a 53 53 4c 43 46 4c 41  UILD)==0.SSLCFLA
b750: 47 53 20 3d 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e  GS = -DOPENSSL_N
b760: 4f 5f 53 53 4c 32 20 2d 44 4f 50 45 4e 53 53 4c  O_SSL2 -DOPENSSL
b770: 5f 4e 4f 5f 53 53 4c 33 0a 21 65 6e 64 69 66 0a  _NO_SSL3.!endif.
b780: 21 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21  !endif.!endif..!
b790: 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42  if $(FOSSIL_ENAB
b7a0: 4c 45 5f 54 43 4c 29 21 3d 30 0a 54 43 4c 44 49  LE_TCL)!=0.TCLDI
b7b0: 52 20 20 20 20 3d 20 24 28 42 29 5c 63 6f 6d 70  R    = $(B)\comp
b7c0: 61 74 5c 74 63 6c 2d 38 2e 36 0a 54 43 4c 53 52  at\tcl-8.6.TCLSR
b7d0: 43 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52 29  CDIR = $(TCLDIR)
b7e0: 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 24 28 54  .TCLINCDIR = $(T
b7f0: 43 4c 53 52 43 44 49 52 29 5c 67 65 6e 65 72 69  CLSRCDIR)\generi
b800: 63 0a 21 65 6e 64 69 66 0a 0a 23 20 7a 6c 69 62  c.!endif..# zlib
b810: 20 6f 70 74 69 6f 6e 73 0a 5a 49 4e 43 44 49 52   options.ZINCDIR
b820: 20 20 20 3d 20 24 28 42 29 5c 63 6f 6d 70 61 74     = $(B)\compat
b830: 5c 7a 6c 69 62 0a 5a 4c 49 42 44 49 52 20 20 20  \zlib.ZLIBDIR   
b840: 3d 20 24 28 42 29 5c 63 6f 6d 70 61 74 5c 7a 6c  = $(B)\compat\zl
b850: 69 62 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c  ib..!if $(FOSSIL
b860: 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29 21  _DYNAMIC_BUILD)!
b870: 3d 30 0a 5a 4c 49 42 20 20 20 20 20 20 3d 20 7a  =0.ZLIB      = z
b880: 64 6c 6c 2e 6c 69 62 0a 21 65 6c 73 65 0a 5a 4c  dll.lib.!else.ZL
b890: 49 42 20 20 20 20 20 20 3d 20 7a 6c 69 62 2e 6c  IB      = zlib.l
b8a0: 69 62 0a 21 65 6e 64 69 66 0a 0a 49 4e 43 4c 20  ib.!endif..INCL 
b8b0: 20 20 20 20 20 3d 20 2f 49 2e 20 2f 49 24 28 53       = /I. /I$(S
b8c0: 52 43 44 49 52 29 20 2f 49 24 42 5c 77 69 6e 5c  RCDIR) /I$B\win\
b8d0: 69 6e 63 6c 75 64 65 0a 0a 21 69 66 20 24 28 46  include..!if $(F
b8e0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e  OSSIL_ENABLE_MIN
b8f0: 49 5a 29 3d 3d 30 0a 49 4e 43 4c 20 20 20 20 20  IZ)==0.INCL     
b900: 20 3d 20 24 28 49 4e 43 4c 29 20 2f 49 24 28 5a   = $(INCL) /I$(Z
b910: 49 4e 43 44 49 52 29 0a 21 65 6e 64 69 66 0a 0a  INCDIR).!endif..
b920: 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41  !if $(FOSSIL_ENA
b930: 42 4c 45 5f 53 53 4c 29 21 3d 30 0a 49 4e 43 4c  BLE_SSL)!=0.INCL
b940: 20 20 20 20 20 20 3d 20 24 28 49 4e 43 4c 29 20        = $(INCL) 
b950: 2f 49 24 28 53 53 4c 49 4e 43 44 49 52 29 0a 21  /I$(SSLINCDIR).!
b960: 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53  endif..!if $(FOS
b970: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 29 21  SIL_ENABLE_TCL)!
b980: 3d 30 0a 49 4e 43 4c 20 20 20 20 20 20 3d 20 24  =0.INCL      = $
b990: 28 49 4e 43 4c 29 20 2f 49 24 28 54 43 4c 49 4e  (INCL) /I$(TCLIN
b9a0: 43 44 49 52 29 0a 21 65 6e 64 69 66 0a 0a 43 46  CDIR).!endif..CF
b9b0: 4c 41 47 53 20 20 20 20 3d 20 2f 6e 6f 6c 6f 67  LAGS    = /nolog
b9c0: 6f 0a 4c 44 46 4c 41 47 53 20 20 20 3d 0a 0a 21  o.LDFLAGS   =..!
b9d0: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41  if $(FOSSIL_DYNA
b9e0: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 4c 44  MIC_BUILD)!=0.LD
b9f0: 46 4c 41 47 53 20 20 20 3d 20 24 28 4c 44 46 4c  FLAGS   = $(LDFL
ba00: 41 47 53 29 20 2f 4d 41 4e 49 46 45 53 54 0a 21  AGS) /MANIFEST.!
ba10: 65 6c 73 65 0a 4c 44 46 4c 41 47 53 20 20 20 3d  else.LDFLAGS   =
ba20: 20 24 28 4c 44 46 4c 41 47 53 29 20 2f 4e 4f 44   $(LDFLAGS) /NOD
ba30: 45 46 41 55 4c 54 4c 49 42 3a 6d 73 76 63 72 74  EFAULTLIB:msvcrt
ba40: 20 2f 4d 41 4e 49 46 45 53 54 3a 4e 4f 0a 21 65   /MANIFEST:NO.!e
ba50: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53  ndif..!if $(FOSS
ba60: 49 4c 5f 45 4e 41 42 4c 45 5f 57 49 4e 58 50 29  IL_ENABLE_WINXP)
ba70: 21 3d 30 0a 58 50 43 46 4c 41 47 53 20 20 3d 20  !=0.XPCFLAGS  = 
ba80: 24 28 58 50 43 46 4c 41 47 53 29 20 2f 44 5f 57  $(XPCFLAGS) /D_W
ba90: 49 4e 33 32 5f 57 49 4e 4e 54 3d 30 78 30 35 30  IN32_WINNT=0x050
baa0: 31 20 2f 44 5f 55 53 49 4e 47 5f 56 31 31 30 5f  1 /D_USING_V110_
bab0: 53 44 4b 37 31 5f 3d 31 0a 43 46 4c 41 47 53 20  SDK71_=1.CFLAGS 
bac0: 20 20 20 3d 20 24 28 43 46 4c 41 47 53 29 20 24     = $(CFLAGS) $
bad0: 28 58 50 43 46 4c 41 47 53 29 0a 21 69 66 20 22  (XPCFLAGS).!if "
bae0: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 61  $(PLATFORM)"=="a
baf0: 6d 64 36 34 22 20 7c 7c 20 22 24 28 50 4c 41 54  md64" || "$(PLAT
bb00: 46 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a 58 50  FORM)"=="x64".XP
bb10: 4c 44 46 4c 41 47 53 20 3d 20 24 28 58 50 4c 44  LDFLAGS = $(XPLD
bb20: 46 4c 41 47 53 29 20 2f 53 55 42 53 59 53 54 45  FLAGS) /SUBSYSTE
bb30: 4d 3a 43 4f 4e 53 4f 4c 45 2c 35 2e 30 32 0a 21  M:CONSOLE,5.02.!
bb40: 65 6c 73 65 0a 58 50 4c 44 46 4c 41 47 53 20 3d  else.XPLDFLAGS =
bb50: 20 24 28 58 50 4c 44 46 4c 41 47 53 29 20 2f 53   $(XPLDFLAGS) /S
bb60: 55 42 53 59 53 54 45 4d 3a 43 4f 4e 53 4f 4c 45  UBSYSTEM:CONSOLE
bb70: 2c 35 2e 30 31 0a 21 65 6e 64 69 66 0a 4c 44 46  ,5.01.!endif.LDF
bb80: 4c 41 47 53 20 20 20 3d 20 24 28 4c 44 46 4c 41  LAGS   = $(LDFLA
bb90: 47 53 29 20 24 28 58 50 4c 44 46 4c 41 47 53 29  GS) $(XPLDFLAGS)
bba0: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46  .!endif..!if $(F
bbb0: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
bbc0: 49 4c 44 29 21 3d 30 0a 21 69 66 20 24 28 44 45  ILD)!=0.!if $(DE
bbd0: 42 55 47 29 21 3d 30 0a 43 52 54 46 4c 41 47 53  BUG)!=0.CRTFLAGS
bbe0: 20 3d 20 2f 4d 44 64 0a 21 65 6c 73 65 0a 43 52   = /MDd.!else.CR
bbf0: 54 46 4c 41 47 53 20 3d 20 2f 4d 44 0a 21 65 6e  TFLAGS = /MD.!en
bc00: 64 69 66 0a 21 65 6c 73 65 0a 21 69 66 20 24 28  dif.!else.!if $(
bc10: 44 45 42 55 47 29 21 3d 30 0a 43 52 54 46 4c 41  DEBUG)!=0.CRTFLA
bc20: 47 53 20 3d 20 2f 4d 54 64 0a 21 65 6c 73 65 0a  GS = /MTd.!else.
bc30: 43 52 54 46 4c 41 47 53 20 3d 20 2f 4d 54 0a 21  CRTFLAGS = /MT.!
bc40: 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21 69  endif.!endif..!i
bc50: 66 20 24 28 44 45 42 55 47 29 21 3d 30 0a 43 46  f $(DEBUG)!=0.CF
bc60: 4c 41 47 53 20 20 20 20 3d 20 24 28 43 46 4c 41  LAGS    = $(CFLA
bc70: 47 53 29 20 2f 5a 69 20 24 28 43 52 54 46 4c 41  GS) /Zi $(CRTFLA
bc80: 47 53 29 20 2f 4f 64 0a 4c 44 46 4c 41 47 53 20  GS) /Od.LDFLAGS 
bc90: 20 20 3d 20 24 28 4c 44 46 4c 41 47 53 29 20 2f    = $(LDFLAGS) /
bca0: 44 45 42 55 47 0a 21 65 6c 73 65 0a 43 46 4c 41  DEBUG.!else.CFLA
bcb0: 47 53 20 20 20 20 3d 20 24 28 43 46 4c 41 47 53  GS    = $(CFLAGS
bcc0: 29 20 24 28 43 52 54 46 4c 41 47 53 29 20 2f 4f  ) $(CRTFLAGS) /O
bcd0: 32 0a 21 65 6e 64 69 66 0a 0a 42 43 43 20 20 20  2.!endif..BCC   
bce0: 20 20 20 20 3d 20 24 28 43 43 29 20 24 28 43 46      = $(CC) $(CF
bcf0: 4c 41 47 53 29 0a 54 43 43 20 20 20 20 20 20 20  LAGS).TCC       
bd00: 3d 20 24 28 43 43 29 20 2f 63 20 24 28 43 46 4c  = $(CC) /c $(CFL
bd10: 41 47 53 29 20 24 28 4d 53 43 44 45 46 29 20 24  AGS) $(MSCDEF) $
bd20: 28 49 4e 43 4c 29 0a 52 43 43 20 20 20 20 20 20  (INCL).RCC      
bd30: 20 3d 20 24 28 52 43 29 20 2f 44 5f 57 49 4e 33   = $(RC) /D_WIN3
bd40: 32 20 2f 44 5f 4d 53 43 5f 56 45 52 20 24 28 4d  2 /D_MSC_VER $(M
bd50: 53 43 44 45 46 29 20 24 28 49 4e 43 4c 29 0a 4d  SCDEF) $(INCL).M
bd60: 54 43 20 20 20 20 20 20 20 3d 20 6d 74 0a 4c 49  TC       = mt.LI
bd70: 42 53 20 20 20 20 20 20 3d 20 77 73 32 5f 33 32  BS      = ws2_32
bd80: 2e 6c 69 62 20 61 64 76 61 70 69 33 32 2e 6c 69  .lib advapi32.li
bd90: 62 0a 4c 49 42 44 49 52 20 20 20 20 3d 0a 0a 21  b.LIBDIR    =..!
bda0: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41  if $(FOSSIL_DYNA
bdb0: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 54 43  MIC_BUILD)!=0.TC
bdc0: 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29  C       = $(TCC)
bdd0: 20 2f 44 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49   /DFOSSIL_DYNAMI
bde0: 43 5f 42 55 49 4c 44 3d 31 0a 52 43 43 20 20 20  C_BUILD=1.RCC   
bdf0: 20 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44 46      = $(RCC) /DF
be00: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
be10: 49 4c 44 3d 31 0a 21 65 6e 64 69 66 0a 0a 21 69  ILD=1.!endif..!i
be20: 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  f $(FOSSIL_ENABL
be30: 45 5f 4d 49 4e 49 5a 29 3d 3d 30 0a 4c 49 42 53  E_MINIZ)==0.LIBS
be40: 20 20 20 20 20 20 3d 20 24 28 4c 49 42 53 29 20        = $(LIBS) 
be50: 24 28 5a 4c 49 42 29 0a 4c 49 42 44 49 52 20 20  $(ZLIB).LIBDIR  
be60: 20 20 3d 20 24 28 4c 49 42 44 49 52 29 20 2f 4c    = $(LIBDIR) /L
be70: 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 44 49 52  IBPATH:$(ZLIBDIR
be80: 29 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28  ).!endif..!if $(
be90: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49  FOSSIL_ENABLE_MI
bea0: 4e 49 5a 29 21 3d 30 0a 54 43 43 20 20 20 20 20  NIZ)!=0.TCC     
beb0: 20 20 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53    = $(TCC) /DFOS
bec0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a  SIL_ENABLE_MINIZ
bed0: 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24  =1.RCC       = $
bee0: 28 52 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45  (RCC) /DFOSSIL_E
bef0: 4e 41 42 4c 45 5f 4d 49 4e 49 5a 3d 31 0a 21 65  NABLE_MINIZ=1.!e
bf00: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53  ndif..!if $(FOSS
bf10: 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 29 21  IL_ENABLE_JSON)!
bf20: 3d 30 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24  =0.TCC       = $
bf30: 28 54 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45  (TCC) /DFOSSIL_E
bf40: 4e 41 42 4c 45 5f 4a 53 4f 4e 3d 31 0a 52 43 43  NABLE_JSON=1.RCC
bf50: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20         = $(RCC) 
bf60: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  /DFOSSIL_ENABLE_
bf70: 4a 53 4f 4e 3d 31 0a 21 65 6e 64 69 66 0a 0a 21  JSON=1.!endif..!
bf80: 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42  if $(FOSSIL_ENAB
bf90: 4c 45 5f 53 53 4c 29 21 3d 30 0a 54 43 43 20 20  LE_SSL)!=0.TCC  
bfa0: 20 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f 44       = $(TCC) /D
bfb0: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53  FOSSIL_ENABLE_SS
bfc0: 4c 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20  L=1.RCC       = 
bfd0: 24 28 52 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f  $(RCC) /DFOSSIL_
bfe0: 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 4c 49 42  ENABLE_SSL=1.LIB
bff0: 53 20 20 20 20 20 20 3d 20 24 28 4c 49 42 53 29  S      = $(LIBS)
c000: 20 24 28 53 53 4c 4c 49 42 29 0a 4c 49 42 44 49   $(SSLLIB).LIBDI
c010: 52 20 20 20 20 3d 20 24 28 4c 49 42 44 49 52 29  R    = $(LIBDIR)
c020: 20 2f 4c 49 42 50 41 54 48 3a 24 28 53 53 4c 4c   /LIBPATH:$(SSLL
c030: 49 42 44 49 52 29 0a 21 65 6e 64 69 66 0a 0a 21  IBDIR).!endif..!
c040: 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42  if $(FOSSIL_ENAB
c050: 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 48  LE_EXEC_REL_PATH
c060: 53 29 21 3d 30 0a 54 43 43 20 20 20 20 20 20 20  S)!=0.TCC       
c070: 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53 53 49  = $(TCC) /DFOSSI
c080: 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 43 5f 52 45  L_ENABLE_EXEC_RE
c090: 4c 5f 50 41 54 48 53 3d 31 0a 52 43 43 20 20 20  L_PATHS=1.RCC   
c0a0: 20 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44 46      = $(RCC) /DF
c0b0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45  OSSIL_ENABLE_EXE
c0c0: 43 5f 52 45 4c 5f 50 41 54 48 53 3d 31 0a 21 65  C_REL_PATHS=1.!e
c0d0: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53  ndif..!if $(FOSS
c0e0: 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59  IL_ENABLE_LEGACY
c0f0: 5f 4d 56 5f 52 4d 29 21 3d 30 0a 54 43 43 20 20  _MV_RM)!=0.TCC  
c100: 20 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f 44       = $(TCC) /D
c110: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45  FOSSIL_ENABLE_LE
c120: 47 41 43 59 5f 4d 56 5f 52 4d 3d 31 0a 52 43 43  GACY_MV_RM=1.RCC
c130: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20         = $(RCC) 
c140: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  /DFOSSIL_ENABLE_
c150: 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 3d 31 0a 21  LEGACY_MV_RM=1.!
c160: 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53  endif..!if $(FOS
c170: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44  SIL_ENABLE_TH1_D
c180: 4f 43 53 29 21 3d 30 0a 54 43 43 20 20 20 20 20  OCS)!=0.TCC     
c190: 20 20 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53    = $(TCC) /DFOS
c1a0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44  SIL_ENABLE_TH1_D
c1b0: 4f 43 53 3d 31 0a 52 43 43 20 20 20 20 20 20 20  OCS=1.RCC       
c1c0: 3d 20 24 28 52 43 43 29 20 2f 44 46 4f 53 53 49  = $(RCC) /DFOSSI
c1d0: 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43  L_ENABLE_TH1_DOC
c1e0: 53 3d 31 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20  S=1.!endif..!if 
c1f0: 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  $(FOSSIL_ENABLE_
c200: 54 48 31 5f 48 4f 4f 4b 53 29 21 3d 30 0a 54 43  TH1_HOOKS)!=0.TC
c210: 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29  C       = $(TCC)
c220: 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45   /DFOSSIL_ENABLE
c230: 5f 54 48 31 5f 48 4f 4f 4b 53 3d 31 0a 52 43 43  _TH1_HOOKS=1.RCC
c240: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20         = $(RCC) 
c250: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  /DFOSSIL_ENABLE_
c260: 54 48 31 5f 48 4f 4f 4b 53 3d 31 0a 21 65 6e 64  TH1_HOOKS=1.!end
c270: 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c  if..!if $(FOSSIL
c280: 5f 45 4e 41 42 4c 45 5f 54 43 4c 29 21 3d 30 0a  _ENABLE_TCL)!=0.
c290: 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 54 43  TCC       = $(TC
c2a0: 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42  C) /DFOSSIL_ENAB
c2b0: 4c 45 5f 54 43 4c 3d 31 0a 52 43 43 20 20 20 20  LE_TCL=1.RCC    
c2c0: 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44 46 4f     = $(RCC) /DFO
c2d0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 3d  SSIL_ENABLE_TCL=
c2e0: 31 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 28  1.TCC       = $(
c2f0: 54 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e  TCC) /DFOSSIL_EN
c300: 41 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31  ABLE_TCL_STUBS=1
c310: 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52  .RCC       = $(R
c320: 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41  CC) /DFOSSIL_ENA
c330: 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 0a  BLE_TCL_STUBS=1.
c340: 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 54 43  TCC       = $(TC
c350: 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42  C) /DFOSSIL_ENAB
c360: 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45 5f 53  LE_TCL_PRIVATE_S
c370: 54 55 42 53 3d 31 0a 52 43 43 20 20 20 20 20 20  TUBS=1.RCC      
c380: 20 3d 20 24 28 52 43 43 29 20 2f 44 46 4f 53 53   = $(RCC) /DFOSS
c390: 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 50 52  IL_ENABLE_TCL_PR
c3a0: 49 56 41 54 45 5f 53 54 55 42 53 3d 31 0a 54 43  IVATE_STUBS=1.TC
c3b0: 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29  C       = $(TCC)
c3c0: 20 2f 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53   /DUSE_TCL_STUBS
c3d0: 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24  =1.RCC       = $
c3e0: 28 52 43 43 29 20 2f 44 55 53 45 5f 54 43 4c 5f  (RCC) /DUSE_TCL_
c3f0: 53 54 55 42 53 3d 31 0a 21 65 6e 64 69 66 0a 0a  STUBS=1.!endif..
c400: 21 69 66 20 24 28 55 53 45 5f 53 45 45 29 21 3d  !if $(USE_SEE)!=
c410: 30 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 28  0.TCC       = $(
c420: 54 43 43 29 20 2f 44 55 53 45 5f 53 45 45 3d 31  TCC) /DUSE_SEE=1
c430: 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52  .RCC       = $(R
c440: 43 43 29 20 2f 44 55 53 45 5f 53 45 45 3d 31 0a  CC) /DUSE_SEE=1.
c450: 21 65 6e 64 69 66 0a 7d 0a 72 65 67 73 75 62 20  !endif.}.regsub 
c460: 2d 61 6c 6c 20 7b 5b 2d 5d 44 7d 20 5b 6a 6f 69  -all {[-]D} [joi
c470: 6e 20 24 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f  n $SQLITE_WIN32_
c480: 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d 20 7b 2f 44  OPTIONS { }] {/D
c490: 7d 20 4d 53 43 5f 53 51 4c 49 54 45 5f 4f 50 54  } MSC_SQLITE_OPT
c4a0: 49 4f 4e 53 0a 73 65 74 20 6a 20 22 20 5c 5c 5c  IONS.set j " \\\
c4b0: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  n               
c4c0: 20 20 22 0a 77 72 69 74 65 6c 6e 20 22 53 51 4c    ".writeln "SQL
c4d0: 49 54 45 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a  ITE_OPTIONS = [j
c4e0: 6f 69 6e 20 24 4d 53 43 5f 53 51 4c 49 54 45 5f  oin $MSC_SQLITE_
c4f0: 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 0a 0a  OPTIONS $j]\n"..
c500: 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 5b 2d 5d  regsub -all {[-]
c510: 44 7d 20 5b 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f  D} [join $SHELL_
c520: 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 7b 20  WIN32_OPTIONS { 
c530: 7d 5d 20 7b 2f 44 7d 20 4d 53 43 5f 53 48 45 4c  }] {/D} MSC_SHEL
c540: 4c 5f 4f 50 54 49 4f 4e 53 0a 73 65 74 20 6a 20  L_OPTIONS.set j 
c550: 22 20 5c 5c 5c 6e 20 20 20 20 20 20 20 20 20 20  " \\\n          
c560: 20 20 20 20 20 20 22 0a 77 72 69 74 65 6c 6e 20        ".writeln 
c570: 22 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d  "SHELL_OPTIONS =
c580: 20 5b 6a 6f 69 6e 20 24 4d 53 43 5f 53 48 45 4c   [join $MSC_SHEL
c590: 4c 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22  L_OPTIONS $j]\n"
c5a0: 0a 0a 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 5b  ..regsub -all {[
c5b0: 2d 5d 44 7d 20 5b 6a 6f 69 6e 20 24 4d 49 4e 49  -]D} [join $MINI
c5c0: 5a 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20  Z_WIN32_OPTIONS 
c5d0: 7b 20 7d 5d 20 7b 2f 44 7d 20 4d 53 43 5f 4d 49  { }] {/D} MSC_MI
c5e0: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 0a 73 65 74 20  NIZ_OPTIONS.set 
c5f0: 6a 20 22 20 5c 5c 5c 6e 20 20 20 20 20 20 20 20  j " \\\n        
c600: 20 20 20 20 20 20 20 20 22 0a 77 72 69 74 65 6c          ".writel
c610: 6e 20 22 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53  n "MINIZ_OPTIONS
c620: 20 3d 20 5b 6a 6f 69 6e 20 24 4d 53 43 5f 4d 49   = [join $MSC_MI
c630: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c  NIZ_OPTIONS $j]\
c640: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e  n"..writeln -non
c650: 65 77 6c 69 6e 65 20 22 53 52 43 20 20 20 3d 20  ewline "SRC   = 
c660: 22 0a 73 65 74 20 69 20 30 0a 66 6f 72 65 61 63  ".set i 0.foreac
c670: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
c680: 20 7b 0a 20 20 69 66 20 7b 24 69 20 3e 20 30 7d   {.  if {$i > 0}
c690: 20 7b 0a 20 20 20 20 77 72 69 74 65 6c 6e 20 22   {.    writeln "
c6a0: 20 5c 5c 22 0a 20 20 20 20 77 72 69 74 65 6c 6e   \\".    writeln
c6b0: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20   -nonewline "   
c6c0: 20 20 20 20 20 22 0a 20 20 7d 0a 20 20 77 72 69       ".  }.  wri
c6d0: 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20  teln -nonewline 
c6e0: 22 24 7b 73 7d 5f 2e 63 22 3b 20 69 6e 63 72 20  "${s}_.c"; incr 
c6f0: 69 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22  i.}.writeln "\n"
c700: 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c  .writeln -nonewl
c710: 69 6e 65 20 22 45 58 54 52 41 5f 46 49 4c 45 53  ine "EXTRA_FILES
c720: 20 20 20 3d 20 22 0a 73 65 74 20 69 20 30 0a 66     = ".set i 0.f
c730: 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20  oreach s [lsort 
c740: 24 65 78 74 72 61 5f 66 69 6c 65 73 5d 20 7b 0a  $extra_files] {.
c750: 20 20 69 66 20 7b 24 69 20 3e 20 30 7d 20 7b 0a    if {$i > 0} {.
c760: 20 20 20 20 77 72 69 74 65 6c 6e 20 22 20 5c 5c      writeln " \\
c770: 22 0a 20 20 20 20 77 72 69 74 65 6c 6e 20 2d 6e  ".    writeln -n
c780: 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20 20 20 20  onewline "      
c790: 20 20 22 0a 20 20 7d 0a 20 20 77 72 69 74 65 6c    ".  }.  writel
c7a0: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 5c 24  n -nonewline "\$
c7b0: 28 53 52 43 44 49 52 29 5c 5c 24 7b 73 7d 22 3b  (SRCDIR)\\${s}";
c7c0: 20 69 6e 63 72 20 69 0a 7d 0a 77 72 69 74 65 6c   incr i.}.writel
c7d0: 6e 20 22 5c 6e 22 0a 73 65 74 20 41 64 64 69 74  n "\n".set Addit
c7e0: 69 6f 6e 61 6c 4f 62 6a 20 5b 6c 69 73 74 20 73  ionalObj [list s
c7f0: 68 65 6c 6c 20 73 71 6c 69 74 65 33 20 74 68 20  hell sqlite3 th 
c800: 74 68 5f 6c 61 6e 67 20 74 68 5f 74 63 6c 20 63  th_lang th_tcl c
c810: 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  son_amalgamation
c820: 5d 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77  ].writeln -nonew
c830: 6c 69 6e 65 20 22 4f 42 4a 20 20 20 3d 20 22 0a  line "OBJ   = ".
c840: 73 65 74 20 69 20 30 0a 66 6f 72 65 61 63 68 20  set i 0.foreach 
c850: 73 20 5b 6c 73 6f 72 74 20 5b 63 6f 6e 63 61 74  s [lsort [concat
c860: 20 24 73 72 63 20 24 41 64 64 69 74 69 6f 6e 61   $src $Additiona
c870: 6c 4f 62 6a 5d 5d 20 7b 0a 20 20 69 66 20 7b 24  lObj]] {.  if {$
c880: 69 20 3e 20 30 7d 20 7b 0a 20 20 20 20 77 72 69  i > 0} {.    wri
c890: 74 65 6c 6e 20 22 20 5c 5c 22 0a 20 20 20 20 77  teln " \\".    w
c8a0: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
c8b0: 65 20 22 20 20 20 20 20 20 20 20 22 0a 20 20 7d  e "        ".  }
c8c0: 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  .  writeln -none
c8d0: 77 6c 69 6e 65 20 22 5c 24 28 4f 58 29 5c 5c 24  wline "\$(OX)\\$
c8e0: 73 5c 24 4f 22 3b 20 69 6e 63 72 20 69 0a 7d 0a  s\$O"; incr i.}.
c8f0: 69 66 20 7b 24 69 20 3e 20 30 7d 20 7b 0a 20 20  if {$i > 0} {.  
c900: 77 72 69 74 65 6c 6e 20 22 20 5c 5c 22 0a 7d 0a  writeln " \\".}.
c910: 77 72 69 74 65 6c 6e 20 22 21 69 66 20 5c 24 28  writeln "!if \$(
c920: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49  FOSSIL_ENABLE_MI
c930: 4e 49 5a 29 21 3d 30 22 0a 77 72 69 74 65 6c 6e  NIZ)!=0".writeln
c940: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20   -nonewline "   
c950: 20 20 20 20 20 22 0a 77 72 69 74 65 6c 6e 20 22       ".writeln "
c960: 5c 24 28 4f 58 29 5c 5c 6d 69 6e 69 7a 5c 24 4f  \$(OX)\\miniz\$O
c970: 20 5c 5c 22 3b 20 69 6e 63 72 20 69 0a 77 72 69   \\"; incr i.wri
c980: 74 65 6c 6e 20 22 21 65 6e 64 69 66 22 0a 77 72  teln "!endif".wr
c990: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65  iteln -nonewline
c9a0: 20 22 20 20 20 20 20 20 20 20 5c 24 28 4f 58 29   "        \$(OX)
c9b0: 5c 5c 66 6f 73 73 69 6c 2e 72 65 73 5c 6e 5c 6e  \\fossil.res\n\n
c9c0: 22 0a 77 72 69 74 65 6c 6e 20 5b 73 74 72 69 6e  ".writeln [strin
c9d0: 67 20 6d 61 70 20 5b 6c 69 73 74 20 3c 3c 3c 4e  g map [list <<<N
c9e0: 45 58 54 5f 4c 49 4e 45 3e 3e 3e 20 5c 5c 5d 20  EXT_LINE>>> \\] 
c9f0: 7b 0a 41 50 50 4e 41 4d 45 20 20 20 20 3d 20 24  {.APPNAME    = $
ca00: 28 4f 58 29 5c 66 6f 73 73 69 6c 24 28 45 29 0a  (OX)\fossil$(E).
ca10: 50 44 42 4e 41 4d 45 20 20 20 20 3d 20 24 28 4f  PDBNAME    = $(O
ca20: 58 29 5c 66 6f 73 73 69 6c 24 28 50 29 0a 41 50  X)\fossil$(P).AP
ca30: 50 54 41 52 47 45 54 53 20 3d 0a 0a 61 6c 6c 3a  PTARGETS =..all:
ca40: 20 24 28 4f 58 29 20 24 28 41 50 50 4e 41 4d 45   $(OX) $(APPNAME
ca50: 29 0a 0a 7a 6c 69 62 3a 0a 09 40 65 63 68 6f 20  )..zlib:..@echo 
ca60: 42 75 69 6c 64 69 6e 67 20 7a 6c 69 62 20 66 72  Building zlib fr
ca70: 6f 6d 20 22 24 28 5a 4c 49 42 44 49 52 29 22 2e  om "$(ZLIBDIR)".
ca80: 2e 2e 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f  ...!if $(FOSSIL_
ca90: 45 4e 41 42 4c 45 5f 57 49 4e 58 50 29 21 3d 30  ENABLE_WINXP)!=0
caa0: 0a 09 40 70 75 73 68 64 20 22 24 28 5a 4c 49 42  ..@pushd "$(ZLIB
cab0: 44 49 52 29 22 20 26 26 20 24 28 4d 41 4b 45 29  DIR)" && $(MAKE)
cac0: 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b 65 66 69   /f win32\Makefi
cad0: 6c 65 2e 6d 73 63 20 24 28 5a 4c 49 42 29 20 22  le.msc $(ZLIB) "
cae0: 43 43 3d 63 6c 20 24 28 58 50 43 46 4c 41 47 53  CC=cl $(XPCFLAGS
caf0: 29 22 20 22 4c 44 3d 6c 69 6e 6b 20 24 28 58 50  )" "LD=link $(XP
cb00: 4c 44 46 4c 41 47 53 29 22 20 26 26 20 70 6f 70  LDFLAGS)" && pop
cb10: 64 0a 21 65 6c 73 65 0a 09 40 70 75 73 68 64 20  d.!else..@pushd 
cb20: 22 24 28 5a 4c 49 42 44 49 52 29 22 20 26 26 20  "$(ZLIBDIR)" && 
cb30: 24 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33 32  $(MAKE) /f win32
cb40: 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 24 28  \Makefile.msc $(
cb50: 5a 4c 49 42 29 20 26 26 20 70 6f 70 64 0a 21 65  ZLIB) && popd.!e
cb60: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53  ndif..!if $(FOSS
cb70: 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 29 21 3d  IL_ENABLE_SSL)!=
cb80: 30 0a 6f 70 65 6e 73 73 6c 3a 0a 09 40 65 63 68  0.openssl:..@ech
cb90: 6f 20 42 75 69 6c 64 69 6e 67 20 4f 70 65 6e 53  o Building OpenS
cba0: 53 4c 20 66 72 6f 6d 20 22 24 28 53 53 4c 44 49  SL from "$(SSLDI
cbb0: 52 29 22 2e 2e 2e 0a 21 69 66 20 22 24 28 50 45  R)"....!if "$(PE
cbc0: 52 4c 44 49 52 29 22 20 21 3d 20 22 22 0a 09 40  RLDIR)" != ""..@
cbd0: 73 65 74 20 50 41 54 48 3d 24 28 50 45 52 4c 44  set PATH=$(PERLD
cbe0: 49 52 29 3b 24 28 50 41 54 48 29 0a 21 65 6e 64  IR);$(PATH).!end
cbf0: 69 66 0a 09 40 70 75 73 68 64 20 22 24 28 53 53  if..@pushd "$(SS
cc00: 4c 44 49 52 29 22 20 26 26 20 24 28 50 45 52 4c  LDIR)" && $(PERL
cc10: 29 20 43 6f 6e 66 69 67 75 72 65 20 24 28 53 53  ) Configure $(SS
cc20: 4c 43 4f 4e 46 49 47 29 20 26 26 20 70 6f 70 64  LCONFIG) && popd
cc30: 0a 09 40 70 75 73 68 64 20 22 24 28 53 53 4c 44  ..@pushd "$(SSLD
cc40: 49 52 29 22 20 26 26 20 63 61 6c 6c 20 24 28 53  IR)" && call $(S
cc50: 53 4c 53 45 54 55 50 29 20 26 26 20 70 6f 70 64  SLSETUP) && popd
cc60: 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e  .!if $(FOSSIL_EN
cc70: 41 42 4c 45 5f 57 49 4e 58 50 29 21 3d 30 0a 09  ABLE_WINXP)!=0..
cc80: 40 70 75 73 68 64 20 22 24 28 53 53 4c 44 49 52  @pushd "$(SSLDIR
cc90: 29 22 20 26 26 20 24 28 4d 41 4b 45 29 20 2f 66  )" && $(MAKE) /f
cca0: 20 24 28 53 53 4c 4e 4d 41 4b 45 29 20 22 43 43   $(SSLNMAKE) "CC
ccb0: 3d 63 6c 20 24 28 53 53 4c 43 46 4c 41 47 53 29  =cl $(SSLCFLAGS)
ccc0: 20 24 28 58 50 43 46 4c 41 47 53 29 22 20 22 4c   $(XPCFLAGS)" "L
ccd0: 46 4c 41 47 53 3d 24 28 53 53 4c 4c 46 4c 41 47  FLAGS=$(SSLLFLAG
cce0: 53 29 20 24 28 58 50 4c 44 46 4c 41 47 53 29 22  S) $(XPLDFLAGS)"
ccf0: 20 26 26 20 70 6f 70 64 0a 21 65 6c 73 65 0a 09   && popd.!else..
cd00: 40 70 75 73 68 64 20 22 24 28 53 53 4c 44 49 52  @pushd "$(SSLDIR
cd10: 29 22 20 26 26 20 24 28 4d 41 4b 45 29 20 2f 66  )" && $(MAKE) /f
cd20: 20 24 28 53 53 4c 4e 4d 41 4b 45 29 20 22 43 43   $(SSLNMAKE) "CC
cd30: 3d 63 6c 20 24 28 53 53 4c 43 46 4c 41 47 53 29  =cl $(SSLCFLAGS)
cd40: 22 20 26 26 20 70 6f 70 64 0a 21 65 6e 64 69 66  " && popd.!endif
cd50: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46  .!endif..!if $(F
cd60: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e  OSSIL_ENABLE_MIN
cd70: 49 5a 29 3d 3d 30 0a 21 69 66 20 24 28 46 4f 53  IZ)==0.!if $(FOS
cd80: 53 49 4c 5f 42 55 49 4c 44 5f 5a 4c 49 42 29 21  SIL_BUILD_ZLIB)!
cd90: 3d 30 0a 41 50 50 54 41 52 47 45 54 53 20 3d 20  =0.APPTARGETS = 
cda0: 24 28 41 50 50 54 41 52 47 45 54 53 29 20 7a 6c  $(APPTARGETS) zl
cdb0: 69 62 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69 66  ib.!endif.!endif
cdc0: 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45  ..!if $(FOSSIL_E
cdd0: 4e 41 42 4c 45 5f 53 53 4c 29 21 3d 30 0a 21 69  NABLE_SSL)!=0.!i
cde0: 66 20 24 28 46 4f 53 53 49 4c 5f 42 55 49 4c 44  f $(FOSSIL_BUILD
cdf0: 5f 53 53 4c 29 21 3d 30 0a 41 50 50 54 41 52 47  _SSL)!=0.APPTARG
ce00: 45 54 53 20 3d 20 24 28 41 50 50 54 41 52 47 45  ETS = $(APPTARGE
ce10: 54 53 29 20 6f 70 65 6e 73 73 6c 0a 21 65 6e 64  TS) openssl.!end
ce20: 69 66 0a 21 65 6e 64 69 66 0a 0a 24 28 41 50 50  if.!endif..$(APP
ce30: 4e 41 4d 45 29 20 3a 20 24 28 41 50 50 54 41 52  NAME) : $(APPTAR
ce40: 47 45 54 53 29 20 74 72 61 6e 73 6c 61 74 65 24  GETS) translate$
ce50: 45 20 6d 6b 69 6e 64 65 78 24 45 20 63 6f 64 65  E mkindex$E code
ce60: 63 68 65 63 6b 31 24 45 20 68 65 61 64 65 72 73  check1$E headers
ce70: 20 24 28 4f 42 4a 29 20 24 28 4f 58 29 5c 6c 69   $(OBJ) $(OX)\li
ce80: 6e 6b 6f 70 74 73 0a 09 63 64 20 24 28 4f 58 29  nkopts..cd $(OX)
ce90: 0a 09 63 6f 64 65 63 68 65 63 6b 31 24 45 20 24  ..codecheck1$E $
cea0: 28 53 52 43 29 0a 09 6c 69 6e 6b 20 24 28 4c 44  (SRC)..link $(LD
ceb0: 46 4c 41 47 53 29 20 2f 4f 55 54 3a 24 40 20 24  FLAGS) /OUT:$@ $
cec0: 28 4c 49 42 44 49 52 29 20 57 73 65 74 61 72 67  (LIBDIR) Wsetarg
ced0: 76 2e 6f 62 6a 20 66 6f 73 73 69 6c 2e 72 65 73  v.obj fossil.res
cee0: 20 40 6c 69 6e 6b 6f 70 74 73 0a 09 69 66 20 65   @linkopts..if e
cef0: 78 69 73 74 20 24 40 2e 6d 61 6e 69 66 65 73 74  xist $@.manifest
cf00: 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e   <<<NEXT_LINE>>>
cf10: 0a 09 09 24 28 4d 54 43 29 20 2d 6e 6f 6c 6f 67  ...$(MTC) -nolog
cf20: 6f 20 2d 6d 61 6e 69 66 65 73 74 20 24 40 2e 6d  o -manifest $@.m
cf30: 61 6e 69 66 65 73 74 20 2d 6f 75 74 70 75 74 72  anifest -outputr
cf40: 65 73 6f 75 72 63 65 3a 24 40 3b 31 0a 0a 24 28  esource:$@;1..$(
cf50: 4f 58 29 5c 6c 69 6e 6b 6f 70 74 73 3a 20 24 42  OX)\linkopts: $B
cf60: 5c 77 69 6e 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73  \win\Makefile.ms
cf70: 63 7d 5d 0a 73 65 74 20 72 65 64 69 72 20 7b 3e  c}].set redir {>
cf80: 7d 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f  }.foreach s [lso
cf90: 72 74 20 5b 63 6f 6e 63 61 74 20 24 73 72 63 20  rt [concat $src 
cfa0: 24 41 64 64 69 74 69 6f 6e 61 6c 4f 62 6a 5d 5d  $AdditionalObj]]
cfb0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 74   {.  writeln "\t
cfc0: 65 63 68 6f 20 5c 24 28 4f 58 29 5c 5c 24 73 2e  echo \$(OX)\\$s.
cfd0: 6f 62 6a 20 24 72 65 64 69 72 20 5c 24 40 22 0a  obj $redir \$@".
cfe0: 20 20 73 65 74 20 72 65 64 69 72 20 7b 3e 3e 7d    set redir {>>}
cff0: 0a 7d 0a 73 65 74 20 72 65 64 69 72 20 7b 3e 3e  .}.set redir {>>
d000: 7d 0a 77 72 69 74 65 6c 6e 20 22 21 69 66 20 5c  }.writeln "!if \
d010: 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  $(FOSSIL_ENABLE_
d020: 4d 49 4e 49 5a 29 21 3d 30 22 0a 77 72 69 74 65  MINIZ)!=0".write
d030: 6c 6e 20 22 5c 74 65 63 68 6f 20 5c 24 28 4f 58  ln "\techo \$(OX
d040: 29 5c 5c 6d 69 6e 69 7a 2e 6f 62 6a 20 24 72 65  )\\miniz.obj $re
d050: 64 69 72 20 5c 24 40 22 0a 77 72 69 74 65 6c 6e  dir \$@".writeln
d060: 20 22 21 65 6e 64 69 66 22 0a 77 72 69 74 65 6c   "!endif".writel
d070: 6e 20 22 5c 74 65 63 68 6f 20 5c 24 28 4c 49 42  n "\techo \$(LIB
d080: 53 29 20 24 72 65 64 69 72 20 5c 24 40 22 0a 77  S) $redir \$@".w
d090: 72 69 74 65 6c 6e 20 7b 0a 24 28 4f 58 29 3a 0a  riteln {.$(OX):.
d0a0: 09 40 2d 6d 6b 64 69 72 20 24 40 0a 0a 74 72 61  .@-mkdir $@..tra
d0b0: 6e 73 6c 61 74 65 24 45 3a 20 24 28 53 52 43 44  nslate$E: $(SRCD
d0c0: 49 52 29 5c 74 72 61 6e 73 6c 61 74 65 2e 63 0a  IR)\translate.c.
d0d0: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 61 6b  .$(BCC) $**..mak
d0e0: 65 68 65 61 64 65 72 73 24 45 3a 20 24 28 53 52  eheaders$E: $(SR
d0f0: 43 44 49 52 29 5c 6d 61 6b 65 68 65 61 64 65 72  CDIR)\makeheader
d100: 73 2e 63 0a 09 24 28 42 43 43 29 20 24 2a 2a 0a  s.c..$(BCC) $**.
d110: 0a 6d 6b 69 6e 64 65 78 24 45 3a 20 24 28 53 52  .mkindex$E: $(SR
d120: 43 44 49 52 29 5c 6d 6b 69 6e 64 65 78 2e 63 0a  CDIR)\mkindex.c.
d130: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 6b 62  .$(BCC) $**..mkb
d140: 75 69 6c 74 69 6e 24 45 3a 20 24 28 53 52 43 44  uiltin$E: $(SRCD
d150: 49 52 29 5c 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a  IR)\mkbuiltin.c.
d160: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 6b 76  .$(BCC) $**..mkv
d170: 65 72 73 69 6f 6e 24 45 3a 20 24 28 53 52 43 44  ersion$E: $(SRCD
d180: 49 52 29 5c 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a  IR)\mkversion.c.
d190: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 6b 63  .$(BCC) $**..mkc
d1a0: 73 73 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c  ss$E: $(SRCDIR)\
d1b0: 6d 6b 63 73 73 2e 63 0a 09 24 28 42 43 43 29 20  mkcss.c..$(BCC) 
d1c0: 24 2a 2a 0a 0a 63 6f 64 65 63 68 65 63 6b 31 24  $**..codecheck1$
d1d0: 45 3a 20 24 28 53 52 43 44 49 52 29 5c 63 6f 64  E: $(SRCDIR)\cod
d1e0: 65 63 68 65 63 6b 31 2e 63 0a 09 24 28 42 43 43  echeck1.c..$(BCC
d1f0: 29 20 24 2a 2a 0a 0a 21 69 66 20 24 28 55 53 45  ) $**..!if $(USE
d200: 5f 53 45 45 29 21 3d 30 0a 53 45 45 5f 46 4c 41  _SEE)!=0.SEE_FLA
d210: 47 53 20 3d 20 2f 44 53 51 4c 49 54 45 5f 48 41  GS = /DSQLITE_HA
d220: 53 5f 43 4f 44 45 43 3d 31 20 2f 44 53 51 4c 49  S_CODEC=1 /DSQLI
d230: 54 45 5f 53 48 45 4c 4c 5f 44 42 4b 45 59 5f 50  TE_SHELL_DBKEY_P
d240: 52 4f 43 3d 66 6f 73 73 69 6c 5f 6b 65 79 0a 53  ROC=fossil_key.S
d250: 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43  QLITE3_SHELL_SRC
d260: 20 3d 20 24 28 53 52 43 44 49 52 29 5c 73 68 65   = $(SRCDIR)\she
d270: 6c 6c 2d 73 65 65 2e 63 0a 53 51 4c 49 54 45 33  ll-see.c.SQLITE3
d280: 5f 53 52 43 20 3d 20 24 28 53 52 43 44 49 52 29  _SRC = $(SRCDIR)
d290: 5c 73 71 6c 69 74 65 33 2d 73 65 65 2e 63 0a 21  \sqlite3-see.c.!
d2a0: 65 6c 73 65 0a 53 45 45 5f 46 4c 41 47 53 20 3d  else.SEE_FLAGS =
d2b0: 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53  .SQLITE3_SHELL_S
d2c0: 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 5c 73  RC = $(SRCDIR)\s
d2d0: 68 65 6c 6c 2e 63 0a 53 51 4c 49 54 45 33 5f 53  hell.c.SQLITE3_S
d2e0: 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 5c 73  RC = $(SRCDIR)\s
d2f0: 71 6c 69 74 65 33 2e 63 0a 21 65 6e 64 69 66 0a  qlite3.c.!endif.
d300: 0a 24 28 4f 58 29 5c 73 68 65 6c 6c 24 4f 20 3a  .$(OX)\shell$O :
d310: 20 24 28 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c   $(SQLITE3_SHELL
d320: 5f 53 52 43 29 20 24 42 5c 77 69 6e 5c 4d 61 6b  _SRC) $B\win\Mak
d330: 65 66 69 6c 65 2e 6d 73 63 0a 09 24 28 54 43 43  efile.msc..$(TCC
d340: 29 20 2f 46 6f 24 40 20 24 28 53 48 45 4c 4c 5f  ) /Fo$@ $(SHELL_
d350: 4f 50 54 49 4f 4e 53 29 20 24 28 53 51 4c 49 54  OPTIONS) $(SQLIT
d360: 45 5f 4f 50 54 49 4f 4e 53 29 20 24 28 53 48 45  E_OPTIONS) $(SHE
d370: 4c 4c 5f 43 46 4c 41 47 53 29 20 24 28 53 45 45  LL_CFLAGS) $(SEE
d380: 5f 46 4c 41 47 53 29 20 2d 63 20 24 28 53 51 4c  _FLAGS) -c $(SQL
d390: 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 29 0a  ITE3_SHELL_SRC).
d3a0: 0a 24 28 4f 58 29 5c 73 71 6c 69 74 65 33 24 4f  .$(OX)\sqlite3$O
d3b0: 20 3a 20 24 28 53 51 4c 49 54 45 33 5f 53 52 43   : $(SQLITE3_SRC
d3c0: 29 20 24 42 5c 77 69 6e 5c 4d 61 6b 65 66 69 6c  ) $B\win\Makefil
d3d0: 65 2e 6d 73 63 0a 09 24 28 54 43 43 29 20 2f 46  e.msc..$(TCC) /F
d3e0: 6f 24 40 20 2d 63 20 24 28 53 51 4c 49 54 45 5f  o$@ -c $(SQLITE_
d3f0: 4f 50 54 49 4f 4e 53 29 20 24 28 53 51 4c 49 54  OPTIONS) $(SQLIT
d400: 45 5f 43 46 4c 41 47 53 29 20 24 28 53 45 45 5f  E_CFLAGS) $(SEE_
d410: 46 4c 41 47 53 29 20 24 28 53 51 4c 49 54 45 33  FLAGS) $(SQLITE3
d420: 5f 53 52 43 29 0a 0a 24 28 4f 58 29 5c 74 68 24  _SRC)..$(OX)\th$
d430: 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 74 68  O : $(SRCDIR)\th
d440: 2e 63 0a 09 24 28 54 43 43 29 20 2f 46 6f 24 40  .c..$(TCC) /Fo$@
d450: 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f 58 29 5c 74   -c $**..$(OX)\t
d460: 68 5f 6c 61 6e 67 24 4f 20 3a 20 24 28 53 52 43  h_lang$O : $(SRC
d470: 44 49 52 29 5c 74 68 5f 6c 61 6e 67 2e 63 0a 09  DIR)\th_lang.c..
d480: 24 28 54 43 43 29 20 2f 46 6f 24 40 20 2d 63 20  $(TCC) /Fo$@ -c 
d490: 24 2a 2a 0a 0a 24 28 4f 58 29 5c 74 68 5f 74 63  $**..$(OX)\th_tc
d4a0: 6c 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c  l$O : $(SRCDIR)\
d4b0: 74 68 5f 74 63 6c 2e 63 0a 09 24 28 54 43 43 29  th_tcl.c..$(TCC)
d4c0: 20 2f 46 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24   /Fo$@ -c $**..$
d4d0: 28 4f 58 29 5c 6d 69 6e 69 7a 24 4f 20 3a 20 24  (OX)\miniz$O : $
d4e0: 28 53 52 43 44 49 52 29 5c 6d 69 6e 69 7a 2e 63  (SRCDIR)\miniz.c
d4f0: 0a 09 24 28 54 43 43 29 20 2f 46 6f 24 40 20 2d  ..$(TCC) /Fo$@ -
d500: 63 20 24 28 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e  c $(MINIZ_OPTION
d510: 53 29 20 24 28 53 52 43 44 49 52 29 5c 6d 69 6e  S) $(SRCDIR)\min
d520: 69 7a 2e 63 0a 0a 56 45 52 53 49 4f 4e 2e 68 20  iz.c..VERSION.h 
d530: 3a 20 6d 6b 76 65 72 73 69 6f 6e 24 45 20 24 42  : mkversion$E $B
d540: 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24  \manifest.uuid $
d550: 42 5c 6d 61 6e 69 66 65 73 74 20 24 42 5c 56 45  B\manifest $B\VE
d560: 52 53 49 4f 4e 0a 09 24 2a 2a 20 3e 20 24 40 0a  RSION..$** > $@.
d570: 0a 24 28 4f 58 29 5c 63 73 6f 6e 5f 61 6d 61 6c  .$(OX)\cson_amal
d580: 67 61 6d 61 74 69 6f 6e 24 4f 20 3a 20 24 28 53  gamation$O : $(S
d590: 52 43 44 49 52 29 5c 63 73 6f 6e 5f 61 6d 61 6c  RCDIR)\cson_amal
d5a0: 67 61 6d 61 74 69 6f 6e 2e 63 0a 09 24 28 54 43  gamation.c..$(TC
d5b0: 43 29 20 2f 46 6f 24 40 20 2f 63 20 24 2a 2a 0a  C) /Fo$@ /c $**.
d5c0: 0a 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 3a 20  .default_css.h: 
d5d0: 6d 6b 63 73 73 24 45 20 24 28 53 52 43 44 49 52  mkcss$E $(SRCDIR
d5e0: 29 5c 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78  )\default_css.tx
d5f0: 74 0a 09 24 2a 2a 20 24 40 0a 0a 70 61 67 65 5f  t..$** $@..page_
d600: 69 6e 64 65 78 2e 68 3a 20 6d 6b 69 6e 64 65 78  index.h: mkindex
d610: 24 45 20 24 28 53 52 43 29 0a 09 24 2a 2a 20 3e  $E $(SRC)..$** >
d620: 20 24 40 0a 0a 62 75 69 6c 74 69 6e 5f 64 61 74   $@..builtin_dat
d630: 61 2e 68 3a 09 6d 6b 62 75 69 6c 74 69 6e 24 45  a.h:.mkbuiltin$E
d640: 20 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 0a   $(EXTRA_FILES).
d650: 09 6d 6b 62 75 69 6c 74 69 6e 24 45 20 2d 2d 70  .mkbuiltin$E --p
d660: 72 65 66 69 78 20 24 28 53 52 43 44 49 52 29 2f  refix $(SRCDIR)/
d670: 20 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 20   $(EXTRA_FILES) 
d680: 3e 20 24 40 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65  > $@..clean:..de
d690: 6c 20 24 28 4f 58 29 5c 2a 2e 6f 62 6a 20 32 3e  l $(OX)\*.obj 2>
d6a0: 4e 55 4c 0a 09 64 65 6c 20 2a 2e 6f 62 6a 20 32  NUL..del *.obj 2
d6b0: 3e 4e 55 4c 0a 09 64 65 6c 20 2a 5f 2e 63 20 32  >NUL..del *_.c 2
d6c0: 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 68 20 32 3e  >NUL..del *.h 2>
d6d0: 4e 55 4c 0a 09 64 65 6c 20 2a 2e 69 6c 6b 20 32  NUL..del *.ilk 2
d6e0: 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 6d 61 70 20  >NUL..del *.map 
d6f0: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 72 65 73  2>NUL..del *.res
d700: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 68 65 61 64   2>NUL..del head
d710: 65 72 73 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6c  ers 2>NUL..del l
d720: 69 6e 6b 6f 70 74 73 20 32 3e 4e 55 4c 0a 09 64  inkopts 2>NUL..d
d730: 65 6c 20 76 63 2a 2e 70 64 62 20 32 3e 4e 55 4c  el vc*.pdb 2>NUL
d740: 0a 0a 72 65 61 6c 63 6c 65 61 6e 3a 20 63 6c 65  ..realclean: cle
d750: 61 6e 0a 09 64 65 6c 20 24 28 41 50 50 4e 41 4d  an..del $(APPNAM
d760: 45 29 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 24 28  E) 2>NUL..del $(
d770: 50 44 42 4e 41 4d 45 29 20 32 3e 4e 55 4c 0a 09  PDBNAME) 2>NUL..
d780: 64 65 6c 20 74 72 61 6e 73 6c 61 74 65 24 45 20  del translate$E 
d790: 32 3e 4e 55 4c 0a 09 64 65 6c 20 74 72 61 6e 73  2>NUL..del trans
d7a0: 6c 61 74 65 24 50 20 32 3e 4e 55 4c 0a 09 64 65  late$P 2>NUL..de
d7b0: 6c 20 6d 6b 69 6e 64 65 78 24 45 20 32 3e 4e 55  l mkindex$E 2>NU
d7c0: 4c 0a 09 64 65 6c 20 6d 6b 69 6e 64 65 78 24 50  L..del mkindex$P
d7d0: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 61 6b 65   2>NUL..del make
d7e0: 68 65 61 64 65 72 73 24 45 20 32 3e 4e 55 4c 0a  headers$E 2>NUL.
d7f0: 09 64 65 6c 20 6d 61 6b 65 68 65 61 64 65 72 73  .del makeheaders
d800: 24 50 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 6b  $P 2>NUL..del mk
d810: 76 65 72 73 69 6f 6e 24 45 20 32 3e 4e 55 4c 0a  version$E 2>NUL.
d820: 09 64 65 6c 20 6d 6b 76 65 72 73 69 6f 6e 24 50  .del mkversion$P
d830: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 6b 63 73   2>NUL..del mkcs
d840: 73 24 45 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d  s$E 2>NUL..del m
d850: 6b 63 73 73 24 50 20 32 3e 4e 55 4c 0a 09 64 65  kcss$P 2>NUL..de
d860: 6c 20 63 6f 64 65 63 68 65 63 6b 31 24 45 20 32  l codecheck1$E 2
d870: 3e 4e 55 4c 0a 09 64 65 6c 20 63 6f 64 65 63 68  >NUL..del codech
d880: 65 63 6b 31 24 50 20 32 3e 4e 55 4c 0a 09 64 65  eck1$P 2>NUL..de
d890: 6c 20 6d 6b 62 75 69 6c 74 69 6e 24 45 20 32 3e  l mkbuiltin$E 2>
d8a0: 4e 55 4c 0a 09 64 65 6c 20 6d 6b 62 75 69 6c 74  NUL..del mkbuilt
d8b0: 69 6e 24 50 20 32 3e 4e 55 4c 0a 0a 24 28 4f 42  in$P 2>NUL..$(OB
d8c0: 4a 44 49 52 29 5c 6a 73 6f 6e 24 4f 20 3a 20 24  JDIR)\json$O : $
d8d0: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65  (SRCDIR)\json_de
d8e0: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29  tail.h.$(OBJDIR)
d8f0: 5c 6a 73 6f 6e 5f 61 72 74 69 66 61 63 74 24 4f  \json_artifact$O
d900: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f   : $(SRCDIR)\jso
d910: 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a  n_detail.h.$(OBJ
d920: 44 49 52 29 5c 6a 73 6f 6e 5f 62 72 61 6e 63 68  DIR)\json_branch
d930: 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a  $O : $(SRCDIR)\j
d940: 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f  son_detail.h.$(O
d950: 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 63 6f 6e 66  BJDIR)\json_conf
d960: 69 67 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  ig$O : $(SRCDIR)
d970: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24  \json_detail.h.$
d980: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 64 69  (OBJDIR)\json_di
d990: 66 66 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  ff$O : $(SRCDIR)
d9a0: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24  \json_detail.h.$
d9b0: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 64 69  (OBJDIR)\json_di
d9c0: 72 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c  r$O : $(SRCDIR)\
d9d0: 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28  json_detail.h.$(
d9e0: 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 66 69 6e  OBJDIR)\json_fin
d9f0: 66 6f 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  fo$O : $(SRCDIR)
da00: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24  \json_detail.h.$
da10: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 6c 6f  (OBJDIR)\json_lo
da20: 67 69 6e 24 4f 20 3a 20 24 28 53 52 43 44 49 52  gin$O : $(SRCDIR
da30: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a  )\json_detail.h.
da40: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 71  $(OBJDIR)\json_q
da50: 75 65 72 79 24 4f 20 3a 20 24 28 53 52 43 44 49  uery$O : $(SRCDI
da60: 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68  R)\json_detail.h
da70: 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f  .$(OBJDIR)\json_
da80: 72 65 70 6f 72 74 24 4f 20 3a 20 24 28 53 52 43  report$O : $(SRC
da90: 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c  DIR)\json_detail
daa0: 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f  .h.$(OBJDIR)\jso
dab0: 6e 5f 73 74 61 74 75 73 24 4f 20 3a 20 24 28 53  n_status$O : $(S
dac0: 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61  RCDIR)\json_deta
dad0: 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a  il.h.$(OBJDIR)\j
dae0: 73 6f 6e 5f 74 61 67 24 4f 20 3a 20 24 28 53 52  son_tag$O : $(SR
daf0: 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69  CDIR)\json_detai
db00: 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73  l.h.$(OBJDIR)\js
db10: 6f 6e 5f 74 69 6d 65 6c 69 6e 65 24 4f 20 3a 20  on_timeline$O : 
db20: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64  $(SRCDIR)\json_d
db30: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52  etail.h.$(OBJDIR
db40: 29 5c 6a 73 6f 6e 5f 75 73 65 72 24 4f 20 3a 20  )\json_user$O : 
db50: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64  $(SRCDIR)\json_d
db60: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52  etail.h.$(OBJDIR
db70: 29 5c 6a 73 6f 6e 5f 77 69 6b 69 24 4f 20 3a 20  )\json_wiki$O : 
db80: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64  $(SRCDIR)\json_d
db90: 65 74 61 69 6c 2e 68 0a 7d 0a 66 6f 72 65 61 63  etail.h.}.foreac
dba0: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
dbb0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24   {.  writeln "\$
dbc0: 28 4f 58 29 5c 5c 24 73 5c 24 4f 20 3a 20 24 7b  (OX)\\$s\$O : ${
dbd0: 73 7d 5f 2e 63 20 24 7b 73 7d 2e 68 22 0a 20 20  s}_.c ${s}.h".  
dbe0: 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 54 43  writeln "\t\$(TC
dbf0: 43 29 20 2f 46 6f 5c 24 40 20 2d 63 20 24 7b 73  C) /Fo\$@ -c ${s
dc00: 7d 5f 2e 63 5c 6e 22 0a 20 20 77 72 69 74 65 6c  }_.c\n".  writel
dc10: 6e 20 22 24 7b 73 7d 5f 2e 63 20 3a 20 5c 24 28  n "${s}_.c : \$(
dc20: 53 52 43 44 49 52 29 5c 5c 24 73 2e 63 22 0a 20  SRCDIR)\\$s.c". 
dc30: 20 77 72 69 74 65 6c 6e 20 22 5c 74 74 72 61 6e   writeln "\ttran
dc40: 73 6c 61 74 65 5c 24 45 20 5c 24 2a 2a 20 3e 20  slate\$E \$** > 
dc50: 5c 24 40 5c 6e 22 0a 7d 0a 0a 77 72 69 74 65 6c  \$@\n".}..writel
dc60: 6e 20 22 66 6f 73 73 69 6c 2e 72 65 73 20 3a 20  n "fossil.res : 
dc70: 5c 24 42 5c 5c 77 69 6e 5c 5c 66 6f 73 73 69 6c  \$B\\win\\fossil
dc80: 2e 72 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74  .rc".writeln "\t
dc90: 5c 24 28 52 43 43 29 20 20 2f 66 6f 20 5c 24 40  \$(RCC)  /fo \$@
dca0: 20 5c 24 2a 2a 5c 6e 22 0a 0a 77 72 69 74 65 6c   \$**\n"..writel
dcb0: 6e 20 22 68 65 61 64 65 72 73 3a 20 6d 61 6b 65  n "headers: make
dcc0: 68 65 61 64 65 72 73 5c 24 45 20 70 61 67 65 5f  headers\$E page_
dcd0: 69 6e 64 65 78 2e 68 20 62 75 69 6c 74 69 6e 5f  index.h builtin_
dce0: 64 61 74 61 2e 68 20 64 65 66 61 75 6c 74 5f 63  data.h default_c
dcf0: 73 73 2e 68 20 56 45 52 53 49 4f 4e 2e 68 22 0a  ss.h VERSION.h".
dd00: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
dd10: 6e 65 20 22 5c 74 6d 61 6b 65 68 65 61 64 65 72  ne "\tmakeheader
dd20: 73 5c 24 45 20 22 0a 73 65 74 20 69 20 30 0a 66  s\$E ".set i 0.f
dd30: 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20  oreach s [lsort 
dd40: 24 73 72 63 5d 20 7b 0a 20 20 69 66 20 7b 24 69  $src] {.  if {$i
dd50: 20 3e 20 30 7d 20 7b 0a 20 20 20 20 77 72 69 74   > 0} {.    writ
dd60: 65 6c 6e 20 22 20 5c 5c 22 0a 20 20 20 20 77 72  eln " \\".    wr
dd70: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65  iteln -nonewline
dd80: 20 22 5c 74 5c 74 5c 74 22 0a 20 20 7d 0a 20 20   "\t\t\t".  }.  
dd90: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
dda0: 6e 65 20 22 24 7b 73 7d 5f 2e 63 3a 24 73 2e 68  ne "${s}_.c:$s.h
ddb0: 22 3b 20 69 6e 63 72 20 69 0a 7d 0a 77 72 69 74  "; incr i.}.writ
ddc0: 65 6c 6e 20 22 20 5c 5c 5c 6e 5c 74 5c 74 5c 74  eln " \\\n\t\t\t
ddd0: 5c 24 28 53 52 43 44 49 52 29 5c 5c 73 71 6c 69  \$(SRCDIR)\\sqli
dde0: 74 65 33 2e 68 20 5c 5c 22 0a 77 72 69 74 65 6c  te3.h \\".writel
ddf0: 6e 20 22 5c 74 5c 74 5c 74 5c 24 28 53 52 43 44  n "\t\t\t\$(SRCD
de00: 49 52 29 5c 5c 74 68 2e 68 20 5c 5c 22 0a 77 72  IR)\\th.h \\".wr
de10: 69 74 65 6c 6e 20 22 5c 74 5c 74 5c 74 56 45 52  iteln "\t\t\tVER
de20: 53 49 4f 4e 2e 68 20 5c 5c 22 0a 77 72 69 74 65  SION.h \\".write
de30: 6c 6e 20 22 5c 74 5c 74 5c 74 5c 24 28 53 52 43  ln "\t\t\t\$(SRC
de40: 44 49 52 29 5c 5c 63 73 6f 6e 5f 61 6d 61 6c 67  DIR)\\cson_amalg
de50: 61 6d 61 74 69 6f 6e 2e 68 22 0a 77 72 69 74 65  amation.h".write
de60: 6c 6e 20 22 5c 74 40 63 6f 70 79 20 2f 59 20 6e  ln "\t@copy /Y n
de70: 75 6c 3a 20 68 65 61 64 65 72 73 22 0a 0a 0a 63  ul: headers"...c
de80: 6c 6f 73 65 20 24 6f 75 74 70 75 74 5f 66 69 6c  lose $output_fil
de90: 65 0a 23 0a 23 20 45 6e 64 20 6f 66 20 74 68 65  e.#.# End of the
dea0: 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 73   win/Makefile.ms
deb0: 63 20 6f 75 74 70 75 74 0a 23 23 23 23 23 23 23  c output.#######
dec0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
ded0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
dee0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
def0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df00: 23 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23  #######.########
df10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df50: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23  ######.#########
df60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
dfa0: 23 23 23 23 23 0a 23 20 42 65 67 69 6e 20 77 69  #####.# Begin wi
dfb0: 6e 2f 4d 61 6b 65 66 69 6c 65 2e 50 65 6c 6c 65  n/Makefile.Pelle
dfc0: 73 43 47 4d 61 6b 65 20 6f 75 74 70 75 74 0a 23  sCGMake output.#
dfd0: 0a 70 75 74 73 20 22 62 75 69 6c 64 69 6e 67 20  .puts "building 
dfe0: 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e  ../win/Makefile.
dff0: 50 65 6c 6c 65 73 43 47 4d 61 6b 65 22 0a 73 65  PellesCGMake".se
e000: 74 20 6f 75 74 70 75 74 5f 66 69 6c 65 20 5b 6f  t output_file [o
e010: 70 65 6e 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66  pen ../win/Makef
e020: 69 6c 65 2e 50 65 6c 6c 65 73 43 47 4d 61 6b 65  ile.PellesCGMake
e030: 20 77 5d 0a 66 63 6f 6e 66 69 67 75 72 65 20 24   w].fconfigure $
e040: 6f 75 74 70 75 74 5f 66 69 6c 65 20 2d 74 72 61  output_file -tra
e050: 6e 73 6c 61 74 69 6f 6e 20 62 69 6e 61 72 79 0a  nslation binary.
e060: 0a 77 72 69 74 65 6c 6e 20 5b 73 74 72 69 6e 67  .writeln [string
e070: 20 6d 61 70 20 5b 6c 69 73 74 20 5c 0a 20 20 20   map [list \.   
e080: 20 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50 54 49 4f   <<<SQLITE_OPTIO
e090: 4e 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24 53 51 4c  NS>>> [join $SQL
e0a0: 49 54 45 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e  ITE_WIN32_OPTION
e0b0: 53 20 7b 20 7d 5d 20 5c 0a 20 20 20 20 3c 3c 3c  S { }] \.    <<<
e0c0: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 3e 3e 3e  SHELL_OPTIONS>>>
e0d0: 20 5b 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f 57 49   [join $SHELL_WI
e0e0: 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d  N32_OPTIONS { }]
e0f0: 5d 20 7b 23 0a 23 23 23 23 23 23 23 23 23 23 23  ] {#.###########
e100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e110: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e120: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e130: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e140: 23 23 23 0a 23 20 57 41 52 4e 49 4e 47 3a 20 44  ###.# WARNING: D
e150: 4f 20 4e 4f 54 20 45 44 49 54 2c 20 41 55 54 4f  O NOT EDIT, AUTO
e160: 4d 41 54 49 43 41 4c 4c 59 20 47 45 4e 45 52 41  MATICALLY GENERA
e170: 54 45 44 20 46 49 4c 45 20 28 53 45 45 20 22 73  TED FILE (SEE "s
e180: 72 63 2f 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22  rc/makemake.tcl"
e190: 29 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ).##############
e1a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e1b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e1c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e1d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e1e0: 0a 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69  .#.# This file i
e1f0: 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  s automatically 
e200: 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74  generated.  Inst
e210: 65 61 64 20 6f 66 20 65 64 69 74 69 6e 67 20 74  ead of editing t
e220: 68 69 73 0a 23 20 66 69 6c 65 2c 20 65 64 69 74  his.# file, edit
e230: 20 22 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 20   "makemake.tcl" 
e240: 74 68 65 6e 20 72 75 6e 20 22 74 63 6c 73 68 20  then run "tclsh 
e250: 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23 20  makemake.tcl".# 
e260: 74 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74 68  to regenerate th
e270: 69 73 20 66 69 6c 65 2e 0a 23 0a 23 20 48 6f 77  is file..#.# How
e280: 54 6f 0a 23 20 2d 2d 2d 2d 2d 0a 23 0a 23 20 54  To.# -----.#.# T
e290: 68 69 73 20 69 73 20 61 20 4d 61 6b 65 66 69 6c  his is a Makefil
e2a0: 65 20 74 6f 20 63 6f 6d 70 69 6c 65 20 66 6f 73  e to compile fos
e2b0: 73 69 6c 20 77 69 74 68 20 50 65 6c 6c 65 73 43  sil with PellesC
e2c0: 20 66 72 6f 6d 0a 23 20 20 68 74 74 70 3a 2f 2f   from.#  http://
e2d0: 77 77 77 2e 73 6d 6f 72 67 61 73 62 6f 72 64 65  www.smorgasborde
e2e0: 74 2e 63 6f 6d 2f 70 65 6c 6c 65 73 63 2f 69 6e  t.com/pellesc/in
e2f0: 64 65 78 2e 68 74 6d 0a 23 20 49 6e 20 61 64 64  dex.htm.# In add
e300: 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 43 6f 6d  ition to the Com
e310: 70 69 6c 65 72 20 65 6e 76 72 69 6f 6e 6d 65 6e  piler envrionmen
e320: 74 2c 20 79 6f 75 20 6e 65 65 64 0a 23 20 20 67  t, you need.#  g
e330: 6d 61 6b 65 20 66 72 6f 6d 20 68 74 74 70 3a 2f  make from http:/
e340: 2f 73 6f 75 72 63 65 66 6f 72 67 65 2e 6e 65 74  /sourceforge.net
e350: 2f 70 72 6f 6a 65 63 74 73 2f 75 6e 78 75 74 69  /projects/unxuti
e360: 6c 73 2f 2c 20 50 65 6c 6c 65 73 20 6d 61 6b 65  ls/, Pelles make
e370: 20 76 65 72 73 69 6f 6e 0a 23 20 20 20 20 20 20   version.#      
e380: 20 20 63 6f 75 6c 64 6e 27 74 20 68 61 6e 64 6c    couldn't handl
e390: 65 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 64 65  e the complex de
e3a0: 70 65 6e 64 65 6e 63 69 65 73 20 69 6e 20 74 68  pendencies in th
e3b0: 69 73 20 62 75 69 6c 64 0a 23 20 20 7a 6c 69 62  is build.#  zlib
e3c0: 20 73 6f 75 72 63 65 73 0a 23 20 54 68 65 6e 20   sources.# Then 
e3d0: 79 6f 75 20 64 6f 0a 23 20 31 2e 20 63 72 65 61  you do.# 1. crea
e3e0: 74 65 20 61 20 64 69 72 65 63 74 6f 72 79 20 50  te a directory P
e3f0: 65 6c 6c 65 73 43 20 69 6e 20 74 68 65 20 70 72  ellesC in the pr
e400: 6f 6a 65 63 74 20 72 6f 6f 74 20 64 69 72 65 63  oject root direc
e410: 74 6f 72 79 0a 23 20 32 2e 20 43 68 61 6e 67 65  tory.# 2. Change
e420: 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 50   the variables P
e430: 65 6c 6c 65 73 43 44 69 72 2f 5a 4c 49 42 53 52  ellesCDir/ZLIBSR
e440: 43 44 49 52 20 74 6f 20 74 68 65 20 70 61 74 68  CDIR to the path
e450: 20 6f 66 20 79 6f 75 72 20 69 6e 73 74 61 6c 6c   of your install
e460: 61 74 69 6f 6e 0a 23 20 33 2e 20 6f 70 65 6e 20  ation.# 3. open 
e470: 61 20 64 6f 73 20 70 72 6f 6d 70 74 20 77 69 6e  a dos prompt win
e480: 64 6f 77 20 61 6e 64 20 63 68 61 6e 67 65 20 77  dow and change w
e490: 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79  orking directory
e4a0: 20 69 6e 74 6f 20 50 65 6c 6c 65 73 43 20 28 73   into PellesC (s
e4b0: 74 65 70 20 31 29 0a 23 20 34 2e 20 72 75 6e 20  tep 1).# 4. run 
e4c0: 67 6d 61 6b 65 20 2d 66 20 2e 2e 5c 77 69 6e 5c  gmake -f ..\win\
e4d0: 4d 61 6b 65 66 69 6c 65 2e 50 65 6c 6c 65 73 43  Makefile.PellesC
e4e0: 47 4d 61 6b 65 0a 23 0a 23 20 74 68 69 73 20 66  GMake.#.# this f
e4f0: 69 6c 65 20 69 73 20 74 65 73 74 65 64 20 77 69  ile is tested wi
e500: 74 68 0a 23 20 20 20 50 65 6c 6c 65 73 43 20 20  th.#   PellesC  
e510: 20 20 20 20 20 20 20 35 2e 30 30 2e 31 33 0a 23         5.00.13.#
e520: 20 20 20 67 6d 61 6b 65 20 20 20 20 20 20 20 20     gmake        
e530: 20 20 20 33 2e 38 30 0a 23 20 20 20 7a 6c 69 62     3.80.#   zlib
e540: 20 73 6f 75 72 63 65 73 20 20 20 20 31 2e 32 2e   sources    1.2.
e550: 35 0a 23 20 20 20 57 69 6e 64 6f 77 73 20 58 50  5.#   Windows XP
e560: 20 53 50 20 32 0a 23 20 61 6e 64 0a 23 20 20 20   SP 2.# and.#   
e570: 50 65 6c 6c 65 73 43 20 20 20 20 20 20 20 20 20  PellesC         
e580: 36 2e 30 30 2e 34 0a 23 20 20 20 67 6d 61 6b 65  6.00.4.#   gmake
e590: 20 20 20 20 20 20 20 20 20 20 20 33 2e 38 30 0a             3.80.
e5a0: 23 20 20 20 7a 6c 69 62 20 73 6f 75 72 63 65 73  #   zlib sources
e5b0: 20 20 20 20 31 2e 32 2e 35 0a 23 20 20 20 57 69      1.2.5.#   Wi
e5c0: 6e 64 6f 77 73 20 37 20 48 6f 6d 65 20 50 72 65  ndows 7 Home Pre
e5d0: 6d 69 75 6d 0a 23 0a 0a 23 0a 50 65 6c 6c 65 73  mium.#..#.Pelles
e5e0: 43 44 69 72 3d 63 3a 5c 50 72 6f 67 72 61 6d 6d  CDir=c:\Programm
e5f0: 65 5c 50 65 6c 6c 65 73 43 0a 0a 23 20 53 65 6c  e\PellesC..# Sel
e600: 65 63 74 20 62 65 74 77 65 65 6e 20 33 32 2f 36  ect between 32/6
e610: 34 20 62 69 74 20 63 6f 64 65 2c 20 64 65 66 61  4 bit code, defa
e620: 75 6c 74 20 69 73 20 33 32 20 62 69 74 0a 23 54  ult is 32 bit.#T
e630: 41 52 47 45 54 56 45 52 53 49 4f 4e 3d 36 34 0a  ARGETVERSION=64.
e640: 0a 69 66 65 71 20 28 24 28 54 41 52 47 45 54 56  .ifeq ($(TARGETV
e650: 45 52 53 49 4f 4e 29 2c 36 34 29 0a 23 20 36 34  ERSION),64).# 64
e660: 20 62 69 74 20 76 65 72 73 69 6f 6e 0a 54 41 52   bit version.TAR
e670: 47 45 54 4d 41 43 48 49 4e 45 5f 43 43 3d 61 6d  GETMACHINE_CC=am
e680: 64 36 34 0a 54 41 52 47 45 54 4d 41 43 48 49 4e  d64.TARGETMACHIN
e690: 45 5f 4c 4e 3d 61 6d 64 36 34 0a 54 41 52 47 45  E_LN=amd64.TARGE
e6a0: 54 45 58 54 45 4e 44 3d 36 34 0a 65 6c 73 65 0a  TEXTEND=64.else.
e6b0: 23 20 33 32 20 62 69 74 20 76 65 72 73 69 6f 6e  # 32 bit version
e6c0: 0a 54 41 52 47 45 54 4d 41 43 48 49 4e 45 5f 43  .TARGETMACHINE_C
e6d0: 43 3d 78 38 36 0a 54 41 52 47 45 54 4d 41 43 48  C=x86.TARGETMACH
e6e0: 49 4e 45 5f 4c 4e 3d 69 78 38 36 0a 54 41 52 47  INE_LN=ix86.TARG
e6f0: 45 54 45 58 54 45 4e 44 3d 0a 65 6e 64 69 66 0a  ETEXTEND=.endif.
e700: 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20 70 72  .# define the pr
e710: 6f 6a 65 63 74 20 64 69 72 65 63 74 6f 72 69 65  oject directorie
e720: 73 0a 42 3d 2e 2e 0a 53 52 43 44 49 52 3d 24 28  s.B=...SRCDIR=$(
e730: 42 29 2f 73 72 63 2f 0a 57 49 4e 44 49 52 3d 24  B)/src/.WINDIR=$
e740: 28 42 29 2f 77 69 6e 2f 0a 5a 4c 49 42 53 52 43  (B)/win/.ZLIBSRC
e750: 44 49 52 3d 2e 2e 2f 2e 2e 2f 7a 6c 69 62 2f 0a  DIR=../../zlib/.
e760: 0a 23 20 64 65 66 69 6e 65 20 6c 69 6e 6b 65 72  .# define linker
e770: 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 6f 70 74   command and opt
e780: 69 6f 6e 73 0a 4c 49 4e 4b 3d 24 28 50 65 6c 6c  ions.LINK=$(Pell
e790: 65 73 43 44 69 72 29 2f 62 69 6e 2f 70 6f 6c 69  esCDir)/bin/poli
e7a0: 6e 6b 2e 65 78 65 0a 4c 49 4e 4b 46 4c 41 47 53  nk.exe.LINKFLAGS
e7b0: 3d 2d 73 75 62 73 79 73 74 65 6d 3a 63 6f 6e 73  =-subsystem:cons
e7c0: 6f 6c 65 20 2d 6d 61 63 68 69 6e 65 3a 24 28 54  ole -machine:$(T
e7d0: 41 52 47 45 54 4d 41 43 48 49 4e 45 5f 4c 4e 29  ARGETMACHINE_LN)
e7e0: 20 2f 4c 49 42 50 41 54 48 3a 24 28 50 65 6c 6c   /LIBPATH:$(Pell
e7f0: 65 73 43 44 69 72 29 5c 6c 69 62 5c 77 69 6e 24  esCDir)\lib\win$
e800: 28 54 41 52 47 45 54 45 58 54 45 4e 44 29 20 2f  (TARGETEXTEND) /
e810: 4c 49 42 50 41 54 48 3a 24 28 50 65 6c 6c 65 73  LIBPATH:$(Pelles
e820: 43 44 69 72 29 5c 6c 69 62 20 6b 65 72 6e 65 6c  CDir)\lib kernel
e830: 33 32 2e 6c 69 62 20 61 64 76 61 70 69 33 32 2e  32.lib advapi32.
e840: 6c 69 62 20 64 65 6c 61 79 69 6d 70 24 28 54 41  lib delayimp$(TA
e850: 52 47 45 54 45 58 54 45 4e 44 29 2e 6c 69 62 20  RGETEXTEND).lib 
e860: 57 73 6f 63 6b 33 32 2e 6c 69 62 20 43 72 74 6d  Wsock32.lib Crtm
e870: 74 24 28 54 41 52 47 45 54 45 58 54 45 4e 44 29  t$(TARGETEXTEND)
e880: 2e 6c 69 62 0a 0a 23 20 64 65 66 69 6e 65 20 73  .lib..# define s
e890: 74 61 6e 64 61 72 64 20 43 2d 63 6f 6d 70 69 6c  tandard C-compil
e8a0: 65 72 20 61 6e 64 20 66 6c 61 67 73 2c 20 75 73  er and flags, us
e8b0: 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65 0a 23 20  ed to compile.# 
e8c0: 74 68 65 20 66 6f 73 73 69 6c 20 62 69 6e 61 72  the fossil binar
e8d0: 79 2e 20 53 6f 6d 65 20 73 70 65 63 69 61 6c 20  y. Some special 
e8e0: 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 6f 6c 6c  definitions foll
e8f0: 6f 77 20 66 6f 72 0a 23 20 73 70 65 63 69 61 6c  ow for.# special
e900: 20 66 69 6c 65 73 20 66 6f 6c 6c 6f 77 0a 43 43   files follow.CC
e910: 3d 24 28 50 65 6c 6c 65 73 43 44 69 72 29 5c 62  =$(PellesCDir)\b
e920: 69 6e 5c 70 6f 63 63 2e 65 78 65 0a 44 45 46 49  in\pocc.exe.DEFI
e930: 4e 45 53 3d 2d 44 5f 70 67 6d 70 74 72 3d 67 2e  NES=-D_pgmptr=g.
e940: 61 72 67 76 5b 30 5d 0a 43 43 46 4c 41 47 53 3d  argv[0].CCFLAGS=
e950: 2d 54 24 28 54 41 52 47 45 54 4d 41 43 48 49 4e  -T$(TARGETMACHIN
e960: 45 5f 43 43 29 2d 63 6f 66 66 20 2d 4f 74 20 2d  E_CC)-coff -Ot -
e970: 57 32 20 2d 47 64 20 2d 47 6f 20 2d 5a 65 20 2d  W2 -Gd -Go -Ze -
e980: 4d 54 20 24 28 44 45 46 49 4e 45 53 29 0a 49 4e  MT $(DEFINES).IN
e990: 43 4c 55 44 45 3d 2f 49 20 24 28 50 65 6c 6c 65  CLUDE=/I $(Pelle
e9a0: 73 43 44 69 72 29 5c 49 6e 63 6c 75 64 65 5c 57  sCDir)\Include\W
e9b0: 69 6e 20 2f 49 20 24 28 50 65 6c 6c 65 73 43 44  in /I $(PellesCD
e9c0: 69 72 29 5c 49 6e 63 6c 75 64 65 20 2f 49 20 24  ir)\Include /I $
e9d0: 28 5a 4c 49 42 53 52 43 44 49 52 29 20 2f 49 20  (ZLIBSRCDIR) /I 
e9e0: 24 28 53 52 43 44 49 52 29 0a 0a 23 20 64 65 66  $(SRCDIR)..# def
e9f0: 69 6e 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72  ine commands for
ea00: 20 62 75 69 6c 64 69 6e 67 20 74 68 65 20 77 69   building the wi
ea10: 6e 64 6f 77 73 20 72 65 73 6f 75 72 63 65 20 66  ndows resource f
ea20: 69 6c 65 73 0a 52 45 53 4f 55 52 43 45 3d 66 6f  iles.RESOURCE=fo
ea30: 73 73 69 6c 2e 72 65 73 0a 52 43 3d 24 28 50 65  ssil.res.RC=$(Pe
ea40: 6c 6c 65 73 43 44 69 72 29 5c 62 69 6e 5c 70 6f  llesCDir)\bin\po
ea50: 72 63 2e 65 78 65 0a 52 43 46 4c 41 47 53 3d 24  rc.exe.RCFLAGS=$
ea60: 28 49 4e 43 4c 55 44 45 29 20 2d 44 5f 5f 50 4f  (INCLUDE) -D__PO
ea70: 43 43 5f 5f 3d 31 20 2d 44 5f 4d 5f 58 24 28 54  CC__=1 -D_M_X$(T
ea80: 41 52 47 45 54 56 45 52 53 49 4f 4e 29 0a 0a 23  ARGETVERSION)..#
ea90: 20 64 65 66 69 6e 65 20 74 68 65 20 73 70 65 63   define the spec
eaa0: 69 61 6c 20 75 74 69 6c 69 74 69 65 73 20 66 69  ial utilities fi
eab0: 6c 65 73 2c 20 6e 65 65 64 65 64 20 74 6f 20 67  les, needed to g
eac0: 65 6e 65 72 61 74 65 0a 23 20 74 68 65 20 61 75  enerate.# the au
ead0: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65  tomatically gene
eae0: 72 61 74 65 64 20 73 6f 75 72 63 65 20 66 69 6c  rated source fil
eaf0: 65 73 0a 55 54 49 4c 53 3d 74 72 61 6e 73 6c 61  es.UTILS=transla
eb00: 74 65 2e 65 78 65 20 6d 6b 69 6e 64 65 78 2e 65  te.exe mkindex.e
eb10: 78 65 20 6d 61 6b 65 68 65 61 64 65 72 73 2e 65  xe makeheaders.e
eb20: 78 65 20 6d 6b 62 75 69 6c 74 69 6e 2e 65 78 65  xe mkbuiltin.exe
eb30: 0a 55 54 49 4c 53 5f 4f 42 4a 3d 24 28 55 54 49  .UTILS_OBJ=$(UTI
eb40: 4c 53 3a 2e 65 78 65 3d 2e 6f 62 6a 29 0a 55 54  LS:.exe=.obj).UT
eb50: 49 4c 53 5f 53 52 43 3d 24 28 66 6f 72 65 61 63  ILS_SRC=$(foreac
eb60: 68 20 75 66 2c 24 28 55 54 49 4c 53 29 2c 24 28  h uf,$(UTILS),$(
eb70: 53 52 43 44 49 52 29 24 28 75 66 3a 2e 65 78 65  SRCDIR)$(uf:.exe
eb80: 3d 2e 63 29 29 0a 0a 23 20 64 65 66 69 6e 65 20  =.c))..# define 
eb90: 74 68 65 20 53 51 4c 69 74 65 20 66 69 6c 65 73  the SQLite files
eba0: 2c 20 77 68 69 63 68 20 6e 65 65 64 20 73 70 65  , which need spe
ebb0: 63 69 61 6c 20 66 6c 61 67 73 20 6f 6e 20 63 6f  cial flags on co
ebc0: 6d 70 69 6c 65 0a 53 51 4c 49 54 45 53 52 43 3d  mpile.SQLITESRC=
ebd0: 73 71 6c 69 74 65 33 2e 63 0a 4f 52 49 47 53 51  sqlite3.c.ORIGSQ
ebe0: 4c 49 54 45 53 52 43 3d 24 28 66 6f 72 65 61 63  LITESRC=$(foreac
ebf0: 68 20 73 66 2c 24 28 53 51 4c 49 54 45 53 52 43  h sf,$(SQLITESRC
ec00: 29 2c 24 28 53 52 43 44 49 52 29 24 28 73 66 29  ),$(SRCDIR)$(sf)
ec10: 29 0a 53 51 4c 49 54 45 4f 42 4a 3d 24 28 66 6f  ).SQLITEOBJ=$(fo
ec20: 72 65 61 63 68 20 73 66 2c 24 28 53 51 4c 49 54  reach sf,$(SQLIT
ec30: 45 53 52 43 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f  ESRC),$(sf:.c=.o
ec40: 62 6a 29 29 0a 53 51 4c 49 54 45 44 45 46 49 4e  bj)).SQLITEDEFIN
ec50: 45 53 3d 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50 54  ES=<<<SQLITE_OPT
ec60: 49 4f 4e 53 3e 3e 3e 0a 0a 23 20 64 65 66 69 6e  IONS>>>..# defin
ec70: 65 20 74 68 65 20 53 51 4c 69 74 65 20 73 68 65  e the SQLite she
ec80: 6c 6c 20 66 69 6c 65 73 2c 20 77 68 69 63 68 20  ll files, which 
ec90: 6e 65 65 64 20 73 70 65 63 69 61 6c 20 66 6c 61  need special fla
eca0: 67 73 20 6f 6e 20 63 6f 6d 70 69 6c 65 0a 53 51  gs on compile.SQ
ecb0: 4c 49 54 45 53 48 45 4c 4c 53 52 43 3d 73 68 65  LITESHELLSRC=she
ecc0: 6c 6c 2e 63 0a 4f 52 49 47 53 51 4c 49 54 45 53  ll.c.ORIGSQLITES
ecd0: 48 45 4c 4c 53 52 43 3d 24 28 66 6f 72 65 61 63  HELLSRC=$(foreac
ece0: 68 20 73 66 2c 24 28 53 51 4c 49 54 45 53 48 45  h sf,$(SQLITESHE
ecf0: 4c 4c 53 52 43 29 2c 24 28 53 52 43 44 49 52 29  LLSRC),$(SRCDIR)
ed00: 24 28 73 66 29 29 0a 53 51 4c 49 54 45 53 48 45  $(sf)).SQLITESHE
ed10: 4c 4c 4f 42 4a 3d 24 28 66 6f 72 65 61 63 68 20  LLOBJ=$(foreach 
ed20: 73 66 2c 24 28 53 51 4c 49 54 45 53 48 45 4c 4c  sf,$(SQLITESHELL
ed30: 53 52 43 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62  SRC),$(sf:.c=.ob
ed40: 6a 29 29 0a 53 51 4c 49 54 45 53 48 45 4c 4c 44  j)).SQLITESHELLD
ed50: 45 46 49 4e 45 53 3d 3c 3c 3c 53 48 45 4c 4c 5f  EFINES=<<<SHELL_
ed60: 4f 50 54 49 4f 4e 53 3e 3e 3e 0a 0a 23 20 64 65  OPTIONS>>>..# de
ed70: 66 69 6e 65 20 74 68 65 20 74 68 20 73 63 72 69  fine the th scri
ed80: 70 74 69 6e 67 20 66 69 6c 65 73 2c 20 77 68 69  pting files, whi
ed90: 63 68 20 6e 65 65 64 20 73 70 65 63 69 61 6c 20  ch need special 
eda0: 66 6c 61 67 73 20 6f 6e 20 63 6f 6d 70 69 6c 65  flags on compile
edb0: 0a 54 48 53 52 43 3d 74 68 2e 63 20 74 68 5f 6c  .THSRC=th.c th_l
edc0: 61 6e 67 2e 63 0a 4f 52 49 47 54 48 53 52 43 3d  ang.c.ORIGTHSRC=
edd0: 24 28 66 6f 72 65 61 63 68 20 73 66 2c 24 28 54  $(foreach sf,$(T
ede0: 48 53 52 43 29 2c 24 28 53 52 43 44 49 52 29 24  HSRC),$(SRCDIR)$
edf0: 28 73 66 29 29 0a 54 48 4f 42 4a 3d 24 28 66 6f  (sf)).THOBJ=$(fo
ee00: 72 65 61 63 68 20 73 66 2c 24 28 54 48 53 52 43  reach sf,$(THSRC
ee10: 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62 6a 29 29  ),$(sf:.c=.obj))
ee20: 0a 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20 7a  ..# define the z
ee30: 6c 69 62 20 66 69 6c 65 73 2c 20 6e 65 65 64 65  lib files, neede
ee40: 64 20 62 79 20 74 68 69 73 20 63 6f 6d 70 69 6c  d by this compil
ee50: 65 0a 5a 4c 49 42 53 52 43 3d 61 64 6c 65 72 33  e.ZLIBSRC=adler3
ee60: 32 2e 63 20 63 6f 6d 70 72 65 73 73 2e 63 20 63  2.c compress.c c
ee70: 72 63 33 32 2e 63 20 64 65 66 6c 61 74 65 2e 63  rc32.c deflate.c
ee80: 20 67 7a 63 6c 6f 73 65 2e 63 20 67 7a 6c 69 62   gzclose.c gzlib
ee90: 2e 63 20 67 7a 72 65 61 64 2e 63 20 67 7a 77 72  .c gzread.c gzwr
eea0: 69 74 65 2e 63 20 69 6e 66 62 61 63 6b 2e 63 20  ite.c infback.c 
eeb0: 69 6e 66 66 61 73 74 2e 63 20 69 6e 66 6c 61 74  inffast.c inflat
eec0: 65 2e 63 20 69 6e 66 74 72 65 65 73 2e 63 20 74  e.c inftrees.c t
eed0: 72 65 65 73 2e 63 20 75 6e 63 6f 6d 70 72 2e 63  rees.c uncompr.c
eee0: 20 7a 75 74 69 6c 2e 63 0a 4f 52 49 47 5a 4c 49   zutil.c.ORIGZLI
eef0: 42 53 52 43 3d 24 28 66 6f 72 65 61 63 68 20 73  BSRC=$(foreach s
ef00: 66 2c 24 28 5a 4c 49 42 53 52 43 29 2c 24 28 5a  f,$(ZLIBSRC),$(Z
ef10: 4c 49 42 53 52 43 44 49 52 29 24 28 73 66 29 29  LIBSRCDIR)$(sf))
ef20: 0a 5a 4c 49 42 4f 42 4a 3d 24 28 66 6f 72 65 61  .ZLIBOBJ=$(forea
ef30: 63 68 20 73 66 2c 24 28 5a 4c 49 42 53 52 43 29  ch sf,$(ZLIBSRC)
ef40: 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62 6a 29 29 0a  ,$(sf:.c=.obj)).
ef50: 0a 23 20 64 65 66 69 6e 65 20 61 6c 6c 20 66 6f  .# define all fo
ef60: 73 73 69 6c 20 73 6f 75 72 63 65 73 2c 20 75 73  ssil sources, us
ef70: 69 6e 67 20 74 68 65 20 73 74 61 6e 64 61 72 64  ing the standard
ef80: 20 63 6f 6d 70 69 6c 65 20 61 6e 64 0a 23 20 73   compile and.# s
ef90: 6f 75 72 63 65 20 67 65 6e 65 72 61 74 69 6f 6e  ource generation
efa0: 2e 20 54 68 65 73 65 20 61 72 65 20 61 6c 6c 20  . These are all 
efb0: 66 69 6c 65 73 20 69 6e 20 53 52 43 44 49 52 2c  files in SRCDIR,
efc0: 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 0a 23   which are not.#
efd0: 20 6d 65 6e 74 69 6f 6e 65 64 20 61 73 20 73 70   mentioned as sp
efe0: 65 63 69 61 6c 20 66 69 6c 65 73 20 61 62 6f 76  ecial files abov
eff0: 65 3a 0a 4f 52 49 47 53 52 43 3d 24 28 66 69 6c  e:.ORIGSRC=$(fil
f000: 74 65 72 2d 6f 75 74 20 24 28 55 54 49 4c 53 5f  ter-out $(UTILS_
f010: 53 52 43 29 20 24 28 4f 52 49 47 54 48 53 52 43  SRC) $(ORIGTHSRC
f020: 29 20 24 28 4f 52 49 47 53 51 4c 49 54 45 53 52  ) $(ORIGSQLITESR
f030: 43 29 20 24 28 4f 52 49 47 53 51 4c 49 54 45 53  C) $(ORIGSQLITES
f040: 48 45 4c 4c 53 52 43 29 2c 24 28 77 69 6c 64 63  HELLSRC),$(wildc
f050: 61 72 64 20 24 28 53 52 43 44 49 52 29 2a 2e 63  ard $(SRCDIR)*.c
f060: 29 29 0a 53 52 43 3d 24 28 73 75 62 73 74 20 24  )).SRC=$(subst $
f070: 28 53 52 43 44 49 52 29 2c 2c 24 28 4f 52 49 47  (SRCDIR),,$(ORIG
f080: 53 52 43 29 29 0a 54 52 41 4e 53 4c 41 54 45 44  SRC)).TRANSLATED
f090: 53 52 43 3d 24 28 53 52 43 3a 2e 63 3d 5f 2e 63  SRC=$(SRC:.c=_.c
f0a0: 29 0a 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a 3d  ).TRANSLATEDOBJ=
f0b0: 24 28 54 52 41 4e 53 4c 41 54 45 44 53 52 43 3a  $(TRANSLATEDSRC:
f0c0: 2e 63 3d 2e 6f 62 6a 29 0a 0a 23 20 6d 61 69 6e  .c=.obj)..# main
f0d0: 20 74 61 72 67 65 74 20 66 69 6c 65 20 69 73 20   target file is 
f0e0: 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a  the application.
f0f0: 41 50 50 4c 49 43 41 54 49 4f 4e 3d 66 6f 73 73  APPLICATION=foss
f100: 69 6c 2e 65 78 65 0a 0a 23 20 64 65 66 69 6e 65  il.exe..# define
f110: 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6d 61   the standard ma
f120: 6b 65 20 74 61 72 67 65 74 0a 2e 50 48 4f 4e 59  ke target..PHONY
f130: 3a 09 64 65 66 61 75 6c 74 0a 64 65 66 61 75 6c  :.default.defaul
f140: 74 3a 09 70 61 67 65 5f 69 6e 64 65 78 2e 68 20  t:.page_index.h 
f150: 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 20 68  builtin_data.h h
f160: 65 61 64 65 72 73 20 24 28 41 50 50 4c 49 43 41  eaders $(APPLICA
f170: 54 49 4f 4e 29 0a 0a 23 20 73 79 6d 62 6f 6c 69  TION)..# symboli
f180: 63 20 74 61 72 67 65 74 20 74 6f 20 67 65 6e 65  c target to gene
f190: 72 61 74 65 20 74 68 65 20 73 6f 75 72 63 65 20  rate the source 
f1a0: 67 65 6e 65 72 61 74 65 20 75 74 69 6c 73 0a 2e  generate utils..
f1b0: 50 48 4f 4e 59 3a 09 75 74 69 6c 73 0a 75 74 69  PHONY:.utils.uti
f1c0: 6c 73 3a 09 24 28 55 54 49 4c 53 29 0a 0a 23 20  ls:.$(UTILS)..# 
f1d0: 6c 69 6e 6b 20 75 74 69 6c 73 0a 24 28 55 54 49  link utils.$(UTI
f1e0: 4c 53 29 20 76 65 72 73 69 6f 6e 2e 65 78 65 3a  LS) version.exe:
f1f0: 09 25 2e 65 78 65 3a 09 25 2e 6f 62 6a 0a 09 24  .%.exe:.%.obj..$
f200: 28 4c 49 4e 4b 29 20 24 28 4c 49 4e 4b 46 4c 41  (LINK) $(LINKFLA
f210: 47 53 29 20 2d 6f 75 74 3a 22 24 40 22 20 24 3c  GS) -out:"$@" $<
f220: 0a 0a 23 20 63 6f 6d 70 69 6c 69 6e 67 20 73 74  ..# compiling st
f230: 61 6e 64 61 72 64 20 66 6f 73 73 69 6c 20 75 74  andard fossil ut
f240: 69 6c 73 0a 24 28 55 54 49 4c 53 5f 4f 42 4a 29  ils.$(UTILS_OBJ)
f250: 3a 09 25 2e 6f 62 6a 3a 09 24 28 53 52 43 44 49  :.%.obj:.$(SRCDI
f260: 52 29 25 2e 63 0a 09 24 28 43 43 29 20 24 28 43  R)%.c..$(CC) $(C
f270: 43 46 4c 41 47 53 29 20 24 28 49 4e 43 4c 55 44  CFLAGS) $(INCLUD
f280: 45 29 20 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a  E) "$<" -Fo"$@".
f290: 0a 23 20 63 6f 6d 70 69 6c 65 20 73 70 65 63 69  .# compile speci
f2a0: 61 6c 20 77 69 6e 64 6f 77 73 20 75 74 69 6c 73  al windows utils
f2b0: 0a 76 65 72 73 69 6f 6e 2e 6f 62 6a 3a 09 24 28  .version.obj:.$(
f2c0: 53 52 43 44 49 52 29 6d 6b 76 65 72 73 69 6f 6e  SRCDIR)mkversion
f2d0: 2e 63 0a 09 24 28 43 43 29 20 24 28 43 43 46 4c  .c..$(CC) $(CCFL
f2e0: 41 47 53 29 20 24 28 49 4e 43 4c 55 44 45 29 20  AGS) $(INCLUDE) 
f2f0: 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 23 20  "$<" -Fo"$@"..# 
f300: 67 65 6e 65 72 61 74 65 20 74 68 65 20 74 72 61  generate the tra
f310: 6e 73 6c 61 74 65 64 20 63 2d 73 6f 75 72 63 65  nslated c-source
f320: 20 66 69 6c 65 73 0a 24 28 54 52 41 4e 53 4c 41   files.$(TRANSLA
f330: 54 45 44 53 52 43 29 3a 09 25 5f 2e 63 3a 09 24  TEDSRC):.%_.c:.$
f340: 28 53 52 43 44 49 52 29 25 2e 63 20 74 72 61 6e  (SRCDIR)%.c tran
f350: 73 6c 61 74 65 2e 65 78 65 0a 09 74 72 61 6e 73  slate.exe..trans
f360: 6c 61 74 65 2e 65 78 65 20 24 3c 20 3e 24 40 0a  late.exe $< >$@.
f370: 0a 23 20 67 65 6e 65 72 61 74 65 20 74 68 65 20  .# generate the 
f380: 69 6e 64 65 78 20 73 6f 75 72 63 65 2c 20 63 6f  index source, co
f390: 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 77 65 62  ntaining all web
f3a0: 20 72 65 66 65 72 65 6e 63 65 73 2c 2e 2e 0a 70   references,...p
f3b0: 61 67 65 5f 69 6e 64 65 78 2e 68 3a 09 24 28 54  age_index.h:.$(T
f3c0: 52 41 4e 53 4c 41 54 45 44 53 52 43 29 20 6d 6b  RANSLATEDSRC) mk
f3d0: 69 6e 64 65 78 2e 65 78 65 0a 09 6d 6b 69 6e 64  index.exe..mkind
f3e0: 65 78 2e 65 78 65 20 24 28 54 52 41 4e 53 4c 41  ex.exe $(TRANSLA
f3f0: 54 45 44 53 52 43 29 20 3e 24 40 0a 0a 62 75 69  TEDSRC) >$@..bui
f400: 6c 74 69 6e 5f 64 61 74 61 2e 68 3a 09 24 28 45  ltin_data.h:.$(E
f410: 58 54 52 41 5f 46 49 4c 45 53 29 20 6d 6b 62 75  XTRA_FILES) mkbu
f420: 69 6c 74 69 6e 2e 65 78 65 0a 09 6d 6b 62 75 69  iltin.exe..mkbui
f430: 6c 74 69 6e 2e 65 78 65 20 2d 2d 70 72 65 66 69  ltin.exe --prefi
f440: 78 20 24 28 53 52 43 44 49 52 29 2f 20 24 28 45  x $(SRCDIR)/ $(E
f450: 58 54 52 41 5f 46 49 4c 45 53 29 20 3e 24 40 0a  XTRA_FILES) >$@.
f460: 0a 23 20 65 78 74 72 61 63 74 69 6e 67 20 76 65  .# extracting ve
f470: 72 73 69 6f 6e 20 69 6e 66 6f 20 66 72 6f 6d 20  rsion info from 
f480: 6d 61 6e 69 66 65 73 74 0a 56 45 52 53 49 4f 4e  manifest.VERSION
f490: 2e 68 3a 09 76 65 72 73 69 6f 6e 2e 65 78 65 20  .h:.version.exe 
f4a0: 2e 2e 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69 64  ..\manifest.uuid
f4b0: 20 2e 2e 5c 6d 61 6e 69 66 65 73 74 20 2e 2e 5c   ..\manifest ..\
f4c0: 56 45 52 53 49 4f 4e 0a 09 76 65 72 73 69 6f 6e  VERSION..version
f4d0: 2e 65 78 65 20 2e 2e 5c 6d 61 6e 69 66 65 73 74  .exe ..\manifest
f4e0: 2e 75 75 69 64 20 2e 2e 5c 6d 61 6e 69 66 65 73  .uuid ..\manifes
f4f0: 74 20 2e 2e 5c 56 45 52 53 49 4f 4e 20 20 3e 24  t ..\VERSION  >$
f500: 40 0a 0a 64 65 66 61 75 6c 74 5f 63 73 73 2e 68  @..default_css.h
f510: 3a 09 6d 6b 63 73 73 2e 65 78 65 20 64 65 66 61  :.mkcss.exe defa
f520: 75 6c 74 5f 63 73 73 2e 74 78 74 0a 09 6d 6b 63  ult_css.txt..mkc
f530: 73 73 2e 65 78 65 20 64 65 66 61 75 6c 74 5f 63  ss.exe default_c
f540: 73 73 2e 74 78 74 20 24 40 0a 0a 23 20 67 65 6e  ss.txt $@..# gen
f550: 65 72 61 74 65 20 74 68 65 20 73 69 6d 70 6c 69  erate the simpli
f560: 66 69 65 64 20 68 65 61 64 65 72 73 0a 68 65 61  fied headers.hea
f570: 64 65 72 73 3a 20 6d 61 6b 65 68 65 61 64 65 72  ders: makeheader
f580: 73 2e 65 78 65 20 70 61 67 65 5f 69 6e 64 65 78  s.exe page_index
f590: 2e 68 20 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e  .h builtin_data.
f5a0: 68 20 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20  h default_css.h 
f5b0: 56 45 52 53 49 4f 4e 2e 68 20 2e 2e 2f 73 72 63  VERSION.h ../src
f5c0: 2f 73 71 6c 69 74 65 33 2e 68 20 2e 2e 2f 73 72  /sqlite3.h ../sr
f5d0: 63 2f 74 68 2e 68 0a 09 6d 61 6b 65 68 65 61 64  c/th.h..makehead
f5e0: 65 72 73 2e 65 78 65 20 24 28 66 6f 72 65 61 63  ers.exe $(foreac
f5f0: 68 20 74 73 2c 24 28 54 52 41 4e 53 4c 41 54 45  h ts,$(TRANSLATE
f600: 44 53 52 43 29 2c 24 28 74 73 29 3a 24 28 74 73  DSRC),$(ts):$(ts
f610: 3a 5f 2e 63 3d 2e 68 29 29 20 2e 2e 2f 73 72 63  :_.c=.h)) ../src
f620: 2f 73 71 6c 69 74 65 33 2e 68 20 2e 2e 2f 73 72  /sqlite3.h ../sr
f630: 63 2f 74 68 2e 68 20 56 45 52 53 49 4f 4e 2e 68  c/th.h VERSION.h
f640: 0a 09 65 63 68 6f 20 44 6f 6e 65 20 3e 24 40 0a  ..echo Done >$@.
f650: 0a 23 20 63 6f 6d 70 69 6c 65 20 43 20 73 6f 75  .# compile C sou
f660: 72 63 65 73 20 77 69 74 68 20 72 65 6c 65 76 61  rces with releva
f670: 6e 74 20 6f 70 74 69 6f 6e 73 0a 0a 24 28 54 52  nt options..$(TR
f680: 41 4e 53 4c 41 54 45 44 4f 42 4a 29 3a 09 25 5f  ANSLATEDOBJ):.%_
f690: 2e 6f 62 6a 3a 09 25 5f 2e 63 20 25 2e 68 0a 09  .obj:.%_.c %.h..
f6a0: 24 28 43 43 29 20 24 28 43 43 46 4c 41 47 53 29  $(CC) $(CCFLAGS)
f6b0: 20 24 28 49 4e 43 4c 55 44 45 29 20 22 24 3c 22   $(INCLUDE) "$<"
f6c0: 20 2d 46 6f 22 24 40 22 0a 0a 24 28 53 51 4c 49   -Fo"$@"..$(SQLI
f6d0: 54 45 4f 42 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24  TEOBJ):.%.obj:.$
f6e0: 28 53 52 43 44 49 52 29 25 2e 63 20 24 28 53 52  (SRCDIR)%.c $(SR
f6f0: 43 44 49 52 29 25 2e 68 0a 09 24 28 43 43 29 20  CDIR)%.h..$(CC) 
f700: 24 28 43 43 46 4c 41 47 53 29 20 24 28 53 51 4c  $(CCFLAGS) $(SQL
f710: 49 54 45 44 45 46 49 4e 45 53 29 20 24 28 49 4e  ITEDEFINES) $(IN
f720: 43 4c 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22  CLUDE) "$<" -Fo"
f730: 24 40 22 0a 0a 24 28 53 51 4c 49 54 45 53 48 45  $@"..$(SQLITESHE
f740: 4c 4c 4f 42 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24  LLOBJ):.%.obj:.$
f750: 28 53 52 43 44 49 52 29 25 2e 63 0a 09 24 28 43  (SRCDIR)%.c..$(C
f760: 43 29 20 24 28 43 43 46 4c 41 47 53 29 20 24 28  C) $(CCFLAGS) $(
f770: 53 51 4c 49 54 45 53 48 45 4c 4c 44 45 46 49 4e  SQLITESHELLDEFIN
f780: 45 53 29 20 24 28 49 4e 43 4c 55 44 45 29 20 22  ES) $(INCLUDE) "
f790: 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 24 28 54  $<" -Fo"$@"..$(T
f7a0: 48 4f 42 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24 28  HOBJ):.%.obj:.$(
f7b0: 53 52 43 44 49 52 29 25 2e 63 20 24 28 53 52 43  SRCDIR)%.c $(SRC
f7c0: 44 49 52 29 74 68 2e 68 0a 09 24 28 43 43 29 20  DIR)th.h..$(CC) 
f7d0: 24 28 43 43 46 4c 41 47 53 29 20 24 28 49 4e 43  $(CCFLAGS) $(INC
f7e0: 4c 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22 24  LUDE) "$<" -Fo"$
f7f0: 40 22 0a 0a 24 28 5a 4c 49 42 4f 42 4a 29 3a 09  @"..$(ZLIBOBJ):.
f800: 25 2e 6f 62 6a 3a 09 24 28 5a 4c 49 42 53 52 43  %.obj:.$(ZLIBSRC
f810: 44 49 52 29 25 2e 63 0a 09 24 28 43 43 29 20 24  DIR)%.c..$(CC) $
f820: 28 43 43 46 4c 41 47 53 29 20 24 28 49 4e 43 4c  (CCFLAGS) $(INCL
f830: 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22 24 40  UDE) "$<" -Fo"$@
f840: 22 0a 0a 23 20 63 72 65 61 74 65 20 74 68 65 20  "..# create the 
f850: 77 69 6e 64 6f 77 73 20 72 65 73 6f 75 72 63 65  windows resource
f860: 20 77 69 74 68 20 69 63 6f 6e 20 61 6e 64 20 76   with icon and v
f870: 65 72 73 69 6f 6e 20 69 6e 66 6f 0a 24 28 52 45  ersion info.$(RE
f880: 53 4f 55 52 43 45 29 3a 09 25 2e 72 65 73 3a 09  SOURCE):.%.res:.
f890: 2e 2e 2f 77 69 6e 2f 25 2e 72 63 20 2e 2e 2f 77  ../win/%.rc ../w
f8a0: 69 6e 2f 2a 2e 69 63 6f 0a 09 24 28 52 43 29 20  in/*.ico..$(RC) 
f8b0: 24 28 52 43 46 4c 41 47 53 29 20 24 3c 20 2d 46  $(RCFLAGS) $< -F
f8c0: 6f 22 24 40 22 0a 0a 23 20 6c 69 6e 6b 20 74 68  o"$@"..# link th
f8d0: 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 24 28  e application.$(
f8e0: 41 50 50 4c 49 43 41 54 49 4f 4e 29 3a 09 24 28  APPLICATION):.$(
f8f0: 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a 29 20 24  TRANSLATEDOBJ) $
f900: 28 53 51 4c 49 54 45 4f 42 4a 29 20 24 28 53 51  (SQLITEOBJ) $(SQ
f910: 4c 49 54 45 53 48 45 4c 4c 4f 42 4a 29 20 24 28  LITESHELLOBJ) $(
f920: 54 48 4f 42 4a 29 20 24 28 5a 4c 49 42 4f 42 4a  THOBJ) $(ZLIBOBJ
f930: 29 20 68 65 61 64 65 72 73 20 24 28 52 45 53 4f  ) headers $(RESO
f940: 55 52 43 45 29 0a 09 24 28 4c 49 4e 4b 29 20 24  URCE)..$(LINK) $
f950: 28 4c 49 4e 4b 46 4c 41 47 53 29 20 2d 6f 75 74  (LINKFLAGS) -out
f960: 3a 22 24 40 22 20 24 28 54 52 41 4e 53 4c 41 54  :"$@" $(TRANSLAT
f970: 45 44 4f 42 4a 29 20 24 28 53 51 4c 49 54 45 4f  EDOBJ) $(SQLITEO
f980: 42 4a 29 20 24 28 53 51 4c 49 54 45 53 48 45 4c  BJ) $(SQLITESHEL
f990: 4c 4f 42 4a 29 20 24 28 54 48 4f 42 4a 29 20 24  LOBJ) $(THOBJ) $
f9a0: 28 5a 4c 49 42 4f 42 4a 29 20 24 28 52 45 53 4f  (ZLIBOBJ) $(RESO
f9b0: 55 52 43 45 29 0a 0a 23 20 63 6c 65 61 6e 75 70  URCE)..# cleanup
f9c0: 0a 0a 2e 50 48 4f 4e 59 3a 20 63 6c 65 61 6e 0a  ...PHONY: clean.
f9d0: 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f 46 20 24  clean:..del /F $
f9e0: 28 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a 29 20  (TRANSLATEDOBJ) 
f9f0: 24 28 53 51 4c 49 54 45 4f 42 4a 29 20 24 28 54  $(SQLITEOBJ) $(T
fa00: 48 4f 42 4a 29 20 24 28 5a 4c 49 42 4f 42 4a 29  HOBJ) $(ZLIBOBJ)
fa10: 20 24 28 55 54 49 4c 53 5f 4f 42 4a 29 20 76 65   $(UTILS_OBJ) ve
fa20: 72 73 69 6f 6e 2e 6f 62 6a 0a 09 64 65 6c 20 2f  rsion.obj..del /
fa30: 46 20 24 28 54 52 41 4e 53 4c 41 54 45 44 53 52  F $(TRANSLATEDSR
fa40: 43 29 0a 09 64 65 6c 20 2f 46 20 2a 2e 68 20 68  C)..del /F *.h h
fa50: 65 61 64 65 72 73 0a 09 64 65 6c 20 2f 46 20 24  eaders..del /F $
fa60: 28 52 45 53 4f 55 52 43 45 29 0a 0a 2e 50 48 4f  (RESOURCE)...PHO
fa70: 4e 59 3a 20 63 6c 6f 62 62 65 72 0a 63 6c 6f 62  NY: clobber.clob
fa80: 62 65 72 3a 20 63 6c 65 61 6e 0a 09 64 65 6c 20  ber: clean..del 
fa90: 2f 46 20 2a 2e 65 78 65 0a 7d 5d 0a              /F *.exe.}].